Using PC-DMIS NC

Using PC-DMIS NC (Numerical Control)

Introduction:

Uses for PC-DMIS NC

Differences between PC-DMIS NC and PC-DMIS

Required Components for PC-DMIS NC

Files Used by PC-DMIS NC

Data Flow Chart

Testing PC-DMIS NC

Using PC-DMIS NC

Working with CNC Edit Window Commands

Set Protection

Use Work Offset

Update Work Offset

W rite CNC Variable

Read CNC Variable

PC-DMIS NC Rotary Table

Working with PC-DMIS NC in Offline Mode

Using the PC-DMIS CNC Server program

Creating and Modifying Machines

Working with the MonitorView Window


PC-DMIS NC: Introduction

PC-DMIS NC (Numerical Control) is a specialized version of the PC-DMIS software that allows you to perform part measurements using NC machine tools. These machine tools are also referred to as CNC (Computer Numerical Control) machines. PC-DMIS NC part programs may be created in offline mode and used to generate an NC program.

In order to measure a part using NC tools, you will need to first fit your NC machine with a probing device and macros. You can then execute the generated part program and return point measurements via a communications interface to the PC-DMIS CNC Server program running on a computer. The PC-DMIS CNC Server application activates PC-DMIS NC and tells it to execute a PC-DMIS part program using the supplied data. You can use PC-DMIS's reporting and statistics options for the part program.

This manual discusses the following main topics. For information on PC-DMIS in general, see the main PC-DMIS reference manual.

  • Testing PC-DMIS NC

  • Using PC-DMIS NC

  • Working with CNC Edit Window Commands

  • PC-DMIS NC Rotary Table

  • Working with PC-DMIS NC in Offline Mode

  • Using the PC-DMIS CNC Server Application


Uses for PC-DMIS NC

Below are some situations where you will want to use PC-DMIS NC:

  • Use PC-DMIS NC for Difficult Setups

  • Use PC-DMIS NC for Large Parts

  • Use PC-DMIS NC for Process Monitoring

  • Use PC-DMIS NC as a Common Metrology Tool


Use PC-DMIS NC for Difficult Setups

Parts which have contoured surfaces, such as turbine blades, castings or mold dies, are challenging to setup on an NC machine using the typical tools available to the machinist for these reasons:

  • The datums on the parts may be derived from the surface contours, requiring a best fit to CAD data.

  • Castings may need to be positioned in such a way that material is cut from all required areas.

  • The shape of the part may vary such that the location of machined features is dependent on the surface.

PC-DMIS NC alleviates these problems by allowing the part to remain on the NC machine for the measurement process.


Use PC-DMIS NC for Large Parts

Large machines are typically required to machine large parts. If you can't measure on an NC machine you'll have to deal with the following:

  • The part may need to be removed from it’s setup and placed on a CMM.

  • An equally large CMM is required to measure the part. This is costly in both shop space and money.

  • The part may need to be returned to it’s original setup to continue machining operations, perhaps based on the CMM measurements.


Use PC-DMIS NC for Process Monitoring

During the machining cycle, the measurement of features and their relationships is an indicator of the stability of the process. PC-DMIS NC can archive the data in a statistics database for immediate review. Script files can be written to perform process control checks and to react to changes in the data. Script files can be executed manually, or can be made to execute automatically when part measurements enter the system.


Use PC-DMIS NC as a Common Metrology Tool

You can use the same part programs on both NC machines and on CMMs. Since both PC-DMIS NC and PC-DMIS use identical analysis algorithms, the computed results will always be the same.


Differences between PC-DMIS NC and PC-DMIS

The following differences exist between the PC-DMIS NC program and PC-DMIS:

  • PC-DMIS NC does not run interactively with the NC machine. PC-DMIS NC creates a stand-alone NC program file which is executed on the NC controller. Embedded in the NC program file is all the information PC-DMIS CNC Server needs to select the associated PC-DMIS program. The PC-DMIS CNC Server program then loads probing data from the NC machine into PC-DMIS NC and executes the selected program.

  • PC-DMIS NC version 1.0 typically cannot send data to the NC controller during execution. Fanuc controllers equipped with Focas and Siemens 840 and 810 controllers with HMI Advanced now support direct updating of Work Offsets, Tool Offsets and the ability to read from and write to a variable block.

  • Probing paths are static and cannot be changed. These paths are generated from the part model's nominal geometry prior to execution. Interactive functions that modify the path during program execution have been disabled in the PC-DMIS NC menus. Since you create the part program in offline mode the path cannot change. For example, you will be unable to modify a path based on a previously measured alignment.

  • Alignments computed from features will only be used during the analysis phase.

The following PC-DMIS topics list particular items as either supported or unsupported in PC-DMIS NC. For information on these specific items, view the main PC-DMIS reference manual:

  • Automatic Features

  • Regular Measured Features

  • Read Point

  • Scans

  • Moves

  • Parameter Change

  • Flow Controls

  • Calibrate

  • Basic Scripts

  • Operations

  • Edit

  • Breakpoints


Automatic Features

Common Items

  • Permanent Hits and Spacer – Partially Supported. Runtime sample hits will be taken but will not be used to modify the path. They will only be used in the Analysis phase.

  • Initial Hits – Unsupported. These are learn-time sample hits. There is no learning function in V1.0.

  • Re-Measure – Unsupported. There is no benefit to re-measuring using the same path.

  • Read Position – Unsupported.

  • Auto PH9 – Unsupported. 5 axis machine tools with multi-axis wrists may be supported in later versions.

  • On Error – Unsupported. PCDMIS will be operating in a Server mode where the Operator will generally not see the screen.

  • Relative Measurement – Unsupported. This requires path modification based on measurement.

  • NOMINALS – FINDNOMS – MASTER – VECTOR list. NOMINALS only supported.

Circle

  • Circular Move – Supported. The path will be generated with straight line segments by PC-DMIS when only protected moves are allowed. Circular moves are supported in the major machine axis planes XY YZ ZX if the NC controller can perform them.

  • Find Hole – Unsupported. Requires controller based path generation

Cylinder

  • Find Hole – Unsupported.

  • Circular Move – Supported.

  • Use Theoretical – Supported.

Cone

  • Circular Move – Supported.

Line

  • For CMT Features Only – Unsupported.

Corner Point

  • Supported since the path is not dependent on measurements.

Angle Point

  • Supported since the path is not dependent on measurements.

Edge Point

  • Unsupported. The points on the edge are determined by the surface point(s) which is a dynamically generated path.

High Point

  • Unsupported.


Regular Measured Features

In all cases, Regenerate Hit Targets is Active.

  • Circle – Supported.

  • Cone – Supported.

  • Cylinder – Supported.

  • Line – Supported.

  • Point – Supported.

  • Plane – Supported.

  • Sphere – Supported.


Read Point

  • Unsupported.


Scans

  • Advanced Scans – Unsupported. A CAD model is required to generate scan paths since there is no interactive learning. The model is used to generate a move / measure point set which is downloaded to the CNC controller for execution.

  • BASIC Scans – Unsupported. These are controller dependent for generating the scan data.

  • Stitch Scanning - Supported when using predefined paths.

  • Execute Mode – NORMAL only is supported. Relearn is not supported.

  • Nominals – MASTER and FINDNOMS are supported.


Moves

  • Exclusion Zone – Unsupported.

  • Move Sync – Unsupported.

  • Rotary Table – A single continuous table is supported.


Parameter Change

Measurement Speed

  • Move Speed – Supported.

  • Touch Speed – Unsupported.
    This parameter is set within the Probing macros. This parameter is supported for macro sets that allow setting feed rates for measurement moves, for example the Blum macro set.

  • Scan Speed – Unsupported.

  • Acceleration – Unsupported. This is a machine service parameter not accessed by operators or programmers.

Probe

  • Manual / DCC Mode – DCC only is supported. Manual operations are not translated.

  • Probing Parameters – All are Unsupported. Probing parameters are defined within the Probing macros.

  • Auto-Relative Measure – Unsupported.

  • Prehit and retract distances – Supported.

Clamp Value

  • Unsupported.

Temperature Compensation

  • Manual compensation is unsupported. There is no mechanism in PC-DMIS NC for the operator to enter parameters in a running CNC program for manual compensation.

  • Automatic compensation is unsupported via PC-DMIS NC.

NC-100 Video Settings

  • Unsupported.


Flow Controls

  • Supported if they do not alter the path, measurement sequence, or require measurement results inside a loop.


Calibrate

  • Probes - Supported for single and star tips. The controller resident probing macros may also be used in place of PC-DMIS NC generated calibration. Probe information (tool offset and effective ball diameter) will be requested from the control after every tool change operation.

  • Rotary Table - Supported.


Basic Scripts

  • Supported if they do not affect the measurement sequence or the path which is static.


Operations

  • Move-To – Unsupported.

  • Column Recovery – Unsupported.

  • Master/Slave Mode – Unsupported.

  • Calibrate/Edit – Active Probe and Rotary Table are supported.

  • Rotate Table to Active – Unsupported.


Edit

  • Markings – Supported as long as the components of the part program that cause motion when the CNC program was generated remain the same when the program is executed by the server.


Breakpoints

  • Supported since breakpoints are a useful debugging tool, but once a program is running on an unattended server all breakpoints should be removed as well as any other commands that require a response to a prompt.

Note: Statistics update commands prompt for response. To automatically update the database, select the Always Update Database option on the Dimension tab of the Setup dialog box.

Note: Several variations of COMMENT commands also require response, so they should be removed prior to running the program.


Required Components for PC-DMIS NC

Below are the components you need in order to use PC-DMIS NC:

NC Machine with Probing – An NC machine with supported probing and probing macros installed.

Server Computer with PC-DMIS NC – A Computer running the Windows 2000 or Windows XP operating system. This computer must have the communication interfaces to accept data from the NC machine.

Communications Link – A communications link is required from the NC machine to the server computer (the computer running PC-DMIS CNC Server). PC-DMIS NC version 1.0 currently supports serial, Ethernet, File, or HSSB interfaces to communicate between the two computers depending on the type of controller.

Port Lock – A hardware lock with the NC option programmed into it and licensed with the number of supported NC machines.


Files Used by PC-DMIS NC

The following files are used by PC-DMIS NC

PC-DMIS Program Files - The standard PC-DMIS part program (.prg) and CAD (.cad) files stored in the default location.

NC Program Files - These are the NC machine programs generated from the PC-DMIS part program and have a .cnc extension. You can place them in any location, but you should probably create a separate CNC subfolder somewhere on your hard drive. Interfaces that do not have direct access to setting work and tool offsets will generate NC programs to update these offsets. Typically the file extension for these programs is .wrk.

Journal Files - Journal files (.cnj and .cnp files) contain the transactions received from the NC machine during execution of the NC program file (.cnc file). They are stored in the journal subdirectory of the directory displayed in the Program tab of the MachineDefinition dialog box of the PC-DMIS CNC Server program.

Example: If PC-DMIS NC was installed to C:\PCDMISW\, journal files for PCDMIS program Block.prg would be stored in C:\PCDMISW\Journal\Block\.


Data Flow Chart

In the chart below, the following process is described:

  1. Create a PC-DMIS Part Program

  2. Open the Part Program in PC-DMIS NC.

  3. Select the Operation | Create CNC Program menu option. PC-DMIS NC creates the NC program file.

  4. Start the PC-DMIS CNC Server program.

  5. Click Analyze Hold.

  6. Select Download NC Program button. The NC program file gets sent to the NC controller.

  7. Click Analyze Run.

  • The NC machine with probing capability measures the features by taking probing hits.

  • The NC program execution results get sent to PC-DMIS CNC Server.

  • The PC-DMIS NC Server generates a journal file for later analysis and review.

  • PC-DMIS NC runs the analysis phase to generate measurement results.


Testing PC-DMIS NC

The following topics describe the steps you should take in order to install and then test PC-DMIS NC with a simulated NC machine:

  • Step 1: Install the Probe and Macros

  • Step 2: Install PC-DMIS NC and Define a Machine

  • Step 3: Perform an Offline Test

  • Step 4: Set up the Serial Link


Step 1: Install the Probe and Macros

Use your probe system documentation to:

  1. Install your probing system.

  2. Install the probing macros.

Verify installation by calibrating the probe using the supplied calibration macros.

Note: Updates to the Renishaw macros have been made for optimum ball-center probing. If, prior to a probing cycle, your probe drops in the Z axis by the probe's diameter, contact Renishaw for an update.

Next Step...


Step 2: Install PC-DMIS NC and Define a Machine

  1. Attach the port lock to your computer. Your port lock should already be programmed to enable the PC-DMIS NC functionality.

  2. Install PC-DMIS. The PC-DMIS CNC Server program should get installed in the background.

  3. Start PC-DMIS CNC Server by double-clicking on the PC-DMIS CNC Server shortcut.

  4. From within PC-DMIS CNC Server, define a machine:

  1. Click Analyze Hold to cause the server to stop running.

  2. Click Define Machines. The Define Machines dialog box appears.

  3. Click New. The Machine Definition dialog box appears.

  4. Fill out the Machine Definition dialog box. See "Creating and Modifying Machines" for more information.

  5. From the Program tab, name the machine "Test".

  6. Type a value in the Machine ID box.

  7. The PC-DMIS CNC Server automatically determines where the NC program files (.cnc files) are stored by inserting a pathway to the PC-DMIS directory into the Program Directory box.

  8. From the Interface tab, select Test from the Interface Type list.

  9. Click OK.

  5. Close PC-DMIS CNC Server by File | Exit.

Next Step...


Step 3: Perform an Offline Test

  1. Start PC-DMIS NC.

  2. Create a small part program and name it "Test".

  3. Generate the NC program file by selecting Display Menu Roadmap Operation | CNC Programming | Create CNC Program menu option. PC-DMIS displays the Select CNC Machine dialog box.
    If you can't select the Create CNC Program menu option, then contact your PC-DMIS NC sales representative to ensure that your port lock is properly programmed to support the NC functionality

  4. Select Test from the Select CNC Machine dialog box.

  5. Ensure that the CNC Program File Name box points to the Cnc\Test subdirectory where you installed PC-DMIS NC and that it specifies a .cnc file name (Test.cnc).

  6. Click OK to generate the .cnc program. PC-DMIS displays a processing message box and shows the path lines drawn in the Graphics Display window for the part program.

  7. Using a text editor, open Test.cnc and verify that it contains commands. Close the CNC file and PC-DMIS NC.

  8. Start the PC-DMIS CNC Server program. You will see the Test machine inside the PC-DMIS CNC Server.

  9. Select Test from the list of machines. A Test 1 dialog box appears.

Test dialog box

  11. In the Test dialog box, select the Send From File check box.

  12. Click the … button. An Open dialog box appears. Navigate to the directory containing the Test.cnc file. Select the Test.cnc file and click Open. PC-DMIS displays the pathway to this file inside the Test dialog box (for example, C:\PCDMISW\CNC\Test\Test.cnc).

  13. Click the Send button. The NC simulator will run. PC-DMIS NC will also run in the background, execute the CNC program, and then exit.

  14. Adjust the Delay and Randomize sliders to affect the simulated data. Delay controls the rate at which simulated data is sent to the CNC server. Randomize allows adding random errors to each measured point. Therefore, not all of the data will be represented as nominals. This is useful when doing offline demos and adding data to DataPage.

  15. Check to see if the program executed.

  16. Look for a journal subdirectory where you installed PC-DMIS. For example, if the program name if PART1, the full path would be c:\pcdmisw\journal\PART1\Test1<datetimecode>.cnj

  17. Open the journal file in a text editor such as Notepad. You should see data for the probing points generated by the Test simulator.

Note: The simulator merely returns a point at the end point of the probing move. Since probing moves are usually created to end inside the part surface, the probing points will be inside the surface of the CAD model. To make points on the surface, set the Prehit parameter in PC-DMIS NC to zero.

Note: Only marked features measured in DCC are processed. If the CNC file does not have all the measurements that are expected (and the path lines display is missing features), check that program has all desired features marked and the mode is set as DCC.

Next Step...


Step 4: Set up the Machine Link

This step discusses configuration of a Serial Link which is the most common. Other links would be Ethernet, HSSB and File.

  1. Open a HyperTerminal session on the server computer:

  2. From the Start menu, select Programs | Accessories | Communications.

  3. Select HyperTerminal.

HyperTerminal is a Windows communication accessory that comes with Windows NT, 2000 and XP. You can use any other similar communication program that can talk with a serial interface.

  4. Follow HyperTerminal's initial setup wizard to set the parameters of the serial port to be compatible with the port settings on the NC controller:

For example, COM1, 9600 baud, 8 data bits, 1 stop bit, no parity, hardware flow control.

  5. Select a small program on the NC controller.

  6. PUNCH out the program to the controller serial port. You should see the program being received in HyperTerminal's window.

  7. As an additional test, select Transfer | Capture Text from HyperTerminal. A small dialog box appears.

  8. Specify a folder and file name for the captured text file.

  9. PUNCH out the program again.

  10. Select the Transfer | Capture Text | Stop from HyperTerminal to stop capture.

  11. Exit HyperTerminal and open the captured file in a text editor such as Notepad.

  12. You should see a copy of the program sent from the NC controller inside the text editor.


Using PC-DMIS NC

Once you have successfully completed the steps described in "Testing PC-DMIS NC", then you can use PC-DMIS NC for real measurements online.

Follow these instructions for general information on how to do this:

  • Step 1: Calibrate the Probe

  • Step 2: Set the Work Offset

  • Step 3: Define an NC Machine

  • Step 4: Create a NC Program File

  • Step 5: Start the PC-DMIS CNC Server Program

  • Step 6: Load the NC Program File

  • Step 7: Execute the NC Program File

  • Step 8: Analyze and Report the Data


Step 1: Calibrate the Probe

There are two methods for calibrating the probe:

Calibrating Using Macros

This method uses the macros supplied by the probe or NC manufacturer. In this method two macros are normally used:

  • The first macro measures the size and location of a known (size and position) hole. The size of the hole is used to determine the diameter of the probe. The location of the hole determines the offsets of the probe center from the spindle axis.

  • The second macro determines the probe tool length by touching a flat surface that is perpendicular to the spindle axis and whose location is known with respect to the spindle gage point. Follow your existing documentation for information on how to do this.

Calibration Using the CNC Server program

This method uses standard PC-DMIS calibration techniques. You may use the CNC Server program to calibrate the probe if the probe supports full 3 axis vectoring.

To enable PC-DMIS probe calibration:

  1. Start the CNC Server program

  2. Click Analyze Hold and then Define Machine. This opens the MachineDefintion dialog box.

  3. Select the machine and then open the Measure tab. See the "MachineDefinition – Measure Tab" topic for more information.

  4. Select the Use PcDmis_NC Probe Calibration box.

  5. On the NC control, set the Tool Length offset and any XY offsets to zero in the Tool area. See NC documentation.

  6. Select Open PC-DMIS and create a new blank part program.

  7. Select the Display Menu Roadmap Insert | Hardware Definition | Probe menu item to open the Probe Utilities dialog box. Set the nominal offsets for the probe tips by building the probe from the components supplied. See the "Defining Probes" topic in the "Defining Hardware" section of the core PC-DMIS help file.

  8. Place a Qualification Sphere in the machine volume and define its exact location. Chuck a dial indicator in the spindle and sweep the diameter of the sphere. Jog the spindle until the variation is minimized. The spindle position now defines two of the sphere axes. The third axis is set by loading a tool length standard in the spindle and bringing it to the top of the sphere with a feeler gage of known size between it and the sphere. Decrease the distance until the feeler gage is tight. The sphere center is the length of the master tool plus the feeler gage plus the known radius of the sphere. The values for the XYZ location of the sphere, it’s diameter and stem vector are used to define a qualification tool in the Measure Probe dialog box.

  9. Click Add Tool to define the parameters for calibration and the calibration tool sphere in the Measure Probe dialog box. Increasing the Prehit / Retract values may be helpful.

  10. Press the Measure button when the calibration tool and all other parameters are correct. This will insert the measurement commands required to measure the qualification sphere into the current part program. Save the PC-DMIS part program.

  11. Select the Display Menu Roadmap Operation | CNC Programming | Create CNC Program menu item to create a CNC program.

  12. To complete the calibration process from the CNC Server:

  1. Download the newly created calibration program to the NC control.

  2. Select Analyze Run and execute the program. This should cause the NC machine to execute the calibration program and pass the measurements back to the CNC Server which will invoke the PC-DMIS qualification program with the measured data.

  3. The PC-DMIS probe file will be updated to use the calibration data.

Next Step...


Step 2: Set the Work Offset

Using the Display Menu Roadmap Operation | CNC Programming | Use Work Offset menu option, set the work offset for the part you will measure into the NC controller. Make a note of its number. PC-DMIS NC supports standard work offset registers. (Example G54-G59 for Fanuc style controls). The objective is to match up the initial PC-DMIS NC alignment with a work offset.

Next Step...


Step 3: Define an NC Machine

  1. Start the PC-DMIS CNC Server program on the server computer.

  2. Click Analyze Hold to cause the server to stop running.

  3. Define a machine that has the parameters of the NC machine which will perform the measurement.

  • Click Define Machines. The Define Machines dialog box appears.

  • Click New. The MachineDefinition dialog box appears.

  • Fill out the tabs for this dialog box with the necessary parameters. See "Creating and Modifying Machines" for more information.

  • Include, along with other parameters, the tool changer slot number for the probe and the default work offset register.

  • Click OK until you return to the main PC-DMIS CNC Server window.

  4. Click Exit, to close down PC-DMIS CNC Server and to store the new machine information.

Next Step...


Step 4: Create a NC Program File

  1. Using PC-DMIS NC, create a part program to measure the desired features on the part and generate output.

  2. You can use the server computer if you are not running the PC-DMIS CNC Server program on it. Otherwise, you will need another computer that runs PC-DMIS NC.

  3. Select the machine to use from the Settings tool bar pull down.

  4. Create an unmarked alignment at the beginning of the program. This should define the work offset using features on the CAD model.

  5. Change the mode to DCC mode.

  6. Use a probe that has the same nominal ball diameter as the probe in the NC machine if you are using controller resident probe calibration. If you are using PC-DMIS probe calibration, select the probe and tip you have calibrated.

  7. Generate the CNC measurement program from your part program by selecting the Display Menu Roadmap Operation | CNC Programming | Create CNC Program menu item. PC-DMIS NC generates a file with a .cnc extension. This command also displays the probe's path. Unmarked commands are ignored.

  8. Modify the Macro Number box, if needed. This is the program number that will be used to identify this measurement sequence within the CNC system. See "Macros" in the Glossary of Terms.

  9. If desired, modify where you want to send the CNC program by clicking the Browse button and navigating to a different directory; otherwise, accept the default pathway.

  10. Click OK. PC-DMIS NC generates the CNC program and the probe path is displayed in the Graphics Display window. If you encounter errors, consult the log file inside any text editor application, such as Notepad.

Next Step...


Step 5: Start the PC-DMIS CNC Server Program

Start the PC-DMIS CNC Server program on the server computer. This is needed for the NC machine to properly capture data from the communications link for the generated NC program file. Click Analyze Hold to cause the PC-DMIS analysis engine to stop running.

Next Step...


Step 6: Load the NC Program File

Using PC-DMIS CNC Server, click the Download Program button and then select the NC program (.cnc extension) to send to the machine controller for execution.

Note: You may already have your own ways of getting NC programs onto your NC machines and you should use whatever process you're familiar with. The Download Program button described here is merely provided for convenience and testing. Some interfaces have not implemented the download program button.

Next Step...


Step 7: Execute the NC Program File

  1. Start execution of the NC program.

  2. During execution, the NC program file will load the probe and proceed to measure the features defined in your part program.

  3. Measured points are sent to the server computer from the NC controller.

  4. PC-DMIS CNC Server parses the received lines from the controller. Each line contains a command identifier, a machine identifier, and possibly some other information.

Next Step...


Step 8: Analyze and Report the Data

Since NC controllers cannot do the analysis of the point data, the controller sends the data to PC-DMIS CNC Server which loads it into the original PC-DMIS NC part program for analysis, reporting, statistics and so on.

Note: If you later execute the part program inside PC-DMIS NC, PC-DMIS NC can access the recently created journal file to get the stored point data rather than from the actual NC machine.


Working with CNC Edit Window Commands

PC-DMIS NC provides you with the following Edit window commands. To modify these commands, press F9 on any command in the Edit window to access its dialog box, or edit them directly inside the Edit window's Command Mode.

To insert these commands into the Edit window select an item from the Operations | CNC Programming submenu.

In the following topics Courier New font with bold formatting signifies a parameter that the command can take. These parameters are recognized fields of the command where the value can be set or changed to cause the command to do different things.

More:

Set Protection

Use Work Offset

Update Work Offset

Update Tool Offset

Write CNC Variable

Read CNC Variable


Set Protection

Select the Display Menu Roadmap Operation | CNC Programming | Set Protection menu option to open the Set CNC Move Protection dialog box.

CNC/SETPROTECTION, movesProtected

This command sets the state of moves. By default protected moves are safe. This means unexpected probe hits will terminate part program execution. Because of the potential danger of unprotected moves, a second safety lock is in place in the definition of machines in PC-DMIS CNC Server.

movesProtected parameter can be either "Yes" or "No". If you set this to "Yes", then positional moves in the CNC program will be protected and any unexpected probe hits will terminate execution of the part program. If you set this to "No", moves will be unprotected, but only if the CNC machine definition allows unprotected moves. This double check is in place, because unprotected moves will not stop prematurely resulting in damage to the probe.


Use Work Offset

Select the Display Menu Roadmap Operation | CNC Programming | Use Work Offset menu option to open the Select CNC Work Offset dialog box.

CNC/USEWORKOFFSET,workOffset,alignmentCommand,nomX,nomY,nomZ,nomA,nomB,nomC

This command equates the PC-DMIS alignment with the CNC alignment. CNC alignments are implemented as work-offset coordinate systems.

workOffset can be a string which represents a basic work offset (example G54-G59). This parameter defines the work offsets that will be enabled in the CNC program. There is a default work offset defined in the machine's definition that will be used after the first commanded motion until the USEWORKOFFSET command species another. The Nominals field in the dialog represent the position in Machine coordinates of the work offset. These fields are required when using a Rotary Table to correctly transform motion and returned point data.

alignmentCommand can be any alignment defined previously in the part program. This alignment should represent the work-offset alignment in PC-DMIS. In other words, the coordinates for points in the PC-DMIS part program with this alignment should agree with the coordinates of the same points in the CNC program with the specified work-offset applied.

nomX,nomY,nomZ,nomA,nomB and nomC are the expected values for the X, Y, Z, A, B and C axes of the controller. These values represent the offset values in a perfect world.


Update Work Offset

Select the Display Menu Roadmap Operation | CNC Programming | Update Work Offset menu option to open the Update CNC Work Offset dialog box.

CNC/UPDATEWORKOFFSET,baseAlignment,finishAlignment,fileName,programName,workOffset

This command calculates changes to a work-offset and communicates that change to the CNC. The changes are determined by computing the shift of the origin between two PC-DMIS alignments. Generally, the first alignment (baseAlignment) represents where PC-DMIS NC assumes the work-offset system is located, and the second alignment (finishAlignment) represents the actual location of the work-offset system based on a set of measurements used to generate the second alignment.

Note: This command looks only at alignment shifts while rotations are not processed.

baseAlignment should be a PC-DMIS alignment that represents where the work-offset system was prior to measurements. You can select this from the Base Alignment list in the Update CNC Work Offset dialog box for this command. This list contains PC-DMIS alignment commands available to this point in the PC-DMIS part program.

finishAlignment should be a PC-DMIS alignment that represents where the work-offset system is after the measurements. You can select this from the Finish Alignment list in the Update CNC Work Offset dialog box for this command. This list contains PC-DMIS alignment commands available to this point in the PC-DMIS part program.

fileName is the name of the a CNC program file that PC-DMIS NC will generate. Some CNC interfaces (for example, Ethernet) upload the work-offset changes directly. In these cases, the fileName parameter is not used. If no file extension is provided, the extension, "WRK", will be appended to the CNC file name.

programName is the CNC macro name of the CNC program that is generated. This parameter is not used for interfaces that upload the work-offset changes directly.

programName is the CNC macro name of the CNC program that is generated. This parameter is not used for interfaces that upload the work-offset changes directly.

workOffset is selected from the Work Offset list in the Update CNC Work Offset dialog box. This can be values from G54 through G59 for Fanuc style controllers. This option defines the work offsets that will be enabled in the CNC program.


Update Tool Offset

Select the Display Menu Roadmap Operation | CNC Programming | Update Tool Offset menu option to open the Update CNC Tool Offset dialog box.

CNC/UPDATETOOLOFFSET,lengthFeature,diameterFeature,fileName,programName,toolNumber

This command calculates changes to a tool-offset (length and/or diameter) and communicates that change to the CNC. Length changes are determined by computing the difference between the nominal and actual locations of a flat or straight feature. Diameter changes are determined by computing the difference between nominal and actual radii of a round feature

lengthFeature should be a PC-DMIS “flat” feature. The location of this feature relative to it’s normal vector is compared to the nominal location. The difference defines a tool length offset. You can select this from the Length Feature list in the Update CNC Tool Offset dialog box for this command. This list contains “flat” PC-DMIS feature commands available to this point in the PC-DMIS part program.

diameterFeature should be a PC-DMIS “round” feature. The diameter of this feature to it’s is compared to the nominal diameter. The difference defines a tool diameter offset. You can select this from the Diameter Feature list in the Update CNC Tool Offset dialog box for this command. This list contains “round” PC-DMIS feature commands available to this point in the PC-DMIS part program.

fileName is the name of a CNC program file that PC-DMIS/NC will generate. Some CNC interfaces (for example, Ethernet) upload the work-offset changes directly. In these cases, the fileName parameter is not used. If no file extension is provided, the extension, "WRK", will be appended to the CNC file name.

programName is the CNC macro name of the CNC program that is generated. This parameter is not used for interfaces that upload the work-offset changes directly.

toolNumber is the number of the tool that this command is being applied to.


Write CNC Variable

Select the Display Menu Roadmap Operation | CNC Programming | Write CNC Variable menu option to open the Write CNC Variable dialog box.

CNC/WRITEVARIABLE,variableNumber,valueToWrite

This command writes a value to a CNC register. A block of 10 values is reserved on the CNC control for I/O between the part program and the control.

variableNumber should be a value between 1 and 10. This will be mapped to a register on the CNC control.

valueToWrite is the value that will be written to the CNC register. This can be either a floating point number or an expression that evaluates to a floating point number. Expressions must be added in the edit window rather than entering it in the dialog. This command is supported only by controls that allow writing directly to registers by outside processes.


Read CNC Variable

Select the Display Menu Roadmap Operation | CNC Programming | Read CNC Variable menu option to open the Read CNC Variable dialog box.

CNC/READVARIABLE,variableNumber,variableName

This command reads a value from a CNC register. A block of 10 values is reserved on the CNC control for I/O between the part program and the control.

variableNumber should be a value between 1 and 10. This will be mapped to a register on the CNC control.

variableName is a PC-DMIS variable created with the ASSIGN command. Select a previously defined variable name from the PC-DMIS Variable combo box.


PC-DMIS NC Rotary Table

Overview

PC-DMIS NC rotary table support is based on capabilities within PC-DMIS.

  • Only one continuous rotary table is supported

  • Two unconnected rotary tables are not supported.

  • Indexed rotary tables are not supported as they require a different calibration scheme which is not implemented at this time.

  • The typical NC configuration of a pair of stacked rotary tables is also not supported. For a machine with this configuration, one of the tables must assume a fixed position for measurement.

Rotary tables are calibrated for location and orientation by generating a program using the PC-DMIS rotary table calibrate option in the Rotary Table Setup dialog box. The calibration information is stored by machine and recalled for each program analysis or path generation.

Tips may be calibrated either with the vendor supplied macros (such as Renishaw) or PC-DMIS probe calibration. Tip length and rotary table center position are interrelated when the tip is not parallel to the rotary table axis. This is the typical case represented by a horizontal machining center with a rotary table vector aligned with the Y axis. Consequently, changes in tip length will affect the rotary table calibrated position. Spindle growth is the prominent error for machine tools reflected in Z tip position. Any error on the horizontal configuration will be doubled between zero and 180 degrees rotary table position.

Note: The Rotary Table option must be programmed into the port lock as well as at least one CNC license.

More:

Step 1: Rotary Table Physical Configuration

Step 2: Rotary Table Setup

Step 3: Calibrate the Rotary Table

Step 4: Verify the Rotary Table Calibration

Troubleshooting Rotary Table Problems


Step 1: Rotary Table Physical Configuration

To define the Physical configuration for your Rotary Table for use with PC-DMIS NC:

  1. Click Define Machine in the CNC Server program.

  2. Open the Physical tab.

MachineDefintion - Physical tab

  3. Specify the Minus Limit and Plus Limit for your Rotary Table. The limits can be set to zero if no limit checking is required. Values less than the minus limit and greater than the plus limit will not be sent to the control.

  4. Specify the Max Velocity of your Rotary Table. The product of this value and the percentage of maximum speed for PC-DMIS moves is used to define the feed rate of table moves.

  5. Provide the CNC Address for controls to report the rotary table position for measurements.

  6. Select the CNC Axis that is used to generate table motion. Select A, B or C.

  7. Specify the Unlock Table command that is used to unlock the table before rotation can occur. Likewise, provide the Lock Table command that is used after rotation.

Next Step...


Step 2: Rotary Table Setup

To setup your rotary table:

  1. Start PC-DMIS

  2. Create a new Part Program. It should have the same Measurement Units (IN or MM) as your machine for ease in debugging problems, but this is not mandatory.

  3. Select the machine of interest from the Settings toolbar using the drop-down list.

Important: The correct machine should be selected from the Settings toolbar whether you are creating paths for calibration, rotary table configuration or general measurement programs.

  4. Select the Display Menu Roadmap Operation | Calibrate/Edit | Rotary Table menu option to open the Rotary Table Setup dialog box.

Rotary Table Setup dialog box

  5. Select the Single Rotary Table option.

  6. Select the Table is Infinite Type option.

  7. Select the Table is DCC option.

  8. Select the Axis for Table Vector from the drop-down list box. Select the normal vector of the table, this axis is used when defining the Direction of Positive Rotation.

  9. Select either CLOCKWISE or COUNTERCLOCKWISE from the Direction of Positive Rotation drop-down box. CNC machines can have a left-handed relationship between the table axis vector and direction of rotation. The direction of rotation defines how the table turns when one is looking “down” the Axis for Table Vector.

  10. Enter the nominal location of the table center in the XYZ Center boxes. This should be entered in “machine coordinates”, that is with no tool or work offsets active.

  11. Enter the normal vector of the table in the IJK Vector boxes.

  12. Continue with the calibration process in the next step. See "Step 3: Calibrate the Rotary Table".

Next Step...

Note: Work offsets are assumed not to be in effect for Rotary Table calibration.


Step 3: Calibrating the Rotary Table

Step 3: Calibrate the Rotary Table

To calibrate your rotary table:

  1. Create a new empty PC-DMIS part program.

  2. Click the Calibrate button on the Rotary Table Setup dialog box. This opens the Calibrate Infinite Rotary Table dialog box

Calibrate Infinite Rotary Table dialog box

  3. Specify the Probing parameters for the calibration process. Number of Hits that will be taken on the Qualification tool. The Prehit/Retract value will determine the distance from the hit location that the probe moves to before and after the hit is taken. The Move Speed value is a percentage of the maximum speed of the probe.

  4. Select the Active Probe File and the Active Tip that will be used for calibration.

  5. Click Add Tool to define a new the calibration tool or click Edit Tool to change an existing calibration tool. See the "Add Tool" topic in the core PC-DMIS Help File for more information. The location of the tool is at zero degrees on the rotary table in machine coordinates. The tool location is determined by the user, by jogging the probe close to the “top” of the probe, reading the counters and adding or subtracting the probe radius to one of the axes. The last step depends on the orientation of the probe with respect to the table.

  6. To add a single Rotary Table angle, type the needed angle value above the Add Angle button and click Add Angle. This will add the specified angle to the Table Angles list.

  7. To add multiple Rotary Table angles, type the needed Start Angle, End Angle and Increment values. Click Equally Space and new Rotary Table angles will be added to the Tables Angles list starting with the starting angle and incrementing up to the ending angle.

  8. Click Calibrate. The command that will be used to calibrate the rotary table will be written to the current part program. PC-DMIS will generate measurement paths for all the sphere positions. Save the current part program so that it can be executed when the calibration is performed using CNC Server.

Next Step...


Step 4: Verify the Rotary Table Calibration

To verify your Rotary Table calibration:

  1. Select the Display Menu Roadmap Operation | CNC Programming | Create CNC Program menu option to post out the calibration program.

  2. Open the CNC Server program.

  3. Click Download Program and browse and select the newly created CNC program.

  4. Click Analyze Run and execute the Calibration program on the NC machine.

  5. Note the updated calibration information in the Rotary Table Setup dialog box in PC-DMIS after the calibration is complete.

  6. Check the Calibration - Create a sphere measurement program with the rotary table enabled. In this program, the sphere will always be at zero degrees in PC-DMIS, but the location of each measurement will deviate by the error in calibration of the table.


Troubleshooting Rotary Table Problems

Problem

Readings across the part have a large error.

Solution

The tool length and rotary table location are not matched. Rerun the journal file while adjusting the rotary table center. Remember that the rotary table data will be reloaded from CncMachineData/<machine name>/rotab.dat when the machine is selected and restored when unselected. If the results improve with center adjustment, try recalibrating the rotary table. If thermal drift is an issue, a local recalibration of the spindle length (Z) can be included in the PC-DMIS program by measuring a known location.

Problem

The path goes the wrong way

Solution

Clockwise/Counterclockwise is wrong in Rotary table setup.

Problem

Motion is not generated for the axis

Solutions

The rotary table is not enabled in PC-DMIS.

You don’t have the rotary table option in your port lock.

The Axis code in the Machine Definition is wrong.

Problem

Rotary table results do not track table angle for Fanuc controls

Solution

Verify that the wrong table angle is being included with every point in the journal file. If it is, position the table at a known location and write a simple MDI program to read the location. For example

#530 = # 5004

If the value of the arbitrary temporary variable #530 is wrong, review the controller / machine documentation to find the right address. #5004 is typical for the A axis, but the axes may not be linearly mapped against controller addresses. Change the value in the machine definition, save all, close down and restart PC-DMIS CNC Server.


Working with PC-DMIS NC in Offline Mode

If you execute your part program in offline mode, the Select Journal File dialog box appears.

Select Journal File dialog box

If you click Cancel, PC-DMIS performs a normal run of the part program in offline mode using the nominal values for the measured values.

If you click Browse, select a journal file (.cnj extension), and click OK, PC-DMIS pulls the journal file's measurements into PC-DMIS, showing a replay of the measurement program, using those measurement values rather than the nominals.

See "Executing Journal Files" for additional information.


Using the PC-DMIS CNC Server program

PC-DMIS CNC Server is a stand alone program that cooperates with PCDMIS/NC to analyze results.

Before you Begin: You need a copy of PCDMIS installed, and your port lock must be programmed with the NC option in order to use PC-DMIS CNC Server.

To start PC-DMIS CNC Server, double-click on the CNC Server shortcut icon in the PC-DMIS NC program group. If this shortcut icon is not available, you may need to re-install PC-DMIS after ensuring that your portlock is properly programmed.

CNC Server

The PC-DMIS CNC Server program appears and PC-DMIS NC runs in the background. When it launches PC-DMIS CNC Server automatically closes any pre-existing instances of PC-DMIS NC so that only one instance of PC-DMIS NC will open and run in the background.

PC-DMIS CNC Server

By default, the Analyze Run button is automatically selected when you launch the PC-DMIS CNC Server program. This means that the server is running and ready to receive data from an NC machine.

Note: The Download Program, Execute Journal File, Define Machines, and Open PC-DMIS buttons are inactive whenever the server is analyzing. To activate these buttons, first click the Analyze Hold button. Once activated, they will show a blue glow.

More:

The PC-DMIS CNC Server Menubar

The PC-DMIS CNC Server Command Buttons

The Machine Status Fields

Stopping and Resuming PC-DMIS CNC Server

Exiting PC-DMIS CNC Server

Moving Programs to the CNC Controller

Executing Journal Files

Creating and Modifying Machines

Working with the MonitorView Window


The PC-DMIS CNC Server Menubar

The menu bar consists of the File, View, Window, and Help menus.

File | OpenMonitor displays the MonitorView window. This window, much like DataPage's Monitor Mode, allows you to view statistical data stored inside DataPage database files (files with a .dbd extension). See "Working with the MonitorView Window".

File | Exit closes PC-DMIS CNC Server.

View | Status bar shows or hides the status bar at the bottom of PC-DMIS CNC Server.

Window | Cascade shows multiple windows on top of one another but keeps the title bars visible so you can easily select a window by clicking on its title bar.

Window | Tile shows multiple windows at the same time without overlapping other windows. Multiple windows size themselves to fit within the available screen space on your monitor.

Window | Arrange Icons automatically arranges icons (windows?)

Help | Help Topics displays the PC-DMIS CNC Server help file.

Help | About CNC Server displays information about the application. It also displays the version number.


The PC-DMIS CNC Server Command Buttons

The following command buttons are often used inside PC-DMIS CNC Server:

Analyze Hold – This button stops the CNC Server from analyzing data from an NC machine. It also enables other command buttons. See "Stopping and Resuming PC-DMIS CNC Server". PC-DMIS CNC Server continue to collect and analyze data from NC machines once you click the Analyze Run button.

Analyze Run – This button readies the CNC Server to analyze data from an NC machine. See "Stopping and Resuming PC-DMIS CNC Server".

Download Program - This button moves your converted part program (.cnc file) to the NC controller by using the Download Program button1. See "Moving Programs to the NC Controller".

Execute Journal File – This button lets you execute a journal file at any time to see an offline replay of the CNC measurement session inside of PC-DMIS NC for analysis purposes. See "Executing Journal Files".

Define Machine – This button opens the MachineDefinition dialog box and allows you to create new NC machines, clone existing machines, or edit existing machines. See "Creating and Modifying Machines" for more information.

Open PC-DMIS – This button opens or accesses PC-DMIS NC.

Abort – This button aborts any active measurement session for the selected (high lighted) machine. It does not stop the measuring program running on the NC Control. This must be stopped by Feed Hold or Reset controls on the machine control panel.

Status – This button displays a window showing all machine input / output (I/O) data. You can observe the status for one machine at a time by first selecting the machine's line in the Status column of the main interface. The Status button becomes available for selection. Click the Status button and the Status window appears.


The Machine Status Fields

The various machine status fields in PC-DMIS CNC Server provide information on already defined machines. These fields are described below:

ID – This field displays a unique identification number (positive 16 bit integer) for each machine. Even if you have multiple machines of the same type, each must have a unique ID.

Machine – This field shows the name given for a machine. Each name must also be unique.

Program – This field displays the name of the PC-DMIS part program when the status field displays 'Receiving Data' or 'Analyze Data'.

Status – This field displays the machine's current status. It displays either nothing at all, Receiving Data, or Analyze Data.

If this field is blank, then the machine is not executing a measuring program and it may be running a cutting program.

If this field displays 'Receiving Data', then a measurement program is running on the NC Machine.

If this field displays 'Analyze Data', then the point data has been stored in the journal file and PC-DMIS NC is in the process of analyzing the data.


Stopping and Resuming PC-DMIS CNC Server

You can pause the analysis of data by clicking the Analyze Hold button. This also enables the Download Program, Execute Journal File and Define Machines buttons.

Even when stopped, PC-DMIS CNC Server continues to send data to Journal Files so that if you click Analyze Run later, data analysis will continue where it left off. You should not pause the data analysis indefinitely since no measurement results will be created possibly holding up a machine tool waiting for an offset calculation.


Exiting PC-DMIS CNC Server

Exiting the PC-DMIS CNC Server program using the Exit button also stops the server but results in data loss if there's an active session running. Exiting the PC-DMIS CNC Server also closes the background instance of PC-DMIS NC that was running.


Moving Programs to the NC Controller

For some NC controls, you can move programs to the NC controller by using the Download Program button. To do this:

  1. Ensure that the NC controller is in a mode that will accept programs. Follow your controller's documentation for information on how to do this.

  2. Click the Analyze Hold button so that the server isn't running

  3. Selecting a machine from PC-DMIS CNC Server.

  4. Click the Download Program button. PC-DMIS CNC Server displays an Open dialog box.

  5. Navigate to where your .cnc files are stored.

  6. Select the .cnc program.

  7. Click Open. PC-DMIS CNC Server sends the program to the NC controller.


Executing Journal Files

PC-DMIS CNC Server generates a journal file for each session. You can execute these journal files at any time to see a replay of the session inside of PC-DMIS NC for analysis purposes.

To execute a replay of one of these journal files:

  1. Click the Analyze Hold button so that the server isn't running.

  2. Click Execute Journal File. The Execute Journal File dialog box appears.

Execute Journal File dialog box

You will see three lists: Programs, Machines and Journal Files.

  • The Programs list shows all programs for all Machines program directories.

  • The Machines list shows all defined machines.

  • The Journal Files list shows all response files for the selected Programs and Machines.

Beneath these lists are the Use Programs, Use Machines and Execute From Journal Files areas. In these areas, you can choose to execute All or only Selected journal files from the list above.

  3. Use the list to select one or more journal files.

  4. If you want PC-DMIS CNC Server to delete the journal file after a successful analysis, select the Delete Journal File After Execution check box.

  5. Begin analysis of the journal file(s) by clicking the Execute button. PC-DMIS NC opens and ‘replays’ the journal file. A new Journal File will not be generated by this replay process. You can abort the execution at any time by clicking the Abort button.

  6. Click the Close button to close the current dialog box and return to the main interface of PC-DMIS CNC Server.

See "Working with PC-DMIS NC in Offline Mode".


Creating and Modifying Machines

PC-DMIS CNC Server allows you to define new machines or manage already defined NC machines. To do this, click the Define Machines button. The Define Machines dialog box appears showing a list of machines.

Define Machines dialog box

This dialog box contains these options:

New – The New button creates a new NC machine by launching the MachineDefinition dialog box.

Clone – The Clone button creates a new machine with the same parameters and settings as the selected machine. Make changes as needed to quickly create similar NC machines.

Modify – The Modify button modifies the selected machine from the list of defined machines by launching the MachineDefinition dialog box. Double-clicking on an existing machine also does this.

Delete – The Delete button removes the selected machine from the list of defined machines.

Changes made to a machine or the set of machines will not take place until after PC-DMIS CNC Server is exited and restarted. Machine information is saved in the Windows Registry.

The MachineDefinition dialog box contains various tabs that allow you to define a new machine or modify an existing machine.

More:

MachineDefinition - Program Tab

MachineDefinition - Interface Tab

MachineDefinition - Physical Tab

MachineDefinition – Measure Tab

MachineDefinition – Movement Tab


MachineDefinition - Program Tab

MachineDefinition dialog box – Program tab

Machine Name – This box allows you to type a name to identify the machine.

Machine ID – This box allows you to specify a unique positive integer to identify this machine.

Machine Type – This list allows you specify the machine style. You can select either Horizontal or Vertical.

Controller Units – This list specifies the units of measurement to use for controller programs.

Disable/Enable Lookahead – These boxes allow you to specify the NC G/M codes that are enabled or disabled for the controller's Lookahead functionality.

If these boxes don't contain codes (the default), then no codes will be inserted into the NC program.

If these boxes contain codes, then the code in the Disable Lookahead box will be sent to the NC program prior to execution of the PC-DMIS NC program. The code in the Enable Lookahead box will be processed at the end of the program to re-enable Lookahead functionality.

Macro ID Range – These boxes allow you to specify a safe range of numerical ID numbers to use for automatically generated macros. This helps ensure that you don't overwrite existing macros with these automatically generated macros.

Variables Base – This box allows you to define the lower limit for assigning variables required by PC-DMIS NC generated NC programs.

Remove Journal Files – This check box allows you to determine whether or not PC-DMIS CNC Server removes the created journal file after a successful PC-DMIS NC program execution

Disable – This check box allows you to disable a machine interface without removing its machine definition. You may want to use this check box to ignore a problematic machine interface.

PC-DMIS Install Directory – This box displays the complete pathway to the directory where the PCDMIS/NC executable (pcdlrn.exe) is located. PC-DMIS CNC Server determines this automatically. It cannot be edited.

Controller Units Test / Default – The Default button for Controller Units Test sets the macro program used to set Renishaw defaults, the controller storage register, and value of inch to millimeter conversion.

Controller – This list allows you to select the controller type. The Generic selection is used for the test object and represents Fanuc style controllers.

Set Variables Macro – This defines the Renishaw macro used to set the default variables in the controller.

Units Address – This defines the location of the millimeter to inch conversion.

Expected Value – This defines the expected value of the millimeter to inch conversion.

Program Work Offset – This area allows you to define the start location for measurement by selecting a program work offset from the list. The standard controller registers are available for each controller type (example: G54 through G59 for Fanuc style controls). The Default button ensures that the selected work offset is the proper type and is within the allowable ranges for the selected controller type. The selection will not change if it already meets these criteria.


MachineDefinition - Interface Tab

MachineDefinition dialog box – Interface tab

Interface Type – This list allows you to specify the interface type to use when connecting to the NC machine. You can select one of these types:

  • Serial

  • Ethernet

  • HSSB (Fanuc proprietary High Speed Bus)

  • Test

  • File

The interface type is based on the NC machine interface available. You will usually use the same interface type that you use to load cutting programs onto your NC machine. If you don't use a communications interface, then select Serial from the list. Most machines support the serial interface type.

Connect Text – This box allows you to specify strings required to connect the server channel to the NC machine. Default text strings are supplied for common interfaces.

For example, for the serial interface, the connection string would read: COM1,9600,N,8. For Ethernet interfaces, the connection string contains the IP address of the control. For HSSB interfaces this contains a string indicating the controller type. For File interfaces, this contains a directory to which some other application drops journal files for processing.

Line Terminator – This list allows you to select the line terminator to use when generating the NC program.

<LF> - An ASCII Linefeed character is appended to each line. LF characters advance the cursor one line below the current line without moving the position of the cursor horizontally.

<CR> - An ASCII Carriage Return is appended to each line. CR characters cause the cursor to move to the beginning of the current line.

<CR><LF> - A Carriage Return and a Linefeed are appended to each line. This will cause the cursor to move to the beginning of the next line.


MachineDefinition - Physical Tab

MachineDefinition dialog box – Physical tab

Machine Limits area:

XYZ Minus / Plus – These boxes define the travel limits in machine units. If these boxes contain zeroes, then limit checking will be bypassed at CNC program generation.

Max Velocity – This box specifies the maximum travel velocity in machine units/Minute.

Rotary Table (Cnc Coordinates) area:

Minus / Plus Limits – These boxes specify a rotary table's limits. If these boxes contain zeroes, then limit checking will be bypassed at CNC program generation.

Max Velocity - This box specifies the maximum travel velocity in the rotary table in degrees per second.

CNC Address – This box defines the location of the controller register containing the position of the rotary table. The exact value of the rotary table angle is stored here when a measurement is taken.

CNC Axis – This box defines the axis identifier for the rotary table.

Unlock Table – This box allows you to specify a command string required for the controller to unlock the rotary table.

Lock Table – This box allows you to specify a command string required for the controller to lock the rotary table.


MachineDefinition – Measure Tab

MachineDefinition dialog box – Measure tab

Probing area:

Load Probe – This box allows you to specify the machine's G/M codes to use to load the probe. The Default button loads a default value for the associated controller commands.

Enable Probe – This box allows you to specify the machine's G/M codes to use to enable the Renishaw probe. The Default button loads a default value for the associated controller commands.

Disable Probe – This box allows you to specify the machine's G/M codes to use to turn off the Renishaw probe. The Default button loads a default value for the associated controller commands.

Probe Trigger Read – This box allows you to specify a string to test when the probe is deflected. Currently this command is not implemented.

Use PC-DMIS Probe Calibration – This selection will enable the use of Probe Calibration data from PC-DMIS. PC-DMIS must also be used to calibrate the probe. The tool offset for the probe must be set to zero. All motion will be commanded from the spindle gage point.

Number of Axes – This sets the number of axes to be used simultaneously during a probing cycle. It is dependent upon the Macro set selected in the lower drop-down list. One axis means that all measurements will be made by driving along one machine axis, the other two axes will be fixed. The axis closest to the measurement normal will be used. Two axes means that measurements that are within 45 degrees of the spindle axis will be measured using only the spindle axis. Measurements beyond 45 degrees will be measured using two machine axes, the axes that define the plane orthogonal to the spindle axis. Three axes means that measurements are can performed on any vector.

Macros – Macros sets the Macro Set used in the controller. It also affects the number of probing axes above. It is recommended to use full 3D vectoring macros when possible. PC-DMIS will probe compensate using the surface normal vector regardless of number of axes used.

Tool area:

The Number box allows you to specify the machine tool number where the probe is stored.

The Offset Type list allows you to specify the offset type used in the control. You can select A, B, or C.

The Wear box allows you to specify the controller address for the wear component of the tool offset.

The Geom + Wear box allows you to specify the controller address for the geometry and wear component of the tool offset.

Measure area:

The Command box allows you to specify the parameterized command used to measure a point. The %x %y and %z act as place holders where the associated X, Y and Z probing values will be substituted. The Default button loads a default value for the associated controller commands.

Note: In some cases (e.g., Blum macros), %i %j and %k act as place holders for the measurement approach vector, %s (or %f) is used as a placeholder for the feedhold and %p and %r represent prehit and retract distances.

The Results Address boxes (X, Y, and Z boxes) allow you to specify where to find the probing results. These addresses are used to generate the text used in the Command box above. The Default button loads a default value for the associated controller commands.


MachineDefinition – Movement Tab

MachineDefinition dialog box – Movement tab

The Movement tab of the MachineDefinition dialog box, allows you to define the codes needed to specify whether or not the NC machine can perform unprotected moves, set work planes, or enable circular moves.

Note: The Default button for each item below sets the appropriate NC codes in the boxes for the selected controller. You can then modify or replace these codes as needed.

Linear Movement area:

Protected – This box allows you to define the controller codes required to perform a move so that the probe detects collisions.

Unprotected – This box allows you to define the controller codes required to perform a move so that the probe does not detect collisions.

Set Circular Move Plane area:

XY Plane – This box lets you define the controller codes that set the XY workplane (for example, G17).

XZ Plane – This box lets you define the controller codes that set the XZ workplane (for example, G18).

YZ Plane – This box lets you define the controller codes that set the YZ workplane (for example, G19).

Circular Movement area:

CW Arc – This box lets you define the controller codes that allow movement in a clockwise direction.

CCW Arc – This box lets you define the controller codes that allow movement in a counterclockwise direction.

Allow Unprotected Linear Moves: Selecting this check box allows unprotected linear moves. To generate unprotected moves, use the CNC/SETPROTECTION,NO command inside the Edit window of PC-DMIS NC.

Allow Circular Moves: Selecting this check box allows circular movement. The normal motion approximates circular moves with straight line moves. Circular moves are unprotected, so Unprotected Linear Moves must also be checked to allow circular movement.


Working with the MonitorView Window

Menu Bar – Open Monitor

MonitorView window is opened by selecting File | OpenMonitor menu item.

MonitorView window

The MonitorView window is a replication of the DataPage Monitor mode and interacts with a DataPage/RT database (.dbd file). If you are familiar with the DataPage Monitor mode, you will find the functionality of the MonitorView window to be similar.

For in-depth information on DataPage, see your DataPage help file or printed documentation.

More:

Understanding the MonitorView Window Interface

Working with Variables

Refreshing Data

Working with DataPage to Display Charts and Plots

Changing a Database

Monitoring Variable Sets

Changing Properties


Understanding the MonitorView Window Interface

The MonitorView window is made up of a toolbar, a left pane, a right pane, and a bottom pane.

Window Area | Description
 | The menu bar contains commands to manipulate the display of data in the MonitorView window; it has the same commands available on the MonitorView toolbar.
 | The toolbar contains all the commands needed to work with the statistical data in the database. You can also select these commands from the Monitor submenu.
 | The left pane displays the parts in the database. When you select a part from the left pane, the right pane is updated to show the variables associated with the selected part.
 | The right pane displays the variables for a selected part.
 | The bottom pane automatically displays a chart for a single variable you select from the right pane.


Working with Variables

Selecting Variables – To select multiple variables next to each other, click on the first variable in the range, press the SHIFT key and then click last variable in the range. To select multiple variables out of sequence, press the CTRL key and then click the desired variables.

Displaying a Chart – If you select exactly one variable and there is enough data, the MonitorView window displays a chart for that variable in the bottom pane.

Sample Chart

The monitor control decides if there is sufficient data to draw a chart based on the amount of data in the database, your statistical settings, and the last time that data was "acknowledged". See "Changing Properties" for more information on your statistical settings.

More:

Filtering Data

Acknowledging and Unacknowledging Variables

Calculating the Statistical State

Freezing and Unfreezing Limits


Acknowledging and Unacknowledging Variables

Acknowledging and Unacknowledging Variables – MonitorView can easily let you know when your part is out of tolerance or out of control. Parts containing out of tolerance or out of control variables are displayed in the colors already discussed.

Clicking the Acknowledge icon (or selecting the Monitor | Acknowledge Alarms menu item) turns the selected variables green, records the date and time you acknowledged them, and recalculates the control limits using data from the acknowledged date/time forward. Previous data is disregarded.

Clicking the Unacknowledge icon (or selecting the Monitor | Unacknowledge Alarms menu items) removes the acknowledgement from previously acknowledged variables and recalculates the current state of the variables. The system uses all available data to calculate control limits.


Calculating the Statistical State

Calculating the Statistical State – You can calculate the statistical state of variables by selecting multiple variables and clicking the Calculate Status icon from the toolbar or by selecting Monitor | Calculate Alarms. The calculation process determines whether or not the selected variables are in or out of tolerance, and what their control limits are. The statistical state of the variables is then displayed by showing each variable in one of the following default colors.

Green - Uncalculated variables or those that have not out of tolerance or out of control conditions after calculation.

Orange - Variables that failed at least one control test are considered out of control.

Red - Variables that have at least one measurement that is out of tolerance.

Purple - Variables that are both out of control and out of tolerance conditions.

You can easily configure these colors by clicking the Properties icon and using the General tab inside the dialog box that appears. See "Changing Properties" for more information.


Freezing and Unfreezing Limits

Freezing and Unfreezing Limits – You can freeze or unfreeze control limits for selected variables.

Clicking the Freeze Limits icon (or selecting the Monitor | Freeze Control Limits menu item) makes it so that the database does not recalculate control limits when new data gets added to the database. Control limits are calculated using the current data and saved to the database.

Clicking the Unfreeze Limits (or selecting the Monitor | Unfreeze Control Limits menu item) icon unfreezes the control limits to their previous state, allowing the system to recalculate control limits, the system will recalculate control limits for the selected variables whenever new data is added to the database.

To view the state of the limits, select View | Variables | Form Editor within the DataPage/RT Editor. See your DataPage/RT Editor documentation for more information.


Refreshing Data

If you add, remove, or change data from an outside process, you can use the Refresh icon (or selecting the Monitor | Refresh Alarms menu item) to re-read the database, changing the output in the MonitorView window accordingly. If data has changed, and you click this button, MonitorView also updates the current chart.


Working with DataPage to Display Charts and Plots

Important: The following chart and plot processes require that you have DataPage installed on your computer. When you click on the icon for these processes, DataPage launches and displays the selected chart or plot. If you need information beyond the scope of this documentation, view your DataPage documentation.

Creating Run Charts – Clicking the Run Charts icon (or selecting the Monitor | Create Run Charts menu item) creates run charts for each selected variable. A run chart is an ordered plot of raw data points used to study a variable's behavior and variance over time. Points are plotted against specification and/or control limits.

Creating Process Charts – Clicking the Charts icon (or selecting the Monitor | Create Process Charts menu item) creates a process chart for each variable. A process chart contains a selection of statistical charts that provides a complete definition of a variable’s process: its distribution, control, capability characteristics, and assigned cause codes. These can be viewed in different ways, such as an individual chart, a group chart, a histogram chart, and so forth.

Creating Target Plots – Clicking the Target icon (or selecting the Monitor | Create Target Plots menu item) creates target plots for each selected feature. A target plot displays the positions of measured points in relation to the nominal values in two dimensions and the feature’s upper tolerance. To select a "feature" you must select the T (true position) axis and two positional axes (among, X, Y and Z). You can select more variables for each feature, but they will be ignored.

Creating a Group Target Plot – Clicking the Group Target icon (or selecting the Monitor | Create Group Target Plots menu item) creates a group target plot for the selected features. A group target plot displays the positions of several features. DataPage will display a single plot with multiple symbols; each symbol representing the average location of that feature. To select a "feature" you must select the T (true position) axis and two positional axes (among, X, Y and Z). You can select more variables for each feature, but they will be ignored.

Creating a Whisker Chart – Clicking the Whisker Chart icon (or selecting the Monitor | Create Whisker Chart menu item) creates a whisker (or capability) plot for the selected features. This chart shows the mean, high, and low values, plus and minus three sigma units.


Changing a Database

To change the current database displayed in the MonitorView window, click the Database icon (or select the File | Set Database menu item). An Open dialog box appears allowing you to select a new DataPage database (.dbd file).


Monitoring Variable Sets

To monitor a set of critical features (or any DataPage variable set) click the Variable Set icon (or select the File | Select Variable Set menu item). This displays the Select Variable Set dialog box.

Select Variable Set dialog box

Note: You must have at least one variable set in the database for the current part to use the Select Variable Set icon.

When you select a variable set from this dialog box, MonitorView displays only the variables in that set. MonitorView obeys the order of the variables in the variable set. To show all the variables in the part again, select the blank line at the top of the list in the Select Variable Set dialog box.


Changing Properties

Clicking the Properties icon (or selecting the Monitor | Properties menu item) displays the SpcMonitorCtrl Control Properties dialog box. This dialog box contains two tabs, General and Tests, that allows you to change various properties for the MonitorView window.

More:

G eneral Tab

Tests Tab


General Tab

SPCMonitorCtrl Control Properties—General tab

Status Colors buttons– Click these buttons to invoke the standard windows color selection dialog box and change the colors for the statistical rules: Good, Out Spec, Out Control and Out Both.

Subgrouping area – This area of the dialog box, contains these boxes Subgroup Size, Min Subgroups, and Max Subgroups. These values define how the MonitorView window groups data for calculations and charting. If subgroup size is 1, the subgroup setting is ignored.

Note: You must have at least Subgroup Size * Min Subgroups measurements in order to make control calculations or display the feedback chart. If you have more than Subgroup Size * Max Subgroups, then the MonitorView window only uses the last complete MaxSubgroups in the calculation.

Chart Calculations Basis area– This area contains two lists: Individual and Subgroup. These lists determine the calculations made when you click the Calculate icon to determine the statistical state and the calculations made when you display charts.


Tests Tab

SPCMonitorCtrl Control Properties—Tests tab

The Tests tab contains a number of edit boxes and check boxes that allow you to customize and enables various tests. It also determines whether a test is applied to the X component and/or R component of the charts, for both individual and subgroup charts. The subgroup chart settings are ignored when the Subgroup Size box in the General tab is 1.


Run Scripts

The Run Scripts icon invokes a script execution feature. Scripts are text files that allow for the importing of statistical variables, assignment, logical computation, external command execution and limited flow control. Scripts can be used to react to changes of the current statistical state of the measurements.

Clicking on the Run Scripts icon opens the Select Script File dialog box.

Select Script File dialog box

Browse to the needed script file and click OK. This will run the selected script.

More:

S cripting Language

Arithmetic expressions

Logical Expressions

Automatic Script Processing


Scripting Language

This scripting language is case insensitive and the commands are terminated with semicolons (;). Thus a command can occupy more than one line to improve readability. More than one command can be implemented on a single line.

The commands in this scripting language are:

  • Declare

  • Database

  • Filter

  • Import

  • If

and logical expressions of:

  • Execute

  • Label

  • Goto

  • Write

  • Attach

  • WorkOffset

  • ToolOffset

  • Chain

  • Prompt

  • Clearlog

  • Debug

  • Dump

  • =


Declare

DECLARE – This command creates one or more variables that must exist before they can be used. If more than one variable is declared with a single DECLARE command then they must be separated by commas. Variables are initialized when they are created by using an equal sign. The DECLARE format is:

DECLARE Variable1=Value1, Variable2=Value2, Variable3=Value3, NOValueVariable

  • Variable[1,2,&3] are variables where the variable is assigned a value.

  • NOValueVariable is a variable where the value is not initialized with a value.

an example:

DECLARE V1=1, V2=2, V3=3, ZERO;


Database

DATABASE – This command attaches a database to the script file. By default, the database that is being monitored is used to import data. This command can be used to import data from a different database. The DATABASE format is:

DATABASE DatabasePath;

  • DatabasePath is the full path name of the folder containing the database. If DatabasePath is omitted, the database will revert to the database being monitored. The database will be used in any subsequent IMPORTs.

an example:

DATABASE C:\DATAPAGE\MYDATA;


Filter

FILTER – This command defines a filter that will be used when data is loaded using the IMPORT command. Filters are used to define a trace field to limit imported data and to define start and end dates. By default there is no filter. The FILTER format is:

FILTER TraceName TraceValue StartDate EndDate;

  • TraceName is the name of a trace field, for example MACHINE. Enter “” as a placeholder if trace field filtering is not being used.

  • TraceValue is the value of a trace field, for example ROBODRILL. Enter “” as a placeholder if trace field filtering is not being used. If TraceName and TraceValue are defined, Only data that satisfies Tracename=TraceValue will be imported.

  • StartDate defines the starting point of the data stream based on a date or count criteria. The options are:

LAST N – start at the N-th most recent measurement.

HOURS N – start at the beginning of N hours ago. If N is 0, start at the current hour. If n is 1, start at the beginning of the previous hour.

DAYS N – start at the beginning of N days ago. If N is 0, start at the current day (midnight). If N is 1, start at the beginning or yesterday.

The StartDate may be omitted, in which case no date filtering will be applied.

  • EndDate defines the ending point of the data stream based on a date or count criteria. The options are:

LAST N – end at the N-th most recent measurement.

HOURS N – end at the beginning of N hours ago. If N is 0, start at the current hour. If n is 1, start at the beginning of the previous hour.

DAYS N – end at the beginning of N days ago. If N is 0, end at the current day (midnight). If N is 1, end at the beginning or yesterday.

The EndDate may be omitted, in which case all data after the start date will be used..

Some examples:

FILTER MACHINE ROBODRILL LAST 30 LAST 0; This is the last 30 measurements on the ROBODRILL machine

FILTER MACHINE ROBODRILL; This is all data made on the ROBODRILL

FILTER “” “” DAYS 0 LAST 0; This is all measured today

FILTER “” “”; This turns off all filtering


Import

IMPORT – This command imports a statistical value from the data currently being monitored. The current database and filter are used. The format is:

IMPORT Variable=PartName:VariableName:StatVar;

  • Variable is the name of a variable created using the DECLARE command.

  • PartName is any of the part names in the Part List of monitor mode.

  • VariableName is any variable that appears in the Variable List of monitor mode of the specified PartName.

  • StatVar is any of the supported statistical calculations. Currently the stats supported for this command are:

MEA (mean)
STD (standard deviation)
MAX (maximum value)
MIN (minimum value)
RNG (range)
NOM (nominal value)
DEV (average deviation)
NUM (number of measurements)
LST (value of last measurement)

an example:

IMPORT CIR1DLAST=DEMO:CIR1.D:LST;


If

IF – This command tests a logical (or arithmetic) expression. If that expression evaluates to true (or non zero), the “then” command is executed. The format of the command is:

IF LogicalStatement THEN Command;

an example:

IF ErrorCount > 0 THEN GOTO END;

See the "Logical Expressions" topic.


Execute

EXECUTE – This command will execute an executable program or batch file with optional command line arguments. The format is:

EXECUTE ExecuteProgramPathName [argument[s]];

  • ExecuteProgramPathName is the full path name of the command to execute, including the file extension (exe or bat).

  • argument[s] are zero or more command line arguments. If the value of a variable is to be used as a command line argument, enclose that argument in square bracers ([…]).

an example:

EXECUTE C:\MyStuff\SetAlarm Diameter [Diam];


Label

LABEL – This command sets a branching point. It is a reference for the GOTO command. Format is:

LABEL LabelName;

an example,

LABEL END;


goto

GOTO – This command branches to a label. The format is:

GOTO LabelName;

  • LabelName is the name of a label (defined using the LABEL command).

an example,

GOTO END;


Write

WRITE – This command writes information to a text file. One possible application for Write is to write a batch file on the fly that may be executed. The format is:

WRITE [R] FileName “stuff to write”;

  • [R] - If the R argument is present, then existing contents of the file are deleted before the file is written. If R is not specified and the file exists, the file will be opened and appended.

  • FileName is the name of the file that will be written.

  • “stuff to write” is what will be written. To write the value of a variable, enclose it in square brackets ([…]).

an example:

WRITE R C:\MyStuff\DoIt.BAT SETALARM DIAMETER [DIAM];


Attach

ATTACH – This command attaches a machine to the script. Machines that support direct modification of work offsets and tool offsets can be attached for this purpose. The format is:

ATTACH MachineID;

  • MachineID is the unique numeric identifier (postive integer) of the machine to attach.

an example:

ATTACH 1;


WorkOffset

WORKOFFSET – This command updates a work offset for the currently attached machine. The format is:

WORKOFFSET GCode ProgName FileName dx dy dz da db dc;

  • GCode is the name of the work offset that is being set. The format of this depends on the type of machine attached.

  • ProgName is the name of the macro that will update the work offset. Some interfaces do not require a macro name, in which case ProgName can be “”.

  • FileName is the name of the file that contains the macro program. Some interfaces communicate directly with the CNC controller. These interfaces do not use FileName, which can be set to “”. Interfaces that do not communicate directly will create the command necessary to implement the offset update in this file. The user must upload this program to the controller and execute it in this case.

  • dx, dy and dz are the changes that will be applied to the X, Y and Z components of the work offset. Note that these are delta changes to the current work offset. dx, dy and dz are required.

  • da, db and dz are the change that will be applied to the A, B and Z components of the work offset. Note that these are delta changes to the current work offset.

an example:

WORKOFFSET G54 O8888 C:\UPDATE.WRK [DX] [DY] [DZ];.


ToolOffset

TOOLOFFSET – This command updates a tool offset for the currently attached machine. The format is:

TOOLOFFSET ToolName ProgName FileName dl dd;

  • ToolName is the name (number) of the tool for which the offset will be set.

  • ProgName is the name of the macro that will update the tool offset. Some interfaces do not require a macro name, in which case ProgName can be “”.

  • FileName is the name of the file that contains the macro program. Some interfaces communicate directly with the CNC controller. These interfaces do not use FileName, which can be set to “”. Interfaces that do not communicate directly will create the command necessary to implement the offset update in this file. The user must upload this program to the controller and execute it in this case.

  • dl is the change that will be applied to length offset of the tool. Note that this is a delta change to the current tool offset. This is required, enter zero if the length is not be modified.

  • dd is the change that will be applied to diameter offset of the tool. Note that this is a delta change to the current tool offset. This is required, enter zero if the length is not be modified.

an example:

TOOLOFFSET 6 O8889 C:\TOOL6.WRK [DL] [DD];


Chain

CHAIN – This command will process another script file. After the chained script file is executed, control will revert to the current file. Chained script files inherit the current database, filter and collection of variables. Changes inside a script file are not passed back to the calling script with the exception of variables that existed in the calling script. This means that their values can be modified by the chained script. The format is:

CHAIN ScriptPath;

  • ScriptPath is the full path name of the script file that will be executed.

an example:

CHAIN C:\MYSUBS\WIDGETLARGE.SCR;


Prompt

PROMPT – This command creates a standard windows message box with text supplied to the command. Yes and No buttons are in included in the message box. If the user clicks the yes button, the variable will be set to 1, if the no button is pressed, the variable will be set to 0. The value if this variable can be tested to determine program flow. To include the value of a variable in the prompt, include the name of the variable in square blankets (for example, [DIAM]). The format is:

VAR = PROMPT PromptText;

  • VAR is the name of a variable that will accept the choice of the operator.

  • PromptText should pose a yes/no question to the user.

an example:

ANS = PROMPT “Okay to update Work Offsets?”;

If ANS = 0 then GOTO END;


Clearlog

CLEARLOG – This command deletes the log file associated with the script. The log file should reside in the same directory as the script file and have the same name, except the log file has the extension LOG. The format is:

CLEARLOG;


Debug

DEBUG – This command writes debug information to the log file. The format is:

DEBUG “stuff to write”;

  • “stuff to write” is what will be written. To write the value of a variable, enclose it in square brackets ([…]).

an example:

DEBUG The value of DIAM is now [DIAM];


Dump

DUMP – This command writes the values of all variables to the log file. The format is:

DUMP Header;

  • Header will be written to the log file prior to writing the values of all variables.

an example:

DUMP Contents of Variables near line 10 is:;


=

= - This symbol is used to assign the results of an arithmetic expression to a variable. Formats of expressions are defined later. The format is:

VariableName = expression;

an example:

AveDiam = (Diam1 + Diam2 + Diam3 + Diam4)/4;


Arithmetic expressions

The arithmetic expressions support any depth of parentheses, the standard arithmetic operators for addition (+), subtraction (-), multiplication (*) and division (/). In addition, exponentiation (^) is also supported. Precedence is defined as usual, but parentheses can be used to force the order of computation. Several intrinsic functions are also supported. These functions are:

SIN(x) – compute the sine of x radians.

COS(x) – compute the cosine of x radians.

TAN(x) – compute the tangent of x radians.

COT(x) – compute the cotangent of x radians.

ASIN(x) – compute the arc sine of x.

ACOS(x) – compute the arc cosine of x.

EXP(x) – compute e raised to the x power.

LOG(x) – compute the natural logarithm of x.

SQRT(x) – compute the square root of x.

ABS(x) – compute the absolute value of x.


Logical Expressions

Logical expressions are similar to arithmetic expressions, but use four additional operators. The operators are:

  • > - This operator evaluates to true when the expression to the left of the operator is greater than the expression to the right.

  • < - This operator evaluates to true when the expression to the right of the operator is less than the expression to the left.

  • = - This operator evaluates to true when the expression to the left of the operator is equal to the expression to the right.

  • ! - This operator evaluation reverses the state of the expression to the right of the operator (from true to false or false to true).

Note: A value of zero means false, any other value is considered to be true.


Automatic Script Processing

There are two ways to automatically invoke a script when the CNC Server processes new data. If there is a file with the identical in name to the current PC-DMIS program, but has the extension scr, that script file will be invoked after the program is processed.

  1. Example 1 - the PC-DMIS program is C:\PCDMISW\BLOCK.PRG is executed and the file, C:\PCDMISW\BLOCK.SCR exists, the script file processor will be invoked to execute the file.

  2. Example 2 - If the file described in Example 1 does not exist, the file AUTOMATIC.SCR will be invoked if it exists in the PC-DMIS installation directory (for example C:\PCDMISW\AUTOMATIC.SCR).

When scripts are automatically executed you can pass two additional pieces of information to the script. One is the machine name, the other is the part name. As the string is processed in the script processor they are scanned for the words [MACHINE] and [PART]. If [MACHINE] is found, it is replaced with the machine name. If [PART] is found it is replaced with the part name. These substitutions can be used to customize script files and/or to chain specialized script files.

More:

Sample Script with All Commands

Chained Sample Script


Sample Script with All Commands

An example of a script file follows:

DECLARE X1, X2, X3, X4, Y1, Y2, Y3, Y4, XOFF, YOFF, ANS;

DATABASE "C:\DATAPAGE\DEMO";

FILTER MACHINE ROBODRILL LAST 10;

ATTACH 1;

IMPORT X1 = DEMO:CIR1.X:DEV;

IMPORT X2 = DEMO:CIR2.X:DEV;

IMPORT X3 = DEMO:CIR3.X:DEV;

IMPORT X4 = DEMO:CIR4.X:DEV;

IMPORT Y1 = DEMO:CIR1.Y:DEV;

IMPORT Y2 = DEMO:CIR2.Y:DEV;

IMPORT Y3 = DEMO:CIR3.Y:DEV;

IMPORT Y4 = DEMO:CIR4.Y:DEV;

XOFF = (X1 + X2 + X3 + X4)/4;

YOFF = (Y1 + Y2 + Y3 + Y4)/4;

IF (XOFF > 0.001) THEN GOTO WORKOFFSET;

IF (YOFF > 0.001) THEN GOTO WORKOFFSET;

GOTO NOWORKOFFSET;

LABEL WORKOFFSET;

PROMPT ANS = "Apply Work Offset, X is [XOFF] and Y is [YOFF]";

IF (ANS = 0) THEN GOTO NOWORKOFFSET;

WORKOFFSET G54 "" "" XOFF YOFF 0.0;

LABEL NOWORKOFFSET;

DECLARE DIAMDEV;

IMPORT DIAMDEV = DEMO:CIR1.D:DEV;

IF (DIAMDEV < 0.001) THEN GOTO NOTOOLOFFSET;

PROMPT ANS = "Apply Tool Offset, D is [DIAMDEV]";

IF (ANS = 0) THEN GOTO NOTOOLOFFSET;

TOOLOFFSET 6 "" "" 0.0 DIAMDEV;

LABEL NOTOOLOFFSET;

WRITE R C:\TEMP\MYALARM.BAT "REM Generated by monitor script file";

WRITE R C:\TEMP\DEMO.LOG "";

DECLARE AVERAGE, LAST, NOM, INDEX, BADCOUNT = 0;

IMPORT AVERAGE = DEMO:CIR1.D:MEA;

IMPORT LAST = DEMO:CIR1.D:LST;

IMPORT NOM = DEMO:CIR1.D:NOM;

INDEX = 1;

CHAIN C:\TESTER.SCR;

IMPORT AVERAGE = DEMO:CIR2.D:MEA;

IMPORT LAST = DEMO:CIR2.D:LST;

IMPORT NOM = DEMO:CIR2.D:NOM;

INDEX = 2;

CHAIN C:\TESTER.SCR;

IMPORT AVERAGE = DEMO:CIR3.D:MEA;

IMPORT LAST = DEMO:CIR3.D:LST;

IMPORT NOM = DEMO:CIR3.D:NOM;

INDEX = 3;

CHAIN C:\TESTER.SCR;

IMPORT AVERAGE = DEMO:CIR4.D:MEA;

IMPORT LAST = DEMO:CIR4.D:LST;

IMPORT NOM = DEMO:CIR4.D:NOM;

INDEX = 4;

CHAIN C:\TESTER.SCR;

IF (BADCOUNT = 0) THEN GOTO ALLISWELL;

EXECUTE C:\TEMP\MYALARM.BAT;

EXECUTE C:\TRANSFER\COPYTOREMOTE C:\TEMP\DEMO.LOG;

LABEL ALLISWELL;


Chained Sample Script

The following is a sample chained script file. In the example above, this would be C:\TESTER.SCR.

DECLARE SHIFT = FABS(AVERAGE - LAST);

IF (SHIFT < 0.0005) THEN GOTO GOOD1;

WRITE C:\TEM\DEMO.LOG "SHIFT for CIR[INDEX].D is [SHIFT]!!

WRITE C:\TEMP\MYALARM.BAT "LOGGER 1 CIR[INDEX] [SHIFT];

LABEL GOOD1;

DECLARE LASTDEV = FABS(LAST - NOM);

IF (LASTDEV < 0.002) THEN GOTO GOOD2;

WRITE C:\TEMP\DEMO.LOG "ERROR for CIR[INDEX].D is [LASTDEV]!!

WRITE C:\TEMP\MYALARM.BAT "LOGGER 2 CIR[INDEX] [LASTDEV];

LABEL GOOD2;


Filtering Data

Filtering Data - To change the current filtering of data, click the Filter icon (or select the Monitor | Define Data filter menu item). A dialog box appears allowing you to define a data filter. Data filters select data based on date or count criteria as well as trace field criteria.


Type Them

In this version, the only command you can insert by typing is the CNC/SETPROTECTION command.