Page 1
Compact Mercury Step stepper motor controller, 1 axis, closed-loop and open-loop operation, HD D-sub 26, 48 V Physik Instrumente (PI) GmbH & Co. KG, Auf der Roemerstrasse 1, 76228 Karlsruhe, Germany Phone +49 721 4846-0, Fax +49 721 4846-1019, Email info@pi.ws, www.pi.ws...
Page 2
TwinCAT® is a registered trademark of and licensed by Beckhoff Automation GmbH. LabVIEW, National Instruments and NI are trademarks of National Instruments. Neither the driver software nor the software programs offered by PI or other goods and services are connected to or sponsored by National Instruments.
Contents About this Document Objective and Target Audience of this User Manual..........1 Symbols and Typographic Conventions..............1 Definition of Terms ..................... 2 Figures ........................3 Other Applicable Documents ..................4 Downloading Manuals ....................4 Safety Intended Use ......................7 General Safety Instructions ..................
Page 4
Unpacking Installation Installing the PC Software ..................45 5.1.1 Doing Initial Installation ................45 5.1.2 Installing Updates ..................46 5.1.3 Installing Custom Positioner Databases ............48 Mounting the C-663 ....................49 Grounding the C-663 ....................50 Connecting the Positioner ..................50 Connecting the PC ....................
Page 5
Data Recorder ......................87 7.2.1 Configuring the Data Recorder ..............87 7.2.2 Starting the Recording ................. 88 7.2.3 Reading Recorded Data ................88 Digital Output Signals ....................89 7.3.1 Commands for Digital Outputs ..............89 7.3.2 Configuring the "Position Distance" Trigger Mode ........90 7.3.3 Configuring the "On Target"...
Page 6
Adapting Settings Settings of the C-663 ....................245 Changing Parameter Values in the C-663 ............... 245 9.2.1 General Commands for Parameters ............246 9.2.2 Commands for Fast Access to Individual Parameters ....... 247 9.2.3 Saving Parameter Values in a Text File ............247 9.2.4 Changing Parameter Values: General Procedure ........
1 About this Document About this Document In this Chapter Objective and Target Audience of this User Manual ..............1 Symbols and Typographic Conventions ..................1 Definition of Terms ........................2 Figures ............................3 Other Applicable Documents ......................4 Downloading Manuals ........................4 Objective and Target Audience of this User Manual This user manual contains the information required for using the C-663 as intended.
Menu path in the PC software (example: to open the menu, the Start and Settings menu items must be clicked in succession) POS? Command line or a command from PI's General Command Set (GCS) (example: Command to get the axis position). Device S/N...
The parameter values in the volatile memory are also referred to as "Active Values" in the PC software from PI. PI General Command Set; command set for PI controllers. Piezo drivers and servo controllers can be operated together with minimal programming effort thanks to GCS.
1 About this Document Other Applicable Documents The devices and software tools from PI mentioned in this documentation are described in separate manuals. Description Document Short instructions for the installation and MS242EK Short Instructions for Digital Motor startup of the C-663.12...
Page 11
1 About this Document 5. Click the desired manual and fill out the inquiry form. The download link will then be sent to the email address entered. C-663 Mercury Step stepper motor controller MS241E Version: 1.4.0...
The C-663 is a laboratory device as defined by DIN EN 61010-1. It is intended for indoor use and use in an environment that is free of dirt, oil, and lubricants. In accordance with its design, the C-663 is intended for operating PI positioners equipped with stepper motors.
2 Safety If one of the components supplied for connecting to the power supply has to be replaced, use a sufficiently rated component. Organizational Measures User manual Keep this user manual with the C-663 always. The latest versions of the user manuals are available for download (p. 4) on our website.
3 Product Description Product Description In this Chapter Product View ..........................9 Scope of Delivery ......................... 12 Accessories ........................... 12 Overview of PC Software ......................13 Positioner Databases ........................15 Communication Interfaces ......................16 Functional Principles ........................17 Product View 3.1.1 Front Panel Figure 1: Front panel of the C-663.12...
3 Product Description Labeling Type Function LED green Controller state: Lights up continuously: C-663 is ready for normal operation Flashing: C-663 is in firmware update mode Off: C-663 is not connected to the supply voltage LED red Error indicator: ...
2 and 3 = year of manufacture, 4 to 9 = consecutive number Country of origin: Germany Country of origin Warning sign "Pay attention to the manual!" Old equipment disposal (p. 287) CE conformity mark WWW.PI.WS Manufacturer's address (website) C-663 Mercury Step stepper motor controller MS241E Version: 1.4.0...
C-862.CN Network cable for daisy chain network, 30 cm C-815.AA42 Plug adapter for D-sub 15 (f) to HD D-sub 26 (m) C-990.CD1 Data storage medium with PC software from PI MS242EK Short instructions for digital motor controllers Accessories Article Component C-815.LSM2...
3 Product Description Overview of PC Software Basically, PI systems can be controlled as follows: C-663 Mercury Step stepper motor controller MS241E Version: 1.4.0...
Page 20
3 Product Description The following table shows the PC software on the PI software CD. The specified operating systems stand for the following versions: Windows: Versions 8.1, 10 (32-bit, 64-bit) Linux: Kernel 2.6, GTK 2.0, from glibc 2.15 ...
Positioner Databases You can select a parameter set appropriate for your positioner from a positioner database in the PC software from PI. The PC software transfers the values of the selected parameter set to the volatile memory of the controller.
Parameters loaded from a positioner database are marked in color in the parameter overview (p. 254). For more information on the positioner database, see the manuals for the PIStages3Editor and the PI GCS program library. INFORMATION If the pistages2.dat and pimicosstages2.dat positioner databases are on your PC: Positioner databases in .dat format are only installed for compatibility reasons and not used...
3 Product Description Functional Principles 3.7.1 Block Diagram The C-663 controls the motion of the logical axis of a positioner. The following block diagram shows how the C-663 generates the output signal for the axis connected: Figure 3: C-663.12: Generation of the output current The C-663.12 supports positioners without sensor, and positioners equipped with an incremental position sensor.
3 Product Description 3.7.2 Commandable Elements The following table contains the elements that can be commanded with GCS commands (p. 138). Element Description Logical axis The logical axis represents the motion of the positioner in (modifi the firmware of the C-663. It corresponds to an axis of a able) linear coordinate system.
ASCII commands Communication with the C-663 can be managed using the commands of (GCS) the PI General Command Set (GCS; version 2.0). The GCS is independent of the hardware (controller, positioners connected). Examples of the use of GCS: ...
After the controller is switched on or rebooted, the active command level is always 0. On command levels > 1, write access is only available to PI service personnel. Profile Generator The profile generator calculates the dynamics profile to determine the target position ("commanded position"), velocity, and acceleration of the...
Page 27
3 Product Description The operating mode of the C-663 is determined by the value of the parameter Stepper Closed- Loop Operation (0x3101): Parameters Description and Possible Values Stepper Closed-Loop Operating mode of the C-663 Operation 0 = Open-loop operation 0x3101 1 = Closed-loop operation The value of the parameter can only be changed if the motor is deactivated.
3 Product Description Open-Loop Operation Closed-Loop Operation Determination of the length Is determined by the factor for Is determined by the factor for unit for position data microsteps per physical unit of counts per physical unit of length (parameter 0xE, 0xF). length (parameter 0x9A, For further information see 0x9B).
Page 29
3 Product Description Parameters Description and Possible Values Numerator Of The Numerator and denominator of the factor for counts per physical Counts-Per-Physical-Unit length unit Factor For Sensor 1 to 1,000,000,000 for each parameter 0x9A The numerator and denominator of the factor can be calculated from the resolution of the encoder scale used.
3 Product Description 3.7.6 Motion Triggering INFORMATION Motion of the axis is possible both in open-loop and in closed-loop operation, if the motor is activated with the SVO command (p. 207). The current activation state of the motor can be queried with the SVO? command (p. 208). The following table is valid for motion in open-loop and closed-loop operation.
3 Product Description The motion triggered by commands can be stopped using the following commands: #24, STP: abrupt stop HLT: gentle stop In both cases, the error code 10 is set for information. 3.7.7 Generating a Dynamics Profile The profile generator is used in both open-loop and closed-loop operation.
Page 32
3 Product Description Motion parameter Comma Parameters Remarks Target position at When a joystick is connected to the end of the the C-663 and the joystick is motion activated by the JON command, the soft limits are set as respective target position. When deactivating the joystick, the target position is set to the current position for the joystick-...
Page 33
3 Product Description If the deceleration has to begin before the axis reaches the specified velocity, the profile will not have a constant velocity portion and the trapezoid becomes a triangle. Figure 5: Basic trapezoidal velocity profile; A = acceleration, D = deceleration, no constant velocity The edges for acceleration and deceleration can be symmetrical (acceleration = deceleration) or asymmetrical (acceleration ≠...
3 Product Description 3.7.8 Position Control In closed-loop operation, the following corrections optimize the control value for both motor phases and therefore the settling behavior of the system: P-I-D servo algorithm (proportional-integral-differential) Velocity feedforward Limitation of the start / stop step frequency of the motor ...
Page 35
3 Product Description Parameters Description and Possible Values D-Term 1 (Motion) Differential constant 1 (dimensionless) 0x3113 0 to 32767 Default setting: 0 Objective: Damping of fast control oscillation during axis motion The default setting of the parameter should not be changed. I-Limit 1 (Motion) Limit of the integration constant 1 (dimensionless) 0x3114...
Page 36
3 Product Description Parameters Description and Possible Values parameters (P, I, D term) and decouples them from the encoder Denominator Of The resolution. The scaling of the servo control parameters is particularly Servo-Loop Input Factor important with very high encoder resolution. 0x5B Example: An input factor 10 scales down the servo loop 10: 1.
3 Product Description 3.7.9 Motor Control The C-663 has the following functions for motor control: Current regulation: The current control determines the currents for the two motor phases. Holding current: In order to avoid the heating of the motor during standstill, the C-663 ...
INFORMATION The parameters for the motor control can be adjusted as follows: For PI positioners: Load the parameter set suitable for your positioner from the positioner database, see "Starting Motion" (p. 71). No further adjustment of the loaded parameter values is necessary.
3 Product Description The on-target state can be read with the ONT?, #4 and SRG? commands. The on-target state of the selected axis is output at the selected trigger output in On Target trigger mode (p. 92). 3.7.11 Reference Switch Detection The C-663 receives the signal from the reference switch at the Motor socket.
3 Product Description Parameters Description and Possible Values Limit Mode Signal logic of the limit switches 0x18 0 = Positive limit switch active high (pos-HI), negative limit switch active high (neg-HI) 1 = Positive limit switch active low (pos-LO), neg-HI 2 = pos-HI, neg-LO 3 = pos-LO, neg-LO Has No Limit...
Page 41
3 Product Description Parameter Description and Possible Values Value At Reference Position value at the reference switch (physical unit) Position (Phys. Unit) The current position is set to this value if the axis has done a reference 0x16 move to the reference switch. The parameter value is also used for calculating the position values set after reference moves to the limit switches;...
Page 42
3 Product Description database. 0x07000000 (Range Limit Min) and 0x07000001 (Range Limit Max): − For logical reasons, the values are outside the soft limits specified via 0x15 and 0x30. − Apply both in closed-loop and open-loop operation. − Motion is stopped abruptly once the current position reaches a limit. −...
Page 43
3 Product Description Figure 8: The travel range of the axis is not limited by soft limits. After a reference move of the axis to the reference switch (FRF command), query commands return the following responses: TMN? returns the value 0 ...
3 Product Description Figure 9: The travel range of the axis is limited by soft limits. After a reference move of the axis to the reference switch (FRF command), query commands return the following responses: TMN? returns the value -2.1 ...
Page 45
3 Product Description INFORMATION During startup using PIMikroMove, referencing is done via a reference move by default. INFORMATION To achieve maximum repeatability when referencing, each reference move comprises the following steps: 1. First move to the switch selected. The maximum velocity is specified via parameter 0x49 (Closed-Loop Velocity (Phys.
Page 46
3 Product Description 4. Activate the motor by sending SVO <AxisID> 1, whereby <AxisID> identifies the axis. 5. Send POS? and TSP? consecutively to retrieve the current axis position and the sensor position. The positional values should be about the same. Commands The following commands are available for referencing: Com-...
Page 47
3 Product Description Com- Syntax Function mand TSP {<InputSignalID> <Position>} Sets the current sensor position (does not cause motion). If referencing is done in open-loop operation: TSP can be used to adjust the sensor position to the current axis position. TSP? TSP? [{<InputSignalID>}] Gets the current sensor position.
Page 48
3 Product Description The parameters 0x78 and 0x79 are used for reference moves when the two following conditions are met: The reference move is started with FRF. The Reference Signal Type parameter (0x70) has the value 2. Sequence of the reference move: 1.
Page 49
4 Unpacking Unpacking 1. Unpack the C-663 with care. 2. Compare the contents with the scope of delivery according to the contract and the delivery note. 3. Inspect the contents for signs of damage. If any parts are damaged or missing, contact our customer service department (p.
PC with Windows (8.1, 10; 32 bit, 64 bit) or Linux operating system and at least 30 MB free storage space Data storage medium with software from PI (included in the scope of delivery) Installing the PC software in Windows 1.
USB driver Installing the PC Software in Linux 1. Unpack the tar archive from the /Linux directory on the PI software CD to a directory on your PC. 2. Open a terminal and go to the directory where you unpacked the tar archive.
Page 53
1. Open the website https://www.physikinstrumente.com/en/products/motion-control- software/ (http://www.). 2. Click Login. 3. Log in with the user name and password for the PI software CD. 4. Scroll down to Downloads. 5. Click the archive file "CD Mirror" or the associated download link.
5 Installation 5.1.3 Installing Custom Positioner Databases PI provides a CD with a custom positioner that has the following contents: Program Import PI CustomStage Custom positioner database with the parameter set for the positioner In order for the parameter set to be selected in the PC software, it must first be inserted into the PIStages3 positioner database by the Import PI Custom Stage program.
5 Installation Mounting the C-663 The C-663 can be used as benchtop device or mounted in any orientation on a surface. The C-663 is stackable and can be installed in a control cabinet. Figure 10: C-663, dimensions in mm Tools and accessories Suitable screws ...
5 Installation Mounting the C-663 onto a surface 1. Make the necessary holes in the surface. The arrangement of the recesses in the mounting rails of the C-663 can be found in the figure above. 2. Use two screws on each side to affix the C-663 to the recesses in the mounting rails. Grounding the C-663 The C-663 is not grounded via the power supply connection.
5 Installation If the positioner has a D-sub 15 connector: C-815.AA42 connector adapter for D-sub 15 (f) to HD D-sub 26 (m), included in the scope of delivery (p. 12) If the distance between C-663 and positioner is too long: Motor cable C-815.LSM2, 3 m, ...
5 Installation 5.5.1 Connecting to the RS-232 Interface NOTICE Incorrect wiring! Connecting the USB and RS-232 interfaces of the controller to the PC at the same time can damage the PC or the controller. Connect either the USB or the RS-232 interface to the PC. Requirements ...
5 Installation 5.5.3 Building a Daisy Chain Network INFORMATION Networking in a daisy chain is done in series. See also "Definition of Terms" (p. 2). The first controller is connected directly to the PC. INFORMATION The DIP switches of the C-663 must be set accordingly: ...
5 Installation Connecting the Power Supply to the C-663 INFORMATION If the positioner is equipped with a PWM amplifier that is supplied via a separate power adapter: To achieve the optimum motor performance, use a power adapter for the C-663 that supplies the same output voltage as the power adapter for the PWM amplifier.
Digital output signals are available on pins 5, 6, 7 and 8 of the I/O socket. INFORMATION If the C-170.PB pushbutton box from PI is connected to the I/O socket, it displays via LEDs the state of the digital output lines.
5 Installation Tools and accessories Suitable cable, e. g. C-170.IO IO cable with open end, available as an optional accessory (p. 12) Device to be triggered having digital input for TTL signals Connecting a device to be triggered ...
5 Installation Connecting Analog Signal Sources The analog inputs on the I/O socket of the C-663 can be used as follows: Use in macros (p. 102): Details and examples of macros are found in "Controller Macros" (p. 110). Scanning applications with PIMikroMove (see PIMikroMove manual) ...
6 Startup Startup In this Chapter General Notes on Startup ......................59 Adapting the DIP Switch Settings....................60 Switching the C-663 On ....................... 62 Establishing Communication......................63 Starting Motion ..........................71 Optimizing the Servo Control Parameters ................... 76 Configuration Steps for Advanced Users ..................82 General Notes on Startup NOTICE Damage due to disabled limit switch evaluation!
6 Startup Adapting the DIP Switch Settings 6.2.1 General Procedure INFORMATION Changed DIP switch settings become effective after the C-663 is switched on. If you have changed the DIP switch settings while the C-663 was switched on, switch the C- 663 off and back on again to activate the new settings.
6 Startup 6.2.2 Controller Address Address* *Factory default settings are shown in bold. INFORMATION A unique address must be set for each controller in a daisy chain network. One of the controllers must have the address 1. This controller does not have to be the one directly connected to the PC.
6 Startup 6.2.3 Baud Rate Baud rate* 9600 19200 38400 115200 *Factory default settings are shown in bold. INFORMATION The same baud rate must be set for all controllers in a daisy chain network. Switching the C-663 On INFORMATION After switching on the C-663 the motor is deactivated by default. ...
The required software is installed on the PC (p. 45). You have read and understood the manual for the PC software. The links to the software manuals are in the A000T0081 file on the PI software data storage medium. Establishing communication 1.
6 Startup − If the Start up controller window does not open automatically, select the Connections > New... menu item in the main window. 2. Select C-663 in the controller selection field. 3. Select the RS-232 tab on the right-hand side of the window. 4.
Page 71
The required software and USB drivers are installed on the PC. You have read and understood the manual for the PC software. The links to the software manuals are in the A000T0081 file on the PI software data storage medium. Establishing communication 1.
The USB drivers are installed on the PC (p. 45). You have read and understood the manual for the PC software. The links to the software manuals are in the A000T0081 file on the PI software data storage medium. Establishing communication with PIMikroMove 1.
Page 73
6 Startup 2. Select the appropriate controller type in the field for controller selection. In the example in the following figures, there is a daisy chain network from a C-663.12 with the controller address 1 and a C-867.2U2 with the controller address 2. If you want to connect the C-663.12 first, select C-663.
Page 74
6 Startup 5. Click the Scan button in the bottom section of the tab to list every controller in the daisy chain network. 6. Select a controller from the list. The selection must match the controller type that you selected in step 2. 7.
Page 75
6 Startup In the following figure, the C-867 is to be connected as well. 10. Repeat steps 8, 2, 6 and 7 for every additional controller of the daisy chain network, which you want to connect. If you want to terminate communication with one of the controllers of the daisy chain network: ...
Page 76
6 Startup 3. Select the RS-232 or USB tab in the Connect window according to the interface you used to connect the first controller in the chain to the PC. 4. Make the settings for the interface in the selected tab: −...
6 Startup For further information, see "Target and Sender Address" (p. 132). Starting Motion PIMikroMove is used in the following to move the positioner. The program guides you through the following steps so that you do not have to deal with the respective GCS commands: Configuration of the C-663 for the connected positioner ...
Page 78
The operating mode of the C-663 is set via the parameter Stepper Closed-Loop Operation (0x3101), for details see "Operating Modes" (p. 20). The parameter value for PI positioners is loaded from the positioner database in order to work in the appropriate operating mode: ...
Page 79
You have installed the latest version of the PISTAGES3.DB database onto your PC (p. 45). If PI provided a custom positioner database for your positioner, the dataset was imported into PIStages3 (p. 48). You have installed the positioner in the same way as it will be used in your application (corresponding load, orientation, and mounting).
Page 80
6 Startup c) Confirm the selection with OK. 2. Specify how you want to load the parameter settings into the C-663 in the Save all changes permanently? dialog box: − Temporary load: Click Keep the changes temporarily to load the parameter settings into the volatile memory of the C-663.
Page 81
6 Startup − Activate the motor by clicking the Switch on servo button. The axis does the reference move. 4. After a successful reference move, close the Start up controller window by clicking Close. The main window of PIMikroMove opens. 5.
(corresponding load, orientation, and fixing). The C-663 is set for closed-loop operation. Closed-loop operation is automatically set for PI positioners after selecting the positioner type, see "Starting Motion" (p. 71). For details on setting manually, see "Setting the Operating Mode" (p. 82).
Page 83
6 Startup Checking the servo control parameters: Record the step response With the recording of the step response, you determine the settling behavior of the positioner in closed-loop operation. 1. Open the Data Recorder window in the main window of PIMikroMove via the C-663 > Show data recorder menu item.
Page 84
6 Startup d) Click the Configure… button and make sure that "Commanded Position of Axis" and "Actual Position of Axis" are selected in the Configure Data Recorder window as the variables to be recorded. Close the window with OK. 4. Start the jump in the positive direction as well as the recording by clicking the button in the Data Recorder window.
Page 85
6 Startup Examples for step responses: Figure 12: Step-and-settle too slow Figure 13: Oscillation C-663 Mercury Step stepper motor controller MS241E Version: 1.4.0...
Page 86
6 Startup Figure 14: Strong overshooting Figure 15: Optimal settling behavior (commanded and actual position congruent) If the result is satisfactory (i.e., minimum overshoot, settling time not too long): − You already have optimum parameter settings and do not have to do anything further.
Page 87
6 Startup 2. Enter new values for the parameters to be adapted: a) If the parameters to be changed are not included in the list on the right-hand of the window, click Configure View -> Select parameters... and add them to the list. b) Type the new parameter value into the corresponding input field in the Active Value column of the list.
The operating mode is set with the parameter Stepper Closed-Loop Operation (0x3101). INFORMATION The value of the Stepper Closed-Loop Operation parameter for PI positioners is loaded from the positioner database, see "Starting Motion" (p. 71). An adjustment of the loaded parameter value is not necessary.
INFORMATION For PI positioners equipped with a sensor, the reference move is done in closed-loop operation. Adjustment of the position is not necessary after a reference move in closed-loop operation.
Page 90
6 Startup Open-loop operation with sensor: Position adjustment 1. If you use PIMikroMove, open the window for sending commands: a) When the Start up controller window is open, close it by clicking Close or Cancel to go to the main window. b) Select the Tools >...
7 Operation Operation In this Chapter Protective Functions of the C-663 ....................85 Data Recorder ..........................87 Digital Output Signals........................89 Digital Input Signals........................96 Analog Input Signals ........................101 Joystick Control .......................... 102 Controller Macros ........................110 Protective Functions of the C-663 7.1.1 Behavior During System Errors There is a system error when C-663 is not responsive.
7 Operation INFORMATION With the CTO (p. 149) and TRO (p. 211) commands, you can program the digital output lines of the C-663 so that they are activated in the case of motion errors. The programmed output lines remain activated until the error code is reset to 0. Refer to "Configuring the "Motion Error"...
7 Operation 3. If the motor has been deactivated after an error: − Activate the motor for the axis with the SVO command. When the motor is activated, the target position is set to the current axis position and the brake is deactivated if applicable. Now the axis can move again and you can command a new target position.
7 Operation Configuring the recording trigger You can specify how the recording is to be triggered. Get the current trigger option with DRT? (p. 163) Change the trigger option with the DRT command (p. 162). The trigger option applies to all data recorder tables whose record option is not set to 0.
7 Operation Digital Output Signals The digital outputs of the C-663 are available at the I/O socket (p. 281). Get the number of the output lines available on the C-663 with the TIO? command (p. 209). External devices can be triggered via the digital outputs of the C-663. Potential applications: Linking the trigger output to the motion of the axis.
7 Operation <Value> Trigger mode Short description On Target The on-target state of the axis selected is output at the selected trigger output (p. 92). Motion Error The selected digital output line becomes active when a motion error occurs (p. 93). The line stays active until the error code is reset to 0 (by an ERR? query).
Page 97
7 Operation Example: A pulse on digital output line 1 is output every time the axis 1 of the positioner has covered a distance of 0.1 µm. Send: CTO 1 2 1 CTO 1 3 0 CTO 1 1 0.0001 TRO 1 1 "Position Distance"...
7 Operation CTO 1 8 0.0002 CTO 1 9 0.00055 TRO 1 1 "Position Distance" trigger mode with start and stop values for negative motion direction of the axis The above example is presented with interchanged start and stop values in the following. Triggering occurs in negative motion direction of the axis (stop value <...
7 Operation 7.3.4 Configuring the "Motion Error" Trigger Mode The Motion Error trigger mode is suitable for monitoring motion. The selected digital output line becomes active when a motion error occurs on one of the connected axes. The line stays active until the error code is reset to 0 (by an ERR? query).
7 Operation 7.3.6 Configuring the "Position + Offset" Trigger Mode The Position+Offset trigger mode is suitable for scanning applications. The first trigger pulse is output when the axis has reached a specified position (TriggerPosition). The next trigger pulses are output respectively when the axis position equals the sum of the last valid trigger position and a specified distance (TriggerStep).
7 Operation 1 µm in the negative direction. The last trigger pulse is to be output if the absolute axis position is 0.1 mm. Send: CTO 2 2 B CTO 2 3 7 CTO 2 1 -0.001 CTO 2 10 0.4 CTO 2 9 0.1 INFORMATION The velocity setting of the axis must be appropriate for the distance setting (TriggerStep)
7 Operation 7.3.8 Setting Signal Polarity The polarity of the signal at the digital output which is used for triggering can be selected with the Polarity CTO parameter. The polarity can have the following values: active high = 1 (default setting) ...
7 Operation 7.4.1 Commands and Parameters for Digital Inputs Commands The following commands are available for the use of digital inputs: Command Syntax Function CPY <Variable> Copies the state of a digital input line to a variable when <CMD?> used in conjunction with the DIO? query command. Use in macros to set local variables (p.
Page 104
7 Operation Parameters The following parameters are available for the configuration of digital inputs: Parameters Description and Possible Values Source Of Reference Specifies the source of the reference signal for the FRF and FED Signal commands: 0x5C 0 = reference switch 1 = Digital input 1 2 = Digital input 2 3 = Digital input 3...
Further information and examples can be found in "Controller Macros" (p. 110). INFORMATION You can connect the C-170.PB pushbutton box from PI to the I/O socket (p. 281) to generate the digital input signals for use in macros. It also displays the state of the digital output lines via LEDs.
Page 106
7 Operation Using digital inputs as source of the limit switch signals INFORMATION Several digital inputs can be selected as the source for a limit switch signal. If a limit switch signal is used for reference moves, only one digital input line may be selected as the source of the limit switch signal.
7 Operation Analog Input Signals The analog inputs of the C-663 are available on the I/O socket (p. 281). Get the number of the analog input lines available on the C-663 with the TAC? command (p. 208). Query the voltage on the analog inputs with the TAV? command (p. 209). ...
7 Operation Command Syntax Function WAC <CMD?> <OP> Can only be used in macros. Waits until an analog input line <Value> reaches a certain voltage when used in conjunction with the TAV? query command. 7.5.2 Using Analog Input Signals in Macros The analog inputs on the I/O socket can be used in macros as follows: Conditional running of the macro ...
7 Operation 7.6.2 Commands and Parameters for Joystick Control Commands The following commands are available for the use of the joystick: Command Syntax Function JON {<JoystickID> Activates or deactivates a joystick connected <uint>} to the controller. JON? JON? [{<JoystickID>}] Gets the activation state of the joystick. JAX <JoystickID>...
7 Operation 7.6.3 Controlling Axis Motion PIMikroMove is used in the following to activate joystick control for the positioner. It is not necessary to know the corresponding GCS commands. NOTICE Unintentional motion while activating the joystick! If no joystick is connected to the C-663, activating the joystick in the software can cause unintentional motion of the axis connected.
7 Operation c) Click OK in the Select controller axis window to confirm selection and close the window. 3. Activate the joystick in the Configure Controller Joystick window by checking the respective Enable checkbox. If joystick control does not operate satisfactorily or the positioner moves even though you are not moving the joystick: −...
Page 112
7 Operation INFORMATION The number of write cycles in the nonvolatile memory is restricted by the limited lifetime of the memory chip (EEPROM). Calibrate the joystick axes in PIMikroMove only if it is necessary. Contact our customer service department (p. 273) if the C-663 shows unexpected behavior.
Page 113
7 Operation Calibrating the joystick axis in PIMikroMove 1. Open the Joystick Calibration window in the main window of PIMikroMove via the C- 663 > Calibrate controller joystick… menu item. 2. Select the calibration method by clicking on the appropriate button: −...
7 Operation 7.6.5 Joysticks Available PI provides the joysticks described in the following as optional accessories (p. 12). Analog C-819.20 joystick, 2 axes Figure 16: C-819.20 joystick Pushbutton for the X axis Pushbutton for the Y axis Adjustment indicator Rotary knob for adjustment of the Y axis (calibration)
Page 115
7 Operation C-819.30 analog joystick, 3 axes Figure 17: C-819.30 joystick Cable for the Z axis Cable for the Y axis Cable for the X axis Adjustment indicator Pushbutton for the Y axis Rotary knob for adjustment of the Y axis (calibration) XY control lever with rotary knob for Z axis X axis lock Rotary knob for adjustment of the X axis (calibration)
7 Operation Figure 18: C-819.30 joystick, rotary knob for the Z axis Controller Macros 7.7.1 Overview: Macro Functionality and Example Macros The C-663 can save and process command sequences as macros. The following functionalities make macros an important tool in many application areas: Several macros can be saved at the same time.
7 Operation 7.7.2 Commands and Parameters for Macros Commands The following commands are available specifically for handling macros or for use in macros: Command Syntax Function ADD (p. ADD <Variable> <FLOAT1> Adds two values and saves the result to a variable <FLOAT2>...
7 Operation Command Syntax Function VAR? (p. VAR? [{<Variable>}] Gets variable values. 216) WAC (p. WAC <CMD?> <OP> <Value> Can only be used in macros. Waits until a condition is met. 218) #8 (p. Tests if a macro is running on the controller. 140) Parameters The following parameter is available for working with macros:...
Page 119
7 Operation INFORMATION Basically all GCS commands (p. 129) can be included in a macro. Exceptions: RBT for rebooting the C-663 MAC BEG and MAC END for macro recording MAC DEL for deleting a macro Query commands can be used in macros in conjunction with the CPY, JRC, MEX, and WAC commands.
Page 120
7 Operation 1. Start the macro recording. − If you are working with PITerminal or in the Command entry window of PIMikroMove: Send the MAC BEG macroname command, where macro name indicates the name of the macro. − If you are working in PIMikroMove on the Controller macros tab: Click the Create new empty macro icon to create a tab for entering a new macro.
Page 121
7 Operation WAC ONT? 1 = 1 MAC END MAC BEG macro2 MVR 1 -12.5 WAC ONT? 1 = 1 MAC END MAC BEG macro3 MAC START macro1 MAC START macro2 MAC END Example: Recording macro for controller whose address is different to 1 INFORMATION When macros are recorded on the Controller macros tab in PIMikroMove, the MAC BEG and MAC END commands must be left out.
Page 122
7 Operation The first line of the response contains the target and sender address corresponding to the GCS syntax for multiline responses. However, the target address is not included in the macro. Starting a macro INFORMATION Any commands can be sent from the command line when a macro is running on the controller. The macro content and motion commands received from the command line can overwrite each other.
Page 123
7 Operation − Query whether a macro is running on the controller by sending the #8 command. − Query the name of the macro that is currently running on the controller by sending the RMC? command. Example: Moving an axis with a variable travel distance back and forth INFORMATION When macros are recorded on the Controller macros tab in PIMikroMove, the MAC BEG and MAC END commands must be left out.
Page 124
7 Operation MAC NSTART movlr 5 The MOVLR macro is executed five times in succession, i.e., axis 1 alternately moves to the positions 5 and 15 five times. You can also select any other value for the number of executions. Example: Implementing multiple calls of a macro via a loop INFORMATION When macros are recorded on the Controller macros tab in PIMikroMove, the MAC BEG and...
Page 125
7 Operation Configuring a startup macro Any macro can be defined as the startup macro. The startup macro is executed each time the C- 663 is switched on or rebooted. INFORMATION Deleting a macro does not delete its selection as a startup macro. In the following, PITerminal or the Command entry window of PIMikroMove is used to enter commands.
7 Operation INFORMATION When this macro is used, the C-663's parameter settings should be adapted to the connected positioner in the nonvolatile memory. Alternatively, the parameter settings can also be configured in the volatile memory via the startup macro. For further information, see "Adapting Settings"...
7 Operation a) Click the button to open a directory selection window. b) Select the directory on the PC where you want to save the macros. c) Click Save. The macros are saved as text files (<macro name>.txt) to the directory selected on the Loading controller macros from the PC to the C-663 with PIMikroMove 1.
Macro Example: Stopping Motion by Pushbutton INFORMATION You can connect the C-170.PB pushbutton box from PI to the I/O socket to generate the digital input signals for use in macros. It also displays the state of the digital output lines via LEDs.
7 Operation Action Command Result Connect digital input The digital input signal can be used for a conditional line 1 on the I/O socket jump of the macro execution pointer, for example. Pin assignment see "I/O" to a suitable signal (p.
Page 130
Command Result Connect C-170.PB Digital input lines 1 to 4 are switched to pushbutton box from PI high state as long as the respective to the I/O socket. button is pressed. The states of digital output lines 1 to 4 are indicated by the LEDs which are integrated in the buttons.
Page 131
7 Operation Action Command Result MAC BEG mainloop Record the MAINLOOP The macro has the following tasks: macro on the MAC START TESTJOYB Start TESTJOYB macro for joystick controller. VAR COUNTER 1 control MAC START TESTDION Start TESTDION macro successively ${COUNTER} for all digital inputs (i.e., every ADD COUNTER ${COUNTER} 1...
Page 132
7 Operation Action Command Result DEL 300 Wait 300 ms JRC 3 DIO? $1 = 1 If the button is still pressed, jump 3 lines forward (to DEL 400) MAC START MVAX2ST $1 Start the MVAX2ST macro because the button was only briefly pressed.
7 Operation Action Command Result MAC START startup Start the STARTUP Joystick control is activated by pressing macro on the the joystick button. When joystick controller. control is activated, the pushbutton box LEDs flash rapidly and therefore indicate Alternative: that the box buttons should not be If the variables for pressed.
Page 134
7 Operation Action Command Result macro on the JON 1 1 Activate joystick 1 controller. JRC 3 JBS? 1 1 = 1 If joystick button 1 is pressed, jump 3 lines forward (to VEL 1 1). VEL 1 0.5 ...
8 GCS Commands GCS Commands In this Chapter Notation ............................. 129 GCS Syntax for Syntax Version 2.0 ..................... 129 Target and Sender Address ......................132 Variables ............................ 132 Command Overview ........................134 Command Descriptions for GCS 2.0 ................... 138 Error Codes ..........................220 Notation The following notation is used to define the GCS syntax and to describe the commands: <...>...
Page 136
8 GCS Commands CMD ::= character1 character2 character3 [?] Exceptions: Single-character commands, e.g., fast query commands, consist only of one ASCII character. The ASCII character is written as combination of # and the character code in decimal format, e.g., as #24. *IDN? (for GPIB compatibility).
Page 137
8 GCS Commands POS?LF Send: The response syntax is as follows: [<Argument>[{SP<Argument>}]"="]<Value>LF With multi-line replies, the space preceding the termination character is left out of the last line: {[<Argument>[{SP<Argument>}]"="]<Value>SPLF} [<Argument>[{SP<Argument>}]"="]<Value>LF for the last line! The arguments are listed in the response in the same order as in the query command. Query command: CMD?SP<Arg3>SP<Arg1>SP<Arg2>LF Response to this command:...
2 *IDN? Send: The response in either case is: 0 2 (c)2011 Physik Instrumente(PI) Karlsruhe, C-863.11,0,1.2.0.0 Exception: The target address can be omitted if the target controller has the address 1, even if this controller is part of a daisy chain. If the target address is not specified when addressing a controller, the target and sender addresses will also not be specified in the response from the controller.
Page 139
8 GCS Commands Variables are present in volatile memory (RAM) only. The variable values are of the STRING data type. The following conventions apply to variable names: Variable names may not contain special characters (especially not “$”). The maximum number of characters is 8. ...
8 GCS Commands The queries can be sent inside or outside of the macro. Global variables: Global variables can be used inside and outside of macros. The maximum number of global variables is 10. Global variables are created and modified using ADD, CPY or VAR. They can be deleted ...
Page 141
8 GCS Commands Com- Arguments Description mand {<AxisID> <Deceleration>} Set Closed-Loop Deceleration (p. 153) DEC? [{<AxisID>}] Get Closed-Loop Deceleration (p. 154) <uint> Delay The Command Interpreter (p. 154) [{<AxisID>}] Define Home Position (p. 155) DFH? [{<AxisID>}] Get Home Position Definition (p. 156) {<DIOID>...
Page 142
8 GCS Commands Com- Arguments Description mand JAX? [{<JoystickID> <JoystickAxis>}] Get Axis Controlled By Joystick (p. 176) JBS? [{<JoystickID> <JoystickButton>}] Query Joystick Button Status (p. 177) {<JoystickID> <JoystickAxis> <uint>} Set Joystick Default Lookup Table (p. 177) [<JoystickID> <JoystickAxis> <Addr> Fill Joystick Lookup Table (p. 178) <floatn>...
Page 143
8 GCS Commands Com- Arguments Description mand RMC? List Running Macros (p. 195) {<AxisID> <ReferenceOn>} Set Reference Mode (p. 196) RON? [{<AxisID>}] Get Reference Mode (p. 196) [{<ItemID> <PamID>}] Reset Volatile Memory Parameters (p. 197) <RecordTableRate> Set Record Table Rate (p. 198) RTR? Get Record Table Rate (p.
8 GCS Commands Com- Arguments Description mand TRO? [{<TrigOutID>}] Get Trigger Output State (p. 212) TRS? [{<AxisID>}] Indicate Reference Switch (p. 213) {<InputSignalID> <Position>} Set Input Signal Position Value (p. 213) TSP? [{<InputSignalID>}] Get Input Signal Position Value (p. 214) TVI? Tell Valid Character Set For Axis Identifiers (p.
Page 145
8 GCS Commands 11 10 9 Descript- On-target Motor Error state referencing motion flag Descript- Digital Digital Digital Digital Positiv Ref- Nega- erence tive limit switch limit line 4 line 3 line 2 line 1 switch switch Example: Send: #4 0x9005 Receive: Note: The response is in hexadecimal format.
Page 146
8 GCS Commands #7 (Request Controller Ready Status) Description: Asks controller for ready status (tests if controller is ready to run a new command). Note: Use #5 (p. 139) instead of #7 to verify if motion has ended. Format: Arguments: None Response: B1h (ASCII character 177 = "±"...
Page 147
Single-line text terminated with a termination character (line feed) with controller name, serial number, and firmware version Notes: For C-663, *IDN? responds something like: (c)2020 Physik Instrumente(PI) GmbH & Co. KG, C-663.12,116026229,1.2.0.0 ACC (Set Closed-Loop Acceleration) Description: Sets acceleration of specified axes.
Page 148
8 GCS Commands Troubleshooting: Illegal axis identifier Notes: The lowest possible value for <Acceleration> is 0. ACC changes the value of the parameter Closed-Loop Acceleration (Phys. Unit/s ) (0xB) in the volatile memory of the C-663. The parameter value can be stored as default with WPA (p.
Page 149
8 GCS Commands Arguments: <Variable> is the name of the variable to which the result is to be saved. <FLOAT1> is the first summand. <FLOAT2> is the second summand. Floating point numbers are expected for the summands. They can be specified directly or via the value of a variable. Response: None Notes:...
Page 150
8 GCS Commands with LEDs that are connected to the digital output lines of the controller. $1 and $2 are values of local variables and must be specified as arguments of MAC START or MAC NSTART command when starting the macros (see below). DIO 0 <bitmask>: Sets the output channels according to <bitmask>.
Page 151
8 GCS Commands BRA (Set Brake Activation State) Description: Activates/deactivates brake for specified axes. Format: BRA {<AxisID> <BrakeState>} Arguments: <AxisID> is one axis of the controller <BrakeState> can have the following values: 0 = Brake deactivated 1 = Brake activated Response: None Troubleshooting:...
Page 152
(commands and parameters from level 0 are included). The password required is "advanced". Level > 1 is provided for PI service personnel only. Users cannot change to a level > 1. Contact the customer service department if you have problems with parameters for command level 2 or higher (p.
Page 153
8 GCS Commands to them. For further information on using parameters, see "Adapting Settings" (p. 245). After controller switch-on or reboot, the active command level is always level 0. CCL? (Get Command Level) Description: Get the active "command level". Format: CCL? Arguments: none...
Page 154
8 GCS Commands Example 1: Using the following macro, it is possible to connect through the digital input and output lines of the controller. 1 is a local variable whose value must be specified as argument of the MAC START or MAC NSTART command when starting the macro.
Page 155
8 GCS Commands Format: CSV? Arguments: None Response: The current GCS syntax version Notes: 1.0 (for GCS 1.0) or 2.0 (for GCS 2.0) are possible responses. CTO (Set Configuration Of Trigger Output) Description: Configures the trigger output conditions for the specified digital output line.
Page 156
8 GCS Commands Output <TrigOutID> corresponds to digital output lines 1 to 4, IDs = lines and trigger 1 to 4; see "I/O" (p. 281). conditions available: <CTOPam> parameter IDs available for C-663: 1 = TriggerStep 2 = Axis 3 = TriggerMode 7 = Polarity 8 = StartThreshold 9 = StopThreshold...
Page 157
8 GCS Commands 7 = Position+Offset; the first trigger pulse is written when the axis has reached the position specified by TriggerPosition (<CTOPam> ID 10). The next trigger pulses are written each time the axis position equals the sum of the last valid trigger position and the distance specified by TriggerStep (<CTOPam>...
Page 158
8 GCS Commands Example 2: In this example, digital output line 1 is to be set from low to high when axis A starts to move. The following parameters must be set: TrigOutID = 1 Axis = A (axis identifier was changed with SAI) TriggerMode = 6 Polarity = Active High So you have to send:...
Page 160
8 GCS Commands Arguments: <AxisID> is one axis of the controller. <Deceleration> is the deceleration value in physical units/s Response: None Troubleshooting: Illegal axis identifier Notes: The lowest possible value for <Deceleration> is 0. DEC changes the value of the parameter Closed Loop Deceleration (Phys.
Page 161
8 GCS Commands Arguments: <uint> is the delay value in milliseconds. Response: None Notes: DEL can only be used in macros. Do not mistake MAC DEL (deletes macros) for DEL (delays). Further information can be found in the description of the MAC command (p.
Page 162
8 GCS Commands Example: Send: MOV 1 9.87 Send: POS? 1 Receive: 1=9.8700005 Send: DFH? 1 Receive: 1=0.0000000 Send: TMN? 1 Receive: 1=0.0000000 Send: TMX? 1 Receive: 1=14.9999982 Note: Axis 1 is moved to absolute position 9.87 mm. Finally, the current axis position (with POS?), the current offset value (with DFH?), and the minimum and maximum commandable position (with TMN? and TMX?) are queried.
Page 163
8 GCS Commands Response: {<AxisID>"="<PositionOffset> LF} where <PositionOffset> is the axis position that was valid at the time the last DFH command was processed. This position value is used internally as offset for the calculation of the current axis position. Troubleshooting: Illegal axis identifier Notes:...
Page 164
8 GCS Commands DIO? (Get Digital Input Lines) Description: Gets the states of the specified digital input lines. Use TIO? (p. 209) to get the number of available digital I/O lines. Format: DIO? [{<DIOID>}] Arguments: <DIOID> is the identifier of the digital input line, see below for details.
Page 165
8 GCS Commands Refer to the following list of available record options and the corresponding data sources for details. Response: none Notes: The C-663 has 4 data recorder tables with 1024 points per table. With HDR? (p. 170), you will obtain a list of all available record and trigger options and additional information on the data recording.
Page 166
8 GCS Commands DRC? (Get Data Recorder Configuration) Description: Queries the settings for the data to be recorded. Format: DRC? [{<RecTableID>}] Arguments: <RecTableID>: is a data recorder table of the controller; if this entry is not specified, the response will contain the settings for all tables.
Page 167
8 GCS Commands DRR? (Get Recorded Data Values) Description: Gets the last recorded data. Reading can take some time depending on the number of points to be read! It is possible to read the data while recording is still in progress.
Page 169
8 GCS Commands Irrespective of the trigger option set, data recording is always triggered when step response measuring is done with STE (p. 206). With HDR? (p. 170), you will obtain a list of all available record and trigger options and additional information on the data recording.
Page 170
8 GCS Commands Notes: Because all data record tables of the C-663 have the same trigger source, the DRT? response is specified as a single line of the form 0=<TriggerSource> <Value> ERR? (Get Error Number) Description: Get error code <int> of the last occurred error and reset the error to 0.
Page 171
8 GCS Commands FED (Find Edge) Description: Moves the specified axis to a specified signal edge. FED does not set a certain position value at the selected edge (in contrast to the FNL (p. 166), FPL (p. 167), and FRF (p.
Page 172
8 GCS Commands switch (parameter ID 0x2F). Refer to "Travel Range and Soft Limits" (p. 34) for further information. Motion can be stopped by #24 (p. 140), STP (p. 206), and HLT (p. 172). Motion commands such as FED are not permitted when the joystick is active for the axis.
Page 173
8 GCS Commands You can use a digital input instead of the negative limit switch as source of the negative limit switch signal for FNL. Refer to "Digital Input Signals" (p. 96) for further information. The motion can be stopped by #24 (p. 140), STP (p. 206) and HLT (p.
Page 174
8 GCS Commands limit switch. You can use a digital input instead of the positive limit switch as source of the positive limit switch signal for FPL. For further information, see "Digital Input Signals" (p. 96). Motion can be stopped by #24 (p. 140), STP (p. 206) and HLT (p.
Page 175
8 GCS Commands The value of the parameter 0x16 is set as the current position when the axis is at the reference switch. You can use a digital input instead of the reference switch as source of the reference signal for the FRF command. For further information, see "Digital Input Signals"...
Page 176
8 GCS Commands GOH (Go To Home Position) Description: Moves the specified axis to the zero position. GOH [{<AxisID>}] is the same as MOV {<AxisID> 0} The motion can be stopped by #24 (p. 140), STP (p. 206), and HLT (p. 172). Format: GOH [{<AxisID>}] Arguments:...
Page 177
8 GCS Commands Example: For the C-663, the response to HDR? reads as follows: #RecordOptions 0=Nothing is recorded 1=Commanded Position of Axis 2=Actual Position of Axis 3=Position Error of Axis 70=Commanded Velocity of Axis 71=Commanded Acceleration of Axis 73=Motor Output of Axis 74=Kp of Axis 75=Ki of Axis 76=Kd of Axis...
Page 178
8 GCS Commands HLT (Halt Motion Smoothly) Description: Stops the motion of specified axes smoothly. See the notes below for further details. Error code 10 is set. #24 (p. 140) and STP (p. 206) in contrast abort current motion as fast as possible for the controller without taking care of maximum velocity and acceleration.
Page 179
8 GCS Commands <string> is a string which describes the corresponding parameter. The string has the following format: <CmdLevel>TAB<MaxItem>TAB<DataType>TAB<FunctionG roupDescription>TAB<ParameterDescription>[{TAB<Possib leValue>"="<ValueDescription>}] where <CmdLevel> is the command level that allows write access to the parameter value. <MaxItem> is the maximum number of items of the same type which are affected by the parameter.
Page 180
8 GCS Commands HPV? (Get Parameter Value Description) Description: Responds with a help string that contains possible parameter values. Use HPA? instead to get a help string which contains all available parameters with short descriptions. Format: HPV? Arguments: None Response: <string>...
Page 181
8 GCS Commands Notes: For C-663, the specifications #Possible parameter values are: #CCL levels are: are left out of the response to HPV?, because all required information is already in the response to HPA? JAS? (Query Joystick Axis Status) Description: Queries the current status of the specified axis of the specified joystick connected to the controller.
Page 182
8 GCS Commands JAX (Set Axis Controlled By Joystick) Description: Sets axis controlled by a joystick which is connected to the controller. Each axis of the controller can only be controlled by one joystick axis. Format: JAX <JoystickID> <JoystickAxis> <AxisID> Arguments: <JoystickID>...
Page 183
8 GCS Commands JBS? (Query Joystick Button Status) Description: Queries the current status of the specified button of the specified joystick connected to the controller. Format: JBS? [{<JoystickID> <JoystickButton>}] Arguments: <JoystickID> is one joystick connected to the controller; see below for details. <JoystickButton>...
Page 184
8 GCS Commands Notes: A joystick can be connected to the Joystick socket of the C- 663, the identifier is 1. The C-663 supports one axis of the joystick, the identifier of the joystick axis is 1. Refer also to "Commandable Elements"...
Page 185
8 GCS Commands Response: none Notes: A joystick can be connected to the Joystick socket of the C- 663, the identifier is 1. The C-663 supports one axis of the joystick, the identifier of the joystick axis is 1. Refer also to "Commandable Elements"...
Page 186
8 GCS Commands <JoystickAxis> is one of the axes of the joystick; see below for details. Response: The lookup table content in GCS array format, see the separate manual for GCS array, SM 146E, and the example below. Notes: With the C-663, <JoystickID> and <JoystickAxis> must be left out in the JLT? command, but <StartPoint>...
Page 187
8 GCS Commands JON (Set Joystick Activation Status) Description: Activates or deactivates a joystick connected to the controller. Format: JON {<JoystickID> <uint>} Arguments: <JoystickID> is one joystick connected to the controller; see below for details. <uint> 1 activates the joystick, 0 deactivates the joystick. Response: none Notes:...
Page 188
8 GCS Commands Response: {<JoystickID>"="<uint>} where <uint> is the joystick activation state: 1 = joystick activated, 0 = joystick deactivated. Notes: A joystick can be connected to the Joystick socket of the C- 663, the identifier is 1. For more information, see "Connecting an Analog Joystick"...
Page 189
8 GCS Commands to the POS? query is copied into the TARGET variable. This variable is then used as second argument for the MOV command. Therefore, the positioner just stays where it was. To clean up, TARGET is defined as empty with the VAR command which deletes the variable.
Page 190
8 GCS Commands MAC (Call Macro Function) Description: Calls a macro function. Permits recording, deleting, and running macros on the controller. Format: MAC <keyword> {<parameter>} in particular: MAC BEG <macro name> MAC DEF <macro name> MAC DEF? MAC DEL <macro name> MAC END MAC ERR? MAC NSTART <macro name>...
Page 191
8 GCS Commands MAC DEL <macro name> Deletes specified macro. MAC NSTART <macro name> <uint> [<String1> [<String2>]] Repeats the specified macro <uint> times. The macro is re- run each time. <String1> and <String2> are optional arguments which specify the values for local variables 1 and 2 used in the specified macro.
Page 192
8 GCS Commands 0 = Macro running is aborted (default). 1 = The error is ignored and the macro continues to run . MAC ERR? always reports the last error that occurred while the a macro was running irrespective of the parameter setting.
Page 193
8 GCS Commands If <macro name> was not specified, <string> is a list with the names of all stored macros Troubleshooting: Macro <macro name> not found MAN? (Get Help String For Command) Description: Shows a detailed help text for individual commands. Format: MAN? <CMD>...
Page 194
8 GCS Commands <Value> <Description> 0 ActiveLow 1 ActiveHigh end of help MAT (Calculate And Save To Variable) Description: Carries out a mathematical operation or bit operation and saves the result as a variable (p. 132). The variable is in volatile memory (RAM) only. Format: MAT <Variable>...
Page 195
8 GCS Commands format. The result is always output in decimal format. Send: MAT INVERT = 0x45 XOR 0xFF Example 3: Send: VAR? INVERT Receive: INVERT=186 NOTICE: The bit operation XOR with the value 0xFF corresponds to an inversion of the value 0x45. The result is output in decimal format.
Page 196
8 GCS Commands Example: Send: MAC START LOOP Note: LOOP macro contains the following: MAC START KEY1 MAC START KEY2 MEX DIO? 4 = 1 MAC START LOOP KEY1 macro contains the following: MEX DIO? 4 = 1 MEX DIO? 1 = 0 MVR 1 1.0 DEL 100 KEY2 macro contains the following:...
Page 197
8 GCS Commands MOV (Set Target Position) Description: Sets an absolute target position for the specified axis. Format: MOV {<AxisID> <Position>} Arguments: <AxisID> is one axis of the controller. <Position> is the absolute target position in physical units. Response: none Notes: The target position must be within the soft limits.
Page 198
8 GCS Commands Response: {<AxisID>"="<float> LF} where <float> is the last commanded target position in physical units Troubleshooting: Illegal axis identifier Notes: The target position can be changed by commands that cause motion (e.g., MOV (p. 191), MVR (p. 192), GOH (p. 170), STE (p.
Page 199
8 GCS Commands Example: Send: MOV 1 0.5 Note: This is an absolute motion. Send: POS? 1 Receive: 1=0.500000 Send: MOV? 1 Receive: 1=0.500000 Send: MVR 1 2 Note: This is a relative motion. Send: POS? 1 Receive: 1=2.500000 Send: MVR 1 2000 Note: New target position of axis 1 would exceed motion range.
Page 200
8 GCS Commands POS (Set Real Position) Description: Sets the current position of the axis (does not cause motion). Format: POS {<AxisID> <Position>} Arguments: <AxisID> is one axis of the controller. <Position> is the new current position in physical units. Response: None Troubleshooting:...
Page 201
8 GCS Commands Response: {<AxisID>"="<float> LF} where <float> is the current axis position in physical units. Troubleshooting: Illegal axis identifier Notes: The content of the response to POS? depends on the current operating mode (p. 20) of the C-663: Closed-loop operation: The response to POS? is based on the position measured by the sensor.
Page 202
8 GCS Commands Response: {<macro name> LF} where <macro name> is the name of one macro which is saved on the controller and currently running. The response is an empty line when no macro is running. RON (Set Reference Mode) Description: Selects the referencing method for the specified axes Format:...
Page 203
8 GCS Commands Response: {<AxisID>"="<ReferenceOn> LF} where <ReferenceOn> is the currently selected referencing method for the axis Troubleshooting: Illegal axis identifier Note: Further information can be found in the description of the RON command (p. 196). RPA (Reset Volatile Memory Parameters) Description: Resets the specified parameter of the specified element.
Page 204
8 GCS Commands Available element An element is an axis (the identifier can be changed with IDs and SAI (p. 199)) or the entire system. Refer to "Commandable parameter IDs: Elements" (p. 18) for further information. Valid parameter IDs are specified in "Parameter Overview" (p.
Page 205
8 GCS Commands Format: RTR? Arguments: None Response: <RecordTableRate> is the table rate used for recording operations (unit: number of cycles). SAI (Set Current Axis Identifiers) Description: Sets the axis identifiers for the specified axes. After it was set with SAI, the new axis identifier must be used as <AxisID>...
Page 206
8 GCS Commands SEP (Set Non-Volatile Memory Parameters) Description: Sets a parameter of a specified element to a different value in nonvolatile memory, where it becomes the new default. After parameters were set with SEP, you can use RPA (p. 197) to activate them (write them to volatile memory) without controller reboot.
Page 207
8 GCS Commands command. Available item An element is an axis (the identifier can be changed with IDs and SAI (p. 199)) or the entire system. Refer to "Commandable parameter IDs: Elements" (p. 18) for further information. Valid parameter IDs are specified in "Parameter Overview" (p.
Page 208
8 GCS Commands SPA (Set Volatile Memory Parameters) Description: Sets a parameter of the specified element in the volatile memory (RAM) to a specific value. Parameter changes are lost when the controller is switched off or rebooted. Format: SPA {<ItemID> <PamID> <PamValue>} Arguments: <ItemID>...
Page 209
8 GCS Commands Example 1: Send: SPA 1 0x3111 100 Note: Sets the P term 1 of the servo algorithm for axis 1 to 100, the parameter ID is written in hexadecimal format Send: SPA 1 12561 150 Note: Sets the P term 1 of the servo algorithm for axis 1 to 150, the parameter ID is written in decimal format Example 2: The P, I and D parameters of the servo algorithm must be...
Page 210
8 GCS Commands Note: Check the parameter settings in volatile memory. SPA? (Get Volatile Memory Parameters) Description: Queries the value of a parameter of a specified element from volatile memory (RAM). You can obtain a list of the available parameters with HPA? (p.
Page 211
8 GCS Commands Response: {<ItemID><RegisterID>"="<Value> LF} where <Value> is the value of the register; see below for more details. Note: This command is identical in function to #4 (p. 138) which should be preferred when the controller is doing time- consuming tasks.
Page 212
8 GCS Commands STE (Start Step And Response Measurement) Description: Starts a step and records the step response for the specified axis. The data recorder configuration, i.e., the assignment of data sources and record options to the recorder tables, can be set with DRC (p.
Page 213
8 GCS Commands Notes: STP stops all motion caused by motion commands (e.g., MOV (p. 191), MVR (p. 192), GOH (p. 170), STE (p. 206)), commands for referencing (FNL (p. 166), FPL (p. 167), FRF (p. 168)), and macros (MAC (p. 184)). Also stops macro running.
Page 214
8 GCS Commands Activating the motor deactivates the brake. Deactivating the motor activates the brake. If the motor is deactivated, the brake can be activated or deactivated with BRA (p. 145). Secure the positioner against moving unintentionally before you deactivate the brake before you deactivate the brake with BRA! If motion error occurs the motor is deactivated and the brake is activated.
Page 215
8 GCS Commands TAV? (Get Analog Input Voltage) Description: Get voltage at analog input. Format: TAV? [{<AnalogInputID>}] Arguments: <AnalogInputID> is the identifier of the analog input channel; see below for details. Response: {<AnalogInputID>"="<float> LF} where <float> is the current voltage at the analog input in volts Notes: Using the TAV? command, you can directly read the Input 1 to Input 4 lines on the I/O socket (p.
Page 216
8 GCS Commands Arguments: none Response: I=<uint1> O=<uint2> where <uint1> is the number of digital input lines. <uint2> is the number of digital output lines. Notes: The digital output lines reported by TIO? are Output 1 to Output 4. The states of the Output 1 to Output 4 lines can be set using the DIO command (p.
Page 217
8 GCS Commands TMX? (Get Maximum Commandable Position) Description: Get the maximum commandable position in physical units. Format: TMX? [{ <AxisID>}] Arguments: <AxisID> is one axis of the controller Response {<AxisID>"="<float> LF} where <float> is the maximum commandable position in physical units Note: The maximum commandable position is defined by the...
Page 218
8 GCS Commands Arguments: <TrigOutID> is a digital output line of the controller; see below for further details. <TrigMode> can have the following values: 0 = Trigger output deactivated 1 = Trigger output activated Response: None Troubleshooting: Illegal identifier of the digital output line Notes: <TrigOutID>...
Page 219
8 GCS Commands TRS? (Indicate Reference Switch) Description: Indicates whether axes have a reference switch with direction sensing. Format: TRS? [{<AxisID>}] Arguments: <AxisID> is one axis of the controller Response: {<AxisID>"="<uint> LF} where <uint> indicates whether the axis has a direction-sensing reference switch (=1) or not (=0).
Page 220
8 GCS Commands "Commandable Elements" (p. 18). Setting the current sensor position with TSP is only possible if the motor is deactivated with SVO (p. 207). Setting the current sensor position with TSP does not change the current axis position, which can be queried with POS? (p.
Page 221
8 GCS Commands TVI? (Tell Valid Character Set For Axis Identifiers) Description: Returns a string with characters which can be used for axis identifiers. Use SAI (p. 199) to change the axis identifiers and SAI? (p. 199) to ask for the current valid axis identifiers. Format: TVI? Arguments:...
Page 222
8 GCS Commands VAR A ONE VAR VARB TWO VAR $A 1 VAR ${VARB} 2 VAR $VARB 2 // this will result in an unwanted behavior VAR? A=ONE VARB=TWO ONE=1 TWO=2 // ${VARB}: is replaced by its value “TWO”. ARB=2 // $VARB: $V is replaced by its (empty) value. See ADD (p.
Page 223
8 GCS Commands VEL (Set Closed-Loop Velocity) Description: Set velocity of specified axes. Format: VEL {<AxisID> <Velocity>} Arguments: <AxisID> is one axis of the controller. <Velocity> is the velocity value in physical units/s. Response: None Troubleshooting: Illegal axis identifier Notes: The lowest possible value for <Velocity>...
Page 224
8 GCS Commands VER? (Get Versions Of Firmware And Drivers) Description: Gets the versions of the firmware of the C-663 as well as of further components like, for example, drivers and libraries. Format: VER? Arguments: None Response {<string1>":" <string2> [<string3>]LF} where <string1>...
Page 225
8 GCS Commands WAC ONT? 1 = 1 MVR 1 -1 WAC ONT? 1 = 1 MAC START LPMOTION MAC END MAC START LPMOTION Note: Macro LPMOTION is first recorded and then started. WAC ONT? 1 = 1 waits until the response to ONT? 1 is 1=1. To form an infinite loop, the macro calls itself.
Valid parameter IDs are specified in "Parameter Overview" (p. 254). Error Codes The error codes listed here are those of the PI General Command Set. As such, some may be not relevant to your controller and will simply never occur. Controller Errors...
Page 227
8 GCS Commands PI_CNTR_VEL_OUT_OF_LIMITS Velocity out of limits PI_CNTR_SET_PIVOT_NOT_POSSIBLE Attempt to set pivot point while U,V and W not all 0 PI_CNTR_STOP Controller was stopped by command PI_CNTR_SST_OR_SCAN_RANGE Parameter for SST or for one of the embedded scan algorithms out of range PI_CNTR_INVALID_SCAN_AXES Invalid axis combination for fast scan...
Page 228
8 GCS Commands PI_CNTR_NO_MCM No more MCM responses PI_CNTR_INVALID_MCM No MCM values recorded PI_CNTR_INVALID_CNTR_NUMBER Controller number invalid PI_CNTR_NO_JOYSTICK_CONNECTED No joystick configured PI_CNTR_INVALID_EGE_AXIS Invalid axis for electronic gearing, axis can not be slave PI_CNTR_SLAVE_POSITION_OUT_OF_RAN Position of slave axis is out of range PI_CNTR_COMMAND_EGE_SLAVE Slave axis cannot be...
Page 229
8 GCS Commands possible while Autozero is running PI_CNTR_NO_LINEAR_AXIS Autozero requires at least one linear axis PI_CNTR_INIT_RUNNING Initialization still in progress PI_CNTR_READ_ONLY_PARAMETER Parameter is read-only PI_CNTR_PAM_NOT_FOUND Parameter not found in non- volatile memory PI_CNTR_VOL_OUT_OF_LIMITS Voltage out of limits PI_CNTR_WAVE_TOO_LARGE Not enough memory available for requested wave curve PI_CNTR_NOT_ENOUGH_DDL_MEMORY Not enough memory available...
Page 230
PI_CNTR_AUTOZERO_FAILED AutoZero procedure was not successful PI_CNTR_SENSOR_VOLTAGE_OFF Sensor voltage is off PI_LABVIEW_ERROR PI driver for use with NI LabVIEW reports error. See source control for details. PI_CNTR_NO_AXIS No stage connected to axis Version: 1.4.0 MS241E C-663 Mercury Step stepper motor controller...
Page 231
File with axis parameters not found PI_CNTR_INVALID_AXIS_PARAM_FILE Invalid axis parameter file PI_CNTR_NO_AXIS_PARAM_BACKUP Backup file with axis parameters not found PI_CNTR_RESERVED_204 PI internal error code 204 PI_CNTR_SMO_WITH_SERVO_ON SMO with servo on PI_CNTR_UUDECODE_INCOMPLETE_HEAD uudecode: incomplete header PI_CNTR_UUDECODE_NOTHING_TO_DEC uudecode: nothing to decode PI_CNTR_UUDECODE_ILLEGAL_FORMAT...
Page 232
8 GCS Commands failed PI_CNTR_LOAD_SYS_CFG_FAILED Load system configuration failed PI_CNTR_SEND_BUFFER_OVERFLOW Send buffer overflow PI_CNTR_VOLTAGE_OUT_OF_LIMITS Voltage out of limits PI_CNTR_OPEN_LOOP_MOTION_SET_WH Open-loop motion attempted EN_SERVO_ON when servo ON PI_CNTR_RECEIVING_BUFFER_OVERFLOW Received command is too long PI_CNTR_EEPROM_ERROR Error while reading/writing EEPROM PI_CNTR_I2C_ERROR Error on I2C bus PI_CNTR_RECEIVING_TIMEOUT Timeout while receiving command...
Page 233
8 GCS Commands PI_CNTR_FOLLOWING_ERROR Strut following error occurred, e.g. caused by overload or encoder failure PI_CNTR_SENSOR_SIGNAL_INVALID One sensor signal is not valid PI_CNTR_SERVO_LOOP_UNSTABLE Servo loop was unstable due to wrong parameter setting and switched off to avoid damage. PI_CNTR_LOST_SPI_SLAVE_CONNECTION Digital connection to external SPI slave device is lost PI_CNTR_MOVE_ATTEMPT_NOT_PERMITT Move attempt not permitted...
Page 234
8 GCS Commands PI_CNTR_CS_CONTENT_FROM_CONFIG_FI Coordinate system cannot be changed because its content is loaded from a configuration file PI_CNTR_CS_CANNOT_BE_LINKED Coordinate system may not be linked PI_CNTR_KSB_CS_ROTATION_ONLY A KSB-type coordinate system can only be rotated by multiples of 90 degrees PI_CNTR_CS_DATA_CANNOT_BE_QUERIE This query is not supported for this coordinate system type...
Page 235
8 GCS Commands PI_CNTR_FAST_ALIGNMENT_PROCESS_IS_ Fast alignment process NOT_PAUSED cannot be restarted/resumed because it is not paused PI_CNTR_UNABLE_TO_SET_PARAM_WITH Parameter could not be set _SPA with SPA - SEP needed? PI_CNTR_PHASE_FINDING_ERROR Phase finding error PI_CNTR_SENSOR_SETUP_ERROR Sensor setup error PI_CNTR_SENSOR_COMM_ERROR Sensor communication error PI_CNTR_MOTOR_AMPLIFIER_ERROR Motor amplifier error PI_CNTR_OVER_CURR_PROTEC_TRIGGERE...
Page 236
Macro already defined 1002 PI_CNTR_NO_MACRO_RECORDING Macro recording not activated 1003 PI_CNTR_INVALID_MAC_PARAM Invalid parameter for MAC 1004 PI_CNTR_RESERVED_1004 PI internal error code 1004 1005 PI_CNTR_CONTROLLER_BUSY Controller is busy with some lengthy operation (e.g. reference move, fast scan algorithm) 1006 PI_CNTR_INVALID_IDENTIFIER Invalid identifier (invalid special characters, ...)
Page 237
8 GCS Commands 1063 PI_CNTR_EXT_PROFILE_UNALLOWED_CM User Profile Mode: Command is not allowed, check for required preparatory commands 1064 PI_CNTR_EXT_PROFILE_EXPECTING_MOTI User Profile Mode: First ON_ERROR target position in User Profile is too far from current position 1065 PI_CNTR_PROFILE_ACTIVE Controller is (already) in User Profile Mode 1066 PI_CNTR_PROFILE_INDEX_OUT_OF_RANG...
Page 238
8 GCS Commands scanning/recording 5002 PI_CNTR_INVALID_PCC_AXIS Specified axis cannot be defined as PPC axis 5003 PI_CNTR_PCC_SCAN_OUT_OF_RANGE Defined scan area is larger than the travel range 5004 PI_CNTR_PCC_TYPE_NOT_EXISTING Specified PicoCompensation type is not defined 5005 PI_CNTR_PCC_PAM_ERROR PicoCompensation parameter error 5006 PI_CNTR_PCC_TABLE_ARRAY_TOO_LARGE PicoCompensation table is larger than maximum table length 5100...
8 GCS Commands Interface errors COM_NO_ERROR No error occurred during function call COM_ERROR Error during com operation (could not be specified) SEND_ERROR Error while sending data REC_ERROR Error while receiving data NOT_CONNECTED_ERROR Not connected (no port with specified ID open) COM_BUFFER_OVERFLOW Buffer overflow CONNECTION_FAILED...
Page 240
8 GCS Commands operation completed COM_GPIB_ECAP IEEE488: No capability for intended operation COM_GPIB_EFSO IEEE488: File system operation error COM_GPIB_EBUS IEEE488: Command error during device call COM_GPIB_ESTB IEEE488: Serial poll-status byte lost COM_GPIB_ESRQ IEEE488: SRQ remains asserted COM_GPIB_ETAB IEEE488: Return buffer full COM_GPIB_ELCK IEEE488: Address or board locked...
Page 241
8 GCS Commands COM_FTDIUSB_EEPROM_ERASE_FAILED FTDIUSB: EEPROM erase failed COM_FTDIUSB_EEPROM_NOT_PRESENT FTDIUSB: EEPROM not present COM_FTDIUSB_EEPROM_NOT_PROGRAM FTDIUSB: EEPROM not programmed COM_FTDIUSB_INVALID_ARGS FTDIUSB: invalid arguments COM_FTDIUSB_NOT_SUPPORTED FTDIUSB: not supported COM_FTDIUSB_OTHER_ERROR FTDIUSB: other error COM_PORT_ALREADY_OPEN Error while opening the COM port: was already open COM_PORT_CHECKSUM_ERROR Checksum error in received data from COM port...
Page 242
8 GCS Commands related commands are not allowed -1006 PI_INVALID_MANUAL_PAD_KNOB Invalid number for manual control pad knob -1007 PI_INVALID_MANUAL_PAD_AXIS Axis not currently controlled by a manual control pad -1008 PI_CONTROLLER_BUSY Controller is busy with some lengthy operation (e.g., reference move, fast scan algorithm) -1009 PI_THREAD_ERROR...
Page 243
8 GCS Commands off automatically -1025 PI_RUNNING_MACRO Controller is (already) running a macro -1026 PI_PZT_CONFIG_FAILED Configuration of PZT stage or amplifier failed -1027 PI_PZT_CONFIG_INVALID_PARAMS Current settings are not valid for desired configuration -1028 PI_UNKNOWN_CHANNEL_IDENTIFIER Unknown channel identifier -1029 PI_WAVE_PARAM_FILE_ERROR Error while reading/writing wave generator parameter file -1030...
Page 244
8 GCS Commands axis -1045 PI_CANT_STOP_OR_START_WAV Wave output to axis already stopped/started -1046 PI_REFERENCE_ERROR Not all axes could be referenced -1047 PI_REQUIRED_WAVE_NOT_FOUND Could not find parameter set required by frequency relation -1048 PI_INVALID_SPP_CMD_ID Command ID specified for SPP or SPP? is not valid -1049 PI_STAGE_NAME_ISNT_UNIQUE A stage name specified for...
Page 245
8 GCS Commands calculate value -1062 PI_WAVE_EDITOR_MISSING_GRAPH_COM WaveEditor: Graph display PONENT component not installed -1063 PI_EXT_PROFILE_UNALLOWED_CMD User profile mode: command is not allowed, check for required preparatory commands -1064 PI_EXT_PROFILE_EXPECTING_MOTION_ER User profile mode: first target position in user profile is too far from current position -1065 PI_EXT_PROFILE_ACTIVE...
Page 246
8 GCS Commands does not match the required version. Current files are available at www.pi.ws. -1078 PI_CANNOT_WRITE_TO_PARAM_DAT_FIL Cannot write to parameter DAT file to store user defined stage type. -1079 PI_CANNOT_CREATE_PARAM_DAT_FILE Cannot create parameter DAT file to store user defined stage type.
Page 247
-1110 PI_ERROR_FILE_NO_SIGNATURE File has no signature -1111 PI_ERROR_FILE_INVALID_SIGNATURE File has invalid signature -10000 PI_PARAMETER_DB_INVALID_STAGE_TYPE PI stage database: String _FORMAT containing stage type and description has invalid format. -10001 PI_PARAMETER_DB_SYSTEM_NOT_AVAIL PI stage database: Database ABLE does not contain the selected stage type for the connected controller.
Page 248
IDs. -10007 PI_PARAMETER_DB_AND_QHPA_ARE_INC PI stage database: ONSISTENT Inconsistency between database and response to HPA?. -10008 PI_PARAMETER_DB_SYSTEM_COULD_NOT PI stage database: Stage has _BE_ADDED not been added. -10009 PI_PARAMETER_DB_SYSTEM_COULD_NOT PI stage database: Stage has _BE_REMOVED not been removed. -10010 PI_PARAMETER_DB_CONTROLLER_DB_PA Controller does not support...
Page 249
8 GCS Commands -10015 PI_PARAMETER_DB_MISSING_PARAMETE One or more parameter R_DEFINITIONS_IN_DATABASE definitions are not present in stage database. Please update PISTAGES3.DB via PIUpdateFinder. Missing parameters were ignored. C-663 Mercury Step stepper motor controller MS241E Version: 1.4.0...
The designation "Active Values" is used for the parameter values in the volatile memory and "Startup Values" is used for the parameter values in the nonvolatile memory in the PC software from PI. Changing Parameter Values in the C-663 NOTICE...
Page 252
INFORMATION When you use the PC software from PI, information is loaded as parameter values from a positioner database (p. 15) into the volatile memory of the C-663. Parameters loaded from a positioner database are marked in color in the parameter overview (p.
9 Adapting Settings 9.2.2 Commands for Fast Access to Individual Parameters The following special commands only change the corresponding parameters in the volatile memory. If necessary, the changed values must be written to the nonvolatile memory with the WPA command (p. 219). INFORMATION The parameters listed below can also be changed with the general commands.
Page 254
9 Adapting Settings − Select the Tools > Command entry menu item in the main window or press the F4 key on the keyboard. In PITerminal the main window from which commands can be sent is opened automatically after establishing communication. 2.
Page 255
0. On command levels > 1, write access is only available to PI service personnel. Contact the customer service department if there seem to be problems with parameters of command level 2 or higher (p.
Page 256
9 Adapting Settings − Open the window for the system-related parameters of the C-663 in the main window of PIMikroMove by selecting C-663 > Show system parameters in the menu. 2. Change the desired parameter values in the volatile or nonvolatile memory of the C-663 in the corresponding parameter list.
Page 257
You can select a parameter set appropriate for your positioner from a positioner database in the PC software from PI. The software transfers the values of the selected parameter set to the volatile or nonvolatile memory of the controller. For further information, see "Positioner Databases"...
Page 258
9 Adapting Settings b) Click Assign. c) Confirm the selection with OK. 3. Click Keep the changes temporarily in the Save all changes permanently dialog to load the parameter settings into the volatile memory of the C-663. The Start up stages/axes window changes to the Start up axes step. 4.
Page 259
9 Adapting Settings Note: If a parameter value in the volatile memory (Active Value column) is different to the parameter value in the nonvolatile memory (Startup Value column), the line in the list is highlighted in color. 7. Click Load and Save Parameters -> Save parameters to stage database..The Save Parameters as User Stage Type dialog opens.
0. On command levels > 1, write access is only available to PI service personnel. Contact the customer service department if there seem to be problems with parameters of command level 2 or higher (p.
Page 261
9 Adapting Settings Parameter name = Name of the parameter Description = Explanation of the parameter Type Element Parameter name Description FLOAT 0 Axis Maximum Position Error Maximum position error (Phys. Unit) Is used for detecting motion errors. Refer to "Behavior with Motion Error"...
Page 262
9 Adapting Settings Type Element Parameter name Description 0x15 FLOAT 0 Axis Maximum Travel In Positive Soft limit in positive direction Direction (Phys. Unit) See examples in "Travel Range and Soft Limits" (p. 36). 0x16 FLOAT 0 Axis Value At Reference Position Position value at the reference (Phys.
Page 263
9 Adapting Settings Type Element Parameter name Description 0x32 Axis Has No Limit Switches? Does the positioner have limit switches? Refer to "Detecting Limit Switches" (p. 33) for details. 0x36 Axis Settling Window (encoder Settling window around the target counts) position Refer to "On-Target State"...
Page 264
9 Adapting Settings Type Element Parameter name Description Specifies the maximum value for parameter 0xC. Refer to "Generating a Dynamics Profile" (p. 25) for details. 0x50 FLOAT 0 Axis Velocity For Reference Moves Velocity for reference move (Phys. Unit/s) Refer to "Referencing" (p. 38) for details.
Page 265
9 Adapting Settings Type Element Parameter name Description 0x61 Axis Invert Direction Of Motion For Should the direction of motion for Joystick-Controlled Axis? joystick-controlled axes be inverted? Details see "Commands and Parameters for Joystick Control" (p. 103). 0x63 FLOAT 0 Axis Distance Between Limit And Distance between the built-in limit...
Page 266
9 Adapting Settings Type Element Parameter name Description 0x3040 FLOAT 0 Axis P Term Current Control Proportional constant of the current regulation For details, see "Motor Control" (p. 31). 0x3041 FLOAT 0 Axis I Term Current Control (Tn) Integration constant of the current regulation For details, see "Motor Control"...
Page 267
9 Adapting Settings Type Element Parameter name Description 0x3102 Axis Stepper Start/Stop Frequency Maximum full-step frequency when (full steps/s) starting and stopping the motion in closed-loop operation For details, see "Position Control" (p. 28). 0x3106 Axis Current Full-Step Frequency Current full-step frequency of the (full steps/s) motor For details, see "Motor Control"...
Page 268
9 Adapting Settings Type Element Parameter name Description 0x7000000 FLOAT 0 Axis Range Limit Min Additional soft limit for the negative direction of motion (physical unit) For details, see "Travel Range and Soft Limits" (p. 34). 0x7000001 FLOAT 0 Axis Range Limit Max Additional soft limit for the positive direction of motion (physical unit)
Malfunction due to faulty firmware update! A faulty or incomplete update of the C-663's firmware may mean that the C-663 can only be made operational again by the PI customer service department. Update the C-663's firmware only after consulting our customer service department. If possible, ask our customer service department to do the firmware update for you.
Page 270
You have made sure that no cable is connected to the RS-232 Out socket. The PI Firmware Updater program is installed on the PC (p. 45). You have copied the new firmware file, which you have received from our customer service department, to a directory on the PC.
Page 271
The C-663 reboots. If the C-663 is in firmware update mode after rebooting, the STA LED will flash. 2. Close PIMikroMove or PITerminal. 3. Start the PI Firmware Updater program on the PC. The PI Firmware Updater window opens. 4. Set the following in the selection fields: −...
Page 272
10 Maintenance 7. Close the PI Firmware Updater program by clicking the cross in the top right corner of the window. 8. Switch off the C-663 by pulling out the power cord of the power adapter from the power socket.
Page 273
10 Maintenance For instructions on the general procedure, see "Changing Parameter Values: General Procedure" (p. 248). − Reset the parameters that were already present prior to the firmware update to the saved values from the text file. − Set the parameters that were introduced with the firmware update to the appropriate values.
If the positioner, cable, and C-663 are marked as a related system, replace the system components with other components only after consulting PI. Limit switch signal logic set In order for the positioner to be able to move, the settings of...
Page 276
11 Troubleshooting Fault: Positioner moves unintentionally Possible causes Remedial measures Startup macro is run Check whether a macro is specified as the startup macro and cancel selection of the startup macro if necessary (p. 112). Positioner's brake deactivated Secure the positioner against moving unintentionally with the BRA command (p.
Page 277
11 Troubleshooting Fault: Positioner is already oscillating during the reference move Possible causes Remedial measures 7. Enter new values for the servo control parameters, see "Optimizing the Servo Control Parameters" (p. 76). 8. Restart the reference move. 9. If the positioner continues to oscillate, repeat steps 6 to 8 until the reference move has completed successfully without oscillation.
Page 278
11 Troubleshooting Fault: The customer software does not function with the PI drivers Possible causes Remedial measures Incorrect combination of Check whether the system functions with a terminal driver routines/VIs program (e.g., PITerminal). If so: Read the information in the corresponding software manual and compare the sample code on the PI software CD with your program code.
12 Customer Service Customer Service For inquiries and orders, contact your PI sales engineer or send us an email (mailto:service@pi.de). If you have any questions concerning your system, provide the following information: − Product and serial numbers of all products in the system −...
13 Technical Data Technical Data In this Chapter Specifications ..........................275 Dimensions ..........................278 System Requirements ........................ 279 Pin Assignment .......................... 279 13.1 Specifications 13.1.1 Data Table C-663.12 Function Mercury Step stepper motor controller Drive types 2-phase stepper motor Axes Supported functions Point-to-point motion.
Page 282
I/O lines 4 analog / digital inputs (0 to 5 V / TTL), 4 digital outputs (TTL) Command set PI General Command Set (GCS) User software PIMikroMove Application programming interfaces API for C / C++ / C# / VB.NET / MATLAB / Python, drivers for NI...
13 Technical Data 13.1.2 Maximum Ratings The C-663 is designed for the following operating data: Input on: Maximum operating Operating Maximum current voltage frequency consumption Mini-DIN 4-pin. (f) 48 V Output on: Maximum output Maximum output Maximum output voltage current frequency HD D-sub 26 (f) 48 V...
Page 284
13 Technical Data 13.2 Dimensions Dimensions in mm. Note that the decimal points are separated by a comma in the drawings. Figure 19: C-663, dimensions in mm Version: 1.4.0 MS241E C-663 Mercury Step stepper motor controller...
USB cable type A to mini B (included in the scope of delivery) − Free COM port on the PC − RS-232 null modem cable (included in the scope of delivery) Data storage medium with PC software from PI (included in the scope of delivery) 13.4 Pin Assignment 13.4.1...
Page 286
13 Technical Data Signal Direction Function OUT3a Output Phase II, neg. (48 V, max. 2 A, 20 kHz PWM) OUT3b Output Phase II, neg. (48 V, max. 2 A, 20 kHz PWM) BRAKE_OUT Output Motor brake driver Input Reference switch (5 V TTL input, single-ended) NLIM Input Negative limit switch (5 V TTL input)
13 Technical Data 13.4.2 Mini-DIN socket, 9-pin, female Figure 20: Front view of the mini-DIN socket Function Input 1 (analog: 0 to +5V / digital: TTL) Input 2 (analog: 0 to +5V/ digital: TTL) Input 3 (analog: 0 to +5V/ digital: TTL) Input 4 (analog: 0 to +5V/ digital: TTL) Output 1 (digital: TTL) Output 2 (digital: TTL)
Page 288
13 Technical Data Wire Color Function on the I/O socket of the C-663 Black Input 1 (analog: 0 to +5V / digital: TTL) white Input 2 (analog: 0 to +5V / digital: TTL) Input 3 (analog: 0 to +5V / digital: TTL) Yellow Input 4 (analog: 0 to +5V / digital: TTL) Purple...
Page 289
13 Technical Data 13.4.5 C-819.20Y Cable for C-819.20 Joystick The C-819.20Y cable makes it possible to connect 2 controllers to the C-819.20 joystick. Figure 23: Y cable C-819.20Y for joystick with 2 controllers Mini-DIN connector, 6-pin, female on 2 Mini-DIN connectors, 6-pin, male Mini-DIN 6-pin, Signal Mini-DIN, 6-pin,...
Page 290
13 Technical Data RS-232 Out: D-sub 9 socket Function Not connected RxD (PC to controller) TxD (controller to PC) Not connected Not connected Not connected Not connected Not connected INFORMATION The pins of the RS-232 In and RS-232 Out sockets are connected to each other in the C-663 1:1. INFORMATION In a daisy chain network connected to the PC via the RS-232 interface of the first controller, only the PC feeds the RxD line.
13 Technical Data 13.4.7 Power Adapter Connector DC power socket (Kycon), 4-pole (f), lockable Figure 24: DC power socket (Kycon), 4-pole (f) Signal Direction 48 V DC supply voltage Input 48 V DC supply voltage Input Shield GND connected via the housing C-663 Mercury Step stepper motor controller MS241E Version: 1.4.0...
Dispose of your old equipment according to international, national, and local rules and regulations. In order to fulfil its responsibility as the product manufacturer, Physik Instrumente (PI) GmbH & Co. KG undertakes environmentally correct disposal of all old PI equipment made available on the market after 13 August 2005 without charge.
15 EU Declaration of Conformity EU Declaration of Conformity For the C-663, an EU Declaration of Conformity has been issued in accordance with the following European directives: EMC Directive RoHS Directive The applied standards certifying the conformity are listed below. EMC: EN 61326-1 Safety: EN 61010-1 RoHS: EN 50581 or EN IEC 63000...
Need help?
Do you have a question about the Mercury Step C-663 and is the answer not in the manual?
Questions and answers