Home
Mercury™ GCS Commands
Contents
1. Document Number MS163E Release 1 0 2 Mercury_GCS_Commands_MS163E Subject to change without notice This manual is superseded by any new release The newest release is available for download at www pi ws About This Document Users of This Manual This manual assumes that the reader has a fundamental understanding of basic servo systems as well as motion control concepts and applicable safety procedures The manual describes the syntax of the PI General Command Set GCS and the individual commands supported by Mercury Class controllers With present firmware all software which accepts these commands must pass them to the controller via the Mercury Class GCS DLL or COM Server This document is available as PDF file on the product CD Updated releases are available for download from www pi ws or by email contact your Physik Instrumente Sales Engineer or write info pi ws Conventions The notes and symbols used in this manual have the following meanings CAUTION Calls attention to a procedure practice or condition which if not correctly performed or adhered to could result in damage to equipment NOTE Provides additional information or application hints Related Documents The Mercury controller and the software tools which might be delivered with the controller are described in their own manuals see below All documents are available as PDF files via download from the PI Website www pi ws or on the product C
2. Format HLT lt AxisID gt Arguments lt AxisID gt is a valid axis identifier if omitted all axes are halted Response none Troubleshooting Illegal axis identifier INI INI tialization Description Mercury GCS Commands MS163E Version 1 0 2 Initializes the axis sets reference state to not referenced sets the brake control line in the brake off state and if axis was under Page 23 Command Descriptions Piezo Nano Positioning PI joystick control disables the joystick Format INI lt AxisID gt Arguments lt AxisID gt is a valid axis identifier Response none Troubleshooting Illegal axis identifier J AX Get joystick to axis assignments Description Reports correspondence between joystick port numbers device numbers and axis identifiers for axes with joystick ports Format JAX Arguments none Response lt DeviceNumber gt 1 lt axisID gt where lt DeviceNumber gt is one greater than the device address of the connected Mercury Class motion axis controller lt axisID gt is the ID of the associated motion axis 1 indicates that each device can connect to only 1 joystick axis Troubleshooting J DT load J oystick response Table Description Load pre defined joystick response table Table types are either linear or cubic response curve The cubic curve offers more sensitive control around the middle position and less sensitivit
3. GCS Commands MS163E Version 1 0 2 Page 8 Macro Storage on Controller Piezo Nano Positioning PI Wwww pi ws m The way in which a GCS command is translated into a native command can depend on the stage connected and how it was referenced A macro made under one set of conditions will not function properly if run under others As a result o Macros are only valid for the stage type that was connected when the macro was created o Only relative moves can be used without concern in macros o Absolute moves require the axis to have been referenced with exactly the same sequence of referencing commands when the macro is run as when it was created Note that having the software save positions at shutdown and restore them from saved values involves RON POS referencing m The macro names used at the GCS level are assigned using the following strict convention aMCOnn where a is the current axis designator associated with the controller and nn is a two digit number between 00 and 31 In addition all the MAC commands take an axis designator as an argument The macros AMC000 BMCO00 etc for axes A B respectively are the autostart macros they are executed automatically upon startup or reset of the individual axis controller The name thus already specifies the axis which the macro addresses m Only the following GCS commands are allowable when the macro recording flag is set Use of a disallowed command will cause the nex
4. Piezo Nano Positioning PI error code 7 replied by the ERR command indicates that the target position given by the move command is out of limits MOV read target position Description Format Arguments Response Troubleshooting Returns last valid commanded target position The target position is changed by all commands that cause motion e g MOV MVR REF MNL MPL GOH Note that MOV gets the commanded positions Use POS p 32 to get the current positions See also Section Units and GCS on p 5 MOV lt AxisID gt lt AxisID gt is a valid axis identifier lt AxisID gt lt float gt LF where lt float gt is the last commanded target position in physical units Illegal axis identifier MPL Move to Positive Limit Description Format Arguments Response Troubleshooting Moves the given axis to its positive limit switch sets the position counter to the maximum position value and sets the reference state to reference OK see Section 3 on p 6 for more information regarding referencing If lt AxisID gt is omitted moves all axes If multiple axes are affected by MPL one axis after another is moved to its limit switch This command can be interrupted by 24 Note that MPL resets the home position set with DFH p 20 MPL lt AxisID gt lt AxisID gt is a valid axis identifier lt uint gt LF lt uint gt indicates success of the r
5. Internal hardware error BasMac unknown controller error not enough memory hardware voltage error hardware temperature out of range Too many nested macros Macro already defined Macro recording not activated Invalid parameter for MAC PI internal error code 1004 Controller already has a serial number Sector erase failed Flash program failed Flash read failed HW match code missing invalid FW match code missing invalid HW version missing invalid FW version missing invalid FW Update failed No error occurred during function call Error during com operation could not be specified Error while sending data Error while receiving data Not connected no port with given ID open Buffer overflow Error while opening port Timeout error There are more lines waiting in buffer There is no interface or DLL handle with the given ID Event message for notification could not be opened Function not supported by this interface type Error while sending echoed data IEEE488 System error IEEE488 Function requires GPIB board to be CIC IEEE488 Write function detected no listeners IEEE488 Interface board not addressed correctly IEEE488 Invalid argument to function call Mercury GCS Commands MS163E Version 1 0 2 Page 51 Error Codes Wwww pi ws Piezo COM_GPIB_ESAC COM_GPIB_EABO COM_GPIB_ENEB COM_GPIB_EDMA COM_GPIB_EOIP COM_GPIB_ECAP COM_GPIB_EFSO COM_GPIB_EBUS COM_GPIB_ESTB COM_GPIB_ESRQ COM_GPIB
6. Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 45 Stage Parameters Piezo PI Nano Positioning 11 Maximum Physical units allowed per second acceleration squared 14 Numerator of 1 to 2147483647 factor num denom the counts per This factor includes the physical physical unit transmission ratio and the factor resolution of the stage Note To customize your physical unit use parameter 18 instead 15 Denominator 1 to 2147483647 factor num denom of the counts This factor includes the physical per physical transmission ratio and the resolution of unit factor the stage Note To customize your physical unit use parameter 18 instead 17 Invert the 1 to invert the direction direction else 1 18 Scaling factor This factor can be used to change the physical unit of the stage e g a factor of 25 4 converts a physical unit of mm to inches It is recommended to use the DFF command to change this factor 19 Rotary stage 1 rotary stage else 0 20 Stage has a 1 the stage reference has a reference else 0 21 Maximum 0 to 2147483647 Physical units travel range in positive direction 22 Value at 2147483647 to Physical units reference 2147483647 position 23 Distance from 2147483647 to Physiccal units the negative 2147483647 limit to the reference position 24 Axis limit mode 0 1 2 3 Code 0 positive limit sw
7. lt AxisID gt lt ParamNumber gt lt ParamValue gt LF where lt ParamValue gt is the value to which the parameter lt ParamNumber gt of lt AxisID gt is set Illegal axis identifier incorrect parameter ID Send SPA A10A11A12 Receive A10 0 1 A11 10 A12 10 SRG Read register Description Format Arguments Response Read the values of the specified registers SRG lt AxisID gt lt RegisterID gt lt AxisID gt is a valid axis identifier lt RegisterID gt is the ID of the specified register must be 3 lt AxisID gt lt RegisterID gt lt Value gt where lt Value gt is the signal input lines register byte 2 of the C 663 and byte 4 for the C 862 STP Stop Motion Description SToPs the motion of all axes immediately Error code 10 is set After the axes were stopped the target position is set to the current position Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 36 Command Descriptions Piezo Nano Positioning PI STP always does a hard stop Use HLT p 23 instead to stop individual axes smoothly Format STP Arguments none Troubleshooting Communication breakdown SVO set SerVO on or off Description Sets SerVO control mode on or off for given axes When servo control is off for an axis e All positioning commands e g MOV MVR are ignored e With C 86x DC motor controllers servo loop and motor are deactivated The curr
8. Accumulated error terms P Term 0 to 32767 Kvff Velocity feed forward 0 to 32767 Kaff Acceleration feed 0 to 32767 forward Kout output scale factor 0 to 65536 Bias motor bias 0 to 32767 See SPA p 35 and SPA p 36 Number refers to the parameter ID used with SPA Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 44 PI Stage Parameters Piezo Nano Positioning 7 2 Transmission Ratio amp Scaling Factors p GO ee CpuD CpuN CpuD Cnt PU SF x Description Physical Unit Counts with C 86x or steps with C 663 Numerator of the counts 1 to 2147483647 steps per physical unit factor Denominator of the counts steps per 1 to 2147483647 physical unit factor Scale factor gt 0 and lt 1 79769313486231E308 See also DFF p 19 Number means the parameter ID 7 3 User Changeable Parameters at a Glance Parameter numbers in italics apply to C 663 those in bold to C 862 and of course those in bold italics to both 1 P Term 0 to 32767 2 l Term 0 to 32767 3 D Term 0 to 32767 4 I Limit 0 to 32767 8 Maximum 0 to 32767 Counts position error 10 Maximum gt 0 Physical units This parameter is a maximum limit and allowed per second not the current velocity By default the velocity current velocity is half the maximum allowed velocity To change the current velocity use the VEL command
9. Maybe WG INI is missing The WGWaveEditor DLL function was not found at startup The user cancelled a dialog Error from C 844 Controller DLL necessary to call function not loaded or function not found in DLL The open parameter file is protected and cannot be edited There is no parameter file open Selected stage does not exist There is already a parameter file open Close it before opening a new file Could not open parameter file The version of the connected controller is invalid Parameter could not be set with SPA parameter not defined for this controller The maximum number of wave definitions has been exceeded PlNUMBER_OF_POSSIBLE_GENERATORS_EXCEEDEDThe maximum number of wave generators has Pl_NO_WAVE_FOR_AXIS_ DEFINED Pl_CANT_STOP_OR_START_WAV P _REFERENCE_ERROR P _REQUIRED_WAVE_NOT_FOUND Pl_INVALID_SPP_CMD_ID Pl_STAGE_NAME_ISNT_UNIQUE P _FILE_TRANSFER_BEGIN_MISSING P _FILE_TRANSFER_ERROR_TEMP_FILE P _FILE_TRANSFER_CRC_ERROR P _COULDNT_FIND_PISTAGES_DAT PI _NO_WAVE_RUNNING P _INVALID_ PASSWORD Pl _OPM_COM_ERROR P _WAVE_EDITOR_WRONG_PARAMNUM Pl _WAVE_EDITOR_FREQUENCY_OUT_OF_ RANGE Pl_WAVE_EDITOR_WRONG_IP_VALUE P _WAVE_EDITOR_WRONG_DP_VALUE Mercury GCS Commands MS163E Version 1 0 2 been exceeded No wave defined for specified axis Wave output to axis already stopped started Not all axes could be referenced Could not find parameter set required by frequency relation Command I
10. PI _CONTROLLER_BUSY PI_THREAD_ERROR PI_IN_MACRO_MODE PI_NOT_IN_MACRO_MODE PI_MACRO FILE_ERROR PI_NO_MACRO_OR_EMPTY P _MACRO_EDITOR_ERROR Pl_INVALID_ ARGUMENT PI_AXIS_ALREADY_EXISTS Pl_INVALID_AXIS_ IDENTIFIER Pl_COM_ARRAY_ERROR Pl _COM_ARRAY_RANGE_ERROR P _INVALID_SPA_CMD_ID P _NR_AVG_OUT_OF_RANGE Pl _WAV_SAMPLES_OUT_OF_RANGE Pl_WAV_FAILED P _MOTION_ERROR PI_RUNNING_MACRO PI_PZT_CONFIG_FAILED PI_PZT_CONFIG_INVALID_ PARAMS Pl_UNKNOWN_CHANNEL_IDENTIFIER P _WAVE_PARAM_FILE_ERROR Piezo Mercury GCS Commands MS163E Version 1 0 2 Nano Positioning PI Connection terminated by peer Can t connect to peer Operation was interrupted by a non blocked signal Unknown axis identifier Number for NAV out of range must be in 1 10000 Invalid value for SGA must be one of 1 10 100 1000 Controller sent unexpected response No manual control pad installed calls to SMA and related commands are not allowed Invalid number for manual control pad knob Axis not currently controlled by a manual control pad Controller is busy with some lengthy operation e g reference move fast scan algorithm Internal error could not start thread Controller is already in macro mode command not valid in macro mode Controller not in macro mode command not valid unless macro mode active Could not open file to write or read macro No macro with given name on controller or macro is empty Internal
11. gt Arguments lt AxisID gt is a valid axis identifier Response lt AxisID gt lt float gt LF where lt float gt is the distance from the default home position to the current home position Mercury GCS Commands MS163E Version 1 0 2 Page 20 Command Descriptions Troubleshooting Piezo Nano Positioning PI Illegal axis identifier DIO set Digital 1 0 Description Format Arguments Response Troubleshooting Switches the specified digital output line s to specified state s Use TIO p 38 to get the number of installed digital I O lines If the controllers on the network have addresses in order beginning with 0 then the output line designators will begin with A B C D four for each controller see Identifiers p 14 for more details DIO lt OutLinelD gt lt uint gt lt OutLinelD gt lt uint gt lt OutLinelD gt is one digital output line designator If lt uint gt 1 the line is set to HIGH ON if lt uint gt 0 it is set to LOW OFF none DIO Description Format Arguments Response Troubleshooting Lists the states of the specified digital input lines Can be used to query externally generated signals DIO lt InLinelD gt lt InLinelD gt is the identifier of the input line to use with DIO If the controllers on the network have addresses in order beginning with 0 then the designators to be used when reading the inputs digitally w
12. is done by performing a reference move with REF p 33 MPL p 30 or MNL p 28 NOTES When referencing mode 1 neither relative nor absolute targets can be commanded until referencing has been successfully performed REF requires that the axis have a reference switch ask with REF p 33 and MPL and MNL require that the axis have limit switches For best repeatability always reference in the same way The REF command always approaches the reference switch from the same side no matter where the axis is when the command is issued When referencing mode 0 only relative targets but no absolute targets can be commanded as long as referencing has not been successfully performed www pi ws Set Absolute Position When the reference mode is set to 0 referencing can be done by entering an absolute position value using the POS command p 32 or by a referencing move Mercury GCS Commands MS163E Version 1 0 2 Page 6 Macro Storage on Controller Piezo Nano Positioning PI 4 Miacro Storage on Gontroller 4 1 GCS Macros Software that uses the Mercury GCS DLL can take advantage of the GCS Macro Architecture However because controller macros are stored in the command language of the controller the DLL must translate each complete GCS macro to a non GCS native macro before sending anything to the controller Details of the native command macro architecture are given in the Mercury Nati
13. p 5 for more information Format DFF lt AxisID gt lt float gt lt AxisID gt lt float gt Arguments lt AxisID gt is a valid axis identifier Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 19 Command Descriptions Wwww pi ws Response Troubleshooting Piezo Nano Positioning PI lt float gt is the value to set can be in the form of v vv none Illegal axis identifier DFF get factor Description Format Arguments Response Troubleshooting Gets the scale factors set by the DFF command for the queried axes DFF lt AxisID gt lt AxisID gt is a valid axis identifier if omitted answers for all axes lt AxisID gt lt float gt LF where lt float gt is the scale factor of lt AxisID gt Illegal axis identifier DFH DeFine Home Description Format Arguments Response Troubleshooting Defines the current position of given axes as the axis home position by setting the position value to 0 00 If lt AxisID gt all axes are affected Due to the redefinition of the home zero position the numeric limits of the travel range are changed The home position is reset to its default location by REF p 33 MNL p 28 and MPL p 30 DFH lt AxisID gt lt AxisID gt is a valid axis identifier none Illegal axis identifier DFH get home positions Description Gets home position offset Format DFH lt AxisID
14. the following codes 1 first connected axis is moving 2 second connected axis is moving 4 third connected axis is moving etc with 8 16 32 2 Examples 0 indicates motion of all axes complete 3 indicates that the first and the second axis are moving by default axes A and B 7 Controller Ready Description Asks controller for ready status tests if controller is ready to perform a new command Note Use 5 instead of 7 to verify if motion has finished Format 7 single ASCII character number 7 Arguments none Response B1h ASCII character 177 in Windows if controller network is ready www pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 42 Command Descriptions Piezo Nano Positioning PI BOh ASCII character 176 in Windows if controller network is not ready e g performing a REF command Troubleshootin The response characters may appear g differently in non Western character sets or other operating systems 8 Macro running Description Test whether a macro is running Format 8 single ASCII character number 8 Arguments none Response 0 ASCII character 48 no macro is running 1 ASCII character 49 a macro is running on at least one of the controllers in the network 24 Stop Description Stops all motion abruptly This includes motion of all axes MOV MVR and referencing motion MNL MPL REF Sets error code to 10 After all t
15. A not axis B Send CST Receive A M 403 62S B NOSTAGE Mercury GCS Commands MS163E Version 1 0 2 Page 18 Command Descriptions Piezo Nano Positioning PI CST get stage name Description Returns the name of the Connected STage for queried axes CST will always return all axes i e the answer also includes the axes set to NOSTAGE see CST p 18 In contrast to this SAI p 35 will only return the axes which are assigned to stages Format CST lt AxisID gt Arguments lt AxisID gt is a valid axis identifier if omitted all axes are queried Response lt axis gt lt string gt LF where lt string gt is a stage name i e the name of the stage assigned to an axis Unconfigured axes will show the stage name NOSTAGE DEL DELay Description DELays lt uint gt milliseconds During delay controller does not answer on any queries DEL is used within macros primarily Do not mistake MAC DEL which deletes macros for DEL which delays This command can be interrupted with 24 Format DEL lt uint gt Arguments lt uint gt is the delay value in milliseconds Response none DFF DeFine Factor Description Scale factor for physical units e g a factor of 25 4 sets the physical units to inches Changing the scale factor will change the numerical results of other commands but not the underlying physical magnitudes See Section 7 2 on p 45 and Section 2 1 on
16. D For updated releases or other versions contact your Physik Instrumente sales engineer or write info pi ws Hardware user manuals User Manual for each hardware component Mercury GCSLabVIEW_MS149E LabView VIs based on PI GCS command set Mercury GCS DLL_MS154E Windows DLL Library GCS commands PlIMikroMove User Manual SM148E PIMikroMove Operating Software GCS based Mercury Commands MS163E Mercury GCS Command descriptions PlStageEditor SM144E Software for managing GCS stage data database Mercury Native Commands MS176E Native Mercury Commands MMCRun MS139E Mercury Operating Software native commands Mercury Native DLL amp LabVIEW MS177E Windows DLL Library and LabView VIs native command based Contents Introduction 3 1 1 Native Command Set ccccccsccescccseceeeeeaeeeaeeeaeeeaeeeaeeeaeeeaeneaeneaenees 3 12 GCS COMMANG Set oprint e Eien e REK AEE aa Da AEA aS 3 Units and GCS 5 2 1 Hardware Physical Units and Scaling eeeseceeeeeeeeeeeeeeerereseereeenn 5 22 Rounding Considerations wtesisentsosel chcesctieian di tedeeee agente EL 5 Referencing 6 3 1 Reference Mode ccccccccccccececececeeeceeeceeeceeecceeceeeeeeeceeeeeeeseneeeseesnaes 6 3 2 Perform a Reference MOve ccccccccccececceeececeeeceeeeeeeeeeeeeeeeeeeeeeeteeess 6 3 3 Set Absolute Position ccc cccccccccccececeeceecceeeceeeeeeeeeeeeeeseeeeeeeeeeeeeneees 6 Macro Storage on Controller 7 AN AGES MAGCIOS
17. D given to SPP or SPP is not valid A stage name given to CST is not unique A uuencoded file transferred did not start with begin followed by the proper filename Could not create read file on host PC Checksum error when transferring a file to from the controller The PiStages dat database could not be found This file is required to connect a stage with the CST command No wave being output to specified axis Invalid password Error during communication with OPM Optical Power Meter maybe no OPM connected WaveEditor Error during wave creation incorrect number of parameters WaveEditor Frequency out of range WaveEditor Error during wave creation incorrect index for integer parameter WaveEditor Error during wave creation incorrect index for floating point parameter Page 54 Error Codes Piezo Nano Positioning PI 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 www pi ws P _WAVE_EDITOR_WRONG_ITEM_VALUE P _WAVE_EDITOR_MISSING_GRAPH_COMPONENT P _EXT_PROFILE_UNALLOWED_CMD P _EXT_PROFILE_EXPECTING_MOTION_ERROR Pl_EXT_PROFILE_ACTIVE P _EXT_PROFILE_INDEX_OUT_OF RANGE P _PROFILE_GENERATOR_NO_PROFILE P _PROFILE_GENERATOR_OUT_OF_LIMITS P _PROFILE_GENERATOR_UNKNOWN_PARAMETER P _PROFILE_GENERATOR_PAR_OUT_OF_RANGE P _EXT_PROFILE_OUT_OF_MEMORY P _EXT_PROFILE_WRONG CLUSTER Pl_UNKNOWN_CLUSTER_IDENTIFIER WaveEditor Error during wave creatio
18. L 100 Macro AMCO003 has the following content MEX DIO D 1 MEX DIO B 0 MVR A 1 0 DEL 100 Macro AMC001 forms an infinite loop by permanently calling AMC002 AMCO003 and itself AMCO002 first checks the state of the digital input channel A If it is not set 0 the macro is aborted otherwise the macro will move axis A by 1 0 in positive direction relative move AMC003 checks the state of the digital input channel B and moves axis A in negative direction accordingly Connecting the digital input channels A B and D with pushbuttons it is possible to implement interactive control of an axis without any software assistance The delay DEL 100 is required to avoid generation of multiple MVR commands while pressing the push button for a short time Channel D is used as a global exit Since MEX stops execution of the current macro only it must also be included in the calling macro which would otherwise continue MNL Move to Negative Limit Description Moves the given axis to its negative limit switch sets the position counter to 0 and sets the reference state to reference OK see Section 3 on p 6 for more information Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 28 Command Descriptions Format Arguments Response Troubleshooting Piezo Nano Positioning PI regarding referencing If lt AxisID gt is omitted moves all axes If multiple axes are affected by MNL
19. Piezo Nano Positioning PI MS163E Software Manual Mercury GCS Commands PI General Command Set Release 1 0 2 Date 2008 05 09 This document describes software for use with the following products Send Clipboard E C 663 Mercury Step Networkable Single Axis Stepper Motor Controller E C 862 gt gt POS B Mercury Networkable Single Axis DC Motor lt lt B 3 000002 Controller E C 863 Mercury Networkable Single Axis DC Motor Controller Neos 4 Sen PI y gt gt MOV B 2 gt gt ERR Mercury lt lt 0 gt gt MVR B1 E ts Malot Contctier gt gt POS B lt lt B 3 000002 PEGA Physik Instrumente PI GmbH amp Co KG Auf der Romerstr 1 76228 Karlsruhe Germany Moving the NanoWorld www pi ws Tel 49 721 4846 0 Fax 49 721 4846 299 en info pi ws www pi ws Bae Instrumente Pl GmbH amp Co KG is the owner of the following company names and trademarks PIMikroMove Mercury Mercury Step The following designations are protected company names or registered trademarks of third parties Windows LabView Copyright 2008 by Physik Instrumente PI GmbH amp Co KG Karlsruhe Germany The text photographs and drawings in this manual enjoy copyright protection With regard thereto Physik Instrumente PI GmbH amp Co KG reserves all rights Use of said text photographs and drawings is permitted only in part and only upon citation of the source
20. ROM_ERROR Pl _CNTR_I2C_ERROR Pl_CNTR_RECEIVING_ TIMEOUT P _CNTR_TIMEOUT P _CNTR_MACRO_OUT_OF_SPACE Nano Positioning Mercury GCS Commands MS163E Version 1 0 2 PI time delay larger than DDL table DDL can not be started GCS array doesn t support different length request arrays which have different length separately Attempt to restart the generator while it is running in single step mode MOV MVR SVA SVR STE IMP and WGO blocked when analog target is active MOV MVR SVA SVR STE and IMP blocked when wave generator is active P LabVIEW driver reports error See source control for details No stage connected to axis File with axis parameters not found Invalid axis parameter file Backup file with axis parameters not found PI internal error code 204 SMO with servo on uudecode incomplete header uudecode nothing to decode uudecode illegal UUE format CRC32 error Illegal file name must be 8 0 format File not found on controller Error writing file on controller VEL command not allowed in DTR Command Mode Position calculations failed The connection between controller and stage may be broken The connected stage has driven into a limit switch call CLR to resume operation Strut test command failed because of an unexpected strut stop Position can be estimated only while MOV is running Position was calculated while MOV is running Send buffer overflow Voltage out of limits Attempt t
21. S macro recording mechanism is easily translated to native commands with the use of a macro recording flag in the DLL While the flag is set DLL function calls Mercury GCS Commands MS163E Version 1 0 2 Page 7 Macro Storage on Controller Piezo Nano Positioning PI www pi ws create native commands as usual but they are saved rather than sent to the controller When recording is completed MAC END the saved commands are assembled into a compound command beginning with MD given a cursory check and if they are acceptable the macro definition compound command is sent to the controller Here are some of the implications m The DLL may decide not to send the macro to the controller at all Whether or not the macro was sent can be checked with ERR after MAC END If the macro was not sent error 1010 will be set Admittedly the error description text can be misleading Referencing with REF is allowed because with the Mercury native command set it is possible to tell how to move toward or away from the reference switch but because REF is not implemented as single commands in the native command set it will occupy more than one command slot in the macro see examples below A total of only 32 native commands may be stored in a macro on a Mercury Class controller That means that when using GCS commands which translate to multiple native commands e g REF INI little space may be left for other commands Mercury
22. SYNTAX Pl_CNTR_UNKNOWN_COMMAND PI _CNTR_COMMAND_TOO_LONG PI_CNTR_SCAN_ERROR PI_CNTR_MOVE_WITHOUT_REF_OR_NO_SERVO PI_CNTR_INVALID_SGA_PARAM Pl_CNTR_POS OUT_OF LIMITS P _CNTR_VEL_OUT_OF_LIMITS PI_CNTR_SET_PIVOT_NOT_ POSSIBLE PI_CNTR_STOP PI_CNTR_SST_OR_SCAN_RANGE Pl_CNTR_INVALID_SCAN_AXES PI_CNTR_INVALID_NAV_PARAM P _CNTR_INVALID_ANALOG_INPUT PI_CNTR_INVALID_AXIS_ IDENTIFIER Pl_CNTR_INVALID_STAGE_NAME P _CNTR_PARAM_OUT_OF_RANGE PI_CNTR_INVALID_MACRO_NAME Pl _CNTR_MACRO_ RECORD Pl_CNTR_MACRO_NOT_FOUND Pl_CNTR_AXIS_HAS_NO_BRAKE P _CNTR_DOUBLE_AXIS Pl_CNTR_ILLEGAL_AXIS P _CNTR_PARAM_NR PI_CNTR_INVALID_REAL_NR PI_CNTR_MISSING_ PARAM P _CNTR_SOFT_LIMIT_OUT_OF_RANGE P _CNTR_NO_MANUAL_PAD Pl_CNTR_NO_JUMP PI_CNTR_INVALID_ JUMP PI_CNTR_AXIS_HAS_NO_ REFERENCE Mercury GCS Commands MS163E Version 1 0 2 No error Parameter syntax error Unknown command Command length out of limits or command buffer overrun Error while scanning Unallowable move attempted on unreferenced axis or move attempted with servo off Parameter for SGA not valid Position out of limits Velocity out of limits Attempt to set pivot point while U V and W not all 0 Controller was stopped by command Parameter for SST or for one of the embedded scan algorithms out of range Invalid axis combination for fast scan Parameter for NAV out of range Invalid analog channel Invalid axis identifier Unknown stage name Param
23. _CNTR_AUTOZERO_RUNNING PI_CNTR_NO_LINEAR_AXIS PI_CNTR_INIT_RUNNING PI_CNTR_READ_ONLY_PARAMETER PI_CNTR_PAM_NOT_FOUND PI_CNTR_VOL_OUT_OF_LIMITS PI_CNTR_WAVE_TOO_LARGE Pl _CNTR_NOT_ENOUGH_DDL_MEMORY Piezo Nano Positioning Mercury GCS Commands MS163E Version 1 0 2 PI Axis has no limit switch No relay card installed Command not allowed for selected stage s No digital input installed No digital output configured No more MCM responses No MCM values recorded Controller number invalid No joystick configured Invalid axis for electronic gearing axis can not be slave Position of slave axis is out of range Slave axis cannot be commanded directly when electronic gearing is enabled Calibration of joystick failed Referencing failed OPM Optical Power Meter missing OPM Optical Power Meter not initialized or cannot be initialized OPM Optical Power Meter Communication Error Move to limit switch failed Attempt to reference axis with referencing disabled Selected axis is controlled by joystick Controller detected communication error MOV motion still in progress Unknown parameter No commands were recorded with REP Password invalid Data Record Table does not exist Source does not exist number too low or too high Source Record Table number too low or too high Protected Param current Command Level CCL too low Command execution not possible while Autozero is running Autoz
24. _ETAB COM_GPIB_ELCK COM_RS_INVALID_DATA_BITS COM_ERROR_RS_SETTINGS COM_INTERNAL_RESOURCES_ERROR COM_DLL_FUNC_ERROR COM_FTDIUSB_INVALID_HANDLE COM_FTDIUSB_DEVICE_NOT_FOUND COM_FTDIUSB_DEVICE_NOT_OPENED COM_FTDIUSB_IO_ERROR COM_FTDIUSB_INSUFFICIENT_RESOURCES COM_FTDIUSB_INVALID_PARAMETER COM_FTDIUSB_INVALID_BAUD_RATE COM_FTDIUSB_DEVICE_NOT_OPENED_FOR_ERASE COM_FTDIUSB_DEVICE_NOT_OPENED_FOR_WRITE COM_FTDIUSB_FAILED_TO_WRITE_DEVICE COM_FTDIUSB_EEPROM_READ_FAILED COM_FTDIUSB_EEPROM_WRITE_FAILED COM_FTDIUSB_EEPROM_ERASE_FAILED COM_FTDIUSB_EEPROM_NOT_PRESENT COM_FTDIUSB_EEPROM_NOT_PROGRAMMED COM_FTDIUSB_INVALID_ARGS COM_FTDIUSB_NOT_SUPPORTED COM_FTDIUSB_OTHER_ERROR COM_PORT_ALREADY_OPEN COM_PORT_CHECKSUM_ERROR COM_SOCKET_NOT_READY COM_SOCKET_PORT_IN_USE COM_SOCKET_NOT_CONNECTED Nano Positioning Mercury GCS Commands MS163E Version 1 0 2 PI IEEE488 Function requires GPIB board to be SAC IEEE488 I O operation aborted IEEE488 Interface board not found IEEE488 Error performing DMA IEEE488 I O operation started before previous operation completed IEEE488 No capability for intended operation IEEE488 File system operation error IEEE488 Command error during device call IEEE488 Serial poll status byte lost IEEE488 SRQ remains asserted IEEE488 Return buffer full IEEE488 Address or board locked RS 232 5 data bits with 2 stop bits is an invalid combination as is 6 7 or 8 data bits with 1 5 stop bi
25. ce mode ON off p 34 RON get Reference mode p 34 SAI Set Axis Identifier p 34 SAI get axis identifier p 35 SPA Set Parameter p 35 SPA Get Parameter p 36 SRG Read register p 36 STP Stop Motion p 36 SVO set SerVO on or off p 37 SVO Get servo status p 37 Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 16 Command Descriptions Piezo Nano Positioning PI TAC Tell Analog Channels p 38 TAV Get Analog Input p 38 TIO Tell Digital I Os p 38 TMN Tell Minimum Travel Value p 39 TMX Tell Maximum Travel Value p 39 TVI Tell Valid axis Identifiers p 39 VEL Set Velocity p 40 VEL Get Velocity p 40 VER Get Version p 41 VST Get available Stages p 41 WAC Wait for condition p 41 5 Poll Motion Status p 42 7 Controller Ready p 42 8 Macro running p 43 24 Stop p 43 6 2 Command Reference Alphabetical IDN Get Identity Number Description Reports an identity string Format IDN Arguments none Response One line string terminated by line feed e g Physik Instrumente Mercury GCS Network 0 9 3 6 BRA Set brake on or off Description Sets BRAke on or off for an axis Power up factory default is ON Brake set to OFF brake control line high by INI as Brake ON disables motors of some stages even if stage has no brake Format BRA lt AxisID gt lt uint gt l
26. d time HT native command in ms STP SVO VEL WAC ONT lt axis gt 1 WAC DIO lt ch gt lt b gt O 0O Q O 4 1 3 Listing Stored Macros When the MAC command is used with a macro name to list the contents of a macro the native commands stored on the unit are translated back to GCS commands with all the implications that entails Functions that cause several native commands to be stored in the macro may not be recognized when the macro is listed making it possible to see the GCS versions of the individual functions see INI example below The native command versions can of course always be listed by send the native command TMn or TZ Tell Macro n Tell Macro Zero with Mercury Sendnongcsstring DLL function see Native Commands manual for details Native commands that have no equivalent in GCS e g FE3 are listed in their original form as follows lt non GCS FE3 gt Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 10 Macro Storage on Controller Piezo Nano Positioning PI 4 1 4 Macro Translation amp Listing Examples INI When converted to native commands INI is separated into all of its separate functions when the stored macro is listed with MAC they are shown as a long list of separate GCS commands From the list it is obvious that when INI is used not many commands are left before the macro is full With an M 505 4PD the dialog in which a macro containing INI is stored and th
27. dentifiers must then be used with all axis commands and in macro names even for macros that were previously stored using different names 5 2 2 Digital Input Output Each controller provides four digital output channels and four channels that can be read as either digital or analog inputs C 862 has only 3 analog inputs The digital I O commands DIO DIO identify these channels with Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 14 GCS Command Syntax Piezo Nano Positioning PI the single character identifiers as follows ABCDEFGHIJKLMNOP QRSTUVWXYZ1234567890 gt lt _ J amp I four for each controller with addresses 0 through 15 Identifiers associated with missing addresses are skipped 5 2 3 Analog Input The same input lines can also be read as analog inputs of 0 to 5 V The analog input command TAV identifies the input lines with A1 to A64 again depending on the controller s address setting and skipping values associated with any missing addresses The fourth line on C 862 DC motor controllers is digital only and cannot be read in analog mode 5 2 4 Joystick Connections Wwww pi ws Each axis associated with a controller having a joystick port can be associated with one axis of motion of a joystick That axis and the associated joystick button is identified in the network by the controller device number which is one greater than the controller address Note that the inc
28. e controller with CST p 18 Format VST Arguments none Response lt string gt LF where lt string gt is a stage name WAC Wait for Condition Description Wait until a given condition of the following type occurs a specified value is compared with a queried value according a specified rule Can only be used in macros See also MEX p 27 Format WAC lt CMD gt lt OP gt lt value gt Arguments lt CMD gt is a query command in its usual syntax The answer must consist of a single value Supported commands are ONT and DIO lt OP gt is the operator to be used The following are allowable controller firmware specific ea eS eS ea SS lt value gt is the value to be compared with Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 41 Command Descriptions Piezo Nano Positioning PI the response to lt CMD gt Response none Example Send MAC BEG AMC028 MVR A 1 WAC ONT A 1 MVR A 1 WAC ONT A 1 MAC START AMC028 MAC END MAC START AMC028 Note Macro AMC028 is recorded and then started WAC ONT A 1 waits until the answer to ONT A is A 1 5 Poll Motion Status Description Requests motion status of the connected axes Note that when no stage is connected to an axis NOSTAGE is returned by CST p 19 that axis is not included in the answer Format 5 single ASCII character number 5 Arguments none Response lt uint gt is the decimal sum of
29. eferencing procedure 0 not successful 1 successful Illegal axis identifier reference mode must be 1 see RON p 34 Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 30 Command Descriptions Wwww pi ws Piezo Nano Positioning PI MVR MoVe Relative Description Format Arguments Response Example MoVe given axes Relative to their current position The new target position is calculated by adding the given value lt float gt to the last commanded target value Axes will start moving to the new position if ALL given targets are within the allowed range and ALL given axes can move This command can be interrupted by 24 HLT and STP Servo must be enabled prior to using this command See also Section Units and GCS on p 5 MVR lt AxisID gt lt float gt lt AxisID gt lt float gt lt AxisID gt is a valid axis identifier lt float gt added to the last commanded target position is set as new target position in physical units none Send MOV A 0 5 B 12 3 Note This is an absolute move Send POS AB Receive A 0 500000 B 12 300000 Send MVRA1B2 Note This is a relative motion Send POS AB Receive A 0 500000 B 14 300000 Send MVR A 1 B 2000 Note Target position of axis B exceeds travel range Command is not executed Send POS AB Receive A 0 500000 B 14 300000 ONT axis ON Target Description Get ON Target status of gi
30. en listed can look as follows gt gt CST DM 505 4PD gt gt ERR lt lt 0 gt gt MAC BEG DMC003 gt gt INI D gt gt MAC END gt gt ERR lt lt 0 gt gt MAC DMC003 lt lt SPA D50 0 lt lt SPA D24 0 lt lt BRA DO lt lt SPA D1 200 lt lt SPA D2 150 lt lt SPA D3 100 lt lt SPA D8 2000 lt lt SPA D4 2000 lt lt SVO D1 lt lt VEL D25 lt lt SPA D11 4000000 lt lt STP REF Similarly REF A is stored as the following sequence shown this time in the native command set SV40000 FE2 WS MR 40000 WS FE WS SV100000 This sequence when read with MAC is recognized by the DLL and translated back to REF A obscuring the fact that it occupies 8 of the 16 possible command slots It can thus be seen that INI and REF will not both fit in the same macro Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 11 Piezo Nano Positioning PI Macro Storage on Controller MVR The relative move sizes entered with MVR and converted into counts using the parameters of the currently configured stage before being stored So if a macro containing MVR A2 is created with an M 111 2DG configured on axis A and later an M 505 4PD is configured for A with CST the macro will read out as MVR A 58 2542 www pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 12 GCS Command Syntax Piezo Nano Positioning PI 5 GCS Command Syntax 5 1 Command Format GCS ASCII Commands have t
31. ent reference state is kept encoder signals are still read so that the current position is always known An axis can move in the usual way as soon as servo control is switched on again e With C 663 stepper motor controllers the motor is deactivated no servo loop implemented The current reference state is reset to not referenced because the C 663 can no longer know the current position when the motor is deactivated This is why an axis must always be referenced to allow for positioning commands after servo control was switched on again When servo is switched off while stage is moving the stage stops Format SVO lt AxisID gt lt status gt lt AxisID gt lt status gt Arguments lt AxisID gt is a valid axis identifier lt status gt 0 set servo off 1 set servo on Response none Troubleshooting Illegal axis identifier SVO get servo status Description Gets SerVO control mode for given axes Get all axes when lt AxisID gt Format SVO lt AxisID gt Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 37 Command Descriptions Arguments Response Troubleshooting Piezo Nano Positioning PI lt AxisID gt is a valid axis identifier lt AxisID gt lt status gt LF where lt status gt 0 servo is off 1 servo is on Illegal axis identifier TAC Tell Analog Channels Description Format Parameter Response Troubleshooting Get the numbe
32. ero requires at least one linear axis Initialization still in progress Parameter is read only Parameter not found in non volatile memory Voltage out of limits Not enough memory available for requested wav curve not enough memory available for DDL table DDL can not be started Page 49 Error Codes 69 70 71 72 73 100 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 301 302 303 304 305 306 307 308 309 www pi ws Piezo PI_CNTR_DDL_TIME_DELAY_TOO_LARGE PI_CNTR_DIFFERENT_ARRAY_LENGTH P _CNTR_GEN_SINGLE_MODE_RESTART PI_CNTR_ANALOG TARGET ACTIVE PI_CNTR_WAVE_GENERATOR_ACTIVE PI_LABVIEW_ERROR PI _CNTR_NO_AXIS PI _CNTR_NO_AXIS_PARAM_FILE PI_CNTR_INVALID_AXIS_PARAM_FILE Pl_CNTR_NO_AXIS_ PARAM_BACKUP Pl _CNTR_RESERVED_ 204 Pl _CNTR_SMO_WITH_SERVO_ON P _CNTR_UUDECODE_INCOMPLETE_HEADER Pl_CNTR_UUDECODE_NOTHING_TO_DECODE P _CNTR_UUDECODE_ILLEGAL_FORMAT P _CNTR_CRC32_ERROR Pl_CNTR_ILLEGAL_FILENAME Pl_CNTR_FILE_NOT_FOUND Pl_CNTR_FILE_WRITE_ERROR P _CNTR_DTR_HINDERS_VELOCITY_CHANGE PI_CNTR_POSITION_UNKNOWN PI_CNTR_CONN_POSSIBLY_BROKEN PI_CNTR_ON_LIMIT_SWITCH P _CNTR_UNEXPECTED_STRUT_STOP P _CNTR_POSITION_BASED_ON_ESTIMATION Pl_CNTR_POSITION_BASED_ON_INTERPOLATION P _CNTR_SEND_BUFFER_OVERFLOW Pl_CNTR_VOLTAGE_OUT_OF_LIMITS P _CNTR_VOLTAGE_SET_WHEN_SERVO_ON PI_CNTR_RECEIVING_BUFFER_OVERFLOW P _CNTR_EEP
33. error in macro editor One or more arguments given to function is invalid empty string index out of range Axis identifier is already in use by a connected stage Invalid axis identifier Could not access array data in COM server Range of array does not fit the number of parameters Invalid parameter ID given to SPA or SPA Number for AVG out of range must be gt 0 Incorrect number of samples given to WAV Generation of wave failed Motion error while axis in motion call CLR to resume operation Controller is already running a macro Configuration of PZT stage or amplifier failed Current settings are not valid for desired configuration Unknown channel identifier Error while reading writing wave generator parameter file Page 53 Error Codes 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 Wwww pi ws Piezo P _UNKNOWN_WAVE_SET P _WAVE_EDITOR_FUNC_NOT_ LOADED P _USER_CANCELLED PI_C844_ERROR P _DLL_NOT_LOADED PI_PARAMETER_FILE_PROTECTED P _NO_PARAMETER_FILE_OPENED P _STAGE_DOES_NOT_EXIST P _PARAMETER_FILE_ALREADY_OPENED P _PARAMETER_FILE_OPEN_ERROR P _INVALID_CONTROLLER_VERSION P _PARAM_SET_ERROR P _ NUMBER_OF_POSSIBLE_WAVES_EXCEEDED PI Nano Positioning Could not find description of wave form
34. eter out of range Invalid macro name Error while recording macro Macro not found Axis has no brake Axis identifier specified more than once Illegal axis Incorrect number of parameters Invalid floating point number Parameter missing Soft limit out of range No manual pad found No more step response values No step response values recorded Axis has no reference sensor Page 48 Error Codes 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 www pi ws PI _CNTR_STAGE_HAS_NO_LIM_SWITCH PI_CNTR_NO_RELAY_CARD PI_CNTR_CMD_NOT_ALLOWED_FOR_STAGE PI _CNTR_NO_DIGITAL_INPUT PI _CNTR_NO _DIGITAL_OUTPUT PILCNTR_NO_MCM PI_CNTR_INVALID_MCM PI_CNTR_INVALID_CNTR_NUMBER PI_CNTR_NO_JOYSTICK_CONNECTED PI_CNTR_INVALID_EGE_AXIS PI _CNTR_SLAVE_POSITION_OUT_OF_RANGE P _CNTR_COMMAND_EGE_SLAVE PI_CNTR_JOYSTICK_CALIBRATION_FAILED PI_CNTR_REFERENCING_FAILED PI_CNTR_OPM_MISSING PI_CNTR_OPM_NOT_INITIALIZED PI_CNTR_OPM_COM_ERROR PIl_CNTR_MOVE_TO_LIMIT_SWITCH_FAILED Pl_CNTR_REF_WITH_REF_DISABLED P _CNTR_AXIS_UNDER_JOYSTICK_CONTROL Pl _CNTR_COMMUNICATION _ ERROR PI _CNTR_DYNAMIC_MOVE_IN_PROCESS P _CNTR_UNKNOWN_PARAMETER Pl _CNTR_NO_REP_RECORDED P _CNTR_INVALID_ PASSWORD PI_CNTR_INVALID_ RECORDER_CHAN PI_CNTR_INVALID_RECORDER_SRC_OPT P _CNTR_INVALID_RECORDER_SRC_CHAN Pl_CNTR_PARAM_PROTECTION PI
35. he axes are stopped their target positions are set to the current positions This command is identical in function to STP p 36 but only one character must be sent via the interface Therefore 24 can also be used while the controller is performing time consuming tasks 24 always does a hard stop Use HLT p 23 to stop a single axis or to stop axes smoothly Format 24 ASCII character 24 Arguments none Response none www pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 43 Piezo Nano Positioning PI Stage Parameters 7 Stage Parameters CAUTION Changing stage parameters may damage your stage Most of the parameters which are loaded from the PiStages dat or ControllerUserStages dat database describe the physical properties and limits of a stage They can be changed by several commands but modifying them imprudently could cause damage to the stage So be sure to handle these parameters with care and change them only if you want to connect a stage which is not found in the PiStages dat or ControllerUserStages dat database you get all stages from these DAT files using VST p 41 or in very special cases The relevant parameters are listed in the following subsections 7 1 Servo Loop Parameters NOTE Servo loop parameters are not relevant for stepper motor controllers because there is no servo control algorithm implemented in the current C 663 Mercury Step controller firmware Description
36. he format below Exceptions are the single character binary commands on p 42 ff CMDSPXSPsV V SPXSP sV V LF where CMD token mnemonic of the specific command one space ASCII char 32 can be omitted between the item identifier and the signed parameter item identifier see p 14 sign positive values can be transmitted without sign V parameter values are doubles double precision or integers depending on the command Square brackets indicate an optional entry or parameter Braces Y indicate a repetition of parameters i e that it is possible to access more than one item e g several axes in one command line LF LineFeed Char 10 lt 4 X mm w Example Send MOV SPIA10 0 SPIB5 0 Moves axis A to position 10 0 mm and axis B to 5 0 mm Format of answers Some commands deliver a report message having the following format X sV VLF where X item identifier see p 14 S sign positive values are transmitted without sign V V parameter values are doubles or integers depending on the command LF LineFeed ASCII char 10 Example Send POS SPABLF Report A 10 0000 SP ILF B 5 0000 LF There is one space SP ASCII char 32 before the LineFeed character on all lines of the response except the last line The individual spaces and l
37. he physical unit of an axis is scaled with DFF p 19 the velocity is automatically adjusted to the appropriate new value VEL can be changed while the axis is moving Format VEL lt AxisID gt lt float gt lt AxisID gt lt float gt Arguments lt AxisID gt is a valid axis identifier lt float gt is the velocity value in physical units it must be positive or zero Response none Troubleshooting Illegal axis identifiers given velocity exceeds the maximum velocity value SPA param 10 axis is under joystick control VEL Get Velocity Description Get velocity settings of given axes Format VEL lt AxisID gt Arguments lt AxisID gt is a valid axis identifier if omitted all axes are queried Response lt axis gt lt float gt LF where lt float gt is the current velocity setting in physical units s Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 40 Command Descriptions Piezo Nano Positioning PI VER Get Version Description Returns the VERsion of the firmware Format VER Arguments none Response lt string gt is the version information of the firmware e g Pl_Mercury GCS_DLL 1 0 0 11 A c 2006 Physik Instrumente PI Karlsruhe C 663 Ver 1 06 2006 08 04 D C 2000 4 DIVA Automation PI GmbH Karlsruhe Ver 8 40 13 Jan 2004 VST Get available Stages Description List the names of all stages which can be connected to th
38. ill begin with A B C D four for each controller see Identifiers p 14 for more details lt InLinelD gt lt uint gt LF when lt uint gt 0 digital input is LOW OFF lt uint gt 1 digital input is HIGH ON ERR get ERRor Description Get ERRor code lt int gt of the last error and reset the error to 0 Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 21 Command Descriptions Piezo Nano Positioning PI Only the last error is buffered Therefore you might wish to call ERR after each command Negative error codes lt 0 are DLL related positive gt 0 command or controller related The error codes and their description are fully listed in the Mercury GCS DLL Manual MS 154E Format ERR Arguments none Response The error code of the last occurred error int Troubleshooting Communication breakdown The following table shows a selection of possible controller errors 0 No error 1 Parameter syntax error 2 Unknown command 5 Unallowable move attempted on unreferenced axis or move attempted with servo off 7 Position out of limits 8 Velocity out of limits 10 Controller was stopped by command 15 Invalid axis identifier 16 Unknown stage name 17 Parameter out of range 18 Invalid macro name 19 Error while recording macro 20 Macro not found 22 Axis identifier specified more than once 23 Illegal axis 24 Incorrect number of parameters 25 Invalid floating point
39. inefeed characters will not all be marked in the Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 13 GCS Command Syntax Piezo Nano Positioning PI rest of this manual Floating Point Data Format Some commands require parameters in floating point format The following syntax is possible for these arguments SV SV V SV VESXXX where S sign positive values can be without sign V integer parameter will be converted into float by firmware V V float parameter the decimal separator must be a dot not a comma E exponent character XXX exponent value The format in which floating point values are reported output is always SV VVVV where S sign positive values are reported without sign V VVVVVV the number of digits after the decimal point may vary If the reply includes more than 2 floats each will occupy one line 5 2 Identifiers 5 2 1 Axes If multiple Mercury controllers are connected together in a network a unique axis identifier is assigned to each controller by the Pl_Mercury _GCS_DLL The defaults depend on the controller addresses The address of a controller 0 to 15 is set in DIP switches on the front panel and is one less than the device number 1 16 The corresponding default axis identifiers are A B C D etc starting with address 0 device 1 Letters for missing addresses are skipped The default identifiers can be changed using SAI p 34 The new i
40. ing gt is a list with the names of all macros stored on all controllers in the controller network one per line Troubleshooting Macro lt macroname gt not found MEX Stop macro execution if condition true Description Stop macro execution due to a given condition of the following type a specified value is compared with a queried value according to a specified rule This command can only be used in macros When the macro interpreter accesses this command the condition is checked If it is true the current macro is stopped otherwise macro is execution is continued with the next line Should the condition be fulfilled later the interpreter will ignore it See also WAC p 41 Format MEX lt CMD gt lt OP gt lt value gt Arguments lt CMD gt is a query command in its usual syntax The answer must consist of a single value Supported is DIO lt OP gt is the operator to be used The following are allowable controller firmware specific Te hee eS Sa SS lt value gt is the value to be compared with Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 27 Command Descriptions Response Example Piezo Nano Positioning PI the response to lt CMD gt none Send MAC START AMC001 Note Macro AMC001 has the following contents MAC START AMC002 MAC START AMC003 MEX DIO D 1 MAC START MAC1 Macro AMC002 has the following contents MEX DIO D 1 MEX DIO A 0 MVR A 1 0 DE
41. itch active high must agree pos Hl negative limit switch active with hardware high neg HI interlock 1 positive limit switch active low setting see pos LO neg HI HW User 2 pos Hl neg LO Manual 3 pos LO neg LO 25 Stage type 0 DC motor Incorrect stage type may cause 1 Piezo malfunction 2 Voice coil 4 Piezomotor 6 Stepper Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 46 Stage Parameters Piezo 48 Maximum travel range in negative direction 2147483647 to 2147483647 Physiccal unit 49 Invert the reference 1 invert the reference else 0 60 Stage name maximum 15 characters 64 Hold Current HC native command mA 65 66 Drive Current DC native command Hold Time HT native command mA ms 67 max current max value that DC and HC can have mA Wwww pi ws Number refers to the parameter ID used by Mercury_SPA Mercury GCS Commands MS163E Version 1 0 2 Page 47 Error Codes Piezo Error Codes Nano Positioning PI 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 ON O oa A Oo ON OD 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Wwww pi ws PI _CNTR_NO_ERROR Pl_CNTR_PARAM_
42. ith a three letter mnemonic Because they address the network as a whole the commands contain unique identifiers for individual axes controllers and for the I O channels on the controllers see Identifiers p 14 for details With current Mercury firmware GCS support is provided via a Windows DLL which translates GCS command based function calls to the native commands for details see the Mercury GCS DLL manual PiMikroMove converts the GCS ASCII commands described here to the corresponding function calls Check www pi ws for availability of the planned Mercury GCS firmware and the operating software manual for the firmware update procedure Mercury GCS Commands MS163E Version 1 0 2 Page 3 Introduction Piezo Nano Positioning PI NOTE Do not mix the GCS and the native commands GCS move commands for example do not work properly after the position has been changed by a native command You can type GCS commands in the Command entry window of PIMikroMove see the PiMikroMove manual for details or using the PlTerminal program in GCS DLL mode Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 4 Units and GCS Piezo Nano Positioning PI Units and GCS 2 1 Hardware Physical Units and Scaling The GCS General Command Set system uses basic physical units of measure The default conversion factors chosen to convert hardware dependent units e g encoder counts or steps into millimeter
43. luded joystick Y cable permits connecting one axis and one button of one joystick to one controller and the other axis and other button to another controller Mercury GCS Commands MS163E Version 1 0 2 Page 15 Command Descriptions Piezo Nano Positioning PI G Command Descriptions 6 1 Command List Alphabetical IDN Get Identity p 17 BRA Set brake on or off p 17 BRA Ask if axis has brakes p 18 CST Change Stage p 18 CST get stagename p 19 DEL Delay p 19 DFF DeFine Factor p 19 DFF get factor p 20 DFH DeFine Home p 20 DFH get home positions p 20 DIO set Digital Output p 21 DIO get Digital Output p 21 ERR get ERRor p 21 GOH GO Home p 22 HLP HeLP p 23 HLT HaLT p 23 INI INItialization p 23 JAX List joystick to motion axis assignments JON activate deactivate joystick JON get joystick enable status LIM Indicates whether axes have limit switches p 25 MAC macro p 25 MAC list macro p 27 MEX Stop macro execution if specified condition true p 27 MNL Move to Negative Limit p 28 MOV MOVe absolute p 29 MOV read target position p 30 MPL Move to Positive Limit p 30 MVR MoVe relatiVe p 31 ONT axis ON Target p 31 POS set real position p 32 POS read real POSition p 32 REF move to REFerence position p 33 REF Lists axes which have a reference sensor p 33 RON set Referen
44. mat Arguments Response Troubleshooting Example Set a given PArameter of the given axis to given value in volatile memory Parameter changes will be lost when the controller is powered off or rebooted See the PI Stage Editor or PIMikroMove for ways to save parameter sets as user stages CAUTION The SPA command is for setting hardware specific parameters Incorrect values may lead to improper operation or damage of your hardware SPA lt AxisID gt lt ParamNumber gt lt ParamValue gt lt AxisID gt lt ParamNumber gt lt ParamValue gt lt AxisID gt is a valid axis identifier lt ParamNumber gt is the parameter ID Valid parameter IDs are given in the list on p 45 lt ParamValue gt is the value to which the parameter lt ParamNumber gt of lt AxisID gt is to be set none Illegal axis identifier incorrect parameter ID Send SPA A 10 0 05 B 10 0 08 Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 35 Command Descriptions Piezo Nano Positioning PI Note Set the maximum velocity for axis A to 0 05 mm s and for axis B to 0 08 mm s SPA Get Parameter Description Format Arguments Response Troubleshooting Example Get the value of specified parameters of specified axes SPA lt AxisID gt lt ParamNumber gt lt AxisID gt is a valid axis identifier lt ParamNumber gt is the parameter ID Valid parameter IDs are given in the list on p 45
45. n could not calculate value WaveEditor Graph display component not installed User Profile Mode Command is not allowed check for required preparatory commands User Profile Mode First target position in User Profile is too far from current position Controller is already in User Profile Mode User Profile Mode Block or Data Set index out of allowed range ProfileGenerator No profile has been created yet ProfileGenerator Generated profile exceeds limits of one or both axes ProfileGenerator Unknown parameter ID in Set Get Parameter command ProfileGenerator Parameter out of allowed range User Profile Mode Out of memory User Profile Mode Cluster is not assigned to this axis Unknown cluster identifier Mercury GCS Commands MS163E Version 1 0 2 Page 55
46. ntifier POS read real POSition Description Returns the current POSition If lt AxisID gt is omitted all axes are queried Response depends on the factor set by DFF p 19 See also Section Units and GCS on p 5 Format POS lt AxisID gt Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 32 Command Descriptions Arguments Response Troubleshooting Piezo Nano Positioning PI lt AxisID gt is a valid axis identifier lt axis gt lt float gt LF where lt float gt is the current position in physical units Illegal axis identifier REF move to REFerence position Description Format Arguments Response Troubleshooting Moves the given axis to its reference switch sets the position counter to the reference position value stage type specific value stored on the controller and sets the reference state to reference OK see Section 3 on p 6 for more information regarding referencing If the move begins on the positive side of the reference switch the switch will be passed and re approached from the negative side If lt AxisID gt is omitted moves all axes If multiple axes are affected by REF one axis after another is moved to its switch The REF command always approaches the reference switch from the same side no matter where the axis is when it is issued This command can be interrupted by 24 REF lt AxisID gt lt AxisID gt i
47. number 26 Parameter missing 34 Command not allowed for selected stage s 50 Attempt to reference axis with referencing disabled 54 Unknown parameter 1000 Too many nested macros 1001 Unknown axis identifier GOH GO Home Description Move given axes to home position GOH lt AxisID gt is the same as MOV lt AxisID gt 0 This command can be interrupted by 24 and STP www pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 22 Command Descriptions Format Arguments Response Troubleshooting PI Piezo Nano Positioning GOH lt AxisID gt lt AxisID gt is a valid axis identifier if omitted both axes are affected none Illegal axis identifier HLP HeLP Description List a HeLP string which contains all available commands Format HLP Arguments none Response List of commands available Troubleshooting Communication breakdown HLT HaLT Description HaLT the motion of given axes smoothly Only commands causing non complex motion e g MOV GOH can be interrupted with HLT Error code 10 is set Use 24 instead to stop complex motions like referencing etc HLT stops motion with given system deceleration with regard to system inertia STP p 36 in contrast aborts current motion as fast as possible for the controller without taking care of systems inertia or oscillations After the axis was stopped the target position is set to the current position
48. o set voltage when servo on Received command is too long Error while reading writing EEPROM Error on 2C bus Timeout while receiving command A lengthy operation has not finished in the expected time Insufficient space to store macro Page 50 Error Codes 310 311 333 555 601 602 603 1000 1001 1002 1003 1004 2000 4000 4001 4002 4003 4004 4005 4006 4007 P _CNTR_EUIl_OLDVERSION_CFGDATA Pl_CNTR_EUI_INVALID_CFGDATA Pl_CNTR_HARDWARE_ERROR P _CNTR_UNKNOWN_ERROR P _CNTR_NOT_ENOUGH_MEMORY PI_CNTR_HW_VOLTAGE_ERROR Pl _CNTR_HW_TEMPERATURE_ERROR Pl _CNTR_TOO_MANY_NESTED_MACROS P _CNTR_MACRO_ALREADY_DEFINED P _CNTR_NO_MACRO_ RECORDING P _CNTR_INVALID_MAC_PARAM PI _CNTR_RESERVED_1004 P _CNTR_ALREADY_HAS_ SERIAL_NUMBER P _CNTR_SECTOR_ERASE_FAILED P _CNTR_FLASH_PROGRAM_FAILED Pl_CNTR_FLASH_READ_ FAILED Pl_CNTR_HW_MATCHCODE_ERROR P _CNTR_FW_MATCHCODE_ERROR PI _CNTR_HW_VERSION_ERROR Pl_CNTR_FW_VERSION_ERROR Pl _CNTR_FW_UPDATE_ERROR Interface Errors 0 1 10 11 12 13 14 15 16 17 www pi ws COM_NO_ERROR COM_ERROR SEND_ERROR REC_ERROR NOT_CONNECTED_ERROR COM_BUFFER_OVERFLOW CONNECTION_FAILED COM_TIMEOUT COM_MULTILINE_RESPONSE COM_INVALID_ID COM_NOTIFY_EVENT_ERROR COM_NOT_IMPLEMENTED COM_ECHO_ERROR COM_GPIB_EDVR COM_GPIB_ECIC COM_GPIB_ENOL COM_GPIB_EADR COM_GPIB_EARG Nano Positioning P I Configuration data has old version number Invalid configuration data
49. ommandable position in physical units TMX Tell Maximum Travel Value Description Get the maximum commandable position in physical units The maximum commandable position is defined by the travel range limit of the connected stage type When the physical unit of an axis is scaled with DFF p 19 or the zero point shifted with DFH the maximum commandable position is automatically adjusted to the appropriate new value Format TMX lt AxisID gt Arguments lt AxisID gt is a valid axis identifier Response lt AxisID gt lt float gt LF where lt float gt is the maximum commandable position in physical units TVI Tell Valid axis Identifiers Description Tell Valid set of characters which can be used as axis Identifiers Note Use SAI p 34 to set axis identifiers and SAI ALL p 35 to get the axis identifiers which are currently used Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 39 Command Descriptions Piezo Nano Positioning PI Format TVI Arguments none Response lt string gt is a list of characters Troubleshooting VEL Set Velocity Description Set VELocity to use for moves of specified axes Notes The maximum velocity of an axis is given by SPA parameter 10 see SPA p 35 and parameter list on p 45 VEL does not change this maximum but sets only the currently applied velocity which must be lower than the maximum velocity When t
50. one axis after another is moved to its limit switch This command can be interrupted by 24 Note that MNL resets the home position set with DFH p 20 MNL lt AxisID gt lt AxisID gt is a valid axis identifier lt uint gt LF lt uint gt indicates success of the referencing procedure 0 not successful 1 successful Illegal axis identifier MOV MOVe absolute Description Format Arguments Response Troubleshooting Example 1 Example 2 Set new absolute target position for given axis Axes will start MOVing to the new positions only if ALL given targets are within the allowed ranges and ALL given axes can move All given axes start moving simultaneously This command can be interrupted by 24 STP and HLT Servo control must be enabled for all commanded axes prior to using this command See also Section Units and GCS on p 5 MOV lt AxisID gt lt float gt lt AxisID gt lt float gt lt AxisID gt is a valid axis identifier lt float gt is the target position in physical units none Parameter out of limits Illegal axis identifier joystick enabled for axis Send MOV A10B 2 Note Axis A moves to 10 axis B moves to 2 all target positions in the physical unit valid for the appropriate axis Send MOV A 243 Send ERR Receive 7 Note The axis does not move The Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 29 Command Descriptions
51. p open loop stepper motor controller as well as the C 862 and C 863 Mercury DC motor servo controllers With current firmware it is possible to operate Mercury controllers with two command sets the native ASCII command set and the PI General Command Set GCS GCS support is currently provided via a Windows DLL which translates GCS command based function calls to the native commands Either command set can be used to set operating modes transfer motion parameters and to query system and motion values 1 1 Native Command Set The native ASCII command set is understood by the Mercury firmware It can be used with virtually any terminal emulator software and with MMCRun on the CD that comes with the controller Most native Mercury commands begin with a two letter mnemonic Because the native networking architecture uses an address selection mechanism the commands themselves do not include controller or axis designators The syntax of the native commands and a command reference can be found in the Native Commands Manual MS176 This manual covers only the GCS command set 1 2 GCS Command Set Wwww pi ws The GCS is the PI standard command set This command set ensures the compatibility between different controllers It provides comprehensive access to Mercury Class controller functionality The GCS command set views networked Mercury Class controllers as a single multi axis controller Most GCS commands begin w
52. pecified macro MAC NSTART lt macroname gt lt uint gt Repeat the specified macro lt uint gt times Each execution is started when the previous one has finished See also MAC START for further details MAC START lt macroname gt Starts execution of specified macro A running macro sends no responses to any interface and will continue even if the controller is deselected This means query commands if present in a macro are useless The only communication possible with a controller running a macro is with single character commands Response none Troubleshooting Macro recording is active keywords BEG DEL or inactive END Macro contained a disallowed MAC command Examples MAC BEG AMCOO00 Start recording a macro named AMCOOO Macros with the number 000 are special in that they will be run Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 26 Command Descriptions Piezo Nano Positioning PI by the controller on which they are stored upon power up or reset even without a host PC connected MAC list macro Description List MACros or contents of a given macro Format MAC lt macroname gt Arguments lt macroname gt name of the macro whose contents shall be listed if omitted the names of all stored macros are listed Response lt string gt if lt macroname gt is given lt string gt is the contents of this macro as GCS commands one per line if lt macroname gt is omitted lt str
53. ption Format Arguments Response Troubleshooting Get reference mode of given axes RON lt AxisID gt lt AxisID gt is a valid axis identifier lt AxisID gt lt mode gt LF where lt mode gt is the current reference mode of the axis see RON Illegal axis identifier SAI Set Axis Identifier Description Format Arguments Set old Axis Identifier to new identifier TVI p 39 provides a list of valid axis identifiers SAI lt AxisID gt lt newaxis gt lt AxisID gt lt newaxis gt lt AxisID gt is a valid axis identifier lt newaxis gt is the new identifier for lt AxisID gt Mercury GCS Commands MS163E Version 1 0 2 Page 34 Command Descriptions Response Troubleshooting Piezo Nano Positioning PI none Illegal axis identifier or duplicate axis identifier SAI get axis identifier Description Format Arguments Response Gets the axis identifiers Note that SAI without an argument will only return the axes which are assigned to stages see CST p 18 In contrast to this SAI ALL and CST p 19 will always return all axes i e the answer also includes the axes set to NOSTAGE SAI ALL The parameter ALL is optional If used the answer includes the axes which are not connected to stages stage name is NOSTAGE lt AxisID gt LF lt AxisID gt is a valid axis identifier SPA Set Parameter Description For
54. r of installed analog lines TAC lt none gt lt uint gt lt uint gt is the number of analog input lines TAV Get Analog Input Description Format Parameter Response Get voltage at analog input TAV lt InputID gt lt InputID gt ID to use to read corresponding input line in analog mode A1 to A64 see Identifiers p 14 for details lt InputID gt lt float gt LF where lt float gt is the current voltage at the input channel TIO Tell Digital I O Lines Description Format Arguments Response Tell number of installed digital I O lines TIO none l lt uint1 gt O lt uint2 gt where lt uint1 gt is the number of digital input lines lt uint2 gt is the number of digital output lines Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 38 Command Descriptions Piezo Nano Positioning PI TMN Tell Minimum Travel Value Description Get the minimum commandable position in physical units The minimum commandable position is defined by the travel range limit of the connected stage type When the physical unit of an axis is scaled with DFF p 19 or the zero point shifted with DFH the minimum commandable position is automatically adjusted to the appropriate new value Format TMN lt AxisID gt Arguments lt AxisID gt is a valid axis identifier Response lt AxisID gt lt float gt LF where lt float gt is the minimum c
55. s a valid axis identifier lt uint gt LF lt uint gt indicates success of the referencing procedure 0 not successful 1 successful Illegal axis identifier reference mode must be 1 see RON p 34 REF list axes with REFerence sensor Description Format Arguments Response Indicate whether specified axes have reference sensors REF lt AxisID gt lt AxisID gt is a valid axis identifier lt axis gt lt uint gt LF where lt uint gt indicates whether the axis has a Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 33 Command Descriptions Wwww pi ws Troubleshooting Piezo Nano Positioning PI reference switch 1 or not 0 Illegal axis identifier RON set reference mode Description Format Arguments Response Troubleshooting Set reference mode of given axes Mode 0 referencing moves with REF p 33 MNL p 28 and MPL p 30 are not possible absolute position must be set with POS p 32 to reference the axis Mode 1 REF or MNL or MPL is required to reference the axis usage of POS is not allowed See Section 3 on p 6 for more information RON lt AxisID gt lt mode gt lt AxisID gt is a valid axis identifier lt mode gt can be 0 or 1 see description above for the meaning Default is taken from stage database usually 1 none Illegal axis identifier RON get reference mode Descri
56. s or degrees as appropriate see SPA and SPA command descriptions parameters 14 and 15 are found in the Plstages dat stage database From there they are transferred to the controller An additional scale factor can be applied see DFF command to the basic physical unit making a working physical unit available without overwriting the conversion factor for the first This is the unit referred to by the term physical unit in the rest of this manual See also Section 7 2 on p 45 2 2 Rounding Considerations www pi ws When converting move commands in physical units to the hardware dependent units required by the motion control layers rounding errors can occur The GCS software is so designed that a relative move of x physical units will always result in a relative move of the same number of hardware units Because of rounding errors this means for example that 2 relative moves of x physical units may differ slightly from one relative move of 2x When making large numbers of relative moves especially if moving back and forth either intersperse absolute moves or make sure that each relative move in one direction is matched by a relative move of the same size in the other direction Examples With for example 5 hardware units 33 x 10 physical units Relative moves cause move of smaller than 0 000003 physical units 0 hardware units of 0 000004 to 0 000009 physical units 1 hardware unit of 0 000010 to 0 000016 physical uni
57. sesdsevess e ea a a a uate anilazarvautatadastieadeveaisveveads 7 41 1 Features and Restrictions cccccccceceececeeeceeeeeeeseneceeeeeeesecsnnaeeeeees 7 412 Macro Creation in GCS cccccccccccceceeeseeneeceeeeeeeeeeseccaeaeeeeeeesensnninaeeees 7 41 3 Listing Stored Macros cccccccececceeeeeeeeneeceeeeeeeseceeaeeeeeeeeeeeeteenaees 10 414 Macro Translation amp Listing Examples ceccceeeeseeeeeeesteeeeeenaes 11 GCS Command Syntax 13 5T Command Format Seres a ecole E a ar A uae t ers 13 52 identifiers irises nea aa hil ust 14 2T AKOTE a aaa a a a a aaa aa a ea EE 14 522 Digital Input Output eee cece eee ceeeee cece eeeeseceneaeceeeeeeeesesensisaeeeeres 14 523 Analog INDUtis 2 cetiira nied ariani oi avandia dell EEEE EEEREN 15 524 Joystick Connections cancers wisn adie aed 15 Command Descriptions 16 6 1 Command List AlphabetiCal lt 2 csccs sesesataasettasaieutadcatecearetengacatesdahens 16 6 2 Command Reference Alphabetical eeeeeeeeeeeeeeeeeeeennaaees 17 Stage Parameters 44 7 4 Servo Loop Parameters ccccccecccecceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeseeereees 44 72 Transmission Ratio amp Scaling Factors s 45 7 3 User Changeable Parameters at a Glance ccceeeeeeeeeeeeeees 45 8 Error Codes 48 Introduction Piezo Nano Positioning PI Introduction Mercury Class controllers include the C 663 Mercury Ste
58. switches 1 or not 0 Illegal axis identifier MAC macro Description Format Arguments Call a MACro function Permits recording deleting and running macros on the controller see Macro Storage on Controller p 7 for details MAC lt keyword gt lt parameter gt in particular MAC BEG lt macroname gt MAC DEL lt macroname gt MAC END MAC NSTART lt macroname gt lt uint gt MAC START lt macroname gt lt keyword gt determines which macro function Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 25 Command Descriptions Piezo Nano Positioning PI is called The following keywords and parameters are used MAC BEG lt macroname gt Start recording a macro on the controller to be named macroname which must be of the form aMCOnn where ais the axis designation of the axis controlled by the controller on which the macro is to be stored and nn is the ID number for the macro 0 to 31 0 is used for the startup macro instead of STARTMAC the designation understood by other GCS controllers This command may not be used ina macro the commands that follow become the new macro so if successful the error code cannot be queried End the recording with MAC END A macro cannot be overwritten only deleted MAC END Stop macro recording cannot become part of a macro any error during macro recording can be seen with ERR after MAC END MAC DEL lt macroname gt Deletes s
59. t AxisID gt lt uint gt Arguments lt AxisID gt is a valid axis identifier lt uint gt if 0 set brake off if 1 set brake on Response none Troubleshooting Axis has no brake Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 17 Command Descriptions Piezo Nano Positioning PI BRA Ask if axis has brakes Description Format Arguments Response Lists the axes with brakes BRA none lt AxisID gt where lt AxisID gt are the identifiers of axes with brakes e g 13 If no axis has a brake the answer is an empty line CST Change STage Description Format Arguments Response Troubleshooting Example Wwww pi ws Assigns axes to stages With this command the stage assignment of the connected axes can be changed Valid stage names can be listed with VST p 41 If no stage is connected stage name should be NOSTAGE CST lt AxisID gt lt stagename gt lt AxisID gt lt stagename gt lt AxisID gt is a valid axis identifier lt stagename gt name of the stage connected to the axis none Unknown stage name Send CST A M 403 62S B M 110 1DG Note Assigns a stage of type M 403 62S to axis A and of type M 110 1DG to axis B Send SAI Receive B A Send CST B NOSTAGE Note Disconnects axis B Send SAI Receive A Send POS B Send ERR Receive 200 Note PI_CNTR_NO_AXIS Send GOH Note Moves axis
60. t MAC END to set an error o BRA o DEL o DFH o DIO o GOH o HLT o INI generates a large number of native commands in the macro see below o JON o MAC START macro called must reside on the same controller o MEX DIO lt ch gt lt b gt o MEX JBS lt joystk gt 1 lt b gt o MVR o REF generates a large number of native commands in the macro see below For example position values in millimeters or degrees in GCS motion commands are converted to steps or counts The values are calculated when the macro is created using the parameters for the stage configured on the corresponding axis controller Because it is not possible to set the current absolute position to a desired value but only to 0 the count values in the controller s internal position counter after a GCS move to a given position may be very different depending on how the axis was referenced with REF MNL MPL or a RON POS combination Mercury GCS Commands MS163E Version 1 0 2 Page 9 Macro Storage on Controller Piezo Nano Positioning PI o SPA Access to the following SPA parameters by macros is permitted all others will be ignored 1 P Term 2 l Term 3 D Term 4 Limit 8 Max Position Error 10 Max Velocity 11 Max Acceleration muss gt 200 sein 24 Limit Switch Mode 50 No Limit Switch 64 Stepper motor hold current HC native command in mA 65 Stepper motor drive current DC native command in mA 66 Stepper motor hol
61. ts RS 232 Error configuring the COM port Error dealing with internal system resources events threads A DLL or one of the required functions could not be loaded FTDIUSB invalid handle FTDIUSB device not found FTDIUSB device not opened FTDIUSB IO error FTDIUSB insufficient resources FTDIUSB invalid parameter FTDIUSB invalid baud rate FTDIUSB device not opened for erase FTDIUSB device not opened for write FTDIUSB failed to write device FTDIUSB EEPROM read failed FTDIUSB EEPROM write failed FTDIUSB EEPROM erase failed FTDIUSB EEPROM not present FTDIUSB EEPROM not programmed FTDIUSB invalid arguments FTDIUSB not supported FTDIUSB other error Error while opening the COM port was already open Checksum error in received data from COM port Socket not ready you should call the function again Port is used by another socket Socket not connected or not valid Page 52 Error Codes 57 58 59 COM_SOCKET_TERMINATED COM_SOCKET_NO_RESPONSE COM_SOCKET_INTERRUPTED DLL Errors 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 Wwww pi ws PI_UNKNOWN_AXIS_IDENTIFIER PI_NR_NAV_OUT_OF_RANGE Pl_INVALID_SGA P _UNEXPECTED_RESPONSE PI _NO_MANUAL_PAD PI_INVALID_MANUAL_PAD_KNOB PI_INVALID_MANUAL_PAD_AXIS
62. ts 2 hardware units of 0 000017 to 0 000023 physical units 3 hardware units of 0 000024 to 0 000029 physical units 4 hardware units Hence 2 moves of 10 x 10 physical units followed by 1 move of 20 x 10 in the other direction cause a net motion of 1 hardware unit forward 100 moves of 22 x 10 followed by 200 of 11 x 10 result in a net motion of 100 hardware units 5000 moves of 2 x 10 result in no motion Mercury GCS Commands MS163E Version 1 0 2 Page 5 Referencing 3 Piezo Nano Positioning PI Referencing Because the signals encoder counts or motor steps used for position determination provide only relative motion information the controller cannot know the absolute position of an axis upon startup This is why a referencing procedure is required before absolute target positions can be commanded and reached For the implementation of the referencing functionality in the individual host software components see the appropriate manuals Reference Mode The current reference mode setting of the controller ask with RON p 34 determines how referencing can be performed In general a reference move must be performed see Section 3 2 but it is also possible to set absolute positions manually see Section 3 3 To switch between the two reference modes use the RON command p 34 Perform a Reference Move When the reference mode is set to 1 value in PIStages DAT usually 1 referencing
63. ve Commands manual MS176 4 1 1 Features and Restrictions The hardware macro storage capability has the following features which result in certain restrictions Each macro can contain up to 16 such commands The macros are identified by numbers 0 to 31 Macro 0 if defined is the autostart macro which is executed automatically upon power up or reset m Macros are executed on the controller where they are stored so commands in a macro may address only the axis and or I O channels associated with that controller there is no commancd interface communication between controllers Interaction between separate axes is conceivable only through suitable programming and hardwiring of I O lines m The position values stored in the macros are in counts or micro steps This means that a macro may not work properly if run when different stage types are connected to the controller A different stage could have a very different travel ratio and thus move to a position far different from the one intended 4 1 2 Macro Creation in GCS Wwww pi ws he GCS macro creation mechanism involves placing a GCS controller in macro recording mode sending it commands and then exiting macro recording mode While in macro recording mode the controller neither executes nor responds to commands but simply stores them in the macro Macro Translation In normal operation the GCS DLL translates GCS command based functions to Mercury native commands The GC
64. ven axis When lt AxisID gt is omitted get all axes Format ONT lt AxisID gt Arguments lt AxisID gt is a valid axis identifier Mercury GCS Commands MS163E Version 1 0 2 Page 31 Command Descriptions Piezo Nano Positioning PI Response lt AxisID gt lt uint gt LF where lt uint gt 1 when the specified axis is on target O otherwise Troubleshooting Illegal axis identifier POS set real POSition Description Sets the current POSition does not cause motion Allowed only when the reference mode is set to 0 see RON p 34 An axis is considered as referenced when the position has been set with POS see Section 3 on p 6 for more information The minimum and maximum commandable positions TMN p 39 TMX p 39 are not adjusted when a position is set with POS If the value set with POS is not correct there will be target positions which are allowed by the software but cannot be reached by the hardware and others which could be reached by the hardware but are disallowed by the software This command can change the physical location of the home position zero point perhaps putting it outside of the travel range Format POS lt AxisID gt lt float gt Arguments lt AxisID gt is a valid axis identifier lt float gt is the new numeric value for the current position in physical units Response none Troubleshooting Reference mode is 1 Illegal axis ide
65. y close to the maximum velocity Format JDT lt JoystickAxisNumber gt lt TableType gt Arguments lt JoystickAxisNumber gt is the device number of the individual Mercury Class device to which the joystick axis is directly connected lt TableType gt 0 for linear 1 for cubic Response none Troubleshooting Illegal joystick axis number unsupported table type Wwww pi ws Mercury GCS Commands MS163E Version 1 0 2 Page 24 Command Descriptions Piezo Nano Positioning PI J ON Activate deactivate joystick control Description Format Arguments Response Troubleshooting Enable disable given joystick axes Do not enable axes with no physical joystick connected as uncontrolled motion could occur When an axis is controlled by a directly connected joystick it can no longer be moved by motion commands JON lt JoystickAxisNumber gt lt State gt lt JoystickAxisNumber gt is the device number of the individual Mercury Class device to which the joystick axis is directly connected lt Mode gt 0 for disable 1 for enable none Illegal joystick axis number unsupported mode LIM indicate LIMit switches Description Format Arguments Response Troubleshooting Indicates whether axes have limit switches LIM lt AxisID gt lt AxisID gt is a valid axis identifier lt axis gt lt uint gt LF where lt uint gt indicates whether the axis has limit
Download Pdf Manuals
Related Search
Related Contents
NGS Orange Spice User Manual SPS02取扱説明書 Samsung SM-P905 Uživatelská přiručka Criterion Masks HS AMERICA Sony D-EJ711 User's Manual Copyright © All rights reserved.
Failed to retrieve file