miim

### Interface-Specific Options

The following registry entries are available for the Zeiss GPIB/RS-232 Direct interface.

Manual retract is available for newer machines. For older machines, you must set it to TRUE.

Use the retract command for DCC instead of the move command. If the controller does not support this command, set it to TRUE.

Acceleration = 200 - If the machine displays an error when it starts to move, change the value to a smaller number.

AnalogHead = FALSE - To enable force probe setting on a non-Vast analog probe head, set the value to TRUE. The value used is the MaxForce of PC-DMIS AnalogProbe settings/Probe Parameters (from version 1.996a on PC-DMIS 3.5 or 1.998a on PC-DMIS 3.7 and higher).

BeepPause = 100 - Causes a beep in the controller when you take hits. If the beeps are inconsistent, you can increase the value. To turn the beeps off, set the value to 0.

BufferedComm = 0 - Applies to RS-232 machines. If communication problems exist, set it to a non-zero value to use buffered communications.

CMM = COM0 4800 N, 8, 1 - You can change these values to adjust the controller's RS-232 port and settings. For example, if you want to communicate with the controller on comm 2 with settings of 9600 bauds, even parity, 7 data bits, and 2 stop bits, then you would enter: CMM = COM2 9600 E,7,2. This is only used with a native RS-232 interface.

ControllerMode = 1 - Controls various aspects of the communications protocol with the controller, particularly the initialization and homing procedure. The default is 1 and applies to most controllers. Another option is 2, which you can try if the machine has trouble homing. This option was developed on a machine with a G90 controller with a PH9 probe. Option 3 is for newer C99 controllers.

DSEHead = FALSE - If you use the Zeiss DSE head, set the value to TRUE. If TRUE, you must set [Option] ZeissWrist = 1.

EnableCircularMoves = FALSE - If the CMM supports circular moves, set the value to TRUE.

GPIBDelay = 0 - Is required for some controllers where the communications need to slow down. Set this registry entry only if PC-DMIS hangs in the middle of execution. For the MC 850, the value should always be 0.

HomingSpeed = 0.0 - Allows you to adjust the homing speed. An adjustment may be necessary if the machine moves too fast and either gets an error when it hits the EOT or is too jerky. The range of 20 thru 50 usually works.

IgnorePrismoErrors = FALSE - On some machines, a recoverable error occurs on startup. Usually, the value should be FALSE.

JogBoxKey1 = 0 through JogBoxKey21 = 0 - Specifies jog box mapping. For details, see "PC-DMIS Jog Box Macros".

JOGSpeed = 0.0 - For many Zeiss machines, the speed set during a DCC program execution affects the jog speed in Manual mode. You can use the value to establish a speed that is set when returning to Manual mode so that the jog speed does not depend on the last-used DCC speed. If the value is 0.0, it has no effect rather than trying to set a jog speed of 0 (zero). Because this value is a percentage of the maximum, the maximum allowed value is 100.0.

KeyBoardJogBox = FALSE - If the controller has the Numerex-style keyboard jog box, set the value to TRUE.

MappedJogKeys = FALSE - Allows you to map the jog box keys. For more information, see "PC-DMIS Jog Box Macros".

MaxDSERotationErr = 2 - The maximum allowable difference between the requested angle and the actual angle after rotation. You should not need to change the value.

MaxHitAttempts = 4 - Controls the maximum number of times the controller can try and obtain a valid hit for a given point. Many Zeiss heads are sensitive to the speed used during measurement, etc., and may not obtain what the controller considers a valid hit on the first attempt. After this many failed attempts, PC-DMIS stops the attempted measurement and displays an error message. This controller does not retry indefinitely, so setting this to a very large value doesn’t necessarily mean that many attempts are made. PC-DMIS automatically attempts re-hits until it either reaches this limit, or the controller stops trying and signals an error.

MaxSpeed = 413.0 - Sets the maximum speed for the CMM.

MinRotabMove = 0.5 - Any request to move the rotary table to a position that is less than this angle from the current position is ignored.

MoveFromHome = 1.0 - Determines the position of the CMM after homing. It is in machine position. You must consider the correct direction of the axis; otherwise, an error occurs. A common value for machines where the home position is at X = 0.0, Y = MAX, Z = MAX would be 50, -50, -50.

NeedsDCCRetract = FALSE - For machines that do not support a retract command, the value must be TRUE. PC-DMIS then sends a move command to retract the probe after a DCC measurement.

PH9 = COM0 4800 N,8,1 - These values define the PH9 RS-232 port and its associated settings. For example, to control the PH9 on comm 2 with settings of 9600 baud, even parity, 7 data bits, and 2 stop bits, enter PH9 COM2 9600 E,7,2.

PH9ManualMode = 1 - If a PH9 "pendant" hand controller box is present, then you must set the value to 1. Intermittent system "lockups" before probe rotations occur if these settings are incorrect.

PreWaitendDelay = 0.0 - Is a delay time (in seconds) that PC-DMIS waits before it checks to see if the movement is complete. When a DCC move is sent, Zeiss controllers do not explicitly send back an acknowledgment when the move is complete. PC-DMIS has to poll the status to see if any motion is in progress. On some machines, there is a definite lag time after a move command is sent before the machine starts to move. If PC-DMIS starts to poll too quickly after it sends the move, the status indicates that there is no motion. It appears as if the move is complete when in reality, it hasn’t started to move. Setting this value to greater than 0.0 (a typical value may be 0.1) gives the machine time to begin the move before the status polling begins.

RDSHEAD = FALSE - Set this to TRUE if the system has an RDS head or a DSE head, or if the controller controls the PH9 (that is, no PHC10 unit).

RotabScale = 3600 - Is the scale for rotary table.

RotabspeedMax = 300 - Is the maximum speed for the rotary table.

RotabspeedMin = 1 - Is the minimum speed for the rotary table.

RS232CMM = 0 - For GPIB or UDP, the value is 0. For native RS-232, the value is 1.

ScaleX - This value specifies the scale factor for the X axis. Change this value to accommodate any scale stretch.

The value is usually 1.0.

ScaleY - This value specifies the scale factor for the Y axis. Change this value to accommodate any scale stretch.

The value is usually 1.0.

ScaleZ - This value specifies the scale factor for the Z axis. Change this value to accommodate any scale stretch.

The value is usually 1.0.

For details on the following registry entries, see the "Probe Changers" chapter.

- TCDepthClearance = 75

- TCLengthBackOutOfSlot = 20

- TCLengthClearance = -55

- TCLengthInFrontOfSlot

- TCUsingCalibrationTool

- TCVerticalClearance = 7.0

- TCVerticalDropToRealDropoff = 66

- TCVerticalStroke = 10.0

TCPCMM = FALSE - If the system is communicating via TCP, set the value to TRUE. UDPCMM must also be set to TRUE. It might not be obvious whether a system is UDP or TCP, so you may want to experiment. The BNX seems to be UDP, and the RJ45 seems to be TCP.

TimeoutLimit = 10 - Determines the timeout that PC-DMIS uses when it determines that the controller is done with a response. If the value is too low, loss of data may occur. If the value is too high, PC-DMIS may have slow response times.

TimerUpdateInterval = 50 - Determines the polling rate for statuses and position updates. The value should be in the range of 30 to 50 ms.

ToolChangePreWait = 2.5 - Is the amount of time to wait after the move is complete before issuing the next move during the tool change. If some moves are premature, you should set the value higher.

UseCmmForPH9 = FALSE - Set the value to TRUE if the controller controls the PH9 and there is no direct RS-232 connection to a PHC10 unit. You must also set RDSHEAD to TRUE.

UseOldMotionCmd = 0 - For older machines and the MC850, or if you receive ERR 97, the value should be 1.

UseOldRetractCommand = FALSE - For older machines, the value must be TRUE.

UsePositionForVector = FALSE - On some machines, the vector values received from the controller are not reliable. The position value is used instead.

VectorOffset = 3 - If the vector from manual hits is unreliable, change this value. The range is 1 to 6, inclusive.

WaitEndInterval = 0.5 - Is the amount of time to wait after the move is complete before issuing the next move. If some moves are premature, you should set the value higher.

WaitMoveTimeout = 0.5 - Determines how long to wait from the time a motion command is issued and motion starts. This registry entry mainly applies when the CMM is already in commanded position.

SpeedAndAccPerAxis = TRUE - Allows the speed and acceleration to be sent separately to each axis as some controllers require. 8-bit controllers and C90 prefer to have global speed and acceleration commands; in this case, the value must be FALSE.

LockAcceleration = TRUE - Sets the acceleration according to a registry entry. It is tuned to match what the Zeiss software actually sends to a given machine. It ignores PC-DMIS acceleration values. To transmit PC-DMIS acceleration changes to the controller, the value must be FALSE.

WaitOptimization = FALSE - Was implemented in version 2.30. This registry entry uses Zeiss internal optimization routines and can make the operation much smoother and faster. It also influences probe changer operations WaitMoveInterval and WaitEndInterval, which are only partly used with this registry entry. It was tested with the Zeiss 8-bit controller and the measuring probe head (ST).

For Zeiss C90 controllers that use GPIB, the default values should be:

[Zeiss]

ControllerMode = 1

UseOldMotionCmd = 1

EnableCircularMoves = FALSE

KeyBoardJogBox = FALSE

SpeedAndAccPerAxis = FALSE