Using PC-DMIS NC

Current Help System: PC-DMIS NC (View Core Help)

Using PC-DMIS NC (Numerical Control)

Introduction:

Uses for PC-DMIS NC

Differences between PC-DMIS NC and PC-DMIS

P C-DMIS NCI Differences

Required Components for PC-DMIS NC

Files Used by PC-DMIS NC

Data Flow Chart

P C-DMIS NCI Components

Testing PC-DMIS NC

Using PC-DMIS NC

U sing PC-DMIS NCI

Working with CNC Edit Window Commands

U pdate Work Offset

Use Work Offset

Update Tool Offset

Set Protection

W rite CNC Variable

Read CNC Variable

CNC Pass Through Command

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.

PC-DMIS NCI (Numerical Control Interactive) provides an Interactive version of PC-DMIS NC. It enables interactive connection between the core PC-DMIS product and a machine tool similar to that used with a CMM controller. Notes are provided throughout this help file for exceptions or information that is specific for "PC-DMIS NCI".

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.

PC-DMIS NC supports these hardware configurations:

Hardware | Configuration | Supported NC Versions
Fanuc: | FOCAS over Ethernet | NC & NCi
 | FOCAS over HSSB | NC & NCi
 | Serial line | NC – not interactive
 | Shared file drop | NC – not interactive
Siemens: | Requires HMI Advanced Option
 | Shared file drop | NC
 | TCP-IP | NCi
Haas: | Serial line | NC – not interactive
Heidenhain: | Feature Content Level 3 (FCL3) recommended for Controller
 | LSV2 protocol over Ethernet | NC
Okuma: | Thinc Controllers OSP100 or later
 | Shared file drop | NC
Mazak: | Fusion 640 or Matrix control
 | Serial line | NC – not interactive
 | Shared file drop | NC
Tosnuc 888: | Serial line | NC – not interactive

This help file discusses the following main topics:

  • Testing PC-DMIS NC

  • Using PC-DMIS NC

  • Using PC-DMIS NCI

  • 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

Use this help file in conjunction with the main "PC-DMIS Help file" if you come across something in the software that isn't covered here.

More:

U ses for PC-DMIS NC

Differences between PC-DMIS NC and PC-DMIS

PC-DMIS NCI Differences

Required Components for PC-DMIS NC

Files Used by PC-DMIS NC

Data Flow Chart for PC-DMIS NC

PC-DMIS NCI Components


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 its 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 its 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 computations on varied measurement input can be easily compared.


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. However, PC-DMIS NCI does work interactively (See "PC-DMIS NCI Differences"). 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. Controllers shown with NC or NCi in the "PC-DMIS NC: Introduction" topic are capable of updating work offsets, tool offset, and variables in the control. Controllers for which this is not possible are shown with (NC- not interactive).

  • Probing paths are static and cannot be changed for all NC versions. 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. PC-DMIS NCi versions operate interactively with PC-DMIS sending each path point to the control allowing logic operations to control program path execution and iterative alignments.

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

The following PC-DMIS topics list particular items as either supported or unsupported in PC-DMIS NC. Where PC-DMIS NCI supports or does not support a particular feature, notation is provided. Otherwise, both NC and NCI are both either supported or unsupported. 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 – Supported. However, there may be no benefit to re-measuring using the same path.

  • Read Position – Unsupported. Supported in PC-DMIS NCI.

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

  • On Error – Unsupported. PC-DMIS will be operating in a Server mode where the Operator will generally not see the screen. Supported in PC-DMIS NCI.

  • Relative Measurement – Unsupported. This requires path modification based on measurement. Supported in PC-DMIS NCI.

  • NOMINALS – FINDNOMS – MASTER – VECTOR list. NOMINALS only supported. Supported in PC-DMIS NCI.

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. Unsupported in PC-DMIS NCI which only works with straight line moves.

  • Find Hole – Unsupported. Requires controller based path generation. Supported in PC-DMIS NCI.

Cylinder

  • Find Hole – Unsupported. Supported in PC-DMIS NCI.

  • Circular Move – Supported for unprotected motion. Unsupported in PC-DMIS NCI.

  • Use Theoretical – Supported.

Cone

  • Circular Move – Supported. Unsupported in PC-DMIS NCI.

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. Supported in PC-DMIS NCI.

High Point

  • Unsupported. Supported in PC-DMIS NCI.


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. Supported in PC-DMIS NCI


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 or executed directly using PC-DMIS NCI.

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

  • Stitch Scanning - Supported when using predefined paths. Supported in PC-DMIS NCI for predefined or adaptive 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 for systems that use a fixed feed rate for measurement moves. 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. Probing speed, prehit and retract distances are supported in PC-DMIS NCI.

  • Auto-Relative Measure – Unsupported. Supported in PC-DMIS NCI

  • 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 for PC-DMIS NC if they do not alter the path, measurement sequence, or require measurement results inside a loop. Absolute defined paths are supported (such as loop that measures a point 5 times), however, ‘if’ statements for example are not supported. In PC-DMIS NCI, all loop modes and logic are functional.


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. When PC-DMIS probe calibration is used, the probe length and effective ball diameter are managed by PC-DMIS. PC-DMIS NCI only uses PC-DMIS probe calibration.

  • Rotary Table - Supported.


Basic Scripts

  • Supported if they do not affect the measurement sequence or the path which is static. Supported in PC-DMIS NCI.


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. Fully supported in PC-DMIS NCI.


Breakpoints

  • Breakpoints are supported. Breakpoints can be used as a 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. Breakpoints will not stop the execution on the NC machine; only the PC-DMIS execution will be affected. Since PC-DMIS NCI is interactively executing the program on a single user system, operator prompts and responses may be entered as normal.

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.


PC-DMIS NCI Differences

The following are fundamental differences of PC-DMIS NCI.

Differences from PC-DMIS:

  • DCC operation only

  • Calibration Tool Location is definable for DCC probe calibration.

  • Initial rough location of the part must be specified in Machine Coordinates (no manual teach-in).

Differences from PC-DMIS NC:

  • No post out of a measurement path program (.cnc).

  • The active work offset has no effect. All motion is generated in machine coordinates and adjusted to match the active work offset.

  • Only one machine is defined using CncServer.exe. The machine must have Machine ID = 1.


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.

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 running PC-DMIS NC or NCI. 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.

Controller Options -

  • Fanuc: Macro B

  • Fanuc: Macro memory expansion

  • Siemens: HMI Advanced

  • Heidenhain: LSV2

  • Heidenhain: FCL3 Recommended for 3d probing

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

To enable this option, The port lock is programmed for the appropriate NC Interface:

· Fanuc machines with FOCAS option use the NCFanuc interface.
· Siemens machines with HMI Advanced option use the NCSiemens interface.


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 files 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.

Journal files are not used for PC-DMIS NCI.

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

Machine Definition Files - These files are stored in the <PCDMISINSTALL>/CncMachineData folder. Sub-directories for each machine contain compens.dat, .PRB files, and the rotary table calibration files.

Machine Related Files - Controller files are located in the following directories that must be copied to the controller:

  • Blum - <PCDMISINSTALL>/BLUM

  • Fanuc - <PCDMISINSTALL>/FANUC

  • Haas - <PCDMISINSTALL>/HAAS

  • Heidenhain - <PCDMISINSTALL>/HEIDENHAIN

  • Mazak - <PCDMISINSTALL>/MAZAK

  • Okuma - <PCDMISINSTALL>/OKUMA

  • Siemens - <PCDMISINSTALL>/SIEMENS

Monitor Program Set - The Monitor program set consists of NC programs which perform basic move/measure functions and the Monitor program which interfaces with interfac.dll. The NC Programs for move/measure may also be used in PC-DMIS NC as Wilcox probing macros without the Monitor.

The CNCServer.exe and the Ctrltdefaults.dll files are required for PC-DMIS NCI.

NCFanuc.dll - Interface file for the Fanuc controller that is renamed to interfac.dll as needed.

NCSiemens.dll - Interface file for the Siemens controller that is renamed to interfac.dll as needed.

Monitor Program Set - The set is resident on the NC Control and consists of a group of executable NC programs coordinated by a master Monitor program.

The Monitor program is started by the Operator when requested by PC-DMIS NCI to perform move and measure functions. PC-DMIS NCI treats the Monitor as a server and sends requests to it in the form of op codes and attendant data (like target position). When the Monitor completes an operation, the results and status are sent to PC-DMIS NCI and it waits for the next command.

When PC-DMIS NCI goes to Manual mode, it sends an exit command to the Monitor which gracefully terminates. The Cancel button is also active during PC-DMIS execution to immediately stop the Monitor.


Data Flow Chart for PC-DMIS NC

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.


PC-DMIS NCI Components

PC-DMIS NCI uses multiple components to generate output for the Monitor application. The components in the PC-DMIS software system are shown in the following diagram:

  • CNCSettings.dat - Settings contained in this file are managed by CNCServer. This is used by PC-DMIS NC and PC-DMIS NCI to define the machines.

  • CNCServer - Used to create machine definitions that are used to communicate with the NC controller.

  • PC-DMIS - Executes NC programs based on the settings and interface information. Measurement results are collected by the Monitor and sent via Interfac.dll to PC-DMIS for evaluation.

  • Interfac.dll - Either the NCFanuc.dll or the NCSiemens.dll are renamed to interfac.dll in the PC-DMIS install directory. The renamed interfac.dll file works in conjunction with PC-DMIS to interface with the NC Controller.

  • CtrlrDefaults - Manages the machine interface and the access to set up information for the machine controller.

  • Monitor - Resident on the NC Control and consists of a group of executable NC programs coordinated by a master Monitor program. Movement and Measurement requests from PC-DMIS NCI are executed by the Monitor returning status and results to PC-DMIS NCI via the Interfac.dll.


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

Note: These steps are not applicable when using PC-DMIS NCI. See the "Using PC-DMIS NCI" section for information


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. If calibration macros are not supplied (i.e. Wilcox macros) run a calibration using PC-DMIS.

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. The CNC portlock options include:

  • CNC Licenses - Specifies the number of CNC machines that are connected for use with PC-DMIS.

  • Update Mode - With this option selected, PC-DMIS is allowed to pass measurement data back to the CNC machine to update work offsets and/or tool offsets. Must also have at least one CNC licenses specified. See "Using NC Update".

  • NCi - Authorizes the use of PC-DMIS NC interactive instead of the standard PC-DMIS configuration. See "Using PC-DMIS NCI".

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

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

  4. Open the Define Machines dialog box by:

  • From the NC Server interface: Clicking Hold and then selecting the Define Machine button

  • From the PC-DMIS-NC Update window (NC Update): Selecting the File | Define Machines menu item.

  5. To define your machine do the following:

  1. Click New. The MachineDefinition dialog box appears.

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

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

  4. Type a value in the Machine ID box.

  5. 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.

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

  7. Click OK.

  5. Close 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 CNC Server application. You will see the Test machine inside the 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.

The instructions in this section are specific to PC-DMIS NC, see the "Using PC-DMIS NCI" topic for instructions on using PC-DMIS NCI.

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. You must use PC-DMIS calibration when using 5 axis systems.

To enable PC-DMIS probe calibration:

  1. Start the CNC Server program

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

  3. Select the machine from the list and click Modify. This opens the MachineDefinition dialog box.

  4. Select the Measure tab. See the "MachineDefinition – Measure Tab" topic for more information.

  5. Select the Use PcDmis_NC Probe Calibration box.

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

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

  8. 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.

  9. 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.

  10. 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.

  11. 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.

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

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

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

  2. Select Analyze 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. In the case of a

  • Heidenhain Controls: modify the Preset Table or Datum Table.

Next Step...


Step 3: Define an NC Machine

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

  2. Click 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. You might define the work offset using features on the CAD model. However, this can be done in a variety of ways.

  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. This is true for all Fanuc style controls that identify programs by a number like O1234. For other controls, the output file name identifies the program.

  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. The log file is located in the "\Documents and Settings\<LoginName>\Local Settings\Temp" directory with an .log extension.

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 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. The PC-DMIS CNC Server must be in Analyze mode to evaluate data.

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.


Using PC-DMIS NCI

The steps for using PC-DMIS NCI are different from PC-DMIS NC since these two products are mutually exclusive. PC-DMIS NCI is basically PC-DMIS On-line attached to an NC machine. Communication with the NC Machine occurs by use of the Monitor program which resides on the NC control.

The instructions in this section are specific to PC-DMIS NCI, see the "Using PC-DMIS NC" topic for instructions on using PC-DMIS NC.

Follow these instructions for general information on how to use PC-DMIS NCI:

  • Step 1: Install PC-DMIS NCI and Define a Machine

  • Step 2: Generating the Monitor Program

  • Step 3: Executing NCI Programs


Step 1: Install PC-DMIS NCI and Define a Machine

  1. Attach the port lock to your computer. Your port lock should already be programmed to enable the PC-DMIS NCI 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:

Note: PC-DMIS NCI must Not be active while using CncServer.exe.

  1. Click 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, provide the Machine Name for your NC machine.

  6. Type a value or "1" 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 Ethernet from the Interface Type list.

  9. Click OK.

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

Next Step...


Step 2: Generating the Monitor Program

A Monitor NC Program is used to communicate between PC-DMIS NCI and the NC Controller. The set of NC Programs includes the Monitor program and all of the support macro programs it requires to implement movement and single point measurement. Monitor programs may be custom generated using CncServer.exe.

To Generate a .CNC File:

  1. Complete "Step 1: Install PC-DMIS NCI and Define a Machine" All parameters must be correctly set.

  2. Verify correct settings in the MachineDefinition dialog box and click OK to close. Click OK to close the Define Machine dialog box to exit out to the main CNC Server screen. This will save your machine definition settings.

  3. Open the Measure tab of the MachineDefinition dialog box. Click the Generate button to create a .cnc file for the control formatted as “Wilcox”<controller Base name>.cnc (ex. WilcoxFanuc.cnc).

  4. Load the newly created .cnc file onto the NC machine. The name of the monitor set is WilcoxFanuc.cnc for Fanuc controls and WilcoxSiemens.cnc for Siemens controls.

Important considerations for generating your .CNC file:

  • If the generated program requires modification to run, it is best to use the MachineDefinition dialog box to make changes. This will insure that you have a valid parameter set for automatic regeneration. Make the needed changes and exit out to the main screen of the CNC Server application.

  • If you have edited the generated .cnc file using an editor such as Notepad, etc. and you do not update the MachineDefinition dialog box settings to match, then create backup copies of the modified Monitor program set from the control.

Note: You cannot change the Macro Variable addresses by editing the .cnc file because PC-DMIS NCI is using the information from the Machine Definition to define the addresses of these variables for communication.


Step 3: Executing NCI Programs

Before you run your PC-DMIS part program, you need to change the MODE/MANUAL command at the beginning or your part program to MODE/DCC. PC-DMIS NCI only runs in DCC mode.

Running a Part Program:

Part Programs are run in the same manner as PC-DMIS CMM programs with the inclusion of the Monitor. To run your program using PC-DMIS NCI:

  1. Open the .PRG file from PC-DMIS NCI.

  2. Place the cursor at the start of the program.

  3. Click on Execute or type <CTRL>Q.

  4. When prompted to start the Monitor, select the monitor program on the NC Control and Cycle Start. The Start Monitor dialog box will close and DCC motion should begin on the NC Machine.

Stopping and Restarting a Part Program:

  • The Monitor program will be terminated on the NC control whenever PC-DMIS goes to Manual mode within a program or when the program is completed. When DCC operation is required, the Start Monitor dialog will appear.

  • Canceling the execution of a program can be done with the Cancel button in the PC-DMIS Execution dialog box. This will also stop the Monitor program at whatever point it was in its execution loop.

  • To restart the program, repeat the steps starting from Step 1 above. Always insure that the Monitor program is started from the beginning. PC-DMIS may be restarted at the current cursor position or the beginning.

Counters

The PC-DMIS counters will be active when the program is not running. The coordinates are defined by the counter setting. It is useful to read the center of probe position for the active tip when jogging around the part. READPOINT can be effectively used to roughly locate the starting point for DCC operation.


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:

Update Work Offset

Use Work Offset

Update Tool Offset

Set Protection

Write CNC Variable

Read CNC Variable

CNC Pass Through Command

CNC Select Table


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.

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.

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.

Rotations

Rotations about base alignment axes may be applied to either a physical rotation axis, like a rotary table, or as a rotation of the NC coordinate system (Note: Many controllers do not have this capability). Select the rotation axes to enable: About X, About Y, and/or About Z. The Rotations Used to Update field may be set to either:

None: No rotations

Rotary Axes: Rotate the rotary axis associated with the Cartesian axis using the standard rule A about X, B about Y or C about Z. These will show up as rotation offsets in the Work Offset area of the control. This is used to Update Rotations will update the standard work offset rotations G54,G55,G56,G57,G58,G59.

Transformation: Apply rotations to the NC Controller’s coordinate system. The changes may show up in a special set of registers in the control (i.e. Fanuc Work Offset Error Compensation registers) or as an extension of the standard work offsets (Siemens 840).

Fanuc - For Fanuc controllers this updates transformations in Fanuc Registers for Work Offset Compensation:

G54 ----> G54.4 P1 .. G59 ----> G54.4 P6

Base Addresses:

G54.4 P1 X - 26010 Y - 26011 Z - 26012 …

G54.4 P2 – P7 X 26020,26030,26040,26050 …

Enabling Work Offset Compensation in an NC Program: (Example From Fanuc Document Work Piece Setting Error)

G55 (Enable std work offset)

G05.1 Q1 (AICC AI Contouring Control must be active first)

G54.4 P1 (Enable Work Offset compensation #1)

Siemens - The selected User Frames G54 … G57 are updated for rotation and translation.


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 specifies 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. The X, Y and Z values must be entered if a rotary table is present. These values are used to compensate for table rotation.


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. If tool length is not being set, this can be left blank. The location of this feature relative to its 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. If tool diameter is not being set, this can be left blank. The diameter of this feature is compared to its 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.


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 be recognized by the controller and execution will be suspended or terminated, depending on how the CNC control deals with alarm conditions. Some controls will have some error recovery abilities, some will not. 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.

This menu option and Edit window command are not available for PC-DMIS NCI.


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.


CNC Pass Through Command

Select the Display Menu Roadmap Operation | CNC Programming | Pass Thru menu option to open the CNC Pass Through Command dialog box.

CNC/PASSTHRU,CommandString

This command string is inserted inline in the generated NC Program. It may be any text string, but should represent valid commands for the controller. No syntax checking is performed in PC-DMIS.

CommandString Text string to be inserted into NC program.


CNC Select Table

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

CNC/SELECTTABLE,TableNumber,CommandString

This command string is inserted inline in the generated NC Program. It may be any text string, but should represent valid commands for the rotary table. No syntax checking is performed in PC-DMIS.

TableNumber Text string to specify the rotary table to which the command string will be sent.

CommandString Text string to be transferred to the rotary table for rotation.


PC-DMIS NC Rotary Tables

Overview

PC-DMIS NC rotary table support is based on capabilities within PC-DMIS. The following configurations are supported:

  • Only one continuous rotary table.

  • Two unconnected rotary tables.

  • Indexed rotary tables.

  • The typical NC configuration of a pair of stacked rotary tables is also 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. To use a stacked rotary table with PC-DMIS, the Stacked Rotary Table option must be programmed as well.

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

Working with a Multi-Axis Wrist


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. Select the needed machine configuration from the list and click Modify.

  3. Open the Physical tab of the MachineDefinition dialog box.

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. Provide the CNC Address for controls to report the rotary table position for measurements.

  5. 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.

  6. Specify the Number of tables if you are configuring your system to use Dual Rotary or Stacked Rotary tables.

  7. Select the CNC Axis that corresponds to each rotary table that is used to generate table motion. Select A, B or C. The first item in the list refers to the PC-DMIS W axis and the second line refers to the V axis. PC-DMIS assumes that the W axis is stacked on top of the V axis.

  8. Adjust the Wrist joint values as needed. See the "Working with a Multi-Axis Wrist" topic for more information on these values.

  9. 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.

  10. Axes Map maps the controller axis registers to a named axis for Fanuc style controls. The first axis shown is mapped to the first axis register. ‘b’ symbols are spacers to skip unassigned axes. The example show maps the X,A,Y,Z,C and B axes to position registers 5001,5007 – 5011.

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. Note: PC-DMIS NCI only assigns one machine per PC-DMIS computer, so there is no 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.

Note: The Rotary Table Setup dialog box can also be accessed from the Edit | Preferences | Rotary Table Setup menu option

Rotary Table Setup dialog box

  5. Select the type of rotary table configuration from:

    • No Rotary Table - Rotary table is not being used.

    • Single Rotary Table - For a single rotary table.

    • Dual Rotary Table - Two rotary tables, not necessarily stacked.

    • Stacked Rotary Tables - Two rotary table that are stacked.

  6. For Dual or Stacked Rotary Table configurations, you will need to specify the parameters for each table while either the Table W or Table V option is selected. The settings for each table is independent of the other.

  7. For each rotary table, select either the Table is Index Type or Table is Infinite Type option.

  8. For each rotary table, select either the Table is Manual or Table is DCC option.

  9. For each rotary table, select the Axis for Table from the drop-down list box. Select the normal vector of the table, this axis is used when defining the Direction of Positive Rotation.

Important: Specify the Axis for Table before updating the XYZ values.

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

  11. Avoid updating the IJK vector values directly.

  12. 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.

  13. 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.

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

Next Step...

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


Step 3: Calibrating the Rotary Table

Current Help System: PC-DMIS NC (View Core Help)

Step 3: Calibrate the Rotary Table

To calibrate your rotary table:

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

Important: If you are calibrating Dual or Stacked Rotary Tables you will need to select either Table W or the Table V before clicking Calibrate from the Rotary Table Setup dialog box. The physical axes for both of these tables should also be set to zero. You will need to complete all of the following steps for both tables.

  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 commands 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.

Rotary Table Calibration Path Lines and Sphere locations.

  9. Save the current part program so that it can be executed when the calibration is performed using CNC Server.

Rotary table calibration will begin immediately with the display of the Start Monitor dialog box. Start the Monitor program on the control and PC-DMIS NCI will command the necessary moves and measure commands to calibrate the table.

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 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. You may wish to add dimensions for the calibration program so as to view the results of the calibration in a report.

  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.

For PC-DMIS NCI, the standard rotab.dat file in the installation directory is used.

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 (or the machine readout if NCI). 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 a Multi-Axis Wrist

PC-DMIS NC must be setup to use a wrist device in the Physical tab of the MachineDefinition dialog box.

Change the following values on the Physical tab :

  1. In the Wrist area set the number of wrist axes using the drop-down list.

  2. For each axis, define the Axis identifier used to move the wrist.

  3. The Reverse setting may also need to be checked to make the motion of the wrist compatible with PC-DMIS’ expected motion.

  4. Edit the Axes Map which provides the ordering of the machine axes in relation to the logical controller axes. See the "MachineDefinition - Physical Tab" topic for more information on the Axes Map.

The wrist must be defined in the USRPROBE.DAT file or the PC-DMIS PROBE.DAT file. This file must be supplied on installation with a wrist modeled as a connection with No offsets.

The wrist must always be calibrated at each angle used for measurement using PC-DMIS Probe calibration.

There are two methods in which the wrist may be defined depending on your installation: Tool Point or End of Ram

Tool Point: This method assumes the controller has the ability to predict the location of the end of the tool regardless of head angles. For example the Siemens 840D control enables this capability with the TRAORI command. The length of each tool, including the measuring probe, is known to a high degree of accuracy, but the remaining errors can be removed by calibration. Do not zero out the tool offsets. Model the probe as a single ball of the same nominal size as the stylus with the No Offset wrist. Only a single stylus may be used. The probe is calibrated at the angles of interest using PC-DMIS probe calibration. The stored calibration values consist of small errors in the XYZ location of the stylus and the stylus diameter.

End of Ram: This method requires an accurate model of the wrist in the probe database. It is similar to the method used to calibrate CMM wrists. The Probe Offsets maintained in PC-DMIS are now from the end of the machine ram to the ball center of the stylus. The tool offset for the probe in the control, if any, is zeroed before probe calibration. A calibration program is created for the angles of interest, posted out and executed on the NC machine.


Part Programs for Stacked Rotary Tables

To create a part program that uses rotary table motion from both of the stacked rotary tables:

  1. Select the Edit | Preferences | Rotary Table Setup menu option to open the Rotary Table Setup dialog box.

  2. Add a Move Rotary Table command (Insert | Move | Rotary Table) to the part program.

  3. Update the Rotary Table W and Rotary Table V axis positions as needed.

  4. Create the CNC (.cnc) file in the usual way to include rotary table commands (see "Step 4: Create a NC Program File"). Rotary Table moves are inserted as G01 commands in the CNC file. PCDMIS will correct the coordinates of each move and measurement point.

  5. Start the PC-DMIS NC Server Program (see "Step 5: Start the PC-DMIS NC Server Program").

  6. Upload the program (see " Step 6: Load the NC Program File" to the controller as usual.

  7. Execute the program (see "Step 7: Execute the NC Program File"). Note the points returned in the journal file are appended with the W axis angle followed by the V axis angle.


A Note on V42R Compatibility

Calibrations for two rotary tables are saved in both PC-DMIS version 4.2 (V42R) and PC-DMIS version 4.3 (V43R). However, V42R only has dual rotary table support and not stacked rotary table support.

Only one single rotary table angle is stored in a V42R part program and the same angle is used in the part program for both rotary tables. On the other hand, V43R has stacked rotary capability and saves both V and W table angles to part programs.

If a V42R program is read into V43R then the single rotary table angle copied to both V and W table angles in order that a part program intended for use dual rotary table will work regardless of the settings of the Rotary Table Setup dialog box.

If a V43R program is saved in V42R format then one of the angles will be lost. PCDMIS will inspect the rotary table setup and if dual rotary and the V table is selected then the V angle is saved, otherwise the W angle is saved. Thus, a part program written for dual rotary can be exported to V42R if required.

If a part program is written in V43R for use on dual rotary with different W and V angles and it is required to export it to V42R then it should be exported to two separate part programs:

  • First, with the rotary table settings set to the W table.

  • Second, with the settings set to the V table.


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 PC-DMIS/NC to analyze results.

Before you Begin: You need a copy of PC-DMIS installed, and your port lock must be programmed with at least one CNC License 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 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 Hold button. Once activated, they will show a blue glow.

For PC-DMIS NCI, CNC Server only uses the Define Machines function is used to setup the Controller interface. All other functions are not used. Once the NC measurement parameters have been set, they need not be touched once the installation is completed. Securing NC parameters may be accomplished by removing CncServer.exe from the system.

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:

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 continues to collect and analyze data from NC machines once you click the Analyze button.

Analyze – 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. 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 PC-DMIS.

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 (integer between 1 and 32768) 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. Due to the nature of some machine interfaces the 'receiving data' status may be very brief as all the data is sent at the end of execution.

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 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 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 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 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. Select the Update Control option to allow PC-DMIS NC to update values on the control when replaying a journal file.

Important: You may choose to not update if you have a Update Work Offset command or a tool length calculation in your program, since there might be a conflict when you replay the journal file. This can be dangerous if you are applying the update to a machine that is in the middle of cycle as the change will be loaded immediately in most controllers. This only applies to machines with an API that allows direct update (FOCAS, Siemens HMI, Heidenhain LSV2, Okuma Thinc).

  6. 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.

  7. 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. The information is held in <pc-dmis install directory>/CncMachineData/CncSettings.dat file.

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 Names should be unique and may not contain any of the following special characters: ~, `, !, @, #, $, %, ^, &, *, (, ), +, =, {, [, }, ], |, \, ", ', :, ;, <, >, ., ?, /, comma or space.

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

This value must be "1" for PC-DMIS NCI.

Machine Type – This list allows you specify the machine style. You can select either Horizontal or Vertical. This is defined by the direction of the machine’s Z axis when A,B & C axes are at 0.

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.

Use the default range of 1000-2000.

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

100 is suggested for Fanuc controllers. About 50 variables are used for communication between PC-DMIS NCI and the Monitor Program.

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.

Disable should be unchecked to enable the interface.

PC-DMIS Install Directory – This box displays the complete pathway to the directory where the PC-DMIS/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.

Select the Fanuc controller which support FOCAS or the Siemens 840 controller with HMI Advanced.

Set Variables Macro – This defines the Renishaw macro used to set the default variables in the controller. This value is set by default once the Macro Address is set on the "Measure tab".

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.

Output Precision – This defines the maximum number of digits that will be output to the left and the right of the decimal point. Make it as large as you can for your control to get the greatest precision in measurement. Some controls are limited to a 4.4 format or a maximum of 8 digits.

A value of 5.4 or as high as the controller is allowed is recommended.

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.

G54 for the default, although this is not used for NCI which ignores the active work offset to drive in machine coordinates.


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.

This value is set to Ethernet (with the FOCAS or HSSB option) for Fanuc controllers or Ethernet (with the HMI Advanced option) for Siemens controllers.

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.

Configure the Connect Text for ethernet (e.g. “192.168.0.1 8193”) for the same IP address and port number as defined in the control. This is found in the DDE_CONF.txt file for Siemens controllers or in the Parameter pages for Fanuc controllers..

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.

Set to LF.

Percent Signs (%) need to mark file start/end - If this box is checked the NC programs generated by PC-DMIS will have a percent sign at both the beginning and the end of the file. Some systems require this when files are uploaded to the control.

This should be unchecked.


MachineDefinition - Physical Tab

MachineDefinition dialog box – Physical tab

Machine Limits area:

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

Note: These values are in machine coordinates and NC programs are in work offset coordinates, Meaningful range checking can not be performed unless reasonably accurate values for the nominal work offset are supplied in the PC-DMIS command, CNC/USEWORKOFFSET.

CNC Address – These define the location of the controller register containing the limits for each axis. The exact value of the axes limits are stored here when measurement is taken.

Max Velocity – This box specifies the maximum travel velocity in machine units/Minute. The feed rate for positional moves will be the product of this value and the move speed percentage set in PC-DMIS parameter settings.

Rotary Table (Cnc Coordinates) area:

Number of – Specifies the number of Rotary tables.

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

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

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.

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 Address = 0 will disable this function. For Fanuc controllers, this is the address of the Absolute Position Register if a rotary table is configured.

Unlock – This box allows you to specify a command string required for the controller to unlock the rotary table. This field is left blank if no rotary table is present, or the table does not require unlocking.

Lock – This box allows you to specify a command string required for the controller to lock the rotary table. This field is left blank if no rotary table is present, or the table does not require locking.

Wrist area:

Number of Axes – The number of axes in a machine tool head or wrist

Up to two joints can be configured with axis label and direction. The joints are attached to the Z axis ram. A compatible wrist definition is required in Probe.dat or UsrProbe.dat in PC-DMIS.

Joint Axis – The letter used in the NC program to move the wrist axis.

Reverse – Check to reverse the direction of motion to correlate with PC-DMIS.

C NC Address – This box defines the location of the controller register containing information for the Wrist axis. The exact value of the rotary table angle is stored here when a measurement is taken.

U nlock – This box allows you to specify a command string required for the controller to unlock the wrist axis. This field is left blank if no wrist axis is present, or the wrist does not require unlocking.

Lock – This box allows you to specify a command string required for the controller to lock the wrist axis. This field is left blank if no wrist axis is present, or the wrist does not require locking.


MachineDefinition – Measure Tab

MachineDefinition dialog box – Measure tab

Probing area:

Start Program – This box allows you to specify the machine's G/M codes to use to start the program. The Default button loads a default value for the associated controller commands.

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 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 probe. The Default button loads a default value for the associated controller commands.

End Program – This box allows you to specify the machine's G/M codes to use to end the program. 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.

This is blank. This function is reserved for future manual operation to sense probe deflection and is the PLC address of the probe bit (Ex: X0004 7 H => Bit 7 is the trigger bit active when High).

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 must be set based on the probing system:

  • Renishaw Macros: The tool offset for the probe must be set to zero. All motion will be commanded from the spindle gage point.

  • Wilcox Macros - Fanuc: The tool offset is ignored. The motion is commanded from the spindle gage point.

  • Wilcox Macros - Siemens: The controller’s tool offset is active and should be close enough to the calibrated length to allow probe calibration. The machine is driven using the controller tool offset. The calibration values are small deltas from the controller tool offset.

This value is checked for PC-DMIS NCI.

Probe Size Address - This value is the macro variable index that contains the size of the probe. This is used to report back to PC-DMIS the size of the probe as it was qualified using the NC native methods for probe calibration. It is not used when using PC-DMIS probe calibration.

Defined by Wilcox Macro Selection group.

Tool area:

The Number box allows you to specify the 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 boxes allow you to specify the controller address for the wear component of the tool offset for the Length and Diameter.

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

Use the default Offset Base Address values.

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. The available options will change depending on the Number of Axes specified.

For Example, the command default is G65P7007X%xY%yZ%z for a 7000 base address.

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.

Default value is defined from the base address from the Program tab (e.g. X 130 Y 131 Z 132).

Macros Area:

Macro Type – Select the needed macro type from the drop-down list. Once the macro has been selected you can provide the specific parameters for that macro:

  • InspectionPlus - Renishaw macros for switching probes. 2.5 D.

  • InspectionPlusMP700 - Renishaw macros for Strain Gage probes. 3D.

  • Blum - Support BLUM probes

  • Wilcox - Supports Renishaw probes on Siemens and Fanuc style controllers

The Wilcox option must be selected for PC-DMIS NCI.

Depending on the macro type selected, the various settings on the Measure Tab will change to reflect settings for that macro.

Number of Axes – This defines the number of axes used for a measurement.

3 - Measurements can be performed along any 3D vector.

2 - Measurements are performed either fully within a plane that is perpendicular to the probe axis, or along the probe axis.

1 - Measurements are performed only along one of the machine axes.

Settings Address – This value defines the non-volatile memory area in the controller. It contains about 10 variables which define probing and motion parameters (e.g. 650).

Macro Address – Used for Fanuc controls so you can use the generated probing macros without the Monitor in PC-DMIS NC. this is the starting program number for the Monitor macro programs (example 7000).


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.

The values of the Linear Movement area set by default from the Wilcox Macro group selected from the "MachineDefinition – Measure Tab".

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.

It is recommended to uncheck this option for all machines. PC-DMIS NCI uses protected moves as defined in the Linear Move macro for all XYZ moves.

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.

Unchecked. PC-DMIS NCI does not use Circular Moves. PC-DMIS will interpolate a circular move as multiple straight line moves.


Working with the MonitorView Window

Menu Bar – Open Monitor

The 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.

The MonitorView window is not available with PC-DMIS NCI because CncServer must not be active concurrently with PC-DMIS NCI. However, the use of DataPage statistics is supported.

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

Run Scripts


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:

Acknowledging and Unacknowledging Variables

Calculating the Statistical State

Freezing and Unfreezing Limits


Acknowledging and Unacknowledging Variables

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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.

Automatic Refresh – The MonitorView window will update its data according to the number of seconds specified here.


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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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

LABEL LabelName;

an example,

LABEL END;


goto

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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 (positive integer) of the machine to attach.

an example:

ATTACH 1;


WorkOffset

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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 to 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 to be modified.

an example:

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


Chain

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

PROMPT – This command creates a standard windows message box with text supplied to the command. Yes and No buttons are 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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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

Current Help System: PC-DMIS NC (View Core Help)

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:;


=

Current Help System: PC-DMIS NC (View Core Help)

= - 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;


Using NC Update

When PC-DMIS NC is in Update mode, you can pass measurement data back to the CNC machine to update work offsets and/or tool offsets. To enable this mode you must have Update Mode and at least one CNC licenses programmed in your portlock.

NC Update uses "Problem Definitions" to pass measurement data. The following topics discuss creation of Problem Definitions:

  • Creating Problem Definitions

  • MonitorView Script Options


Creating Problem Definitions

To create a problem definition:

  1. Launch CNC Server. With Update Mode programmed into your portlock, the PC-DMIS nc Update interface will appear.

  2. Select the File | New Problem menu option to open the Save As dialog box.

  3. Browse to the desired directory and provide the File Name to which the problem definition will be saved. Click Save. The Problem Definition dialog box appears.

Problem Definition dialog box

  4. Browse to and select the Datapage database to which data will be sent.

  5. Browse to and select the script (*.scr) that will be used for processing statistical information. See "Run Scripts".

  6. Specify the Part Name and Machine ID for the entries in the database.

  7. Specify the offset Type to update: Tool or Work.

  8. Type one or more values in the XYZ list boxes for Work offsets.

  9. Click OK. The MonitorView window opens. See "Working with the MonitorView Window". There are additional MonitorView options when opening from Update mode having to do with scripts. See "MonitorView Script Options".


MonitorView Script Options

When using PC-DMIS nc Update, the following additional option is available for scripts:

Edit File - Opens the Problem Definition dialog box. See "Creating Problem Definitions".