XPS Q8 Programmer Manual
User Manual:
Open the PDF directly: View PDF .
Page Count: 990
Download | |
Open PDF In Browser | View PDF |
XPS-Q8 Universal High-Performance Motion Controller/Driver Programmer’s Manual V1.4.x XPS-Q8 Controller Programmer’s Manual Preface Confidentiality & Proprietary Rights Reservation of Title The Newport Programs and all materials furnished or produced in connection with them ("Related Materials") contain trade secrets of Newport and are for use only in the manner expressly permitted. Newport claims and reserves all rights and benefits afforded under law in the Programs provided by Newport Corporation. Newport shall retain full ownership of Intellectual Property Rights in and to all development, process, align or assembly technologies developed and other derivative work that may be developed by Newport. Customer shall not challenge, or cause any third party to challenge, the rights of Newport. Preservation of Secrecy and Confidentiality and Restrictions to Access Customer shall protect the Newport Programs and Related Materials as trade secrets of Newport, and shall devote its best efforts to ensure that all its personnel protect the Newport Programs as trade secrets of Newport Corporation. Customer shall not at any time disclose Newport's trade secrets to any other person, firm, organization, or employee that does not need (consistent with Customer's right of use hereunder) to obtain access to the Newport Programs and Related Materials. These restrictions shall not apply to information (1) generally known to the public or obtainable from public sources; (2) readily apparent from the keyboard operations, visual display, or output reports of the Programs; (3) previously in the possession of Customer or subsequently developed or acquired without reliance on the Newport Programs; or (4) approved by Newport for release without restriction. ©2015 Newport Corporation 1791 Deere Ave. Irvine, CA 92606, USA (949) 863-3144 EDH0305En1051 — 08/15 ii XPS-Q8 Controller Programmer’s Manual Table of Contents Preface ..............................................................................................................................ii Confidentiality & Proprietary Rights ...............................................................ii 1.0 TCP/IP Communication ......................................................................... 1 1.1 Description ...................................................................................................................... 1 1.2 Function Description ....................................................................................................... 2 1.2.1 CloseAllOtherSockets ...................................................................................... 2 1.2.2 Login ................................................................................................................ 5 1.2.3 OpenConnection .............................................................................................. 8 1.2.4 TCP_CloseSocket ............................................................................................ 9 1.2.5 TCP_ConnectToServer .................................................................................. 11 1.2.6 TCP_GetError ................................................................................................ 14 1.2.7 TCP_SetTimeout ........................................................................................... 16 2.0 XPS Features.......................................................................................... 18 2.1 General Features .............................................................................................................18 2.1.1 ControllerMotionKernelMinMaxTimeLoadGet ............................................ 18 2.1.2 ControllerMotionKernelMinMaxTimeLoadReset ......................................... 24 2.1.3 ControllerMotionKernelTimeLoadGet .......................................................... 26 2.1.4 ControllerRTTimeGet .................................................................................... 30 2.1.5 ControllerSlaveStatusGet............................................................................... 33 2.1.6 ControllerSlaveStatusStringGet ..................................................................... 36 2.1.7 ControllerStatusGet ....................................................................................... 39 2.1.8 ControllerStatusRead ..................................................................................... 41 2.1.9 ControllerStatusStringGet .............................................................................. 44 2.1.10 ControllerSynchronizeCorrectorISR.............................................................. 47 2.1.11 DoubleGlobalArrayGet .................................................................................. 50 2.1.12 DoubleGlobalArraySet .................................................................................. 53 2.1.13 ErrorStringGet ............................................................................................... 56 2.1.14 ElapsedTimeGet ............................................................................................ 59 2.1.15 FirmwareVersionGet ..................................................................................... 61 2.1.16 GroupStatusStringGet .................................................................................... 63 2.1.17 GlobalArrayGet ............................................................................................. 66 2.1.18 GlobalArraySet .............................................................................................. 69 2.1.19 InstallerVersionGet ........................................................................................ 72 2.1.20 KillAll ............................................................................................................ 74 2.1.21 Reboot............................................................................................................ 77 2.1.22 RestartApplication ......................................................................................... 79 iii EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2 EDH0305En1051 — 08/15 2.1.23 TimerGet ........................................................................................................ 81 2.1.24 TimerSet ........................................................................................................ 84 Positioner ........................................................................................................................87 2.2.1 Description..................................................................................................... 87 2.2.2 Object Structure ............................................................................................. 87 2.2.3 Definition of the Different Positions for a Positioner .................................... 87 2.2.4 Function Description ..................................................................................... 89 2.2.4.1 PositionerAccelerationAutoScaling ........................................ 89 2.2.4.2 PositionerAnalogTrackingPositionParametersGet .................. 93 2.2.4.3 PositionerAnalogTrackingPositionParametersSet ................... 97 2.2.4.4 PositionerAnalogTrackingVelocityParametersGet ............... 101 2.2.4.5 PositionerAnalogTrackingVelocityParametersSet ................ 105 2.2.4.6 PositionerBacklashDisable .................................................... 109 2.2.4.7 PositionerBacklashEnable ..................................................... 112 2.2.4.8 PositionerBacklashGet .......................................................... 115 2.2.4.9 PositionerBacklashSet ........................................................... 118 2.2.4.10 PositionerCompensatedPCOAbort ........................................ 121 2.2.4.11 PositionerCompensatedPCOCurrentStatusGet ...................... 124 2.2.4.12 PositionerCompensatedPCOEnable ...................................... 127 2.2.4.13 PositionerCompensatedPCOFromFile .................................. 131 2.2.4.14 PositionerCompensatedPCOLoadToMemory ....................... 135 2.2.4.15 PositionerCompensatedPCOMemoryReset ........................... 139 2.2.4.16 PositionerCompensatedPCOPrepare ..................................... 142 2.2.4.17 PositionerCompensatedPCOSet ............................................ 146 2.2.4.18 PositionerCompensationFrequencyNotchsGet ...................... 150 2.2.4.19 PositionerCompensationFrequencyNotchsSet ...................... 155 2.2.4.20 PositionerCompensationLowPassTwoFilterGet.................... 160 2.2.4.21 PositionerCompensationLowPassTwoFilterSet .................... 163 2.2.4.22 PositionerCompensationNotchModeFiltersGet ..................... 166 2.2.4.23 PositionerCompensationNotchModeFiltersSet ..................... 172 2.2.4.24 PositionerCompensationPhaseCorrectionFiltersGet ............. 178 2.2.4.25 PositionerCompensationPhaseCorrectionFiltersSet .............. 183 2.2.4.26 PositionerCompensationSpatialPeriodicNotchsGet .............. 188 2.2.4.27 PositionerCompensationSpatialPeriodicNotchsSet ............... 194 2.2.4.28 PositionerCorrectorAutoTuning ............................................ 200 2.2.4.29 PositionerCorrectorNotchFiltersGet ...................................... 204 2.2.4.30 PositionerCorrectorNotchFiltersSet ...................................... 208 2.2.4.31 PositionerCorrectorPIDDualFFVoltageGet .......................... 212 2.2.4.32 PositionerCorrectorPIDDualFFVoltageSet ........................... 218 2.2.4.33 PositionerCorrectorPIDFFAccelerationGet .......................... 224 2.2.4.34 PositionerCorrectorPIDFFAccelerationSet ........................... 230 2.2.4.35 PositionerCorrectorSR1AccelerationGet .............................. 236 2.2.4.36 PositionerCorrectorSR1AccelerationSet ............................... 242 2.2.4.37 PositionerCorrectorSR1ObserverAccelerationGet ................ 248 2.2.4.38 PositionerCorrectorSR1ObserverAccelerationSet................. 252 2.2.4.39 PositionerCorrectorSR1OffsetAccelerationGet..................... 256 2.2.4.40 PositionerCorrectorSR1OffsetAccelerationSet ..................... 259 2.2.4.41 PositionerCorrectorPIDFFVelocityGet ................................. 262 2.2.4.42 PositionerCorrectorPIDFFVelocitySet .................................. 268 2.2.4.43 PositionerCorrectorPIPositionGet ......................................... 274 iv XPS-Q8 Controller Programmer’s Manual 2.2.4.44 2.2.4.45 2.2.4.46 2.2.4.47 2.2.4.48 2.2.4.49 2.2.4.50 2.2.4.51 2.2.4.52 2.2.4.53 2.2.4.54 2.2.4.55 2.2.4.56 2.2.4.57 2.2.4.58 2.2.4.59 2.2.4.60 2.2.4.61 2.2.4.62 2.2.4.63 2.2.4.64 2.2.4.65 2.2.4.66 2.2.4.67 2.2.4.68 2.2.4.69 2.2.4.70 2.2.4.71 2.2.4.72 2.2.4.73 2.2.4.74 2.2.4.75 2.2.4.76 2.2.4.77 2.2.4.78 2.2.4.79 2.2.4.80 2.2.4.81 2.2.4.82 2.2.4.83 2.2.4.84 2.2.4.85 2.2.4.86 2.2.4.87 2.2.4.88 2.2.4.89 2.2.4.90 2.2.4.91 2.2.4.92 2.2.4.93 2.2.4.94 PositionerCorrectorPIPositionSet .......................................... 278 PositionerCorrectorTypeGet ................................................. 282 PositionerCurrentVelocityAccelerationFiltersGet................. 285 PositionerCurrentVelocityAccelerationFiltersSet ................. 289 PositionerDriverFiltersGet .................................................... 293 PositionerDriverFiltersSet ..................................................... 297 PositionerDriverPositionOffsetsGet ...................................... 301 PositionerDriverStatusGet ..................................................... 304 PositionerDriverStatusStringGet ........................................... 307 PositionerEncoderAmplitudeValuesGet................................ 310 PositionerEncoderCalibrationParametersGet ........................ 314 PositionerErrorGet ................................................................ 318 PositionerErrorRead .............................................................. 321 PositionerErrorStringGet ....................................................... 324 PositionerExcitationSignalGet .............................................. 327 PositionerExcitationSignalSet ............................................... 331 PositionerHardInterpolatorFactorGet .................................... 336 PositionerHardInterpolatorFactorSet..................................... 339 PositionerHardInterpolatorPositionGet ................................. 342 PositionerHardwareStatusGet ............................................... 345 PositionerHardwareStatusStringGet ...................................... 348 PositionerMaximumVelocityAndAccelerationGet ............... 351 PositionerMotionDoneGet .................................................... 354 PositionerMotionDoneSet ..................................................... 358 PositionerPositionCompareDisable ....................................... 362 PositionerPositionCompareEnable ........................................ 365 PositionerPositionCompareGet ............................................. 368 PositionerPositionCompareSet .............................................. 372 PositionerPositionComparePulseParametersGet ................... 376 PositionerPositionComparePulseParametersSet .................... 379 PositionerPositionCompareScanAccelerationLimitGet ........ 383 PositionerPositionCompareScanAccelerationLimitSet ......... 386 PositionerPositionCompareAquadBAlwaysEnable............... 389 PositionerPositionCompareAquadBWindowedGet............... 392 PositionerPositionCompareAquadBWindowedSet ............... 396 PositionerPreCorrectorExcitationSignalGet .......................... 400 PositionerPreCorrectorExcitationSignalSet .......................... 404 PositionerRawEncoderPositionGet ....................................... 409 PositionersEncoderIndexDifferenceGet ................................ 412 PositionerSGammaExactVelocityAjustedDisplacementGet . 415 PositionerSGammaParametersSet ......................................... 418 PositionerSGammaParametersGet ........................................ 422 PositionerSGammaPreviousMotionTimesGet ...................... 426 PositionerStageParameterGet ................................................ 429 PositionerStageParameterSet................................................. 432 PositionerTimeFlasherDisable .............................................. 435 PositionerTimeFlasherEnable ............................................... 438 PositionerTimeFlasherGet ..................................................... 441 PositionerTimeFlasherSet ..................................................... 445 PositionerUserTravelLimitsGet............................................. 449 PositionerUserTravelLimitsSet ............................................. 452 v EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual PositionerWarningFollowingErrorGet .................................. 455 PositionerWarningFollowingErrorSet ................................... 458 2.2.4.95 2.2.4.96 2.2.5 2.3 2.4 EDH0305En1051 — 08/15 Configuration Files ...................................................................................... 461 Group ............................................................................................................................475 2.3.1 Description................................................................................................... 475 2.3.2 Object Structure ........................................................................................... 475 2.3.3 Function Description ................................................................................... 476 2.3.3.1 GroupAccelerationSetpointGet ............................................. 476 2.3.3.2 GroupAnalogTrackingModeDisable ..................................... 479 2.3.3.3 GroupAnalogTrackingModeEnable ...................................... 482 2.3.3.4 GroupCorrectorOutputGet .................................................... 485 2.3.3.5 GroupCurrentFollowingErrorGet .......................................... 488 2.3.3.6 GroupInitialize ...................................................................... 491 2.3.3.7 GroupInitializeNoEncoderReset ........................................... 494 2.3.3.8 GroupInitializeWithEncoderCalibration ............................... 497 2.3.3.9 GroupHomeSearch ................................................................ 501 2.3.3.10 GroupHomeSearchAndRelativeMove ................................... 505 2.3.3.11 GroupInterlockDisable .......................................................... 509 2.3.3.12 GroupInterlockEnable ........................................................... 512 2.3.3.13 GroupJogModeDisable.......................................................... 515 2.3.3.14 GroupJogModeEnable........................................................... 518 2.3.3.15 GroupJogCurrentGet ............................................................. 521 2.3.3.16 GroupJogParametersGet........................................................ 524 2.3.3.17 GroupJogParametersSet ........................................................ 527 2.3.3.18 GroupKill .............................................................................. 531 2.3.3.19 GroupMotionDisable ............................................................. 534 2.3.3.20 GroupMotionEnable .............................................................. 537 2.3.3.21 GroupMotionStatusGet ......................................................... 540 2.3.3.22 GroupMoveAbort .................................................................. 543 2.3.3.23 GroupMoveAbortFast ........................................................... 546 2.3.3.24 GroupMoveAbsolute ............................................................. 549 2.3.3.25 GroupMoveRelative .............................................................. 553 2.3.3.26 GroupPositionCorrectedProfilerGet ...................................... 557 2.3.3.27 GroupPositionCurrentGet...................................................... 561 2.3.3.28 GroupPositionPCORawEncoderGet ..................................... 564 2.3.3.29 GroupPositionSetpointGet .................................................... 568 2.3.3.30 GroupPositionTargetGet ....................................................... 571 2.3.3.31 GroupStatusGet ..................................................................... 574 2.3.3.32 GroupReferencingActionExecute ......................................... 577 2.3.3.33 GroupReferencingStart.......................................................... 581 2.3.3.34 GroupReferencingStop .......................................................... 584 2.3.3.35 GroupVelocityCurrentGet ..................................................... 587 SingleAxis Group .........................................................................................................590 2.4.1 Description................................................................................................... 590 2.4.2 State Diagram .............................................................................................. 590 2.4.3 Specific Function Description ..................................................................... 591 2.4.3.1 SingleAxisSlaveModeDisable ............................................... 591 2.4.3.2 SingleAxisSlaveModeEnable ................................................ 594 2.4.3.3 SingleAxisSlaveParametersGet ............................................. 597 vi XPS-Q8 Controller Programmer’s Manual 2.4.3.4 2.4.4 2.5 2.6 2.7 2.8 SingleAxisSlaveParametersSet ............................................. 600 Configuration Files ...................................................................................... 604 SingleAxisWithClamping Group ..................................................................................606 2.5.1 Description................................................................................................... 606 2.5.2 State Diagram .............................................................................................. 607 2.5.3 Configuration Files ...................................................................................... 608 SingleAxisTheta Group ................................................................................................610 2.6.1 Description................................................................................................... 610 2.6.2 State Diagram .............................................................................................. 611 2.6.3 Clamping Sequence ..................................................................................... 612 2.6.3.1 Clamping state diagram......................................................... 612 2.6.3.2 Clamping configuration......................................................... 612 2.6.4 Specific Functions Description .................................................................... 613 2.6.4.1 SingleAxisThetaClampDisable ............................................. 613 2.6.4.2 SingleAxisThetaClampEnable .............................................. 616 2.6.5 Configuration Files ...................................................................................... 619 Spindle Group ...............................................................................................................621 2.7.1 Description................................................................................................... 621 2.7.2 State Diagram .............................................................................................. 621 2.7.3 Specific Function Description ..................................................................... 622 2.7.3.1 GroupSpinCurrentGet ........................................................... 622 2.7.3.2 GroupSpinModeStop............................................................. 625 2.7.3.3 GroupSpinParametersGet ...................................................... 628 2.7.3.4 GroupSpinParametersSet ...................................................... 631 2.7.3.5 SpindleSlaveModeDisable .................................................... 634 2.7.3.6 SpindleSlaveModeEnable ..................................................... 637 2.7.3.7 SpindleSlaveParametersGet .................................................. 640 2.7.3.8 SpindleSlaveParametersSet ................................................... 643 2.7.4 Configuration Files ...................................................................................... 647 XY Group .....................................................................................................................648 2.8.1 Description................................................................................................... 648 2.8.2 State Diagram .............................................................................................. 648 2.8.3 Specific Function Description ..................................................................... 649 2.8.3.1 XYLineArcExecution............................................................ 649 2.8.3.2 XYLineArcParametersGet .................................................... 653 2.8.3.3 XYLineArcPulseOutputGet .................................................. 657 2.8.3.4 XYLineArcPulseOutputSet ................................................... 660 2.8.3.5 XYLineArcVerification ........................................................ 664 2.8.3.6 XYLineArcVerificationResultGet......................................... 668 2.8.3.7 XYPVTExecution ................................................................. 672 2.8.3.8 XYPVTLoadToMemory ....................................................... 676 2.8.3.9 XYPVTParametersGet .......................................................... 679 2.8.3.10 XYPVTPulseOutputGet ........................................................ 682 2.8.3.11 XYPVTPulseOutputSet ......................................................... 685 2.8.3.12 XYPVTResetInMemory........................................................ 689 2.8.3.13 XYPVTVerification .............................................................. 692 2.8.3.14 XYPVTVerificationResultGet .............................................. 696 vii EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.4 2.9 2.10 2.11 2.12 XYZ Group ...................................................................................................................702 2.9.1 Description................................................................................................... 702 2.9.2 State Diagram .............................................................................................. 702 2.9.3 Specific Function Description ..................................................................... 703 2.9.3.1 XYZGroupPositionCorrectedProfilerGet .............................. 703 2.9.3.2 XYZGroupPositionPCORawEncoderGet ............................. 707 2.9.3.3 XYZSplineExecution ............................................................ 711 2.9.3.4 XYZSplineParametersGet ..................................................... 715 2.9.3.5 XYZSplineVerification ......................................................... 719 2.9.3.6 XYZSplineVerificationResultGet ......................................... 723 2.9.4 Configuration Files ...................................................................................... 727 MultipleAxes Group .....................................................................................................729 2.10.1 Description................................................................................................... 729 2.10.2 State Diagram .............................................................................................. 729 2.10.3 Specific Function Description ..................................................................... 730 2.10.3.1 MultipleAxesPVTExecution ................................................. 730 2.10.3.2 MultipleAxesPVTLoadToMemory ....................................... 734 2.10.3.3 MultipleAxesPVTParametersGet .......................................... 738 2.10.3.4 MultipleAxesPVTPulseOutputGet ........................................ 741 2.10.3.5 MultipleAxesPVTPulseOutputSet......................................... 745 2.10.3.6 MultipleAxesPVTResetInMemory ....................................... 749 2.10.3.7 MultipleAxesPVTVerification .............................................. 752 2.10.3.8 MultipleAxesPVTVerificationResultGet .............................. 756 2.10.4 Configuration Files ...................................................................................... 760 TZ Group ......................................................................................................................762 2.11.1 Description................................................................................................... 762 2.11.2 State Diagram .............................................................................................. 763 2.11.3 Specific Function Description ..................................................................... 764 2.11.3.1 TZPVTExecution .................................................................. 764 2.11.3.2 TZPVTLoadToMemory ........................................................ 768 2.11.3.3 TZPVTParametersGet ........................................................... 771 2.11.3.4 TZPVTPulseOutputGet ......................................................... 774 2.11.3.5 TZPVTPulseOutputSet.......................................................... 777 2.11.3.6 TZPVTResetInMemory ........................................................ 781 2.11.3.7 TZPVTVerification ............................................................... 784 2.11.3.8 TZPVTVerificationResultGet ............................................... 788 2.11.3.9 TZFocusModeEnable ............................................................ 792 2.11.3.10 TZFocusModeDisable ........................................................... 795 2.11.3.11 TZTrackingUserMaximumZZZTargetDifferenceGet ........... 798 2.11.3.12 TZTrackingUserMaximumZZZTargetDifferenceSet ............ 801 2.11.4 Configuration Files ...................................................................................... 804 Analog and Nigital I/O .................................................................................................805 2.12.1 EDH0305En1051 — 08/15 Configuration Files ...................................................................................... 700 GPIO Name List .......................................................................................... 805 2.12.1.1 Digital inputs ......................................................................... 805 2.12.1.2 Digital outputs ....................................................................... 805 2.12.1.3 Analog inputs ........................................................................ 805 2.12.1.4 Analog outputs ...................................................................... 805 viii XPS-Q8 Controller Programmer’s Manual 2.12.2 2.13 Gathering ......................................................................................................................824 2.13.1 2.14 2.15 Function Description ................................................................................... 824 2.13.1.1 GatheringConfigurationGet ................................................... 824 2.13.1.2 GatheringConfigurationSet ................................................... 827 2.13.1.3 GatheringCurrentNumberGet ................................................ 831 2.13.1.4 GatheringDataAcquire .......................................................... 834 2.13.1.5 GatheringDataGet ................................................................. 836 2.13.1.6 GatheringDataMultipleLinesGet ........................................... 839 2.13.1.7 GatheringExternalConfigurationGet ..................................... 843 2.13.1.8 GatheringExternalConfigurationSet ...................................... 846 2.13.1.9 GatheringExternalCurrentNumberGet .................................. 849 2.13.1.10 GatheringExternalDataGet .................................................... 852 2.13.1.11 GatheringExternalStopAndSave ........................................... 855 2.13.1.12 GatheringReset ...................................................................... 857 2.13.1.13 GatheringRun ........................................................................ 859 2.13.1.14 GatheringRunAppend............................................................ 862 2.13.1.15 GatheringStop ....................................................................... 864 2.13.1.16 GatheringStopAndSave ......................................................... 866 Events and Actions .......................................................................................................868 2.14.1 Functions Description .................................................................................. 868 2.14.1.1 EventExtendedAllGet............................................................ 868 2.14.1.2 EventExtendedConfigurationActionGet................................ 871 2.14.1.3 EventExtendedConfigurationActionSet ................................ 874 2.14.1.4 EventExtendedConfigurationTriggerGet .............................. 880 2.14.1.5 EventExtendedConfigurationTriggerSet ............................... 883 2.14.1.6 EventExtendedGet................................................................. 891 2.14.1.7 EventExtendedRemove ......................................................... 894 2.14.1.8 EventExtendedStart ............................................................... 897 2.14.1.9 EventExtendedWait............................................................... 900 2.14.2 Obsolete Functions ...................................................................................... 904 2.14.2.1 EventAdd .............................................................................. 904 2.14.2.2 EventGet................................................................................ 905 2.14.2.3 EventRemove ........................................................................ 906 2.14.2.4 EventWait .............................................................................. 907 TCL Programming ........................................................................................................908 2.15.1 2.16 Function Description ................................................................................... 806 2.12.2.1 GPIOAnalogGainGet ............................................................ 806 2.12.2.2 GPIOAnalogGainSet ............................................................. 809 2.12.2.3 GPIOAnalogGet .................................................................... 812 2.12.2.4 GPIOAnalogSet..................................................................... 815 2.12.2.5 GPIODigitalGet..................................................................... 818 2.12.2.6 GPIODigitalSet ..................................................................... 821 Function Description ................................................................................... 908 2.15.1.1 TCLScriptExecute ................................................................. 908 2.15.1.2 TCLScriptExecuteAndWait .................................................. 911 2.15.1.3 TCLScriptExecuteWithPriority ............................................. 915 2.15.1.4 TCLScriptKill ....................................................................... 919 2.15.1.5 TCLScriptKillAll .................................................................. 922 Optional Module Programming ....................................................................................924 ix EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.16.1 2.17 Hardware Date and Time Setting..................................................................................930 2.17.1 2.18 Function Description ................................................................................... 924 2.16.1.1 OptionalModuleExecute........................................................ 924 2.16.1.2 OptionalModuleKill .............................................................. 927 Function Description ................................................................................... 930 2.17.1.1 HardwareDateAndTimeGet .................................................. 930 2.17.1.2 HardwareDateAndTimeSet ................................................... 933 Version .........................................................................................................................936 2.18.1 Function Description ................................................................................... 936 2.18.1.1 GetLibraryVersion ................................................................ 936 2.19 Positioner Error List .....................................................................................................938 2.20 Positioner Hardware Status List ...................................................................................938 2.21 Positioner Driver Status List .........................................................................................941 2.22 Group Status List ..........................................................................................................941 2.23 Error List ......................................................................................................................944 2.24 Controller Status List ....................................................................................................947 2.25 User Defined Soft Motor Output DAC Offsets ............................................................948 2.26 Gantry Configuration for MultipleAxes Group ............................................................949 2.27 Driver Notes for Precision Platform Firmware .............................................................950 2.27.1 D6U Interface .............................................................................................. 950 2.27.2 D3PD6U Driver / D3PD6U-15 Drivers ....................................................... 950 2.27.3 NON_CONFIGURABLE_STAGE Driver .................................................. 951 2.27.4 Driver Initialization Not at Boot .................................................................. 951 2.27.5 DRVP1 Piezo Driver ................................................................................... 951 2.28 Function List Classed in Categories .............................................................................952 3.0 Process Examples ................................................................................ 959 3.1 Management of the Errors ............................................................................................959 3.2 Firmware Version .........................................................................................................960 3.3 Gathering with Motion .................................................................................................961 3.4 External Gathering ........................................................................................................963 3.5 Output Compare ...........................................................................................................965 3.6 Slave-Master Mode.......................................................................................................967 3.7 Jogging .........................................................................................................................969 3.8 Tracking ........................................................................................................................971 3.9 Backlash .......................................................................................................................972 3.10 Timer Event and Global Variables ...............................................................................974 3.11 Running Simultaneously Several Motion Processes.....................................................976 Service Form ...................................................................................................... 979 EDH0305En1051 — 08/15 x XPS-Q8 Controller Programmer’s Manual XPS Universal High-Performance Motion Controller/Driver 1.0 TCP/IP Communication 1.1 Description XPS is based on a 10/100 Base-T Ethernet communication link with TCP/IP protocol and uses a web site approach for all software tools and an FTP server for file transfer. This makes the XPS controller independent of the user's operating system. When networked, Unix, Linux or Windows users can access the same controller from any place in the world for remote control, code development, file transfer or diagnostics. The completely object oriented approach of the XPS firmware with powerful, multiparameter Function’s (commands) is also much more consistent and intuitive to use than old-style mnemonic commands. To connect to the XPS controller you must open a socket with the “OpenConnection()” Function. Communication through this socket is done by specifying the socket identifier (socketID) with the Function. The XPS allows up to 100 open sockets with 30 communicating simultaneously. Each Function returns a completion or error message. In case of a successful completion, the return is 0 (zero). In case of an error, the returned error code can be used for diagnosing the problem with the Function ErrorStringGet(). The function call is blocked until a reply is sent by the XPS, or until the timeout value is reached. For running several processes in parallel (for instance getting the position while a stage is moving), several sockets can be used in parallel. When using the XPS controller with programming languages that do not support multiple sockets, the timeout value of the function can be set to a low value (20 ms). 1 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 1.2 Function Description 1.2.1 CloseAllOtherSockets Name CloseAllOtherSockets – Closes all sockets beside the one used. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check “Administrator” rights: ERR_NEED_ADMINISTRATOR_RIGHTS (-9) Description This function allows an administrator to close all sockets except the socket used to call this function. All used sockets are closed. So, ERR_SOCKET_CLOSED_BY_ADMIN error is sent to each previously running function to close the used socket. NOTE Call the “Login” function to identify the user as “Administrator”. CAUTION If some TCL scripts are in progress (after a “TCLScriptExecute” function or a “TCLScriptExecuteAndWait” function), do not use CloseAllOtherSockets to function to kill these TCL scripts. Use the “TCLScriptKill” function to stop the TCL execution and only after can you use the “CloseAllOtherSockets” function to close sockets. Return EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_NEED_ADMINISTRATOR_RIGHTS (-107) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): No error 2 XPS-Q8 Controller Programmer’s Manual TCL Prototype CloseAllOtherSockets Input parameters – None Output parameters – None Return – Error int Function error code C/C++ Prototype int CloseAllOtherSockets () Input parameters – None Output parameters – None Return – Error int Function error code Visual Basic Prototype Long CloseAllOtherSockets () Input parameters – None Output parameters – None Return – Error long Function error code Matlab Prototype [Error] CloseAllOtherSockets () Input parameters – None Return – Error int32 3 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] CloseAllOtherSockets () Input parameters – None Return – Error EDH0305En1051 — 08/15 int 4 Function error code XPS-Q8 Controller Programmer’s Manual 1.2.2 Login Name Login – Self-identification. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the user name and the password: ERR_WRONG_USERNAME_OR_PASSWORD (-106) Description This function allows a user to identify himself as “SuperUser”, “Administrator” or “User”. The user account must be exited else ERR_WRONG_USERNAME_OR_PASSWORD (-106) is returned. This function is not meant to be used from “terminal” web page. NOTE To add a new user account, you must use the XPS web site with “Administrator” rights. In the main menu, select “CONTROLLER CONFIGURATION” and go to the “Users management” page. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_USERNAME_OR_PASSWORD (-106) - SUCCESS (0): no error 5 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype Login SocketID UserName Password Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – UserName string User name – Password string Password Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int Login (int SocketID, char *UserName, char *Password) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – UserName char * User name – Password char * Password Output parameters – None Return – Function error code Visual Basic Prototype Long Login (ByVal SocketID As Long, ByVal UserName As String, ByVal Password As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – UserName string User name – Password string Password Output parameters – None Return – Function error code EDH0305En1051 — 08/15 6 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 Login (int32 SocketID, cstring UserName, cstring Password) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – UserName cstring User name – Password cstring Password Return – Function error code Python Prototype integer Login (integer SocketID, string UserName, string Password) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – UserName string User name – Password string Password Return – Function error code 7 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 1.2.3 OpenConnection Name OpenConnection – opens a socket to connect to the TCP server (local). Input tests - Check number of used sockets (Max = 100): if no free socket then the SocketID is set to -1 Description This function opens a socket in a TCL script located in the “Scripts” directory of the XPS controller. The TCP/IP communication is configured as: Local Host Address = 127.0.0.1 IP Port = 5001 This function returns a socket identifier to use for each function call. The socket identifier is defined between 0 to 99. If the TCP/IP connection fails then the “SocketID” value is –1. Return - Socket identifier used in each function TCL Prototype OpenConnection TimeOut SocketID Input parameters – TimeOut floating point Timeout in seconds used for each Function execution int Socket identifier used in each function Output parameters – SocketID Return – Error code EDH0305En1051 — 08/15 8 XPS-Q8 Controller Programmer’s Manual 1.2.4 TCP_CloseSocket Name TCP_CloseSocket – Closes a socket. Input tests - Check socket identifier (Max = 100). - Socket must be used. Description Closed the opened TCP/IP communication defined by the given socket identifier. If the socket is undefined or is not used, then nothing happens. Return – None TCL Prototype TCP_CloseSocket SocketID Input parameters – SocketID int Socket identifier used in each function Output parameters – None C/C++ Prototype void TCP_CloseSocket (int SocketID) Input parameters – SocketID int Socket identifier used in each function Output parameters – None Visual Basic Prototype TCP_CloseSocket (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier used in each function Output parameters – None 9 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype TCP_CloseSocket (int32 SocketID) Input parameters – SocketID int32 Socket identifier used in each function Python Prototype TCP_CloseSocket (integer SocketID) Input parameters – SocketID EDH0305En1051 — 08/15 int 10 Socket identifier used in each function XPS-Q8 Controller Programmer’s Manual 1.2.5 TCP_ConnectToServer Name TCP_ConnectToServer – Configures TCP/IP communication and opens a socket. Input tests - Check number of used sockets (Max = 100): if no free socket then the SocketID is set to -1 Description Configures the TCP/IP communication and opens a socket to connect TCP server. This function returns a socket identifier to use for each function call. The socket identifier is defined between 0 to 99. If the TCP/IP connection failed then the “SocketID” value is –1. NOTE OpenConnection function is used when users are in local mode, it only needs the timeout and socket number to open the connection with the XPS controller. TCP_ConnectToServer function needs more information like the port number and the IP address. This function is called with the DLL. Return - Socket identifier used in each function TCL Prototype TCP_ConnectToServer IP_Address IP_Port TimeOut SocketID Input parameters – IP_Address string TCP IP address: 195.168.33.xxx or another – IP_Port interger TCP IP port: 5001 for XPS controller – TimeOut floating point Timeout in seconds used for each Function execution int Socket identifier used in each function Output parameters – None Return – SocketID 11 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int TCP_ConnectToServer (char * IP_Address, int IP_Port, double TimeOut) Input parameters – IP_Address char * TCP IP address: 195.168.33.xxx or another – IP_Port int TCP IP port: 5001 for XPS controller – TimeOut double Timeout in seconds used for each Function execution int Socket identifier used in each function Output parameters – None Return – SocketID Visual Basic Prototype Long TCP_ConnectToServer (ByVal IP_Address As String, ByVal IP_Port As Long, ByVal TimeOut As Double) Input parameters – IP_AddressString TCP IP address: 195.168.33.xxx or another – IP_Port long TCP IP port: 5001 for XPS controller – TimeOut double Timeout in seconds used for each Function execution long Socket identifier used in each function Output parameters – None Return – SocketID Matlab Prototype int32 TCP_ConnectToServer (cstring IP_Address, int32 IP_Port, double TimeOut) Input parameters – IP_Address cstring TCP IP address: 195.168.33.xxx or another – IP_Port int32 TCP IP port: 5001 for XPS controller – TimeOut double Timeout in seconds used for each Function execution int32 Socket identifier used in each function Return – SocketID EDH0305En1051 — 08/15 12 XPS-Q8 Controller Programmer’s Manual Python Prototype integer TCP_ConnectToServer (string IP_Address, integer IP_Port, double TimeOut) Input parameters – IP_Address string TCP IP address: 195.168.33.xxx or another – IP_Port int TCP IP port: 5001 for XPS controller – TimeOut double Timeout in seconds used for each Function execution int Socket identifier used in each function Return – SocketID 13 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 1.2.6 TCP_GetError Name TCP_GetError – Gets the last error about socket. Input tests - Check socket identifier (Max = 100). - Socket must be used. Description Gets the last error from the socket defined by the given socket identifier. If the socket is undefined or is not used, the error description is blank. Return - None TCL Prototype TCP_GetError SocketID Input parameters – SocketID int Socket identifier used in each function Output parameters – None Return – Last error description. C/C++ Prototype void TCP_GetError (int SocketID, char * ErrorString) Input parameters – SocketID int Socket identifier used in each function char * Last error description Output parameters – ErrorString Visual Basic Prototype – TCP_GetError (ByVal SocketID As Long, ErrorString As String) Input parameters – SocketID long Socket identifier used in each function string Last error description Output parameters – ErrorString EDH0305En1051 — 08/15 14 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [ErrorString] TCP_GetError (int32 SocketID) Input parameters – SocketID int32 Socket identifier used in each function cstring Last error description Return – ErrorString Python Prototype [ErrorString] TCP_GetError (integer SocketID) Input parameters – SocketID int Socket identifier used in each function string Last error description Return – ErrorString 15 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 1.2.7 TCP_SetTimeout Name TCP_SetTimeout – Configures the timeout for TCP/IP communication. Input tests - Check number of used sockets (Maximum number = 100). - Socket must be used. - Timeout value must be positive. Description Sets a new timeout value in seconds for the opened TCP/IP communication defined by a socket identifier. If the timeout is less than 0.001, the timeout value defaults to 0.001. If the socket is undefined or is not used then nothing happens. Return - None TCL Prototype TCP_SetTimeout SocketID TimeOut Input parameters – SocketID int Socket identifier used in each function – TimeOut floating point Timeout in seconds used for each Function execution Output parameters – None Return – TCL error (0 = success or 1 = syntax error) C/C++ Prototype void TCP_SetTimeout (int SocketID, double TimeOut) Input parameters – SocketID int Socket identifier used in each function – TimeOut double Timeout in seconds used for each Function execution Output parameters – None Return – None EDH0305En1051 — 08/15 16 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype TCP_SetTimeout (ByVal SocketID As Long, ByVal TimeOut As Double) Input parameters – SocketID long Socket identifier used in each function – TimeOut double Timeout in seconds used for each Function execution Output parameters – None Return – None Matlab Prototype int32 TCP_SetTimeout (int32 SocketID, double TimeOut) Input parameters – SocketID int32 Socket identifier used in each function – TimeOut double Timeout in seconds used for each Function execution Return – None Python Prototype integer TCP_SetTimeout (integer SocketID, double TimeOut) Input parameters – SocketID int Socket identifier used in each function – TimeOut double Timeout in seconds used for each Function execution Return – None 17 EDH0305En1051 — 08/15 XPS-Q8 Controller 2.0 Programmer’s Manual XPS Features 2.1 General Features 2.1.1 ControllerMotionKernelMinMaxTimeLoadGet Name ControllerMotionKernelMinMaxTimeLoadGet – Returns controller motion kernel minimum and maximum time load. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function gets the minimum and the maximum value of controller motion kernel time load. It returns: - Minimum Total Load Ratio - Maximum Total Load Ratio - Minimum Corrector Load Ratio - Maximum Corrector Load Ratio - Minimum Profiler Load Ratio - Maximum Profiler Load Ratio - Minimum servitudes Load Ratio - Maximum servitudes Load Ratio Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 18 XPS-Q8 Controller Programmer’s Manual TCL Prototype ControllerMotionKernelMinMaxTimeLoadGet SocketID MinimumCPUTotalLoadRatio MaximumCPUTotalLoadRatio MinimumCPUCorrectorLoadRatio MaximumCPUCorrectorLoadRatio MinimumCPUProfilerLoadRatio MaximumCPUProfilerLoadRatio MinimumCPUServitudesLoadRatio MaximumCPUServitudesLoadRatio Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – MinimumCPUTotalLoadRatio double Minimum controller motion kernel total CPU time load – MaximumCPUTotalLoadRatio double Maximum controller motion kernel total CPU time load – MinimumCPUCorrectorLoadRatio double Minimum controller motion kernel corrector CPU time load – MaximumCPUCorrectorLoadRatio double Maximum controller motion kernel corrector CPU time load – MinimumCPUProfilerLoadRatio double Minimum controller motion kernel profiler CPU time load – MaximumCPUProfilerLoadRatio double Maximum controller motion kernel profiler CPU time load – MinimumCPUServitudesLoadRatio double Minimum controller motion kernel servitudes CPU time load – MaximumCPUServitudesLoadRatio double Maximum ontroller motion kernel servitudes CPU time load Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code 19 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int ControllerMotionKernelMinMaxTimeLoadGet (int SocketID, double * MinimumCPUTotalLoadRatio, double * MaximumCPUTotalLoadRatio, double * MinimumCPUCorrectorLoadRatio, double * MaximumCPUCorrectorLoadRatio, double * MinimumCPUProfilerLoadRatio, double * MaximumCPUProfilerLoadRatio, double * MinimumCPUServitudesLoadRatio, double * MaximumCPUServitudesLoadRatio) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – MinimumCPUTotalLoadRatio double * Minimum controller motion kernel total CPU time load – MaximumCPUTotalLoadRatio double * Maximum controller motion kernel total CPU time load – MinimumCPUCorrectorLoadRatio double * Minimum controller motion kernel corrector CPU time load – MaximumCPUCorrectorLoadRatio double * Maximum controller motion kernel corrector CPU time load – MinimumCPUProfilerLoadRatio double * Minimum controller motion kernel profiler CPU time load – MaximumCPUProfilerLoadRatio double * Maximum controller motion kernel profiler CPU time load – MinimumCPUServitudesLoadRatio double * Minimum controller motion kernel servitudes CPU time load – MaximumCPUServitudesLoadRatio double * Maximum controller motion kernel servitudes CPU time load Output parameters Return – Function error code EDH0305En1051 — 08/15 20 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long ControllerMotionKernelMinMaxTimeLoadGet (ByVal SocketID As Long, MinimumCPUTotalLoadRatio As Double, MaximumCPUTotalLoadRatio As Double, MinimumCPUCorrectorLoadRatio As Double, MaximumCPUCorrectorLoadRatio As Double, MinimumCPUProfilerLoadRatio As Double, MaximumCPUProfilerLoadRatio As Double, MinimumCPUServitudesLoadRatio As Double, MaximumCPUServitudesLoadRatio As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – MinimumCPUTotalLoadRatio double Minimum controller motion kernel total CPU time load – MaximumCPUTotalLoadRatio double Maximum controller motion kernel total CPU time load – MinimumCPUCorrectorLoadRatio double Minimum controller motion kernel corrector CPU time load – MaximumCPUCorrectorLoadRatio double Maximum controller motion kernel corrector CPU time load – MinimumCPUProfilerLoadRatio double Minimum controller motion kernel profiler CPU time load – MaximumCPUProfilerLoadRatio double Maximum controller motion kernel profiler CPU time load – MinimumCPUServitudesLoadRatio double Minimum controller motion kernel servitudes CPU time load – MaximumCPUServitudesLoadRatio double Maximum controller motion kernel servitudes CPU time load Output parameters Return – Function error code 21 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, MinimumCPUTotalLoadRatio, MaximumCPUTotalLoadRatio, MinimumCPUCorrectorLoadRatio, MaximumCPUCorrectorLoadRatio, MinimumCPUProfilerLoadRatio, MaximumCPUProfilerLoadRatio, MinimumCPUServitudesLoadRatio, MaximumCPUServitudesLoadRatio] ControllerMotionKernelMinMaxTimeLoadGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”functi on – Error int32 Function error code – MinimumCPUTotalLoadRatio double Minimum controller motion kernel total CPU time load – MaximumCPUTotalLoadRatio double Maximum controller motion kernel total CPU time load – MinimumCPUCorrectorLoadRatio double Minimum controller motion kernel corrector CPU time load – MaximumCPUCorrectorLoadRatio double Maximum controller motion kernel corrector CPU time load – MinimumCPUProfilerLoadRatio double Minimum controller motion kernel profiler CPU time load – MaximumCPUProfilerLoadRatio double Maximum controller motion kernel profiler CPU time load – MinimumCPUServitudesLoadRatio double Minimum controller motion kernel servitudes CPU time load – MaximumCPUServitudesLoadRatio double Maximum controller motion kernel servitudes CPU time load Return EDH0305En1051 — 08/15 22 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, MinimumCPUTotalLoadRatio, MaximumCPUTotalLoadRatio, MinimumCPUCorrectorLoadRatio, MaximumCPUCorrectorLoadRatio, MinimumCPUProfilerLoadRatio, MaximumCPUProfilerLoadRatio, MinimumCPUServitudesLoadRatio, MaximumCPUServitudesLoadRatio] ControllerMotionKernelMinMaxTimeLoadGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”functi on – Error int Function error code – MinimumCPUTotalLoadRatio double Minimum controller motion kernel total CPU time load – MaximumCPUTotalLoadRatio double Maximum controller motion kernel total CPU time load – MinimumCPUCorrectorLoadRatio double Minimum controller motion kernel corrector CPU time load – MaximumCPUCorrectorLoadRatio double Maximum controller motion kernel corrector CPU time load – MinimumCPUProfilerLoadRatio double Minimum controller motion kernel profiler CPU time load – MaximumCPUProfilerLoadRatio double Maximum controller motion kernel profiler CPU time load – MinimumCPUServitudesLoadRatio double Minimum controller motion kernel servitudes CPU time load – MaximumCPUServitudesLoadRatio double Maximum controller motion kernel servitudes CPU time load Return 23 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.2 ControllerMotionKernelMinMaxTimeLoadReset Name ControllerMotionKernelMinMaxTimeLoadReset – Resets controller motion kernel minimum and maximum time load. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) Description This function Resets controller motion kernel minimum and maximum time load. Errors - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - SUCCESS (0): no error TCL Prototype ControllerMotionKernelMinMaxTimeLoadReset $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int ControllerMotionKernelMinMaxTimeLoadReset (int SocketID) Input parameters – SocketID int Output parameters – None Return – Function error code EDH0305En1051 — 08/15 24 Socket identifier gets by the “TCP_ConnectToServer” function XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long ControllerMotionKernelMinMaxTimeLoadReset (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – None Return – Function error code Matlab Prototype [Error] ControllerMotionKernelMinMaxTimeLoadReset (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function int32 Function error code Return – Error Python Prototype [Error] ControllerMotionKernelMinMaxTimeLoadReset (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Return Error int Function error code 25 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.3 ControllerMotionKernelTimeLoadGet Name ControllerMotionKernelTimeLoadGet – Returns controller motion kernel time load. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Valid group name: ERR_GROUP_NAME (-19) Description This function gets the last exact value of controller motion kernel time load (total , corrector, profier and servitudes calculation time). CorrectorTimeLoad = CorrectorCalculationTime/CorrectorISRPeriod ProfilerTimeLoad = ProfilerCalculationTime/CorrectorISRPeriod /ProfileGeneratorISRRatio ServitudesTimeLoad = ServitudesCalculationTime/CorrectorISRPeriod /ServitudesISRRatio TotalTimeLoad = CorrectorTimeLoad + ProfilerTimeLoad + ServitudesTimeLoad NOTE Refer to system.ref file to get CorrectorISRPeriod, ProfileGeneratorISRRatio and ServitudesISRRatio. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 26 XPS-Q8 Controller Programmer’s Manual TCL Prototype ControllerMotionKernelTimeLoadGet SocketID CPUTotalLoadRatio CPUCorrectorLoadRatio CPUProfilerLoadRatio CPUServitudesLoadRatio Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – CPUTotalLoadRatio double Controller motion kernel total CPU time load – CPUCorrectorLoadRatio double Controller motion kernel corrector CPU time load – CPUProfilerLoadRatio double Controller motion kernel profiler CPU time load – CPUServitudesLoadRatio double Controller motion kernel servitudes CPU time load Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int ControllerMotionKernelTimeLoadGet (int SocketID, double * CPUTotalLoadRatio, double * CPUCorrectorLoadRatio, double * CPUProfilerLoadRatio, double * CPUServitudesLoadRatio) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – CPUTotalLoadRatio double * Controller motion kernel total CPU time load – CPUCorrectorLoadRatio double * Controller motion kernel corrector CPU time load – CPUProfilerLoadRatio double * Controller motion kernel profiler CPU time load Output parameters – CPUServitudesLoadRatio double * Controller motion kernel servitudes CPU time load Return – Function error code 27 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long ControllerMotionKernelTimeLoadGet (ByVal SocketID As Long, CPUTotalLoadRatio As Double, CPUCorrectorLoadRatio As Double, CPUProfilerLoadRatio As Double, CPUServitudesLoadRatio As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – CPUTotalLoadRatio double Controller motion kernel total CPU time load – CPUCorrectorLoadRatio double Controller motion kernel corrector CPU time load – CPUProfilerLoadRatio double Controller motion kernel profiler CPU time load – CPUServitudesLoadRatio double Controller motion kernel servitudes CPU time load Return – Function error code Matlab Prototype [Error, CPUTotalLoadRatio, CPUCorrectorLoadRatio, CPUProfilerLoadRatio, CPUServitudesLoadRatio] ControllerMotionKernelTimeLoadGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function Return – Error int32 Function error code – CPUTotalLoadRatio double Controller motion kernel total CPU time load – CPUCorrectorLoadRatio double Controller motion kernel corrector CPU time load – CPUProfilerLoadRatio double Controller motion kernel profiler CPU time load – CPUServitudesLoadRatio double EDH0305En1051 — 08/15 28 Controller motion kernel servitudes CPU time load XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, CPUTotalLoadRatio, CPUCorrectorLoadRatio, CPUProfilerLoadRatio, CPUServitudesLoadRatio] ControllerMotionKernelTimeLoadGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function Return – Error int Function error code – CPUTotalLoadRatio double Controller motion kernel total CPU time load – CPUCorrectorLoadRatio double Controller motion kernel corrector CPU time load – CPUProfilerLoadRatio double Controller motion kernel profiler CPU time load – CPUServitudesLoadRatio double 29 Controller motion kernel servitudes CPU time load EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.4 ControllerRTTimeGet Name ControllerRTTimeGet – Returns the controller corrector period and corrector calculation time. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Valid group name: ERR_GROUP_NAME (-19) Description This function gets the last exact value of controller corrector period and of corrector calculation time. NOTE This function can be used only with the XPS-Qn Precision Platform controller. The theoretical value of XPS controller corrector period is 0.125 ms (corresponding to 8 kHz controller corrector frequency). Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 30 XPS-Q8 Controller Programmer’s Manual TCL Prototype ControllerRTTimeGet SocketID CurrentRTPeriod CurrentRTUsage Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – CurrentRTPeriod double Controller corrector period (seconds) – CurrentRTUsage double Controller corrector calculation time (seconds) Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int ControllerRTTimeGet (int SocketID, double * CurrentRTPeriod, double * CurrentRTUsage) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – CurrentRTPeriod double * Controller corrector period (seconds) – CurrentRTUsage double * Controller corrector calculation time (seconds) Output parameters Return – Function error code Visual Basic Prototype Long ControllerRTTimeGet (ByVal SocketID As Long, CurrentRTPeriod As Double, CurrentRTUsage As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – CurrentRTPeriod double Controller corrector period (seconds) – CurrentRTUsage double Controller corrector calculation time (seconds) Output parameters Return – Function error code 31 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, CurrentRTPeriod, CurrentRTUsage] ControllerRTTimeGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – Error int32 Function error code – CurrentRTPeriod double Controller corrector period (seconds) – CurrentRTUsage double Controller corrector calculation time (seconds) Return Python Prototype [Error, CurrentRTPeriod, CurrentRTUsage] ControllerRTTimeGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – Error int Function error code – CurrentRTPeriod double Controller corrector period (seconds) – CurrentRTUsage double Controller corrector calculation time (seconds) Return EDH0305En1051 — 08/15 32 XPS-Q8 Controller Programmer’s Manual 2.1.5 ControllerSlaveStatusGet Name ControllerSlaveStatusGet – Returns the slave controller status code. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid output parameter type: ERR_WRONG_TYPE_INT (-15) - Valid group name: ERR_GROUP_NAME (-19) Description This function, called from the master controller, gets status of its slave controller(s) . The slave controller status codes can take the following values: 0: All slave controllers are externally synchronized with the master controller. 1: The synchronization cable is not connected to any slave controller. 2: At least one slave controller is not externally synchronized with the master controller. On the master controller, the description of the slave controller status code can be obtained with the “ControllerSlaveStatusStringGet” function. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 33 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype ControllerSlaveStatusGet SocketID SlaveControllerStatus Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function interger Slave status of the controller. Output parameters – SlaveControllerStatus Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int ControllerSlaveStatusGet (int SocketID, int * SlaveControllerStatus) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function int * Slave status of the controller Output parameters – SlaveControllerStatus Return – Function error code Visual Basic Prototype Long ControllerSlaveStatusGet (ByVal SocketID As Long, SlaveControllerStatus As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function long Slave status of the controller Output parameters – SlaveControllerStatus Return – Function error code EDH0305En1051 — 08/15 34 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, SlaveControllerStatus] ControllerSlaveStatusGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – Error int32 Function error code – SlaveControllerStatus int32 Slave status of the controller Return Python Prototype [Error, SlaveControllerStatus] ControllerSlaveStatusGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – Error int Function error code – SlaveControllerStatus int Slave status of the controller Return 35 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.6 ControllerSlaveStatusStringGet Name ControllerSlaveStatusStringGet – Gets the slave controller status description from a slave controller status code. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check input parameter value: ERR_PARAMETER_OUT_OF_RANGE (-17) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function returns the slave controller status description corresponding to a slave controller status code. If the slave status code is not referenced then the function returns ERR_PARAMETER_OUT_OF_RANGE (-17) error. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - ERR_PARAMETER_OUT_OF_RANGE (-17) - SUCCESS (0): no error TCL Prototype ControllerSlaveStatusStringGet $SocketID $SlaveControllerStatus SlaveControllerStatusString Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – SlaveControllerStatus int Slave controller status code string Slave controller status description int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – SlaveControllerStatusString Return – Error EDH0305En1051 — 08/15 36 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int ControllerSlaveStatusStringGet (int SocketID, int SlaveControllerStatus, char * SlaveControllerStatusString) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – SlaveControllerStatus int Slave controller status code Output parameters – SlaveControllerStatusString char * Slave controller status description Return – Error int TCL error code (0 = success or 1 = syntax error) or function error code Visual Basic Prototype Long ControllerSlaveStatusStringGet (ByVal SocketID As Long, SlaveControllerStatus As Integer, ByVal SlaveControllerStatusString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – SlaveControllerStatus int Slave controller status code string Slave controller status description long TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – SlaveControllerStatusString Return – Error Matlab Prototype [Error, SlaveControllerStatusString] ControllerSlaveStatusStringGet (int32 SocketID, int32 SlaveControllerStatus) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – SlaveControllerStatus int32 Slave controller status code int32 Function error code Return – Error – SlaveControllerStatusString cstring 37 Slave controller status description EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, SlaveControllerStatusString] ControllerSlaveStatusStringGet (integer SocketID, integer SlaveControllerStatus) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – SlaveControllerStatus int Slave controller status code – Error int Function error code – SlaveControllerStatusString string Slave controller status description Return EDH0305En1051 — 08/15 38 XPS-Q8 Controller Programmer’s Manual 2.1.7 ControllerStatusGet Name ControllerStatusGet – Returns the controller status code. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid output parameter type: ERR_WRONG_TYPE_INT (-15) - Valid group name: ERR_GROUP_NAME (-19) Description Returns the controller status code. The controller status codes are listed in the “Controller status list” § 03. The description of the controller status code can be obtained with the “ControllerStatusStringGet” function. The controller status flag is automatically reset after a controller status reading using the ControllerStatusGet() command. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype ControllerStatusGet SocketID ControllerStatus Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function interger Status of the controller. Output parameters – ControllerStatus Return – TCL error code (0 = success or 1 = syntax error) or Function error code 39 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int ControllerStatusGet (int SocketID, int * ControllerStatus) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function int * Status of the controller Output parameters – ControllerStatus Return – Function error code Visual Basic Prototype Long ControllerStatusGet (ByVal SocketID As Long, ControllerStatus As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function long Status of the controller Output parameters – ControllerStatus Return – Function error code Matlab Prototype [Error, ControllerStatus] ControllerStatusGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – Error int32 Function error code – ControllerStatus int32 Status of the controller Return Python Prototype [Error, ControllerStatus] ControllerStatusGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – Error int Function error code – ControllerStatus int Status of the controller Return EDH0305En1051 — 08/15 40 XPS-Q8 Controller Programmer’s Manual 2.1.8 ControllerStatusRead Name ControllerStatusRead – Reads the controller status code. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid output parameter type: ERR_WRONG_TYPE_INT (-15) - Valid group name: ERR_GROUP_NAME (-19) Description Returns the controller status code. The controller status codes are listed in the “Controller status list” § 03. The description of the controller status code can be obtained with the “ControllerStatusStringGet” function. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype ControllerStatusRead SocketID ControllerStatus Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function int Status of the controller. Output parameters – ControllerStatus Return – TCL error code (0 = success or 1 = syntax error) or Function error code 41 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int ControllerStatusRead (int SocketID, int *ControllerStatus) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function int * Status of the controller Output parameters – ControllerStatus Return – Function error code Visual Basic Prototype Long ControllerStatusRead (ByVal SocketID As Long, ControllerStatus As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function long Status of the controller Output parameters – ControllerStatus Return – Function error code Matlab Prototype [Error, ControllerStatus] ControllerStatusRead (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – Error int32 Function error code – ControllerStatus int32 Status of the controller Return EDH0305En1051 — 08/15 42 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ControllerStatus] ControllerStatusRead (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – Error int Function error code – ControllerStatus int Status of the controller Return 43 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.9 ControllerStatusStringGet Name ControllerStatusStringGet – Get the controller status description from a controller status code. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function returns the controller status description corresponding to a controller status code (see §0 controller status list). If the status code is not referenced then the “Unknown controller status code” message will be returned. Error codes - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype ControllerStatusStringGet $SocketID $ControllerStatusCode ControllerStatusString Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – ControllerStatusCode int Controller status code Output parameters – ControllerStatusString string Controller status description Return – Error EDH0305En1051 — 08/15 int 44 TCL error code (0 = success or 1 = syntax error) or function error code XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int ControllerStatusStringGet (int SocketID, int ControllerStatusCode, char * ControllerStatusString) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – ControllerStatusCode int Controller status code Output parameters – ControllerStatusString char * Controller status description Return – Error int Function error code Visual Basic Prototype Long ControllerStatusStringGet (ByVal SocketID As Long, ControllerStatusCode As Integer, ByVal ControllerStatusString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – ControllerStatusCode int Controller status code Output parameters – ControllerStatusString string Controller status description Return – Error long Function error code Matlab Prototype [Error, ControllerStatusString] ControllerStatusStringGet (int32 SocketID, int32 ControllerStatusCode) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – ControllerStatusCode int32 Controller status code int32 Function error code Return – Error – ControllerStatusString cstring 45 Controller status description EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ControllerStatusString] ControllerStatusStringGet (integer SocketID, integer ControllerStatusCode) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – ControllerStatusCode int Controller status code int Function error code Return – Error – ControllerStatusString string EDH0305En1051 — 08/15 46 Controller status description XPS-Q8 Controller Programmer’s Manual 2.1.10 ControllerSynchronizeCorrectorISR Name ControllerSynchronizeCorrectorISR – Synchronize corrector ISR for master-slave controllers system. Input testS - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check intput parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function sets the mode of corrector ISR synchronization between master controller and its slave controllers. Possible synchronization mode (ModeString) values: “MasterWithEcho”: Turns a controller in the corrector ISR synchronization mode as Master. The master generates a synchronization signal (derived from its corrector ISR frequency) on a pin of the INHIBIT connector. “SlaveOnEcho”: Turns a controller in the corrector ISR synchronization mode as Slave. The slave receives a synchronization signal (on a pin of INHIBIT connector) coming from its master and uses it as its corrector frequency. “Master”: Return to local mode (each controller generates and uses its own corrector ISR frequency. CAUTION This function must be called on each controller (master and its slaves) in the following order: Master first, then 1st, 2nd… slaves. Call this function only if every group is in the NOTINIT state. If the controller has just rebooted, wait 300 seconds before calling this function (the necessary time to have the controller corrector ISR frequency stabilized). NOTE This function can be used only with the XPS-Qn Precision Platform controller. Errors - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error 47 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype ControllerSynchronizeCorrectorISR $SocketID $ModeString Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ModeString string Synchronization mode Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int ControllerSynchronizeCorrectorISR (int SocketID, char *ModeString) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – ModeString char * Synchronization mode Output parameters – None Return – Function error code Visual Basic Prototype Long ControllerSynchronizeCorrectorISR (ByVal SocketID As Long, ByVal ModeString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – ModeString string Synchronization mode Output parameters – None Return – Function error code EDH0305En1051 — 08/15 48 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] ControllerSynchronizeCorrectorISR (int32 SocketID, cstring ModeString) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – ModeString cstring Synchronization mode int32 Function error code Return – Error Python Prototype [Error] ControllerSynchronizeCorrectorISR (integer SocketID, string ModeString) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ModeString string Synchronization mode int Function error code Return – Error 49 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.11 DoubleGlobalArrayGet Name DoubleGlobalArrayGet – Get the value of the global array of type “double”. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Verify the index number [0:1000[: ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function gets the variable value from the global array of type “double”, related to a “Number” index. So, the first variable value from the global array is related to the index “0”. The returned value is returned in a double format. NOTE The number of data points in the global array of type “double” is limited to 1000. Error codes - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype DoubleGlobalArrayGet $SocketID $Number DoubleValue Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array floating point Variable value int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – DoubleValue Return – Error EDH0305En1051 — 08/15 50 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int DoubleGlobalArrayGet (int SocketID, int Number, double * DoubleValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array double * Variable value int Function error code Output parameters – DoubleValue Return – Error Visual Basic Prototype Long DoubleGlobalArrayGet (ByVal SocketID As Long, Number As Integer, ByVal DoubleValue As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array double Variable value long Function error code Output parameters – DoubleValue Return – Error Matlab Prototype [Error, DoubleValue] DoubleGlobalArrayGet (int32 SocketID, int32 Number) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – Number int32 Index in the global array – Error int32 Function error code – DoubleValue doublePtr Variable value Return 51 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, DoubleValue] DoubleGlobalArrayGet (integer SocketID, integer Number) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – Error int Function error code – DoubleValue doublePtr Variable value Return EDH0305En1051 — 08/15 52 XPS-Q8 Controller Programmer’s Manual 2.1.12 DoubleGlobalArraySet Name DoubleGlobalArraySet – Set a value for the global array of type “double”. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15), ERR_WRONG_TYPE_DOUBLE (-14) - Verify the index number [0:1000[: ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function sets a new value in the global array located at the “Number” index and the new value is set in a double format. NOTE The first variable value from the global array is always located at index “0”. The number of data points in the global array is limited to 1000, so the last index is “999”. Error codes - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype DoubleGlobalArraySet $SocketID $Number $DoubleValue Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – DoubleValue floating point Variable value int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 53 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int DoubleGlobalArraySet (int SocketID, int Number, char * DoubleValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – DoubleValue double Variable value int Function error code Output parameters – None Return – Error Visual Basic Prototype Long DoubleGlobalArraySet (ByVal SocketID As Long, Number As Integer, ByVal DoubleValue As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – DoubleValue double Variable value long Function error code Output parameters – None Return – Error Matlab Prototype [Error] DoubleGlobalArraySet (int32 SocketID, int32 Number, double DoubleValue) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – Number int32 Index in the global array – DoubleValue double Variable value int32 Function error code Return – Error EDH0305En1051 — 08/15 54 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] DoubleGlobalArraySet (integer SocketID, integer Number, Double DoubleValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – DoubleValue double Variable value int Function error code Return – Error 55 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.13 ErrorStringGet Name ErrorStringGet – Get the error description from a function error code. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description The function returns the error description corresponding to a function error code (see §0 Error list). If the error code is not referenced then the “Unknown error code” message will be returned. Error codes - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype ErrorStringGet $SocketID $ErrorCode ErrorString Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – ErrorCode int Error code string Error description int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – ErrorString Return – Error EDH0305En1051 — 08/15 56 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int ErrorStringGet (int SocketID, int ErrorCode, char *ErrorString) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – ErrorCode int Error code char * Error description int Function error code Output parameters – ErrorString Return – Error Visual Basic Prototype Long ErrorStringGet (ByVal SocketID As Long, ErrorCode As Integer, ByVal ErrorString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – ErrorCode int Error code string Error description long Function error code Output parameters – ErrorString Return – Error Matlab Prototype [Error, ErrorString] ErrorStringGet (int32 SocketID, int32 ErrorCode) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – ErrorCode int32 Error code – Error int32 Function error code – ErrorString cstring Error description Return 57 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ErrorString] ErrorStringGet (integer SocketID, integer ErrorCode) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – ErrorCode int Error code – Error int Function error code – ErrorString string Error description Return EDH0305En1051 — 08/15 58 XPS-Q8 Controller Programmer’s Manual 2.1.14 ElapsedTimeGet Name ElapsedTimeGet – Get the elapsed time since the controller was power on. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the time in seconds that elapsed since the controller was power on. Error codes - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype ElapsedTimeGet $SocketID $ErrorCode ElapsedTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function double Elapsed time (seconds) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – ErrorString Return – Error C/C++ Prototype int ElapsedTimeGet (int SocketID, double * ElapsedTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function double * Elapsed time (seconds) int Function error code Output parameters – ElapsedTime Return – Error 59 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long ElapsedTimeGet (ByVal SocketID As Long, ErrorCode As Integer, ByVal ElapsedTime As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function double Elapsed time (seconds) long Function error code Output parameters – ElapsedTime Return – Error Matlab Prototype [Error, ElapsedTime] ElapsedTimeGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – Error int32 Function error code – ElapsedTime double Elapsed time (seconds) Return Python Prototype [Error, ElapsedTime] ElapsedTimeGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Error int Function error code – ElapsedTime double Elapsed time (seconds) Return EDH0305En1051 — 08/15 60 XPS-Q8 Controller Programmer’s Manual 2.1.15 FirmwareVersionGet Name FirmwareVersionGet – Gets the version of the firmware inside the controller. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function gets the controller name and the firmware version. Example of returned version string: “XPS-Q8 Firmware V1.0.0” Controller name is XPS-Q8 Firmware version is V1.0.0 Error codes - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error TCL Prototype FirmwareVersionGet $SocketID Version Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function string Controller version int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – Version Return – Error 61 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int FirmwareVersionGet (int SocketID, char * Version) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function char * Controller version int Function error code Output parameters – Version Return – Error Visual Basic Prototype Long FirmwareVersionGet (ByVal SocketID As Long, ByVal ErrorString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function string Controller version long Function error code Output parameters – Version Return – Error Matlab Prototype [Error, Version] FirmwareVersionGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – Error int32 Function error code – Version cstring Controller version Return Python Prototype [Error, Version] FirmwareVersionGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Error int Function error code – Version string Controller version Return EDH0305En1051 — 08/15 62 XPS-Q8 Controller Programmer’s Manual 2.1.16 GroupStatusStringGet Name GroupStatusStringGet – Get the group state description from a group state code. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function returns the group state description corresponding to a group state code (see § 0 Group state list). If the group state code is not referenced then the “Error: undefined status” message will be returned. Error codes - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype GroupStatusStringGet $SocketID $GroupStatusCode GroupStatusString Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupStatusCode int Group status code string Group status description int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – GroupStatusString Return – Error 63 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupStatusStringGet (int SocketID, int GroupStatusCode, char * GroupStatusString) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupStatusCode int Group status code char * Group status description int Function error code Output parameters – GroupStatusString – Return – Error Visual Basic Prototype Long GroupStatusStringGet (ByVal SocketID As Long, GroupStatusCode As Integer, ByVal GroupStatusString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupStatusCode int Group status code string Group status description long Function error code Output parameters – GroupStatusString – Return – Error Matlab Prototype [Error, GroupStatusString] GroupStatusStringGet (int32 SocketID, int32 GroupStatusCode) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – GroupStatusCode int32 Group status code – Error int32 Function error code – GroupStatusString cstring Group status description Return EDH0305En1051 — 08/15 64 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, GroupStatusString] GroupStatusStringGet (integer SocketID, integer GroupStatusCode) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupStatusCode int Group status code – Error int Function error code – GroupStatusString string Group status description Return 65 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.17 GlobalArrayGet Name GlobalArrayGet – Get a value from the global array. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) - Verify the index number [0:100[: ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function gets the variable value from the global array, related to a “Number” index. So, the first variable value from the global array is referenced to the index “0”. The returned value is returned in a string. NOTE The number of data points in the global array is limited to 100. Error codes - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype GlobalArrayGet $SocketID $Number StringValue Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array string Variable value int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – StringValue Return – Error EDH0305En1051 — 08/15 66 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GlobalArrayGet (int SocketID, int Number, char * StringValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array char * Variable value int Function error code Output parameters – StringValue Return – Error Visual Basic Prototype Long GlobalArrayGet (ByVal SocketID As Long, Number As Integer, ByVal StringValue As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array string Variable value long Function error code Output parameters – StringValue Return – Error Matlab Prototype [Error, StringValue] GlobalArrayGet (int32 SocketID, int32 Number) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – Number int32 Index in the global array – Error int32 Function error code – StringValue cstring Variable value Return 67 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, StringValue] GlobalArrayGet (integer SocketID, integer Number) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – Error int Function error code – StringValue string Variable value Return EDH0305En1051 — 08/15 68 XPS-Q8 Controller Programmer’s Manual 2.1.18 GlobalArraySet Name GlobalArraySet – Set the value of the global array. Input tests Check command format: ERR_WRONG_FORMAT (-7) Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) Check input parameter type: ERR_WRONG_TYPE_INT (-15), ERR_WRONG_TYPE_CHAR (-13) - Verify the index number [0:100[: ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function sets a new value in the global array related to the “Number” index and the new value is set to a string. NOTE The first variable value of the global array is always referenced to the index “0”. The number of data points in the global array is limited to 100, so the last index is “99”. Error codes - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype GlobalArraySet $SocketID $Number $StringValue Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – StringValue string Variable value int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 69 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GlobalArraySet (int SocketID, int Number, char * StringValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – StringValue char * Variable value int Function error code Output parameters – None Return – Error Visual Basic Prototype Long GlobalArraySet (ByVal SocketID As Long, Number As Integer, ByVal StringValue As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – StringValue string Variable value long Function error code Output parameters – None Return – Error Matlab Prototype [Error] GlobalArraySet (int32 SocketID, int32 Number, cstring StringValue) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – Number int32 Index in the global array – StringValue cstring Variable value int32 Function error code Return – Error EDH0305En1051 — 08/15 70 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] GlobalArraySet (integer SocketID, integer Number, string StringValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Number int Index in the global array – StringValue string Variable value int Function error code Return – Error 71 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.19 InstallerVersionGet Name InstallerVersionGet – Gets the version of the used installer to upgrade the controller. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function gets the controller name and the installer version. Example of returned version string: “XPS-Q8 Standard Installer Pack Number 30016” Controller name is XPS-Q8 Installer version is 30016 Error codes - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error TCL Prototype InstallerVersionGet $SocketID Version Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function string Installer version int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – Version Return – Error EDH0305En1051 — 08/15 72 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int InstallerVersionGet (int SocketID, char * Version) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function char * Installer version int Function error code Output parameters – Version Return – Error Visual Basic Prototype Long InstallerVersionGet (ByVal SocketID As Long, ByVal ErrorString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function string Installer version long Function error code Output parameters – Version Return – Error Matlab Prototype [Error, Version] InstallerVersionGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – Error int32 Function error code – Version cstring Installer version Return Python Prototype [Error, Version] InstallerVersionGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – Error int Function error code – Version string Installer version Return 73 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.20 KillAll Name KillAll – Kills all groups. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) Description This function kills and resets all groups. This function resets all analog and digital I/O also. The following sequence of steps is performed by the KillAll command. 1) An “emergency stop” is done if the group state is defined as: HOMING REFERENCING MOVING JOGGING ANALOG_TRACKING 2) The motor is turned off, the motion done is stopped and the control loop is stopped. 3) “ERR_EMERGENCY_SIGNAL” is returned by each function that is in progress, and where the group state is: MOTOR_INIT ENCODER_CALIBRATING HOMING REFERENCING MOVING TRAJECTORY ERR_EMERGENCY_SIGNAL 4) At end, the group state is not initialized “NOTINIT” for all groups. Error codes EDH0305En1051 — 08/15 - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 74 XPS-Q8 Controller Programmer’s Manual TCL Prototype KIllAll $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function int TCL error code (0 = success or 1 = syntax error) or function error code int Socket identifier gets by the “TCP_ConnectToServer” function int Function error code Output parameters – None Return – Error C/C++ Prototype int KillAll (int SocketID) Input parameters – SocketID Output parameters – None Return – Error Visual Basic Prototype Long KillAll (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function long Function error code Output parameters – None Return – Error Matlab Prototype [Error] KillAll (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function Return 75 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] KillAll (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function int Function error code Return – Error EDH0305En1051 — 08/15 76 XPS-Q8 Controller Programmer’s Manual 2.1.21 Reboot Name Reboot – Reboots the controller. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) Description This function reboots the controller. Notes that this function is not a hardware reboot (power off/on), it is a firmware reboot. NOTE If an FTP client is connected, this function is not allowed and ERR_NOT_ALLOWED_ACTION (-22) is returned. Error codes - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype Reboot $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 77 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int Reboot (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function int Function error code Output parameters – None Return – Error Visual Basic Prototype Long Reboot (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function long Function error code Output parameters – None Return – Error Matlab Prototype [Error] Reboot (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function int32 Function error code Return – Error Python Prototype [Error] Reboot (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function int Function error code Return – Error EDH0305En1051 — 08/15 78 XPS-Q8 Controller Programmer’s Manual 2.1.22 RestartApplication Name RestartApplication – Restarts the controller’s application and avoids hardware reboot. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) Description This function allows restarting controller applications without hardware reboot. Error codes - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype RestartApplication $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int RestartApplication (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function int Function error code Output parameters – None Return – Error 79 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long RestartApplication (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function long Function error code Output parameters – None Return – Error Matlab Prototype [Error] RestartApplication (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function int32 Function error code Return – Error Python Prototype [Error] RestartApplication (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function int Function error code Return – Error EDH0305En1051 — 08/15 80 XPS-Q8 Controller Programmer’s Manual 2.1.23 TimerGet Name TimerGet – Gets the number of frequency ticks for the selected timer. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter mnemonic: ERR_WRONG_TYPE (-10) - Check output parameter type: ERR_WRONG_TYPE_INT (-15) Description This function returns the number of frequency ticks configured for the selected timer. The “TimerName” can be defined as: o Timer1 o Timer2 o Timer3 o Timer4 o Timer5 The “FrequencyTicks” defines the frequency of the timer: One frequency tick represents a corrector period => 0.125 ms => 8 khz N frequency ticks represents N corrector periods => N * 0.125 ms => kHz NOTE The NULL “FrequencyTicks” (=0) means that the timer is disabled. Error codes - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE (-10) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 81 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype TimerGet $SocketID $TimerName FrequencyTicks Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TimerName string Name of timer int Number of frequency ticks int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – FrequencyTicks Return – Error C/C++ Prototype int TimerGet (int SocketID, char *TimerName, int* FrequencyTicks) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TimerName char * Name of timer int * Number of frequency ticks int Function error code Output parameters – FrequencyTicks Return – Error Visual Basic Prototype Long TimerGet (ByVal SocketID As Long, ByVal TimerName As String, FrequencyTicks As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – TimerName string Name of timer int Number of frequency ticks long Function error code Output parameters – FrequencyTicks Return – Error EDH0305En1051 — 08/15 82 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, FrequencyTicks] TimerGet (int32 SocketID, cstring TimerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – TimerName cstring Name of timer – Error int32 Function error code – FrequencyTicks int32 Number of frequency ticks Return Python Prototype [Error, FrequencyTicks] TimerGet (integer SocketID, string TimerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TimerName string Name of timer – Error int Function error code – FrequencyTicks int Number of frequency ticks Return 83 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.1.24 TimerSet Name TimerSet – Sets the number of frequency ticks for the selected timer. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter mnemonic: ERR_WRONG_TYPE (-10) - Check output parameter type: ERR_WRONG_TYPE_INT (-15) Description This function sets the number of frequency ticks for the selected timer to activate it. The “TimerName” can be defined as: o Timer1 o Timer2 o Timer3 o Timer4 o Timer5 The “FrequencyTicks” allows to defined the frequency of the timer: One frequency tick represents a corrector period => 0.125 ms => 8 khz N frequency ticks represents N corrector periods => N * 0.125 ms => kHz NOTE If the “FrequencyTicks” is null (0) then the timer is disabled. Error codes EDH0305En1051 — 08/15 - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE (-10) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 84 XPS-Q8 Controller Programmer’s Manual TCL Prototype TimerSet $SocketID $TimerName $FrequencyTicks Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TimerName string Name of timer – FrequencyTicks int Number of frequency ticks int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int TimerSet (int SocketID, char *TimerName, int FrequencyTicks) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TimerName char * Name of timer – FrequencyTicks int Number of frequency ticks int Function error code Output parameters – None Return – Error Visual Basic Prototype Long TimerSet (ByVal SocketID As Long, ByVal TimerName As String, ByVal FrequencyTicks As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – TimerName string Name of timer – FrequencyTicks int Number of frequency ticks long Function error code Output parameters – None Return – Error 85 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] TimerSet (int32 SocketID, cstring TimerName, int32 FrequencyTicks) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – TimerName cstring Name of timer – FrequencyTicks int32 Number of frequency ticks int32 Function error code Return – Error Python Prototype [Error, FrequencyTicks] TimerSet (integer SocketID, string TimerName, integer FrequencyTicks) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TimerName string Name of timer – FrequencyTicks int Number of frequency ticks int Function error code Return – Error EDH0305En1051 — 08/15 86 XPS-Q8 Controller Programmer’s Manual 2.2 Positioner 2.2.1 Description Positioner objects are used to define all motion specific configuration parameters. The positioner includes a mapping correction: X = f (X) The positioner includes the SGamma profile. The maximum number of positioners is limited to 8. 2.2.2 Object Structure To use a positioner, it must belong to a motion group. Positioners are defined by full positioner name. The full positioner name is composed of the group name and the positioner name seperated by a period (.). Example: GroupName.PositionerName 2.2.3 Definition of the Different Positions for a Positioner For each positioner, three different positions can be called: 1. The SetpointPosition is the profiler position. This is the position where the positioner should be according to ideal theoretical motion profile. 2. The CurrentPosition is the encoder position of the stage after mapping corrections. This is the actual position of the positioner 3. The TargetPosition is the final target position commanded by the user. The difference between the SetpointPosition and the CurrentPosition is called the following error. 87 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual For instance, during a motion from the position 0 (units) to 100 (units), we could have the following result: SetpointPosition = 50 CurrentPosition = 49.998 (FollowingError = 50 – 49.998 = 0.002 unit) TargetPosition = 100. EDH0305En1051 — 08/15 88 XPS-Q8 Controller Programmer’s Manual 2.2.4 Function Description 2.2.4.1 PositionerAccelerationAutoScaling Name PositionerAccelerationAutoScaling – Auto-scaling process for determining the stage scaling acceleration. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Positioner must not be a “Secondary Positioner”: ERR_WRONG_OBJECT_TYPE (-8) - Check positioner name: ERR_POSITIONER_NAME (-18) - Check group type: ERR_WRONG_OBJECT_TYPE (-8) - Control loop type must be “PIDFFAcceleration”: ERR_UNCOMPATIBLE (-24) - Group status must be “NOT_INITIALIZED”: ERR_NOT_ALLOWED_ACTION (-22) Description The function executes an auto-scaling process and returns the calculated scaling acceleration. The selected group must be in “NOTINIT” state, else ERR_NOT_ALLOWED_ACTION (-22) is returned. This function works only if the positioner control loop type is “PIDFFAcceleration” (acceleration control), else it returns ERR_UNCOMPATIBLE error. This function checks the positioner error. If an error is detected, the hardware status register is reset (motor on) and the positioner error is cleared before checking it again. If a positioner error is present, the motor is turned off, ERR_POSITIONER_ERROR (-5) is returned and the group status becomes “NOTINIT”. If there is no positioner error then the master-slave error is cleared, the encoder is preset (update encoder position) and the user travel limits are checked. If a travel limit error is detected then the motor is turned off, ERR_TRAVEL_LIMITS (-35) is returned and the group status becomes “NOTINIT”. If no error, the motor will be initialized in the case of stage acceleration control. If motor initialization fails then the error ERR_MOTOR_INITIALIZATION_ERROR (50) is returned and the group status becomes “NOTINIT”. If motor initialization is successful, the positions are preset, the motion is enabled (the motor is powered) permitting the process of auto-scaling. If the motion cannot be enabled, ERR_NOT_ALLOWED_ACTION (-22) is returned. If the auto-scaling fails ERR_SCALING_CALIBRATION (-105) is returned or if the motion becomes disabled then ERR_EMERGENCY_SIGNAL (-26) is returned. The auto-scaling process is executed in 5 periods. At the end of each period, the autotuning process estimates the auto-tuning quality by calculating the noise/signal ratio. If the noise/signal ratio is very close to zero (it means no oscillation) ERR_RELAY_FEEDBACK_TEST_NO_OSCILLATION (-101) is returned. Else, where if the noise ratio > MaximumNoiseRatio (normally between 0.1 and 0.2, exact 89 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual value defined in system.ref) then ERR_RELAY_FEEDBACK_TEST_SIGNAL_NOISY (-102) is returned. If the number of acquired data points (minimum = 9) or the number of acquired signal periods (minimum = 5) is not enough for a good estimate then ERR_SIGNAL_POINTS_NOT_ENOUGH (-103) is returned. At end of this function, the new value of scaling acceleration is returned and the group status becomes “NOTINIT” once again. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_MOTOR_INITIALIZATION_ERROR (-50) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_ERROR (-5) - ERR_POSITIONER_NAME (-18) - ERR_RELAY_FEEDBACK_TEST_NO_OSCILLATION (-101) - ERR_RELAY_FEEDBACK_TEST_SIGNAL_NOISY (-102) - ERR_SCALING_CALIBRATION (-105) - ERR_SIGNAL_POINTS_NOT_ENOUGH (-103) - ERR_TRAVEL_LIMITS (-35) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 90 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerAccelerationAutoScaling $SocketID $PositionerName Scaling Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Name of a positioner floating point Calculated scaling acceleration value int TCL error code (0 = success or 1 = syntax error) or Function error code Output parameters – Scaling Return – Error C/C++ Prototype int PositionerAccelerationAutoScaling (int SocketID, char * PositionerName, double * Scaling) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName char * Name of a positioner double * Calculated scaling acceleration value int Function error code Output parameters – Scaling Return – Error Visual Basic Prototype Long PositionerAccelerationAutoScaling (ByVal SocketID As Long, ByVal PositionerName As String, Scaling As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Name of a positioner double Calculated scaling acceleration value long Function error code Output parameters – Scaling Return – Error 91 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, Scaling] PositionerAccelerationAutoScaling (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName cstring Name of a positioner – Error int32 Function error code – Scaling double Calculated scaling acceleration value Return Python Prototype [Error, Scaling] PositionerAccelerationAutoScaling (integer SocketID, string PositionerName, string Password) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Name of a positioner – Error int Function error code – Scaling double Calculated scaling acceleration value Return EDH0305En1051 — 08/15 92 XPS-Q8 Controller Programmer’s Manual 2.2.4.2 PositionerAnalogTrackingPositionParametersGet Name PositionerAnalogTrackingPositionParametersGet – Gets the parameters of the current tracking position mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter: ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the current analog input name, the current offset and the current scale used by analog tracking position mode. For a more thorough description of the analog tracking mode, please refer to the XPS Motion Tutorial section Motion/Analog tracking. NOTE “velocity” and “acceleration” define the maximum velocity and acceleration used in the position tracking mode. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 93 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerAnalogTrackingPositionParametersGet $SocketID $FullPositionerName GPIOName Offset Scale velocity acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset (volts) – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerAnalogTrackingPositionParametersGet (int SocketID, char FullPositionerName [250], char *GPIOName, double * Offset, double * Scale, double * velocity, double * acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – GPIOName char * Analog input name (ADC) – Offset double * Offset in volts – Scale double * Scale (Units/Volts) – Velocity double * Velocity (Units/s) – Acceleration double * Acceleration (Units/s²) int Function error code Output parameters Return – Error EDH0305En1051 — 08/15 94 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerAnalogTrackingPositionParametersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal GPIOName As String, Offset As Double, Scale As Double, velocity As Double, acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) long Function error code Output parameters Return – Error Matlab Prototype [Error, GPIOName, Offset, Scale, velocity, acceleration] PositionerAnalogTrackingPositionParametersGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – GPIOName cstring Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) Return 95 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, GPIOName, Offset, Scale, velocity, acceleration] PositionerAnalogTrackingPositionParametersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – GPIOName string Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) Return EDH0305En1051 — 08/15 96 XPS-Q8 Controller Programmer’s Manual 2.2.4.3 PositionerAnalogTrackingPositionParametersSet Name PositionerAnalogTrackingPositionParametersSet – Sets the parameters of the current tracking position mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter: ERR_POSITIONER_NAME (-18) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check Positioner and GPIO type (ADC): ERR_WRONG_OBJECT_TYPE (-8) - Check velocity and acceleration: ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function modifies the analog input name, the offset and the scale used by the analog tracking position mode. To use this function, the group state must be READY else ERR_NOT_ALLOWED_ACTION is returned. The “Offset” and the “Scale” parameters are used to calculate the target tracking position: TrackingPosition = InitialPosition + (AnalogValue - Offset) * Scale The “velocity” and “acceleration” parameters define the maximum velocity and acceleration used in the position tracking mode. NOTE The parameters of analog tracking position mode can be reset if the “GPIOName” parameter is blank. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 97 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerAnalogTrackingPositionParametersSet $SocketID $FullPositionerName $GPIOName $Offset $Scale $velocity $acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset (volts) – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerAnalogTrackingPositionParametersSet (int SocketID, char FullPositionerName [250], char *GPIOName, double Offset, double Scale, double velocity, double acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – GPIOName char * Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 98 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerAnalogTrackingPositionParametersSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal GPIOName As String, ByVal Offset As Double, ByVal Scale As Double, ByVal velocity As Double, ByVal acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerAnalogTrackingPositionParametersSet (int32 SocketID, cstring FullPositionerName, cstring GPIOName, double Offset, double Scale, double velocity, double acceleration) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – GPIOName cstring Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int32 Function error code Return – Error 99 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerAnalogTrackingPositionParametersSet (integer SocketID, string FullPositionerName, string GPIOName, double Offset, double Scale, double velocity, double acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int Function error code Return – Error EDH0305En1051 — 08/15 100 XPS-Q8 Controller Programmer’s Manual 2.2.4.4 PositionerAnalogTrackingVelocityParametersGet Name PositionerAnalogTrackingVelocityParametersGet – Gets the parameters of the current tracking velocity mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter: ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_INT (-15) Description This function returns the analog input name, the offset, the scale, the deadband threshold and the order used by analog traking velocity mode. For a more thorough description of the analog tracking mode, please refer to the XPS Motion Tutorial section Motion/Analog tracking. NOTE “velocity” and “acceleration” define the maximum velocity and acceleration used in the velocity tracking mode. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 101 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerAnalogTrackingVelocityParametersGet $SocketID $FullPositionerName GPIOName Offset Scale DeadBandThreshold Order velocity acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset (volts) – Scale double Scale (Units/Volts) – DeadBandThreshold double Dead band threshold (Volts) – Order int Order (No unit) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerAnalogTrackingVelocityParametersGet (int SocketID, char FullPositionerName [250], char *GPIOName, double * Offset, double * Scale, double * DeadBandThreshold, int * Order, double * velocity, double * acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – GPIOName char * Analog input name (ADC) – Offset double * Offset in volts – Scale double * Scale (Units/Volts) – DeadBandThreshold double * Dead band threshold (Volts) – Order integer * Order (No unit) – Velocity double * Velocity (Units/s) – Acceleration double * Acceleration (Units/s²) int Function error code Output parameters Return – Error EDH0305En1051 — 08/15 102 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerAnalogTrackingVelocityParametersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal GPIOName As String, Offset As Double, Scale As Double, DeadBandThreshold As Double, Order As Integer, velocity As Double, acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – DeadBandThreshold double Dead band threshold (Volts) – Order int Order (No unit) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) long Function error code Output parameters Return – Error Matlab Prototype [Error, GPIOName, Offset, Scale, DeadBandThreshold, Order , velocity, acceleration] PositionerAnalogTrackingVelocityParametersGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – GPIOName cstring Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – DeadBandThreshold double Dead band threshold (Volts) – Order int32 Order (No unit) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) Return 103 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, GPIOName, Offset, Scale, DeadBandThreshold, Order , velocity, acceleration] PositionerAnalogTrackingVelocityParametersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – GPIOName string Analog input name (ADC) – Offset double Offset in volts – Scale double Scale (Units/Volts) – DeadBandThreshold double Dead band threshold (Volts) – Order int Order (No unit) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) Return EDH0305En1051 — 08/15 104 XPS-Q8 Controller Programmer’s Manual 2.2.4.5 PositionerAnalogTrackingVelocityParametersSet Name PositionerAnalogTrackingVelocityParametersSet – Sets the parameters of the current tracking velocity mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check Positioner: ERR_POSITIONER_NAME (-18), ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_INT (-15) - Check GPIO type (ADC): ERR_WRONG_OBJECT_TYPE (-8) - Check velocity and acceleration: ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function allows modifying the GPIO name, offset, scale, deadband threshold and the order used by analog tracking velocity mode. To use this function the group state must be READY else ERR_NOT_ALLOWED_ACTION (-22) is returned. The target tracking velocity is defined as follows: InputValue = GPIOAnalogInput – Offset MaxADCAmplitude = 10/GPIOAnalogGain if (InputValue >= 0) then InputValue = InputValue - DeadBandThreshold if (InputValue < 0) then InputValue = 0 else InputValue = AnalogInputValue + DeadBandThreshold if (InputValue > 0) then InputValue = 0 OutputValue = (|InputValue|/MaxADCAmplitude)Order TrackingVelocity = Sign(InputValue) * OutputValue * Scale * MaxADCAmplitude The “velocity” and “acceleration” define the maximum velocity and acceleration used in the velocity tracking mode. NOTE The analog tracking velocity mode can be reset if the “GPIOName” parameter is empty. 105 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype PositionerAnalogTrackingVelocityParametersSet $SocketID $FullPositionerName $GPIOName $Offset $Scale $DeadBandThreshold $Order $velocity $acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset (volts) – Scale double Scale (Units/Volts) – DeadBandThreshold double Dead band threshold (Volts) – Order int Order (No unit) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 106 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerAnalogTrackingVelocityParametersSet (int SocketID, char FullPositionerName [250], char *GPIOName, double Offset, double Scale, double DeadBandThreshold, int Order, double velocity, double acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – GPIOName char * Analog input name (ADC) – Offset double Offset in volts – DeadBandThreshold double Dead band threshold (Volts) – Order int Order (No unit) – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerAnalogTrackingVelocityParametersSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal GPIOName As String, ByVal Offset As Double, ByVal Scale As Double, ByVal DeadBandThreshold As Double, ByVal Order As Integer, ByVal velocity As Double, ByVal acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset in volts – DeadBandThreshold double Dead band threshold (Volts) – Order int Order (No unit) – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) long Function error code Output parameters – None Return – Error 107 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerAnalogTrackingVelocityParametersSet (int32 SocketID, cstring FullPositionerName, cstring GPIOName, double Offset, double Scale, double DeadBandThreshold, int32 Order, double velocity, double acceleration) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – GPIOName cstring Analog input name (ADC) – Offset double Offset in volts – DeadBandThreshold double Dead band threshold (Volts) – Order int32 Order (No unit) – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int32 Function error code Return – Error Python Prototype [Error] PositionerAnalogTrackingVelocityParametersSet (integer SocketID, string FullPositionerName, string GPIOName, double Offset, double Scale, double DeadBandThreshold, integer Order, double velocity, double acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – GPIOName string Analog input name (ADC) – Offset double Offset in volts – DeadBandThreshold double Dead band threshold (Volts) – Order int Order (No unit) – Scale double Scale (Units/Volts) – Velocity double Velocity (Units/s) – Acceleration double Acceleration (Units/s²) int Function error code Return – Error EDH0305En1051 — 08/15 108 XPS-Q8 Controller Programmer’s Manual 2.2.4.6 PositionerBacklashDisable Name PositionerBacklashDisable – Disables the backlash compensation. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) Description This function disables the backlash compensation. For a more thorough description of the backlash compensation, please refer to the XPS Motion Tutorial section Compensation/Backlash compensation. In the “stages.ini” file the parameter “Backlash” will enable or disable this feature as follows: Backlash = 0 —> Disable backlash Backlash > 0 —> Enable backlash NOTE The backlash compensation is not allowed with a secondary positioner (gantry mode). The backlash must be disabled to execute a trajectory, to use the jog mode or to use the analog tracking mode. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_OBJECT_TYPE (-8) - SUCCESS (0): no error 109 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerBacklashDisable SocketID FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int PositionerBacklashDisable (int SocketID, char * FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – FullPositionerName char * Positioner name (maximum size = 250) Output parameters – None Return – Function error code Visual Basic Prototype Long PositionerBacklashDisable (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name (maximum size = 250) Output parameters – None Return – Function error code EDH0305En1051 — 08/15 110 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 PositionerBacklashDisable (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – FullPositionerName cstring Positioner name (maximum size = 250) Return – Function error code Python Prototype integer PositionerBacklashDisable (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – FullPositionerName string Positioner name (maximum size = 250) Return – Function error code 111 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.7 PositionerBacklashEnable Name PositionerBacklashEnable – Enables the backlash compensation. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Group status must be “NOTINIT”: ERR_NOT_ALLOWED_ACTION (-22) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) Description This function enables the backlash compensation defined in the “stages.ini” file or defined by the “PositionerBacklashSet” function. If the backlash compensation value is null then this function will have not effect, and backlash compensation will remain disabled. For a more thorough description of the backlash compensation, please refer to the XPS Motion Tutorial section Compensation/Backlash compensation. The group state must be NOTINIT to enable the backlash compensation. If it is not the case then ERR_NOT_ALLOWED_ACTION (-22) is returned. In the “stages.ini” file the parameter “Backlash” allows the user to enable or disable the backlash compensation. Backlash = 0 —> Disable backlash Backlash > 0 —> Enable backlash NOTE The backlash must be disabled to execute a trajectory, to use the jog mode or to use the analog tracking mode. CAUTION It is not possible to use backlash compensation with positioners that have a “HomeSearchSequenceType” defined as “CurrentPositionAsHome” or that have a “PositionerMappingFileName” defined in the stages.ini file. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_OBJECT_TYPE (-8) - SUCCESS (0): no error 112 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerBacklashEnable SocketID FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int PositionerBacklashEnable (int SocketID, char * FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – FullPositionerName char * Positioner name (maximum size = 250) Output parameters – None Return – Function error code Visual Basic Prototype Long PositionerBacklashEnable (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name (maximum size = 250) Output parameters – None Return – Function error code 113 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 PositionerBacklashEnable (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – FullPositionerName cstring Positioner name (maximum size = 250) Return – Function error code Python Prototype integer PositionerBacklashEnable (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – FullPositionerName string Positioner name (maximum size = 250) Return – Function error code EDH0305En1051 — 08/15 114 XPS-Q8 Controller Programmer’s Manual 2.2.4.8 PositionerBacklashGet Name PositionerBacklashGet – Gets the backlash compensation value. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) Description This function returns the backlash compensation value, defined in the “stages.ini” file or defined by the “PositionerBacklashSet” function, and the backlash status (“Enable” or “Disable”). For a more thorough description of the backlash compensation, please refer to the XPS Motion Tutorial section Compensation/Backlash compensation. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerBacklashGet $SocketID $FullPositionerName BacklashValue Status Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Backlash compensation value (units) Output parameters – BacklashValue – StatusStringBacklash status (“Enable” or “Disable”) Return – Error int 115 TCL error code (0 = success or 1 = syntax error) or function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerBacklashGet (int SocketID, char FullPositionerName [250], double * BacklashValue, char * Status) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – BacklashValue double * Backlash compensation value (units) – Status char * Backlash status (“Enable” or “Disable”) int Function error code Output parameters Return – Error Visual Basic Prototype Long PositionerBacklashGet (ByVal SocketID As Long, ByVal FullPositionerName As String, BacklashValue As Double, ByVal Status As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – BacklashValue double Backlash compensation value (units) – Status string Backlash status (“Enable” or “Disable”) long Function error code Output parameters Return – Error Matlab Prototype [Error, BacklashValue, Status] PositionerBacklashGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – BacklashValue double Backlash compensation value (units) – Status cstring Backlash status (“Enable” or “Disable”) Return EDH0305En1051 — 08/15 116 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, BacklashValue, Status] PositionerBacklashGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – BacklashValue double Backlash compensation value (units) – Status string Backlash status (“Enable” or “Disable”) Return 117 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.9 PositionerBacklashSet Name PositionerBacklashSet – Sets the backlash compensation value. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter: ERR_WRONG_TYPE_DOUBLE (-14) - The “BacklashValue” must be positive: ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function changes the backlash compensation value. For a more thorough description of the backlash compensation, please refer to the XPS Motion Tutorial section Compensation/Backlash compensation. NOTE This function can be used only if a backlash compensation is defined in the “stages.ini” file (Backlash > 0) else ERR_NOT_ALLOWED_ACTION (-22) is returned. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 118 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerBacklashSet $SocketID $FullPositionerName $BacklashValue Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – BacklashValue double Backlash compensation value (units) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerBacklashSet (int SocketID, char FullPositionerName [250], double BacklashValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – BacklashValue double Backlash compensation value (units) int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerBacklashSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal BacklashValue As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – BacklashValue double Backlash compensation value (units) long Function error code Output parameters – None Return – Error 119 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerBacklashSet (int32 SocketID, cstring FullPositionerName, double BacklashValue) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – BacklashValue double Backlash compensation value (units) int32 Function error code Return – Error Python Prototype [Error] PositionerBacklashSet (integer SocketID, string FullPositionerName, double BacklashValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – BacklashValue double Backlash compensation value (units) int Function error code Return – Error EDH0305En1051 — 08/15 120 XPS-Q8 Controller Programmer’s Manual 2.2.4.10 PositionerCompensatedPCOAbort Name PositionerCompensatedPCOAbort – Abort the CIE08 compensated PCO pulses generation. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check CIE08CompensatedPCOMode = Enabled (system.ini) : ERR_NOT_ALLOWED_MODE_DISABLED (-121) Description This function aborts the CIE08 compensated PCO pulses generation. The pulses generation is stopped immediately; no more pulses will be generated even if the scanning positioner continues to move across the predefined firing positions. To stop the scanning move, use GroupMoveAbort() function. NOTE • The function works only when the CIE08 compensated PCO mode configuration is enabled (system.ini : CIE08CompensatedPCOMode = Enabled). • This function can be used only with a position encoder (“AquadB” or “AnalogInterpolated”), elsewhere ERR_UNCOMPATIBLE (-24) error is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - ERR_NOT_ALLOWED_MODE_DISABLED (-121) - SUCCESS (0): no error 121 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensatedPCOAbort $SocketID $FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerCompensatedPCOAbort (int SocketID, char FullPositionerName[250]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerCompensatedPCOAbort (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name long Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 122 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCompensatedPCOAbort (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error Python Prototype [Error] PositionerCompensatedPCOAbort (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error 123 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.11 PositionerCompensatedPCOCurrentStatusGet Name PositionerCompensatedPCOCurrentStatusGet – Get current status of CIE08 compensated PCO pulses generation. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check CIE08CompensatedPCOMode = Enabled (system.ini) : ERR_NOT_ALLOWED_MODE_DISABLED (-121) Description This function gets the current status of CIE08 compensated PCO pulses generation. Status possible values : 0 : Pulses generation inactive (idle, no error) 1 : Pulses generation activated (running) -1 : Pulses generation aborted with errors. NOTE • The function works only when the CIE08 compensated PCO mode configuration is enabled (system.ini : CIE08CompensatedPCOMode = Enabled). • This function can be used only with a position encoder (“AquadB” or “AnalogInterpolated”), otherwise ERR_UNCOMPATIBLE (-24) error is returned. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - ERR_NOT_ALLOWED_MODE_DISABLED (-121) - SUCCESS (0): no error 124 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensatedPCOCurrentStatusGet $SocketID $FullPositionerName Status Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Mode status int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – Status Return – Error C/C++ Prototype int PositionerCompensatedPCOCurrentStatusGet (int SocketID, char FullPositionerName[250], int * Status) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int * Mode status int Function error code Output parameters – Status Return – Error Visual Basic Prototype Long PositionerCompensatedPCOCurrentStatusGet (ByVal SocketID As Long, ByVal FullPositionerName As String, Status As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name long Mode status long Function error code Output parameters – Status Return – Error 125 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, Status] PositionerCompensatedPCOCurrentStatusGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – Status int32 Mode status Return Python Prototype [Error, Status] PositionerCompensatedPCOCurrentStatusGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – Status int Mode status Return EDH0305En1051 — 08/15 126 XPS-Q8 Controller Programmer’s Manual 2.2.4.12 PositionerCompensatedPCOEnable Name PositionerCompensatedPCOEnable – Activate the CIE08 compensated PCO pulses generation. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check CIE08CompensatedPCOMode = Enabled (system.ini) : ERR_NOT_ALLOWED_MODE_DISABLED (-121) - Check if data have been prepared by PositionerCompensatedPCOPrepare() : ERR_CHECK_DATA_INCORRECT (-122) - Check current position is out and at the good side of scanning zone (left of scanning zone if ScanDirection positive, right of scanning zone if ScanDirection negative) : ERR_NOT_ALLOWED_ACTION (-22) - Check CIE08 compensated PCO mode is running : ERR_NOT_ALLOWED_ACTION (-22) Description This function activates the CIE08 compensated PCO pulses generation (status becomes running (value 1)). The pulses will be generated when the scanning positioner will move across the predefined positions. When the last pulse is generated, the CIE08 compensated PCO mode will become inactive (status becomes inactive (value 0)). To get status of the CIE08 compensated PCO pulses generation, use PositionerCompensatedPCOCurrentStatusGet() function. Note that only the scanning positioner positions are used to fire pulses: if you prepare a set of positions at a given location and then enable the pulses generation and start the move from a different location, the pulses could be generated but their accuracy will be impacted by the mapping difference between the two locations. This function must be used after the firing pulses data preparation with the PositionerCompensatedPCOPrepare(), elsewhere the function fails and the error ERR_CHECK_DATA_INCORRECT (-122) will be returned. NOTE The PCO pulses generation depends on the ScanVelocity and the pulse settling time (set by PositionerPositionComparePulseParametersSet()) 127 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Valid settings are shown in the table below: PCO encoder frequency (kHz) Pulse settling time (µs) 25 50 0.075 1 OK 4 OK 12 OK 125 > 500 OK OK OK OK How to determine the PCO encoder frequency : - For AquadB encoder : PCO encoder frequency = Velocity / EncoderResolution - For analog interpolated encoder : PCO encoder frequency = Velocity * HardInterpolatorFactor / EncoderScalePitch Example: XML310 stage (EncoderScalePitch=0.004 mm, HardInterpolatorFactor=200). With ScanVelocity=10mm/s => PCO encoder frequency = 10*200/0.004 = 500 kHz NOTE • The function works only when the CIE08 compensated PCO mode configuration is enabled (system.ini : CIE08CompensatedPCOMode = Enabled). • This function can be used only with a position encoder (“AquadB” or “AnalogInterpolated”), otherwise ERR_UNCOMPATIBLE (-24) error is returned. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_IN_INITIALIZATION (-21) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - ERR_NOT_ALLOWED_MODE_DISABLED (-121) - ERR_CHECK_DATA_INCORRECT (-122) - SUCCESS (0): no error 128 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensatedPCOEnable $SocketID $FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int TCL error code (0 = success or 1 = syntax error) or function error code Output parameter – None Return – Error C/C++ Prototype int PositionerCompensatedPCOEnable (int SocketID, char FullPositionerName[250]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int Function error code Output parameter – None Return – Error Visual Basic Prototype Long PositionerCompensatedPCOEnable (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name long Function error code Output parameters – None Return – Error 129 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCompensatedPCOEnable (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error Python Prototype [Error] PositionerCompensatedPCOEnable (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error EDH0305En1051 — 08/15 130 XPS-Q8 Controller Programmer’s Manual 2.2.4.13 PositionerCompensatedPCOFromFile Name PositionerCompensatedPCOFromFile – Read firing positions from a data file to controller’s memory. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check CIE08CompensatedPCOMode = Enabled (system.ini) : ERR_NOT_ALLOWED_MODE_DISABLED (-121) - Check data file exists : ERR_READ_FILE (-61) - Check data from file (must be Positioni > Positioni-1, Widthi < Positioni+1 Positioni) : ERR_CHECK_DATA_INCORRECT (-122) Description This function reads firing positions from a data file to the controller’s memory. The data file contains lines of data, formatted as follows: PositioniWidthi Example : Position1Width1 Position2Width2 … … PositionNWidthN Data conditions : Positioni > Positioni-1, Widthi < Positioni+1 - Positioni NOTE • Positioni (i=1..N) are the offset values relative to the scanning positioner start position that is defined in the PositionerCompensatedPCOPrepare(). • The function works only when the CIE08 compensated PCO mode configuration is enabled (system.ini : CIE08CompensatedPCOMode = Enabled). • This function can be used only with a position encoder (“AquadB” or “AnalogInterpolated”), otherwise ERR_UNCOMPATIBLE (-24) error is returned. 131 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - ERR_NOT_ALLOWED_MODE_DISABLED (-121) - ERR_READ_FILE (-61) - ERR_CHECK_DATA_INCORRECT (-122) - SUCCESS (0): no error TCL Prototype PositionerCompensatedPCOFromFile $SocketID $FullPositionerName $DataFileName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – DataFileName string Data file name int TCL error code (0 = success or 1 = syntax error) or function error code Output parameter – None Return – Error EDH0305En1051 — 08/15 132 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensatedPCOFromFile (int SocketID, char FullPositionerName[250] , char DataFileName[250]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – DataFileName char * Data file name int Function error code Output parameter – None Return – Error Visual Basic Prototype Long PositionerCompensatedPCOFromFile (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal DataFileName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – DataFileName string Data file name long Function error code Output parameter – None Return – Error Matlab Prototype [Error] PositionerCompensatedPCOFromFile (int32 SocketID, cstring FullPositionerName, cstring DataFileName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – DataFileName cstring Data file name int32 Function error code Return – Error 133 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCompensatedPCOFromFile (integer SocketID, string FullPositionerName, string DataFileName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – DataFileName string Data file name int Function error code Return – Error EDH0305En1051 — 08/15 134 XPS-Q8 Controller Programmer’s Manual 2.2.4.14 PositionerCompensatedPCOLoadToMemory Name PositionerCompensatedPCOLoadToMemory – Append firing positions to controller’s memory.. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check CIE08CompensatedPCOMode = Enabled (system.ini) : ERR_NOT_ALLOWED_MODE_DISABLED (-121) - Check data lines (must be Positioni > Positioni-1, Widthi < Positioni+1 - Positioni) : ERR_CHECK_DATA_INCORRECT (-122) Description This function appends firing positions to controller’s memory from DataLines parameter. To reset the controller’s memory, the PositionerCompensatedPCOMemoryReset() function is provided. The data line format must be : Positioni Widthi Example : Position1Width1 Position2Width2 … … PositionNWidthN Or : Position1Width1;Position2Width2; …;PositionNWidthN Data conditions : Positioni > Positioni-1, Widthi < Positioni+1 - Positioni Example : Send PositionerCompensatedLoadToMemory (XY.X,0 0.1;1 0.1;2 0.1;3 0.1) 135 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual NOTE • Positioni (i=1..N) are the offset values relative to the scanning positioner start position that is defined in the PositionerCompensatedPCOPrepare(). • The function works only when the CIE08 compensated PCO mode configuration is enabled (system.ini : CIE08CompensatedPCOMode = Enabled). • This function can be used only with a position encoder (“AquadB” or “AnalogInterpolated”), otherwise ERR_UNCOMPATIBLE (-24) error is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - ERR_NOT_ALLOWED_MODE_DISABLED (-121) - ERR_CHECK_DATA_INCORRECT (-122) - SUCCESS (0): no error TCL Prototype PositionerCompensatedPCOLoadToMemory $SocketID $FullPositionerName $DataLines Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – DataLines string Some data lines int TCL error code (0 = success or 1 = syntax error) or function error code Output parameter – None Return – Error EDH0305En1051 — 08/15 136 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensatedPCOLoadToMemory (int SocketID, char FullPositionerName[250] , char DataLines[500]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – DataLines char * Some data lines int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerCompensatedPCOLoadToMemory (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal DataLines As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – DataLines string Some data lines long Function error code Output parameter – None Return – Error Matlab Prototype [Error] PositionerCompensatedPCOLoadToMemory (int32 SocketID, cstring FullPositionerName, cstring DataLines) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – DataLines cstring Some data lines int32 Function error code Return – Error 137 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCompensatedPCOLoadToMemory (integer SocketID, string FullPositionerName, string DataLines) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – DataLines string Some data lines int Function error code Return – Error EDH0305En1051 — 08/15 138 XPS-Q8 Controller Programmer’s Manual 2.2.4.15 PositionerCompensatedPCOMemoryReset Name PositionerCompensatedPCOMemoryReset – Reset CIE08 compensated PCO data memory. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check CIE08CompensatedPCOMode = Enabled (system.ini) : ERR_NOT_ALLOWED_MODE_DISABLED (-121) Description This function resets the CIE08 compensated PCO data memory. This function is useful to remove the data that was previously entered with the PositionerCompensatedPCOLoadToMemory() function. NOTE • The function works only when the CIE08 compensated PCO mode configuration is enabled (system.ini : CIE08CompensatedPCOMode = Enabled). • This function can be used only with a position encoder (“AquadB” or “AnalogInterpolated”), otherwise ERR_UNCOMPATIBLE (-24) error is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - ERR_NOT_ALLOWED_MODE_DISABLED (-121) - SUCCESS (0): no error 139 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensatedPCOMemoryReset $SocketID $FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int TCL error code (0 = success or 1 = syntax error) or function error code Output parameter – None Return – Error C/C++ Prototype int PositionerCompensatedPCOMemoryReset (int SocketID, char FullPositionerName[250]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int Function error code Output parameter – None Return – Error Visual Basic Prototype Long PositionerCompensatedPCOMemoryReset (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name long Function error code Output parameter – None Return – Error EDH0305En1051 — 08/15 140 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCompensatedPCOMemoryReset (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error Python Prototype [Error] PositionerCompensatedPCOMemoryReset (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error 141 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.16 PositionerCompensatedPCOPrepare Name PositionerCompensatedPCOPrepare – Prepare data for CIE08 compensated PCO pulses generation. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check CIE08CompensatedPCOMode = Enabled (system.ini) : ERR_NOT_ALLOWED_MODE_DISABLED (-121) - Check data have been set, loaded or read from file to buffer (DataNumber must > 0 and < CIE08CompensatedPCOMaximumDataNumber (system.ini)) : ERR_CHECK_DATA_INCORRECT (-122) - Check scanning zone exceed stage travel limits : ERR_TRAVEL_LIMITS (-35) - Check input parameter values (ScanDirection value must equal to 1 (positive direction) or -1 (negative direction)) : ERR_PARAMETER_OUT_OF_RANGE (17) Description This function calculates the firing for absolute positions, in user’s coordinate system and converts them to firing absolute raw PCO positions, in encoder’s coordinate system. When mappings are enabled, the correction between user’s coordinate system position and raw encoder position will be different at each location. For this reason, the prepare function must know the location (positions of all positioners in the scanning group) where the scan will be done. This function must be called before the use of PositionerCompensatedPCOEnable() function. Parameters : EDH0305En1051 — 08/15 • ScanDirection : Scan direction,(value : 1 (positive) or -1 (negative)). • StartPosition1 : Group 1st positioner start position. • StartPosition2 : Group 2nd positioner start position • StartPosition3 : Group 3rd positioner start position • …… etc …… 142 XPS-Q8 Controller Programmer’s Manual NOTE • The function works only when the CIE08 compensated PCO mode configuration is enabled (system.ini : CIE08CompensatedPCOMode = Enabled).. • This function can be used only with a position encoder (“AquadB” or “AnalogInterpolated”), otherwise ERR_UNCOMPATIBLE (-24) error is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - ERR_NOT_ALLOWED_MODE_DISABLED (-121) - ERR_CHECK_DATA_INCORRECT (-122) - ERR_TRAVEL_LIMITS (-35) - SUCCESS (0): no error TCL Prototype PositionerCompensatedPCOPrepare $SocketID $FullPositionerName $ScanDirection $StartPosition1 $StartPosition2 $StartPosition3 … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ScanDirection int Scan direction (1 or -1) – StartPosition1 double Group 1st positioner start position (units) – StartPosition2 double Group 2nd positioner start position (units) – StartPosition3 double Group 3rd positioner start position (units) – ……. ……. int TCL error code (0 = success or 1 = syntax error) or function error code ……. Output parameter – None Return – Error 143 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensatedPCOPrepare (int SocketID, char FullPositionerName[250], int ScanDirection, double StartPosition1, double StartPosition2, double StartPosition3, …) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ScanDirection int Scan direction (1 or -1) – StartPosition1 double Group 1st positioner start position (units) – StartPosition2 double Group 2nd positioner start position (units) – StartPosition3 double Group 3rd positioner start position (units) – ……. ……. int Function error code ……. Output parameter – None Return – Error Visual Basic Prototype Long PositionerCompensatedPCOPrepare (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ScanDirection As Double, ByVal StartPosition1 As Double, ByVal StartPosition2 As Double, ByVal StartPosition3 As Double, …) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ScanDirection long Scan direction (1 or -1) – StartPosition1 double Group 1st positioner start position (units) – StartPosition2 double Group 2nd positioner start position (units) – StartPosition3 double Group 3rd positioner start position (units) – ……. ……. long Function error code ……. Output parameter – None Return – Error EDH0305En1051 — 08/15 144 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCompensatedPCOPrepare (int32 SocketID, cstring FullPositionerName, int32 ScanDirection, double StartPosition1, double StartPosition2, double StartPosition3, …) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ScanDirection int32 Scan direction (1 or -1) – StartPosition1 double Group 1st positioner start position (units) – StartPosition2 double Group 2nd positioner start position (units) – StartPosition3 double Group 3rd positioner start position (units) – ……. ……. int32 Function error code ……. Return – Error Python Prototype [Error] PositionerCompensatedPCOPrepare (integer SocketID, string FullPositionerName, integer ScanDirection, double StartPosition1, double StartPosition2, double StartPosition3, …) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ScanDirection int32 Scan direction (1 or -1) – StartPosition1 double Group 1st positioner start position (units) – StartPosition2 double Group 2nd positioner start position (units) – StartPosition3 double Group 3rd positioner start position (units) – ……. ……. int Function error code ……. Return – Error 145 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.17 PositionerCompensatedPCOSet Name PositionerCompensatedPCOSet – Calculate a set of evenly spaced firing positions to the controller’s memory. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - (Must be: Start < Stop, Distance > 0, Width > 0, Width < Distance, Width < StopStart) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check CIE08CompensatedPCOMode = Enabled (system.ini) : ERR_NOT_ALLOWED_MODE_DISABLED (-121) - Check DataNumber : NData = integer((Stop-Start)/Distance) + 1 - If NData > CIE08CompensatedPCOMaximumDataNumber (system.ini): ERR_CHECK_DATA_INCORRECT (-122) Description This function calculates a set of evenly spaced firing positions to the controller’s memory. Parameters : • Start: Relative distance to the start position where PCO pulses start. • Stop : Relative distance to the start position where PCO pulses stop. • Distance : Step of pulses (distance between two consecutive pulses) • Width : Width of the pulse enable signal at the firing positions. Example : Send PositionerCompensatedPCOSet (XY.X, 0, 3, 1, 0.1) NOTE • Start and Stop are the offset values relative to the scanning positioner start position that is defined in the PositionerCompensatedPCOPrepare(). • The function works only when the CIE08 compensated PCO mode configuration is enabled (system.ini : CIE08CompensatedPCOMode = Enabled). • This function can be used only with a position encoder (“AquadB” or “AnalogInterpolated”), otherwise ERR_UNCOMPATIBLE (-24) error is returned. EDH0305En1051 — 08/15 146 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - ERR_NOT_ALLOWED_MODE_DISABLED (-121) - ERR_CHECK_DATA_INCORRECT (-122) - SUCCESS (0): no error TCL Prototype PositionerCompensatedPCOSet $SocketID $FullPositionerName $Start $Stop $Distance $Width Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Start double Start position (units) – Stop double Stop position (units) – Distance double Distance between two consecutive pulses (units) – Width double Width of pulse enable signal (units) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameter – None Return – Error 147 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensatedPCOSet (int SocketID, char FullPositionerName[250] , double Start, double Stop, double Distance, double Width) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – Start double Start position (units) – Stop double Stop position (units) – Distance double Distance between two consecutive pulses (units) – Width double Width of pulse enable signal (units) int Function error code Output parameter – None Return – Error Visual Basic Prototype Long PositionerCompensatedPCOSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal Start As Double, ByVal Stop As Double, ByVal Distance As Double, ByVal Width As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Start double Start position (units) – Stop double Stop position (units) – Distance double Distance between two consecutive pulses (units) – Width double Width of pulse enable signal (units) long Function error code Output parameter – None Return – Error EDH0305En1051 — 08/15 148 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCompensatedPCOSet (int32 SocketID, cstring FullPositionerName, double Start, double Stop, double Distance, double Width) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Start double Start position (units) – Stop double Stop position (units) – Distance double Distance between two consecutive pulses (units) – Width double Width of pulse enable signal (units) int32 Function error code Return – Error Python Prototype [Error] PositionerCompensatedPCOSet (integer SocketID, string FullPositionerName, double Start, double Stop, double Distance, double Width) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Start double Start position (units) – Stop double Stop position (units) – Distance double Distance between two consecutive pulses (units) – Width double Width of pulse enable signal (units) int Function error code Return – Error 149 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.18 PositionerCompensationFrequencyNotchsGet Name PositionerCompensationFrequencyNotchsGet – Gets pre-feedforward compensation notch filters parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check corrector type: ERR_WRONG_OBJECT_TYPE (-8) Description This functions returns the CompensationSystemPreFeedForward frequency notch filters parameters. These notch filters allow the user to reduce external perturbations such as base motion or floor vibrations. Note that the CompensationSystemPreFeedForward feature is available for all corrector types (acceleration, velocity, voltage or position) functioning in closed loop configuration. • NotchFrequency1 • NotchsBandwidth1 • NotchsGain1 • NotchFrequency2 • NotchsBandwidth2 • NotchsGain2 • NotchFrequency3 • NotchsBandwidth3 • NotchsGain3 NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 150 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensationFrequencyNotchsGet $SocketID $FullPositionerName NotchFrequency1 NotchBandwidth1 NotchGain1 NotchFrequency2 NotchBandwidth2 NotchGain2 NotchFrequency3 NotchBandwidth3 NotchGain3 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Notch frequency for filter #1 (Hz) – NotchBandwidth1 double Notch bandwidth for filter #1 (Hz) – NotchGain1 double Notch gain for filter #1 – NotchFrequency2 double Notch frequency for filter #2 (Hz) – NotchBandwidth2 double Notch bandwidth for filter #2 (Hz) – NotchGain2 double Notch gain for filter #2 – NotchFrequency3 double Notch frequency for filter #3 (Hz) – NotchBandwidth3 double Notch bandwidth for filter #3 (Hz) – NotchGain3 double Notch gain for filter #3 int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error 151 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensationFrequencyNotchsGet (int SocketID, char FullPositionerName [250], double* NotchFrequency1, double* NotchBandwidth1, double* NotchGain1, double* NotchFrequency2, double* NotchBandwidth2, double* NotchGain2, double* NotchFrequency3, double* NotchBandwidth3, double* NotchGain3) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – NotchFrequency1 double * Notch frequency for filter #1 (Hz) – NotchBandwidth1 double * Notch bandwidth for filter #1 (Hz) – NotchGain1 double * Notch gain for filter #1 – NotchFrequency2 double * Notch frequency for filter #2 (Hz) – NotchBandwidth2 double * Notch bandwidth for filter #2 (Hz) – NotchGain2 double * Notch gain for filter #2 – NotchFrequency3 double * Notch frequency for filter #3 (Hz) – NotchBandwidth3 double * Notch bandwidth for filter #3 (Hz) – NotchGain3 double * Notch gain for filter #3 int Function error code Output parameters Return – Error EDH0305En1051 — 08/15 152 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCompensationFrequencyNotchsGet (ByVal SocketID As Long, ByVal FullPositionerName As String, NotchFrequency1 As Double, NotchBandwidth1 As Double, NotchGain1 As Double, NotchFrequency2 As Double, NotchBandwidth2 As Double, NotchGain2 As Double, NotchFrequency3 As Double, NotchBandwidth3 As Double, NotchGain3 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Notch frequency for filter #1 (Hz) – NotchBandwidth1 double Notch bandwidth for filter #1 (Hz) – NotchGain1 double Notch gain for filter #1 – NotchFrequency2 double Notch frequency for filter #2 (Hz) – NotchBandwidth2 double Notch bandwidth for filter #2 (Hz) – NotchGain2 double Notch gain for filter #2 – NotchFrequency3 double Notch frequency for filter #3 (Hz) – NotchBandwidth3 double Notch bandwidth for filter #3 (Hz) – NotchGain3 double Notch gain for filter #3 long Function error code Output parameters Return – Error 153 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, NotchFrequency1, NotchBandwidth1, NotchGain1, NotchFrequency2, NotchBandwidth2, NotchGain2, NotchFrequency3, NotchBandwidth3, NotchGain3] PositionerCompensationFrequencyNotchsGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – NotchFrequency1 double Notch frequency for filter #1 (Hz) – NotchBandwidth1 double Notch bandwidth for filter #1 (Hz) – NotchGain1 double Notch gain for filter #1 – NotchFrequency2 double Notch frequency for filter #2 (Hz) – NotchBandwidth2 double Notch bandwidth for filter #2 (Hz) – NotchGain2 double Notch gain for filter #2 – NotchFrequency3 double Notch frequency for filter #3 (Hz) – NotchBandwidth3 double Notch bandwidth for filter #3 (Hz) – NotchGain3 double Notch gain for filter #3 Return Python Prototype [Error, NotchFrequency1, NotchBandwidth1, NotchGain1, NotchFrequency2, NotchBandwidth2, NotchGain2, NotchFrequency3, NotchBandwidth3, NotchGain3] PositionerCompensationFrequencyNotchsGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – NotchFrequency1 double Notch frequency for filter #1 (Hz) – NotchBandwidth1 double Notch bandwidth for filter #1 (Hz) – NotchGain1 double Notch gain for filter #1 – NotchFrequency2 double Notch frequency for filter #2 (Hz) – NotchBandwidth2 double Notch bandwidth for filter #2 (Hz) – NotchGain2 double Notch gain for filter #2 – NotchFrequency3 double Notch frequency for filter #3 (Hz) – NotchBandwidth3 double Notch bandwidth for filter #3 (Hz) – NotchGain3 double Notch gain for filter #3 Return EDH0305En1051 — 08/15 154 XPS-Q8 Controller Programmer’s Manual 2.2.4.19 PositionerCompensationFrequencyNotchsSet Name PositionerCompensationFrequencyNotchsSet – Sets pre-feedforward compensation notch filters parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check correcor type: ERR_WRONG_OBJECT_TYPE (-8) - Check parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - NotchFrequency - NotchBandwidth NOTE Refer to system.ref file to get CorrectorISRPeriod value. This function can be used only with the XPS-Q8 Precision Platform controller. Description This functions sets the CompensationSystemPreFeedForward frequency notch filters parameters. These notch filters all the user to reduce external perturbations such as base motion or floor vibrations. Note that the CompensationSystemPreFeedForward feature is available for all corrector types (acceleration, velocity, voltage or position) functioning in closed loop configuration. NotchFrequency1 NotchsBandwidth1 NotchsGain1 NotchFrequency2 NotchsBandwidth2 NotchsGain2 NotchFrequency3 NotchsBandwidth3 NotchsGain3 155 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerCompensationFrequencyNotchsSet $SocketID $FullPositionerName $NotchFrequency1 $NotchBandwidth1 $NotchGain1 $NotchFrequency2 $NotchBandwidth2 $NotchGain2 $NotchFrequency3 $NotchBandwidth3 $NotchGain3 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Notch frequency for filter #1 (Hz) – NotchBandwidth1 double Notch bandwidth for filter #1 (Hz) – NotchGain1 double Notch gain for filter #1 – NotchFrequency2 double Notch frequency for filter #2 (Hz) – NotchBandwidth2 double Notch bandwidth for filter #2 (Hz) – NotchGain2 double Notch gain for filter #2 – NotchFrequency3 double Notch frequency for filter #3 (Hz) – NotchBandwidth3 double Notch bandwidth for filter #3 (Hz) – NotchGain3 double Notch gain for filter #3 int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 156 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensationFrequencyNotchsSet (int SocketID, char FullPositionerName [250], double NotchFrequency1, double NotchBandwidth1, double NotchGain1, double NotchFrequency2, double NotchBandwidth2, double NotchGain2, double NotchFrequency3, double NotchBandwidth3, double NotchGain3) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – NotchFrequency1 double Notch frequency for filter #1 (Hz) – NotchBandwidth1 double Notch bandwidth for filter #1 (Hz) – NotchGain1 double Notch gain for filter #1 – NotchFrequency2 double Notch frequency for filter #2 (Hz) – NotchBandwidth2 double Notch bandwidth for filter #2 (Hz) – NotchGain2 double Notch gain for filter #2 – NotchFrequency3 double Notch frequency for filter #3 (Hz) – NotchBandwidth3 double Notch bandwidth for filter #3 (Hz) – NotchGain3 double Notch gain for filter #3 int Function error code Output parameters – None Return – Error 157 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCompensationFrequencyNotchsSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal NotchFrequency1 As Double, ByVal NotchBandwidth1 As Double, ByVal NotchGain1 As Double, ByVal NotchFrequency2 As Double, ByVal NotchBandwidth2 As Double, ByVal NotchGain2 As Double, ByVal NotchFrequency3 As Double, ByVal NotchBandwidth3 As Double, ByVal NotchGain3 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Notch frequency for filter #1 (Hz) – NotchBandwidth1 double Notch bandwidth for filter #1 (Hz) – NotchGain1 double Notch gain for filter #1 – NotchFrequency2 double Notch frequency for filter #2 (Hz) – NotchBandwidth2 double Notch bandwidth for filter #2 (Hz) – NotchGain2 double Notch gain for filter #2 – NotchFrequency3 double Notch frequency for filter #3 (Hz) – NotchBandwidth3 double Notch bandwidth for filter #3 (Hz) – NotchGain3 double Notch gain for filter #3 long Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 158 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCompensationFrequencyNotchsSet (int32 SocketID, cstring FullPositionerName, double NotchFrequency1, double NotchBandwidth1, double NotchGain1, double NotchFrequency2, double NotchBandwidth2, double NotchGain2, double NotchFrequency3, double NotchBandwidth3, double NotchGain3) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – NotchFrequency1 double Notch frequency for filter #1 (Hz) – NotchBandwidth1 double Notch bandwidth for filter #1 (Hz) – NotchGain1 double Notch gain for filter #1 – NotchFrequency2 double Notch frequency for filter #2 (Hz) – NotchBandwidth2 double Notch bandwidth for filter #2 (Hz) – NotchGain2 double Notch gain for filter #2 – NotchFrequency3 double Notch frequency for filter #3 (Hz) – NotchBandwidth3 double Notch bandwidth for filter #3 (Hz) – NotchGain3 double Notch gain for filter #3 int32 Function error code Return – Error Python Prototype [Error] PositionerCompensationFrequencyNotchsSet (integer SocketID, string FullPositionerName, double NotchFrequency1, double NotchBandwidth1, double NotchGain1, double NotchFrequency2, double NotchBandwidth2, double NotchGain2, double NotchFrequency3, double NotchBandwidth3, double NotchGain3) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Notch frequency for filter #1 (Hz) – NotchBandwidth1 double Notch bandwidth for filter #1 (Hz) – NotchGain1 double Notch gain for filter #1 – NotchFrequency2 double Notch frequency for filter #2 (Hz) – NotchBandwidth2 double Notch bandwidth for filter #2 (Hz) – NotchGain2 double Notch gain for filter #2 – NotchFrequency3 double Notch frequency for filter #3 (Hz) – NotchBandwidth3 double Notch bandwidth for filter #3 (Hz) – NotchGain3 double Notch gain for filter #3 int Function error code Return – Error 159 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.20 PositionerCompensationLowPassTwoFilterGet Name PositionerCompensationLowPassTwoFilterGet – Gets the post-feedforward compensation second order lowpass filter parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check corrector type: ERR_WRONG_OBJECT_TYPE (-8) Description This functions returns the system compensation parameters defined for the postfeedforward compensation second order low-pass filter. CutOffFrequency NOTE This function can be used only with the XPS-Q8 Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 160 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensationLowPassTwoFilterGet $SocketID $FullPositionerName CutOffFrequency Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Second order filter cut-off frequency (Herz) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – CutOffFrequency Return – Error C/C++ Prototype int PositionerCompensationLowPassTwoFilterGet (int SocketID, char FullPositionerName [250], double* CutOffFrequency) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name double * Second order filter cut-off frequency (Herz) int Function error code Output parameters – CutOffFrequency Return – Error Visual Basic Prototype Long PositionerCompensationLowPassTwoFilterGet (ByVal SocketID As Long, ByVal FullPositionerName As String, CutOffFrequency As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Second order filter cut-off frequency (Herz) long Function error code Output parameters – CutOffFrequency Return – Error 161 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, CutOffFrequency] PositionerCompensationLowPassTwoFilterGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – CutOffFrequency double Second order filter cut-off frequency (Herz) Return Python Prototype [Error, CutOffFrequency] PositionerCompensationLowPassTwoFilterGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – CutOffFrequency double Second order filter cut-off frequency (Herz) Return EDH0305En1051 — 08/15 162 XPS-Q8 Controller Programmer’s Manual 2.2.4.21 PositionerCompensationLowPassTwoFilterSet Name PositionerCompensationLowPassTwoFilterSet – Sets the post-feedforward compensation second order lowpass filter parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check correcor type: ERR_WRONG_OBJECT_TYPE (-8) - Check parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - CutOffFrequency NOTE Refer to system.ref file to get CorrectorISRPeriod value. Description This function configures the parameters defined for the post-feedforward compensation second order low-pass filter. CutOffFrequency NOTE This function can be used only with the XPS-Qn Precision Platform controller. If the “CutOffFrequency” value = 0 then the second order low-pass filter is not activated. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 163 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensationLowPassTwoFilterSet $SocketID $FullPositionerName $CutOffFrequency Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – CutOffFrequency double Second order filter cut-off frequency (Herz) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameter – None Return – Error C/C++ Prototype int PositionerCompensationLowPassTwoFilterSet (int SocketID, char FullPositionerName [250], double CutOffFrequency) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – CutOffFrequency double Second order filter cut-off frequency (Herz) int Function error code Output parameter – None Return – Error EDH0305En1051 — 08/15 164 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCompensationLowPassTwoFilterSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal CutOffFrequency As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – CutOffFrequency double Second order filter cut-off frequency (Herz) long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerCompensationLowPassTwoFilterSet (int32 SocketID, cstring FullPositionerName, double CutOffFrequency) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – CutOffFrequency double Second order filter cut-off frequency (Herz) int32 Function error code Return – Error Python Prototype [Error] PositionerCompensationLowPassTwoFilterSet (integer SocketID, string FullPositionerName, double CutOffFrequency) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – CutOffFrequency double Second order filter cut-off frequency (Herz) int Function error code Return – Error 165 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.22 PositionerCompensationNotchModeFiltersGet Name PositionerCompensationNotchModeFiltersGet – Gets the post-feedforward compensation notch mode filter parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check corrector type: ERR_WRONG_OBJECT_TYPE (-8) Description This functions returns the system compensation parameters defined for two postfeedforward compensation notch mode filters. First notch mode filter parameters: • NotchModeFr1 • NotchModeFa1 • NotchModeZr1 • NotchModeZa1 Second notch mode filter parameters: • NotchModeFr2 • NotchModeFa2 • NotchModeZr2 • NotchModeZa2 NOTE This function can be used only with the XPS-Q8 Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 166 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensationNotchModeFiltersGet $SocketID $FullPositionerName NotchModeFr1 NotchModeFa1 NotchModeZr1 NotchModeZa1 NotchModeFr2 NotchModeFa2 NotchModeZr2 NotchModeZa2 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchModeFr1 double Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double Resonance damping factor for notch mode filter #1 – NotchModeZa1 double Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double Resonance damping factor for notch mode filter #2 – NotchModeZa2 double Anti-resonance damping factor for notch mode filter #2 int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error 167 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensationNotchModeFiltersGet (int SocketID, char FullPositionerName [250], double* NotchModeFr1,double* NotchModeFa1, double* NotchModeZr1, double* NotchModeZa1, double* NotchModeFr2,double* NotchModeFa2, double* NotchModeZr2, double* NotchModeZa2) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – NotchModeFr1 double * Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double * Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double * Resonance damping factor for notch mode filter #1 – NotchModeZa1 double * Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double * Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double * Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double * Resonance damping factor for notch mode filter #2 – NotchModeZa2 double * Anti-resonance damping factor for notch mode filter #2 int Function error code Output parameters Return – Error EDH0305En1051 — 08/15 168 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCompensationNotchModeFiltersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, NotchModeFr1 As Double, NotchModeFa1 As Double, NotchModeZr1 As Double, NotchModeZa1 As Double, NotchModeFr2 As Double, NotchModeFa2 As Double, NotchModeZr2 As Double, NotchModeZa2 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchModeFr1 double Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double Resonance damping factor for notch mode filter #1 – NotchModeZa1 double Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double Resonance damping factor for notch mode filter #2 – NotchModeZa2 double Anti-resonance damping factor for notch mode filter #2 long Function error code Output parameters Return – Error 169 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, NotchModeFr1, NotchModeFa1, NotchModeZr1, NotchModeZa1, NotchModeFr2, NotchModeFa2, NotchModeZr2, NotchModeZa2] PositionerCompensationNotchModeFiltersGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – NotchModeFr1 double Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double Resonance damping factor for notch mode filter #1 – NotchModeZa1 double Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double Resonance damping factor for notch mode filter #2 – NotchModeZa2 double Anti-resonance damping factor for notch mode filter #2 Return EDH0305En1051 — 08/15 170 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, NotchModeFr1, NotchModeFa1, NotchModeZr1, NotchModeZa1, NotchModeFr2, NotchModeFa2, NotchModeZr2, NotchModeZa2] PositionerCompensationNotchModeFiltersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – NotchModeFr1 double Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double Resonance damping factor for notch mode filter #1 – NotchModeZa1 double Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double Resonance damping factor for notch mode filter #2 – NotchModeZa2 double Anti-resonance damping factor for notch mode filter #2 Return 171 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.23 PositionerCompensationNotchModeFiltersSet Name PositionerCompensationNotchModeFiltersSet – Sets the post-feedforward compensation notch mode filter parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - NotchModeFr - NotchModeFa NOTE This function can be used only with the XPS-Q8 Precision Platform controller. Refer to system.ref file to get CorrectorISRPeriod value. Description This functions configures the parameters defined for two post-feedforward compensation notch mode filters. First notch mode filter parameters: • NotchModeFr1 • NotchModeFa1 • NotchModeZr1 • NotchModeZa1 Second notch mode filter parameters: • NotchModeFr2 • NotchModeFa2 • NotchModeZr2 • NotchModeZa2 NOTE If the “NotchModeFr” value = 0 or the “NotchModeFa” value = 0, then the notch mode filter is not activated. EDH0305En1051 — 08/15 172 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerCompensationNotchModeFiltersSet $SocketID $FullPositionerName $NotchModeFr1 $NotchModeFa1 $NotchModeZr1 $NotchModeZa1 $NotchModeFr2 $NotchModeFa2 $NotchModeZr2 $NotchModeZa2 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchModeFr1 double Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double Resonance damping factor for notch mode filter #1 – NotchModeZa1 double Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double Resonance damping factor for notch mode filter #2 – NotchModeZa2 double Anti-resonance damping factor for notch mode filter #2 int TCL error code (0 = success or 1 = syntax error) or function error code Output parameter – None Return – Error 173 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensationNotchModeFiltersSet (int SocketID, char FullPositionerName [250], double NotchModeFr1,double NotchModeFa1, double NotchModeZr1, double NotchModeZa1, double NotchModeFr2,double NotchModeFa2, double NotchModeZr2, double NotchModeZa2) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – NotchModeFr1 double Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double Resonance damping factor for notch mode filter #1 – NotchModeZa1 double Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double Resonance damping factor for notch mode filter #2 – NotchModeZa2 double Anti-resonance damping factor for notch mode filter #2 int Function error code Output parameter – None Return – Error EDH0305En1051 — 08/15 174 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCompensationNotchModeFiltersSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal NotchModeFr1 As Double, ByVal NotchModeFa1 As Double, ByVal NotchModeZr1 As Double, ByVal NotchModeZa1 As Double, ByVal NotchModeF2 As Double, ByVal NotchModeFa2 As Double, ByVal NotchModeZr2 As Double, ByVal NotchModeZa2 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchModeFr1 double Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double Resonance damping factor for notch mode filter #1 – NotchModeZa1 double Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double Resonance damping factor for notch mode filter #2 – NotchModeZa2 double Anti-resonance damping factor for notch mode filter #2 long Function error code Output parameter – None Return – Error 175 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCompensationNotchModeFiltersSet (int32 SocketID, cstring FullPositionerName, double NotchFrequency1, double NotchBandwith1, double NotchGain1, double NotchFrequency2, double NotchBandwith2, double NotchGain2) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – NotchModeFr1 double Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double Resonance damping factor for notch mode filter #1 – NotchModeZa1 double Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double Resonance damping factor for notch mode filter #2 – NotchModeZa2 double Anti-resonance damping factor for notch mode filter #2 int32 Function error code Return – Error EDH0305En1051 — 08/15 176 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCompensationNotchModeFiltersSet (integer SocketID, string FullPositionerName, double NotchFrequency1, double NotchBandwith1, double NotchGain1, double NotchFrequency2, double NotchBandwith2, double NotchGain2) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchModeFr1 double Resonance frequency (Herz) for notch mode filter #1 – NotchModeFa1 double Anti-resonance frequency (Herz) for notch mode filter #1 – NotchModeZr1 double Resonance damping factor for notch mode filter #1 – NotchModeZa1 double Anti-resonance damping factor for notch mode filter #1 – NotchModeFr2 double Resonance frequency (Herz) for notch mode filter #2 – NotchModeFa2 double Anti-resonance frequency (Herz) for notch mode filter #2 – NotchModeZr2 double Resonance damping factor for notch mode filter #2 – NotchModeZa2 double Anti-resonance damping factor for notch mode filter #2 int Function error code Return – Error 177 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.24 PositionerCompensationPhaseCorrectionFiltersGet Name PositionerCompensationPhaseCorrectionFiltersGet – Gets the post-feedforward compensation phase correction filter parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check corrector type: ERR_WRONG_OBJECT_TYPE (-8) Description This function returns the system compensation parameters defined for two postfeedforward compensation phase correction filters. First phase correction filter parameters: • PhaseCorrectionFn1 • PhaseCorrectionFd1 • PhaseCorrectionGain1 Second phase correction filter parameters: • PhaseCorrectionFn2 • PhaseCorrectionFd2 • PhaseCorrectionGain2 NOTE This function can be used only with the XPS-Q8 Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 178 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensationPhaseCorrectionFiltersGet $SocketID $FullPositionerName PhaseCorrectionFn1 PhaseCorrectionFd1 PhaseCorrectionGain1 PhaseCorrectionFn2 PhaseCorrectionFd2 PhaseCorrectionGain2 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PhaseCorrectionFn1 double Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double Denominator frequency (Herz) for phase correction filter #1 Output parameters – PhaseCorrectionGain1 double Gain for phase correction filter #1 – PhaseCorrectionFn2 double Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double Gain for phase correction filter #2 Return – Error int 179 TCL error code (0 = success or 1 = syntax error) or function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensationPhaseCorrectionFiltersGet (int SocketID, char FullPositionerName [250], double* PhaseCorrectionFn1,double* PhaseCorrectionFd1, double* PhaseCorrectionGain1, double* PhaseCorrectionFn2,double* PhaseCorrectionFd2, double* PhaseCorrectionGain2) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – PhaseCorrectionFn1 double * Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double * Denominator frequency (Herz) for phase correction filter #1 Output parameters – PhaseCorrectionGain1 double * Gain for phase correction filter #1 – PhaseCorrectionFn2 double * Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double * Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double * Gain for phase correction filter #2 Return – Error EDH0305En1051 — 08/15 int 180 Function error code XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCompensationPhaseCorrectionFiltersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, PhaseCorrectionFn1 As Double, PhaseCorrectionFd1 As Double, PhaseCorrectionGain1 As Double, PhaseCorrectionFn2 As Double, PhaseCorrectionFd2 As Double, PhaseCorrectionGain2 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PhaseCorrectionFn1 double Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double Denominator frequency (Herz) for phase correction filter #1 Output parameters – PhaseCorrectionGain1 double Gain for phase correction filter #1 – PhaseCorrectionFn2 double Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double Gain for phase correction filter #2 Return – Error long 181 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, PhaseCorrectionFn1, PhaseCorrectionFd1, PhaseCorrectionGain1, PhaseCorrectionFn2, PhaseCorrectionFd2, PhaseCorrectionGain2] PositionerCompensationPhaseCorrectionFiltersGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – PhaseCorrectionFn1 double Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double Denominator frequency (Herz) for phase correction filter #1 Return – PhaseCorrectionGain1 double Gain for phase correction filter #1 – PhaseCorrectionFn2 double Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double Gain for phase correction filter #2 Python Prototype [Error, PhaseCorrectionFn1, PhaseCorrectionFd1, PhaseCorrectionGain1, PhaseCorrectionFn2, PhaseCorrectionFd2, PhaseCorrectionGain2] PositionerCompensationPhaseCorrectionFiltersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – PhaseCorrectionFn1 double Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double Denominator frequency (Herz) for phase correction filter #1 Return – PhaseCorrectionGain1 double Gain for phase correction filter #1 – PhaseCorrectionFn2 double Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double EDH0305En1051 — 08/15 182 Gain for phase correction filter #2 XPS-Q8 Controller Programmer’s Manual 2.2.4.25 PositionerCompensationPhaseCorrectionFiltersSet Name PositionerCompensationPhaseCorrectionFiltersSet – Sets the post-feedforward compensation phase correction filter parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - PhaseCorrectionFn - PhaseCorrectionFd NOTE This function can be used only with the XPS-Qn Precision Platform controller. Refer to system.ref file to get CorrectorISRPeriod value. Description This functions configures the parameters defined for two post-feedforward compensation phase correction filters. First phase correction filter parameters: • PhaseCorrectionFn1 • PhaseCorrectionFd1 • PhaseCorrectionGain1 Second phase correction filter parameters: • PhaseCorrectionFn2 • PhaseCorrectionFd2 • PhaseCorrectionGain2 NOTE If the “PhaseCorrectionFn” value = 0 or the “PhaseCorrectionFd” value = 0 then the phase correction filter is not activated. 183 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerCompensationPhaseCorrectionFiltersSet $SocketID $FullPositionerName $PhaseCorrectionFn1 $PhaseCorrectionFd1 $PhaseCorrectionGain1 $PhaseCorrectionFn2 $PhaseCorrectionFd2 $PhaseCorrectionGain2 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PhaseCorrectionFn1 double Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double Denominator frequency (Herz) for phase correction filter #1 – PhaseCorrectionGain1 double Gain for phase correction filter #1 – PhaseCorrectionFn2 double Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double Gain for phase correction filter #2 Output parameter – None Return – Error EDH0305En1051 — 08/15 int 184 TCL error code (0 = success or 1 = syntax error) or function error code XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensationPhaseCorrectionFiltersSet (int SocketID, char FullPositionerName [250], double PhaseCorrectionFn1,double PhaseCorrectionFd1, double PhaseCorrectionGain1, double PhaseCorrectionFn2,double PhaseCorrectionFd2, double PhaseCorrectionGain2) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – PhaseCorrectionFn1 double Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double Denominator frequency (Herz) for phase correction filter #1 – PhaseCorrectionGain1 double Gain for phase correction filter #1 – PhaseCorrectionFn2 double Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double Gain for phase correction filter #2 Output parameter – None Return – Error int 185 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCompensationPhaseCorrectionFiltersSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal PhaseCorrectionFn1 As Double, ByVal PhaseCorrectionFd1 As Double, ByVal PhaseCorrectionGain1 As Double, ByVal PhaseCorrectionFn2 As Double, ByVal PhaseCorrectionFd2 As Double, ByVal PhaseCorrectionGain2 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PhaseCorrectionFn1 double Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double Denominator frequency (Herz) for phase correction filter #1 – PhaseCorrectionGain1 double Gain for phase correction filter #1 – PhaseCorrectionFn2 double Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double Gain for phase correction filter #2 Output parameter – None Return – Error EDH0305En1051 — 08/15 long 186 Function error code XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCompensationPhaseCorrectionFiltersSet (int32 SocketID, cstring FullPositionerName, double PhaseCorrectionFn1,double PhaseCorrectionFd1, double PhaseCorrectionGain1, double PhaseCorrectionFn2,double PhaseCorrectionFd2, double PhaseCorrectionGain2) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – PhaseCorrectionFn1 double Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double Denominator frequency (Herz) for phase correction filter #1 – PhaseCorrectionGain1 double Gain for phase correction filter #1 – PhaseCorrectionFn2 double Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double Gain for phase correction filter #2 Return – Error int32 Function error code Python Prototype [Error] PositionerCompensationPhaseCorrectionFiltersSet (integer SocketID, string FullPositionerName, double PhaseCorrectionFn1,double PhaseCorrectionFd1, double PhaseCorrectionGain1, double PhaseCorrectionFn2,double PhaseCorrectionFd2, double PhaseCorrectionGain2) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PhaseCorrectionFn1 double Numerator frequency (Herz) for phase correction filter #1 – PhaseCorrectionFd1 double Denominator frequency (Herz) for phase correction filter #1 – PhaseCorrectionGain1 double Gain for phase correction filter #1 – PhaseCorrectionFn2 double Numerator frequency (Herz) for phase correction filter #2 – PhaseCorrectionFd2 double Denominator frequency (Herz) for phase correction filter #2 – PhaseCorrectionGain2 double Gain for phase correction filter #2 Return – Error int 187 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.26 PositionerCompensationSpatialPeriodicNotchsGet Name PositionerCompensationSpatialPeriodicNotchsGet – Gets pre-feedforward compensation spatial periodic filters parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check corrector type: ERR_WRONG_OBJECT_TYPE (-8) Description This functions returns the CompensationSystemPreFeedForward spatial periodic filters parameters. These filters reduce the spatial periodic perturbations coming from screw pitch or cogging. Note that the CompensationSystemPreFeedForward feature is available for all corrector types (acceleration, velocity, voltage or position) functioning in closed loop configuration. • SpatialNotchStep1 • SpatialNotchsBandwidth1 • SpatialNotchsGain1 • SpatialNotchStep2 • SpatialNotchsBandwidth2 • SpatialNotchsGain2 • SpatialNotchStep3 • SpatialNotchsBandwidth3 • SpatialNotchsGain3 NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 188 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCompensationSpatialPeriodicNotchsGet $SocketID $FullPositionerName SpatialNotchStep1 SpatialNotchBandwidth1 SpatialNotchGain1 SpatialNotchStep2 SpatialNotchBandwidth2 SpatialNotchGain2 SpatialNotchStep3 SpatialNotchBandwidth3 SpatialNotchGain3 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – SpatialNotchStep1 double Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double Spatial periodic gain for filter #1 – SpatialNotchStep2 double Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double Spatial periodic gain for filter #2 – SpatialNotchStep3 double Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double Spatial periodic gain for filter #3 int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error 189 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensationSpatialPeriodicNotchsGet (int SocketID, char FullPositionerName [250], double* SpatialNotchStep1, double* SpatialNotchBandwidth1, double* SpatialNotchGain1, double* SpatialNotchStep2, double* SpatialNotchBandwidth2, double* SpatialNotchGain2, double* SpatialNotchStep3, double* SpatialNotchBandwidth3, double* SpatialNotchGain3) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – SpatialNotchStep1 double * Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double * Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double * Spatial periodic gain for filter #1 – SpatialNotchStep2 double * Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double * Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double * Spatial periodic gain for filter #2 – SpatialNotchStep3 double * Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double * Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double * Spatial periodic gain for filter #3 int Function error code Output parameters Return – Error EDH0305En1051 — 08/15 190 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCompensationSpatialPeriodicNotchsGet (ByVal SocketID As Long, ByVal FullPositionerName As String, SpatialNotchStep1 As Double, SpatialNotchBandwidth1 As Double, SpatialNotchGain1 As Double, SpatialNotchStep2 As Double, SpatialNotchBandwidth2 As Double, SpatialNotchGain2 As Double, SpatialNotchStep3 As Double, SpatialNotchBandwidth3 As Double, SpatialNotchGain3 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – SpatialNotchStep1 double Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double Spatial periodic gain for filter #1 – SpatialNotchStep2 double Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double Spatial periodic gain for filter #2 – SpatialNotchStep3 double Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double Spatial periodic gain for filter #3 long Function error code Output parameters Return – Error 191 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, SpatialNotchStep1, SpatialNotchBandwidth1, SpatialNotchGain1, SpatialNotchStep2, SpatialNotchBandwidth2, SpatialNotchGain2, SpatialNotchStep3, SpatialNotchBandwidth3, SpatialNotchGain3] PositionerCompensationSpatialPeriodicNotchsGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – SpatialNotchStep1 double Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double Spatial periodic gain for filter #1 – SpatialNotchStep2 double Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double Spatial periodic gain for filter #2 – SpatialNotchStep3 double Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double Spatial periodic gain for filter #3 Return EDH0305En1051 — 08/15 192 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, SpatialNotchStep1, SpatialNotchBandwidth1, SpatialNotchGain1, SpatialNotchStep2, SpatialNotchBandwidth2, SpatialNotchGain2, SpatialNotchStep3, SpatialNotchBandwidth3, SpatialNotchGain3] PositionerCompensationSpatialPeriodicNotchsGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – SpatialNotchStep1 double Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double Spatial periodic gain for filter #1 – SpatialNotchStep2 double Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double Spatial periodic gain for filter #2 – SpatialNotchStep3 double Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double Spatial periodic gain for filter #3 Return 193 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.27 PositionerCompensationSpatialPeriodicNotchsSet Name PositionerCompensationSpatialPeriodicNotchsSet – Sets pre-feedforward compensation spatial periodic filters parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check correcor type: ERR_WRONG_OBJECT_TYPE (-8) - Check parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - SpatialNotchStep - SpatialNotchBandwidth NOTE Refer to system.ref file to get CorrectorISRPeriod and stages.ini for MaximumVelocity values. Description This function sets the CompensationSystemPreFeedForward spatial periodic filters parameters. These filters reduce the spatial periodic perturbations coming from screw pitch or cogging. Note that the CompensationSystemPreFeedForward feature is available for all corrector types (acceleration, velocity, voltage or position) functioning in closed loop configuration. • SpatialNotchStep1 • SpatialNotchsBandwidth1 • SpatialNotchsGain1 • SpatialNotchStep2 • SpatialNotchsBandwidth2 • SpatialNotchsGain2 • SpatialNotchStep3 • SpatialNotchsBandwidth3 • SpatialNotchsGain3 NOTE This function can be used only with the XPS-Qn Precision Platform controller. EDH0305En1051 — 08/15 194 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerCompensationSpatialPeriodicNotchsSet $SocketID $FullPositionerName $SpatialNotchStep1 $SpatialNotchBandwidth1 $SpatialNotchGain1 $SpatialNotchStep2 $SpatialNotchBandwidth2 $SpatialNotchGain2 $SpatialNotchStep3 $SpatialNotchBandwidth3 $SpatialNotchGain3 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – SpatialNotchStep1 double Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double Spatial periodic gain for filter #1 – SpatialNotchStep2 double Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double Spatial periodic gain for filter #2 – SpatialNotchStep3 double Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double Spatial periodic gain for filter #3 int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 195 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCompensationSpatialPeriodicNotchsSet (int SocketID, char FullPositionerName [250], double SpatialNotchStep1, double SpatialNotchBandwidth1, double SpatialNotchGain1, double SpatialNotchStep2, double SpatialNotchBandwidth2, double SpatialNotchGain2, double SpatialNotchStep3, double SpatialNotchBandwidth3, double SpatialNotchGain3) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – SpatialNotchStep1 double Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double Spatial periodic gain for filter #1 – SpatialNotchStep2 double Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double Spatial periodic gain for filter #2 – SpatialNotchStep3 double Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double Spatial periodic gain for filter #3 int Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 196 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCompensationSpatialPeriodicNotchsSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal SpatialNotchStep1 As Double, ByVal SpatialNotchBandwidth1 As Double, ByVal SpatialNotchGain1 As Double, ByVal SpatialNotchStep2 As Double, ByVal SpatialNotchBandwidth2 As Double, ByVal SpatialNotchGain2 As Double, ByVal SpatialNotchStep3 As Double, ByVal SpatialNotchBandwidth3 As Double, ByVal SpatialNotchGain3 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – SpatialNotchStep1 double Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double Spatial periodic gain for filter #1 – SpatialNotchStep2 double Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double Spatial periodic gain for filter #2 – SpatialNotchStep3 double Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double Spatial periodic gain for filter #3 long Function error code Output parameters – None Return – Error 197 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCompensationSpatialPeriodicNotchsSet (int32 SocketID, cstring FullPositionerName, double SpatialNotchStep1, double SpatialNotchBandwidth1, double SpatialNotchGain1, double SpatialNotchStep2, double SpatialNotchBandwidth2, double SpatialNotchGain2, double SpatialNotchStep3, double SpatialNotchBandwidth3, double SpatialNotchGain3) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – SpatialNotchStep1 double Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double Spatial periodic gain for filter #1 – SpatialNotchStep2 double Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double Spatial periodic gain for filter #2 – SpatialNotchStep3 double Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double Spatial periodic gain for filter #3 int32 Function error code Return – Error EDH0305En1051 — 08/15 198 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCompensationSpatialPeriodicNotchsSet (integer SocketID, string FullPositionerName, double SpatialNotchStep1, double SpatialNotchBandwidth1, double SpatialNotchGain1, double SpatialNotchStep2, double SpatialNotchBandwidth2, double SpatialNotchGain2, double SpatialNotchStep3, double SpatialNotchBandwidth3, double SpatialNotchGain3) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – SpatialNotchStep1 double Spatial periodic step for filter #1 (units) – SpatialNotchBandwidth1 double Spatial periodic bandwidth for filter #1 (Hz) – SpatialNotchGain1 double Spatial periodic gain for filter #1 – SpatialNotchStep2 double Spatial periodic step for filter #2 (units) – SpatialNotchBandwidth2 double Spatial periodic bandwidth for filter #2 (Hz) – SpatialNotchGain2 double Spatial periodic gain for filter #2 – SpatialNotchStep3 double Spatial periodic step for filter #3 (units) – SpatialNotchBandwidth3 double Spatial periodic bandwidth for filter #3 (Hz) – SpatialNotchGain3 double Spatial periodic gain for filter #3 int Function error code Return – Error 199 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.28 PositionerCorrectorAutoTuning Name PositionerCorrectorAutoTuning – Auto-tuning process for determining position control loop PID values. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Positioner must not be a “Secondary Positioner”: ERR_WRONG_OBJECT_TYPE (-8) - Check positioner name: ERR_POSITIONER_NAME (-18) - Check group type: ERR_WRONG_OBJECT_TYPE (-8) - Control loop type must be “PIDFFVelocity”, “PIDDualFFVoltage” or “PIDFFAcceleration”: ERR_UNCOMPATIBLE (-24) - Group status must be “READY”: ERR_NOT_ALLOWED_ACTION (-22) Description The function executes an auto-tuning process and returns the calculated PID settings (KP, KI and KD values). The selected group must be in “READY” state, else ERR_NOT_ALLOWED_ACTION (-22) is returned. This function works only if the positioner control loop type is “PIDFFVelocity” (velocity control), “PIDDualFFVoltage” (voltage control) or “PIDFFAcceleration” (acceleration control), else it returns ERR_UNCOMPATIBLE error. If the function is called when the positioner is not in READY state, ERR_NOT_ALLOWED_ACTION (-22) error will be returned. The “Mode” input value indicates the control mode of the position loop (Short Settle or High Robustness). In the Short Settle mode, the PID values are adjusted to have high motion performance (short settling time, less following errors). The High Robustness mode is used for a relatively good performance in motion, but guarantees the robustness (stability) for all stage situations (positions, velocities, accelerations). If every thing is OK, auto-tuning is executed. If auto-tuning initialization fails ERR_PID_TUNING_INITIALIZATION (-104) is returned, or if the motion becomes disabled then ERR_EMERGENCY_SIGNAL (-26) is returned. The auto-tuning process is executed in 5 periods. At the end of each period, the autotuning process estimates the auto-tuning quality by calculating the noise/signal ratio. If the noise/signal ratio is very close to zero (it means no oscillation), an ERR_RELAY_FEEDBACK_TEST_NO_OSCILLATION (-101) is returned. Else if the noise ratio > MaximumNoiseRatio (normally between 0.1 and 0.2, exact value defined in system.ref) then ERR_RELAY_FEEDBACK_TEST_SIGNAL_NOISY (-102) is returned. EDH0305En1051 — 08/15 200 XPS-Q8 Controller Programmer’s Manual If the number of acquired data points (minimum = 9) or the number of acquired signal periods (minimum = 5) is not enough for a good estimate then ERR_SIGNAL_POINTS_NOT_ENOUGH (-103) is returned. At end of this function, the new PID setting is returned and the group status becomes “READY” once again. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_ERROR (-5) - ERR_POSITIONER_NAME (-18) - ERR_RELAY_FEEDBACK_TEST_NO_OSCILLATION (-101) - ERR_RELAY_FEEDBACK_TEST_SIGNAL_NOISY (-102) - ERR_PID_TUNING_INITIALIZATION (-104) - ERR_SIGNAL_POINTS_NOT_ENOUGH (-103) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype PositionerCorrectorAutoTuning $SocketID $PositionerName $Mode KP KI KD Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Name of a positioner – Mode integer. Loop control mode (0 = short settle, or 1 = robust) – KP double * Calculated KP value – KI double * Calculated KI value – KD double * Calculated KD value int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error 201 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorAutoTuning (int SocketID, char * PositionerName, int Mode, double * KP, double * KI, double * KD) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName char * Positioner name – Mode int Loop control mode (0 = short settle, or 1 = robust) – KP double * Calculated KP value – KI double * Calculated KI value – KD double * Calculated KD value int Function error code Output parameters Return – Error Visual Basic Prototype Long PositionerCorrectorAutoTuning (ByVal SocketID As Long, ByVal PositionerName As String, Mode As Integer, KP As Double, KI As Double, KD As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name – Mode int Loop control mode (0 = short settle, or 1 = robust) – KP double Calculated KP value – KI double Calculated KI value – KD double Calculated KD value long Function error code Output parameters Return – Error EDH0305En1051 — 08/15 202 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, KP, KI, KD] PositionerCorrectorAutoTuning (int32 SocketID, cstring PositionerName, int32 Mode) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName cstring Positioner name – Mode int32 Loop control mode (0 = short settle, or 1 = robust) – Error int32 Function error code – KP double Calculated KP value – KI double Calculated KI value – KD double Calculated KD value Return Python Prototype [Error, KP, KI, KD] PositionerCorrectorAutoTuning (integer SocketID, string PositionerName, integer Mode, string Password) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name – Mode int Loop control mode (0 = short settle, or 1 = robust) – Error int Function error code – KP double Calculated KP value – KI double Calculated KI value – KD double Calculated KD value Return 203 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.29 PositionerCorrectorNotchFiltersGet Name PositionerCorrectorNotchFiltersGet – Gets the notch filter parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) Description This functions returns the parameters defined for two notch filters. First notch filter parameters: • UserNotchFrequency1 • UserNotchBandwidth1 • UserNotchGain1 Second notch filter parameters: • UserNotchFrequency2 • UserNotchBandwidth2 • UserNotchGain2. NOTE If the corrector type is "NoEncoderPositionCorrector" then ERR_UNCOMPATIBLE (-24) is returned. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 204 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorNotchFiltersGet $SocketID $FullPositionerName NotchFrequency1 NotchBandwith1 NotchGain1 NotchFrequency2 NotchBandwith2 NotchGain2 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Frequency (Herz) for notch filter #1 – NotchBandwith1 double Band width (Herz) for notch filter #1 – NotchGain1 double Gain for notch filter #1 – NotchFrequency2 double Frequency (Herz) for notch filter #2 – NotchBandwith2 double Band width (Herz) for notch filter #2 – NotchGain2 double Gain for notch filter #2 int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerCorrectorNotchFiltersGet (int SocketID, char FullPositionerName [250], double* NotchFrequency1,double* NotchBandwith1, double* NotchGain1, double* NotchFrequency2, double* NotchBandwith2, double* NotchGain2) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – NotchFrequency1 double * Frequency (Herz) for notch filter #1 – NotchBandwith1 double * Band width (Herz) for notch filter #1 – NotchGain1 double * Gain for notch filter #1 – NotchFrequency2 double * Frequency (Herz) for notch filter #2 – NotchBandwith2 double * Band width (Herz) for notch filter #2 – NotchGain2 double * Gain for notch filter #2 int Function error code Output parameters Return – Error 205 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorNotchFiltersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, NotchFrequency1 As Double, NotchBandwith1 As Double, NotchGain1 As Double, NotchFrequency2 As Double, NotchBandwith2 As Double, NotchGain2 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Frequency (Herz) for notch filter #1 – NotchBandwith1 double Band width (Herz) for notch filter #1 – NotchGain1 double Gain for notch filter #1 – NotchFrequency2 double Frequency (Herz) for notch filter #2 – NotchBandwith2 double Band width (Herz) for notch filter #2 – NotchGain2 double Gain for notch filter #2 long Function error code Output parameters Return – Error Matlab Prototype [Error, NotchFrequency1, NotchBandwith1, NotchGain1, NotchFrequency2, NotchBandwith2, NotchGain2] PositionerCorrectorNotchFiltersGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – NotchFrequency1 double Frequency (Herz) for notch filter #1 – NotchBandwith1 double Band width (Herz) for notch filter #1 – NotchGain1 double Gain for notch filter #1 – NotchFrequency2 double Frequency (Herz) for notch filter #2 – NotchBandwith2 double Band width (Herz) for notch filter #2 – NotchGain2 double Gain for notch filter #2 Return EDH0305En1051 — 08/15 206 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, NotchFrequency1, NotchBandwith1, NotchGain1, NotchFrequency2, NotchBandwith2, NotchGain2] PositionerCorrectorNotchFiltersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – NotchFrequency1 double Frequency (Herz) for notch filter #1 – NotchBandwith1 double Band width (Herz) for notch filter #1 – NotchGain1 double Gain for notch filter #1 – NotchFrequency2 double Frequency (Herz) for notch filter #2 – NotchBandwith2 double Band width (Herz) for notch filter #2 – NotchGain2 double Gain for notch filter #2 Return 207 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.30 PositionerCorrectorNotchFiltersSet Name PositionerCorrectorNotchFiltersSet – Sets the notch filter parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - NotchFrequency - NotchBandwidth - NotchGain NOTE Refer to system.ref file to get CorrectorISRPeriod value. Description This functions configures the parameters defined for two notch filters. If the “NotchFrequency” value is NULL or the “NotchGain” value is NULL then the notch filter is not activated. First notch filter parameters: • NotchFrequency1 • NotchBandwidth1 • NotchGain1 • Second notch filter parameters: • NotchFrequency2 • NotchBandwidth2 • NotchGain2. NOTE If the corrector type is “NoEncoderPositionCorrector" then ERR_UNCOMPATIBLE (-24) is returned. EDH0305En1051 — 08/15 208 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerCorrectorNotchFiltersSet $SocketID $FullPositionerName NotchFrequency1 NotchBandwith1 NotchGain1 NotchFrequency2 NotchBandwith2 NotchGain2 Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Frequency (Herz) for notch filter #1 – NotchBandwith1 double Band width (Herz) for notch filter #1 – NotchGain1 double Gain for notch filter #1 – NotchFrequency2 double Frequency (Herz) for notch filter #2 – NotchBandwith2 double Band width (Herz) for notch filter #2 – NotchGain2 double Gain for notch filter #2 int TCL error code (0 = success or 1 = syntax error) or function error code Output parameter – None Return – Error 209 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorNotchFiltersSet (int SocketID, char FullPositionerName [250], double* NotchFrequency1,double* NotchBandwith1, double* NotchGain1, double* NotchFrequency2, double* NotchBandwith2, double* NotchGain2) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – NotchFrequency1 double Frequency (Herz) for notch filter #1 – NotchBandwith1 double Band width (Herz) for notch filter #1 – NotchGain1 double Gain for notch filter #1 – NotchFrequency2 double Frequency (Herz) for notch filter #2 – NotchBandwith2 double Band width (Herz) for notch filter #2 – NotchGain2 double Gain for notch filter #2 int Function error code Output parameter – None Return – Error Visual Basic Prototype Long PositionerCorrectorNotchFiltersSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal NotchFrequency1 As Double, ByVal NotchBandwith1 As Double, ByVal NotchGain1 As Double, ByVal NotchFrequency2 As Double, ByVal NotchBandwith2 As Double, ByVal NotchGain2 As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Frequency (Herz) for notch filter #1 – NotchBandwith1 double Band width (Herz) for notch filter #1 – NotchGain1 double Gain for notch filter #1 – NotchFrequency2 double Frequency (Herz) for notch filter #2 – NotchBandwith2 double Band width (Herz) for notch filter #2 – NotchGain2 double Gain for notch filter #2 long Function error code Output parameter – None Return – Error EDH0305En1051 — 08/15 210 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCorrectorNotchFiltersSet (int32 SocketID, cstring FullPositionerName, double NotchFrequency1, double NotchBandwith1, double NotchGain1, double NotchFrequency2, double NotchBandwith2, double NotchGain2) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – NotchFrequency1 double Frequency (Herz) for notch filter #1 – NotchBandwith1 double Band width (Herz) for notch filter #1 – NotchGain1 double Gain for notch filter #1 – NotchFrequency2 double Frequency (Herz) for notch filter #2 – NotchBandwith2 double Band width (Herz) for notch filter #2 – NotchGain2 double Gain for notch filter #2 int32 Function error code Return – Error Python Prototype [Error] PositionerCorrectorNotchFiltersSet (integer SocketID, string FullPositionerName, double NotchFrequency1, double NotchBandwith1, double NotchGain1, double NotchFrequency2, double NotchBandwith2, double NotchGain2) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – NotchFrequency1 double Frequency (Herz) for notch filter #1 – NotchBandwith1 double Band width (Herz) for notch filter #1 – NotchGain1 double Gain for notch filter #1 – NotchFrequency2 double Frequency (Herz) for notch filter #2 – NotchBandwith2 double Band width (Herz) for notch filter #2 – NotchGain2 double Gain for notch filter #2 int Function error code Return – Error 211 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.31 PositionerCorrectorPIDDualFFVoltageGet Name PositionerCorrectorPIDDualFFVoltageGet – Gets the corrector “PIDDualFFVoltage” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the corrector parameter values used by a PID dual feed-forward with a motor voltage output. NOTE The “CorrectorType” must be “PIDDualFFVoltage” in the stages.ini file. This servo loop type is used when the position servo loop drives the voltage applied directly to the motor. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 212 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorPIDDualFFVoltageGet $SocketID $FullPositionerName ClosedLoopStatus KP KI KD KS IntegrationTime DerivativeFilterCutOffFrequency GKP GKI GKD KForm FeedForwardGainVelocity FeedForwardGainAcceleration Friction Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Output parameters – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) – FeedForwardGainAcceleration double Acceleration feedforward gain (units) – Friction double friction compensation Return – Error int 213 TCL error code (0 = success or 1 = syntax error) or function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorPIDDualFFVoltageGet (int SocketID, char FullPositionerName[250], bool* ClosedLoopStatus, double* KP, double* KI, double* KD, double* KS, double* IntegrationTime, double* DerivativeFilterCutOffFrequency, double* GKP, double* GKI, double* GKD, double* KForm, double* FeedForwardGainVelocity, double* FeedForwardGainAcceleration, double* Friction) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool * Position servo loop status (true=closed and false=opened) – KP double * PID servo loop proportional gain – KI double * PID servo loop integral gain – KD double * PID servo loop derivative gain – KS double * PID integral saturation value (0 to 1) – IntegrationTime double * PID integration time (seconds) Output parameters – DerivativeFilterCutOffFrequency double * PID derivative filter cut off frequency (Hz) – GKP double * Variable PID proportional gain multiplier – GKI double * Variable PID integral gain multiplier – GKD double * Variable PID derivative gain multiplier – KForm double * Variable PID form coefficient – FeedForwardGainVelocity double * Velocity feedforward gain (units) – FeedForwardGainAcceleration double * Acceleration feedforward gain (units) – Friction double * Friction compensation Return – Error EDH0305En1051 — 08/15 int 214 Function error code XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorPIDDualFFVoltageGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ClosedLoopStatus As Boolean, KP As Double, KI As Double, KD As Double, KS As Double, IntegrationTime As Double, DerivativeFilterCutOffFrequency As Double, GKP As Double, GKI As Double, GKD As Double, KForm As Double, FeedForwardGainVelocity As Double, FeedForwardGainAcceleration As Double, Friction As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Output parameters – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) – FeedForwardGainAcceleration double Acceleration feedforward gain (units) – Friction double Friction compensation long Function error code Return – Error 215 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, KForm, FeedForwardGainVelocity, FeedForwardGainAcceleration, Friction] PositionerCorrectorPIDDualFFVoltageGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Return EDH0305En1051 — 08/15 – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) – FeedForwardGainAcceleration double Acceleration feedforward gain (units) – Friction double Friction compensation 216 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, KForm, FeedForwardGainVelocity, FeedForwardGainAcceleration, Friction] PositionerCorrectorPIDDualFFVoltageGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Return – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) – FeedForwardGainAcceleration double Acceleration feedforward gain (units) – Friction double Friction compensation 217 EDH0305En1051 — 08/15 XPS-Q8 Controller 2.2.4.32 Programmer’s Manual PositionerCorrectorPIDDualFFVoltageSet Name PositionerCorrectorPIDDualFFVoltageSet – Configures the corrector “PIDDualFFVoltage” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) - Check parameter value: ERR_PARAMETER_OUT_OF_RANGE (-17) - KP ≥ 0 - KI ≥ 0 - KD ≥ 0 - 0 ≤ KS ≤ 1 - IntegrationTime ≥ CorrectorISRPeriod - GKP > -1 - GKI > -1 - GKD > -1 - KForm ≥ 0 - KFeedForwardVelocity ≥ 0 - KFeedForwardAcceleration ≥ 0 - Friction ≥ 0 - DerivativeFilterCutOffFrequency NOTE Refer to system.ref file to get CorrectorISRPeriod value. Description This function configures the “PIDDualFFVoltage” corrector parameters. The “CorrectorType” must be “PIDDualFFVoltage” in the stages.ini file, else ERR_WRONG_OBJECT_TYPE (-8) is returned. NOTE This servo loop type is used when the position servo loop drives the voltage applied directly to the motor. EDH0305En1051 — 08/15 218 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerCorrectorPIDDualFFVoltageSet $SocketID $FullPositionerName $ClosedLoopStatus $KP $KI $KD $KS $IntegrationTime $DerivativeFilterCutOffFrequency $GKP $GKI $GKD $KForm $FeedForwardGainVelocity $FeedForwardGainAcceleration $Friction Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) – FeedForwardGainAcceleration double Acceleration feedforward gain (units) – Friction double Friction compensation int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 219 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorPIDDualFFVoltageSet (int SocketID, char FullPositionerName[250], bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainVelocity, double FeedForwardGainAcceleration, double Friction) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) – FeedForwardGainAcceleration double Acceleration feedforward gain (units) – Friction double Friction compensation int Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 220 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorPIDDualFFVoltageSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ClosedLoopStatus As Boolean, ByVal KP As Double, ByVal KI As Double, ByVal KD As Double, ByVal KS As Double, ByVal IntegrationTime As Double, ByVal DerivativeFilterCutOffFrequency As Double, ByVal GKP As Double, ByVal GKI As Double, ByVal GKD As Double, ByVal KForm As Double, ByVal FeedForwardGainVelocity As Double, ByVal FeedForwardGainAcceleration As Double, ByVal Friction As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) – FeedForwardGainAcceleration double Acceleration feedforward gain (units) – Friction double Friction compensation long Function error code Output parameters – None Return – Error 221 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCorrectorPIDDualFFVoltageSet (int32 SocketID, cstring FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainVelocity, double FeedForwardGainAcceleration, double Friction) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) – FeedForwardGainAcceleration double Acceleration feedforward gain (units) – Friction double Friction compensation int32 Function error code Return – Error EDH0305En1051 — 08/15 222 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCorrectorPIDDualFFVoltageSet (integer SocketID, string FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainVelocity, double FeedForwardGainAcceleration, double Friction) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequencydouble PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) – FeedForwardGainAcceleration double Acceleration feedforward gain (units) – Friction double Friction compensation Return – Error int 223 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.33 PositionerCorrectorPIDFFAccelerationGet Name PositionerCorrectorPIDFFAccelerationGet – Gets the corrector “PIDFFAcceleration” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the corrector parameter values used by a PID feed-forward with an acceleration output. NOTE The “CorrectorType” must be “PIDFFAcceleration” in the stages.ini file. This servo loop type is used when a constant value applied to the driver results in a constant acceleration of the stage. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 224 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorPIDFFAccelerationGet $SocketID $FullPositionerName ClosedLoopStatus KP KI KD KS IntegrationTime DerivativeFilterCutOffFrequency GKP GKI GKD KForm FeedForwardGainAcceleration FeedForwardGainJerk Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Output parameters – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainAcceleration double Acceleration feedforward gain – FeedForwardGainJerk double Jerk feedforward gain int TCL error code (0 = success or 1 = syntax error) or function error code Return – Error 225 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorPIDFFAccelerationGet (int SocketID, char FullPositionerName[250], bool* ClosedLoopStatus, double* KP, double* KI, double* KD, double* KS, double* IntegrationTime, double* DerivativeFilterCutOffFrequency, double* GKP, double* GKI, double* GKD, double* KForm, double* FeedForwardGainAcceleration, double* FeedForwardGainJerk) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool * Position servo loop status (true=closed and false=opened) – KP double * PID servo loop proportional gain – KI double * PID servo loop integral gain – KD double * PID servo loop derivative gain – KS double * PID integral saturation value (0 to 1) – IntegrationTime double * PID integration time (seconds) Output parameters – DerivativeFilterCutOffFrequency double * PID derivative filter cut off frequency (Hz) – GKP double * Variable PID proportional gain multiplier – GKI double * Variable PID integral gain multiplier – GKD double * Variable PID derivative gain multiplier – KForm double * Variable PID form coefficient – FeedForwardGainAcceleration double * Acceleration feedforward gain – FeedForwardGainJerk double * Jerk feedforward gain Return – Error EDH0305En1051 — 08/15 int 226 Function error code XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorPIDFFAccelerationGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ClosedLoopStatus As Boolean, KP As Double, KI As Double, KD As Double, KS As Double, IntegrationTime As Double, DerivativeFilterCutOffFrequency As Double, GKP As Double, GKI As Double, GKD As Double, KForm As Double, FeedForwardGainAcceleration As Double, FeedForwardGainJerk As Double) Input parameters – SocketID Long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName String Positioner name Output parameters – ClosedLoopStatus Boolean Position servo loop status (true=closed and false=opened) – KP Double PID servo loop proportional gain – KI Double PID servo loop integral gain – KD Double PID servo loop derivative gain – KS Double PID integral saturation value (0 to 1) – IntegrationTime Double PID integration time (seconds) – DerivativeFilterCutOffFrequency Double PID derivative filter cut off frequency (Hz) – GKP Double Variable PID proportional gain multiplier – GKI Double Variable PID integral gain multiplier – GKD Double Variable PID derivative gain multiplier – KForm Double Variable PID form coefficient – FeedForwardGainAcceleration Double Acceleration feedforward gain – FeedForwardGainJerk Double Jerk feedforward gain Long Function error code Return – Error 227 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, KForm, FeedForwardGainAcceleration, FeedForwardGainJerk] PositionerCorrectorPIDFFAccelerationGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Return EDH0305En1051 — 08/15 – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainAcceleration double Acceleration feedforward gain – FeedForwardGainJerk double Jerk feedforward gain 228 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, KForm, FeedForwardGainAcceleration, FeedForwardGainJerk] PositionerCorrectorPIDFFAccelerationGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Return – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainAcceleration double Acceleration feedforward gain – FeedForwardGainJerk double Jerk feedforward gain 229 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.34 PositionerCorrectorPIDFFAccelerationSet Name PositionerCorrectorPIDFFAccelerationSet – Sets the corrector “PIDFFAcceleration” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) - Check parameter value: ERR_PARAMETER_OUT_OF_RANGE (-17) - KP ≥ 0 - KI ≥ 0 - KD ≥ 0 - 0 ≤ KS ≤ 1 - IntegrationTime ≥ CorrectorISRPeriod - GKP > -1 - GKI > -1 - GKD > -1 - KForm ≥ 0 - KFeedForwardAcceleration ≥ 0 - KFeedForwardJerk ≥ 0 - DerivativeFilterCutOffFrequency NOTE Refer to system.ref file to get CorrectorISRPeriod value. Description This function configures the “PIDFFAcceleration” corrector parameters. NOTE The “CorrectorType” parameter must be defined as “PIDFFAcceleration” in the “stages.ini” file else ERR_WRONG_OBJECT_TYPE (-8) is returned. This servo loop type is used when a constant value applied to the driver results in a constant acceleration of the stage. EDH0305En1051 — 08/15 230 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerCorrectorPIDFFAccelerationSet $SocketID $FullPositionerName $ClosedLoopStatus $KP $KI $KD $KS $IntegrationTime $DerivativeFilterCutOffFrequency $GKP $GKI $GKD $KForm $FeedForwardGainAcceleration $FeedForwardGainJerk Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainAcceleration double Acceleration feedforward gain – FeedForwardGainJerk double Jerk feedforward gain int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 231 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorPIDFFAccelerationSet (int SocketID, char FullPositionerName[250], bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainAcceleration, double FeedForwardGainJerk) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainAcceleration double Acceleration feedforward gain – FeedForwardGainJerk double Jerk feedforward gain int Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 232 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorPIDFFAccelerationSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ClosedLoopStatus As Boolean, ByVal KP As Double, ByVal KI As Double, ByVal KD As Double, ByVal KS As Double, ByVal IntegrationTime As Double, ByVal DerivativeFilterCutOffFrequency As Double, ByVal GKP As Double, ByVal GKI As Double, ByVal GKD As Double, ByVal KForm As Double, ByVal FeedForwardGainAcceleration As Double, ByVal FeedForwardGainJerk As Double) Input parameters – SocketID Long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName String Positioner name – ClosedLoopStatus Boolean Position servo loop status (true=closed and false=opened) – KP Double PID servo loop proportional gain – KI Double PID servo loop integral gain – KD Double PID servo loop derivative gain – KS Double PID integral saturation value (0 to 1) – IntegrationTime Double PID integration time (seconds) – DerivativeFilterCutOffFrequency Double PID derivative filter cut off frequency (Hz) – GKP Double Variable PID proportional gain multiplier – GKI Double Variable PID integral gain multiplier – GKD Double Variable PID derivative gain multiplier – KForm Double Variable PID form coefficient – FeedForwardGainAcceleration Double Acceleration feedforward gain – FeedForwardGainJerk Double Jerk feedforward gain Long Function error code Output parameters – None Return – Error 233 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCorrectorPIDFFAccelerationSet (int32 SocketID, cstring FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainAcceleration, double FeedForwardGainJerk) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainAcceleration double Acceleration feedforward gain – FeedForwardGainJerk double Jerk feedforward gain int32 Function error code Return – Error EDH0305En1051 — 08/15 234 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCorrectorPIDFFAccelerationSet (integer SocketID, string FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainAcceleration, double FeedForwardGainJerk) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainAcceleration double Acceleration feedforward gain – FeedForwardGainJerk double Jerk feedforward gain int Function error code Return – Error 235 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.35 PositionerCorrectorSR1AccelerationGet Name PositionerCorrectorSR1AccelerationGet – Gets the corrector “SR1Acceleration” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the SR1 corrector parameter current values. NOTE This function can be used only with the XPS-Qn Precision Platform controller. The “CorrectorType” must be “SR1Acceleration” in the stages.ini file. This servo loop type is used when a constant value applied to the driver results in a constant acceleration of the stage. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 236 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorSR1AccelerationGet $SocketID $FullPositionerName ClosedLoopStatus KP KI KV ObserverFrequency CompensationGainVelocity CompensationGainAcceleration CompensationGainJerk Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double SR1 corrector proportional gain (sec-2) – KI double SR1 corrector integral gain (sec-3) – KV double SR1 corrector velocity gain (sec-1) – ObserverFrequency double SR1 observer frequency (Hz) – CompensationGainVelocity double Velocity compensation gain (sec) – CompensationGainAcceleration double Acceleration compensation gain (sec²) – CompensationGainJerk double Jerk compensation gain (sec3) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error 237 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorSR1AccelerationGet (int SocketID, char FullPositionerName[250], bool* ClosedLoopStatus, double* KP, double* KI, double* KV, double* ObserverFrequency, double* CompensationGainVelocity, double* CompensationGainJerk) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool * Position servo loop status (true=closed and false=opened) – KP double * SR1 corrector proportional gain (sec-2) – KI double * SR1 corrector integral gain (sec-3) – KV double * SR1 corrector velocity gain (sec-1) – ObserverFrequency double * SR1 observer frequency (Hz) – CompensationGainVelocity double * Velocity compensation gain (sec) – CompensationGainAcceleration double * Acceleration compensation gain (sec²) – CompensationGainJerk double * Jerk compensation gain (sec3) Output parameters Return – Error EDH0305En1051 — 08/15 int 238 Function error code XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorSR1AccelerationGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ClosedLoopStatus As Boolean, KP As Double, KI As Double, KV As Double, ObserverFrequency As Double, CompensationGainVelocity As Double, CompensationGainAcceleration As Double, CompensationGainJerk As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double SR1 corrector proportional gain (sec-2) – KI double SR1 corrector integral gain (sec-3) – KV double SR1 corrector velocity gain (sec-1) – ObserverFrequency double SR1 observer frequency (Hz) – CompensationGainVelocity double Velocity compensation gain (sec) – CompensationGainAcceleration double Acceleration compensation gain (sec²) – CompensationGainJerk double Jerk compensation gain (sec3) long Function error code Output parameters Return – Error 239 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, ClosedLoopStatus, KP, KI, KV, ObserverFrequency, CompensationGainVelocity, CompensationGainAcceleration, CompensationGainJerk] PositionerCorrectorSR1AccelerationGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double SR1 corrector proportional gain (sec-2) – KI double SR1 corrector integral gain (sec-3) – KV double SR1 corrector velocity gain (sec-1) – ObserverFrequency double SR1 observer frequency (Hz) – CompensationGainVelocity double Velocity compensation gain (sec) – CompensationGainAcceleration double Acceleration compensation gain (sec²) – CompensationGainJerk double Jerk compensation gain (sec3) Return EDH0305En1051 — 08/15 240 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ClosedLoopStatus, KP, KI, KV, ObserverFrequency, CompensationGainVelocity, CompensationGainAcceleration, CompensationGainJerk] PositionerCorrectorSR1AccelerationGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double SR1 corrector proportional gain (sec-2) – KI double SR1 corrector integral gain (sec-3) – KV double SR1 corrector velocity gain (sec-1) – ObserverFrequency double SR1 observer frequency (Hz) – CompensationGainVelocity double Velocity compensation gain (sec) – CompensationGainAcceleration double Acceleration compensation gain (sec²) – CompensationGainJerk double Jerk compensation gain (sec3) Return 241 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.36 PositionerCorrectorSR1AccelerationSet Name PositionerCorrectorSR1AccelerationSet – Sets the corrector “SR1Acceleration” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) - Check parameter value: ERR_PARAMETER_OUT_OF_RANGE (-17) - KP > 0 - KI > 0 - KV > 0 - ObserverFrequency Description This function configures the “SR1Acceleration” corrector parameters. NOTES This function can be used only with the XPS-Qn Precision Platform controller. The “CorrectorType” parameter must be defined as “SR1Acceleration” in the “stages.ini” file, else ERR_WRONG_OBJECT_TYPE (-8) is returned. This servo loop type is used when a constant value applied to the driver results in a constant acceleration of the stage. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 242 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorSR1AccelerationSet $SocketID $FullPositionerName $ClosedLoopStatus $KP $KI $KV $ObserverFrequency $CompensationGainVelocity $CompensationGainAcceleration $CompensationGainJerk Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double SR1 corrector proportional gain (sec-2) – KI double SR1 corrector integral gain (sec-3) – KV double SR1 corrector velocity gain (sec-1) – ObserverFrequency double SR1 observer frequency (Hz) – CompensationGainVelocity double Velocity compensation gain (sec) – CompensationGainAcceleration double Acceleration compensation gain (sec²) – CompensationGainJerk double Jerk compensation gain (sec3) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 243 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorSR1AccelerationSet (int SocketID, char FullPositionerName[250], bool ClosedLoopStatus, double KP, double KI, double KV, double ObserverFrequency, double CompensationGainVelocity, double CompensationGainAcceleration, double CompensationGainJerk) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double SR1 corrector proportional gain (sec-2) – KI double SR1 corrector integral gain (sec-3) – KV double SR1 corrector velocity gain (sec-1) – ObserverFrequency double SR1 observer frequency (Hz) – CompensationGainVelocity double Velocity compensation gain (sec) – CompensationGainAcceleration double Acceleration compensation gain (sec²) – CompensationGainJerk double Jerk compensation gain (sec3) int Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 244 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorSR1AccelerationSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ClosedLoopStatus As Boolean, ByVal KP As Double, ByVal KI As Double, ByVal KV As Double, ByVal ObserverFrequency As Double, ByVal CompensationGainVelocity As Double, ByVal CompensationGainAcceleration As Double, ByVal CompensationGainJerk As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double SR1 corrector proportional gain (sec-2) – KI double SR1 corrector integral gain (sec-3) – KV double SR1 corrector velocity gain (sec-1) – ObserverFrequency double SR1 observer frequency (Hz) – CompensationGainVelocity double Velocity compensation gain (sec) – CompensationGainAcceleration double Acceleration compensation gain (sec²) – CompensationGainJerk double Jerk compensation gain (sec3) long Function error code Output parameters – None Return – Error 245 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCorrectorSR1AccelerationSet (int32 SocketID, cstring FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double KV, double ObserverFrequency, double CompensationGainVelocity, double CompensationGainAcceleration, double CompensationGainJerk) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double SR1 corrector proportional gain (sec-2) – KI double SR1 corrector integral gain (sec-3) – KV double SR1 corrector velocity gain (sec-1) – ObserverFrequency double SR1 observer frequency (Hz) – CompensationGainVelocity double Velocity compensation gain (sec) – CompensationGainAcceleration double Acceleration compensation gain (sec²) – CompensationGainJerk double Jerk compensation gain (sec3) int32 Function error code Return – Error EDH0305En1051 — 08/15 246 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCorrectorSR1AccelerationSet (integer SocketID, string FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double KV, double ObserverFrequency, double CompensationGainVelocity, double CompensationGainAcceleration, double CompensationGainJerk) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double SR1 corrector proportional gain (sec-2) – KI double SR1 corrector integral gain (sec-3) – KV double SR1 corrector velocity gain (sec-1) – ObserverFrequency double SR1 observer frequency (Hz) – CompensationGainVelocity double Velocity compensation gain (sec) – CompensationGainAcceleration double Acceleration compensation gain (sec²) – CompensationGainJerk double Jerk compensation gain (sec3) int Function error code Return – Error 247 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.37 PositionerCorrectorSR1ObserverAccelerationGet Name PositionerCorrectorSR1ObserverAccelerationGet – Gets the corrector “SR1Acceleration” observer parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the SR1 observer parameter current values. NOTES This function can be used only with the XPS-Qn Precision Platform controller. The “CorrectorType” must be “SR1Acceleration” in the stages.ini file. This servo loop type is used when a constant value applied to the driver results in a constant acceleration of the stage. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 248 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorSR1ObserverAccelerationGet $SocketID $FullPositionerName ParameterA ParameterB ParameterC Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterA double SR1 observer parameter A – ParameterB double SR1 observer parameter B – ParameterC double SR1 observer parameter C int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerCorrectorSR1ObserverAccelerationGet (int SocketID, char FullPositionerName[250], double* ParameterA, double* ParameterB, double* ParameterC) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ParameterA double * SR1 observer parameter A – ParameterB double * SR1 observer parameter B – ParameterC double * SR1 observer parameter C int Function error code Output parameters Return – Error 249 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorSR1ObserverAccelerationGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ParameterA As Double, ParameterB As Double, ParameterC As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterA double SR1 observer parameter A – ParameterB double SR1 observer parameter B – ParameterC double SR1 observer parameter C long Function error code Output parameters Return – Error Matlab Prototype [Error, ParameterA, ParameterB, ParameterC] PositionerCorrectorSR1ObserverAccelerationGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – ParameterA double SR1 observer parameter A – ParameterB double SR1 observer parameter B – ParameterC double SR1 observer parameter C Return EDH0305En1051 — 08/15 250 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ParameterA, ParameterB, ParameterC] PositionerCorrectorSR1ObserverAccelerationGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – ParameterA double SR1 observer parameter A – ParameterB double SR1 observer parameter B – ParameterC double SR1 observer parameter C Return 251 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.38 PositionerCorrectorSR1ObserverAccelerationSet Name PositionerCorrectorSR1ObserverAccelerationSet – Sets the corrector “SR1Acceleration” observer parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function sets the SR1 observer parameters. NOTES This function can be used only with the XPS-Qn Precision Platform controller. This function set the SR1 observer parameters, so it erases all of the observer parameter values previously calculated by the PositionerCorrectorSR1AccelerationSet The “CorrectorType” parameter must be defined as “SR1Acceleration” in the “stages.ini” file, else ERR_WRONG_OBJECT_TYPE (-8) is returned. This servo loop type is used when a constant value applied to the driver results in a constant acceleration of the stage. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 252 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorSR1ObserverAccelerationSet $SocketID $FullPositionerName $ParameterA $ParameterB $ParameterC Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterA double SR1 observer parameter A – ParameterB double SR1 observer parameter B – ParameterC double SR1 observer parameter C int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerCorrectorSR1ObserverAccelerationSet (int SocketID, char FullPositionerName[250], double ParameterA, double ParameterB, double ParameterC) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ParameterA double SR1 observer parameter A – ParameterB double SR1 observer parameter B – ParameterC double SR1 observer parameter C int Function error code Output parameters – None Return – Error 253 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorSR1ObserverAccelerationSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ParameterA As Double, ByVal ParameterB As Double, ByVal ParameterC As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterA double SR1 observer parameter A – ParameterB double SR1 observer parameter B – ParameterC double SR1 observer parameter C long Function error code Output parameters – None – Return – Error Matlab Prototype [Error] PositionerCorrectorSR1ObserverAccelerationSet (int32 SocketID, cstring FullPositionerName, double ParameterA, double ParameterB, double ParameterC) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ParameterA double SR1 observer parameter A – ParameterB double SR1 observer parameter B – ParameterC double SR1 observer parameter C int32 Function error code Return – Error EDH0305En1051 — 08/15 254 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCorrectorSR1ObserverAccelerationSet (integer SocketID, string FullPositionerName, double ParameterA, double ParameterB, double ParameterC) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterA double SR1 observer parameter A – ParameterB double SR1 observer parameter B – ParameterC double SR1 observer parameter C int Function error code Return – Error 255 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.39 PositionerCorrectorSR1OffsetAccelerationGet Name PositionerCorrectorSR1OffsetAccelerationGet – Gets the corrector “SR1Acceleration” acceleration output offset. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function gets the SR1 corrector acceleration output offset current value. NOTE This function can be used only with the XPS-Qn Precision Platform controller. The “CorrectorType” must be “SR1Acceleration” in the stages.ini file. This servo loop type is used when a constant value applied to the driver results in a constant acceleration of the stage. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 256 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorSR1OffsetAccelerationGet $SocketID $FullPositionerName AccelerationOffset Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double SR1 corrector acceleration output offset int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – AccelerationOffset Return – Error C/C++ Prototype int PositionerCorrectorSR1OffsetAccelerationGet (int SocketID, char FullPositionerName[250], double* AccelerationOffset) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name double * SR1 corrector acceleration output offset int Function error code Output parameters – AccelerationOffset Return – Error Visual Basic Prototype Long PositionerCorrectorSR1OffsetAccelerationGet (ByVal SocketID As Long, ByVal FullPositionerName As String, AccelerationOffset As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double SR1 corrector acceleration output offset long Function error code Output parameters – AccelerationOffset – Return – Error 257 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, AccelerationOffset] PositionerCorrectorSR1OffsetAccelerationGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – AccelerationOffset double SR1 corrector acceleration output offset Return Python Prototype [Error, AccelerationOffset] PositionerCorrectorSR1OffsetAccelerationGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – AccelerationOffset double SR1 corrector acceleration output offset Return EDH0305En1051 — 08/15 258 XPS-Q8 Controller Programmer’s Manual 2.2.4.40 PositionerCorrectorSR1OffsetAccelerationSet Name PositionerCorrectorSR1OffsetAccelerationSet – Sets the corrector “SR1Acceleration” acceleration output offset. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function sets the SR1 acceleration output offset. NOTE This function can be used only with the XPS-Qn Precision Platform controller. The default value of the SR1 acceleration output offset is zero (0) at controller reboot. The “CorrectorType” parameter must be defined as “SR1Acceleration” in the “stages.ini” file, else ERR_WRONG_OBJECT_TYPE (-8) is returned. This servo loop type is used when a constant value applied to the driver results in a constant acceleration of the stage. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 259 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorSR1OffsetAccelerationSet $SocketID $FullPositionerName $AccelerationOffset Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – AccelerationOffset double SR1 corrector acceleration output offset int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerCorrectorSR1OffsetAccelerationSet (int SocketID, char FullPositionerName[250], double AccelerationOffset) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – AccelerationOffset double SR1 corrector acceleration output offset int Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 260 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorSR1OffsetAccelerationSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal AccelerationOffset As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – AccelerationOffset double SR1 corrector acceleration output offset long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerCorrectorSR1OffsetAccelerationSet (int32 SocketID, cstring FullPositionerName, double AccelerationOffset) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – AccelerationOffset double SR1 corrector acceleration output offset int32 Function error code Return – Error Python Prototype [Error] PositionerCorrectorSR1OffsetAccelerationSet (integer SocketID, string FullPositionerName, double AccelerationOffset) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – AccelerationOffset double SR1 corrector acceleration output offset int Function error code Return – Error 261 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.41 PositionerCorrectorPIDFFVelocityGet Name PositionerCorrectorPIDFFVelocityGet – Gets the corrector “PIDFFVelocity” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the corrector parameter values used by a PID with a velocity output: ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, Kform and FeedForwardGainVelocity. NOTE The “CorrectorType” must be “PIDFFVelocity” in the stages.ini file. This servo loop type is used when a constant value applied to the driver results in a constant velocity of the stage. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 262 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorPIDFFVelocityGet $SocketID $FullPositionerName ClosedLoopStatus KP KI KD KS IntegrationTime DerivativeFilterCutOffFrequency GKP GKI GKD KForm FeedForwardGainVelocity Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Output parameters – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) int TCL error code (0 = success or 1 = syntax error) or function error code Return – Error 263 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorPIDFFVelocityGet (int SocketID, char FullPositionerName[250], bool* ClosedLoopStatus, double* KP, double* KI, double* KD, double* KS, double* IntegrationTime, double* DerivativeFilterCutOffFrequency, double* GKP, double* GKI, double* GKD, double* KForm, double* FeedForwardGainVelocity) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool * Position servo loop status (true=closed and false=opened) – KP double * PID servo loop proportional gain – KI double * PID servo loop integral gain – KD double * PID servo loop derivative gain – KS double * PID integral saturation value (0 to 1) – IntegrationTime double * PID integration time (seconds) Output parameters – DerivativeFilterCutOffFrequency double * PID derivative filter cut off frequency (Hz) – GKP double * Variable PID proportional gain multiplier – GKI double * Variable PID integral gain multiplier – GKD double * Variable PID derivative gain multiplier – KForm double * Variable PID form coefficient – FeedForwardGainVelocity double * Velocity feedforward gain (units) Return – Error EDH0305En1051 — 08/15 int 264 Function error code XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorPIDFFVelocityGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ClosedLoopStatus As Boolean, KP As Double, KI As Double, KD As Double, KS As Double, IntegrationTime As Double, DerivativeFilterCutOffFrequency As Double, GKP As Double, GKI As Double, GKD As Double, KForm As Double, FeedForwardGainVelocity As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Output parameters – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) long Function error code Return – Error 265 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, KForm, FeedForwardGainVelocity] PositionerCorrectorPIDFFVelocityGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Return EDH0305En1051 — 08/15 – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) 266 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, KForm, FeedForwardGainVelocity] PositionerCorrectorPIDFFVelocityGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) Return – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) 267 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.42 PositionerCorrectorPIDFFVelocitySet Name PositionerCorrectorPIDFFVelocitySet – Configures the corrector “PIDFFVelocity” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) - Check parameter value: ERR_PARAMETER_OUT_OF_RANGE (-17) - KP ≥ 0 - KI ≥ 0 - KD ≥ 0 - 0 ≤ KS ≤ 1 - IntegrationTime ≥ CorrectorISRPeriod - GKP > -1 - GKI > -1 - GKD > -1 - KForm ≥ 0 - KFeedForwardVelocity ≥ 0 - DerivativeFilterCutOffFrequency NOTE Refer to system.ref file to get CorrectorISRPeriod value. Description This function configures the “PIDFFVelocity” corrector parameters. NOTE The “CorrectorType” parameter must be defined as “PIDFFVelocity” in the stages.ini file else ERR_WRONG_OBJECT_TYPE (-8) is returned. This servo loop type is used when a constant value applied to the driver results in a constant velocity of the stage. EDH0305En1051 — 08/15 268 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerCorrectorPIDFFVelocitySet $SocketID $FullPositionerName $ClosedLoopStatus $KP $KI $KD $KS $IntegrationTime $DerivativeFilterCutOffFrequency $GKP $GKI $GKD $KForm $FeedForwardGainVelocity Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 269 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerCorrectorPIDFFVelocitySet (int SocketID, char FullPositionerName[250], bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainVelocity) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) int Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 270 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorPIDFFVelocitySet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ClosedLoopStatus As Boolean, ByVal KP As Double, ByVal KI As Double, ByVal KD As Double, ByVal KS As Double, ByVal IntegrationTime As Double, ByVal DerivativeFilterCutOffFrequency As Double, ByVal GKP As Double, ByVal GKI As Double, ByVal GKD As Double, ByVal KForm As Double, ByVal FeedForwardGainVelocity As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) long Function error code Output parameters – None Return – Error 271 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerCorrectorPIDFFVelocitySet (int32 SocketID, cstring FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainVelocity) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) int32 Function error code Return – Error EDH0305En1051 — 08/15 272 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCorrectorPIDFFVelocitySet (integer SocketID, string FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainVelocity) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – KD double PID servo loop derivative gain – KS double PID integral saturation value (0 to 1) – IntegrationTime double PID integration time (seconds) – DerivativeFilterCutOffFrequency double PID derivative filter cut off frequency (Hz) – GKP double Variable PID proportional gain multiplier – GKI double Variable PID integral gain multiplier – GKD double Variable PID derivative gain multiplier – KForm double Variable PID form coefficient – FeedForwardGainVelocity double Velocity feedforward gain (units) int Function error code Return – Error 273 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.43 PositionerCorrectorPIPositionGet Name PositionerCorrectorPIPositionGet – Gets the corrector “PIPosition” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the corrector parameter values used by a PI with a position output: ClosedLoopStatus, KP, KI and IntegrationTime. NOTE The “CorrectorType” must be “PIPosition” in the stages.ini file. This servo loop type is used when the position servo loop outputs a position value directly. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 274 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorPIPositionGet $SocketID $FullPositionerName ClosedLoopStatus KP KI IntegrationTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – IntegrationTime double PID integration time (seconds) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerCorrectorPIPositionGet (int SocketID, char FullPositionerName[250], bool* ClosedLoopStatus, double* KP, double* KI, double* IntegrationTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool * Position servo loop status (true=closed and false=opened) – KP double * PID servo loop proportional gain – KI double * PID servo loop integral gain – IntegrationTime double * PID integration time (seconds) int Function error code Output parameters Return – Error 275 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorPIPositionGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ClosedLoopStatus As Boolean, KP As Double, KI As Double, IntegrationTime As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – IntegrationTime double PID integration time (seconds) long Function error code Output parameters Return – Error Matlab Prototype [Error, ClosedLoopStatus, KP, KI, IntegrationTime] PositionerCorrectorPIPositionGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – IntegrationTime double PID integration time (seconds) Return EDH0305En1051 — 08/15 276 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ClosedLoopStatus, KP, KI, IntegrationTime] PositionerCorrectorPIPositionGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – IntegrationTime double PID integration time (seconds) Return 277 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.44 PositionerCorrectorPIPositionSet Name PositionerCorrectorPIPositionSet – Configures the corrector “PIPosition” parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type and the corrector type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_BOOL (-12), ERR_WRONG_TYPE_DOUBLE (-14) - Check parameter value: ERR_PARAMETER_OUT_OF_RANGE (-17) - KP ≥ 0 - KI ≥ 0 - IntegrationTime ≥ CorrectorISRPeriod NOTE Refer to system.ref file to get CorrectorISRPeriod value. Description This function configures the “PIPosition” corrector parameters. NOTE The “CorrectorType” parameter must be defined as “PIPosition” in the stages.ini file else ERR_WRONG_OBJECT_TYPE (-8) is returned. This servo loop type is used when the position servo loop outputs a position value directly. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 278 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorPIPositionSet $SocketID $FullPositionerName $ClosedLoopStatus $KP $KI $IntegrationTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – IntegrationTime double PID integration time (seconds) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerCorrectorPIPositionSet (int SocketID, char FullPositionerName[250], bool ClosedLoopStatus, double KP, double KI, double IntegrationTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – IntegrationTime double PID integration time (seconds) int Function error code Output parameters – None Return – Error 279 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCorrectorPIPositionSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ClosedLoopStatus As Boolean, ByVal KP As Double, ByVal KI As Double, ByVal IntegrationTime As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – IntegrationTime double PID integration time (seconds) long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerCorrectorPIPositionSet (int32 SocketID, cstring FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double IntegrationTime) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – IntegrationTime double PID integration time (seconds) int32 Function error code Return – Error EDH0305En1051 — 08/15 280 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCorrectorPIPositionSet (integer SocketID, string FullPositionerName, bool ClosedLoopStatus, double KP, double KI, double IntegrationTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ClosedLoopStatus bool Position servo loop status (true=closed and false=opened) – KP double PID servo loop proportional gain – KI double PID servo loop integral gain – IntegrationTime double PID integration time (seconds) int Function error code Return – Error 281 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.45 PositionerCorrectorTypeGet Name PositionerCorrectorTypeGet – Returns the corrector type. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function returns the corrector type used by the selected positioner. The corrector type can be one of this list: • PositionerCorrectorPIDFFAcceleration • PositionerCorrectorSR1Acceleration • PositionerCorrectorPIDFFVelocity • PositionerCorrectorPIDDualFFVoltage • PositionerCorrectorPIPosition • NoCorrector NOTE The corrector type is defined in the stages.ini file with the “CorrectorType” parameter. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error 282 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCorrectorTypeGet $SocketID $FullPositionerName CorrectorType Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name string Corrector type int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – CorrectorType Return – Error C/C++ Prototype int PositionerCorrectorTypeGet (int SocketID, char FullPositionerName[250], char* CorrectorType) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name char * Corrector type int Function error code Output parameters – CorrectorType Return – Error Visual Basic Prototype Long PositionerCorrectorTypeGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal CorrectorType As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name string Corrector type long Function error code Output parameters – CorrectorType Return – Error 283 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, CorrectorType] PositionerCorrectorTypeGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – CorrectorType cstring Corrector type Return Python Prototype [Error, CorrectorType] PositionerCorrectorTypeGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – CorrectorType string Corrector type Return EDH0305En1051 — 08/15 284 XPS-Q8 Controller Programmer’s Manual 2.2.4.46 PositionerCurrentVelocityAccelerationFiltersGet Name PositionerCurrentVelocityAccelerationFiltersGet – Gets the velocity and acceleration filter cut off frequencies. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the current velocity cut off frequency and the current acceleration cut off frequency used by gathering for the selected positioner. Gathering uses these parameters to filter the current velocity and the current acceleration. These parameters are defined in the stages.ini file. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 285 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCurrentVelocityAccelerationFiltersGet $SocketID $FullPositionerName VelocityCutOffFrequency AccelerationCutOffFrequency Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – VelocityCutOffFrequency double Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double Acceleration filter cut off frequency (Hz) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerCurrentVelocityAccelerationFiltersGet (int SocketID, char FullPositionerName[250] , double* VelocityCutOffFrequency, double* AccelerationCutOffFrequency) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name Output parameters – VelocityCutOffFrequency double * Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double * Acceleration filter cut off frequency (Hz) Return – Error EDH0305En1051 — 08/15 int 286 Function error code XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCurrentVelocityAccelerationFiltersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, VelocityCutOffFrequency As Double, AccelerationCutOffFrequency As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – VelocityCutOffFrequency double Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double Acceleration filter cut off frequency (Hz) long Function error code Output parameters Return – Error Matlab Prototype [Error, VelocityCutOffFrequency, AccelerationCutOffFrequency] PositionerCurrentVelocityAccelerationFiltersGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – VelocityCutOffFrequency double Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double Acceleration filter cut off frequency (Hz) Return 287 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, VelocityCutOffFrequency, AccelerationCutOffFrequency] PositionerCurrentVelocityAccelerationFiltersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – VelocityCutOffFrequency double Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double Acceleration filter cut off frequency (Hz) Return EDH0305En1051 — 08/15 288 XPS-Q8 Controller Programmer’s Manual 2.2.4.47 PositionerCurrentVelocityAccelerationFiltersSet Name PositionerCurrentVelocityAccelerationFiltersSet – Sets the velocity and acceleration filter cut off frequencies. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check parameter value: ERR_PARAMETER_OUT_OF_RANGE (-17) - VelocityCutOffFrequency - AccelerationCutOffFrequency NOTE Refer to system.ref file to get CorrectorISRPeriod value. Description This function sets a new velocity cut off frequency and a new acceleration cut off frequency for the selected positioner. Gathering uses these parameters to filter the current velocity and the current acceleration. These parameters are defined in the stages.ini file. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 289 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerCurrentVelocityAccelerationFiltersSet $SocketID $FullPositionerName $VelocityCutOffFrequency $AccelerationCutOffFrequency Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – VelocityCutOffFrequency double Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double Acceleration filter cut off frequency (Hz) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerCurrentVelocityAccelerationFiltersSet (int SocketID, char FullPositionerName[250] , double VelocityCutOffFrequency, double AccelerationCutOffFrequency) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – VelocityCutOffFrequency double Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double Acceleration filter cut off frequency (Hz) int Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 290 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerCurrentVelocityAccelerationFiltersSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal VelocityCutOffFrequency As Double, ByVal AccelerationCutOffFrequency As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – VelocityCutOffFrequency double Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double Acceleration filter cut off frequency (Hz) long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerCurrentVelocityAccelerationFiltersSet (int32 SocketID, cstring FullPositionerName, double VelocityCutOffFrequency, double AccelerationCutOffFrequency) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – VelocityCutOffFrequency double Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double Acceleration filter cut off frequency (Hz) int32 Function error code Return – Error 291 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerCurrentVelocityAccelerationFiltersSet (integer SocketID, string FullPositionerName, double VelocityCutOffFrequency, double AccelerationCutOffFrequency) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – VelocityCutOffFrequency double Velocity filter cut off frequency (Hz) – AccelerationCutOffFrequency double Acceleration filter cut off frequency (Hz) int Function error code Return – Error EDH0305En1051 — 08/15 292 XPS-Q8 Controller Programmer’s Manual 2.2.4.48 PositionerDriverFiltersGet Name PositionerDriverFiltersGet – Gets the piezo driver notch and lowpass filters parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check driver type, if not PIEZO: ERR_UNCOMPATIBLE (-24) - If piezo driver, check if driver is not initialized: ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) Description This function returns current values of the piezo driver filters parameters (KI, notch frequency, notch bandwidth, notch gain, lowpass frequency). Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_UNCOMPATIBLE (-24) - ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) - SUCCESS (0): no error 293 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerDriverFiltersGet $SocketID $FullPositionerName KI NotchFrequency NotchBandwidth NotchGain LowpassFrequency Input parameters – SocketID int Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName string Positioner name – KI double Driver KI – NotchFrequency double Driver notch frequency (Hz) – NotchBandwidth double Driver notch bandwidth (Hz) – NotchGain double Driver notch gain – LowpassFrequency double Driver lowpass frequency (Hz) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerDriverFiltersGet (int SocketID, char FullPositionerName[250] , double * KI, double* NotchFrequency, double* NotchBandwidth, double* NotchGain, double* LowpassFrequency) Input parameters – SocketID int Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – KI double * Driver KI – NotchFrequency double * Driver notch frequency (Hz) – NotchBandwidth double * Driver notch bandwidth (Hz) – NotchGain double * Driver notch gain – LowpassFrequency double * Driver lowpass frequency (Hz) int Function error code Output parameters Return – Error EDH0305En1051 — 08/15 294 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerDriverFiltersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, KI As Double, NotchFrequency As Double, NotchBandwidth As Double, NotchGain As Double, LowpassFrequency As Double) Input parameters – SocketID long Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName string Positioner name – KI double Driver KI – NotchFrequency double Driver notch frequency (Hz) – NotchBandwidth double Driver notch bandwidth (Hz) – NotchGain double Driver notch gain – LowpassFrequency double Driver lowpass frequency (Hz) long Function error code Output parameters Return – Error Matlab Prototype [Error, KI, NotchFrequency, NotchBandwidth, NotchGain, LowpassFrequency] PositionerDriverFiltersGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – KI double Driver KI – NotchFrequency double Driver notch frequency (Hz) – NotchBandwidth double Driver notch bandwidth (Hz) – NotchGain double Driver notch gain – LowpassFrequency double Driver lowpass frequency (Hz) Return 295 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, KI, NotchFrequency, NotchBandwidth,NotchGain, LowpassFrequency] PositionerDriverFiltersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – KI double Driver KI – NotchFrequency double Driver notch frequency (Hz) – NotchBandwidth double Driver notch bandwidth (Hz) – NotchGain double Driver notch gain – LowpassFrequency double Driver lowpass frequency (Hz) Return EDH0305En1051 — 08/15 296 XPS-Q8 Controller Programmer’s Manual 2.2.4.49 PositionerDriverFiltersSet Name PositionerDriverFiltersSet – Sets the piezo driver filters parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check parameter value: ERR_PARAMETER_OUT_OF_RANGE (-17) - Check driver type, if not PIEZO: ERR_UNCOMPATIBLE (-24) - If piezo driver, check group and driver status: - If the driver is not initialized: ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) - If the group state is NOTREF or READY: ERR_FUNCTION_ONLY_ALLOWED_IN_DISABLED_STATE (-117) - KI >= 0 - NotchFrequency - NotchBandwith - NotchGain - LowpassFrequency NOTE Refer to system.ref file to get CorrectorISRPeriod value. Description This function sets parameters of the driver (KI integral, notch and lowpass filters) for a piezo driver positioner. 297 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_UNCOMPATIBLE (-24) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_MOTOR_INITIALIZATION_ERROR (-50) - ERR_FUNCTION_ONLY_ALLOWED_IN_DISABLED_STATE (-117) - ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) - SUCCESS (0): no error TCL Prototype PositionerDriverFiltersSet $SocketID $FullPositionerName $KI $NotchFrequency $NotchBandwidth $NotchGain $LowpassFrequency Input parameters – SocketID int Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName string Positioner name – KI double Driver KI – NotchFrequency double Driver notch frequency (Hz) – NotchBandwidth double Driver notch bandwidth (Hz) – NotchGain double Driver notch gain – LowpassFrequency double Driver lowpass frequency (Hz) int TCL error code (0 = success or 1 = syntax error) or function error code – Output parameters – None Return – Error EDH0305En1051 — 08/15 298 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerDriverFiltersSet (int SocketID, char FullPositionerName[250] , double KI, double NotchFrequency, double NotchBandwidth, double NotchGain, double LowpassFrequency) Input parameters – SocketID int Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – KI double Driver KI – NotchFrequency double Driver notch frequency (Hz) – NotchBandwidth double Driver notch bandwidth (Hz) – NotchGain double Driver notch gain – LowpassFrequency double Driver lowpass frequency (Hz) int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerDriverFiltersSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal KI As Double, ByVal NotchFrequency As Double, ByVal NotchBandwidth As Double, ByVal NotchGain As Double, ByVal LowpassFrequency As Double) Input parameters – SocketID long Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName string Positioner name – KI double Driver KI – NotchFrequency double Driver notch frequency (Hz) – NotchBandwidth double Driver notch bandwidth (Hz) – NotchGain double Driver notch gain – LowpassFrequency double Driver lowpass frequency (Hz) long Function error code Output parameters – None Return – Error 299 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerDriverFiltersSet (int32 SocketID, cstring FullPositionerName, double KI, double NotchFrequency, double NotchBandwidth, double NotchGain, double LowpassFrequency) Input parameters – SocketID int32 Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – KI double Driver KI – NotchFrequency double Driver notch frequency (Hz) – NotchBandwidth double Driver notch bandwidth (Hz) – NotchGain double Driver notch gain – LowpassFrequency double Driver lowpass frequency (Hz) int32 Function error code Return – Error Python Prototype [Error] PositionerDriverFiltersSet (integer SocketID, string FullPositionerName, double KI, double NotchFrequency, double NotchBandwidth, double NotchGain, double LowpassFrequency) Input parameters – SocketID int Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName string Positioner name – KI double Driver KI – NotchFrequency double Driver notch frequency (Hz) – NotchBandwidth double Driver notch bandwidth (Hz) – NotchGain double Driver notch gain – LowpassFrequency double Driver lowpass frequency (Hz) int Function error code Return – Error EDH0305En1051 — 08/15 300 XPS-Q8 Controller Programmer’s Manual 2.2.4.50 PositionerDriverPositionOffsetsGet Name PositionerDriverPositionOffsetsGet – Gets the current value of piezo driver stage and gage position offsets. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check driver type, if not PIEZO: ERR_UNCOMPATIBLE (-24) - If piezo driver, check group and driver status: - If the driver is not initialized: ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) - If the group state is NOTREF or READY: ERR_FUNCTION_ONLY_ALLOWED_IN_DISABLED_STATE (-117) Description This function returns current value of the piezo driver position offset parameters (stage position offset, gage position offset). Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_UNCOMPATIBLE (-24) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_FUNCTION_ONLY_ALLOWED_IN_DISABLED_STATE (-117) - ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) - SUCCESS (0): no error 301 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerDriverPositionOffsetsGet $SocketID $FullPositionerName StagePositionOffset GagePositionOffset Input parameters – SocketID int Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName string Positioner name – StagePositionOffset double Driver stage position offset (units) – GagePositionOffset double Driver gage position offset (units) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerDriverPositionOffsetsGet (int SocketID, char FullPositionerName[250] , double* StagePositionOffset, double* GagePositionOffset) Input parameters – SocketID int Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – StagePositionOffset double * Driver stage position offset (units) – GagePositionOffset double * Driver gage position offset (units) int Function error code Output parameters Return – Error EDH0305En1051 — 08/15 302 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerDriverPositionOffsetsGet (ByVal SocketID As Long, ByVal FullPositionerName As String, StagePositionOffset As Double, GagePositionOffset As Double) Input parameters – SocketID long Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName string Positioner name – StagePositionOffset double Driver stage position offset (units) – GagePositionOffset double Driver gage position offset (units) long Function error code Output parameters Return – Error Matlab Prototype [Error, StagePositionOffset, GagePositionOffset] PositionerDriverPositionOffsetsGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – StagePositionOffset double Driver stage position offset (units) – GagePositionOffset double Driver gage position offset (units) Return Python Prototype [Error, StagePositionOffset, GagePositionOffset] PositionerDriverPositionOffsetsGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier got from “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – StagePositionOffset double Driver stage position offset (units) – GagePositionOffset double Driver gage position offset (units) Return 303 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.51 PositionerDriverStatusGet Name PositionerDriverStatusGet – Gets the positioner driver status code. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must be not a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8), ERR_UNCOMPATIBLE (-24), ERR_POSITIONER_NAME (-18) - Check output parameter type: ERR_WRONG_TYPE_INT (-15) Description This function returns the positioner driver status from the driver board. Use the “PositionerDriverStatusStringGet” function to get the driver status description. NOTE See the positioner driver status list describes in § 2.21 Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 304 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerDriverStatusGet $SocketID $FullPositionerName PositionerDriverStatus Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name Output parameters – PositionerDriverStatus int Driver status code Return – Error int TCL error code (0 = success or 1 = syntax error) or function error code C/C++ Prototype int PositionerDriverStatusGet (int SocketID, char FullPositionerName[250] , int * PositionerDriverStatus) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name Output parameters – PositionerDriverStatus int * Driver status code Return – Error int Function error code Visual Basic Prototype Long PositionerDriverStatusGet (ByVal SocketID As Long, ByVal FullPositionerName As String, PositionerDriverStatus As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name Output parameters – PositionerDriverStatus int Driver status code Return – Error long 305 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, PositionerDriverStatus] PositionerDriverStatusGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error – PositionerDriverStatus int32 Driver status code Python Prototype [Error, PositionerDriverStatus] PositionerDriverStatusGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error – PositionerDriverStatus int EDH0305En1051 — 08/15 306 Driver status code XPS-Q8 Controller Programmer’s Manual 2.2.4.52 PositionerDriverStatusStringGet Name PositionerDriverStatusStringGet – Gets the positioner driver status description. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function returns a driver status description from a positioner driver status code. NOTE See the positioner driver status list described in § 2.21 Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype PositionerDriverStatusStringGet $SocketID $FullPositionerName $PositionerDriverStatus PositionerDriverStatusString Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionerDriverStatus int Driver status code int Driver status description int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – PositionerDriverStatusString Return – Error 307 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerDriverStatusStringGet (int SocketID, char FullPositionerName[250] , int PositionerDriverStatus, char * PositionerDriverStatusString) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – PositionerDriverStatus int * Driver status code int * Driver status description int Function error code Output parameters – PositionerDriverStatusString Return – Error Visual Basic Prototype Long PositionerDriverStatusStringGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal PositionerDriverStatus As Integer, ByVal PositionerDriverStatusString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionerDriverStatus int Driver status code int Driver status description long Function error code Output parameters – PositionerDriverStatusString Return – Error Matlab Prototype [Error, PositionerDriverStatusString] PositionerDriverStatusStringGet (int32 SocketID, cstring FullPositionerName, int32 PositionerDriverStatus) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – PositionerDriverStatus int32 Driver status code – Error int32 Function error code – PositionerDriverStatusString cstring Driver status description Return EDH0305En1051 — 08/15 308 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, PositionerDriverStatusString] PositionerDriverStatusStringGet (integer SocketID, string FullPositionerName, integer PositionerDriverStatus) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionerDriverStatus int Driver status code – Error int Function error code – PositionerDriverStatusString string Driver status description Return 309 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.53 PositionerEncoderAmplitudeValuesGet Name PositionerEncoderAmplitudeValuesGet – Gets the encoder amplitude values. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner: ERR_WRONG_OBJECT_TYPE (-8) - Check the encoder type (must be “AnalogInterpolated”): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the maximum and current amplitudes values (in volts) of the analog encoder input. CAUTION The encoder type must be “AnalogInterpolated” in the stages.ini file (“EncoderType” parameter). Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 310 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerEncoderAmplitudeValuesGet $SocketID $FullPositionerName MaxSinusAmplitude CurrentSinusAmplitude MaxCosinusAmplitude CurrentCosinusAmplitude Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MaxSinusAmplitude double Encoder sinus signal maximum amplitude value (Volts) – CurrentSinusAmplitude double Encoder sinus signal current amplitude value (Volts) – MaxCosinusAmplitude double Encoder cosinus signal maximum amplitude value (Volts) – CurrentCosinusAmplitude double Encoder cosinus signal current amplitude value (Volts) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerEncoderAmplitudeValuesGet (int SocketID, char FullPositionerName[250] , double * MaxSinusAmplitude, double * CurrentSinusAmplitude, double * MaxCosinusAmplitude, double * CurrentCosinusAmplitude) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name Output parameters – MaxSinusAmplitude double * Encoder sinus signal maximum amplitude value (Volts) – CurrentSinusAmplitude double * Encoder sinus signal current amplitude value (Volts) – MaxCosinusAmplitude double * Encoder cosinus signal maximum amplitude value (Volts) – CurrentCosinusAmplitude double * Encoder cosinus signal current amplitude value (Volts) Return – Error int 311 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerEncoderAmplitudeValuesGet (ByVal SocketID As Long, ByVal FullPositionerName As String, MaxSinusAmplitude As Double, CurrentSinusAmplitude As Double, MaxCosinusAmplitude As Double, CurrentCosinusAmplitude As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MaxSinusAmplitude double Encoder sinus signal maximum amplitude value (Volts) – CurrentSinusAmplitude double Encoder sinus signal current amplitude value (Volts) – MaxCosinusAmplitude double Encoder cosinus signal maximum amplitude value (Volts) – CurrentCosinusAmplitude double Encoder cosinus signal current amplitude value (Volts) long Function error code Output parameters Return – Error Matlab Prototype [Error, MaxSinusAmplitude, CurrentSinusAmplitude, MaxCosinusAmplitude, CurrentCosinusAmplitude] PositionerEncoderAmplitudeValuesGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – MaxSinusAmplitude double Encoder sinus signal maximum amplitude value (Volts) – CurrentSinusAmplitude double Encoder sinus signal current amplitude value (Volts) – MaxCosinusAmplitude double Encoder cosinus signal maximum amplitude value (Volts) – CurrentCosinusAmplitude double Encoder cosinus signal current amplitude value (Volts) Return EDH0305En1051 — 08/15 312 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, MaxSinusAmplitude, CurrentSinusAmplitude, MaxCosinusAmplitude, CurrentCosinusAmplitude] PositionerEncoderAmplitudeValuesGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – MaxSinusAmplitude double Encoder sinus signal maximum amplitude value (Volts) – CurrentSinusAmplitude double Encoder sinus signal current amplitude value (Volts) – MaxCosinusAmplitude double Encoder cosinus signal maximum amplitude value (Volts) – CurrentCosinusAmplitude double Encoder cosinus signal current amplitude value (Volts) Return 313 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.54 PositionerEncoderCalibrationParametersGet Name PositionerEncoderCalibrationParametersGet – Gets the encoder calibration parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must be not a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the encoder type (must be “AnalogInterpolated”): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description After a calibration of the analog encoder input (by the function “GroupInitializeWithEncoderCalibration”), this function returns the optimum parameters for the analog encoder interface. To take these parameters into account (recommended to achieve best performance), these values must be entered manually in the corresponding section of the stages.ini file. The parameters to set in the stages.ini file are: EncoderSinusOffset = 0 ; Volts EncoderCosinusOffset = 0 ; Volts EncoderDifferentialGain = 0 EncoderPhaseCompensation = 0 ; Deg CAUTION The encoder type must be “AnalogInterpolated” in the stages.ini file (“EncoderType” parameter). Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 314 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerEncoderCalibrationParametersGet $SocketID $FullPositionerName SinusOffset CosinusOffset DifferentialGain PhaseCompensation Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – SinusOffset double Encoder sinus signal offset (Volts) – CosinusOffset double Encoder cosinus signal offset (Volts) – DifferentialGain double Encoder differential gain – PhaseCompensation double Encoder phase compensation (Deg) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerEncoderCalibrationParametersGet (int SocketID, char FullPositionerName[250] , double * SinusOffset, double * CosinusOffset, double * DifferentialGain, double * PhaseCompensation) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – SinusOffset double * Encoder sinus signal offset (Volts) – CosinusOffset double * Encoder cosinus signal offset (Volts) – DifferentialGain double * Encoder differential gain – PhaseCompensation double * Encoder phase compensation (Deg) int Function error code Output parameters Return – Error 315 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerEncoderCalibrationParametersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, SinusOffset As Double, CosinusOffset As Double, DifferentialGain As Double, PhaseCompensation As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – SinusOffset double Encoder sinus signal offset (Volts) – CosinusOffset double Encoder cosinus signal offset (Volts) – DifferentialGain double Encoder differential gain – PhaseCompensation double Encoder phase compensation (Deg) long Function error code Output parameters Return – Error Matlab Prototype [Error, SinusOffset, CosinusOffset, DifferentialGain, PhaseCompensation] PositionerEncoderCalibrationParametersGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – SinusOffset double Encoder sinus signal offset (Volts) – CosinusOffset double Encoder cosinus signal offset (Volts) – DifferentialGain double Encoder differential gain – PhaseCompensation double Encoder phase compensation (Deg) Return EDH0305En1051 — 08/15 316 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, SinusOffset, CosinusOffset, DifferentialGain, PhaseCompensation] PositionerEncoderCalibrationParametersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – SinusOffset double Encoder sinus signal offset (Volts) – CosinusOffset double Encoder cosinus signal offset (Volts) – DifferentialGain double Encoder differential gain – PhaseCompensation double Encoder phase compensation (Deg) Return 317 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.55 PositionerErrorGet Name PositionerErrorGet – Returns the positioner error code and clears it. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid output parameter type: ERR_WRONG_TYPE_INT (-15) - Valid positioner name: ERR_POSITIONER _NAME (-18) - Valid secondary positioner: ERR_UNCOMPATIBLE (-18) Description Returns the positioner error code and clears it. The positioner error codes are listed in the “Positioner error list” § 2.19. The description of the positioner error code can be obtained with the “GroupPositionerErrorStringGet” function. NOTE The “PositionerErrorRead” function reads the positioner error without clearing it. Error codes ERR_FATAL_INIT (-20) ERR_IN_INITIALIZATION (-21) ERR_POSITIONER_NAME (-18) ERR_UNCOMPATIBLE (-24) ERR_WRONG_FORMAT (-7) ERR_WRONG_PARAMETERS_NUMBER (-9) ERR_WRONG_TYPE_INT (-15) SUCCESS (0): no error EDH0305En1051 — 08/15 318 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerErrorGet SocketID PositionerName PositionerError Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name (maximum size = 250) interger Positioner error code. Output parameters – PositionerError Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int PositionerErrorGet (int SocketID, char * PositionerName, int * PositionerError) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * Positioner name int * Positioner error code Output parameters – PositionerError Return – Function error code Visual Basic Prototype Long PositionerErrorGet (ByVal SocketID As Long, ByVal PositionerName As String, PositionerError As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name long Positioner error code Output parameters – PositionerError Return – Function error code 319 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, PositionerError] PositionerErrorGet (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring Positioner name – Error int32 Function error code – PositionerError int32 Positioner error code Return Python Prototype [Error, PositionerError] PositionerErrorGet (integer SocketID, string PositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string Positioner name – Error int Function error code – PositionerError int Positioner error code Return EDH0305En1051 — 08/15 320 XPS-Q8 Controller Programmer’s Manual 2.2.4.56 PositionerErrorRead Name PositionerErrorRead – Returns the positioner error code without clearing it. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid output parameter type: ERR_WRONG_TYPE_INT (-15) - Valid positioner name: ERR_POSITIONER _NAME (-18) - Valid secondary positioner: ERR_UNCOMPATIBLE (-18) Description Returns the positioner error code without clearing it. The positioner error codes are listed in the “Positioner error list” § 2.19. The description of the positioner error code can be obtained with the “GroupPositionerErrorStringGet” function. NOTE The “PositionerErrorGet” function clears the positioner error. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 321 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerErrorRead SocketID PositionerName PositionerError Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name (maximum size = 250) interger Positioner error code. Output parameters – PositionerError Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int PositionerErrorRead (int SocketID, char * PositionerName, int * PositionerError) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * Positioner name int * Positioner error code Output parameters – PositionerError Return – Function error code Visual Basic Prototype Long PositionerErrorRead (ByVal SocketID As Long, ByVal PositionerName As String, PositionerError As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name long Positioner error code Output parameters – PositionerError Return – Function error code EDH0305En1051 — 08/15 322 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, PositionerError] PositionerErrorRead (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring Positioner name – Error int32 Function error code – PositionerError int32 Positioner error code Return Python Prototype [Error, PositionerError] PositionerErrorRead (integer SocketID, string PositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string Positioner name – Error int Function error code – PositionerError int Positioner error code Return 323 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.57 PositionerErrorStringGet Name PositionerErrorStringGet – Gets the positioner error description. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function returns a positioner error description from a positioner error code. NOTE See the positioner error list described in § 2.19 Error codes ERR_FATAL_INIT (-20) ERR_IN_INITIALIZATION (-21) ERR_WRONG_FORMAT (-7) ERR_WRONG_PARAMETERS_NUMBER (-9) ERR_WRONG_TYPE_CHAR (-13) ERR_WRONG_TYPE_INT (-15) SUCCESS (0): no error TCL Prototype PositionerErrorStringGet $SocketID $FullPositionerName $PositionerErrorCode PositionerErrorString Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionerErrorCode int Positioner error code int Positioner error description int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – PositionerErrorString Return – Error EDH0305En1051 — 08/15 324 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerErrorStringGet (int SocketID, char FullPositionerName[250] , int PositionerErrorCode, char * PositionerErrorString) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – PositionerErrorCode int * Positioner error code int * Positioner error description int Function error code Output parameters – PositionerErrorString Return – Error Visual Basic Prototype Long PositionerErrorStringGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal PositionerErrorCode As Integer, ByVal PositionerErrorString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionerErrorCode int Positioner error code int Positioner error description long Function error code Output parameters – PositionerErrorString Return – Error Matlab Prototype [Error, PositionerErrorString] PositionerErrorStringGet (int32 SocketID, cstring FullPositionerName, int32 PositionerErrorCode) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – PositionerErrorCode int32 Positioner error code – Error int32 Function error code – PositionerErrorString cstring Positioner error description Return 325 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, PositionerErrorString] PositionerErrorStringGet (integer SocketID, string FullPositionerName, integer PositionerErrorCode) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionerErrorCode int Positioner error code – Error int Function error code – PositionerErrorString string Positioner error description Return EDH0305En1051 — 08/15 326 XPS-Q8 Controller Programmer’s Manual 2.2.4.58 PositionerExcitationSignalGet Name PositionerExcitationSignalGet – Returns the currently used parameters of the excitation signal functionality. Input tests - Configuration files reading: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Valid positioner name: ERR_GROUP_NAME (-19) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Valid output parameter type: ERR_WRONG_TYPE_INT (-15) Description This function gets the last configured excitation signal parameters. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0) : no error 327 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerExcitationSignalGet SocketID $PositionerName SignalType Frequency Amplitude Time Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name (maximum size = 250) – SignalType integer Type of signal – Frequency floating point Frequency (Hz) – Amplitude floating point Amplitude (acceleration, velocity or voltage unit) – Time floating point During time (seconds) Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int PositionerExcitationSignalGet (int SocketID, char *PositionerName, int* SignalType, double* Frequency, double* Amplitude, double* Time) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * Positioner name Output parameters – SignalType int * – Frequency double * Frequency (Hz) – Amplitude double * Amplitude (acceleration, velocity or voltage unit) – Time double * During time (seconds) Return – Function error code EDH0305En1051 — 08/15 Type of signal 328 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerExcitationSignalGet (ByVal SocketID As Long, ByVal GroupName As String, SignalType As Long, Frequency As Double, Amplitude As Double, Time As Double) Input parameters – SocketID Long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName String Positioner name Output parameters – SignalType Long Type of signal – Frequency Double Frequency (Hz) – Amplitude Double Amplitude (acceleration, velocity or voltage unit) – Time Double During time (seconds) Return – Function error code Matlab Prototype [Error, SignalType, Frequency, Amplitude, Time] PositionerExcitationSignalGet (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring Positioner name – Error int32 Function error code – SignalType int32Ptr Type of signal – Frequency doublePtr Frequency (Hz) – Amplitude doublePtr Amplitude (acceleration, velocity or voltage unit) – Time doublePtr During time (seconds) Return 329 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, SignalType, Frequency, Amplitude, Time] PositionerExcitationSignalGet (integer SocketID, string PositionerName) Input parameters – SocketID integer Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string Positioner name – Error integer Function error code – Frequency integerPtr Type of signal – Frequency doublePtr Frequency (Hz) – Amplitude doublePtr Amplitude (acceleration, velocity or voltage unit) – Time doublePtr During time (seconds) Return EDH0305En1051 — 08/15 330 XPS-Q8 Controller Programmer’s Manual 2.2.4.59 PositionerExcitationSignalSet Name PositionerExcitationSignalSet – Configure and activate the signal of excitation. Input tests - Configuration files reading: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Is secondary positioner or has a secondary positioner: ERR_WRONG_OBJECT_TYPE (-8) - Valid control loop type: ERR_UNCOMPATIBLE (-24) - Valid positioner name: ERR_GROUP_NAME (-19) - Valid output parameter type: ERR_WRONG_TYPE_INT (-15) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check group status (must be READY): ERR_NOT_ALLOWED_ACTION (-22) - Check frequency (must ≥ 0.1 and ≤ 0.5/CorrectorISRPeriod): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check excitation time (must ≥ 4*CorrectorISRPeriod): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check signal amplitude [-Acceleration (Velocity or Voltage) limit to Acceleration (Velocity or Voltage) limit]: ERR_PARAMETER_OUT_OF_RANGE (-17) - Check type of signal (0, 1, 2 or 3): ERR_PARAMETER_OUT_OF_RANGE (-17) Description The excitation signal functionality generates a typical signal (a sine, a blank noise or an echelon signal) that the controller sends to motors to excite the system. In measuring the output signal of the excited system, we can determine some system characteristics, like the system transfer function. The excitation signal functionality is only available with the stages controlled in acceleration (acceleration control, ex: brushless / linear motors), velocity (velocity control) or in voltage (voltage control). It does not exist with the stages controlled in position (ex: stepper motors). The excitation-signal function PositionerExcitationSignalSet can be executed only when the positioner is in “READY” state. When the excitation-signal process is in progress, the positioner is in the “ExcitationSignal” state. At the end of the process, the positioner returns to “READY” state (see group state diagram). The PositionerExcitationSignalSet function sends an excitation signal to the motor for a brief time. This function is allowed for “PIDFFAcceleration”, “PIDFFVelocity” or “PIDDualFFVoltage” control loops. The parameters to configure are signal type (0:sine, 1:echelon,2:random-amplitude,3:random-pulse-width binary-amplitude, integer), frequency (Hz, double), amplitude (acceleration, velocity or voltage unit, double) and during time (seconds, double). The function effective parameters for each mode are : (here : Limit means AccelerationLimit, VelocityLimit or VoltageLimit) 331 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual - Sine signal mode : Frequency (≥ 0.1 and ≤ 0.5/CorrectorISRPeriod), Amplitude (> 0 and ≤ Limit), Time (≥ 4 * CorrectorISRPeriod) - Echelon signal mode : Amplitude (> 0 and ≤ Limit, or < 0 and ≥ -Limit), Time(≥ 4 * CorrectorISRPeriod). + During Time : Signal = Amplitude + End of Time : Signal = 0 - Random-amplitude signal mode : Amplitude (>0 and ≤ Limit), Time(>0), Frequency (≥ 0.1 and <= 0.5/CorrectorISRPeriod). Signal is generated with a random value at with a period defined by the controller base time (CorrectorISRPeriod , default value 0.125 ms), then is filtered with a second order low-pass filter at the cut-off Frequency value. - Random-pulse-width binary-amplitude signal mode : Amplitude (>0 and ≤ Limit), Time (≥ 4 * CorrectorISRPeriod), Frequency (≥ 0.1 and ≤ 0.5/CorrectorISRPeriod). Signal is a sequence of pulses (Signal = Amplitude or = 0) with pulse randomly varied width (multiple of Tbase). Frequency is the controlled system band-width (cut-off frequency), necessary for the PRBS (Pseudo Random Binary Sequence) function configuration. The function non-effective parameters can accept any value, the value 0 is recommended for simplicity. NOTE If during the excitation signal generation the stage position exceeds the user minimum or maximum target positions, the motor excitation command is stopped and an error is returned. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - ERR_EXCITATION_SIGNAL_INITIALIZATION (-112) - SUCCESS (0) : no error 332 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerExcitationSignalSet SocketID $PositionerName $SignalType $Frequency $Amplitude $Time Input parameters – SocketID integer Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name (maximum size = 250) – SignalType integer Type of signal – Frequency floating point Frequency (Hz) – Amplitude floating point Amplitude (acceleration, velocity or voltage unit) – Time floating point During time (seconds) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int PositionerExcitationSignalSet (int SocketID, char *PositionerName, int SignalType, double Frequency, double Amplitude, double Time) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * Positioner name – SignalType int Type of signal – Frequency double Frequency (Hz) – Amplitude double Amplitude (acceleration, velocity or voltage unit) – Time double During time (seconds) Output parameters – None Return – Function error code 333 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerExcitationSignalSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal SignalType As Long, ByVal Frequency As Double, ByVal Amplitude As Double, ByVal Time As Double) Input parameters – SocketID Long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName String Positioner name – SignalType Long Type of signal – Frequency Double Frequency (Hz) – Amplitude double Amplitude (acceleration, velocity or voltage unit) – Time Double During time (seconds) Output parameters – None Return – Function error code Matlab Prototype [Error] PositionerExcitationSignalSet (int32 SocketID, cstring PositionerName, SignalType, Frequency, Amplitude, Time) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring Positioner name – SignalType int32 Type of signal – Frequency double Frequency (Hz) – Amplitude double Amplitude (acceleration, velocity or voltage unit) – Time double During time (seconds) int32 Function error code Return – Error EDH0305En1051 — 08/15 334 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerExcitationSignalSet (integer SocketID, string PositionerName, SignalType, Frequency, Amplitude, Time) Input parameters – SocketID integer Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string Positioner name – SignalType integer Type of signal – Frequency double Frequency (Hz) – Amplitude double Amplitude (acceleration, velocity or voltage unit) – Time double During time (seconds) integer Function error code Return – Error 335 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.60 PositionerHardInterpolatorFactorGet Name PositionerHardInterpolatorFactorGet – Gets the interpolation factor for position compare mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must be not a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the encoder type (must be “AnalogInterpolated”): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_INT (-15) Description This function returns the interpolation factor of the hardware interpolator used in the “Position Compare” mode. The interpolation factor value is defined as: InterpolationFactor = round (EncoderScalePitch/HardInterpolatorResolution) NOTE The encoder type must be “AnalogInterpolated” in the stages.ini file (“EncoderType” parameter). Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 336 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerHardInterpolatorFactorGet $SocketID $FullPositionerName InterpolationFactor Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name interger Interpolation factor int TCL error code (0=success or 1=syntax error) or function error code Output parameters – InterpolationFactor Return – Error C/C++ Prototype int PositionerHardInterpolatorFactorGet (int SocketID, char FullPositionerName[250] , int * InterpolationFactor) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int * Interpolation factor int Function error code Output parameters – InterpolationFactor Return – Error Visual Basic Prototype Long PositionerHardInterpolatorFactorGet (ByVal SocketID As Long, ByVal FullPositionerName As String, InterpolationFactor As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Interpolation factor long Function error code Output parameters – InterpolationFactor Return – Error 337 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, InterpolationFactor] PositionerHardInterpolatorFactorGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – InterpolationFactor int32Interpolation factor Return Python Prototype [Error, InterpolationFactor] PositionerHardInterpolatorFactorGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – InterpolationFactor int Interpolation factor Return EDH0305En1051 — 08/15 338 XPS-Q8 Controller Programmer’s Manual 2.2.4.61 PositionerHardInterpolatorFactorSet Name PositionerHardInterpolatorFactorSet – Sets the interpolation factor for position compare mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must be not a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group state (must be NOTINIT): ERR_NOT_ALLOWED_ACTION (22) - Check the encoder type (must be “AnalogInterpolated”): ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check input parameter value:ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function sets the interpolation factor of the hardware interpolator used in the “PositionCompare” mode. The IP200 is updated and the position compare resolution is set as follows: PositionCompareResolution = EncoderScalePitch/InterpolationFactor The “InterpolationFactor“ value must be define with one of these values: 20 25 40 50 80 100 160 200 If the input interpolator factor value is different from these values then ERR_PARAMETER_OUT_OF_RANGE is returned. NOTE The group must be NOTINIT to use this function else ERR_NOT_ALLOWED_ACTION is returned. The encoder type must be “AnalogInterpolated” in the stages.ini file (“EncoderType” parameter) else the error is returned 339 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype PositionerHardInterpolatorFactorSet $SocketID $FullPositionerName $InterpolationFactor Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – InterpolationFactor int Interpolation factor int TCL error code (0=success or 1=syntax error) or function error code Return – Error C/C++ Prototype int PositionerHardInterpolatorFactorSet (int SocketID, char FullPositionerName[250] , int InterpolationFactor) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – InterpolationFactor int Interpolation factor int Function error code Return – Error EDH0305En1051 — 08/15 340 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerHardInterpolatorFactorSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal InterpolationFactor As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – InterpolationFactor int Interpolation factor long Function error code Return – Error Matlab Prototype [Error] PositionerHardInterpolatorFactorSet (int32 SocketID, cstring FullPositionerName, int32 InterpolationFactor) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – InterpolationFactor int32Interpolation factor Return – Error int32 Function error code Python Prototype [Error] PositionerHardInterpolatorFactorSet (integer SocketID, string FullPositionerName, integer InterpolationFactor) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – InterpolationFactor int Interpolation factor int Function error code Return – Error 341 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.62 PositionerHardInterpolatorPositionGet Name PositionerHardInterpolatorPositionGet – Gets interpolated position from the encoder hard interpolator. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the encoder type (must be “AnalogInterpolated”): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the position interpolated by the encoder hard interpolator. NOTE This function can be used only with the XPS-Qn Precision Platform controller. The encoder type must be “AnalogInterpolated” or “AnalogInterpolatedTheta” in the stages.ini file (“EncoderType” parameter). Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 342 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerHardInterpolatorPositionGet $SocketID $FullPositionerName Position Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Interpolated position int TCL error code (0=success or 1=syntax error) or function error code Output parameters – Position Return – Error C/C++ Prototype int PositionerHardInterpolatorPositionGet (int SocketID, char FullPositionerName[250] , double * Position) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name double * Interpolated position int Function error code Output parameters – Position Return – Error Visual Basic Prototype Long PositionerHardInterpolatorPositionGet (ByVal SocketID As Long, ByVal FullPositionerName As String, Position As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Interpolated position long Function error code Output parameters – Position Return – Error 343 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, Position] PositionerHardInterpolatorPositionGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – Position double Interpolated position Return Python Prototype [Error, Position] PositionerHardInterpolatorPositionGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – Position double Interpolated position Return EDH0305En1051 — 08/15 344 XPS-Q8 Controller Programmer’s Manual 2.2.4.63 PositionerHardwareStatusGet Name PositionerHardwareStatusGet – Gets the positioner hardware status code. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must be not a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8), ERR_UNCOMPATIBLE (-24), ERR_POSITIONER_NAME (-18) - Check output parameter type: ERR_WRONG_TYPE_INT (-15) Description This function returns the hardware status of the selected positioner. The positioner hardware status is composed of the “corrector” hardware status and the “servitudes” hardware status: The “Corrector” returns the motor interface and the position encoder hardware status. The “Servitudes” returns the general inhibit and the end of runs hardware status. NOTE See the positioner hardware status list describes in § 2.20 Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 345 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerHardwareStatusGet $SocketID $FullPositionerName PositionerHardwareStatus Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Hardware status code int TCL error code (0 = success or 1 = syntax error) or function error Output parameters – PositionerHardwareStatus Return – Error C/C++ Prototype int PositionerHardwareStatusGet (int SocketID, char FullPositionerName[250] , int * PositionerHardwareStatus) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int * Hardware status code int Function error code Output parameters – PositionerHardwareStatus Return – Error Visual Basic Prototype Long PositionerHardwareStatusGet (ByVal SocketID As Long, ByVal FullPositionerName As String, PositionerHardwareStatus As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Hardware status code long Function error code Output parameters – PositionerHardwareStatus Return – Error EDH0305En1051 — 08/15 346 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, PositionerHardwareStatus] PositionerHardwareStatusGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – PositionerHardwareStatus int32 Hardware status code Return Python Prototype [Error, PositionerHardwareStatus] PositionerHardwareStatusGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – PositionerHardwareStatus int Hardware status code Return 347 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.64 PositionerHardwareStatusStringGet Name PositionerHardwareStatusStringGet – Gets the positioner error description. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function returns the hardware status description from a positioner hardware status code. NOTE See the positioner hardware status list describes in § 2.20. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 348 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerHardwareStatusStringGet $SocketID $FullPositionerName $PositionerHardwareStatusCode PositionerHardwareStatusString Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionerHardwareStatusCode int Positioner hardware status code int Positioner hardware status description int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – PositionerHardwareStatusString Return – Error C/C++ Prototype int PositionerHarwareStatusStringGet (int SocketID, char FullPositionerName[250] , int PositionerHardwareStatusCode, char * PositionerHardwareStatusString) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – PositionerHardwareStatusCode int * Positioner hardware status code int * Positioner hardware status description int Function error code Output parameters – PositionerHardwareStatusString Return – Error 349 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerHardwareStatusStringGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal PositionerHardwareStatusCode As Integer, ByVal PositionerHardwareStatusString As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionerHardwareStatusCode int Positioner hardware status code int Positioner hardware status description long Function error code Output parameters – PositionerHardwareStatusString Return – Error Matlab Prototype [Error, PositionerHardwareStatusString] PositionerHardwareStatusStringGet (int32 SocketID, cstring FullPositionerName, int32 PositionerHardwareStatusCode) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – PositionerHardwareStatusCode int32Positioner hardware status code Return – Error int32 Function error code – PositionerHardwareStatusString cstring Positioner hardware status description Python Prototype [Error, PositionerHardwareStatusString] PositionerHardwareStatusStringGet (integer SocketID, string FullPositionerName, integer PositionerHardwareStatusCode) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionerHardwareStatusCode int Positioner hardware status code – Error int Function error code – PositionerHardwareStatusString string Positioner hardware status description Return EDH0305En1051 — 08/15 350 XPS-Q8 Controller Programmer’s Manual 2.2.4.65 PositionerMaximumVelocityAndAccelerationGet Name PositionerMaximumVelocityAndAccelerationGet – Gets the maximum velocity and acceleration from the profiler generators. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the maximum velocity and acceleration of the profile generators. These parameters represent the limits for the profiler and are defined in the stages.ini file: MaximumVelocity = ; unit/second MaximumAcceleration = ; unit/second2 Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerMaximumVelocityAndAccelerationGet $SocketID $FullPositionerName MaximumVelocity MaximumAcceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Maximum velocity (units/seconds) Output parameters – MaximumVelocity – MaximumAcceleration double Maximum acceleration (units/seconds²) Return – Error int 351 TCL error code (0=success or 1=syntax error) or function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerMaximumVelocityAndAccelerationGet (int SocketID, char FullPositionerName[250] , double * MaximumVelocity, double * MaximumAcceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name double * Maximum velocity (units/seconds) Output parameters – MaximumVelocity – MaximumAcceleration double * Maximum acceleration (units/seconds²) Return – Error int Function error code Visual Basic Prototype Long PositionerMaximumVelocityAndAccelerationGet (ByVal SocketID As Long, ByVal FullPositionerName As String, MaximumVelocity As Double, MaximumAcceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Maximum velocity (units/seconds) Output parameters – MaximumVelocity – MaximumAcceleration double Maximum acceleration (units/seconds²) Return – Error EDH0305En1051 — 08/15 long 352 Function error code XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, MaximumVelocity, MaximumAcceleration] PositionerMaximumVelocityAndAccelerationGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – MaximumVelocity double Maximum velocity (units/seconds) Return – MaximumAcceleration double Maximum acceleration (units/seconds²) Python Prototype [Error, MaximumVelocity, MaximumAcceleration] PositionerMaximumVelocityAndAccelerationGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – MaximumVelocity double Maximum velocity (units/seconds) Return – MaximumAcceleration double 353 Maximum acceleration (units/seconds²) EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.66 PositionerMotionDoneGet Name PositionerMotionDoneGet – Gets the motion done parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the motion done mode (must be “VelocityAndPositionWindow”): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the motion done parameters only for the “VelocityAndPositionWindow” MotionDone mode. If the MotionDone mode is defined as “Theoretical” then ERR_WRONG_OBJECT_TYPE (-8) is returned. The “MotionDoneMode” parameter from the stages.ini file defines the motion done mode. The motion done can be defined as “Theoretical” (the motion done mode is not used) or “VelocityAndPositionWindow”. For a more thorough description of the motion done mode, please refer to the XPS Motion Tutorial section Motion/Motion Done. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 354 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerMotionDoneGet $SocketID $FullPositionerName PositionWindow VelocityWindow CheckingTime MeanPeriod Timeout Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionWindow double Position window (units) – VelocityWindow double Velocity window (units/seconds) – CheckingTime double Checking time (seconds) – MeanPeriod double Mean period (seconds) – Timeout double Motion done time out (seconds) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerMotionDoneGet (int SocketID, char FullPositionerName[250] , double * PositionWindow, double * VelocityWindow, double * CheckingTime, double * MeanPeriod, double * Timeout) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – PositionWindow double * Position window (units) – VelocityWindow double * Velocity window (units/seconds) – CheckingTime double * Checking time (seconds) – MeanPeriod double * Mean period (seconds) – Timeout double * Motion done time out (seconds) int Function error code Output parameters Return – Error 355 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerMotionDoneGet (ByVal SocketID As Long, ByVal FullPositionerName As String, PositionWindow As Double, VelocityWindow As Double, CheckingTime As Double, MeanPeriod As Double, Timeout As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionWindow double Position window (units) – VelocityWindow double Velocity window (units/seconds) – CheckingTime double Checking time (seconds) – MeanPeriod double Mean period (seconds) – Timeout double Motion done time out (seconds) long Function error code Output parameters Return – Error Matlab Prototype [Error, PositionWindow, VelocityWindow, CheckingTime, MeanPeriod, Timeout] PositionerMotionDoneGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – PositionWindow double Position window (units) – VelocityWindow double Velocity window (units/seconds) – CheckingTime double Checking time (seconds) – MeanPeriod double Mean period (seconds) – Timeout double Motion done time out (seconds) Return EDH0305En1051 — 08/15 356 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, PositionWindow, VelocityWindow, CheckingTime, MeanPeriod, Timeout] PositionerMotionDoneGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – PositionWindow double Position window (units) – VelocityWindow double Velocity window (units/seconds) – CheckingTime double Checking time (seconds) – MeanPeriod double Mean period (seconds) – Timeout double Motion done time out (seconds) Return 357 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.67 PositionerMotionDoneSet Name PositionerMotionDoneSet – Sets the motion done parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function updates the motion done parameters only for the “VelocityAndPositionWindow” MotionDone mode. The “MotionDoneMode” parameter from the stages.ini file must be defined as “VelocityAndPositionWindow” else ERR_WRONG_OBJECT_TYPE (-8) is returned. For a more thorough description of the Motion Done mode, please refer to the XPS Motion Tutorial section Motion/Motion Done. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 358 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerMotionDoneSet $SocketID $FullPositionerName $PositionWindow $VelocityWindow $CheckingTime $MeanPeriod $Timeout Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionWindow double Position window (units) – VelocityWindow double Velocity window (units/seconds) – CheckingTime double Checking time (seconds) – MeanPeriod double Mean period (seconds) – Timeout double Motion done time out (seconds) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerMotionDoneSet (int SocketID, char FullPositionerName[250] , double * PositionWindow, double * VelocityWindow, double * CheckingTime, double * MeanPeriod, double * Timeout) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – PositionWindow double Position window (units) – VelocityWindow double Velocity window (units/seconds) – CheckingTime double Checking time (seconds) – MeanPeriod double Mean period (seconds) – Timeout double Motion done time out (seconds) int Function error code Output parameters – None Return – Error 359 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerMotionDoneSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal PositionWindow As Double, ByVal VelocityWindow As Double, ByVal CheckingTime As Double, ByVal MeanPeriod As Double, ByVal Timeout As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionWindow double Position window (units) – VelocityWindow double Velocity window (units/seconds) – CheckingTime double Checking time (seconds) – MeanPeriod double Mean period (seconds) – Timeout double Motion done time out (seconds) long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerMotionDoneSet (int32 SocketID, cstring FullPositionerName, double PositionWindow, double VelocityWindow, double CheckingTime, double MeanPeriod, double Timeout) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – PositionWindow double Position window (units) – VelocityWindow double Velocity window (units/seconds) – CheckingTime double Checking time (seconds) – MeanPeriod double Mean period (seconds) – Timeout double Motion done time out (seconds) int32 Function error code Return – Error EDH0305En1051 — 08/15 360 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerMotionDoneSet (integer SocketID, string FullPositionerName, double PositionWindow, double VelocityWindow, double CheckingTime, double MeanPeriod, double Timeout) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PositionWindow double Position window (units) – VelocityWindow double Velocity window (units/seconds) – CheckingTime double Checking time (seconds) – MeanPeriod double Mean period (seconds) – Timeout double Motion done time out (seconds) int Function error code Return – Error 361 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.68 PositionerPositionCompareDisable Name PositionerPositionCompareDisable – Disables the position compare mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the encoder (“AquadB” or “AnalogInterpolated”): ERR_WRONG_OBJECT_TYPE (-8) Description This function disables the position compare mode. For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype PositionerPositionCompareDisable $SocketID $FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 362 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerPositionCompareDisable (int SocketID, char FullPositionerName[250]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerPositionCompareDisable (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerPositionCompareDisable (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error 363 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerPositionCompareDisable (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error EDH0305En1051 — 08/15 364 XPS-Q8 Controller Programmer’s Manual 2.2.4.69 PositionerPositionCompareEnable Name PositionerPositionCompareEnable – Enables the position compare mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the encoder (“AquadB” or “AnalogInterpolated”): ERR_WRONG_OBJECT_TYPE (-8) - Check the group state (must be READY): ERR_NOT_ALLOWED_ACTION (-22) - Check the position compare parameters (must be configured): ERR_NOT_ALLOWED_ACTION (-22) Description This function enables the position compare mode. The group must be in READY state to use this function else ERR_NOT_ALLOWED_ACTION (-22) is returned. If the position compare parameters are not configured (by the “PositionerPositionCompareSet” function) then ERR_NOT_ALLOWED_ACTION (22) is returned. For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 365 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerPositionCompareEnable $SocketID $FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerPositionCompareEnable (int SocketID, char FullPositionerName[250]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerPositionCompareEnable (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name long Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 366 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerPositionCompareEnable (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error Python Prototype [Error] PositionerPositionCompareEnable (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error 367 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.70 PositionerPositionCompareGet Name PositionerPositionCompareGet – Gets the position compare parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the position compare parameters (must be configured): ERR_POSITION_COMPARE_NOT_SET (-23) - Check the configured mode type (must be PositionCompare): ERR_UNCOMPATIBLE (-24) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_BOOL (-12) Description This function returns the real value (without correction) of parameters of the position compare output trigger and returns current state (enabled or disabled). For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITION_COMPARE_NOT_SET (-23) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 368 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerPositionCompareGet $SocketID $FullPositionerName MinimumPosition MaximumPosition PositionStep EnableState Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – PositionStep double Position step (units) – EnableState bool Position compare state (true=enabled or false=disabled) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerPositionCompareGet (int SocketID, char FullPositionerName[250] , double* MinimumPosition, double* MaximumPosition, double* PositionStep, bool * EnableState) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – MinimumPosition double * Minimum position (units) – MaximumPosition double * Maximum position (units) – PositionStep double * Position step (units) – EnableState bool * Position compare state (true=enabled or false=disabled) int Function error code Output parameters Return – Error 369 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerPositionCompareGet (ByVal SocketID As Long, ByVal FullPositionerName As String, MinimumPosition As Double, MaximumPosition As Double, PositionStep As Double, EnableState As Boolean) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – PositionStep double Position step (units) – EnableState bool Position compare state (true=enabled or false=disabled) long Function error code Output parameters Return – Error Matlab Prototype [Error, MinimumPosition, MaximumPosition, PositionStep, EnableState] PositionerPositionCompareGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – PositionStep double Position step (units) – EnableState bool Position compare state (true=enabled or false=disabled) Return EDH0305En1051 — 08/15 370 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, MinimumPosition, MaximumPosition, PositionStep, EnableState] PositionerPositionCompareGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – PositionStep double Position step (units) – EnableState bool Position compare state (true=enabled or false=disabled) Return 371 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.71 PositionerPositionCompareSet Name PositionerPositionCompareSet – Sets the position compare parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check input parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - MinimumPosition < MaximumPosition - MinimumPosition >= MinimumTargetPosition - MaximumPosition <= MaximumTargetPosition - 0 <= PositionStep <= (MaximumPosition – MinimumPosition) - Check position compare state (must be disabled): ERR_NOT_ALLOWED_ACTION (-22) Description This function sets the parameters for the position compare output trigger of the PCO connector on the XPS controller cards. These parameters are used only when the position compare mode is enabled. For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. NOTE This function can be used only with a position encoder. If no position encoder then ERR_UNCOMPATIBLE (-24) is returned. In the PositionCompare mode (activated with PositionerPositionCompareEnable() function), during the move (relative or absolute) and inside the zone set by PositionerPositionCompareSet(), if the current following error exceeds the Warning Following Error value, the PositionCompareWarningFollowingErrorFlag is activated and the move returns an error (-120: Warning following error during move with position compare enabled). To reset the PositionCompareWarningFollowingErrorFlag, send the PositionerPositionCompareDisable() function. The WarningFollowingError is set to FatalFollowingError (defined in stages.ini file) by default, but it can be modified by PositionerWarningErrorSet(). In the PositionCompare mode (activated with PositionerPositionCompareEnable() function), during the move (relative or absolute) and inside the zone set by PositionerPositionCompareSet(), the CorrectorOutput is limited to MaximumAcceleration (defined in stages.ini). EDH0305En1051 — 08/15 372 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_UNCOMPATIBLE (-24) - SUCCESS (0): no error TCL Prototype PositionerPositionCompareSet $SocketID $FullPositionerName $MinimumPosition $MaximumPosition $PositionStep Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – PositionStep double Position step (units) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 373 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerPositionCompareSet (int SocketID, char FullPositionerName[250] , double MinimumPosition, double MinimumPosition, double PositionStep) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – PositionStep double Position step (units) int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerPositionCompareSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal MinimumPosition As Double, ByVal MaximumPosition As Double, ByVal PositionStep As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – PositionStep double Position step (units) long Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 374 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerPositionCompareSet (int32 SocketID, cstring FullPositionerName, double MinimumPosition, double MaximumPosition, double PositionStep) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – PositionStep double Position step (units) int32 Function error code Return – Error Python Prototype [Error] PositionerPositionCompareSet (integer SocketID, string FullPositionerName, double MinimumPosition, double MaximumPosition, double PositionStep) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – PositionStep double Position step (units) int Function error code Return – Error 375 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.72 PositionerPositionComparePulseParametersGet Name PositionerPositionComparePulseParametersGet – Gets the position compare PCO pulse parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check the positioner (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) Description This function returns the configured parameters of the position compare PCO pulse parameters. For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerPositionComparePulseParametersGet $SocketID $FullPositionerName PCOPulseWidth EncoderSettlingTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PCOPulseWidth double Width of PCO pulses (µs) – EncoderSettlingTime double Encoder signal settling time (µs) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error EDH0305En1051 — 08/15 376 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerPositionComparePulseParametersGet (int SocketID, char FullPositionerName[250] , double* PCOPulseWidth, double* EncoderSettlingTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – PCOPulseWidth double * Width of PCO pulses (µs) – EncoderSettlingTime double * Encoder signal settling time (µs) int Function error code Output parameters Return – Error Visual Basic Prototype Long PositionerPositionComparePulseParametersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, PCOPulseWidth As Double, EncoderSettlingTime As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PCOPulseWidth double Width of PCO pulses (µs) – EncoderSettlingTime double Encoder signal settling time (µs) long Function error code Output parameters Return – Error Matlab Prototype [Error, PCOPulseWidth, EncoderSettlingTime] PositionerPositionComparePulseParametersGet (int32 SocketID, cstring FullPositionerName) Input parameter – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – PCOPulseWidth double Width of PCO pulses (µs) – EncoderSettlingTime double Encoder signal settling time (µs) Return 377 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, PCOPulseWidth, EncoderSettlingTime] PositionerPositionComparePulseParametersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – PCOPulseWidth double Width of PCO pulses (µs) – EncoderSettlingTime double Encoder signal settling time (µs) Return EDH0305En1051 — 08/15 378 XPS-Q8 Controller Programmer’s Manual 2.2.4.73 PositionerPositionComparePulseParametersSet Name PositionerPositionComparePulseParametersSet – Sets the position compare PCO pulse parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check input parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - PCOPulseWidth value must equal to 0.2 (default), 1, 2.5 or 10 (µs) - EncoderSettlingTime value must equal to 0.075 (default), 1, 4 or 12 (µs) - Check position compare state (must be disabled): ERR_NOT_ALLOWED_ACTION (-22) - Check if the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) Description This function sets two additional parameters for the position compare output trigger of the PCO connector on the XPS controller cards. The first additional parameter is the pulse width. The second parameter is the encoder settling time value, which is the time the encoder inputs have to stabilize after a change of state is detected. These parameters are used only when using the position compare mode. For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. NOTE When changing the PCO Pulse settle time you must limit the maximum velocity of the stage accordingly, otherwise you will loose the PCO position and generate the wrong number of pulses at wrong positions. For example, if you set the EncoderSettlingTime to 4 µs, the maximum PCO encoder frequency need to be limited to less than 0.25 / 4e-6 = 62.5 kHz. So, if EncoderScalePitch = 0.004 mm and HardInterpolatorFactor = 200 then the stage maximum velocity must ≤ 62.5e3 * 0.004 / 200 = 1.25 mm/s, otherwise the PCO will not work properly. How to determine PCO encoder frequency: 1. For AquadB encoder: PCO encoder frequency = Velocity / EncoderResolution 2. For analog interpolated encoder: PCO encoder frequency = Velocity * HardInterpolatorFactor / EncoderScalePitch Example: XML310 stage (EncoderScalePitch=0.004 mm, HardInterpolatorFactor=200). If Velocity=10mm/s => PCO encoder frequency = 10*200/0.004 = 500 kHz 379 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual NOTE This function can be used only with a position encoder. If no position encoder then ERR_UNCOMPATIBLE (-24) is returned. This function is called automatically at controller reboot and at GroupInitialize() execution to set the position compare pulse parameters to default values (PCOPulseWidth to 0.2 µs, EncoderSettlingTime to 0.075 µs). Error codes - ERR_FATAL_INIT (-20) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_UNCOMPATIBLE (-24) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - SUCCESS (0): no error TCL Prototype PositionerPositionComparePulseParametersSet $SocketID $FullPositionerName $PCOPulseWidth $EncoderSettlingTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PCOPulseWidth double Width of PCO pulses (µs) – EncoderSettlingTime double Encoder signal settling time (µs) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 380 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerPositionComparePulseParametersSet (int SocketID, char FullPositionerName[250] , double PCOPulseWidth, double EncoderSettlingTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – PCOPulseWidth double Width of PCO pulses (µs) – EncoderSettlingTime double Encoder signal settling time (µs) int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerPositionComparePulseParametersSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal PCOPulseWidth As Double, ByVal EncoderSettlingTime As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PCOPulseWidth double Width of PCO pulses (µs) – EncoderSettlingTime double Encoder signal settling time (µs) long Function error code Output parameters – None Return – Error 381 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerPositionComparePulseParametersSet (int32 SocketID, cstring FullPositionerName, double PCOPulseWidth, EncoderSettlingTime) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – PCOPulseWidth double Width of PCO pulses (µs) – EncoderSettlingTime double Encoder signal settling time (µs) int32 Function error code Return – Error Python Prototype [Error] PositionerPositionComparePulseParametersSet (integer SocketID, string FullPositionerName, double PCOPulseWidth, double EncoderSettlingTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – PCOPulseWidth double Width of PCO pulses (µs) – EncoderSettlingTime double Encoder signal settling time (µs) int Function error code Return – Error EDH0305En1051 — 08/15 382 XPS-Q8 Controller Programmer’s Manual 2.2.4.74 PositionerPositionCompareScanAccelerationLimitGet Name PositionerPositionCompareScanAccelerationLimitGet – Get the position compare scan acceleration limit. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check the corrector type (must be PIDFFAcceleration corrector): ERR_UNCOMPATIBLE (-24) Description This function returns the position compare scan acceleration limit. During scan of position compare, the motor output will be limited to this value instead of the AccelerationLimit. The position compare scan acceleration limit takes effect only with PIDFFAcceleration corrector type. This function can be used only with a PIDFFAcceleration corrector else ERR_UNCOMPATIBLE is returned. For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 383 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerPositionCompareScanAccelerationLimitGet $SocketID $FullPositionerName ScanAccelerationLimit Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name Output parameters – ScanAccelerationLimit double Limit of position compare scan acceleration (units/s2) Return – Error int TCL error code (0=success or 1=syntax error) or function error code C/C++ Prototype int PositionerPositionCompareScanAccelerationLimitGet (int SocketID, char FullPositionerName[250] , double* ScanAccelerationLimit) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name Output parameters – ScanAccelerationLimit double * Limit of position compare scan acceleration (units/s2) Return – Error int Function error code Visual Basic Prototype Long PositionerPositionCompareScanAccelerationLimitGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ScanAccelerationLimit As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name Output parameters – ScanAccelerationLimit double Limit of position compare scan acceleration (units/s2) Return – Error EDH0305En1051 — 08/15 long 384 Function error code XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, ScanAccelerationLimit] PositionerPositionCompareScanAccelerationLimitGet (int32 SocketID, cstring FullPositionerName) Input parameter – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error – ScanAccelerationLimit double Limit of position compare scan acceleration (units/s2) Python Prototype [Error, ScanAccelerationLimit] PositionerPositionCompareScanAccelerationLimitGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error – ScanAccelerationLimit double 385 Limit of position compare scan acceleration (units/s2) EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.75 PositionerPositionCompareScanAccelerationLimitSet Name PositionerPositionCompareScanAccelerationLimitSet – Sets the position compare acceleration limit. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the corrector type (must be PIDFFAcceleration corrector): ERR_UNCOMPATIBLE (-24) - Check input parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - PositionCompareScanAccelerationLimit value must > 0 and <= MaximumAcceleration (value in stages.ini) Description This function sets the position compare scan acceleration limit. During position compare, the motor output will be limited to this value instead of AccelerationLimit. The position compare scan acceleration limit takes effect only with PIDFFAcceleration corrector type. This function can be used only with a PIDFFAcceleration corrector otherwise ERR_UNCOMPATIBLE is returned. For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_UNCOMPATIBLE (-24) - SUCCESS (0): no error 386 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerPositionCompareScanAccelerationLimitSet $SocketID $FullPositionerName $ScanAccelerationLimit Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ScanAccelerationLimit double Limit of position compare scan acceleration (units/s2) Output parameters – None Return – Error int TCL error code (0 = success or 1 = syntax error) or function error code C/C++ Prototype int PositionerPositionCompareScanAccelerationLimitSet (int SocketID, char FullPositionerName[250] , double ScanAccelerationLimit) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ScanAccelerationLimit double Limit of position compare scan acceleration (units/s2) Output parameters – None Return – Error int 387 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerPositionCompareScanAccelerationLimitSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ScanAccelerationLimit As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ScanAccelerationLimit double Limit of position compare scan acceleration (units/s2) Output parameters – None Return – Error long Function error code Matlab Prototype [Error] PositionerPositionCompareScanAccelerationLimitSet (int32 SocketID, cstring FullPositionerName, double ScanAccelerationLimit) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ScanAccelerationLimit double Limit of position compare scan acceleration (units/s2) Return – Error int32 Function error code Python Prototype [Error] PositionerPositionCompareScanAccelerationLimitSet (integer SocketID, string FullPositionerName, double ScanAccelerationLimit) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ScanAccelerationLimit double Limit of position compare scan acceleration (units/s2) Return – Error EDH0305En1051 — 08/15 int 388 Function error code XPS-Q8 Controller Programmer’s Manual 2.2.4.76 PositionerPositionCompareAquadBAlwaysEnable Name PositionerPositionCompareAquadBAlwaysEnable – Enables the AquadB signal in the always mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check if the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) Description This function enables the generation of AquadB output signals on the PCO connector (the 2&3 or 4&5 pins) of the XPS controller cards. The “always” mode means that the AquadB signal is generated all the time (not position windowed). NOTE This function can be used only with a position encoder. If there is no position encoder then ERR_UNCOMPATIBLE (-24) is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_UNCOMPATIBLE (-24) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - SUCCESS (0): no error 389 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerPositionCompareAquadBAlwaysEnable $SocketID $FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerPositionCompareAquadBAlwaysEnable (int SocketID, char FullPositionerName[250]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerPositionCompareAquadBAlwaysEnable (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name long Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 390 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerPositionCompareAquadBAlwaysEnable (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error Python Prototype [Error] PositionerPositionCompareAquadBAlwaysEnable (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error 391 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.77 PositionerPositionCompareAquadBWindowedGet Name PositionerPositionCompareAquadBWindowedGet – Gets the windowed AquadB mode parameters and state.. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the position compare parameters (must be configured): ERR_POSITION_COMPARE_NOT_SET (-23) - Check the configured mode type (must be WindowedAquadB): ERR_UNCOMPATIBLE (-24) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_BOOL (-12) Description This function returns the configured parameters of the position windowed AquadB output signal and gives its state (enabled or disabled). Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITION_COMPARE_NOT_SET (-23) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 392 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerPositionCompareAquadBWindowedGet $SocketID $FullPositionerName MinimumPosition MaximumPosition EnableState Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – EnableState bool Windowed AquadB state (true=enabled or false=disabled) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerPositionCompareAquadBWindowedGet (int SocketID, char FullPositionerName[250] , double* MinimumPosition, double* MaximumPosition, bool * EnableState) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – MinimumPosition double * Minimum position (units) – MaximumPosition double * Maximum position (units) – EnableState bool * Windowed AquadB state (true=enabled or false=disabled) int Function error code Output parameters Return – Error 393 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerPositionCompareAquadBWindowedGet (ByVal SocketID As Long, ByVal FullPositionerName As String, MinimumPosition As Double, MaximumPosition As Double, EnableState As Boolean) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – EnableState bool Windowed AquadB state (true=enabled or false=disabled) long Function error code Output parameters Return – Error Matlab Prototype [Error, MinimumPosition, MaximumPosition, EnableState] PositionerPositionCompareAquadBWindowedGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – EnableState bool Windowed AquadB state (true=enabled or false=disabled) Return EDH0305En1051 — 08/15 394 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, MinimumPosition, MaximumPosition, EnableState] PositionerPositionCompareAquadBWindowedGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – EnableState bool Windowed AquadB state (true=enabled or false=disabled) Return 395 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.78 PositionerPositionCompareAquadBWindowedSet Name PositionerPositionCompareAquadBWindowedSet – Sets the windowed AquadB signal parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type: ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (“AquadB” or “AnalogInterpolated”): ERR_UNCOMPATIBLE (-24) - Check input parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - MinimumPosition < MaximumPosition - MinimumPosition >= MinimumTargetPosition - MaximumPosition <= MaximumTargetPosition - Check if the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check position compare state (must be disabled): ERR_NOT_ALLOWED_ACTION (-22) Description This function sets the parameters for the position windowed AquadB output signal on the PCO connector (the 2&3 or 4&5 pins) of the XPS controller cards. These parameters are in effect only when the position compare mode is enabled by the PositionerPositionCompareEnable() function. NOTE This function can be used only with a position encoder (“AquadB” or “AnalogInterpolated”). If there is no position encoder then ERR_UNCOMPATIBLE (-24) is returned. EDH0305En1051 — 08/15 396 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - SUCCESS (0): no error TCL Prototype PositionerPositionCompareAquadBWindowedSet $SocketID $FullPositionerName $MinimumPosition $MaximumPosition Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – None Return – Error 397 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerPositionCompareAquadBWindowedSet (int SocketID, char FullPositionerName[250] , double * MinimumPosition, double * MaximumPosition) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerPositionCompareAquadBWindowedSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal MinimumPosition As Double, ByVal MaximumPosition As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) long Function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 398 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerPositionCompareAquadBWindowedSet (int32 SocketID, cstring FullPositionerName, double MinimumPosition, double MaximumPosition) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) int32 Function error code Return – Error Python Prototype [Error] PositionerPositionCompareAquadBWindowedSet (integer SocketID, string FullPositionerName, double MinimumPosition, double MaximumPosition) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) int Function error code Return – Error 399 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.79 PositionerPreCorrectorExcitationSignalGet Name PositionerPreCorrectorExcitationSignalGet – Returns the currently used parameters of the pre-corrector excitation signal functionality. Input tests - Configuration files reading: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Valid positioner name: ERR_GROUP_NAME (-19) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function gets the last configured pre-corrector excitation signal parameters. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0) : no error 400 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerPreCorrectorExcitationSignalGet SocketID $PositionerName Frequency Amplitude Time Input parameters – SocketID integer Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name (maximum size = 250) – Frequency floating point Frequency (Hz) – Amplitude floating point Amplitude (position unit) – Time floating point During time (seconds) Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int PositionerPreCorrectorExcitationSignalGet (int SocketID, char *PositionerName, double* Frequency, double* Amplitude, double* Time) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * Positioner name – Frequency double * Frequency (Hz) – Amplitude double * Amplitude (position units) – Time double * During time (seconds) Output parameters Return – Function error code 401 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerPreCorrectorExcitationSignalGet (ByVal SocketID As Long, ByVal GroupName As String, Frequency As Double, Amplitude As Double, Time As Double) Input parameters – SocketID Long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName String Positioner name – Frequency Double Frequency (Hz) – Amplitude Double Amplitude (position unit) – Time Double During time (seconds) Output parameters Return – Function error code Matlab Prototype [Error, Frequency, Amplitude, Time] PositionerPreCorrectorExcitationSignalGet (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring Positioner name – Error int32 Function error code – Frequency doublePtr Frequency (Hz) – Amplitude doublePtr Amplitude (position unit) – Time doublePtr During time (seconds) Return EDH0305En1051 — 08/15 402 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, Frequency, Amplitude, Time] PositionerPreCorrectorExcitationSignalGet (integer SocketID, string PositionerName) Input parameters – SocketID integer Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string Positioner name – Error integer Function error code – Frequency doublePtr Frequency (Hz) – Amplitude doublePtr Amplitude (position unit) – Time doublePtr During time (seconds) Return 403 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.80 PositionerPreCorrectorExcitationSignalSet Name PositionerPreCorrectorExcitationSignalSet – Configure and activate the signal of pre-corrector excitation. Input tests - Configuration files reading: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Is secondary positioner or has a secondary positioner: ERR_WRONG_OBJECT_TYPE (-8) - Valid control loop type: ERR_UNCOMPATIBLE (-24) - Valid positioner name: ERR_GROUP_NAME (-19) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check group status (must be READY): ERR_NOT_ALLOWED_ACTION (-22) - Check frequency (must ≥ 0.1 and ≤0.5/CorrectorISRPeriod): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check amplitude (must > 0): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check excitation time (must ≥ 4*CorrectorISRPeriod): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check position (CurrSetpointPos ≤ UserMaximumTargetPosition and CurrSetpointPos-2Amplitude ≥ UserMinimumTargetPosition) : ERR_TRAVEL_LIMITS (-35) - Check maximum velocity (Amplitude * ω < MaximumVelocity): ERR_TRAJ_VEL_LIMIT (-68) - Check maximum acceleration (Amplitude * ω² < MaximumAcceleration): ERR_TRAJ_ACC_LIMIT (-69) Description The pre-corrector excitation signal functionality generates sine-wave signals (ExcitationPosition, ExcitationVelocity, ExcitationAcceleration, ExcitationJerk) inserted in the position control loop (in closed or open loop configuration) to excite the system. In measuring the output signal (eg. encoder position, velocity or acceleration) of the excited system, we can determine some system characteristics, like the system transfer function. The exact forms of generated pre-corrector excitation signals are as follows: ω = 2πF (F: excitation frequency) ExcitationPosition = A*cos(ωt) – A (A: excitation amplitude, t: current time) ExcitationVelocity = (-Aω)*sin(ωt) ExcitationAcceleration = (-Aω²)*cos(ωt) ExcitationJerk = (Aω3)*sin(ωt) The pre-corrector excitation signal functionality is only available with the stages controlled in acceleration (acceleration control, ex: brushless / linear motors), velocity EDH0305En1051 — 08/15 404 XPS-Q8 Controller Programmer’s Manual (velocity control) or in voltage (voltage control). It does not exist with stages controlled in position (ex: stepper motors). The excitation signal function PositionerPreCorrectorExcitationSignalSet can be executed only when the positioner is in “READY” state. When the excitation-signal process is in progression, the positioner is in the “ExcitationSignal” state. At the end of the process, the positioner returns to the “READY” state (see group state diagram). The PositionerPreCorrectorExcitationSignalSet function sends a sine form excitation signal to entry of position control loop during a time. This function is allowed for “PIDFFAcceleration”, “PIDFFVelocity” or “PIDDualFFVoltage” control loops. The parameters to configure include: frequency (Hz, double), amplitude (position unit, double) and during time (seconds, double). The function effective parameters are : Frequency (≥ 0.1 and ≤ 0.5/CorrectorISRPeriod), Amplitude (> 0), Time (≥ 4*CorrectorISRPeriod). NOTE If during the excitation signal generation the stage position exceeds the user minimum or maximum target positions, the motor excitation command is stopped and an error is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_TRAVEL_LIMITS (-35) - ERR_TRAJ_VEL_LIMIT (-68) - ERR_TRAJ_ACC_LIMIT (-69) - ERR_EXCITATION_SIGNAL_INITIALIZATION (-112) - SUCCESS (0) : no error 405 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerPreCorrectorExcitationSignalSet SocketID $PositionerName $Frequency $Amplitude $Time Input parameters – SocketID integer Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name (maximum size = 250) – Frequency floating point Frequency (Hz) – Amplitude floating point Amplitude (position unit) – Time floating point During time (seconds) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int PositionerPreCorrectorExcitationSignalSet (int SocketID, char *PositionerName, double Frequency, double Amplitude, double Time) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * Positioner name – Frequency double Frequency (Hz) – Amplitude double Amplitude (position unit) – Time double During time (seconds) Output parameters – None Return – Function error code EDH0305En1051 — 08/15 406 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerPreCorrectorExcitationSignalSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal Frequency As Double, ByVal Amplitude As Double, ByVal Time As Double) Input parameters – SocketID Long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName String Positioner name – Frequency Double Frequency (Hz) – Amplitude double Amplitude (position unit) – Time Double During time (seconds) Output parameters – None Return – Function error code Matlab Prototype [Error] PositionerPreCorrectorExcitationSignalSet (int32 SocketID, cstring PositionerName, Frequency, Amplitude, Time) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring Positioner name – Frequency double Frequency (Hz) – Amplitude double Amplitude (position unit) – Time double During time (seconds) int32 Function error code Return – Error 407 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerPreCorrectorExcitationSignalSet (integer SocketID, string PositionerName, Frequency, Amplitude, Time) Input parameters – SocketID integer Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string Positioner name – Frequency double Frequency (Hz) – Amplitude double Amplitude (position unit) – Time double During time (seconds) integer Function error code Return – Error EDH0305En1051 — 08/15 408 XPS-Q8 Controller Programmer’s Manual 2.2.4.81 PositionerRawEncoderPositionGet Name PositionerRawEncoderPositionGet – Returns the raw encoder position for a positioner. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Valid positioner name: ERR_GROUP_NAME (-19) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the raw encoder position from a corrected position for a positioner. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerRawEncoderPositionGet SocketID PositionerName UserEncoderPosition RawEncoderPosition Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name (maximum size = 250) – UserEncoderPosition floating point User corrected encoder position floating point Raw encoder position Output parameters – RawEncoderPosition Return – TCL error code (0 = success or 1 = syntax error) or Function error code 409 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerRawEncoderPositionGet (int SocketID, char * PositionerName, double UserEncoderPosition, double * RawEncoderPosition) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * Positioner name – UserEncoderPosition double User corrected encoder position double * Raw encoder position Output parameters – RawEncoderPosition Return – Function error code Visual Basic Prototype Long PositionerRawEncoderPositionGet (ByVal SocketID As Long, ByVal PositionerName As String, ByVal UserEncoderPosition As Double, RawEncoderPosition As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name – UserEncoderPosition double User corrected encoder position double Raw encoder position Output parameters – RawEncoderPosition Return – Function error code Matlab Prototype [Error, RawEncoderPosition] PositionerRawEncoderPositionGet (int32 SocketID, cstring PositionerName, double UserEncoderPosition) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring Positioner name – UserEncoderPosition double User corrected encoder position – Error int32 Function error code – RawEncoderPosition doubletPtr Raw encoder position Return EDH0305En1051 — 08/15 410 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, RawEncoderPosition] PositionerRawEncoderPositionGet (integer SocketID, string PositionerName, double UserEncoderPosition) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string Positioner name – UserEncoderPosition double User corrected encoder position – Error int Function error code – RawEncoderPosition doubletPtr Raw encoder position Return 411 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.82 PositionersEncoderIndexDifferenceGet Name PositionersEncoderIndexDifferenceGet – Gets the distance between the two index encoders (gantry). Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a SingleAxis or an XY): ERR_WRONG_OBJECT_TYPE (-8) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the positioner type (must be “gantry”): ERR_UNCOMPATIBLE (-24) - Check the positioner was at least once homed: ERR_NEED_TO_BE_HOMED_AT_LEAST_ONCE (-109) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the distance between the two encoders indexes of a “primary positioner – secondary positioner” couple. To use this function, the positioner must be configured in “gantry” mode else ERR_UNCOMPATIBLE (-24) is returned. For further information about gantry mode, refer to the “SYSTEM – Manual Configuration – Gantries (Secondary Positioners)” section in the XPS user’s manual. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NEED_TO_BE_HOMED_AT_LEAST_ONCE (-109) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 412 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionersEncoderIndexDifferenceGet $SocketID $FullPositionerName Distance Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Distance between the two index encoders (units) int TCL error code (0=success or 1=syntax error) or function error code Output parameters – Distance Return – Error C/C++ Prototype int PositionersEncoderIndexDifferenceGet (int SocketID, char FullPositionerName[250] , double* Distance) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name double * Distance between the two index encoders (units) int Function error code Output parameters – Distance Return – Error Visual Basic Prototype Long PositionersEncoderIndexDifferenceGet (ByVal SocketID As Long, ByVal FullPositionerName As String, Distance As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Distance between the two index encoders (units) long Function error code Output parameters – Distance Return – Error 413 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, Distance] PositionersEncoderIndexDifferenceGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – Distance double Distance between the two index encoders (units) Return Python Prototype [Error, Distance] PositionersEncoderIndexDifferenceGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – Distance double Distance between the two index encoders (units) Return EDH0305En1051 — 08/15 414 XPS-Q8 Controller Programmer’s Manual 2.2.4.83 PositionerSGammaExactVelocityAjustedDisplacementGet Name PositionerSGammaExactVelocityAjustedDisplacementGet – Gets the adjusted displacement to get exact velocity. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the profiler type (must be “SGamma”): ERR_WRONG_OBJECT_TYPE (8) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the closest optimum displacement to obtain the most precise velocity during the displacement. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerSGammaExactVelocityAjustedDisplacementGet $SocketID $FullPositionerName $DesiredDisplacement AdjustedDisplacement Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – DesiredDisplacement double Desired displacement (units) – AdjustedDisplacement double Ajusted displacement (units) Output parameters Return – Error int 415 TCL error code (0=success or 1=syntax error) or function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerSGammaExactVelocityAjustedDisplacementGet (int SocketID, char FullPositionerName[250] , double DesiredDisplacement, double * AdjustedDisplacement) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – DesiredDisplacement double Desired displacement (units) Output parameters – AdjustedDisplacement double * Ajusted displacement (units) Return – Error int Function error code Visual Basic Prototype Long PositionerSGammaExactVelocityAjustedDisplacementGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal DesiredDisplacement As Double, AdjustedDisplacement As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – DesiredDisplacement double Desired displacement (units) – AdjustedDisplacement double Ajusted displacement (units) Output parameters Return – Error EDH0305En1051 — 08/15 long 416 Function error code XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, AdjustedDisplacement] PositionerSGammaExactVelocityAjustedDisplacementGet (int32 SocketID, cstring FullPositionerName, double DesiredDisplacement) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – DesiredDisplacement double Desired displacement (units) int32 Function error code Return – Error – AdjustedDisplacement double Ajusted displacement (units) Python Prototype [Error, AdjustedDisplacement] PositionerSGammaExactVelocityAjustedDisplacementGet (integer SocketID, string FullPositionerName, double DesiredDisplacement) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – DesiredDisplacement double Desired displacement (units) int Function error code Return – Error – AdjustedDisplacement double 417 Ajusted displacement (units) EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.84 PositionerSGammaParametersSet Name PositionerSGammaParametersSet – Sets new motion values for the SGamma profiler. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the profiler type (must be “SGamma”): ERR_WRONG_OBJECT_TYPE (8) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter types: ERR_WRONG_TYPE_DOUBLE (-14) - Check input parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - 0 < NewVelocity ≤ MaximumVelocity - 0 < NewAcceleration ≤ MaximumAcceleration - 2 * ISRProfileGeneratorPeriod ≤ NewMinimumJerkTime ≤ NewMaximumJerkTime - (with ISRProfileGeneratorPeriod = 0.0004 ms) Description This function defines the new SGamma profiler values that will be used in future displacements. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 418 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerSGammaParametersSet $SocketID $FullPositionerName $Velocity $Acceleration $MinimumJerkTime $MaximumJerkTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Velocity double motion velocity (units/seconds) – Acceleration double motion acceleration (units/seconds²) – MinimumJerkTime double Minimum jerk time (seconds) – MaximumJerkTime double Maximum jerk time (seconds) int TCL error code (0=success or 1=syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerSGammaParametersSet (int SocketID, char FullPositionerName[250] , double Velocity, double Acceleration, double MinimumJerkTime, double MaximumJerkTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – Velocity double motion velocity (units/seconds) – Acceleration double motion acceleration (units/seconds²) – MinimumJerkTime double Minimum jerk time (seconds) – MaximumJerkTime double Maximum jerk time (seconds) int Function error code Output parameters – None Return – Error 419 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerSGammaParametersSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal Velocity As Double, ByVal Acceleration As Double, ByVal MinimumJerkTime As Double, ByVal MaximumJerkTime As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Velocity double motion velocity (units/seconds) – Acceleration double motion acceleration (units/seconds²) – MinimumJerkTime double Minimum jerk time (seconds) – MaximumJerkTime double Maximum jerk time (seconds) long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerSGammaParametersSet (int32 SocketID, cstring FullPositionerName, double Velocity, double Acceleration, double MinimumJerkTime, double MaximumJerkTime) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Velocity double motion velocity (units/seconds) – Acceleration double motion acceleration (units/seconds²) – MinimumJerkTime double Minimum jerk time (seconds) – MaximumJerkTime double Maximum jerk time (seconds) int32 Function error code Return – Error EDH0305En1051 — 08/15 420 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerSGammaParametersSet (integer SocketID, string FullPositionerName, double Velocity, double Acceleration, double MinimumJerkTime, double MaximumJerkTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Velocity double motion velocity (units/seconds) – Acceleration double motion acceleration (units/seconds²) – MinimumJerkTime double Minimum jerk time (seconds) – MaximumJerkTime double Maximum jerk time (seconds) int Function error code Return – Error 421 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.85 PositionerSGammaParametersGet Name PositionerSGammaParametersGet – Gets the current motion values from the SGamma profiler. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the profiler type (must be “SGamma”): ERR_WRONG_OBJECT_TYPE (8) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter types: ERR_WRONG_TYPE_DOUBLE (-14) Description This function gets the current SGamma profiler values that are used in displacements. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 422 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerSGammaParametersGet $SocketID $FullPositionerName Velocity Acceleration MinimumJerkTime MaximumJerkTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Velocity double motion velocity (units/seconds) – Acceleration double motion acceleration (units/seconds²) – MinimumJerkTime double Minimum jerk time (seconds) – MaximumJerkTime double Maximum jerk time (seconds) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerSGammaParametersGet (int SocketID, char FullPositionerName[250] , double * Velocity, double * Acceleration, double * MinimumJerkTime, double * MaximumJerkTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – Velocity double * motion velocity (units/seconds) – Acceleration double * motion acceleration (units/seconds²) – MinimumJerkTime double * Minimum jerk time (seconds) – MaximumJerkTime double * Maximum jerk time (seconds) int Function error code Output parameters Return – Error 423 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerSGammaParametersGet (ByVal SocketID As Long, ByVal FullPositionerName As String, Velocity As Double, Acceleration As Double, MinimumJerkTime As Double, MaximumJerkTime As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Velocity double motion velocity (units/seconds) – Acceleration double motion acceleration (units/seconds²) – MinimumJerkTime double Minimum jerk time (seconds) – MaximumJerkTime double Maximum jerk time (seconds) long Function error code Output parameters Return – Error Matlab Prototype [Error, Velocity, Acceleration, MinimumJerkTime, MaximumJerkTime] PositionerSGammaParametersGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – Velocity double motion velocity (units/seconds) – Acceleration double motion acceleration (units/seconds²) – MinimumJerkTime double Minimum jerk time (seconds) – MaximumJerkTime double Maximum jerk time (seconds) Return EDH0305En1051 — 08/15 424 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, Velocity, Acceleration, MinimumJerkTime, MaximumJerkTime] PositionerSGammaParametersGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – Velocity double motion velocity (units/seconds) – Acceleration double motion acceleration (units/seconds²) – MinimumJerkTime double Minimum jerk time (seconds) – MaximumJerkTime double Maximum jerk time (seconds) Return 425 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.86 PositionerSGammaPreviousMotionTimesGet Name PositionerSGammaPreviousMotionTimesGet – Gets the motion and the settling time. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the profiler type (must be “SGamma”): ERR_WRONG_OBJECT_TYPE (8) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter types: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the motion (setting) and settling times from the previous motion. The motion time represents the defined time to complete the previous displacement. The settling time represents the effective settling time for a motion done. Error codes - ERR_FATAL_INIT (-20 - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype PositionerSGammaPreviousMotionTimesGet $SocketID $FullPositionerName SettingTime SettlingTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – SettingTime double Setting time (seconds) – SettlingTime double settling time (seconds) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error EDH0305En1051 — 08/15 426 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerSGammaPreviousMotionTimesGet (int SocketID, char FullPositionerName[250] , double* SettingTime, double* SettlingTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – SettingTime double * Setting time (seconds) – SettlingTime double * settling time (seconds) int Function error code Output parameters Return – Error Visual Basic Prototype Long PositionerSGammaPreviousMotionTimesGet (ByVal SocketID As Long, ByVal FullPositionerName As String, SettingTime As Double, SettlingTime As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – SettingTime double Setting time (seconds) – SettlingTime double Settling time (seconds) long Function error code Output parameters Return – Error Matlab Prototype [Error, SettingTime, SettlingTime] PositionerSGammaPreviousMotionTimesGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – SettingTime double Setting time (seconds) – SettlingTime double Settling time (seconds) Return 427 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, SettingTime, SettlingTime] PositionerSGammaPreviousMotionTimesGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – SettingTime double Setting time (seconds) – SettlingTime double Settling time (seconds) Return EDH0305En1051 — 08/15 428 XPS-Q8 Controller Programmer’s Manual 2.2.4.87 PositionerStageParameterGet Name PositionerStageParameterGet – Gets a stage parameter value from the stages.ini file. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input/output parameter types: ERR_WRONG_TYPE_CHAR (-13) - Check the positioner name and the parameter name: ERR_UNCOMPATIBLE (-24) Description This function returns stage parameter values from the stages.ini file of a selected positioner. The positioner name is the stage name. And the parameter name is read in the section under this stage name. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error TCL Prototype PositionerStageParameterGet $SocketID $FullPositionerName $ParameterName ParameterValue Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterName string Parameter name string Parameter value int TCL error code (0=success or 1=syntax error) or function error code Output parameters – ParameterValue Return – Error 429 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerStageParameterGet (int SocketID, char FullPositionerName[250] , char * ParameterName, char * ParameterValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ParameterName char * Parameter name char * Parameter value int Function error code Output parameters – ParameterValue Return – Error Visual Basic Prototype Long PositionerStageParameterGet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ParameterName As String, ByVal ParameterValue As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterName string Parameter name string Parameter value long Function error code Output parameters – ParameterValue Return – Error Matlab Prototype [Error, ParameterValue] PositionerStageParameterGet (int32 SocketID, cstring FullPositionerName, cstring ParameterName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ParameterName cstring Parameter name – Error int32 Function error code – ParameterValue cstring Parameter value Return EDH0305En1051 — 08/15 430 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, ParameterValue] PositionerStageParameterGet (integer SocketID, string FullPositionerName, string ParameterName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterName string Parameter name – Error int Function error code – ParameterValue string Parameter value Return 431 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.88 PositionerStageParameterSet Name PositionerStageParameterSet – Saves a new stage parameter value into the stages.ini file. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input/output parameter types: ERR_WRONG_TYPE_CHAR (-13) - Check the positioner name and the parameter name: ERR_UNCOMPATIBLE (-24) - Check the user rights (must be identified as administrator): ERR_NEED_ADMINISTRATOR_RIGHTS (-107) Description This function saves a new stage parameter value in the “stages.ini” file. The positioner name sets the stage name and the parameter name is searched in the section of this stage name. Once the parameter is found, the parameter value is modified to the new value. If file reading fails then ERR_READ_FILE (-61) is returned If file writing fails then ERR_WRITE_FILE (-60) is returned NOTE To use this function, the user must login with administrator rights (“Login” function). Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NEED_ADMINISTRATOR_RIGHTS (-107) - ERR_READ_FILE (-61) - ERR_UNCOMPATIBLE (-24) - ERR_WRITE_FILE (-60) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error 432 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerStageParameterSet $SocketID $FullPositionerName $ParameterName ParameterValue Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterName string Parameter name string Parameter value int TCL error code (0=success or 1=syntax error) or function error code Output parameters – ParameterValue Return – Error C/C++ Prototype int PositionerStageParameterSet (int SocketID, char FullPositionerName[250] , char * ParameterName, char * ParameterValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – ParameterName char * Parameter name char * Parameter value int Function error code Output parameters – ParameterValue Return – Error 433 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerStageParameterSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal ParameterName As String, ByVal ParameterValue As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterName string Parameter name string Parameter value long Function error code Output parameters – ParameterValue Return – Error Matlab Prototype [Error, ParameterValue] PositionerStageParameterSet (int32 SocketID, cstring FullPositionerName, cstring ParameterName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – ParameterName cstring Parameter name – Error int32 Function error code – ParameterValue cstring Parameter value Return Python Prototype [Error, ParameterValue] PositionerStageParameterSet (integer SocketID, string FullPositionerName, string ParameterName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – ParameterName string Parameter name – Error int Function error code – ParameterValue string Parameter value Return EDH0305En1051 — 08/15 434 XPS-Q8 Controller Programmer’s Manual 2.2.4.89 PositionerTimeFlasherDisable Name PositionerTimeFlasherDisable – Disables the time flasher mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) Description This function disables the time flasher mode. The time flasher mode is a trigger output per axis that can be either configured to output distance spaced pulses or time spaced pulses. The output pulses are accessible from the PCO connector at the back of the XPS controller. For a more thorough description of the position compare output, please refer to the XPS User’s manual, section named Triggers/Position Compare Output. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_OBJECT_TYPE (-8) - SUCCESS (0): no error TCL Prototype PositionerTimeFlasherDisable $SocketID $FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int TCL error code (0=success or 1=syntax error) or function error code Output parameters – None Return – Error 435 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerTimeFlasherDisable (int SocketID, char FullPositionerName[250]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerTimeFlasherDisable (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerTimeFlasherDisable (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error EDH0305En1051 — 08/15 436 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] PositionerTimeFlasherDisable (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error 437 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.90 PositionerTimeFlasherEnable Name PositionerTimeFlasherEnable – Enables the time flasher mode. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the time flasher parameters (must be configured): ERR_NOT_ALLOWED_ACTION (-22) Description This function enables the time flasher mode. The time flasher mode is a trigger output per axis that can be either configured to output distance spaced pulses or time spaced pulses. The output pulses are accessible from the PCO connector at the back of the XPS controller. To use this function, the group must be in READY state else ERR_NOT_ALLOWED_ACTION (-22) is returned. For a more thorough description of the position compare output, please refer to the XPS User’s manual, section named Triggers/Position Compare Output. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_OBJECT_TYPE (-8) - SUCCESS (0): no error 438 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerTimeFlasherEnable $SocketID $FullPositionerName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int TCL error code (0=success or 1=syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerTimeFlasherEnable (int SocketID, char FullPositionerName[250]) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerTimeFlasherEnable (ByVal SocketID As Long, ByVal FullPositionerName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name long Function error code Output parameters – None Return – Error 439 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerTimeFlasherEnable (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name int32 Function error code Return – Error Python Prototype [Error] PositionerTimeFlasherEnable (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name int Function error code Return – Error EDH0305En1051 — 08/15 440 XPS-Q8 Controller Programmer’s Manual 2.2.4.91 PositionerTimeFlasherGet Name PositionerTimeFlasherGet – Gets the time flasher parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter types: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_BOOL (-12) - Check the time flasher parameters (must be configured): ERR_POSITION_COMPARE_NOT_SET (-23) - Check the configured mode type (must be TimeFlasher): ERR_UNCOMPATIBLE (-24) Description This function returns the parameters of the time flasher trigger. The time flasher mode is defined by: a position window defined by a minimum position and a maximum position a time period to set the time spaced pulses. For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITION_COMPARE_NOT_SET (-23) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_BOOL (-12) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 441 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerTimeFlasherGet $SocketID $FullPositionerName MinimumPosition MaximumPosition TimePeriod EnableState Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – TimePeriod double Time period (seconds) – EnableState bool Enable time flasher state (true=enabled and false=disabled) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error C/C++ Prototype int PositionerTimeFlasherGet (int SocketID, char FullPositionerName[250] , double * MinimumPosition, double * MaximumPosition, double * TimePeriod, bool * EnableState) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – MinimumPosition double * Minimum position (units) – MaximumPosition double * Maximum position (units) – TimePeriod double * Time period (seconds) – EnableState bool * Enable time flasher state (true=enabled and false=disabled) int Function error code Output parameters Return – Error EDH0305En1051 — 08/15 442 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerTimeFlasherGet (ByVal SocketID As Long, ByVal FullPositionerName As String, MinimumPosition As Double, MaximumPosition As Double, TimePeriod As Double, EnableState As Boolean) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – TimePeriod double Time period (seconds) – EnableState bool Enable time flasher state (true=enabled and false=disabled) long Function error code Output parameters Return – Error Matlab Prototype [Error, MinimumPosition, MaximumPosition, TimePeriod, EnableState] PositionerTimeFlasherGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – TimePeriod double Time period (seconds) – EnableState bool Enable time flasher state (true=enabled and false=disabled) Return 443 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, MinimumPosition, MaximumPosition, TimePeriod, EnableState] PositionerTimeFlasherGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – TimePeriod double Time period (seconds) – EnableState bool Enable time flasher state (true=enabled and false=disabled) Return EDH0305En1051 — 08/15 444 XPS-Q8 Controller Programmer’s Manual 2.2.4.92 PositionerTimeFlasherSet Name PositionerTimeFlasherSet – Sets the time flasher parameters. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check the position encoder (must be used): ERR_UNCOMPATIBLE (-24) - Check input parameter types: ERR_WRONG_TYPE_DOUBLE (-14) - Check if the CIE board supports this function: ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - Check the time flasher state (must be disabled): ERR_NOT_ALLOWED_ACTION (-22) - Check input parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - MinimumPosition < MaximumPosition - MinimumPosition >= MinimumTravelLimit - MaximumPosition <= MaximumTravelLimit - 0.0000004 <= TimePeriod <= 50.0 (Max 2.5 MHz and Min 0.02 Hz) Description This function configures the time flasher parameters. The time flasher output trigger uses the PCO connector on the XPS controller cards. The time flasher mode is defined by: a position window defined by a minimum position and a maximum position a time period to set the time spaced pulses. NOTES This function is not available without a position encoder. These parameters are used only when the time flasher mode is enabled. To enable the time flasher mode, use the “PositionerPositionCompareEnable” function. For a more thorough description of the position compare output, please refer to the XPS Motion Tutorial section Triggers/Position Compare Output. 445 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_UNCOMPATIBLE (-24) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_HARDWARE_FUNCTION_NOT_SUPPORTED (-115) - SUCCESS (0): no error TCL Prototype PositionerTimeFlasherSet $SocketID $FullPositionerName $MinimumPosition $MaximumPosition $TimePeriod Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – TimePeriod double Time period (seconds) int TCL error code (0=success or 1=syntax error) or function error code Output parameters – None Return – Error EDH0305En1051 — 08/15 446 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerTimeFlasherSet (int SocketID, char FullPositionerName[250] , double * MinimumPosition, double * MaximumPosition, double * TimePeriod, bool * EnableState) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – MinimumPosition double * Minimum position (units) – MaximumPosition double * Maximum position (units) – TimePeriod double * Time period (seconds) int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerTimeFlasherSet (ByVal SocketID As Long, ByVal FullPositionerName As String, MinimumPosition As Double, MaximumPosition As Double, TimePeriod As Double, EnableState As Boolean) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – TimePeriod double Time period (seconds) long Function error code Output parameters – None Return – Error 447 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerTimeFlasherSet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – TimePeriod double Time period (seconds) int32 Function error code Return – Error Python Prototype [Error] PositionerTimeFlasherSet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – TimePeriod double Time period (seconds) int Function error code Return – Error EDH0305En1051 — 08/15 448 XPS-Q8 Controller Programmer’s Manual 2.2.4.93 PositionerUserTravelLimitsGet Name PositionerUserTravelLimitsGet – Gets the user travel limits. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter types: ERR_WRONG_TYPE_DOUBLE (-14) - If piezo driver, check if driver is not initialized: ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) Description This function returns the user-defined travel limits for the selected positioner. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) - SUCCESS (0): no error TCL Prototype PositionerUserTravelLimitsGet $SocketID $FullPositionerName UserMinimumTarget UserMaximumTarget Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – UserMinimumTarget double User minimum travel limit (units) – UserMaximumTarget double User maximum travel limit (units) int TCL error code (0=success or 1=syntax error) or function error code Output parameters Return – Error 449 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int PositionerUserTravelLimitsGet (int SocketID, char FullPositionerName[250] , double * UserMinimumTarget, double * UserMaximumTarget) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – UserMinimumTarget double * User minimum travel limit (units) – UserMaximumTarget double * User maximum travel limit (units) int Function error code Output parameters Return – Error Visual Basic Prototype Long PositionerUserTravelLimitsGet (ByVal SocketID As Long, ByVal FullPositionerName As String, UserMinimumTarget As Double, UserMaximumTarget As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – UserMinimumTarget double User minimum travel limit (units) – UserMaximumTarget double User maximum travel limit (units) long Function error code Output parameters Return – Error EDH0305En1051 — 08/15 450 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, UserMinimumTarget, UserMaximumTarget] PositionerUserTravelLimitsGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – UserMinimumTarget double User minimum travel limit (units) – UserMaximumTarget double User maximum travel limit (units) Return Python Prototype [Error, UserMinimumTarget, UserMaximumTarget] PositionerUserTravelLimitsGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – UserMinimumTarget double User minimum travel limit (units) – UserMaximumTarget double User maximum travel limit (units) Return 451 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.94 PositionerUserTravelLimitsSet Name PositionerUserTravelLimitsSet – Sets the user travel limits. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner type (must not be a secondary positioner): ERR_WRONG_OBJECT_TYPE (-8) - Check output parameter types: ERR_WRONG_TYPE_DOUBLE (-14) - Check input parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - UserMinimumTargetPosition < UserMaximumTargetPosition - MinimumTargetPosition <= UserMinimumTargetPosition <= MaximumTargetPosition - MinimumTargetPosition <= UserMaximumTargetPosition <= MaximumTargetPosition - UserMinimumTargetPosition <= ProfilerPosition - UserMaximumTargetPosition >= ProfilerPosition - If piezo driver, check if driver is not initialized: ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) Description This function sets the new user travel limits of the selected positioner. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) - SUCCESS (0): no error 452 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerUserTravelLimitsSet $SocketID $FullPositionerName $UserMinimumTarget $UserMaximumTarget Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – UserMinimumTarget double User minimum travel limit (units) – UserMaximumTarget double User maximum travel limit (units) int TCL error code (0=success or 1=syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerUserTravelLimitsSet (int SocketID, char FullPositionerName[250] , double UserMinimumTarget, double UserMaximumTarget) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – UserMinimumTarget double User minimum travel limit (units) – UserMaximumTarget double User maximum travel limit (units) int Function error code Output parameters – None Return – Error 453 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long PositionerUserTravelLimitsSet (ByVal SocketID As Long, ByVal FullPositionerName As String, ByVal UserMinimumTarget As Double, ByVal UserMaximumTarget As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – UserMinimumTarget double User minimum travel limit (units) – UserMaximumTarget double User maximum travel limit (units) long Function error code Output parameters – None Return – Error Matlab Prototype [Error] PositionerUserTravelLimitsSet (int32 SocketID, cstring FullPositionerName, double UserMinimumTarget, double UserMaximumTarget) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – UserMinimumTarget double User minimum travel limit (units) – UserMaximumTarget double User maximum travel limit (units) int32 Function error code Return – Error Python Prototype [Error] PositionerUserTravelLimitsSet (integer SocketID, string FullPositionerName, double UserMinimumTarget, double UserMaximumTarget) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – UserMinimumTarget double User minimum travel limit (units) – UserMaximumTarget double User maximum travel limit (units) int Function error code Return – Error EDH0305En1051 — 08/15 454 XPS-Q8 Controller Programmer’s Manual 2.2.4.95 PositionerWarningFollowingErrorGet Name PositionerWarningFollowingErrorGet – Returns the warning following error for a positioner. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function gets the current value of the warning following error for a positioner. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 455 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerWarningFollowingErrorGet $SocketID $FullPositionerName WarningFollowingError Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function double Warning following error (units) int TCL error code (0=success or 1=syntax error) or function error code Output parameters – WarningFollowingError Return – Error C/C++ Prototype int PositionerWarningFollowingErrorGet (int SocketID, char FullPositionerName[250] , double * WarningFollowingError) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name Output parameters – WarningFollowingError double * Warning following error (units) Return – Error int Function error code Visual Basic Prototype Long PositionerWarningFollowingErrorGet (ByVal SocketID As Long, ByVal FullPositionerName As String, WarningFollowingError As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name double Warning following error (units) long Function error code Output parameters – WarningFollowingError Return – Error EDH0305En1051 — 08/15 456 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, WarningFollowingError] PositionerWarningFollowingErrorGet (int32 SocketID, cstring FullPositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – Error int32 Function error code – WarningFollowingError double Warning following error limit (units) Return Python Prototype [Error, WarningFollowingError] PositionerWarningFollowingErrorGet (integer SocketID, string FullPositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – Error int Function error code – WarningFollowingError double Warning following error (units) Return 457 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.2.4.96 PositionerWarningFollowingErrorSet Name PositionerWarningFollowingErrorSet – Sets value of the warning following error for a positioner. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check input parameter values: ERR_PARAMETER_OUT_OF_RANGE (-17) - 0 < WarningFollowingError <= FatalFollowingError Description This function sets a new value of the warning following error for a positioner. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_PARAMETER_OUT_OF_RANGE (-17) - SUCCESS (0): no error 458 XPS-Q8 Controller Programmer’s Manual TCL Prototype PositionerWarningFollowingErrorSet $SocketID $FullPositionerName $WarningFollowingError Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – WarningFollowingError double Warning following error (units) int TCL error code (0=success or 1=syntax error) or function error code Output parameters – None Return – Error C/C++ Prototype int PositionerWarningFollowingErrorSet (int SocketID, char FullPositionerName[250] , double WarningFollowingError) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName char * Positioner name – WarningFollowingError double Warning following error (units) int Function error code Output parameters – None Return – Error Visual Basic Prototype Long PositionerWarningFollowingErrorSet (ByVal SocketID As Long, ByVal FullPositionerName As String, WarningFollowingError As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – WarningFollowingError double Warning following error (units) long Function error code Output parameters – None Return – Error 459 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] PositionerWarningFollowingErrorSet (int32 SocketID, cstring FullPositionerName, double WarningFollowingError) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName cstring Positioner name – WarningFollowingError double Warning following error (units) int32 Function error code Return – Error Python Prototype [Error] PositionerWarningFollowingErrorSet (integer SocketID, string FullPositionerName, double WarningFollowingError) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – FullPositionerName string Positioner name – WarningFollowingError double Warning following error (units) int Function error code Return – Error EDH0305En1051 — 08/15 460 XPS-Q8 Controller Programmer’s Manual 2.2.5 Configuration Files Two configuration files are used by the controller: “System.ini” and “Stages.ini”. These configuration files are read during boot of the controller. 1. The system.ref file specifies the hardware configuration and defines general parameters. 2. The system.ini file specifies the system configuration and defines the motion groups used. 3. The stages.ini file defines the stage parameters for all positioners (see “ConfigurationWizard” document to learn about the stage parameters). The stages.ini file must include at least those positioners referenced in the system.ini file, but it might also include positioners that are currently not used by the system. • System.ref file: [GENERAL] HardwareType = XPS ; XPS, SPX or SPS FirmwareName = MainController ExternalModuleNames = XPSRemoteControl ISRBaseFrequency = 12e6 ; Hertz CorrectorISRPeriod = 100e-6 ; seconds IRQDelay = 6e-6 ; seconds DACUpdateDelay = 90e-6 ; seconds ProfileGeneratorISRRatio = 4 ServitudesISRRatio = 10 GatheringBufferSize = 1000000 DelayBeforeStartup = 0 ; seconds ProfilerPriorityOverrunPatch = Disabled ; Disabled or Enabled [AUTOTUNING] VelocityAutoTuningParameters = 20, 10, 15, 0.5, 0.5 VoltageAutoTuningParameters = 15, 10, 15, 0.5, 0.5 AccelerationAutoTuningParameters = 10, 10, 15, 0.5, 0.5, 50, 1000, 750 AccelerationAutoScalingParameters = 10, 15, 5, 5 [FEATURES] CompensationSystemPreFeedForwardMode = Disabled ; Disabled or Enabled CompensationSystemPostFeedForwardMode = Disabled ; Disabled or Enabled 461 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual • System.ini file: NOTE PIDBaseFilter parameter in system.ini file is to be configured only when using the XPS-Qn Precision Platform controller. [GENERAL] BootScriptFileName = BootScriptArguments = ; the separator is the comma [GROUPS] InterlockedGroups = ; list of groups involved in GroupInterlocked mode SingleAxisInUse = SINGLE ; the separator is the comma, eg: S1, S2, … SingleAxisWithClampingInUse = SCLAMP ; Separator is comma, eg: SCL1, SCL2, … SingleAxisThetaInUse = STHETA ; the separator is the comma, eg: ST1, ST2, … SpindleInUse = SPIN ; the separator is the comma, eg: SP1, SP2, … XYInUse = XY ; the separator is the comma, eg: XY1, XY2, … XYZInUse = XYZ ; the separator is the comma, eg: XYZ1, XYZ2, … TZInUse = TZ ; the separator is the comma, eg: TZ1, TZ2, … MultipleAxesInUse = MULTI ; the separator is the comma, eg: M1,M2, … ; --------------------------------------------------------------------------------[SINGLE] PositionerInUse = Positioner [SINGLE. Positioner] PlugNumber = InterferometerPlugNumber = ; If Agilent interferometer is used StageName = MySTAGE ; see “ stages.ini” file ; --- Time flasher TimeFlasherBaseFrequency = ; default value 40e6, must be between 39.5e6 and 40.5e6 Hz ;--- PIDBase filter (take into account the base movements, effective only with PIDFFAcceleration corrector) To be added only when using XPS-Q8 Precision Platform controller PIDBaseFilter = ; Enabled or Disabled MovingMass = ; If PIDBaseFilter = Enabled StaticMass = ; If PIDBaseFilter = Enabled Viscosity = ; If PIDBaseFilter = Enabled Stiffness = ; If PIDBaseFilter = Enabled ; CIE08CompensatedPCO mode CIE08CompensatedPCOMode = Disabled ; Enabled or Disabled ;CIE08CompensatedPCOMaximumDataNumber = 1000000 ; Value <= 1000000 ;--- If Gantry (secondary positioner) EDH0305En1051 — 08/15 SecondaryPositionerGantry = ; Enabled or Disabled SecondaryPlugNumber = ; If SecondaryPositionerGantry = Enabled SecondaryStageName = ; If SecondaryPositionerGantry = Enabled 462 XPS-Q8 Controller Programmer’s Manual SecondaryPositionerGantryEndReferencingPosition = ; If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryEndReferencingTolerance = ; If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryOffsetAfterInitialization = ; If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryMotorEnableDelay = ; seconds, if SecondaryPositionerGantry = Enabled ; -----------------------------------------------------------------------------------------[SPIN] PositionerInUse = Positioner [SPIN.Positioner] …. ; The same lines as in the SINGLE.Positioner section, unless gantry lines …. ; -----------------------------------------------------------------------------------------[SCLAMP] PositionerInUse = Positioner ;--- Clamping ClampInputBit = ; GPIOx.DIy (x=1,y=1..8 or x=2,y=1..6 or x=3,y=1..6 or ; x=4,y=1..16) or NoFeedback (sensor simulation) ClampInputMode = ; NonInverted (clamped if input=1, unclamped if input=0) ; or Inverted (clamped if input=0, unclamped if input=1), ; parameter not needed if ClampInputBit=NoFeedback ClampOutputBit = ; GPIOx.DOy (x=1,y=1..8 or x=3,y=1..6 or x=4,y=1..16) ClampOutputMode = ; NonInverted (output 1 to clamp, output 0 to unclamp) or ; Inverted (output 0 to clamp, output 1 to unclamp) ClampingActivatingTime = ; seconds ClampingActivatingTimeout ; seconds ClampingReleaseTime = ; seconds ClampingReleaseTimeout = ; seconds ClampingPositionOffset = ; units [SCLAMP.Positioner] …. ; The same lines as in the SINGLE.Positioner section …. ; -----------------------------------------------------------------------------------------[STHETA] PositionerInUse = Positioner ; Theta correction on XY ThetaCorrectionXYGroupName = ThetaCorrectionLowPassCutOffFrequency = ; Hz ; Yaw mapping YawMappingXYGroupName = YawMappingToThetaFileName = 463 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual YawMappingToThetaLineNumber = YawMappingToThetaColumnNumber = YawMappingToThetaMaxPositionError = YawMappingToXFileName = YawMappingToXLineNumber = YawMappingToXColumnNumber = YawMappingToXMaxPositionError = YawMappingToYFileName = YawMappingToYMaxPositionError = YawMappingToYLineNumber = YawMappingToYColumnNumber = ; Clamping ClampRestType = ; Clamped or Unclamped ClampActivatingTime = ; seconds ClampActivatingTimeOut = ; seconds ClampReleaseTime = ; seconds ClampReleaseTimeOut = ; seconds [STHETA.Positioner] …. ; The same lines as in the SINGLE.Positioner section …. ; ------------------------------------------------------------------------------[XY] PositionerInUse = X,Y ; the separator is the comma InitializationAndHomeSearchSequence = ; Together, XThenY or YThenX ; XY gantry motor force XMotorForceBalance = ; Enabled or Disabled YOffsetForForceRatio = ; If XMotorForceBalance = Enabled PrimaryYForceRatio = ; If XMotorForceBalance = Enabled SecondaryYForceRatio = ; If XMotorForceBalance = Enabled ; Mapping X XMappingFileName = ; XYMappingX.map XMappingLineNumber = XMappingColumnNumber = XMappingMaxPositionError = ; Mapping Y YMappingFileName = ; XYMappingY.map YMappingLineNumber = YMappingColumnNumber = YMappingMaxPositionError = [XY. X] …. ; The same lines as in the SINGLE.Positioner section …. EDH0305En1051 — 08/15 464 XPS-Q8 Controller Programmer’s Manual [XY. Y] …. ; The same lines as in the SINGLE.Positioner section …. ; -----------------------------------------------------------------------------------------[XYZ] PositionerInUse = X,Y,Z ; The separator is the comma InitializationAndHomeSearchSequence = ; Together or XThenYThenZ ; Mapping X XMappingFileName = ; XYZMappingX.map XMappingLineNumber = XMappingColumnNumber = XMappingMaxPositionError = ; Mapping Y YMappingFileName = ; XYZMappingY.map YMappingLineNumber = YMappingColumnNumber = YMappingMaxPositionError = ; Mapping Z ZMappingFileName = ; XYZMappingZ.map ZMappingLineNumber = ZMappingColumnNumber = ZMappingMaxPositionError = [XYZ. X] …. ; The same lines as in the SINGLE.Positioner section, unless gantry lines …. [XYZ. Y] …. ; The same lines as in the SINGLE.Positioner section, unless gantry lines …. [XYZ. Z] …. ; The same lines as in the SINGLE.Positioner section, unless gantry lines …. ; -----------------------------------------------------------------------------------------[TZ] PositionerInUse = Z1,Z2,Z3 ; the separator is the comma InitializationAndHomeSearchSequence = ; Together or OneAfterAnother TZDecouplingGainMatrixFileName = ; TZ_decoupling_matrix_filename.txt MaximumZZZTargetDifference = ; Maximum difference between Z target positions (units) [TZ. Z1] …. ; The same lines as in the SINGLE.Positioner section, unless gantry lines 465 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual …. [TZ. Z2] …. ; The same lines as in the SINGLE.Positioner section, unless gantry lines …. [TZ. Z3] …. ; The same lines as in the SINGLE.Positioner section, unless gantry lines …. ; -----------------------------------------------------------------------------------------[MULTI] PositionerInUse = M1,M2,M3,M4 ; From 1 to 8 InitializationAndHomeSearchSequence = ; Together, OneAfterAnother or OneAfterAnotherInReverseOrder [MULTI.M1] …. ; The same lines as in the SINGLE.Positioner section …. [MULTI.M2] …. ; The same lines as in the SINGLE.Positioner section …. [MULTI.M3] …. ; The same lines as in the SINGLE.Positioner section …. [MULTI.M4] …. ; The same lines as in the SINGLE.Positioner section …. • Stages.ini file: [MySTAGE] ;--- Stage SmartStageName = ; Smart stage reference ;--- DRIVER DriverName = ; XPS-DRV00 (pass through board for external driver) ; XPS-DRV00P (pass through board for external driver with PulseDir output) ; XPS-DRV01 (driver for DC servo and stepper motors) ; XPS-DRV02 (driver for 3-phase brushless or linear motors) ; XPS-DRV02P (driver for 3-phase brushless or linear motors) ; XPS-DRVMx (driver for DC motors ) ; XPS-DRV03 (driver for DC motors) ; XPS-DRV03L (driver for DC motors) ; XPS-D3PD6U (high power external driver, using XPS-DRV00P pass-through board). ; XPS-DRVPx (x = 1, 2, … , driver for piezo actuator). EDH0305En1051 — 08/15 466 XPS-Q8 Controller Programmer’s Manual ; If DriverName = XPS-DRV01 driver ; If MotorDriverInterface = AnalogVelocity DriverPWMFrequency = DriverErrorAmplifierGain = DriverTachometerGain= ; If MotorDriverInterface = AnalogVoltage PWMFrequency = ; If MotorDriverInterface = AnalogStepper PWMFrequency = DriverStepperWinding= ; If DriverName = XPS-DRVMx driver (x = 1 to 5) DriverBridgeFreeWheel = DriverBrake = ; If DriverName = XPS-DRV02/XPS-DRV02P driver DriverMotorResistance = DriverMotorInductance = DriverCutOffFrequency = DriverMaximumPeakCurrent = DriverMaximumRMSCurrent = DriverRMSIntegrationTime = DriverThermistanceThreshold = ; If DriverName = XPS-DRV03 driver ; If MotorDriverInterface = AnalogAcceleration DriverMotorResistance = DriverMotorInductance = DriverCurrentCutOffFrequency = DriverMaximumPeakCurrent = DriverMaximumRMSCurrent = DriverRMSIntegrationTime = DriverMaximumMotorVoltage = ; If MotorDriverInterface = AnalogVoltage DriverMaximumRMSCurrent = DriverRMSIntegrationTime = ; If MotorDriverInterface = AnalogVelocity DriverMotorResistance = DriverMotorInductance = DriverCurrentCutOffFrequency = DriverMaximumRMSCurrent = DriverRMSIntegrationTime = DriverMaximumMotorVoltage = DriverVelocityCutOffFrequency = DriverMotorVoltageConstant = DriverTachoGeneratorVoltage = DriverStageInertia = 467 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual DriverGearRatio = ; If DriverName = XPS-DRVPx (x = 1,2, …) piezo driver ; Motor driver interface type MotorDriverInterface = AnalogPositionPiezo ; Limit sensors input plug ServitudesType = Piezo ; Piezo driver parameters DriverNotchFrequency = ; Hz DriverNotchBandwidth = ; Hz DriverNotchGain = ; DriverLowpassFrequency = ; Hz DriverKI = ; DriverFatalFollowingError = ; units DriverStagePositionOffset = ; units DriverTravelCorrection = ; ppm ;--- MOTOR DRIVER INTERFACE MotorDriverInterface = ; AnalogStepperPosition ; AnalogVelocity ; AnalogVoltage ; AnalogAcceleration ; AnalogAccelerationTZ ;// Specific initialization for TZ group ; AnalogSin60Acceleration ; AnalogSin90Acceleration ; AnalogSin120Acceleration ; AnalogDualSin60Acceleration ; AnalogDualSin90Acceleration ; AnalogDualSin120Acceleration ; AnalogPosition ; PulseDir ; PulsePulse ; AnalogSin60AccelerationLMI ; AnalogSin90AccelerationLMI ; AnalogSin120AccelerationLMI ; AnalogPositionPiezo ; If MotorDriverInterface = AnalogVelocity ScalingVelocity = ; unit/s VelocityLimit = ; unit/s ; If MotorDriverInterface = AnalogAcceleration ScalingAcceleration = ; unit/s² AccelerationLimit = ; unit/s² ; If MotorDriverInterface = AnalogVoltage EDH0305En1051 — 08/15 MaximumCurrent = ; amps VoltageLimit = ; volts 468 XPS-Q8 Controller Programmer’s Manual ; If MotorDriverInterface = AnalogPosition MinimumTargetPositionVoltage = ; volts MaximumTargetPositionVoltage = ; volts ; If MotorDriverInterface = AnalogStepperPosition DisplacementPerFullStep = ; units ScalingCurrent = ; amps for 10 volts PeakCurrentPerPhase = ; amps StandbyPeakCurrentPerPhase = ; amps BaseVelocity = ; units/s ; If MotorDriverInterface = PulseDir or PulsePulse DigitalStepperPulseLogic = ; Positive or Negative DigitalStepperDirectionLogic = ; Positive or Negative DisplacementPerFullStep = ; units BaseVelocity = ; units/s ; If MotorDriverInterface = AnalogSin … ScalingAcceleration = ; unit/s² AccelerationLimit = ; unit/s² MagneticTrackPeriod = ; units InitializationAccelerationLevel = ; percent (LMI) InitializationCycleDuration = ; seconds (LMI) ; If MotorDriverInterface = AnalogDualSin … ScalingAcceleration = ; unit/s² AccelerationLimit = ; unit/s² MagneticTrackPeriod = ; units InitializationAccelerationLevel = ; percent InitializationCycleDuration = ; seconds FirstMotorForceBalance = SecondMotorForceBalance = ; If MotorDriverInterface = AnalogPositionPiezo ; nothing ;--- Encoder ; AquadB EncoderType = ; AnalogInterpolated ; Interferometer LinearEncoderCorrection = ; Agilent interferometer ; ppm ; If EncoderType = AquadB EncoderIndexOffset = EncoderResolution = ; default value 0 ; units ; If EncoderType = AnalogInterpolated EncoderIndexOffset = ; default value 0 EncoderHardInterpolatorErrorCheck = ; Enabled (default value) or Disabled ; Driver EncoderZMPlug = ; Encoder EncoderResolution = ; units 469 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual EncoderInterpolationFactor = EncoderScalePitch = ; units EncoderADC1Offset = ; volts EncoderADC2Offset = ; volts EncoderPhaseCompensation = ; deg EncoderDifferentialGain = ; If EncoderType = Interferometer InterferometerCountDirection = ; Normal or Reverse InterferometerResolution = ; units EncoderResolution = ; units ;--- Backlash Backlash = ; unit (0 = not activated) ;--- Positioner Mapping PositionerMappingFileName = ; If PositionerMappingFileName is defined then the mapping is enabled and must be configured: PositionerMappingLineNumber = PositionerMappingMaxPositionError = ;--- Travels MinimumTargetPosition = ; units HomePreset = ; units MaximumTargetPosition = ; units ;--- Profiler MaximumVelocity = ; units/second MaximumAcceleration = ; units/second² EmergencyDecelerationMultiplier = MinimumJerkTime = ; seconds MaximumJerkTime = ; seconds TrackingCutOffFrequency = ; Hz ;--- HOME HomeSearchSequenceType = ; MechanicalZeroAndIndexHomeSearch ; MechanicalZeroHomeSearch ; MinusEndOfRunAndIndexHomeSearch ; MinusEndOfRunHomeSearch ; PlusEndOfRunHomeSearch ; IndexHomeSearch ; CurrentPositionAsHome HomeSearchMaximumVelocity = ; units/second HomeSearchMaximumAcceleration = ; units/second² HomeSearchTimeout = ; seconds HomingSensorOffset = ; units ;--- CORRECTOR ; PIDFFAcceleration => MotorDriverInterface « Acceleration » CorrectorType = EDH0305En1051 — 08/15 470 XPS-Q8 Controller Programmer’s Manual ; SR1Acceleration => MotorDriverInterface « Acceleration » ; PIDFFVelocity « Velocity » => MotorDriverInterface ; PIDDualFFVoltage => MotorDriverInterface « Voltage » ; PIPosition => MotorDriverInterface « Position » ; NoEncoderPosition => MotorDriverInterface « Position » ; If CorrectorType is PIDFFAcceleration KP = ; 1/seconds² KI = ; 1/seconds² KD = ; 1/seconds² KS = IntegrationTime = ; seconds DerivativeFilterCutOffFrequency = ; Hertz GKP = GKD = GKI = KForm = ; units KFeedForwardAcceleration = ; units/second² KFeedForwardJerk = ; units/second3 ClosedLoopStatus = ; Opened or Closed FatalFollowingError = ; units DeadBandThreshold = ; units ; If CorrectorType is SR1Acceleration KP = ; 1/seconds² KI = ; 1/seconds3 KV = ; 1/seconds ObserverFrequency = ; Hz CompensationGainVelocity = ; sec CompensationGainAcceleration = ; sec2 CompensationGainJerk = ; sec3 ClosedLoopStatus = ; Opened or Closed FatalFollowingError = ; units ; If CorrectorType is PIDFFVelocity KP = ; 1/seconds KI = ; 1/seconds² KD = KS = IntegrationTime = ; seconds DerivativeFilterCutOffFrequency = ; Hertz GKP = GKD = GKI = 471 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual KForm = ; units KFeedForwardVelocity = ClosedLoopStatus = ; Opened or Closed FatalFollowingError = ; units DeadBandThreshold = ; units ; If CorrectorType is PIDDualFFVoltage KP = ; volts/units KI = ; volts/units/seconds KD = ; volts * seconds/units KS = IntegrationTime = ; seconds DerivativeFilterCutOffFrequency = ; Hertz GKP = GKD = GKI = KForm = ; units KFeedForwardAcceleration = ; volts/(units/seconds²) KFeedForwardVelocity = ; volts/(units/seconds) KFeedForwardVelocityOpenLoop = ; Friction = ; volts ClosedLoopStatus = ; Opened or Closed FatalFollowingError = ; units DeadBandThreshold = ; units ; If CorrectorType is PIPosition KP = KI = ; 1/seconds KD = ; seconds KS = IntegrationTime = ; seconds DerivativeFilterCutOffFrequency = ; Hertz GKP = GKD = GKI = KForm = ; units ClosedLoopStatus = ; Opened or Closed FatalFollowingError = ; units DeadBandThreshold = ; units ;--- NOTCH FILTER NotchFrequency1 = ; Hertz (0 = not activated) NotchBandwith1 = ; Hertz NotchGain1 = NotchFrequency2 = ; Hertz (0 = not activated) NotchBandwith2 = ; Hertz NotchGain2 = EDH0305En1051 — 08/15 472 XPS-Q8 Controller Programmer’s Manual ;--- GATHERING FILTERS CurrentVelocityCutOffFrequency = ; Hertz CurrentAccelerationCutOffFrequency = ; Hertz ;--- MOTION DONE ; Theoretical MotionDoneMode = ; VelocityAndPositionWindow ; If MotionDoneMode = VelocityAndPositionWindow MotionDonePositionThreshold = ; units MotionDoneVelocityThreshold = ; units/second MotionDoneCheckingTime = ; seconds MotionDoneMeanPeriod = ; seconds MotionDoneTimeout = ; seconds ;--- SERVITUDES ; StandardEORDriverPlug ServitudesType = ; StandardLimitAndHomeEncoderPlug ; OldName: StandardEOREncoderPlug ; StandardLimitAndLimitEncoderPlug ; Spindle ; Piezo ;--- System compensation pre-feedforward filters ;--- (if CompensationSystemPreFeedForwardMode = Enabled) CompensationSpatialPeriodicNotchsStep1 = 42 ; units CompensationSpatialPeriodicNotchsBandwidth1 = 1 ; Hz CompensationSpatialPeriodicNotchsGain1 = 0.5 ; CompensationSpatialPeriodicNotchsStep2 = 63 ; units CompensationSpatialPeriodicNotchsBandwidth2 = 2 ; Hz CompensationSpatialPeriodicNotchsGain2 = 0.4 ; CompensationSpatialPeriodicNotchsStep3 = 84 ; units CompensationSpatialPeriodicNotchsBandwidth3 = 3 ; Hz CompensationSpatialPeriodicNotchsGain3 = 0.3 ; CompensationFrequencyNotchsFrequency1 = 1001 ; Hz CompensationFrequencyNotchsBandwidth1 = 11 ; Hz CompensationFrequencyNotchsGain1 = 0.9 ; CompensationFrequencyNotchsFrequency2 = 1101 ; Hz CompensationFrequencyNotchsBandwidth2 = 12 ; Hz CompensationFrequencyNotchsGain2 = 0.8 ; CompensationFrequencyNotchsFrequency3 = 1201 ; Hz CompensationFrequencyNotchsBandwidth3 = 13 ; Hz CompensationFrequencyNotchsGain3 = 0.7 ; ;--- System Compensation post-feedforward filters ;--- (if CompensationSystemPostFeedForwardMode = Enabled) ;--- CompensationNotch mode filter #1 CompensationNotchModeFr1 = 101 ; Hz CompensationNotchModeFa1 = 102 ; Hz 473 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual CompensationNotchModeZr1 = 0.101 ; CompensationNotchModeZa1 = 0.102 ; ;--- CompensationNotch mode filter #2 CompensationNotchModeFr2 = 201 ; Hz CompensationNotchModeFa2 = 202 ; Hz CompensationNotchModeZr2 = 0.201 ; CompensationNotchModeZa2 = 0.202 ; ;--- CompensationPhase correction filter #1 CompensationPhaseCorrectionFn1 = 301 ; Hz CompensationPhaseCorrectionFd1 = 302 ; Hz CompensationPhaseCorrectionGain1 = 0.302 ; ;--- CompensationPhase correction filter #2 CompensationPhaseCorrectionFn2 = 401 ; Hz CompensationPhaseCorrectionFd2 = 402 ; Hz CompensationPhaseCorrectionGain2 = 0.402 ; ;--- CompensationLowPassFilterCutOffFrequency filter CompensationLowPassFilterCutOffFrequency = 501 EDH0305En1051 — 08/15 474 ; Hz XPS-Q8 Controller Programmer’s Manual 2.3 Group 2.3.1 Description The “Group” objects are used to define one or several “positioners” in the same motion group. The available motion groups are defined in the section [GROUPS] in the system.ini file and the group types are: 2.3.2 - SingleAxis (1 positioner)/“Gantry” SingleAxis (2 positioners) - SingleAxisWithClamping (1 positioner) - SingleAxisTheta (1 positioner) - Spindle (1 positioner) - XY (2 positioners)/“Gantry” XY (3 or 4 positioners) - XYZ (3 positioners) - MultipleAxes/“Gantry” MultipleAxes (1 to 8 positioners) - TZ (3 positioners) Object Structure A motion “Group” is built in relation to a group type (SingleAxis, SingleAxisWithClamping, SingleAxisTheta, Spindle, XY, XYZ, TZ or MultipleAxes). A group is defined by a group name. To define a new group see §2.2.4.95 (configuration file). NOTE The maximum number of positioners in the same group is limited to 8. 475 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3 Function Description 2.3.3.1 GroupAccelerationSetpointGet Name GroupAccelerationSetpointGet – Returns the setpoint acceleration for one or all positioners of the selected group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description Returns the setpoint acceleration for one or all positioners of the selected group. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 476 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupAccelerationSetpointGet SocketID GroupName SetpointAcceleration … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) floating point Setpoint acceleration (must be repeated for each positioner of group) Output parameters – SetpointAcceleration Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupAccelerationSetpointGet (int SocketID, char *GroupName, int NbPositioners, double * SetpointAcceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group double * Setpoint Acceleration array Output parameters – SetpointAcceleration Return – Function error code Visual Basic Prototype Long GroupAccelerationSetpointGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, SetpointAcceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – NbPositioners long Number of positioners in the selected group double Setpoint Acceleration array Output parameters – SetpointAcceleration Return – Function error code 477 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, SetpointAcceleration] GroupAccelerationSetpointGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – Error int32 Function error code – SetpointAcceleration doubletPtr Setpoint Acceleration array Return Python Prototype [Error, SetpointAcceleration] GroupAccelerationSetpointGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – Error int Function error code – SetpointAcceleration doubletPtr Setpoint Acceleration array Return EDH0305En1051 — 08/15 478 XPS-Q8 Controller Programmer’s Manual 2.3.3.2 GroupAnalogTrackingModeDisable Name GroupAnalogTrackingModeDisable - Exits the analog tracking mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid group name: ERR_GROUP_NAME (-19) - Group status must be “ANALOG TRACKING”: ERR_NOT_ALLOWED_ACTION (-22) Description Disables the analog tracking mode. The group exits the “ANALOG TRACKING” state returning to the “READY” state. If the group state is not “ANALOG TRACKING”, ERR_NOT_ALLOWED_ACTION (-22) is returned. NOTE The tracking mode interprets ADC value as a position command or as a velocity command. To enable the analog tracking mode use the “GroupAnalogTrackingModeEnable” function. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 479 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupAnalogTrackingModeDisable SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupAnalogTrackingModeDisable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * SingleAxis group name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupAnalogTrackingModeDisable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 480 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 GroupAnalogTrackingModeDisable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring SingleAxis group name Return – Function error code Python Prototype integer GroupAnalogTrackingModeDisable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string SingleAxis group name Return – Function error code 481 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.3 GroupAnalogTrackingModeEnable Name GroupAnalogTrackingModeEnable - Enables the analog tracking mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Group status must be “READY”: ERR_NOT_ALLOWED_ACTION (-22) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid group name: ERR_GROUP_NAME (-19) - Valid tracking type (“Position” or “Velocity”): ERR_WRONG_OBJECT_TYPE (8) - Configured tracking: ERR_NOT_ALLOWED_ACTION (-22) Description Enables the analog tracking mode. To use this function, the group must be in READY state and tracking must be configured before, else an error ERR_NOT_ALLOWED_ACTION (-22) is returned. Once the tracking mode is enabled, the group status must be “ANALOG TRACKING” (48 is the code for Analog tracking state due to a TrackingEnable command). “Position” analog tracking In case of “Position” tracking type, the analog input is interpreted as a position command. The parameters must be set by the “AnalogTrackingPositionParametersSet” function and can be read by the “AnalogTrackingPositionParametersGet” function. “Velocity” analog tracking In case of “Velocity” tracking type, the analog input is interpreted as a velocity command. The parameters must be set by the “AnalogTrackingVelocityParametersSet” function and can be read by the “AnalogTrackingVelocityParametersGet” function. NOTE To disable the analog tracking mode use the “GroupAnalogTrackingModeDisable” function. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_OBJECT_TYPE (-8) - SUCCESS (0): no error 482 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupAnalogTrackingModeEnable SocketID GroupName Type Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name (maximum size = 250) – TypeString Tracking type (“Position” or “Velocity”) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupAnalogTrackingModeEnable (int SocketID, char *GroupName, char *Type) Input parameters SocketID int Socket identifier gets by the “TCP_ConnectToServer”function GroupName char * SingleAxis group name – Type char * Tracking type (“Position” or “Velocity”) Output parameters – None Return – Function error code Visual Basic Prototype Long GroupAnalogTrackingModeEnable (ByVal SocketID As Long, ByVal GroupName As String, ByVal Type As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name – TypeString Tracking type (“Position” or “Velocity”) Output parameters – None Return – Function error code 483 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 GroupAnalogTrackingModeEnable (int32 SocketID, cstring GroupName, cstring Type) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring SingleAxis group name – Type cstring Tracking type (“Position” or “Velocity”) Return – Function error code Python Prototype integer GroupAnalogTrackingModeEnable (integer SocketID, string GroupName, string Type) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string SingleAxis group name – TypeString Tracking type (“Position” or “Velocity”) Return – Function error code EDH0305En1051 — 08/15 484 XPS-Q8 Controller Programmer’s Manual 2.3.3.4 GroupCorrectorOutputGet Name GroupCorrectorOutputGet – Returns corrector output for one or all positioners of the selected group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Valid output parameter: ERR_WRONG_TYPE_DOUBLE (-14) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) Description Returns corrector output for one or all positioners of the selected group. The input parameter “group name” can be a positioner name. For a group, this function returns the corrector output for each positioner from the selected group. For a positioner, this function returns only the corrector output associated with the selected positioner. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype GroupCorrectorOutputGet SocketID GroupName CorrectorOutput Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name or Positioner name (maximum size = 250) floating point Corrector output Output parameters – CorrectorOutput Return – TCL error code (0 = success or 1 = syntax error) or Function error code 485 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupCorrectorOutputGet (int SocketID, char *GroupName, int NbPositioners, double * CorrectorOutput) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name or Positioner name – NbPositioners int Number of positioners in the selected group (1 if positioner) double * Corrector output array Output parameters – CorrectorOutput Return – Function error code Visual Basic Prototype Long GroupCorrectorOutputGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, CorrectorOutput As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name or Positioner name – NbPositioners long Number of positioners in the selected group (1 if positioner) doubletPtr Corrector output array Output parameters – CorrectorOutput Return – Function error code Matlab Prototype [Error, CorrectorOutput] GroupCorrectorOutputGet (int32 SocketID, cstring GroupName, int32 NbPositioners ) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name or Positioner name – NbPositioners int32 Number of positioners in the selected group (1 if positioner) – Error int32 Function error code – CorrectorOutput double Corrector output array Return EDH0305En1051 — 08/15 486 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, CorrectorOutput] GroupCorrectorOutputGet (integer SocketID, string GroupName, integer NbPositioners) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name or Positioner name – NbPositioners int Number of positioners in the selected group (1 if positioner) – Error int Function error code – CorrectorOutput double Corrector output array Return 487 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.5 GroupCurrentFollowingErrorGet Name GroupCurrentFollowingErrorGet – Returns the current following error for one or all positioners of the selected group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description Returns the current following error for one or all positioners of the selected group. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype GroupCurrentFollowingErrorGet SocketID GroupName CurrentFollowing error … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – CurrentFollowingError floating point Current following error (must be repeated for each positioner of group) Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 488 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupCurrentFollowingErrorGet (int SocketID, char *GroupName, int NbPositioners, double * CurrentFollowingError) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group Output parameters – CurrentFollowingError double * Current following error array Return – Function error code Visual Basic Prototype Long GroupCurrentFollowingErrorGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, CurrentFollowingError As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – NbPositioners long Number of positioners in the selected group Output parameters – CurrentFollowingError double Current following error array Return – Function error code Matlab Prototype [Error, CurrentFollowingError] GroupCurrentFollowingErrorGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name int32 Function error code Return – Error – CurrentFollowingError doubletPtr 489 Current following error array EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, CurrentFollowingError] GroupCurrentFollowingErrorGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name int Function error code Return – Error – CurrentFollowingError doubletPtr EDH0305En1051 — 08/15 490 Current following error array XPS-Q8 Controller Programmer’s Manual 2.3.3.6 GroupInitialize Name GroupInitialize - Initializes the motor and activates the servo loop of the selected group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group status must be "NOTINIT”: ERR_NOT_ALLOWED_ACTION (-22) - Actor must be a group: ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) - Check state of physical ends of run: ERR_BOTH_ENDS_OF_RUN_ACTIVATED (-113). Description The selected group must be in not initialized “NOTINIT” state, else ERR_NOT_ALLOWED_ACTION (-22) is returned. This function begins to check the positioner error. If an error is detected, the hardware status register is reset (motor on) and the positioner error is cleared before checking it again. If a positioner error is always present, the motor is turned off, ERR_POSITIONER_ERROR (-5) is returned and the group becomes “NOTINIT”. If no positioner error then the group status becomes “MOTOR_INIT”. The master-slave error is cleared, the encoder is reset (update encoder position) and the user travel limits are checked. If a travel limit error is detected then the motor is turned off, the error ERR_TRAVEL_LIMITS (-35) is returned and the group becomes “NOTINIT”. Moreover, the function checks the state of the physical ends of run. If both physical ends of run are activated, then the motor is turned off, the error ERR_BOTH_ENDS_OF_RUN_ACTIVATED (-113) is returned and the group becomes “NOTINIT”. If no error, the motor is initialized in case of “AnalogSinAcc” or “AnalogDualSinAcc”. The error ERR_MOTOR_INITIALIZATION_ERROR (-50) is returned if the initialization failed and the group becomes “NOTINIT”. If successful, the positions are reset, the servo loop is activated and the motor is on. The group is now “NOT REFERENCED”. NOTES In Master-Slave mode, after an emergency stop, the master group and the slave group are in “NOTINIT” state. To restart a master-slave relation the slave group(s) must be reinitialized before the master group. For the XPS-Qn Precision Platform the controller checks and sets its external drivers not at boot-up, but at the beginning of the GroupInitialize() call. 491 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_ERROR (-5) - ERR_POSITIONER_NAME (-18) - ERR_MOTOR_INITIALIZATION_ERROR (-50) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_TRAVEL_LIMITS (-35) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_BOTH_ENDS_OF_RUN_ACTIVATED (-113) - SUCCESS (0): no error TCL Prototype GroupInitialize SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupInitialize (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Goup name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 492 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupInitialize (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code Matlab Prototype int32 GroupInitialize (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code Python Prototype integer GroupInitialize (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code 493 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.7 GroupInitializeNoEncoderReset Name GroupInitializeNoEncoderReset - Initializes the motor without reset encoder and activates the servo loop of the selected group. Input tests - Configuration files reading: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group status must be "NOTINIT”: ERR_NOT_ALLOWED_ACTION (-22) - Actor must be a group: ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) - Check state of physical ends of run: ERR_BOTH_ENDS_OF_RUN_ACTIVATED (-113). Description The selected group must be in “NOTINIT” state, else ERR_NOT_ALLOWED_ACTION (-22) is returned. This function begins to check the positioner error. If an error is detected, the hardware status register is reset (motor on) and the positioner error is cleared before checking it again. If a positioner error is always present, the motor is turned off, ERR_POSITIONER_ERROR (-5) is returned and the group becomes “NOTINIT”. If no positioner error then the group status becomes “MOTOR_INIT”. The master-slave error is cleared, the encoder is reset (update encoder position) and the user travel limits are checked. If a travel limit error is detected then the motor is turned off, the error ERR_TRAVEL_LIMITS (-35) is returned and the group becomes “NOTINIT”. Moreover, the function checks the state of the physical ends of run. If both physical ends of run are activated, then the motor is turned off, the error ERR_BOTH_ENDS_OF_RUN_ACTIVATED (-113) is returned and the group becomes “NOTINIT”. If no error, the motor is initialized in case of “AnalogSinAcc” or “AnalogDualSinAcc”. The error ERR_MOTOR_INITIALIZATION_ERROR (-50) is returned if the initialization failed and the group becomes “NOTINIT”. If successful, the positions are no reset, the servo loop is activated and the motor is on. The group is now “NOT REFERENCED”. NOTES In Master-Slave mode, after an emergency stop, the master group and the slave group are in “NOTINIT” state. To restart a master-slave relation the slave group(s) must be reinitialized before the master group. For the XPS-Qn Precision Platform the controller checks and sets its external drivers not at boot-up, but at the beginning of the GroupInitialize() call. EDH0305En1051 — 08/15 494 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_ERROR (-5) - ERR_POSITIONER_NAME (-18) - ERR_MOTOR_INITIALIZATION_ERROR (-50) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_TRAVEL_LIMITS (-35) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_BOTH_ENDS_OF_RUN_ACTIVATED (-113) - SUCCESS (0): no error TCL Prototype GroupInitializeNoEncoderReset SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupInitializeNoEncoderReset GroupInitialize (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Goup name Output parameters – None Return – Function error code 495 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupInitializeNoEncoderReset GroupInitialize (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code Matlab Prototype int32 GroupInitializeNoEncoderReset GroupInitialize (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code Python Prototype integer GroupInitializeNoEncoderReset GroupInitialize (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code EDH0305En1051 — 08/15 496 XPS-Q8 Controller Programmer’s Manual 2.3.3.8 GroupInitializeWithEncoderCalibration Name GroupInitializeWithEncoderCalibration - Initializes motor, calibrates encoder and activates servo loop. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group status must be "NOTINIT”: ERR_NOT_ALLOWED_ACTION (-22) - Actor must be a group: ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) - Check state of physical ends of run: ERR_BOTH_ENDS_OF_RUN_ACTIVATED (-113). Description If the selected group is not in “NOTINIT” state, then the “ERR_NOT_ALLOWED_ACTION (-22)” is returned by this function. Initializes the motor, calibrates the encoder and activates the servo loop of each positioner of the selected group. To get the calibration results for each positioner, use the “PositionerEncoderCalibrationParametersGet” function. This function checks the positioner error. If an error is detected, the hardware status register is reset (motor on) and the positioner error is cleared before checking it again. If a positioner error is always present, the motor is turned off, ERR_POSITIONER_ERROR (-5) is returned and the group becomes “NOTINIT”. If no positioner error then the group status becomes “MOTOR_INIT”. The master-slave error is cleared, the encoder is reset (update encoder position) and the user travel limits are checked. If a travel limit error is detected then the motor is turned off, the error ERR_TRAVEL_LIMITS (-35) is returned and the group becomes “NOTINIT”. Moreover, the function checks the state of the physical ends of run. If both physical ends of run are activated, then the motor is turned off, the error ERR_BOTH_ENDS_OF_RUN_ACTIVATED (-113) is returned and the group becomes “NOTINIT”. If no error, the motor is initialized in case of “AnalogSinAcc” or “AnalogDualSinAcc”. The ERR_MOTOR_INITIALIZATION_ERROR (-50) is returned if the initialization failed and the group becomes “NOTINIT”. After the group initialization the group status is “MOTOR_INIT”, next the encoder undergoes calibration and the group status becomes “ENCODER_CALIBRATING”. If a following error occurs during calibration, ERR_FOLLOWING_ERROR (-25) is returned and the group becomes “NOTINIT”. If successful, the motor is initialized, the encoder is calibrated and the servo loop is activated. The group is now “NOT REFERENCED”. 497 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual NOTE In Master-Slave mode, after an emergency stop, the master group and the slave group are in “NOTINIT” status. To restart a master-slave relation the slave group(s) must be reinitialized before the master group. Error codes - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_MOTOR_INITIALIZATION_ERROR (-50) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_ERROR (-5) - ERR_POSITIONER_NAME (-18) - ERR_TRAVEL_LIMITS (-35) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_BOTH_ENDS_OF_RUN_ACTIVATED (-113) - SUCCESS (0): no error TCL Prototype GroupInitializeWithEncoderCalibration SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 498 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupInitializeWithEncoderCalibration (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Goup name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupInitializeWithEncoderCalibration (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code Matlab Prototype int32 GroupInitializeWithEncoderCalibration (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code 499 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype integer GroupInitializeWithEncoderCalibration (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code EDH0305En1051 — 08/15 500 XPS-Q8 Controller Programmer’s Manual 2.3.3.9 GroupHomeSearch Name GroupHomeSearch - Initiates a home search. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Group status must be "Not referenced”: ERR_NOT_ALLOWED_ACTION (-22) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - The actor must be a valid group name: ERR_GROUP_NAME (-19) Description This function initiates a home search for each positioner of the selected group. The group must be initialized and the group must be in “NOT REFERENCED” state else this function returns the ERR_NOT_ALLOWED_ACTION (-22) error. If no error then the group status becomes “HOMING”. The home search can fail due to: a following error: ERR_FOLLOWING_ERROR (-25) a ZM detection error: ERR_GROUP_HOME_SEARCH_ZM_ERROR (-49) a motion done time out when a dynamic error of the positioner is detected during one of the moves during the home search process: ERR_GROUP_MOTION_DONE_TIMEOUT (-33) a home search timeout when the complete (and complex) home search procedure was not executed in the allowed time: ERR_HOME_SEARCH_TIMEOUT (-28) For all these errors, the group returns to the “NOTINIT” state. After the home search sequence, each positioner error is checked. If an error is detected, the hardware status register is reset (motor on) and the positioner error is cleared before checking it again. If a positioner error is always present, ERR_TRAVEL_LIMITS (-35) is returned and the group becomes “NOTINIT”. Once the home search is successful, the group is in “READY” state. NOTE The home search routine for each positioner is defined in the “stages.ini” file by the “HomeSearchSequenceType” key. The home search time out is defined in the “stages.ini” file by the “HomeSearchTimeOut” key. The home search sequence is defined in the “system.ini” file by the “InitializationAndHomeSearchSequence” key for each group with several positioners. XY group The home search sequence can be “Together”, “XthenY” or “YthenX” in a standard XY configuration. If the XY group is “Gantry” (dual positioner on X or on Y axis) only “XthenY” or “YthenX” are allowed. XYZ group 501 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual The home search sequence can be “Together” or “XthenYthenZ”. MultipleAxes group The home search sequence can be “Together”, “OneAfterAnother” or “OneAfterAnotherInReverseOrder”. If the MultipleAxes group has at least one “Gantry” positioner (dual positioner on one axis or some axes) only “OneAfterAnother” or “OneAfterAnotherInReverseOrder” is allowed. Error codes - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_HOME_SEARCH_TIMEOUT (-28) - ERR_GROUP_HOME_SEARCH_ZM_ERROR (-49) - ERR_GROUP_MOTION_DONE_TIMEOUT (-33) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_TRAVEL_LIMITS (-35) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GroupHomeSearch SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 502 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupHomeSearch (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupHomeSearch (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code Matlab Prototype int32 GroupHomeSearch (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code 503 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype integer GroupHomeSearch (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code EDH0305En1051 — 08/15 504 XPS-Q8 Controller Programmer’s Manual 2.3.3.10 GroupHomeSearchAndRelativeMove Name GroupHomeSearchAndRelativeMove - Initiates a home search followed by a relative move. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Group status must be "Not referenced”: ERR_NOT_ALLOWED_ACTION (-22) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid group name: ERR_GROUP_NAME (-19) - Valid “Displacement” parameter: ERR_WRONG_TYPE_DOUBLE (-14) Description This function initiates a home search followed by a relative move at the end of the home search. The group must be initialized and the group must be in “NOT REFERENCED” state else this function returns the ERR_NOT_ALLOWED_ACTION (-22) error. If no error then the group status becomes “HOMING”. The home search sequence can fail due to: a following error: ERR_FOLLOWING_ERROR (-25) a ZM detection error: ERR_GROUP_HOME_SEARCH_ZM_ERROR (-49) a home search time out: ERR_GROUP_MOTION_DONE_TIMEOUT (-33) For all these errors, the group returns to the “NOTINIT” state. Once the home search is completed, a relative move is executed. After this sequence without error, each positioner is checked for error. If an error is detected, the hardware status register is reset (motor on) and the positioner error is cleared before checking it again. If a positioner error is always present, ERR_TRAVEL_LIMITS (-35) is returned and the group becomes “NOTINIT”. If the home search is successful, the group will be in “READY” state. NOTE The home search routine for each positioner is defined in the stages.ini file by the “HomeSearchSequenceType” key. The home search time out is defined in the stages.ini file by the “HomeSearchTimeOut” key. The home search sequence is defined in the system.ini file by the “InitializationAndHomeSearchSequence” key for each group with several positioners: XY group The home search sequence can be “Together”, “XthenY” or “YthenX” if the XY group is standard configuration. If the XY group is Gantry (dual positioner on X or on Y axis) only the “XthenY” or “YthenX” are allowed. XYZ group The home search sequence can be “Together” or “XthenYthenZ”. 505 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual MultipleAxes group The home search sequence can be “Together”, “OneAfterAnother” or “OneAfterAnotherInReverseOrder”. If the MultipleAxes group has at least one “Gantry” positioner (dual positioner on one axis or some axes), only “OneAfterAnother” or “OneAfterAnotherInReverseOrder” are allowed. Error codes - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_NAME (-19) - ERR_GROUP_HOME_SEARCH_TIMEOUT (-28) - ERR_GROUP_HOME_SEARCH_ZM_ERROR (-49) - ERR_GROUP_MOTION_DONE_TIMEOUT (-33) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_TRAVEL_LIMITS (-35) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype GroupHomeSearchAndRelativeMove SocketID GroupName Displacement Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) – Displacement floating point Relative displacement (must be repeated for each positioner of the selected group) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 506 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupHomeSearchAndRelativeMove (int SocketID, char *GroupName, int NbPositioners, double * Displacement) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group – Displacement double * Relative displacement array Output parameters – None Return – Function error code Visual Basic Prototype Long GroupHomeSearchAndRelativeMove (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, Displacement As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name – NbPositioners long Number of positioners in the selected group – Displacement double Relative displacement array Output parameters – None Return – Function error code 507 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 GroupHomeSearchAndRelativeMove (int32 SocketID, cstring GroupName, doublePtr Displacement) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring SingleAxis group name – Displacement doubletPtr Relative displacement array Return – Function error code Python Prototype integer GroupHomeSearchAndRelativeMove (integer SocketID, string GroupName, doublePtr Displacement) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string SingleAxis group name – Displacement doubletPtr Relative displacement array Return – Function error code EDH0305En1051 — 08/15 508 XPS-Q8 Controller Programmer’s Manual 2.3.3.11 GroupInterlockDisable Name GroupInterlockDisable – Disables group interlock mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Actor must be a group: ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) Description This function removes the dependency between this group and the groups that are included in GroupInterlock mode. So, if the function executes the group can initialize, home or move independent of all errors coming from other interlocked groups. GroupInterlock mode: Actions that a group takes based on the activities of other groups: execute actions (like stop axis, power-off, change state…) immediately after an error (or an user command Disable/KillGroup) detected from one of its interlocked groups. Example: The list of interlocked groups is G1, G2, G3, this means: 1. G1 depends on G2 and G3 (G1 in action if an error occurs on G2 or G3) 2. G2 depends on G1 and G3 (G2 in action if an error occurs on G1 or G3) 3. G3 depends on G1 and G2 (G3 in action if an error occurs on G1 or G2) The interlocked groups are listed in the [GROUPS] section of system.ini file: InterlockedGroups = …; Names of groups involved in the GroupInterlock mode. The GroupInterlock mode is enabled by default at boot of the XPS controller. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 509 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupInterlockDisable SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupInterlockDisable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Goup name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupInterlockDisable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 510 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 GroupInterlockDisable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code Python Prototype integer GroupInterlockDisable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code 511 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.12 GroupInterlockEnable Name GroupInterlockEnable – Enables group interlock mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Actor must be a group: ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) Description This function enables the dependency between this group and the groups that are involved in GroupInterlock mode. So, if the function executes the group cannot initialize, home or move without correcting the errors coming from its interlocked groups. GroupInterlock mode: Activities that a group takes based on the activities of other groups: execute actions (like stop axis, power-off, change state…) immediately after an error (or an user command Disable/KillGroup) detected from one of its interlocked groups. Example: The list of interlocked groups is G1, G2, G3 , this means: 4. G1 depends on G2 and G3 (G1 in action if an error occurs on G2 or G3) 5. G2 depends on G1 and G3 (G2 in action if an error occurs on G1 or G3) 6. G3 depends on G1 and G2 (G3 in action if an error occurs on G1 or G2) The interlocked groups are listed in the [GROUPS] section of system.ini file: InterlockedGroups = …; Names of groups involved in the GroupInterlock mode. The GroupInterlock mode is enabled by default at boot of the XPS controller. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 512 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupInterlockEnable SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupInterlockEnable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Goup name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupInterlockEnable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code 513 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 GroupInterlockEnable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code Python Prototype integer GroupInterlockEnable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code EDH0305En1051 — 08/15 514 XPS-Q8 Controller Programmer’s Manual 2.3.3.13 GroupJogModeDisable Name GroupJogModeDisable – Disables the jog mode 1. Not allowed for a spindle group – * Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters [1]: ERR_WRONG_PARAMETERS_NUMBER (9) - Valid object type (group): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Group status must be “JOGGING”: ERR_NOT_ALLOWED_ACTION (-22) Description Disables the Jog mode. To use this function, the group must be in the “JOGGING” state and all positioners must be idle (meaning velocity must be 0). This function exits the “JOGGING” state and to returns to the “READY” state. If the group state is not in the “JOGGING” state or if the profiler velocity is not null then the error ERR_NOT_ALLOWED_ACTION (-22) is returned. NOTE To enable the jog mode use the “GroupJogModeEnable” function. CAUTION The jog mode cannot be used with a spindle group. Error codes ERR_FATAL_INIT (-20) ERR_GROUP_NAME (-19) ERR_IN_INITIALIZATION (-21) ERR_NOT_ALLOWED_ACTION (-22) ERR_WRONG_FORMAT (-7) ERR_WRONG_OBJECT_TYPE (-8) ERR_WRONG_PARAMETERS_NUMBER (-9) SUCCESS (0): no error 515 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupJogModeDisable SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupJogModeDisable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupJogModeDisable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 516 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 GroupJogModeDisable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code Python Prototype integer GroupJogModeDisable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code 517 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.14 GroupJogModeEnable Name GroupJogModeEnable – Enables the jog mode - Not allowed for a spindle group - Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Backlash must not be activated: ERR_NOT_ALLOWED_BACKLASH (-46) - Number of command parameters [1]: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group): ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) - Group status must be “READY”: ERR_NOT_ALLOWED_ACTION (-22) Description Enables the Jog mode. To use this function, the group must be in the “READY” state and all positioners must be idle (meaning velocity must be 0). This function goes to the “JOGGING” state. If the group state is not “READY”, ERR_NOT_ALLOWED_ACTION (-22) is returned. NOTE To disable the jog mode use the “GroupJogModeDisable” function. CAUTION The jog mode cannot be used with a spindle group. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_NOT_ALLOWED_BACKLASH (-46) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 518 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupJogModeEnable SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupJogModeEnable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupJogModeEnable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code 519 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 GroupJogModeEnable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code Python Prototype integer GroupJogModeEnable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code EDH0305En1051 — 08/15 520 XPS-Q8 Controller Programmer’s Manual 2.3.3.15 GroupJogCurrentGet Name GroupJogCurrentGet – Returns the current velocity and acceleration from the jog profiler. - Not allowed for a spindle group - Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the current velocity and acceleration from the jog profiler for one positioner or for all positioners of the selected group. So, this function must be called when the group is in “JOGGING” mode else the current velocity and the current acceleration will be null. CAUTION The jog mode cannot be used with a spindle group. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 521 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupJogCurrentGet SocketID GroupName Velocity Acceleration … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name or Positioner name (maximum size = 250) – Velocity floating point Current velocity – Acceleration floating point Current Acceleration Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupJogCurrentGet (int SocketID, char *GroupName, int NbPositioners, double * Velocity, double * Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name or Positioner name – NbPositioners int Number of positioners in the selected group (1 if a positioner) – Velocity double * – Acceleration double * Current Acceleration array Output parameters Return – Function error code EDH0305En1051 — 08/15 522 Current velocity array XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupJogCurrentGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, Velocity As Double, Acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name or Positioner name – NbPositioners long Number of positioners in the selected group (1 if a positioner) – Velocity double – Acceleration double Current Acceleration array Output parameters Current velocity array Return – Function error code Matlab Prototype [Error, Velocity, Acceleration] GroupJogCurrentGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name or Positioner name – Error int32 Function error code – Velocity doubletPtr – Acceleration doubletPtr Current Acceleration array Return Current velocity array Python Prototype [Error, Velocity, Acceleration] GroupJogCurrentGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name or Positioner name – Error int Function error code – Velocity doubletPtr – Acceleration doubletPtr Current Acceleration array Return 523 Current velocity array EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.16 GroupJogParametersGet Name GroupJogParametersGet – Returns the velocity and acceleration set by “GroupJogParametersSet”. - Not allowed for a spindle group - Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the velocity and the acceleration set by the user to use the jog mode for one positioner or for all positioners of the selected group. So, this function must be called when the group is in “JOGGING” mode else the velocity and the acceleration will be null. To change the velocity and the acceleration on the fly, in the jog mode, call the “GroupJogParametersSet” function. CAUTION The jog mode cannot be used with a spindle group. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 524 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupJogParametersGet SocketID GroupName Velocity Acceleration … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) – Velocity floating point – Acceleration floating point User jog Acceleration Output parameters User jog velocity Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupJogParametersGet (int SocketID, char *GroupName, int NbPositioners, double * Velocity, double * Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group – Velocity double * – Acceleration double * User jog Acceleration array Output parameters User jog velocity array Return – Function error code 525 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupJogParametersGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, Velocity As Double, Acceleration As Double ) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – NbPositioners long Number of positioners in the selected group – Velocity double User jog velocity array – Acceleration double User jog Acceleration array Output parameters Return – Function error code Matlab Prototype [Error, Velocity, Acceleration] GroupJogParametersGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – Error int32 Function error code – Velocity doubletPtr User jog velocity array – Acceleration doubletPtr User jog Acceleration array Return Python Prototype [Error, Velocity, Acceleration] GroupJogParametersGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – Error int Function error code – Velocity doubletPtr User jog velocity array – Acceleration doubletPtr User jog Acceleration array Return EDH0305En1051 — 08/15 526 XPS-Q8 Controller Programmer’s Manual 2.3.3.17 GroupJogParametersSet Name GroupJogParametersSet – Changes the velocity and the acceleration on the fly, in the jog mode. - Not allowed for a spindle group - Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group status must be “JOGGING”: ERR_NOT_ALLOWED_ACTION (-22) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Input parameters for each positioner: 1. Velocity > MaximumVelocity => Velocity = MaximumVelocity 2. Velocity < -MaximumVelocity => Velocity = -MaximumVelocity 3. Acceleration ≤ 0 => ERR_JOG_OUT_OF_RANGE (-42) 4. Acceleration > MaximumAcceleration MaximumAcceleration => Acceleration = Description This function changes the velocity and the acceleration on the fly, used in the jog mode. If an error occurs, each positioner stops and the velocity value is set to zero. To use this function, the jog mode must be enabled (requires call of the ”GroupJogModeEnable” function). If the group status is not “JOGGING” then an “ERR_NOT_ALLOWED_ACTION (-22)” is returned. If a slave or following error is detected during the jog setting then an “ERR_FOLLOWING_ERROR (-25)” or “ERR_SLAVE (-44)” is returned. In this case, the motion is stopped, the jog mode is disabled and the group status becomes “DISABLE”. CAUTION The jog mode cannot be used with a spindle group. 527 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_JOG_OUT_OF_RANGE (-42) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_SLAVE (-44) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_OBJECT_TYPE (-8) - SUCCESS (0): no error TCL Prototype GroupJogParametersSet SocketID GroupName Velocity Acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) – Velocity floating point User jog velocity – Acceleration floating point User jog Acceleration Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 528 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupJogParametersSet (int SocketID, char *GroupName, int NbPositioners, double * Velocity, double * Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group – Velocity double * User jog velocity array – Acceleration double * User jog Acceleration array Output parameters – None Return – Function error code Visual Basic Prototype Long GroupJogParametersSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, Velocity As Double, Acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – NbPositioners long Number of positioners in the selected group – Velocity double User jog velocity array – Acceleration double User jog Acceleration array Output parameters – None Return – Function error code 529 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, Velocity, Acceleration] GroupJogParametersSet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – Velocity doubletPtr User jog velocity array – Acceleration doubletPtr User jog Acceleration array int32 Function error code Return – Error Python Prototype [Error, Velocity, Acceleration] GroupJogParametersSet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – Velocity doubletPtr User jog velocity array – Acceleration doubletPtr User jog Acceleration array int Function error code Return – Error EDH0305En1051 — 08/15 530 XPS-Q8 Controller Programmer’s Manual 2.3.3.18 GroupKill Name GroupKill - Kills the selected group to go to “NOTINIT” status. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group): ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) Description Kills the selected group to stop its action. The group returns to the “NOTINIT” state. If the group is already in this state then it stays in the “NOT INIT” state. The GroupKill is a high priority command that is executed in any condition. NOTE If an initialization, encoder calibration homing, referencing, motion or a trajectory is in progress, an “emergency stop” will be done. So, for each of these functions, an “ ERR_EMERGENCY_SIGNAL (-26)” error will be generated. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 531 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupKill SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupKill (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Goup name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupKill (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 532 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 GroupKill (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code Python Prototype integer GroupKill (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code 533 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.19 GroupMotionDisable Name GroupMotionDisable – Disables a “READY” group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group status must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Actor must be a group: ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) Description Turns OFF the motors, stops the corrector servo loop and disables the position compare mode if active. The group status becomes “DISABLE”. If the group is not in the “READY” state then an ERR_NOT_ALLOWED_ACTION (22) is returned. NOTE In the “DISABLED” state the encoder is still read. To return to the “READY” state, call the “GroupMotionEnable” function. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 534 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupMotionDisable SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupMotionDisable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Goup name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupMotionDisable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code 535 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 GroupMotionDisable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code Python Prototype integer GroupMotionDisable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code EDH0305En1051 — 08/15 536 XPS-Q8 Controller Programmer’s Manual 2.3.3.20 GroupMotionEnable Name GroupMotionEnable – Enables a group in a DISABLE state to turn the motors on and to restart corrector loops. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group status must be "DISABLE”: ERR_NOT_ALLOWED_ACTION (-22) - Actor must be a group: ERR_WRONG_OBJECT_TYPE (-8), ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) Description Turns ON the motors and restarts the corrector servo loops. The group state becomes “READY”. If the group is not in the “DISABLE” state then the “ERR_NOT_ALLOWED_ACTION (-22)” is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GroupMotionEnable SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 537 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupMotionEnable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Goup name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupMotionEnable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code Matlab Prototype int32 GroupMotionEnable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code EDH0305En1051 — 08/15 538 XPS-Q8 Controller Programmer’s Manual Python Prototype integer GroupMotionEnable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code 539 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.21 GroupMotionStatusGet Name GroupMotionStatusGet – Returns the motion status for one or all positioners of the selected group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_INT (-15) Description Returns the motion status for one or all positioners of the selected group. The motion status possible values are : 0 : Not moving state (group status in NOT_INIT, NOT_REF or READY). 1 : Busy state (positioner in moving, homing, referencing, spinning, analog tracking, trajectory, encoder calibrating, slave mode). Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0) : no error 540 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupMotionStatusGet SocketID GroupName Status1 Status2 … or GroupMotionStatusGet SocketID GroupName.PositionerName Status Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) int Positioner status (to be repeated for each positioner of group) Output parameters – Status Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupMotionStatusGet (int SocketID, char *GroupName, int NbPositioners, int * Status) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group int * Positioner status Output parameters – Status Return – Function error code 541 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupMotionStatusGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, Status As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – NbPositioners long Number of positioners in the selected group long Positioner status Output parameters – Status Return – Function error code Matlab Prototype [Error, Status] GroupMotionStatusGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – Error int32 Function error code – Status int32 PtrPositioner status Return Python Prototype [Error, Status] GroupMotionStatusGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName StringGroup name Return EDH0305En1051 — 08/15 – Error int Function error code – Status int PtrPositioner status 542 XPS-Q8 Controller Programmer’s Manual 2.3.3.22 GroupMoveAbort Name GroupMoveAbort – aborts the motion or the jog in progress for a group or a positioner. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters [1]: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group status must be "NOTINITMOVING” or “JOGGING”: ERR_NOT_ALLOWED_ACTION (-22) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) Description This function aborts a motion or a jog in progress. The group state must be “MOVING” or “JOGGING” else the “ERR_NOT_ALLOWED_ACTION (-22)” is returned. For a group: If the group status is “MOVING”, this function stops all motion in progress. If the group status is “JOGGING”, this function stops all “jog” motions in progress and disables the jog mode. After this “group move abort” action, the group status becomes “READY”. For a positioner: If the group status is “MOVING”, this function stops the motion of the selected positioner. If the group status is “JOGGING”, this function stops the “jog” motion of the selected positioner. If the positioner is idle, an ERR_NOT_ALLOWED_ACTION (-22) is returned. After this “positioner move abort” action, if all positioners are idle then the group status becomes “READY”, else the group stays in the same state. NOTE If the “move abort” action fails, an ERR_GROUP_ABORT_MOTION (-27) is returned. This error is generated when GroupMoveAbort is used to abort a motion of a positioner in a group and the name of the positioner is incorrect. This error will also be return by the “GroupMove” function. 543 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_ABORT_MOTION (-27) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GroupMoveAbort SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupMoveAbort (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Goup name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 544 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupMoveAbort (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code Matlab Prototype int32 GroupMoveAbort (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name Return – Function error code Python Prototype integer GroupMoveAbort (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name Return – Function error code 545 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.23 GroupMoveAbortFast Name GroupMoveAbortFast – aborts with user-defined deceleration a motion or a jog in progress for a group or positioner. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters [1]: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group status must be "NOTINITMOVING” or “JOGGING”: ERR_NOT_ALLOWED_ACTION (-22) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid UserDecelerationMultiplier value (>= 1 and <= 100): ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function aborts a motion or a jog in progress with a deceleration value defined by user (UserDeceleration): UserDeceleration = DecelerationMultiplier * MaximumAcceleration. Here: DecelerationMultiplier: GroupMoveAbortFast function parameter MaximumAcceleration: Stage parameter, defined in the stages.ini file. The group state must be “MOVING” or “JOGGING” else the “ERR_NOT_ALLOWED_ACTION (-22)” is returned. For a group: If the group state is “MOVING”, this function stops all motion. If the group state is “JOGGING”, this function stops all “jog” motion and disables the jog mode. After this “group move abort” action, the group state becomes “READY”. For a positioner: If the group state is “MOVING”, this function stops the motion of the selected positioner. If the group state is “JOGGING”, this function stops the “jog” motion of the selected positioner. If the positioner is idle, an ERR_NOT_ALLOWED_ACTION (-22) is returned. After this “positioner move abort” action, if all positioners are idle then the group state becomes “READY”, else the group stays in the same state. NOTE This function can be used only with the XPS-Qn Precision Platform controller. If the “move abort” action fails, an ERR_GROUP_ABORT_MOTION (-27) is returned. EDH0305En1051 — 08/15 546 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_ABORT_MOTION (-27) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_PARAMETER_OUT_OF_RANGE (-17) - SUCCESS (0): no error TCL Prototype GroupMoveAbortFast SocketID GroupName DecelerationMultiplier Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) – DecelerationMultiplier int Braking deceleration multiplier Output parameters – None Return TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupMoveAbortFast (int SocketID, char *GroupName, int DecelerationMultiplier) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – DecelerationMultiplier int Braking deceleration multiplier Output parameters – None Return – Function error code 547 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupMoveAbortFast (ByVal SocketID As Long, ByVal GroupName As String, ByVal DecelerationMultiplier As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – DecelerationMultiplier long Braking deceleration multiplier Output parameters – None Return – Function error code Matlab Prototype int32 GroupMoveAbortFast (int32 SocketID, cstring GroupName, int32 DecelerationMultiplier) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – DecelerationMultiplier int32 Braking deceleration multiplier Return – Function error code Python Prototype integer GroupMoveAbortFast (integer SocketID, string GroupName, integer DecelerationMultiplier) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – DecelerationMultiplier int Return – Function error code EDH0305En1051 — 08/15 548 Braking deceleration multiplier XPS-Q8 Controller Programmer’s Manual 2.3.3.24 GroupMoveAbsolute Name GroupMoveAbsolute - Initiates an absolute move for a positioner or a group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Group status must be "READY” or “MOVING”: ERR_NOT_ALLOWED_ACTION (-22) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid input parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Verify target position in relation with the travel limits: ERR_PARAMETER_OUT_OF_RANGE (-17) - TargetPosition ≥ MinimumTargetPosition - TargetPosition ≤ MaximumTargetPosition Description This function initiates an absolute move to one or all positioners of the selected group. The group state must be “READY” or “MOVING” else ERR_NOT_ALLOWED_ACTION (-22) is returned. If the group is “READY” then the group state becomes “MOVING”. An absolute motion is defined by the distance between to the zero position and the target position. If the current position is the same as the target position then no move will be done. Each “positioner” move refers to the acceleration, velocity, minimum jerkTime and maximum jerkTime as defined in the “Stages.ini” file or as redefined by the “PositionerSGammaParametersSet” function. If a slave or following error is detected during the move then ERR_FOLLOWING_ERROR (-25) or ERR_SLAVE (-44) is returned. In this case, the motion in progress is stopped and the group state becomes “DISABLE”. If a “MotionDoneMode” is defined as “VelocityAndPositionWindowMotionDone” then an ERR_GROUP_MOTION_DONE_TIMEOUT (-33) error will be returned if the time out (defined by “MotionDoneTimeout” in the stages.ini file) is reached before the motion is done. The group state becomes “DISABLE”. If a “GroupMoveAbort” is done, an ERR_GROUP_ABORT_MOTION (-27) is returned. In this case, the motion in progress is stopped and the group state becomes “READY”. During a move with PositionCompare (or TimeFlasher) scan enabled, if the current following error exceeds WarningFollowingError value inside the PositionCompare (or TimeFlasher) scan zone, a WarningFollowingErrorFlag is latched. In this case the motion continues then finishes normally (the group status becomes “READY”), but the GroupMoveAbsolute function returns ERR_WARNING_FOLLOWING_ERROR (120) error instead of SUCCESS (0). To reset WarningFollowingErrorFlag for next 549 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual moves, execute PositionerPositionCompareDisable (or PositionerTimeFlasherDisable) function. If in “GroupKill” command an emergency brake or an emergency stop has occurred, an “ERR_EMERGENCY_SIGNAL (-26)” is returned. In this case, the motion in progress is stopped and the group state becomes “NOTINIT”. NOTE Asynchronous moves for positioners of the same group are possible through the use of different sockets to send functions. Error codes - ERR_EMERGENCY_SIGNAL (-26) - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_ABORT_MOTION (-27) - ERR_GROUP_MOTION_DONE_TIMEOUT (-33) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_SLAVE (-44) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WARNING_FOLLOWING_ERROR (-120) - SUCCESS (0): no error TCL Prototype GroupMoveAbsolute SocketID GroupName TargetPosition Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) – TargetPosition floating point Target position (must be repeated for each positioner of the selected group) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 550 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupMoveAbsolute (int SocketID, char *GroupName, int NbPositioners, double * TargetPosition) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group – TargetPosition double *Target position array Output parameters – None Return – Function error code Visual Basic Prototype Long GroupMoveAbsolute (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, TargetPosition As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name – NbPositioners long Number of positioners in the selected group – TargetPosition double Target position array Output parameters – None Return – Function error code Matlab Prototype int32 GroupMoveAbsolute (int32 SocketID, cstring GroupName, DoublePtr TargetPosition) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring SingleAxis group name – TargetPosition doubletPtr Target position array Return – Function error code 551 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype integer GroupMoveAbsolute (integer SocketID, string GroupName, doublePtr TargetPosition) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string SingleAxis group name – TargetPosition doubletPtr Target position array Return – Function error code EDH0305En1051 — 08/15 552 XPS-Q8 Controller Programmer’s Manual 2.3.3.25 GroupMoveRelative Name GroupMoveRelative - Initiates a relative move for a positioner or a group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Group status must be "READY” or “MOVING”: ERR_NOT_ALLOWED_ACTION (-22) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid input parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Verify target displacment in relation with the travel limits: ERR_PARAMETER_OUT_OF_RANGE (-17) - TargetPosition ≥ MinimumTargetPosition - TargetPosition ≤ MaximumTargetPosition Description This function initiates a relative move defined by the target displacement to one or all positioners of the selected group. The group state must be “READY” or “MOVING” else ERR_NOT_ALLOWED_ACTION (-22) is returned. If the group is “READY” then the group state becomes “MOVING”. The target displacement and the current position defines the new target position to reach: NewTargetPosition = CurrentTargetPosition + TargetDisplacement Each “positioner” move refers to the acceleration, velocity, minimum jerkTime and maximum jerkTime as defined in the “Stages.ini” file or as redefined by the “PositionerSGammaParametersSet” function. If a slave or following error is detected during the move then an “ERR_FOLLOWING_ERROR (-25)” or “ERR_SLAVE (-44)” is returned. In this case, the motion in progress is stopped and the group status becomes “DISABLE”. If a “MotionDoneMode” is defined as “VelocityAndPositionWindowMotionDone” then an “ERR_GROUP_MOTION_DONE_TIMEOUT (-33)” error will be returned if the time out (defined by “MotionDoneTimeout” in the stages.ini file) is reached before the motion is done. The group state becomes “DISABLE”. If a “GroupMoveAbort” is done, an “ERR_GROUP_ABORT_MOTION (-27)” is returned. In this case, the motion in progress is stopped and the group state becomes “READY”. During move with PositionCompare (or TimeFlasher) scan enabled, if the current following error exceeds WarningFollowingError value inside the PositionCompare (or TimeFlasher) scan zone, a WarningFollowingErrorFlag is latched. In this case the motion continues then finishes normally (the group status becomes “READY”), but the GroupMoveRelative function returns ERR_WARNING_FOLLOWING_ERROR (-120) error instead of SUCCESS (0). To reset WarningFollowingErrorFlag for the next 553 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual moves, execute PositionerPositionCompareDisable (or PositionerTimeFlasherDisable) function. If in “GroupKill” command an emergency brake or an emergency stop has occurred, an “ERR_EMERGENCY_SIGNAL (-26)” is returned. In this case, the motion in progress is stopped and the group state becomes “NOTINIT”. NOTE Asynchronous moves for positioners of a same group are possible through the use of different sockets to send the functions. Error codes - ERR_FATAL_INIT (-20) - ERR_EMERGENCY_SIGNAL (-26) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_ABORT_MOTION (-27) - ERR_GROUP_MOTION_DONE_TIMEOUT (-33) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_SLAVE (-44) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WARNING_FOLLOWING_ERROR (-120) - SUCCESS (0): no error TCL Prototype GroupMoveRelative SocketID GroupName Displacement Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) – Displacement floating point Relative displacement (must be repeated for each positioner of the selected group) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 554 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupMoveRelative (int SocketID, char *GroupName, int NbPositioners, double * Displacement) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group – Displacement double * Relative displacement array Output parameters – None Return – Function error code Visual Basic Prototype Long GroupMoveRelative (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, Displacement As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name – NbPositioners long Number of positioners in the selected group – Displacement double Relative displacement array Output parameters – None Return – Function error code Matlab Prototype int32 GroupMoveRelative (int32 SocketID, cstring GroupName, DoublePtr Displacement) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring SingleAxis group name – Displacement doubletPtr Relative displacement array Return – Function error code 555 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype integer GroupMoveRelative (integer SocketID, string GroupName, doublePtr Displacement) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string SingleAxis group name – Displacement doubletPtr Relative displacement array Return – Function error code EDH0305En1051 — 08/15 556 XPS-Q8 Controller Programmer’s Manual 2.3.3.26 GroupPositionCorrectedProfilerGet Name GroupPositionCorrectedProfilerGet – Returns the corrected profiler position for all positioners of an XY group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Valid group type (must be an XY group): ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description The GroupPositionCorrectedProfilerGet function gets the corrected position which is the theoretical position recalculated with the XY mapping correction. This function applies the XY mapping on the theoretical user-defined positions and returns the corrected positions. NOTE This function is only allowed with an XY group. 557 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype GroupPositionCorrectedProfilerGet SocketID GroupName PositionX PositionY CorrectedPositionX CorrectedPositionY Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – PositionX floating point Theoretical position X – PositionY floating point Theoretical position Y – CorrectedPositionX floating point Corrected theoretical position X – CorrectedPositionY floating point Corrected theoretical position Y Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 558 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupPositionCorrectedProfilerGet (int SocketID, char *GroupName, double PositionX, double PositionY, double * CorrectedPositionX, double * CorrectedPositionY) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – PositionX double Theoretical position X – PositionY double Theoretical position Y – CorrectedPositionX double * Corrected theoretical position X – CorrectedPositionY double * Corrected theoretical position Y Output parameters Return – Function error code Visual Basic Prototype Long GroupPositionCorrectedProfilerGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal PositionX As Double, ByVal PositionY As Double, CorrectedPositionX As Double, CorrectedPositionY As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – PositionX double Theoretical position X – PositionY double Theoretical position Y – CorrectedPositionX double Corrected theoretical position X – CorrectedPositionY double Corrected theoretical position Y Output parameters Return – Function error code 559 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, CorrectedPositionX, CorrectedPositionY] GroupPositionCorrectedProfilerGet (int32 SocketID, cstring GroupName, double PositionX, double PositionY) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name – PositionX double Theoretical position X – PositionY double Theoretical position Y – Error int32 Function error code – CorrectedPositionX doubletPtr Corrected theoretical position X – CorrectedPositionY doubletPtr Corrected theoretical position Y Return Python Prototype [Error, CorrectedPositionX, CorrectedPositionY] GroupPositionCorrectedProfilerGet (integer SocketID, string GroupName, double PositionX, double PositionY) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – PositionX double Theoretical position X – PositionY double Theoretical position Y – Error int Function error code – CorrectedPositionX doubletPtr Corrected theoretical position X – CorrectedPositionY doubletPtr Corrected theoretical position Y Return EDH0305En1051 — 08/15 560 XPS-Q8 Controller Programmer’s Manual 2.3.3.27 GroupPositionCurrentGet Name GroupPositionCurrentGet – Returns the current position for one or all positioners of the selected group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description Returns the current position for one or all positioners of the selected group. The current position is defined as: CurrentPosition = SetpointPosition - FollowingError Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 561 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupPositionCurrentGet SocketID GroupName CurrentPosition … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) floating point Current Position (must be repeated for each positioner of group) Output parameters – CurrentPosition Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupPositionCurrentGet (int SocketID, char *GroupName, int NbPositioners, double * CurrentPosition) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group double * Current position array Output parameters – CurrentPosition Return – Function error code Visual Basic Prototype Long GroupPositionCurrentGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, CurrentPosition As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – NbPositioners long Number of positioners in the selected group double Current position array Output parameters – CurrentPosition Return – Function error code EDH0305En1051 — 08/15 562 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, CurrentPosition] GroupPositionCurrentGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – Error int32 Function error code – CurrentPosition doubletPtr Current position array Return Python Prototype [Error, CurrentPosition] GroupPositionCurrentGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – Error int Function error code – CurrentPosition doubletPtr Current position array Return 563 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.28 GroupPositionPCORawEncoderGet Name GroupPositionPCORawEncoderGet – Returns the PCO raw encoder positions for an XY group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Valid group type (must be an XY group): ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the PCO raw encoder positions X and Y from the user specified positions X and Y. NOTE This function is only allowed with an XY group. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 564 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupPositionPCORawEncoderGet SocketID GroupName PositionX PositionY PCORawPositionX CorrectedPositionY Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – PositionX floating point User corrected position X – PositionY floating point User corrected position Y – PCORawPositionX floating point PCO Raw position X – PCORawPositionY floating point PCO Raw position Y Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupPositionPCORawEncoderGet (int SocketID, char *GroupName, double PositionX, double PositionY, double * PCORawPositionX, double * PCORawPositionY) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – PositionX double User corrected position X – PositionY double User corrected position Y – PCORawPositionX double * PCO Raw position X – PCORawPositionY double * PCO Raw position Y Output parameters Return – Function error code 565 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupPositionPCORawEncoderGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal PositionX As Double, ByVal PositionY As Double, PCORawPositionX As Double, PCORawPositionY As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – PositionX double User corrected position X – PositionY double User corrected position Y – PCORawPositionX double PCO Raw position X – PCORawPositionY double PCO Raw position Y Output parameters Return – Function error code Matlab Prototype [Error, PCORawPositionX, PCORawPositionY] GroupPositionPCORawEncoderGet (int32 SocketID, cstring GroupName, double PositionX, double PositionY) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name – PositionX double User corrected position X – PositionY double User corrected position Y – Error int32 Function error code – PCORawPositionX doubletPtr PCO Raw position X – PCORawPositionY doubletPtr PCO Raw position Y Return EDH0305En1051 — 08/15 566 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, PCORawPositionX, PCORawPositionY] GroupPositionPCORawEncoderGet (integer SocketID, string GroupName, double PositionX, double PositionY) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – PositionX double User corrected position X – PositionY double User corrected position Y – Error int Function error code – PCORawPositionX doubletPtr PCO Raw position X – PCORawPositionY doubletPtr PCO Raw position Y Return 567 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.29 GroupPositionSetpointGet Name GroupPositionSetpointGet – Returns the setpoint position for one or all positioners of the selected group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description Returns the setpoint position for one or all positioners of the selected group. The “setpoint” position is calculated by the motion profiler and represents the “theoretical” position to reach. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 568 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupPositionSetpointGet SocketID GroupName SetpointPosition … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) floating point Setpoint position (must be repeated for each positioner of group) Output parameters – SetpointPosition Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupPositionSetpointGet (int SocketID, char *GroupName, int NbPositioners, double * SetpointPosition) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group double * Setpoint position array Output parameters – SetpointPosition Return Function error code 569 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupPositionSetpointGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, SetpointPosition As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – NbPositioners long Number of positioners in the selected group double Setpoint position array Output parameters – SetpointPosition Return – Function error code Matlab Prototype [Error, SetpointPosition] GroupPositionSetpointGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – Error int32 Function error code – SetpointPosition doubletPtr Setpoint position array Return Python Prototype [Error, SetpointPosition] GroupPositionSetpointGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – Error int Function error code – SetpointPosition doubletPtr Setpoint position array Return EDH0305En1051 — 08/15 570 XPS-Q8 Controller Programmer’s Manual 2.3.3.30 GroupPositionTargetGet Name GroupPositionTargetGet – Returns the target position for one or all positioners of the selected group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description Returns the target position for one or all positioners of the selected group. The target position represents the “end” position after the move. For instance, during a move from 0 to 10 units, the position values are: GroupPositionTargetGet => 10.0000 GroupPositionCurrentGet => 5.0005 GroupPositionSetpointGet => 5.0055 Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_OBJECT_TYPE (-8) - SUCCESS (0): no error 571 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupPositionTargetGet SocketID GroupName TargetPosition … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) floating point Target position (must be repeated for each positioner of group) Output parameters – TargetPosition Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupPositionTargetGet (int SocketID, char *GroupName, int NbPositioners, double * TargetPosition) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group double * Target position array Output parameters – TargetPosition Return – Function error code EDH0305En1051 — 08/15 572 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupPositionTargetGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, TargetPosition As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – NbPositioners long Number of positioners in the selected group double Target position array Output parameters – TargetPosition Return Function error code Matlab Prototype [Error, TargetPosition] GroupPositionTargetGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – Error int32 Function error code – TargetPosition doubletPtr Target position array Return Python Prototype [Error, TargetPosition] GroupPositionTargetGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – Error int Function error code – TargetPosition doubletPtr Target position array Return 573 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.31 GroupStatusGet Name GroupStatusGet – Returns the group status code. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid output parameter type: ERR_WRONG_TYPE_INT (-15) - Valid group name: ERR_GROUP_NAME (-19) Description Returns the group status code. The group status codes are listed in the “Group status list” § 0. The description of the group status code can be retrieved from the “GroupStatusStringGet” function. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype GroupStatusGet SocketID GroupName GroupStatus Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) interger State of the group. Output parameters – GroupStatus Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 574 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupStatusGet (int SocketID, char *GroupName, int * GroupStatus) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name int * Status of the group Output parameters – GroupStatus Return – Function error code Visual Basic Prototype Long GroupStatusGet (ByVal SocketID As Long, ByVal GroupName As String, GroupStatus As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – GroupStatus LongStatus of the group Return – Function error code Matlab Prototype [Error, GroupStatus] GroupStatusGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – Error int32 Function error code – GroupStatus int32Status of the group Return 575 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, GroupStatus] GroupStatusGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – Error int Function error code – GroupStatus integerStatus of the group Return EDH0305En1051 — 08/15 576 XPS-Q8 Controller Programmer’s Manual 2.3.3.32 GroupReferencingActionExecute Name GroupReferencingActionExecute – Initiates the given action, with the given sensor and parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Group status must be “NOT REFERENCED”: ERR_NOT_ALLOWED_ACTION (-22) - Valid action name and sensor name: ERR_WRONG_OBJECT_TYPE (-8) - Valid input parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Input parameter coherence: ERR_PARAMETER_OUT_OF_RANGE (-17) - For a “LatchOnHighToLowTransition” or “LatchOnLowToHighTransition” or “LatchOnIndex” or “LatchOnIndexAfterSensorHighToLowTransition” or “MoveToPreviouslyLatchedPosition” action. - Parameter ≤ MaximumVelocity - Parameter ≠ 0 - Referencing state: ERR_NOT_ALLOWED_ACTION (-22) - Latch must be done since referencing start for a “MoveToPreviouslyLatchedPosition” action. Description Initiates a referencing action for a positioner. A referencing action is defined by a given action name (see action list), with a given sensor name (see sensor list) and parameters. For more detail, see the XPS User’s manual referencing section. Action listSensor to be defined LatchOnHighToLowTransition Yes LatchOnIndex None LatchOnIndexAfterSensorHighToLowTransition Yes LatchOnLowToHighTransition Yes MoveRelative None MoveToPreviouslyLatchedPosition None SetPosition None SetPositionToHomePreset None Sensor list MechanicalZero MinusEndOfRun PlusEndOfRun None 577 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual If a following error occurs during the referencing and motion is in progress, an emergency brake is applied and ERR_FOLLOWING_ERROR (-25) is returned. The group state becomes “NOTINIT”. If the home search time out is reached, ERR_GROUP_HOME_SEARCH_TIMEOUT (28) is returned. The group state becomes “NOTINIT”. When referencing is done, you can exit the “REFERENCING” state to go in “READY” state with the “GroupReferencingStop” function. CAUTION This function must be used with a positioner. Error codes - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_HOME_SEARCH_TIMEOUT (-28) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype GroupReferencingActionExecute SocketID PositionerName Action Sensor Parameter Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name (maximum size = 250) – ActionString Referencing action name – SensorString Referencing sensor name – Parameter floating point Referencing parameter (related to the referencing action) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 578 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupReferencingActionExecute (int SocketID, char * PositionerName, char * Action, char * Sensor, double Parameter) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * Positioner name – Action char * Referencing action name – Sensor char * Referencing sensor name – Parameter double Referencing parameter (related to the referencing action) Output parameters – None Return – Function error code Visual Basic Prototype Long GroupReferencingActionExecute (ByVal SocketID As Long, String PositionerName, ByVal Action As String, ByVal Sensor As String, ByVal Parameter As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string Positioner name – ActionString Referencing action name – SensorString Referencing sensor name – Parameter double Referencing parameter (related to the referencing action) Output parameters – None Return – Function error code 579 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] GroupReferencingActionExecute (int32 SocketID, cstring PositionerName, cstring Action, cstring Sensor, double Parameter) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring Positioner name – Action cstring Referencing action name – Sensor cstring Referencing sensor name – Parameter double Referencing parameter (related to the referencing action) int32 Function error code Return – Error Python Prototype [Error] GroupReferencingActionExecute (integer SocketID, string PositionerName, string Action, string Sensor, double Parameter) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string Positioner name – ActionString Referencing action name – SensorString Referencing sensor name – Parameter double Referencing parameter (related to the referencing action) int Function error code Return – Error EDH0305En1051 — 08/15 580 XPS-Q8 Controller Programmer’s Manual 2.3.3.33 GroupReferencingStart Name GroupReferencingStart – Starts the referencing mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid group name: ERR_GROUP_NAME (-19) - Group status must be “NOT REFERENCED”: ERR_NOT_ALLOWED_ACTION (-22) Description Starts the referencing mode and sets the group status as “REFERENCING”. To use this function, the selected group must be in “NOT REFERENCED” state, else ERR_NOT_ALLOWED_ACTION (-22) is returned. To stop the referencing mode and to go in the “READY” state, call the “GroupReferencingStop” function. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GroupReferencingStart SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 581 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupReferencingStart (int SocketID, char * GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupReferencingStart (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return Function error code Matlab Prototype [Error] GroupReferencingStart (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name int32 Function error code Return – Error EDH0305En1051 — 08/15 582 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] GroupReferencingStart (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name int Function error code Return – Error 583 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.3.3.34 GroupReferencingStop Name GroupReferencingStop – Stops the referencing mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid group name: ERR_GROUP_NAME (-19) - Group status must be “REFERENCING”: ERR_NOT_ALLOWED_ACTION (-22) Description Stops the referencing mode and sets the group state to “READY”. To use this function, the selected group must be in “REFERENCING” state, else ERR_NOT_ALLOWED_ACTION (-22) is returned. The travel limits are checked before stopping referencing mode. The ERR_TRAVEL_LIMITS (-35) is returned if the profiler position is out of range of the software travel limits and the group stays in the “REFERENCING” state. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_TRAVEL_LIMITS (-35) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GroupReferencingStop SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 584 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupReferencingStop (int SocketID, char * GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupReferencingStop (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – None Return – Function error code Matlab Prototype [Error] GroupReferencingStop (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name int32 Function error code Return – Error 585 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] GroupReferencingStop (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name int Function error code Return – Error EDH0305En1051 — 08/15 586 XPS-Q8 Controller Programmer’s Manual 2.3.3.35 GroupVelocityCurrentGet Name GroupVelocityCurrentGet – Returns the current velocity for one or all positioners of the selected group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group or positioner): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description Returns the current velocity for one or all positioners of the selected group. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype GroupVelocityCurrentGet SocketID GroupName CurrentVelocity … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) floating point Current Velocity (must be repeated for each positioner of group) Output parameters – CurrentPosition Return – TCL error code (0 = success or 1 = syntax error) or Function error code 587 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupVelocityCurrentGet (int SocketID, char *GroupName, int NbPositioners, double * CurrentVelocity) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – NbPositioners int Number of positioners in the selected group double * Current Velocity array Output parameters – CurrentVelocity Return – Function error code Visual Basic Prototype Long GroupVelocityCurrentGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal NbPositioners As Long, CurrentVelocity As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – NbPositioners long Number of positioners in the selected group double Current Velocity array Output parameters – CurrentVelocity Return – Function error code Matlab Prototype [Error, CurrentVelocity] GroupVelocityCurrentGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – Error int32 Function error code – CurrentVelocity doubletPtr Current Velocity array Return EDH0305En1051 — 08/15 588 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, CurrentVelocity] GroupVelocityCurrentGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – Error int Function error code – CurrentVelocity doubletPtr Current Velocity array Return 589 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.4 SingleAxis Group 2.4.1 Description The SingleAxis is composed of one single positioner for the execution of motion commands. A SingleAxis group can be use in GANTRY mode (dual positioner). The XPS controller can handle several SingleAxis objects (1 to 8). There is no relation between SingleAxis objects and other objects handled by the controller. 2.4.2 State Diagram Called functions: (a) GroupInitialize (g) GroupMotionEnable (m) GroupAnalogTrackingModeDisable (s) PositionerExcitationSignalSet / PositionerPreCorrectorExcitationSignalSet (b) GroupHomeSearch (h) GroupMoveAbort (n) GroupInitializeWithEncoderCalibration (t) GroupSlaveModeDisable (c) GroupMoveAbsolute (i) GroupKill or KillAll (o) GroupReferencingStart (u) GroupInitializeNoEncoderReset (d) GroupMoveRelative (j) GroupJogModeEnable (p) GroupReferencingStop (e) GroupSlaveModeEnable (k) GroupJogModeDisable (q) PositionerAccelerationAutoScaling (f) GroupMotionDisable (l) GroupAnalogTrackingModeEnable (r) PositionerCorrectorAutoTuning EDH0305En1051 — 08/15 590 XPS-Q8 Controller Programmer’s Manual 2.4.3 Specific Function Description 2.4.3.1 SingleAxisSlaveModeDisable Name SingleAxisSlaveModeDisable – Disables the slave-master mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "SLAVE”: ERR_NOT_ALLOWED_ACTION (-22) - Check the group name: ERR_GROUP_NAME (-19) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group type (must be a SingleAxis group): ERR_WRONG_OBJECT_TYPE (-8) Description This function disables the master-slave mode. If a motion is in progress then it is aborted. To use this function, the group state must be SLAVE (46). If it’s not the case then ERR_NOT_ALLOWED_ACTION (-22) is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 591 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype SingleAxisSlaveModeDisable $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int SingleAxisSlaveModeDisable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * SingleAxis group name Output parameters – None Return – Function error code Visual Basic Prototype Long SingleAxisSlaveModeDisable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 592 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 SingleAxisSlaveModeDisable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring SingleAxis group name Return – Function error code Python Prototype integer SingleAxisSlaveModeDisable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string SingleAxis group name Return – Function error code 593 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.4.3.2 SingleAxisSlaveModeEnable Name SingleAxisSlaveModeEnable – Enables the slave-master mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Check the group name: ERR_GROUP_NAME (-19) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group type (must be a SingleAxis group): ERR_WRONG_OBJECT_TYPE (-8) - Check the slave parameters (must be configured): ERR_SLAVE_CONFIGURATION (-41) Description This function enables the master-slave mode only if the slave group is in "READY" state. In this mode the slave must be defined as a SingleAxis group and the master can be a positioner from any group. To use this function, the SingleAxis group must be in the READY state. If it’s not the case then ERR_NOT_ALLOWED_ACTION (-22) is returned. To use this function, the master positioner and the slave ratio must be configured using the “SingleAxisSlaveParametersSet” function. If it’s not the case then ERR_SLAVE_CONFIGURATION (-41) is returned. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_SLAVE_CONFIGURATION (-41) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 594 XPS-Q8 Controller Programmer’s Manual TCL Prototype SingleAxisSlaveModeEnable $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int SingleAxisSlaveModeEnable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * SingleAxis group name Output parameters – None Return – Function error code Visual Basic Prototype Long SingleAxisSlaveModeEnable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxis group name Output parameters – None Return – Function error code 595 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 SingleAxisSlaveModeEnable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring SingleAxis group name Return – Function error code Python Prototype integer SingleAxisSlaveModeEnable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string SingleAxis group name Return – Function error code EDH0305En1051 — 08/15 596 XPS-Q8 Controller Programmer’s Manual 2.4.3.3 SingleAxisSlaveParametersGet Name SingleAxisSlaveParametersGet – Returns the slave parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group type (must be a SingleAxis group): ERR_WRONG_OBJECT_TYPE (-8) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_CHAR (-13) - Check the slave parameters (must be configured): ERR_NOT_ALLOWED_ACTION (-22) Description This function returns the slave parameters: the master positioner name and the masterslave ratio. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 597 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype SingleAxisSlaveParametersGet $SocketID $GroupName MasterPositionerName Ratio Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) Output parameters – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int SingleAxisSlaveParametersGet (int SocketID, char *GroupName, int NbPositioners, char * MasterPositionerName , double * Ratio) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name Output parameters – MasterPositionerName char * Master positioner name from any group – Ratio Gear ratio between the master and the slave double * Return – Function error code EDH0305En1051 — 08/15 598 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long SingleAxisSlaveParametersGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal MasterPositionerName As String, Ratio As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name Output parameters – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double Return – Function error code Matlab Prototype [Error, MasterPositionerName, Ratio] SingleAxisSlaveParametersGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name int32 Function error code Return – Error – MasterPositionerName cstring Master positioner name from any group – Ratio Gear ratio between the master and the slave double Python Prototype [Error, MasterPositionerName, Ratio] SingleAxisSlaveParametersGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name int Function error code Return – Error – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double 599 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.4.3.4 SingleAxisSlaveParametersSet Name SingleAxisSlaveParametersSet – Sets the slave parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the master positioner name: ERR_POSITIONER_NAME (-18) - Check the master group type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_CHAR (-13) - Check the slave parameters (must be configured): ERR_NOT_ALLOWED_ACTION (-22) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the ratio value (Ratio > 0): ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function configures the slave parameters only for a SingleAxis group. The slave is a copy of the master and a ratio can be applied: Slave = Ratio * Master. The slave-master mode is activated only after the call of “SingleAxisSlaveModeEnable” function. The master can be a positioner from any group, except from a spindle group. If the master group is a spindle then ERR_NOT_ALLOWED_ACTION (-22) is returned. The master positioner must be different from the slave positioner else ERR_WRONG_OBJECT_TYPE (-8) is returned. NOTE After an emergency stop, the master group and the slave group are in “NOTINIT” status. To restart a master-slave relation, the slave group(s) must be reinitialized before the master group. EDH0305En1051 — 08/15 600 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype SingleAxisSlaveParametersSet $SocketID $GroupName $MasterPositionerName $Ratio Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name (maximum size = 250) – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 601 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int SingleAxisSlaveParametersSet (int SocketID, char *GroupName, int NbPositioners, char * MasterPositionerName , double Ratio) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Group name – MasterPositionerName char * Master positioner name from any group – Ratio Gear ratio between the master and the slave double Output parameters – None Return – Function error code Visual Basic Prototype Long SingleAxisSlaveParametersSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal MasterPositionerName As String, ByVal Ratio As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Group name – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double Output parameters – None Return – Function error code EDH0305En1051 — 08/15 602 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] SingleAxisSlaveParametersSet (int32 SocketID, cstring GroupName, cstring MasterPositionerName, double Ratio) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Group name – MasterPositionerName cstring Master positioner name from any group – Ratio double Gear ratio between the master and the slave int32 Function error code Return – Error Python Prototype [Error] SingleAxisSlaveParametersSet (integer SocketID, string GroupName, string MasterPositionerName, double Ratio) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Group name – MasterPositionerName string Master positioner name from any group – Ratio double Gear ratio between the master and the slave int Function error code Return – Error 603 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.4.4 Configuration Files An example of a SingleAxis group (named “MySingleAxis”) is in the system.ini file below. The “MySingleAxis” group is comprised of a positioner named “MyPositioner”. The positioner “MyPositioner” uses the parameters of “MYSTAGE” from the stages.ini file and is connected to the plug 1 of the XPS controller. The Positioner “MyPositioner” has a secondary positioner in gantry mode. This secondary positioner uses the parameters of “MYSTAGE” from the stages.ini file and is connected to the plug 2 of the XPS controller. NOTE PIDBaseFilter parameter in system.ini file is to be configured only when using the XPS-Qn Precision Platform controller. System.ini file: [GROUPS] SingleAxisInUse = MySingleAxis [MySingleAxis] ; Configuration of “MySingleAxis” SingleAxis group PositionerInUse = MyPositioner [MySingleAxis. MyPositioner] PlugNumber = 1 StageName = MYSTAGE ; --- Time flasher TimeFlasherBaseFrequency = ; default value 40e6, must be between 39.5e6 and 40.5e6 Hz ;--- PIDBase filter (take into account the base movements, effective only with PIDFFAcceleration corrector) To be added only when using XPS-Q8 Precision Platform controller PIDBaseFilter = ; Enabled or Disabled. MovingMass = ; If PIDBaseFilter = Enabled StaticMass = ; If PIDBaseFilter = Enabled Viscosity = ; If PIDBaseFilter = Enabled Stiffness = ; If PIDBaseFilter = Enabled ;--- If Gantry (secondary positioner) SecondaryPositionerGantry = ; Enabled or Disabled SecondaryPlugNumber = 2 ; If SecondaryPositionerGantry = Enabled SecondaryStageName = MYSTAGE ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryEndReferencingPosition = 0 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryEndReferencingTolerance =1 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryOffsetAfterInitialization =0 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryMotorEnableDelay = ;seconds,if SecondaryPositionerGantry = Enabled EDH0305En1051 — 08/15 604 XPS-Q8 Controller Programmer’s Manual Stages.ini file: [MYSTAGE] MYSTAGE configuration => See § “Positioner: Configuration filess” 605 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.5 SingleAxisWithClamping Group 2.5.1 Description The SingleAxisWithClamping is composed of one single positioner that allows execution of motion commands. In general it is similar to SingleAxis group, the only difference is the support of clamping motions: axis is clamped before moves, unclamped during moves and reclamped at stop. A SingleAxisWithClamping group can NOT be used in GANTRY mode (secondary positioner is impossible). The XPS controller can handle several SingleAxisWithClamping objects (1 to 8). NOTE This group can be used only with the XPS-Qn Precision Platform controller. EDH0305En1051 — 08/15 606 XPS-Q8 Controller Programmer’s Manual 2.5.2 State Diagram Called functions: (a) GroupInitialize (f) GroupMotionDisable (k) GroupJogModeDisable (p) GroupReferencingStop (b) GroupHomeSearch (g) GroupMotionEnable (l) GroupAnalogTrackingModeEnable (q) PositionerAccelerationAutoScaling (c) GroupMoveAbsolute (h) GroupMoveAbort (m) GroupAnalogTrackingModeDisable (r) GroupInitializeNoEncoderReset (d) GroupMoveRelative (i) GroupKill or KillAll (n) GroupInitializeWithEncoderCalibration (j) GroupJogModeEnable (o) GroupReferencingStart 607 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.5.3 Configuration Files An example of a SingleAxisWithClamping group (named “MySingleAxisWithClamping”) is shown in the system.ini file below. The “MySingleAxisWithClamping” group is composed of a positioner named “MyPositioner”. The positioner “MyPositioner” uses the parameters of “MYSTAGE” from the stages.ini file and is connected to plug 1 of the XPS controller. The Positioner “MyPositioner” has a secondary positioner (option to build a “gantry” position). This secondary positioner uses the parameters of “MYSTAGE” from the stages.ini file and is connected to plug 2 of the XPS controller. NOTE Configuration below is applicable only to the XPS-Qn Precision Platform controller. System.ini file: [GROUPS] SingleAxisWithClampingInUse = MySingleAxisWithClamping [MySingleAxisWithClamping] ; Configuration of “MySingleAxisWithClamping” SingleAxisWithClamping group PositionerInUse = MyPositioner ClampInputBit = NoFeedback ; GPIOx.DIy (x=1,y=1..8 or x=2,y=1..6 or x=3,y=1..6 or x=4,y=1..16) or NoFeedback (sensor simulation) ClampInputMode = NonInverted ; NonInverted (clamped if input=1, unclamped if input=0) or Inverted (clamped if input=0, unclamped if input=1), parameter not needed if ClampInputBit=NoFeedback ClampOutputBit = GPIO4.DO2 x=4,y=1..16) ; GPIOx.DOy (x=1,y=1..8 or x=3,y=1..6 or ClampOutputMode = Inverted ; NonInverted (output 1 to clamp, output 0 to unclamp) or Inverted (output 0 to clamp, output 1 to unclamp) ClampingActivatingTime = 0.03 ; seconds ClampingActivatingTimeout = 0.5 ; seconds ClampingReleaseTime = 0.12 ; seconds ClampingReleaseTimeout = 0.5 ; seconds ClampingPositionOffset = 0 ; units [MySingleAxisWithClamping. MyPositioner] PlugNumber = 1 StageName = MYSTAGE ; --- Time flasher TimeFlasherBaseFrequency = ; default value 40e6, must be between 39.5e6 and 40.5e6 Hz ;--- PIDBase filter (take into account the base movements, effective only with PIDFFAcceleration corrector) EDH0305En1051 — 08/15 PIDBaseFilter = ; Enabled or Disabled MovingMass = ; If PIDBaseFilter = Enabled 608 XPS-Q8 Controller Programmer’s Manual StaticMass = ; If PIDBaseFilter = Enabled Viscosity = ; If PIDBaseFilter = Enabled Stiffness = ; If PIDBaseFilter = Enabled Stages.ini file: [MYSTAGE] MYSTAGE configuration => See § “Positioner: Configuration filess” – 609 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.6 2.6.1 SingleAxisTheta Group Description The SingleAxisTheta is composed of one single positioner object with three encoders (Theta encoder) for the execution of motion commands. It includes a “Yaw” mapping and a “Theta” correction on an XY group. NOTE This group can be used only with the XPS-Qn Precision Platform controller. EDH0305En1051 — 08/15 610 XPS-Q8 Controller Programmer’s Manual 2.6.2 State Diagram Called functions: (g) GroupMotionEnable (m) GroupAnalogTrackingModeDisable (s) PositionerExcitationSignalSet / PositionerPreCorrectorExcitationSignalSet (b) GroupHomeSearch (h) GroupMoveAbort (n) GroupInitializeWithEncoderCalibration (t) GroupSlaveModeDisable (c) GroupMoveAbsolute (i) GroupKill or KillAll (o) GroupReferencingStart (u) GroupInitializeNoEncoderReset (d) GroupMoveRelative (j) GroupJogModeEnable (p) GroupReferencingStop (e) GroupSlaveModeEnable (k) GroupJogModeDisable (q) PositionerAccelerationAutoScaling (f) GroupMotionDisable (l) GroupAnalogTrackingModeEnable (r) PositionerCorrectorAutoTuning (a) GroupInitialize 611 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.6.3 2.6.3.1 Clamping Sequence Clamping state diagram NOTES In case of recoverable errors (go to DISABLE state or go to READY state), the clamp is unclamped. In case of fatal errors (go to NOT INIT state), the clamp stays in the current state (clamped). 2.6.3.2 Clamping configuration ; Clamping ClampRestType = Unclamped ; Clamped or Unclamped ClampActivatingTime = 0.03 ; seconds ClampActivatingTimeOut = 0.5 ; seconds ClampReleaseTime = 0.12 ; seconds ClampReleaseTimeOut = 0.5 ; seconds EDH0305En1051 — 08/15 612 XPS-Q8 Controller Programmer’s Manual 2.6.4 Specific Functions Description 2.6.4.1 SingleAxisThetaClampDisable Name SingleAxisThetaClampDisable – unclamp a SingleAxisTheta group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function unclamps the selected SingleAxisTheta group The group must be in the CLAMPED state. If unclamping is successful, the group is unclamped and the group state becomes “READY”. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 613 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype SingleAxisThetaClampDisable SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxisTheta group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int SingleAxisThetaClampDisable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * SingleAxisTheta group name Output parameters – None Return – Function error code Visual Basic Prototype Long SingleAxisThetaClampDisable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxisTheta group name Output parameters – None Return Function error code EDH0305En1051 — 08/15 614 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] SingleAxisThetaClampDisable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring SingleAxisTheta group name int32 Function error code Return – Error Python Prototype [Error] SingleAxisThetaClampDisable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string SingleAxisTheta group name int Function error code Return – Error 615 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.6.4.2 SingleAxisThetaClampEnable Name SingleAxisThetaClampEnable – clamps a SingleAxisTheta group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type (group): ERR_WRONG_OBJECT_TYPE (-8) - Valid group name: ERR_GROUP_NAME (-19) - Valid positioner name: ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function clamps the selected SingleAxisTheta group. The group must be in the READY state. If clamping is successful, the group is clamped and the group state becomes “CLAMPED”. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 616 XPS-Q8 Controller Programmer’s Manual TCL Prototype SingleAxisThetaClampEnable SocketID GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxisTheta group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int SingleAxisThetaClampEnable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * SingleAxisTheta group name Output parameters – None Return – Function error code Visual Basic Prototype Long SingleAxisThetaClampEnable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string SingleAxisTheta group name Output parameters – None Return – Function error code 617 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] SingleAxisThetaClampEnable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring SingleAxisTheta group name int32 Function error code Return – Error Python Prototype [Error] SingleAxisThetaClampEnable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string SingleAxisTheta group name int Function error code Return – Error EDH0305En1051 — 08/15 618 XPS-Q8 Controller Programmer’s Manual 2.6.5 Configuration Files Example of configuration file for a “SingleAxisTheta” group named “THETA” composed of one only positioner named “MyPOSITIONER”. NOTE Configuration below relates only XPS-Q8 Precision Platform controller. System.ini file: [GROUPS] SingleAxisThetaInUse = THETA [THETA] ; THETA SingleAxisTheta group configuration PositionerInUse = MyPOSITIONER ; Theta correction on XY ThetaCorrectionXYGroupName = ThetaCorrectionLowPassCutOffFrequency = 20 ; Hz ; Yaw mapping YawMappingXYGroupName = YawMappingToThetaFileName = YawMappingToThetaLineNumber = YawMappingToThetaColumnNumber = YawMappingToThetaMaxPositionError = YawMappingToXFileName = YawMappingToXLineNumber = YawMappingToXColumnNumber = YawMappingToXMaxPositionError = YawMappingToYFileName = YawMappingToYMaxPositionError = YawMappingToYLineNumber = YawMappingToYColumnNumber = ; Clamping ClampRestType = Unclamped ; Clamped or Unclamped ClampActivatingTime = 0.03 ; seconds ClampActivatingTimeOut = 0.5 ; seconds ClampReleaseTime = 0.12 ; seconds ClampReleaseTimeOut = 0.5 ; seconds [THETA.MyPOSITIONER] PlugNumber = 1,2,3 ; Theta with 3 encoders 619 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual StageName = MySTAGE ; --- Time flasher TimeFlasherBaseFrequency = ; default value 40e6, must be between 39.5e6 and 40.5e6 Hz ;--- PIDBase filter (take into account the base movements, effective only with PIDFFAcceleration corrector) PIDBaseFilter = ; Enabled or Disabled MovingMass = ; If PIDBaseFilter = Enabled StaticMass = ; If PIDBaseFilter = Enabled Viscosity = ; If PIDBaseFilter = Enabled Stiffness = ; If PIDBaseFilter = Enabled Stiffness = Stages.ini file: [MySTAGE] ;--- Position encoder interface parameters EncoderType = AquadBTheta ; AquadBTheta or AnalogInterpolatedTheta ;--- THETA encoder features EncoderRadius = 150e-6 ; units XY * 10-6 MaximumEncoderCorrectionX = 10000 MaximumEncoderCorrectionY = 10000 […] For more information about MYSTAGE configuration => See § “Positioner: Configuration filess” NOTE EncoderType must be “AquadBTheta” or “AnalogInterpolatedTheta”. EDH0305En1051 — 08/15 620 XPS-Q8 Controller Programmer’s Manual 2.7 Spindle Group 2.7.1 Description A Spindle group is very similar to the SingleAxis group. It’s composed of only one positioner with one main difference, it does not handle software or hardware end of runs. Therefore, it is allowed to spin indefinitely in any direction. SingleAxis group motion commands are still allowed (except jog, which is replaced by spin). The controller can handle several Spindle groups. There is no relation between Spindle groups and other objects handled by the controller. 2.7.2 State Diagram Called functions: (a) GroupInitialize (g) GroupMotionEnable (m) GroupAnalogTrackingModeDisable (s) PositionerExcitationSignalSet / PositionerPreCorrectorExcitationSignalSet (b) GroupHomeSearch (h) GroupMoveAbort (n) GroupInitializeWithEncoderCalibration (t) GroupSlaveModeDisable (c) GroupMoveAbsolute (i) GroupKill or KillAll (o) GroupReferencingStart (u) GroupInitializeNoEncoderReset (d) GroupMoveRelative (j) GroupJogModeEnable (p) GroupReferencingStop (e) GroupSlaveModeEnable (k) GroupJogModeDisable (q) PositionerAccelerationAutoScaling (f) GroupMotionDisable (l) GroupAnalogTrackingModeEnable (r) PositionerCorrectorAutoTuning 621 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.7.3 Specific Function Description 2.7.3.1 GroupSpinCurrentGet Name GroupSpinCurrentGet – Returns the spin mode parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group type (must be a Spindle group): ERR_WRONG_OBJECT_TYPE (-8) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the current (or actual) velocity and acceleration used by the SPIN mode. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 622 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupSpinCurrentGet $SocketID $GroupName Velocity Acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name (maximum size = 250) – Velocity double Velocity (units/s) – Acceleration double Acceleration (units/s²) Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupSpinCurrentGet (int SocketID, char *GroupName, double * Velocity, double * Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Spindle group name – Velocity double * Velocity (units/s) – Acceleration double * Acceleration (units/s²) Output parameters Return – Function error code Visual Basic Prototype Long GroupSpinCurrentGet (ByVal SocketID As Long, ByVal GroupName As String, Velocity As Double, Acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name – Velocity double Velocity (units/s) – Acceleration double Acceleration (units/s²) Output parameters Return – Function error code 623 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, Velocity, Acceleration] GroupSpinCurrentGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Spindle group name – Error int32 Function error code – Velocity double Velocity (units/s) – Acceleration double Acceleration (units/s²) Return Python Prototype [Error, Velocity, Acceleration] GroupSpinCurrentGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Spindle group name – Error int Function error code – Velocity double Velocity (units/s) – Acceleration double Acceleration (units/s²) Return EDH0305En1051 — 08/15 624 XPS-Q8 Controller Programmer’s Manual 2.7.3.2 GroupSpinModeStop Name GroupSpinModeStop – Stops the motion of the spindle group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner name (must be a group name): ERR_POSITIONER_NAME (18) - Check the group type (must be a Spindle group): ERR_WRONG_OBJECT_TYPE (-8) Description This function stops the motion of a spindle group and sets the group state to READY. To use this function, the group must be in SPINNING state else ERR_NOT_ALLOWED_ACTION (-22) is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GroupSpinModeStop $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 625 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupSpinModeStop (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Spindle group name Output parameters – None Return – Function error code Visual Basic Prototype Long GroupSpinModeStop (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name Output parameters – None Return – Function error code Matlab Prototype [Error] GroupSpinModeStop (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Spindle group name int32 Function error code Return – Error EDH0305En1051 — 08/15 626 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] GroupSpinModeStop (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Spindle group name int Function error code Return – Error 627 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.7.3.3 GroupSpinParametersGet Name GroupSpinParametersGet – Returns the spin profiler parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a spindle group): ERR_WRONG_OBJECT_TYPE (-8) - Check the function (must be a spindle function): ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the “Setpoint” (theoretical) velocity and acceleration used in the SPIN mode. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype GroupSpinParametersGet $SocketID $GroupName Velocity Acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name (maximum size = 250) – Velocity double Setpoint Velocity (units/s) – Acceleration double Setpoint Acceleration (units/s²) Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 628 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GroupSpinParametersGet (int SocketID, char *GroupName, double * Velocity, double * Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Spindle group name – Velocity double * Setpoint Velocity (units/s) – Acceleration double * Setpoint Acceleration (units/s²) Output parameters Return – Function error code Visual Basic Prototype Long GroupSpinParametersGet (ByVal SocketID As Long, ByVal GroupName As String, Velocity As Double, Acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name – Velocity double Setpoint Velocity (units/s) – Acceleration double Setpoint Acceleration (units/s²) Output parameters Return – Function error code Matlab Prototype [Error, Velocity, Acceleration] GroupSpinParametersGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Spindle group name – Error int32 Function error code – Velocity double Setpoint Velocity (units/s) – Acceleration double Setpoint Acceleration (units/s²) Return 629 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, Velocity, Acceleration] GroupSpinParametersGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Spindle group name – Error int Function error code – Velocity double Setpoint Velocity (units/s) – Acceleration double Setpoint Acceleration (units/s²) Return EDH0305En1051 — 08/15 630 XPS-Q8 Controller Programmer’s Manual 2.7.3.4 GroupSpinParametersSet Name GroupSpinParametersSet – Sets the spin profiler parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a spindle group): ERR_WRONG_OBJECT_TYPE (-8) - Check the function (must be a spindle function): ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check input parameter value: ERR_PARAMETER_OUT_OF_RANGE (-17) - Velocity <= MaximumVelocity - Velocity >= - MaximumVelocity - Acceleration > 0 - Acceleration ≤ MaximumAcceleration Description This function starts the SPIN mode and also allows on-the-fly changes to the velocity and acceleration used by the SPIN mode. If an error occurs, the positioner stops and the velocity value is set to zero. After the tests on input values: If Velocity > MaximumVelocity => Velocity = MaximumVelocity If Velocity < - MaximumVelocity => Velocity = - MaximumVelocity If Acceleration ≤ 0 => ERROR and stop motion If Acceleration > MaximumAcceleration => Acceleration = MaximumAcc. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 631 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GroupSpinParametersSet $SocketID $GroupName $Velocity $Acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name (maximum size = 250) – Velocity double Setpoint Velocity (units/s) – Acceleration double Setpoint Acceleration (units/s²) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GroupSpinParametersSet (int SocketID, char *GroupName, double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Spindle group name – Velocity double Setpoint Velocity (units/s) – Acceleration double Setpoint Acceleration (units/s²) Output parameters – None Return – Function error code EDH0305En1051 — 08/15 632 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GroupSpinParametersSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal Velocity As Double, ByVal Acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name – Velocity double Setpoint Velocity (units/s) – Acceleration double Setpoint Acceleration (units/s²) Output parameters – None Return – Function error code Matlab Prototype [Error] GroupSpinParametersSet (int32 SocketID, cstring GroupName, double Velocity, double Acceleration) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Spindle group name – Velocity double Setpoint Velocity (units/s) – Acceleration double Setpoint Acceleration (units/s²) int32 Function error code Return – Error Python Prototype [Error, Velocity, Acceleration] GroupSpinParametersSet (integer SocketID, string GroupName, double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Spindle group name – Velocity double Setpoint Velocity (units/s) – Acceleration double Setpoint Acceleration (units/s²) int Function error code Return – Error 633 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.7.3.5 SpindleSlaveModeDisable Name SpindleSlaveModeDisable – Disables the slave-master mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "SLAVE”: ERR_NOT_ALLOWED_ACTION (-22) - Check the group name: ERR_GROUP_NAME (-19) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group type (must be a Spindle group): ERR_WRONG_OBJECT_TYPE (-8) Description This function disables the master-slave mode for a spindle group. If a motion is in progress then it is aborted. To use this function, the group state must be SLAVE (46). If it’s not the case then ERR_NOT_ALLOWED_ACTION (-22) is returned. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 634 XPS-Q8 Controller Programmer’s Manual TCL Prototype SpindleSlaveModeDisable $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int SpindleSlaveModeDisable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Spindle group name Output parameters – None Return – Function error code Visual Basic Prototype Long SpindleSlaveModeDisable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name Output parameters – None Return – Function error code 635 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 SpindleSlaveModeDisable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Spindle group name Return – Function error code Python Prototype integer SpindleSlaveModeDisable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Spindle group name Return – Function error code EDH0305En1051 — 08/15 636 XPS-Q8 Controller Programmer’s Manual 2.7.3.6 SpindleSlaveModeEnable Name SpindleSlaveModeEnable – Enables the slave-master mode. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Check the group name: ERR_GROUP_NAME (-19) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group type (must be a Spindle group): ERR_WRONG_OBJECT_TYPE (-8) - Check the slave parameters (must be configured): ERR_SLAVE_CONFIGURATION (-41) Description This function enables the master-slave mode only if the slave group is in ready mode. In this mode the slave must be defined as a Spindle group and the master can be a positioner from any group. To use this function, the Spindle group must be in the READY state. If it’s not the case then ERR_NOT_ALLOWED_ACTION (-22) is returned. To use this function, the master positioner and the slave ratio must be configured with the “SpindleSlaveParametersSet” function. If it’s not the case then ERR_SLAVE_CONFIGURATION (-41) is returned. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_SLAVE_CONFIGURATION (-41) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 637 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype SpindleSlaveModeEnable $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int SpindleSlaveModeEnable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Spindle group name Output parameters – None Return – Function error code Visual Basic Prototype Long SpindleSlaveModeEnable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 638 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 SpindleSlaveModeEnable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Spindle group name Return – Function error code Python Prototype integer SpindleSlaveModeEnable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Spindle group name Return – Function error code 639 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.7.3.7 SpindleSlaveParametersGet Name SpindleSlaveParametersGet – Returns the spindle slave parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group type (must be a Spindle group): ERR_WRONG_OBJECT_TYPE (-8) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_CHAR (-13) - Check the slave parameters (must be configured): ERR_NOT_ALLOWED_ACTION (-22) Description This function returns the slave parameters: the master positioner name and the masterslave ratio. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 640 XPS-Q8 Controller Programmer’s Manual TCL Prototype SpindleSlaveParametersGet $SocketID $GroupName MasterPositionerName Ratio Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle Group name (maximum size = 250) Output parameters – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int SpindleSlaveParametersGet (int SocketID, char *GroupName, int NbPositioners, char * MasterPositionerName , double * Ratio) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Spindle Group name Output parameters – MasterPositionerName char * Master positioner name from any group – Ratio Gear ratio between the master and the slave double * Return – Function error code 641 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long SpindleSlaveParametersGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal MasterPositionerName As String, Ratio As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle Group name Output parameters – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double Return – Function error code Matlab Prototype [Error, MasterPositionerName, Ratio] SpindleSlaveParametersGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Spindle Group name int32 Function error code Return – Error – MasterPositionerName cstring Master positioner name from any group – Ratio Gear ratio between the master and the slave double Python Prototype [Error, MasterPositionerName, Ratio] SpindleSlaveParametersGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Spindle Group name int Function error code Return – Error EDH0305En1051 — 08/15 – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double 642 XPS-Q8 Controller Programmer’s Manual 2.7.3.8 SpindleSlaveParametersSet Name SpindleSlaveParametersSet – Sets the spindle slave parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the master positioner name: ERR_POSITIONER_NAME (-18) - Check the master group type: ERR_WRONG_OBJECT_TYPE (-8) - Check input parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_CHAR (-13) - Check the slave parameters (must be configured): ERR_NOT_ALLOWED_ACTION (-22) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the ratio value (Ratio > 0): ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function configures the slave parameters only for a Spindle group. The slave is a master copy and a ratio can be applied: Slave = Ratio * Master. The slave-master mode is activated only after calling of “SingleAxisSlaveModeEnable” function. The master can be a positioner from a spindle group only. If the master group is another group type then ERR_NOT_ALLOWED_ACTION (-22) is returned. The master positioner must be different from the slave positioner else ERR_WRONG_OBJECT_TYPE (-8) is returned. NOTE After an emergency stop, the master group and the slave group are in “NOTINIT” state. To restart a master-slave relation, the slave group(s) must be reinitialized before the master group. 643 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype SpindleSlaveParametersSet $SocketID $GroupName $MasterPositionerName $Ratio Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle Group name (maximum size = 250) – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 644 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int SpindleSlaveParametersSet (int SocketID, char *GroupName, int NbPositioners, char * MasterPositionerName , double Ratio) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * Spindle Group name – MasterPositionerName char * Master positioner name from any group – Ratio Gear ratio between the master and the slave double Output parameters – None Return – Function error code Visual Basic Prototype Long SpindleSlaveParametersSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal MasterPositionerName As String, ByVal Ratio As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string Spindle Group name – MasterPositionerName string Master positioner name from any group – Ratio Gear ratio between the master and the slave double Output parameters – None Return – Function error code 645 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] SpindleSlaveParametersSet (int32 SocketID, cstring GroupName, cstring MasterPositionerName, double Ratio) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring Spindle Group name – MasterPositionerName cstring Master positioner name from any group – Ratio double Gear ratio between the master and the slave int32 Function error code Return – Error Python Prototype [Error] SpindleSlaveParametersSet (integer SocketID, string GroupName, string MasterPositionerName, double Ratio) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string Spindle Group name – MasterPositionerName string Master positioner name from any group – Ratio double Gear ratio between the master and the slave int Function error code Return – Error EDH0305En1051 — 08/15 646 XPS-Q8 Controller Programmer’s Manual 2.7.4 Configuration Files Below is an example of a Spindle group (named “AXIS”) in the system.ini file. The group POSITIONER is built with a positioner named “STAGE”. The positioner “STAGE” uses the parameters of “MYSTAGE” from the stages.ini file and is connected to plug 1 of the XPS controller. NOTE PIDBaseFilter parameter in system.ini file is to be configured only when using the XPS-Qn Precision Platform controller. System.ini file: [GROUPS] SpindleInUse = POSITIONER [POSITIONER] ; AXIS Spindle group configuration PositionerInUse = STAGE [POSITIONER.STAGE] PlugNumber = 1 StageName = MYSTAGE ; --- Time flasher TimeFlasherBaseFrequency = ; default value 40e6, must be between 39.5e6 and 40.5e6 Hz ;--- PIDBase filter (take into account the base movements, effective only with PIDFFAcceleration corrector) To be added only when using XPS-Q8 Precision Platform controller PIDBaseFilter = ; Enabled or Disabled MovingMass = ; If PIDBaseFilter = Enabled StaticMass = ; If PIDBaseFilter = Enabled Viscosity = ; If PIDBaseFilter = Enabled Stiffness = ; If PIDBaseFilter = Enabled Stages.ini file: [MYSTAGE] MYSTAGE configuration => See § “Positioner: Configuration filess” 647 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8 XY Group 2.8.1 Description An XY group is composed of two positioners, typically in an orthogonal XY configuration. An XY group can be used in GANTRY mode (dual positioner for X or for Y). It includes an XY mapping feature: XY = f (XY) It includes an XY line-arc trajectory (2D). 2.8.2 State Diagram Called function: (a) GroupInitialize (f) GroupMotionDisable (k) GroupJogModeDisable (p) GroupReferencingStop (b) GroupHomeSearch (g) GroupMotionEnable (l) GroupAnalogTrackingModeEnable (q) PositionerAccelerationAutoScaling (c) GroupMoveAbsolute (h) GroupMoveAbort (m) GroupAnalogTrackingModeDisable (d) GroupMoveRelative (i) GroupKill or KillAll (n) GroupInitializeWithEncoderCalibration (r) PositionerCorrectorAutoTuning (s) PositionerExcitationSignalSet / PositionerPreCorrectorExcitationSignalSet (e) XYLineArcExecution (j) GroupJogModeEnable (o) GroupReferencingStart EDH0305En1051 — 08/15 648 (t) GroupInitializeNoEncoderReset XPS-Q8 Controller Programmer’s Manual 2.8.3 Specific Function Description 2.8.3.1 XYLineArcExecution Name XYLineArcExecution – Executes an XY LineArc trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Check the group (must not be a gantry): ERR_POSITIONER_NAME (-18) - Check the group type (must be an XY group): ERR_WRONG_OBJECT_TYPE (8) - Check backlash (must not be enabled): ERR_NOT_ALLOWED_BACKLASH (46) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence: ERR_READ_FILE (-61) - Check the input value (> 0): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check the velocity (0 < Velocity <= TrajectoryMaximumVelocity): ERR_TRAJ_VEL_LIMIT (-68) - Check the acceleration (0 < Acceleration <= TrajectoryMaximumAcceleration): ERR_TRAJ_ACC_LIMIT (-69) - Check input parameter types: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_INT (-15) Description This function executes an XY LineArc trajectory. The trajectory file must be stored in the folder “\ADMIN\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. Before a trajectory execution, it is recommended to verify whether the trajectory is within stage parameter capability and is able execute by using the “XYLineArcVerification” and “XYLineArcVerificationResultGet” functions. For a more thorough description of the line-arc trajectory capability, please refer to the XPS Motion Tutorial, section Trajectories/Line-Arc Trajectories. NOTE In case of an ERR_GROUP_MOTION_DONE_TIMEOUT (-33) error, an ERR_FOLLOWING_ERROR (-25) error or ERR_SLAVE (-44) error, the group state becomes DISABLE. To help determine the error source, check the positioner errors, the hardware status and the driver status. 649 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_MOTION_DONE_TIMEOUT (-33) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_NOT_ALLOWED_BACKLASH (-46) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_SLAVE (-44) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_ACC_LIMIT (-69) - ERR_TRAJ_VEL_LIMIT (-68) - ERR_TRAJ_INITIALIZATION (-72) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14), - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype XYLineArcExecution $SocketID $GroupName $FileName $Velocity $Acceleration $ExecutionNumber Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ExecutionNumber int Number of trajectory executions Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 650 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int XYLineArcExecution (int SocketID, char *GroupName, char *FileName , double Velocity, double Acceleration, int ExecutionNumber) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – FileName char * Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ExecutionNumber int Number of trajectory executions Output parameters – None Return – Function error code Visual Basic Prototype Long XYLineArcExecution (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, ByVal Velocity As Double, ByVal Acceleration As Double, ByVal ExecutionNumber As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – FileName string Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ExecutionNumber int Number of trajectory executions Output parameters – None Return – Function error code 651 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 XYLineArcExecution (int32 SocketID, cstring GroupName, cstring FileName, double Velocity, double Acceleration, int ExecutionNumber) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name – FileName cstring Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ExecutionNumber int32 Number of trajectory executions Return – Function error code Python Prototype integer XYLineArcExecution (integer SocketID, string GroupName, string FileName, double Velocity, double Acceleration, int ExecutionNumber) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – FileName string Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ExecutionNumber int Number of trajectory executions Return – Function error code EDH0305En1051 — 08/15 652 XPS-Q8 Controller Programmer’s Manual 2.8.3.2 XYLineArcParametersGet Name XYLineArcParametersGet – Returns the LineArc trajectory parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a gantry): ERR_POSITIONER_NAME (-18) - Check the group type (must be a XY group): ERR_WRONG_OBJECT_TYPE (-8) - Check the LineArc trajectory type: ERR_NOT_ALLOWED_ACTION (-22) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_INT (-15) Description This function returns the XY LineArc trajectory parameters (trajectory name, trajectory velocity, trajectory acceleration, current executing element number) of the currently executed LineArc trajectory. For a more thorough description of the line-arc trajectory capability, please refer to the XPS Motion Tutorial, section Trajectories/Line-Arc Trajectories. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 653 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYLineArcParametersGet $SocketID $GroupName FileName Velocity Acceleration ElementNumber Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY Group name (maximum size = 250) – FileName string Executing trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ElementNumber int Current executing element number Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYLineArcParametersGet (int SocketID, char *GroupName, char * FileName, double * Velocity, double * Acceleration, int * ElementNumber) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY Group name – FileName char * Executing trajectory file name (maximum size = 250) – Velocity double * Trajectory velocity (units/seconds) – Acceleration double * Trajectory acceleration (units/seconds²) – ElementNumber int * Current executing element number Output parameters Return – Function error code EDH0305En1051 — 08/15 654 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long XYLineArcParametersGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, Velocity As Double, Acceleration As Double, ElementNumber As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY Group name – FileName string Executing trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ElementNumber int Current executing element number Output parameters Return – Function error code Matlab Prototype [Error, FileName, Velocity, Acceleration, ElementNumber] XYLineArcParametersGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY Group name – Error int32 Function error code – FileName cstring Executing trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ElementNumber int32 Current executing element number Return 655 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, FileName, Velocity, Acceleration, ElementNumber] XYLineArcParametersGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY Group name – Error int Function error code – FileName string Executing trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ElementNumber int Current executing element number Return EDH0305En1051 — 08/15 656 XPS-Q8 Controller Programmer’s Manual 2.8.3.3 XYLineArcPulseOutputGet Name XYLineArcPulseOutputGet – Returns the configuration of pulse generation in a LineArc trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a XY group): ERR_WRONG_OBJECT_TYPE (-8) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the last configuration of pulse generation of an XY LineArc trajectory. The pulse output configuration is defined by a start length, an end length, and a path length interval. Example: One pulse is generated every 10 μm on the Line-Arc trajectory between 10 mm and 30 mm. Start length = 10 mm End length = 30 mm Path length interval = 0.01 mm For a more thorough description of the line-arc trajectory capability, please refer to the XPS Motion Tutorial, section Trajectories/Line-Arc Trajectories. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 657 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYLineArcPulseOutputGet $SocketID $GroupName StartLength EndLength PathLengthInterval Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY Group name (maximum size = 250) – StartLength double Start length (units) – EndLength double End length (units) – PathLengthInterval double Path length interval (units) Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYLineArcPulseOutputGet (int SocketID, char *GroupName, double * StartLength, double * EndLength, double * PathLengthInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY Group name – StartLength double * Start length (units) – EndLength double * End length (units) – PathLengthInterval double * Path length interval (units) Output parameters Return – Function error code EDH0305En1051 — 08/15 658 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long XYLineArcPulseOutputGet (ByVal SocketID As Long, ByVal GroupName As String, StartLength As Double, EndLength As Double, PathLengthInterval As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY Group name – StartLength double Start length (units) – EndLength double End length (units) – PathLengthInterval double Path length interval (units) Output parameters Return – Function error code Matlab Prototype [Error, StartLength, EndLength, PathLengthInterval] XYLineArcPulseOutputGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY Group name – Error int32 Function error code – StartLength double Start length (units) – EndLength double End length (units) – PathLengthInterval double Path length interval (units) Return Python Prototype [Error, StartLength, EndLength, PathLengthInterval] XYLineArcPulseOutputGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY Group name – Error int Function error code – StartLength double Start length (units) – EndLength double End length (units) – PathLengthInterval double Path length interval (units) Return 659 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.3.4 XYLineArcPulseOutputSet Name XYLineArcPulseOutputSet – Sets the configuration of pulse generation on LineArc trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a XY group): ERR_WRONG_OBJECT_TYPE (-8) - Check the pulse generation must not be in progress: ERR_NOT_ALLOWED_ACTION (-22) - Valid input parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function configures and activates the pulse generation on XY LineArc trajectory. Pulse generation is defined by a start length, an end length, and a path length interval. If a pulse is already activated on the selected XY Line-Arc trajectory then this function returns ERR_NOT_ALLOWED_ACTION error. Please note that the pulse output settings are automatically removed when the trajectory is over. Hence, with the execution of every new trajectory, it is required to define the pulse output settings again. This capability allows output of pulses at constant length intervals on a Line-Arc trajectories. The pulses are generated between a start length and an end length. All lengths are calculated in an orthogonal XY plane. The StartLength, EndLength, and PathLengthInterval refer to the Setpoint positions. Example: XYLineArcPulseOutputSet(XY, 10, 30, 0.01) One pulse will be generated every 10 μm on the next Line-Arc trajectory between 10 mm and 30 mm For a more thorough description of the line-arc trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/Line-Arc Trajectories. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 660 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYLineArcPulseOutputSet $SocketID $GroupName StartLength EndLength PathLengthInterval Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY Group name (maximum size = 250) – StartLength double Start length (units) – EndLength double End length (units) – PathLengthInterval double Path length interval (units) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYLineArcPulseOutputSet (int SocketID, char *GroupName, double StartLength, double EndLength, double PathLengthInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY Group name – StartLength double Start length (units) – EndLength double End length (units) – PathLengthInterval double Path length interval (units) Output parameters – None Return – Function error code 661 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long XYLineArcPulseOutputSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal StartLength As Double, ByVal EndLength As Double, ByVal PathLengthInterval As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY Group name – StartLength double Start length (units) – EndLength double End length (units) – PathLengthInterval double Path length interval (units) Output parameters – None Return – Function error code Matlab Prototype [Error] XYLineArcPulseOutputSet (int32 SocketID, cstring GroupName, double StartLength, double EndLength, double PathLengthInterval) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY Group name – StartLength double Start length (units) – EndLength double End length (units) – PathLengthInterval double Path length interval (units) int32 Function error code Return – Error EDH0305En1051 — 08/15 662 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] XYLineArcPulseOutputSet (integer SocketID, string GroupName, double StartLength, double EndLength, double PathLengthInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY Group name – StartLength double Start length (units) – EndLength double End length (units) – PathLengthInterval double Path length interval (units) int Function error code Return – Error 663 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.3.5 XYLineArcVerification Name XYLineArcVerification – Verifies a line-arc trajectory data file. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a gantry): ERR_POSITIONER_NAME (-18) - Check the group type (must be an XY group): ERR_WRONG_OBJECT_TYPE (8) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence: ERR_READ_FILE (-61) - Check the trajectory (number of elements > 0): ERR_TRAJ_EMPTY (-66) - Check trajectory element types in file (FirstTangent, …): ERR_WRONG_TYPE_DOUBLE (-14) - Check keys in file (“FirstTangent” and “DiscontinuityAngle”): ERR_READ_FILE_PARAMETER_KEY (-74) - Check trajectory element (distance and tangent): ERR_TRAJ_ELEM_LINE (-65) - | XElementDistance | ≥1e-14 - | YElementDistance | ≥1e-14 - TangentOut ≠ 1.797e308 - Check trajectory element (radius): ERR_TRAJ_ELEM_RADIUS (-63) - Radius ≥ 1e-14 - Check trajectory element (sweep angle): ERR_TRAJ_ELEM_ SWEEP (-64) - SweepAngle ≥1e-14 Description This function verifies the execution of an XY LineArc trajectory. The results of the verification can be gathered with the “XYLineArcVerificationResultGet” function. The trajectory file must be stored in the folder “\ADMIN\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. This function can be executed at any time and is independent of trajectory execution. This function performs the following: EDH0305En1051 — 08/15 - Checks the trajectory file for data coherence. - Calculates the trajectory limits, which are: the required travel per positioner, the maximum possible trajectory velocity and the maximum possible trajectory acceleration. This function helps define the parameters for trajectory execution. - If all is OK, it returns “SUCCESS” (0). Otherwise, it returns a corresponding error. 664 XPS-Q8 Controller Programmer’s Manual NOTE The “XYLineArcVerification” function is independent of the “XYLineArcExecution” function. It is recommended, but not necessary, to execute this function before executing a LineArc trajectory. For a more thorough description of the line-arc trajectory capability, please refer to the XPS Motion Tutorial, section Trajectories/Line-Arc Trajectories. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_READ_FILE_PARAMETER_KEY (-74) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_ELEM_LINE (-65) - ERR_TRAJ_ELEM_RADIUS (-63) - ERR_TRAJ_ELEM_SWEEP (-64) - ERR_TRAJ_EMPTY (-66) - ERR_TRAJ_INITIALIZATION (-72) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype XYLineArcVerification $SocketID $GroupName $FileName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 665 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int XYLineArcVerification (int SocketID, char *GroupName, char *FileName ) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – FileName char * Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Visual Basic Prototype Long XYLineArcVerification (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Matlab Prototype int32 XYLineArcVerification (int32 SocketID, cstring GroupName, cstring FileName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name – FileName cstring Trajectory file name (maximum size = 250) Return – Function error code EDH0305En1051 — 08/15 666 XPS-Q8 Controller Programmer’s Manual Python Prototype integer XYLineArcVerification (integer SocketID, string GroupName, string FileName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – FileName string Trajectory file name (maximum size = 250) Return – Function error code 667 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.3.6 XYLineArcVerificationResultGet Name XYLineArcVerificationResultGet – Returns the results of the previous “XYLineArcVerification” function. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a XY group): ERR_WRONG_OBJECT_TYPE (-8) - Check the last XY LineArc verification (must be done): ERR_NOT_ALLOWED_ACTION (-22) - Check the positioner name length: ERR_STRING_TOO_LONG (-3) - Check the positioner (must not be a gantry): ERR_POSITIONER_NAME (-18) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the results of the previous “XYLineArcVerification” function, positioner by positioner. The results are the travel requirements (min and max values), the possible maximum velocity and the possible maximum acceleration. If no verification was previously done then ERR_NOT_ALLOWED_ACTION (-22) is returned. For a more thorough description of the line-arc trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/Line-Arc Trajectories. EDH0305En1051 — 08/15 668 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_STRING_TOO_LONG (-3) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13), - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype XYLineArcVerificationResultGet $SocketID $ PositionerName FileName MinimumPosition MaximumPosition MaximumVelocity MaximumAcceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string XY positioner name (maximum size = 250) – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Maximum trajectory acceleration (units/seconds²) Return – TCL error code (0 = success or 1 = syntax error) or Function error code 669 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int XYLineArcVerificationResultGet (int SocketID, char * PositionerName, char * FileName, double * MinimumPosition, double * MaximumPosition, double * MaximumVelocity, double * MaximumAcceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * XY positioner name – FileName char * Examined trajectory file name (maximum size = 250) – MinimumPosition double * Minimum position (units) – MaximumPosition double * Maximum position (units) – MaximumVelocity double * Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double * Maximum trajectory acceleration (units/seconds²) Return – Function error code Visual Basic Prototype Long XYLineArcVerificationResultGet (ByVal SocketID As Long, ByVal PositionerName As String, ByVal FileName As String, MinimumPosition As Double, MaximumPosition As Double, MaximumVelocity As Double, MaximumAcceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string XY positioner name – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Return – Function error code EDH0305En1051 — 08/15 670 Maximum trajectory acceleration (units/seconds²) XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] XYLineArcVerificationResultGet (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring XY positioner name – Error int32 Function error code – FileName cstring Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory trajectory velocity (units/seconds) Return – MaximumAcceleration double Trajectory trajectory acceleration (units/seconds²) Python Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] XYLineArcVerificationResultGet (integer SocketID, string PositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string XY positioner name – Error int Function error code – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory velocity (units/seconds) Return – MaximumAcceleration double 671 Trajectory acceleration (units/seconds²) EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.3.7 XYPVTExecution Name XYPVTExecution – Executes a PVT trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Check backlash (must not be enabled): ERR_NOT_ALLOWED_BACKLASH (46) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the group: ERR_POSITIONER_NAME (-18) - Check the group type (must be an XYZ group): ERR_WRONG_OBJECT_TYPE (8) - Check the input parameter type: ERR_WRONG_TYPE_INT (-15) - Check the input value (Number of executions > 0): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence or file reading: ERR_READ_FILE (-61) - Check the message queue filling: ERR_MSG_QUEUE (-71) Description This function executes a PVT (Position Velocity Time) trajectory. The trajectory file must be stored in the folder “\ADMIN\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. Before a trajectory execution, it is recommended to check whether the trajectory is within capability of the group parameters and can execute by using the “XYPVTVerification” and “XYPVTVerificationResultGet” functions. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE This function can be used only with the XPS-Qn Precision Platform controller. In case of an ERR_GROUP_MOTION_DONE_TIMEOUT (-33) error, an ERR_FOLLOWING_ERROR (-25) error or ERR_SLAVE (-44) error, the group state becomes DISABLE. To determine the source of error, check the positioner errors, the hardware status and the driver status. EDH0305En1051 — 08/15 672 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_MOTION_DONE_TIMEOUT (-33) - ERR_IN_INITIALIZATION (-21) - ERR_MSG_QUEUE (-71) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_NOT_ALLOWED_BACKLASH (-46) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_SLAVE (-44) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_INITIALIZATION (-72) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype XYPVTExecution $SocketID $GroupName $FileName $Velocity $Acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) – ExecutionNumber int Number of trajectory executions Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 673 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int XYPVTExecution (int SocketID, char *GroupName, char *FileName , double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – FileName char * Trajectory file name (maximum size = 250) – ExecutionNumber int Number of trajectory executions Output parameters – None Return – Function error code Visual Basic Prototype Long XYPVTExecution (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, ByVal Velocity As Double, ByVal Acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – FileName string Trajectory file name (maximum size = 250) – ExecutionNumber long Number of trajectory executions Output parameters – None Return – Function error code EDH0305En1051 — 08/15 674 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 XYPVTExecution (int32 SocketID, cstring GroupName, cstring FileName, double Velocity, double Acceleration) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name – FileName cstring Trajectory file name (maximum size = 250) – ExecutionNumber int32 Number of trajectory executions Return – Function error code Python Prototype integer XYPVTExecution (integer SocketID, string GroupName, string FileName, double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – FileName string Trajectory file name (maximum size = 250) – ExecutionNumber int Number of trajectory executions Return – Function error code 675 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.3.8 XYPVTLoadToMemory Name XYPVTLoadToMemory – Loads an XY PVT trajectory’s line. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_GROUP_NAME (-19) - Check the gantry mode (must not be a gantry): ERR_POSITIONER_NAME (-18) - Check the group type (must be an XY group): ERR_WRONG_OBJECT_TYPE (8) - Check the trajectory data length: ERR_STRING_TOO_LONG (-3) - Check the input value (> 0): ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function loads a line of PVT trajectory elements into the XPS memory. Each trajectory element must be separated by a comma. To verify or to execute the PVT trajectory loaded in memory, use the string “FromMemory” instead of a FileName. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE All previous PVT trajectory functions, when called with the string “FromMemory” instead of a FileName, will perform the same operation from RAM content as it does from a file. Example: XYPVTLoadToMemory(XY, 0.04,0,0,3.2,0) XYPVTVerification (XY, FromMemory) XYPVTExecution(XY, FromMemory, 1) NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_STRING_TOO_LONG (-3) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 676 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYPVTLoadToMemory $SocketID $GroupName $TrajectoryLine Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – TrajectoryLine string Trajectory line (maximum size = 400) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYPVTLoadToMemory (int SocketID, char *GroupName, char *TrajectoryLine) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – TrajectoryLine char * Trajectory line (maximum size = 400) Output parameters – None Return – Function error code Visual Basic Prototype Long XYPVTLoadToMemory (ByVal SocketID As Long, ByVal GroupName As String, ByVal TrajectoryLine As String, ByVal) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – TrajectoryLine string Trajectory line (maximum size = 400) Output parameters – None Return – Function error code 677 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 XYPVTLoadToMemory (int32 SocketID, cstring GroupName, cstring TrajectoryLine) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name – TrajectoryLine cstring Trajectory line (maximum size = 400) Return – Function error code Python Prototype integer XYPVTLoadToMemory (integer SocketID, string GroupName, string TrajectoryLine) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – TrajectoryLine string Trajectory file name (maximum size = 400) Return – Function error code EDH0305En1051 — 08/15 678 XPS-Q8 Controller Programmer’s Manual 2.8.3.9 XYPVTParametersGet Name XYPVTParametersGet – Returns the PVT trajectory parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a XY group): ERR_WRONG_OBJECT_TYPE (-8) - Check the trajectory type (PVT): ERR_NOT_ALLOWED_ACTION (-22) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_INT (-15) Description This function returns the PVT trajectory parameters (trajectory name and current executing element number) of the executed PVT trajectory. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 679 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYPVTParametersGet $SocketID $GroupName FileName ElementNumber Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – FileName string Executing trajectory file name (maximum size = 250) – ElementNumber int Current executing element number Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYPVTParametersGet (int SocketID, char *GroupName, char * FileName, int * ElementNumber) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – FileName char * Executing trajectory file name (maximum size = 250) – ElementNumber int * Current executing element number Output parameters Return – Function error code EDH0305En1051 — 08/15 680 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long XYPVTParametersGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, ElementNumber As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – FileName string Executing trajectory file name (maximum size = 250) – ElementNumber int Current executing element number Output parameters Return – Function error code Matlab Prototype [Error, FileName, ElementNumber] XYPVTParametersGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name – Error int32 Function error code – FileName cstring Executing trajectory file name (maximum size = 250) – ElementNumber int32 Current executing element number Return Python Prototype [Error, FileName, ElementNumber] XYPVTParametersGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – Error int Function error code – FileName string Executing trajectory file name (maximum size = 250) – ElementNumber int Current executing element number Return 681 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.3.10 XYPVTPulseOutputGet Name XYPVTPulseOutputGet – Returns the configuration of pulse generation of a PVT trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a XY group): ERR_WRONG_OBJECT_TYPE (-8) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the last configuration of pulse generation of a PVT trajectory. The pulse output configuration is defined by a start element, an end element, and a time interval in seconds. Example: XYPVTPulseOutputGet (Group1, 3, 5, 0.01) One pulse will be generated every 10 ms between the start of the 3rd element and the end of the 5th element. Start element= 3 End element = 5 Time interval = 0.01 seconds For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial sections Trajectories/PVT Trajectories and Output Triggers. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 682 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYPVTPulseOutputGet $SocketID $GroupName StartElement EndElement TimeInterval Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYPVTPulseOutputGet (int SocketID, char *GroupName, int * StartElement, int * EndElement, double * TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – StartElement int * Start Element number – EndElement int * End Element number – TimeInterval double * Time interval (seconds) Output parameters Return – Function error code 683 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long XYPVTPulseOutputGet (ByVal SocketID As Long, ByVal GroupName As String, StartElement As Long, EndElement As Long, TimeInterval As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – StartElement long Start Element number – EndElement long End Element number – TimeInterval double Time interval (seconds) Output parameters Return – Function error code Matlab Prototype [Error, StartElement, EndElement, TimeInterval] XYPVTPulseOutputGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY Group name – Error int32 Function error code – StartElement int32 Start Element number – EndElement int32 End Element number – TimeInterval double Time interval (seconds) Return Python Prototype [Error, StartElement, EndElement, TimeInterval] XYPVTPulseOutputGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – Error int Function error code – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Return EDH0305En1051 — 08/15 684 XPS-Q8 Controller Programmer’s Manual 2.8.3.11 XYPVTPulseOutputSet Name XYPVTPulseOutputSet – Sets the configuration of pulse generation of a PVT trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a XY group): ERR_WRONG_OBJECT_TYPE (-8) - Check the pulse generation must not be in progress: ERR_NOT_ALLOWED_ACTION (-22) - Valid input parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_INT (-15) Description This function configures and activates the pulse generation of a PVT trajectory. The pulse generation is defined by a start element, an end element, and a time interval in seconds. If a pulse generation is already activated on the selected PVT trajectory then this function returns ERR_NOT_ALLOWED_ACTION error. Please note, that the pulse output settings are automatically removed when the trajectory is over. Hence, with the execution of every new trajectory, it is also required to define the pulse output settings again. This capability allows output of pulses at constant time intervals on a PVT trajectory. The pulses are generated between a first and a last trajectory element. The minimum possible time interval is 100 µs. Example: XYPVTPulseOutputSet (Group1, 3, 5, 0.01) One pulse will be generated every 10 ms between the start of the 3rd element and the end of the 5th element. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial sections Trajectories/PVT Trajectories and Ouput Triggers. NOTE This function can be used only with the XPS-Qn Precision Platform controller. 685 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype XYPVTPulseOutputSet $SocketID $GroupName $StartElement $EndElement $TimeInterval Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 686 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int XYPVTPulseOutputSet (int SocketID, char *GroupName, int StartElement, int EndElement, double TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Output parameters – None Return – Function error code Visual Basic Prototype Long XYPVTPulseOutputSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal StartElement As Long, ByVal EndElement As Long, ByVal TimeInterval As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – StartElement long Start Element number – EndElement long End Element number – TimeInterval double Time interval (seconds) Output parameters – None Return – Function error code 687 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] XYPVTPulseOutputSet (int32 SocketID, cstring GroupName, int32 StartElement, int32 EndElement, double TimeInterval) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name – StartElement int32 Start Element number – EndElement int32 End Element number – TimeInterval double Time interval (seconds) int32 Function error code Return – Error Python Prototype [Error] XYPVTPulseOutputSet (integer SocketID, string GroupName, integer StartElement, integer EndElement, double TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) int Function error code Return – Error EDH0305En1051 — 08/15 688 XPS-Q8 Controller Programmer’s Manual 2.8.3.12 XYPVTResetInMemory Name XYPVTResetInMemory – Deletes the current content of the PVT trajectory buffer in memory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_GROUP_NAME (-19) - Check the group (must not be a gantry): ERR_POSITIONER_NAME (-18) - Check the group type (must be an XY group): ERR_WRONG_OBJECT_TYPE (8) Description This function deletes the PVT trajectory buffer in the memory, loaded with the “XYPVTLoadToMemory” function. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 689 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYPVTResetInMemory $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYPVTResetInMemory (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name Output parameters – None Return – Function error code Visual Basic Prototype Long XYPVTResetInMemory (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 690 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 XYPVTResetInMemory (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name Return – Function error code Python Prototype integer XYPVTResetInMemory (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name Return – Function error code 691 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.3.13 XYPVTVerification Name XYPVTVerification – Verifies a PVT trajectory data file. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be an XY group): ERR_WRONG_OBJECT_TYPE (8) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence and the file format: ERR_READ_FILE (-61) - Check the trajectory (number of elements > 0): ERR_TRAJ_EMPTY (-66) - Check trajectory element types in file: ERR_WRONG_TYPE_DOUBLE (-14) - Check the end output velocity (must be null): ERR_TRAJ_FINAL_VELOCITY (70) - Check the velocity (Minimum Velocity <= Velocity <= Maximum Velocity): ERR_TRAJ_VEL_LIMIT (-68) - Check the acceleration (Minimum acc. <= acceleration <= Maximum acc.): ERR_TRAJ_ACC_LIMIT (-69) - Check the delta time (Delta Time > 0): ERR_TRAJ_TIME (-75) Description This function verifies the possible execution of a PVT trajectory. The results of the verification can be gathered with the “XYPVTVerificationResultGet” function. The trajectory file must be stored in the folder “\Admin\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. This function can be executed at any time and is independent of trajectory execution. This function performs the following: - Checks the trajectory file for data coherence. - Calculates the trajectory limits, which are: the required travel per positioner, the maximum possible trajectory velocity and the maximum possible trajectory acceleration. This function helps define the parameters for the trajectory execution. - If all is OK, it returns “SUCCESS” (0). Otherwise, it returns a corresponding error. NOTE This function can be used only with the XPS-Qn Precision Platform controller. The “XYPVTVerification” function is independent of the “XYPVTExecution” function. It is recommended, but not necessary to execute this function before executing a PVT trajectory. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. EDH0305En1051 — 08/15 692 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_EMPTY (-66) - ERR_TRAJ_ACC_LIMIT (-69) - ERR_TRAJ_FINAL_VELOCITY (-70) - ERR_TRAJ_INITIALIZATION (-72) - ERR_TRAJ_TIME (-75) - ERR_TRAJ_VEL_LIMIT (-68) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype XYPVTVerification $SocketID $GroupName $FileName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 693 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int XYPVTVerification (int SocketID, char *GroupName, char *FileName ) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XY group name – FileName char * Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Visual Basic Prototype Long XYPVTVerification (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XY group name – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Matlab Prototype int32 XYPVTVerification (int32 SocketID, cstring GroupName, cstring FileName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XY group name – FileName cstring Trajectory file name (maximum size = 250) Return – Function error code EDH0305En1051 — 08/15 694 XPS-Q8 Controller Programmer’s Manual Python Prototype integer XYPVTVerification (integer SocketID, string GroupName, string FileName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XY group name – FileName string Trajectory file name (maximum size = 250) Return – Function error code 695 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.3.14 XYPVTVerificationResultGet Name XYPVTVerificationResultGet – Returns the results of “XYPVTVerification” function. Input tests - - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be an XY group): ERR_WRONG_OBJECT_TYPE (8) - Check the positioner name length: ERR_STRING_TOO_LONG (-3) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the last XY PVT verification (must be done): ERR_NOT_ALLOWED_ACTION (-22) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the results of the previous “XYPVTVerification” function, positioner by positioner. The results are the travel requirements (min and max values), the possible maximum velocity and the possible maximum acceleration. If no verification previously done then ERR_NOT_ALLOWED_ACTION (-22) is returned. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_STRING_TOO_LONG (-3) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13), - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 696 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYPVTVerificationResultGet $SocketID $PositionerName FileName MinimumPosition MaximumPosition MaximumVelocity MaximumAcceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string XY positioner name (maximum size = 250) – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Maximum trajectory acceleration (units/seconds²) Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYPVTVerificationResultGet (int SocketID, char *PositionerName, char * FileName, double * MinimumPosition, double * MaximumPosition, double * MaximumVelocity, double * MaximumAcceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * XY positioner name – FileName char * Examined trajectory file name (maximum size = 250) – MinimumPosition double * Minimum position (units) – MaximumPosition double * Maximum position (units) – MaximumVelocity double * Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double * Maximum trajectory acceleration (units/seconds²) Return – Function error code 697 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long XYPVTVerificationResultGet (ByVal SocketID As Long, ByVal PositionerName As String, ByVal FileName As String, MinimumPosition As Double, MaximumPosition As Double, MaximumVelocity As Double, MaximumAcceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string XY positioner name – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Maximum trajectory acceleration (units/seconds²) Return – Function error code Matlab Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] XYPVTVerificationResultGet (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring XY positioner name – Error int32 Function error code – FileName cstring Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory trajectory velocity (units/seconds) Return – MaximumAcceleration double EDH0305En1051 — 08/15 698 Trajectory trajectory acceleration (units/seconds²) XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] XYPVTVerificationResultGet (integer SocketID, string PositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string XY positioner name – Error int Function error code – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory velocity (units/seconds) Return – MaximumAcceleration double 699 Trajectory acceleration (units/seconds²) EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.8.4 Configuration Files Below is an example of an XY group (named “XY”) in the system.ini file. The group XY is built with two positioners named “XGantry” and “Y”. The XY home search sequence is “XThenY “ and no XY mapping is used. The positioner “XGantry” uses the parameters of “MYSTAGE1” from the stages.ini file and is connected to the plug 1 of the XPS controller. The positioner “XGantry” has a secondary positioner that uses the parameters of “MYSTAGE1” from the stages.ini file and is connected to the plug 2 of the XPS controller. The positioner “Y” uses the parameters of “MYSTAGE2” from the stages.ini file and is connected to the plug 3 of the XPS controller. NOTE PIDBaseFilter parameter in system.ini file is to be configured only when using the XPS-Qn Precision Platform controller. System.ini file: [GROUPS] XYInUse = XY [XY] ; XY group configuration PositionerInUse = XGantry, Y InitializationAndHomeSearchSequence = XThenY ; Together, XThenY or YThenX ; XY gantry motor force XMotorForceBalance = Disabled ; Enabled or Disabled YOffsetForForceRatio = ; If XMotorForceBalance = Enabled PrimaryYForceRatio = ; If XMotorForceBalance = Enabled SecondaryYForceRatio = ; If XMotorForceBalance = Enabled ;--- Mapping XY XMappingFileName = XMappingLineNumber = XMappingColumnNumber = XMappingMaxPositionError= ; must be same unit as positioner YMappingFileName = YMappingLineNumber = YMappingColumnNumber = YMappingMaxPositionError= ; must be same unit as positioner [XY.X] PlugNumber = 1 StageName = MYSTAGE1 ; --- Time flasher TimeFlasherBaseFrequency = EDH0305En1051 — 08/15 700 ; default value 40e6, must be between 39.5e6 and 40.5e6 Hz XPS-Q8 Controller Programmer’s Manual ;--- PIDBase filter (take into account the base movements, effective only with PIDFFAcceleration corrector) To be added only when using XPS-Q8 Precision Platform controller PIDBaseFilter = ; Enabled or Disabled MovingMass = ; f PIDBaseFilter = Enabled StaticMass = ; If PIDBaseFilter = Enabled Viscosity = ; If PIDBaseFilter = Enabled Stiffness = ; If PIDBaseFilter = Enabled ;--- If Gantry (Secondary positioner X2) SecondaryPositionerGantry = ; Enabled or Disabled SecondaryPlugNumber = 2 ; If SecondaryPositionerGantry = Enabled SecondaryStageName = MYSTAGE1 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryEndReferencingPosition = 0 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryEndReferencingTolerance =1 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryOffsetAfterInitialization = 0 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryMotorEnableDelay = ;seconds,if SecondaryPositionerGantry = Enabled [XY.Y] PlugNumber = 3 StageName = MYSTAGE2 ; --- Time flasher TimeFlasherBaseFrequency = ; default value 40e6, must be between 39.5e6 and 40.5e6 Hz ;--- PIDBase filter (take into account the base movements, effective only with PIDFFAcceleration corrector) PIDBaseFilter = ; Enabled or Disabled MovingMass = ; If PIDBaseFilter = Enabled StaticMass = ; If PIDBaseFilter = Enabled Viscosity = ; If PIDBaseFilter = Enabled Stiffness = ; If PIDBaseFilter = Enabled ;---- Secondary positioner (Y2) ; None Stages.ini file: [MYSTAGE1] MYSTAGE positioner configuration => See § “Positioner: Configuration files” [MYSTAGE2] MYSTAGE positioner configuration => See § “Positioner: Configurationfiles” 701 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.9 XYZ Group 2.9.1 Description An XYZ group is a three positioner object, typically in an orthogonal XYZ configuration. It includes an XYZ mapping feature: XYZ = f(XYZ) It also includes 3D spline trajectories. 2.9.2 State Diagram Called functions: (a) GroupInitialize (f) GroupMotionDisable (k) GroupJogModeDisable (p) GroupReferencingStop (b) GroupHomeSearch (g) GroupMotionEnable (l) GroupAnalogTrackingModeEnable (q) PositionerAccelerationAutoScaling (c) GroupMoveAbsolute (h) GroupMoveAbort (m) GroupAnalogTrackingModeDisable (r) PositionerCorrectorAutoTuning (d) GroupMoveRelative (i) GroupKill or KillAll (n) GroupInitializeWithEncoderCalibration (s) PositionerExcitationSignalSet (e) XYZSplineExecution (j) GroupJogModeEnable (o) GroupReferencingStart (t) GroupInitializeNoEncoderReset EDH0305En1051 — 08/15 702 XPS-Q8 Controller Programmer’s Manual 2.9.3 Specific Function Description 2.9.3.1 XYZGroupPositionCorrectedProfilerGet Name XYSGroupPositionCorrectedProfilerGet – Returns the corrected profiler position for all positioners of an XYZ group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Valid group type (must be an XYZ group): ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function corrects a theoretical position wich is recalculated with the XYZ mapping correction. 703 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual This function applies the XYZ mapping on the theoretical user positions and returns the corrected positions. These corrected profiler positions (X, Y and Z) take the XYZ mapping correction into account. NOTE This function is only allowed with an XYZ group. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype XYZGroupPositionCorrectedProfilerGet SocketID GroupName PositionX PositionY PositionZ CorrectedPositionX CorrectedPositionY CorrectedPositionZ Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XYZ group name (maximum size = 250) – PositionX floating point Theoretical position X – PositionY floating point Theoretical position Y – PositionZ floating point Theoretical position Z – CorrectedPositionX floating point Corrected theoretical position X – CorrectedPositionY floating point Corrected theoretical position Y – CorrectedPositionZ floating point Corrected theoretical position Z Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 704 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int XYZGroupPositionCorrectedProfilerGet (int SocketID, char *GroupName, double PositionX, double PositionY, double PositionZ, double * CorrectedPositionX, double * CorrectedPositionY, double * CorrectedPositionZ) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XYZ group name – PositionX double Theoretical position X – PositionY double Theoretical position Y – PositionZ double Theoretical position Z – CorrectedPositionX double * Corrected theoretical position X – CorrectedPositionY double * Corrected theoretical position Y – CorrectedPositionZ double * Corrected theoretical position Z Output parameters Return – Function error code Visual Basic Prototype Long XYZGroupPositionCorrectedProfilerGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal PositionX As Double, ByVal PositionY As Double, ByVal PositionZ As Double, CorrectedPositionX As Double, CorrectedPositionY As Double, CorrectedPositionZ As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XYZ group name – PositionX double Theoretical position X – PositionY double Theoretical position Y – PositionZ double Theoretical position Z – CorrectedPositionX double Corrected theoretical position X – CorrectedPositionY double Corrected theoretical position Y – CorrectedPositionZ double Corrected theoretical position Z Output parameters Return – Function error code 705 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, CorrectedPositionX, CorrectedPositionY, CorrectedPositionZ] XYZGroupPositionCorrectedProfilerGet (int32 SocketID, cstring GroupName, double PositionX, double PositionY, double PositionZ) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XYZ group name – PositionX double Theoretical position X – PositionY double Theoretical position Y – PositionZ double Theoretical position Z – Error int32 Function error code – CorrectedPositionX doubletPtr Corrected theoretical position X – CorrectedPositionY doubletPtr Corrected theoretical position Y – CorrectedPositionZ doubletPtr Corrected theoretical position Z Return Python Prototype [Error, CorrectedPositionX, CorrectedPositionY, CorrectedPositionZ] XYZGroupPositionCorrectedProfilerGet (integer SocketID, string GroupName, double PositionX, double PositionY, double PositionZ) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XYZ group name – PositionX double Theoretical position X – PositionY double Theoretical position Y – PositionZ double Theoretical position Z – Error integer Function error code – CorrectedPositionX doubletPtr Corrected theoretical position X – CorrectedPositionY doubletPtr Corrected theoretical position Y – CorrectedPositionZ doubletPtr Corrected theoretical position Z Return EDH0305En1051 — 08/15 706 XPS-Q8 Controller Programmer’s Manual 2.9.3.2 XYZGroupPositionPCORawEncoderGet Name XYZGroupPositionPCORawEncoderGet – Returns the PCO raw encoder positions of an XYZ group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Valid object type: ERR_WRONG_OBJECT_TYPE (-8) - Valid group type (must be a XYZ group): ERR_POSITIONER_NAME (-18) - Valid group name: ERR_GROUP_NAME (-19) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the X, Y and Z PCO raw encoder positions from the X, Y and Z user positions. NOTE This function is only allowed with a XYZ group. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 707 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYZGroupPositionPCORawEncoderGet SocketID GroupName PositionX PositionY PositionZ PCORawPositionX PCORawPositionY PCORawPositionZ Input parameters SocketID integer Socket identifier gets by the “TCP_ConnectToServer” function GroupNameString XYZ group name (maximum size = 250) – PositionX floating point User position X – PositionY floating point User position Y – PositionZ floating point User position Z – PCORawPositionX floating point PCO Raw position X – PCORawPositionY floating point PCO Raw position Y – PCORawPositionZ floating point PCO Raw position Z Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYZGroupPositionPCORawEncoderGet (int SocketID, char *GroupName, double PositionX, double PositionY, double PositionZ, double * PCORawPositionX, double * PCORawPositionY, double * *PCORawPositionZ) Input parameters SocketID int Socket identifier gets by the “TCP_ConnectToServer”function GroupName char * XYZ group name – PositionX double User position X – PositionY double User position Y – PositionZ double User position Z – PCORawPositionX double * PCO Raw position X – PCORawPositionY double * PCO Raw position Y – PCORawPositionZ double * PCO Raw position Z Output parameters Return – Function error code EDH0305En1051 — 08/15 708 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long XYZGroupPositionPCORawEncoderGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal PositionX As Double, ByVal PositionY As Double, ByVal PositionZ As Double, PCORawPositionX As Double, PCORawPositionY As Double, PCORawPositionZ As Double) Input parameters SocketID Long Socket identifier gets by the “TCP_ConnectToServer” function GroupNameString XYZ group name – PositionX double User position X – PositionY double User position Y – PositionZ double User position Z – PCORawPositionX double PCO Raw position X – PCORawPositionY double PCO Raw position Y – PCORawPositionZ double PCO Raw position Z Output parameters Return – Function error code Matlab Prototype [Error,PCORawPositionX,PCORawPositionY,PCORawPositionZ] XYZGroupPositionPCORawEncoderGet (int32 SocketID, cstring GroupName, double PositionX, double PositionY, double PositionZ) Input parameters SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function GroupName cstring XYZ group name – PositionX double User position X – PositionY double User position Y – PositionZ double User position Z – Error int32 Function error code – PCORawPositionX doubletPtr PCO Raw position X – PCORawPositionY doubletPtr PCO Raw position Y – PCORawPositionZ doubletPtr PCO Raw position Z Return 709 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error,PCORawPositionX,PCORawPositionY,PCORawPositionZ] XYZGroupPositionPCORawEncoderGet (integer SocketID, string GroupName, double PositionX, double PositionY, double PositionZ) Input parameters SocketID integer Socket identifier gets by the “TCP_ConnectToServer”function GroupNameString XYZ group name – PositionX double User position X – PositionY double User position Y – PositionZ double User position Z – Error int Function error code – PCORawPositionX doubletPtr PCO Raw position X – PCORawPositionY doubletPtr PCO Raw position Y – PCORawPositionZ doubletPtr PCO Raw position Z Return EDH0305En1051 — 08/15 710 XPS-Q8 Controller Programmer’s Manual 2.9.3.3 XYZSplineExecution Name XYZSplineExecution – Executes an XYZ spline trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the group: ERR_POSITIONER_NAME (-18) - Check the group type (must be an XYZ group): ERR_WRONG_OBJECT_TYPE (8) - Check backlash (must not be enabled): ERR_NOT_ALLOWED_BACKLASH (46) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence or file reading: ERR_READ_FILE (-61) - Check the message queue filling: ERR_MSG_QUEUE (-71) - Check the input value (velocity and acceleration > 0): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check the velocity (0 < Velocity <= TrajectoryMaximumVelocity): ERR_TRAJ_VEL_LIMIT (-68) - Check the acceleration (0 < Acceleration <= TrajectoryMaximumAcceleration): ERR_TRAJ_ACC_LIMIT (-69) - Check input parameter types: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_INT (-15) Description This function executes an XYZ Spline trajectory. The trajectory file must be stored in the folder “\ADMIN\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. Before a trajectory execution, it is recommended to check whether the trajectory is within group positioner parameter capabilities and can execute by using the “XYZSplineVerification” and “XYZSplineVerificationResultGet” functions. For a more thorough description of the spline trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/Spline Trajectories. NOTE In case of an ERR_GROUP_MOTION_DONE_TIMEOUT (-33) error, an ERR_FOLLOWING_ERROR (-25) error or ERR_SLAVE (-44) error, the group state becomes DISABLE. To help dertermine the error source, check the positioner errors, the hardware status and the driver status. 711 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_MOTION_DONE_TIMEOUT (-33) - ERR_IN_INITIALIZATION (-21) - ERR_MSG_QUEUE (-71) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_NOT_ALLOWED_BACKLASH (-46) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_SLAVE (-44) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_ACC_LIMIT (-69) - ERR_TRAJ_VEL_LIMIT (-68) - ERR_TRAJ_INITIALIZATION (-72) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14), - SUCCESS (0): no error TCL Prototype XYZSplineExecution $SocketID $GroupName $FileName $Velocity $Acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XYZ group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 712 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int XYZSplineExecution (int SocketID, char *GroupName, char *FileName , double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XYZ group name – FileName char * Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) Output parameters – None Return – Function error code Visual Basic Prototype Long XYZSplineExecution (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, ByVal Velocity As Double, ByVal Acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XYZ group name – FileName string Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) Output parameters – None Return – Function error code 713 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 XYZSplineExecution (int32 SocketID, cstring GroupName, cstring FileName, double Velocity, double Acceleration) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XYZ group name – FileName cstring Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) Return – Function error code Python Prototype integer XYZSplineExecution (integer SocketID, string GroupName, string FileName, double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XYZ group name – FileName string Trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) Return – Function error code EDH0305En1051 — 08/15 714 XPS-Q8 Controller Programmer’s Manual 2.9.3.4 XYZSplineParametersGet Name XYZSplineParametersGet – Returns the Spline trajectory parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a XYZ group): ERR_WRONG_OBJECT_TYPE (8) - Check the trajectory type (Spline): ERR_NOT_ALLOWED_ACTION (-22) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_INT (-15) Description This function returns the XYZ Spline trajectory parameters (trajectory name, trajectory velocity, trajectory acceleration, current executing element number) of the current executed XYZ Spline trajectory. For a more thorough description of the Spline trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/Spline Trajectories. Error codes ERR_FATAL_INIT (-20) ERR_IN_INITIALIZATION (-21) ERR_NOT_ALLOWED_ACTION (-22) ERR_POSITIONER_NAME (-18) ERR_WRONG_FORMAT (-7) ERR_WRONG_OBJECT_TYPE (-8) ERR_WRONG_PARAMETERS_NUMBER (-9) ERR_WRONG_TYPE_CHAR (-13) ERR_WRONG_TYPE_DOUBLE (-14) ERR_WRONG_TYPE_INT (-15) SUCCESS (0): no error 715 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYZSplineParametersGet $SocketID $GroupName FileName Velocity Acceleration ElementNumber Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XYZ Group name (maximum size = 250) – FileName string Executing trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ElementNumber int Current executing element number Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYZSplineParametersGet (int SocketID, char *GroupName, char * FileName, double * Velocity, double * Acceleration, int * ElementNumber) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XYZ Group name – FileName char * Executing trajectory file name (maximum size = 250) – Velocity double * Trajectory velocity (units/seconds) – Acceleration double * Trajectory acceleration (units/seconds²) – ElementNumber int * Current executing element number Output parameters Return – Function error code EDH0305En1051 — 08/15 716 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long XYZSplineParametersGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, Velocity As Double, Acceleration As Double, ElementNumber As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XYZ Group name – FileName string Executing trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ElementNumber int Current executing element number Output parameters Return – Function error code Matlab Prototype [Error, FileName, Velocity, Acceleration, ElementNumber] XYZSplineParametersGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XYZ Group name – Error int32 Function error code – FileName cstring Executing trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ElementNumber int32 Current executing element number Return 717 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, FileName, Velocity, Acceleration, ElementNumber] XYZSplineParametersGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XYZ Group name – Error int Function error code – FileName string Executing trajectory file name (maximum size = 250) – Velocity double Trajectory velocity (units/seconds) – Acceleration double Trajectory acceleration (units/seconds²) – ElementNumber int Current executing element number Return EDH0305En1051 — 08/15 718 XPS-Q8 Controller Programmer’s Manual 2.9.3.5 XYZSplineVerification Name XYZSplineVerification – Verifies an XYZ Spline trajectory data file. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be an XYZ group): ERR_WRONG_OBJECT_TYPE (8) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence and the file format: ERR_READ_FILE (-61) - Check the trajectory (number of elements > 0): ERR_TRAJ_EMPTY (-66) - Check trajectory element types in file: ERR_WRONG_TYPE_DOUBLE (-14) Description This function verifies the execution of an XYZ Spline trajectory. The results can be gathered with the “XYZSplineVerificationResultGet” function. The trajectory file must be stored in the folder “\ADMIN\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. This function can be executed at any time and is independent of the trajectory execution. This function performs the following: • Checks the trajectory file for data coherence. • Calculates the trajectory limits, which are: the required travel per positioner, the maximum possible trajectory velocity and the maximum possible trajectory acceleration. This function helps define the parameters for the trajectory execution. • If all is OK, it returns “SUCCESS” (0). Otherwise, it returns a corresponding error. NOTE The “XYZSplineVerification” function is independent of the “XYZSplineExecution” function. It is recommended, but not necessary, to execute this function before executing a Spline trajectory. For a more thorough description of the Spline trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/Spline Trajectories. 719 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_EMPTY (-66) - ERR_TRAJ_INITIALIZATION (-72) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype XYZSplineVerification $SocketID $GroupName $FileName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XYZ group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 720 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int XYZSplineVerification (int SocketID, char *GroupName, char *FileName ) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * XYZ group name – FileName char * Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Visual Basic Prototype Long XYZSplineVerification (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string XYZ group name – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Matlab Prototype int32 XYZSplineVerification (int32 SocketID, cstring GroupName, cstring FileName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring XYZ group name – FileName cstring Trajectory file name (maximum size = 250) Return – Function error code 721 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype integer XYZSplineVerification (integer SocketID, string GroupName, string FileName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string XYZ group name – FileName string Trajectory file name (maximum size = 250) Return – Function error code EDH0305En1051 — 08/15 722 XPS-Q8 Controller Programmer’s Manual 2.9.3.6 XYZSplineVerificationResultGet Name XYZSplineVerificationResultGet – Returns the results of the previous “XYZSplineVerification” function. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a XYZ group): ERR_WRONG_OBJECT_TYPE (8) - Check the positioner name length: ERR_STRING_TOO_LONG (-3) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the last XYZ Spline verification (must be done): ERR_NOT_ALLOWED_ACTION (-22) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the results of the previous “XYZSplineVerification” function, positioner by positioner. The results are the travel requirements (min and max values), the possible maximum velocity and the possible maximum acceleration. If no verification was previously done then ERR_NOT_ALLOWED_ACTION (-22) is returned. For a more thorough description of the XYZ Spline trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/Spline Trajectories. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_STRING_TOO_LONG (-3) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13), - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 723 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype XYZSplineVerificationResultGet $SocketID $PositionerName FileName MinimumPosition MaximumPosition MaximumVelocity MaximumAcceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string XYZ positioner name (maximum size = 250) – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Maximum trajectory acceleration (units/seconds²) Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int XYZSplineVerificationResultGet (int SocketID, char * PositionerName, char * FileName, double * MinimumPosition, double * MaximumPosition, double * MaximumVelocity, double * MaximumAcceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * XYZ positioner name – FileName char * Examined trajectory file name (maximum size = 250) – MinimumPosition double * Minimum position (units) – MaximumPosition double * Maximum position (units) – MaximumVelocity double * Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double * Return – Function error code EDH0305En1051 — 08/15 724 Maximum trajectory acceleration (units/seconds²) XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long XYZSplineVerificationResultGet (ByVal SocketID As Long, ByVal PositionerName As String, ByVal FileName As String, MinimumPosition As Double, MaximumPosition As Double, MaximumVelocity As Double, MaximumAcceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string XYZ positioner name – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Maximum trajectory acceleration (units/seconds²) Return – Function error code Matlab Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] XYZSplineVerificationResultGet (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring XYZ positioner name – Error int32 Function error code – FileName cstring Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory trajectory velocity (units/seconds) Return – MaximumAcceleration double 725 Trajectory trajectory acceleration (units/seconds²) EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] XYZSplineVerificationResultGet (integer SocketID, string PositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string XYZ positioner name – Error int Function error code – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory velocity (units/seconds) Return – MaximumAcceleration double EDH0305En1051 — 08/15 726 Trajectory acceleration (units/seconds²) XPS-Q8 Controller Programmer’s Manual 2.9.4 Configuration Files Below is an example of an XYZ group (named “XYZ”) in the system.ini file. The XYZ group is built with three positioners named “X” , “Y” and “Z”. For example, positioner “X” uses the parameters of “MYSTAGE1” from the stages.ini file and is connected to the plug 1 of the XPS controller. The HomeSearchSequence is “Together”, and an XYZ mapping is used. System.ini file: [GROUPS] XYZInUse = XYZ [XYZ] ; XYZ group configuration PositionerInUse = X, Y, Z InitializationAndHomeSearchSequence = Together ; Together or XThenYThenZ ;--- Mapping XYZ XMappingFileName = MatriceX.txt XMappingXLineNumber = 5 XMappingYColumnNumber = 3 XMappingZDimNumber = 3 XMappingMaxPositionError = 2 ; must be same unit as positioner YMappingFileName = MatriceY.txt YMappingXLineNumber = 5 YMappingYColumnNumber = 3 YMappingZDimNumber = 3 YMappingMaxPositionError = 2 ; must be same unit as positioner ZMappingFileName = MatriceZ.txt ZMappingXLineNumber = 5 ZMappingYColumnNumber = 3 ZMappingZDimNumber = 3 ZMappingMaxPositionError = 2 ; must be same unit as positioner [XYZ.X] PlugNumber = 1 StageName = MYSTAGE1 X positioner configuration => See § “Positioner: Configuration files” [XYZ.Y] PlugNumbere = 2 StageName = MYSTAGE2 X positioner configuration => See § “Positioner: Configuration files” [XYZ.Z] PlugNumber = 3 StageName = MYSTAGE3 X positioner configuration => See § “Positioner: Configuration files” 727 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Stages.ini file: [MYSTAGE1] MYSTAGE1 configuration => See § “Positioner: Configuration files” [MYSTAGE2] MYSTAGE2 configuration => See § “Positioner: Configuration files” [MYSTAGE3] MYSTAGE3 configuration => See § “Positioner: Configuration files” EDH0305En1051 — 08/15 728 XPS-Q8 Controller Programmer’s Manual 2.10 MultipleAxes Group 2.10.1 Description A MultipleAxes group is an n-positioner(s) object, where n can be any number from one to eight (N max = 8 or 12). A MultipleAxes group can be used in GANTRY mode (dual positioner for one or some positioners). It includes the PVT trajectory. 2.10.2 State Diagram Called functions: (a) GroupInitialize (f) GroupMotionDisable (k) GroupJogModeDisable (p) GroupReferencingStop (b) GroupHomeSearch (g) GroupMotionEnable (l) GroupAnalogTrackingModeEnable (q) PositionerAccelerationAutoScaling (c) GroupMoveAbsolute (h) GroupMoveAbort (m) GroupAnalogTrackingModeDisable (r) PositionerCorrectorAutoTuning (d) GroupMoveRelative (i) GroupKill or KillAll (n) GroupInitializeWithEncoderCalibration (s) PositionerExcitationSignalSet (e) MultipleAxesPVTExecution (j) GroupJogModeEnable (o) GroupReferencingStart (t) GroupInitializeNoEncoderReset 729 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.10.3 Specific Function Description 2.10.3.1 MultipleAxesPVTExecution Name MultipleAxesPVTExecution – Executes a PVT trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Check backlash (must not be enabled): ERR_NOT_ALLOWED_BACKLASH (46) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the group: ERR_POSITIONER_NAME (-18) - Check the group type (must be an XYZ group): ERR_WRONG_OBJECT_TYPE (8) - Check the input parameter type: ERR_WRONG_TYPE_INT (-15) - Check the input value (Number of executions > 0): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence or file reading: ERR_READ_FILE (-61) - Check the message queue filling: ERR_MSG_QUEUE (-71) Description This function executes a PVT (Position Velocity Time) trajectory. The trajectory file must be stored in the folder “\Admin\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. Before a trajectory execution, it is recommended to check whether the trajectory is within group positioner parameter capabilities by using “MultipleAxesPVTVerification” and “MultipleAxesPVTVerificationResultGet” functions. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE In case of an ERR_GROUP_MOTION_DONE_TIMEOUT (-33) error, an ERR_FOLLOWING_ERROR (-25) error or ERR_SLAVE (-44) error, the group state becomes DISABLE. To help determine the error source, check the positioner errors, the hardware status and the driver status. EDH0305En1051 — 08/15 730 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_MOTION_DONE_TIMEOUT (-33) - ERR_IN_INITIALIZATION (-21) - ERR_MSG_QUEUE (-71) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_NOT_ALLOWED_BACKLASH (-46) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_SLAVE (-44) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_INITIALIZATION (-72) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype MultipleAxesPVTExecution $SocketID $GroupName $FileName $Velocity $Acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) – ExecutionNumber int Number of trajectory executions Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 731 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int MultipleAxesPVTExecution (int SocketID, char *GroupName, char *FileName , double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * MultipleAxes group name – FileName char * Trajectory file name (maximum size = 250) – ExecutionNumber int Number of trajectory executions Output parameters – None Return – Function error code Visual Basic Prototype Long MultipleAxesPVTExecution (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, ByVal Velocity As Double, ByVal Acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name – FileName string Trajectory file name (maximum size = 250) – ExecutionNumber long Number of trajectory executions Output parameters – None Return – Function error code EDH0305En1051 — 08/15 732 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 MultipleAxesPVTExecution (int32 SocketID, cstring GroupName, cstring FileName, double Velocity, double Acceleration) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring MultipleAxes group name – FileName cstring Trajectory file name (maximum size = 250) – ExecutionNumber int32 Number of trajectory executions Return – Function error code Python Prototype integer MultipleAxesPVTExecution (integer SocketID, string GroupName, string FileName, double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string MultipleAxes group name – FileName string Trajectory file name (maximum size = 250) – ExecutionNumber int Number of trajectory executions Return – Function error code 733 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.10.3.2 MultipleAxesPVTLoadToMemory Name MultipleAxesPVTLoadToMemory – Loads a Multiple Axes PVT trajectory line. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_GROUP_NAME (-19) - Check the gantry mode (must not be a gantry): ERR_POSITIONER_NAME (-18) - Check the group type (must be an MultipleAxes group): ERR_WRONG_OBJECT_TYPE (-8) - Check the trajectory data length: ERR_STRING_TOO_LONG (-3) - Check the input value (> 0): ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function loads a line of PVT trajectory into the XPS memory. Each trajectory element must be separated by a comma. To verify or to execute the PVT trajectory loaded in memory, use the string “FromMemory” instead of a FileName. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE All of the previous PVT functions, when called with the string “FromMemory” instead of a FileName, will perform the same operation as the PVT trajectory in RAM as it does from a disk. Example: MultipleAxesPVTLoadToMemory(myMultipleAxes, 0.5,1,2,2,4,1,2) MultipleAxesPVTVerification (myMultipleAxes, FromMemory) MultipleAxesPVTExecution(myMultipleAxes, FromMemory, 1) NOTE This function can be used only with the XPS-Qn Precision Platform controller. EDH0305En1051 — 08/15 734 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_STRING_TOO_LONG (-3) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype MultipleAxesPVTLoadToMemory $SocketID $GroupName $TrajectoryLine Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name (maximum size = 250) – TrajectoryLine string Trajectory line (maximum size = 400) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code Example in a TCL program: set code [catch "MultipleAxesPVTLoadToMemory $socketID MULTI 0.5,1,2,2,4,1,2"] if {$code != 0} { DisplayErrorAndClose $socketID $code "MultipleAxesPVTLoadToMemory" return } 735 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int MultipleAxesPVTLoadToMemory (int SocketID, char *GroupName, char *TrajectoryLine) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * MultipleAxes group name – TrajectoryLine char * Trajectory line (maximum size = 400) Output parameters – None Return – Function error code Visual Basic Prototype Long MultipleAxesPVTLoadToMemory (ByVal SocketID As Long, ByVal GroupName As String, ByVal TrajectoryLine As String, ByVal) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name – TrajectoryLine string Trajectory line (maximum size = 400) Output parameters – None Return – Function error code Matlab Prototype int32 MultipleAxesPVTLoadToMemory (int32 SocketID, cstring GroupName, cstring TrajectoryLine) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring MultipleAxes group name – TrajectoryLine cstring Trajectory line (maximum size = 400) Return – Function error code EDH0305En1051 — 08/15 736 XPS-Q8 Controller Programmer’s Manual Python Prototype integer MultipleAxesPVTLoadToMemory (integer SocketID, string GroupName, string TrajectoryLine) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string MultipleAxes group name – TrajectoryLine string Trajectory file name (maximum size = 400) Return – Function error code 737 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.10.3.3 MultipleAxesPVTParametersGet Name MultipleAxesPVTParametersGet – Returns the PVT trajectory parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a MultipleAxes group): ERR_WRONG_OBJECT_TYPE (-8) - Check the trajectory type (PVT): ERR_NOT_ALLOWED_ACTION (-22) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_INT (-15) Description This function returns the PVT trajectory parameters (trajectory name and current executing element number) of the current executed PVT trajectory. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 738 XPS-Q8 Controller Programmer’s Manual TCL Prototype MultipleAxesPVTParametersGet $SocketID $GroupName FileName ElementNumber Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name (maximum size = 250) – FileName string Executing trajectory file name (maximum size = 250) – ElementNumber int Current executing element number Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int MultipleAxesPVTParametersGet (int SocketID, char *GroupName, char * FileName, int * ElementNumber) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * MultipleAxes group name – FileName char * Executing trajectory file name (maximum size = 250) – ElementNumber int * Current executing element number Output parameters Return – Function error code 739 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long MultipleAxesPVTParametersGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, ElementNumber As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name – FileName string Executing trajectory file name (maximum size = 250) – ElementNumber int Current executing element number Output parameters Return – Function error code Matlab Prototype [Error, FileName, ElementNumber] MultipleAxesPVTParametersGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring MultipleAxes group name – Error int32 Function error code – FileName cstring Executing trajectory file name (maximum size = 250) – ElementNumber int32 Current executing element number Return Python Prototype [Error, FileName, ElementNumber] MultipleAxesPVTParametersGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string MultipleAxes group name – Error int Function error code – FileName string Executing trajectory file name (maximum size = 250) – ElementNumber int Current executing element number Return EDH0305En1051 — 08/15 740 XPS-Q8 Controller Programmer’s Manual 2.10.3.4 MultipleAxesPVTPulseOutputGet Name MultipleAxesPVTPulseOutputGet – Returns the configuration of pulse generation of a PVT trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a MultipleAxes group): ERR_WRONG_OBJECT_TYPE (-8) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the last configuration of pulse generation of a PVT trajectory. The pulse output configuration is defined by a start element, an end element, and a time interval in seconds. Example: MultipleAxesPVTPulseOutputGet (Group1, 3, 5, 0.01) One pulse will be generated every 10 ms between the start of the 3rd element and the end of the 5th element. Start element= 3 End element = 5 Time interval = 0.01 seconds For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial sections Trajectories/PVT Trajectories and Ouput triggers. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 741 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype MultipleAxesPVTPulseOutputGet $SocketID $GroupName StartElement EndElement TimeInterval Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name (maximum size = 250) – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int MultipleAxesPVTPulseOutputGet (int SocketID, char *GroupName, int * StartElement, int * EndElement, double * TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * MultipleAxes group name – StartElement int * Start Element number – EndElement int * End Element number – TimeInterval double * Time interval (seconds) Output parameters Return – Function error code EDH0305En1051 — 08/15 742 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long MultipleAxesPVTPulseOutputGet (ByVal SocketID As Long, ByVal GroupName As String, StartElement As Long, EndElement As Long, TimeInterval As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name – StartElement long Start Element number – EndElement long End Element number – TimeInterval double Time interval (seconds) Output parameters Return – Function error code Matlab Prototype [Error, StartElement, EndElement, TimeInterval] MultipleAxesPVTPulseOutputGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring MultipleAxes Group name – Error int32 Function error code – StartElement int32 Start Element number – EndElement int32 End Element number – TimeInterval double Time interval (seconds) Return 743 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, StartElement, EndElement, TimeInterval] MultipleAxesPVTPulseOutputGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string MultipleAxes group name – Error int Function error code – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Return EDH0305En1051 — 08/15 744 XPS-Q8 Controller Programmer’s Manual 2.10.3.5 MultipleAxesPVTPulseOutputSet Name MultipleAxesPVTPulseOutputSet – Sets the configuration of pulse generation of a PVT trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a MultipleAxes group): ERR_WRONG_OBJECT_TYPE (-8) - Check the pulse generation must not be in progress: ERR_NOT_ALLOWED_ACTION (-22) - Valid input parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_INT (-15) Description This function configures and activates the pulse generation of a PVT trajectory. The pulse generation is defined by a start element, an end element, and a time interval in seconds. If a pulse generation is already activated on the selected PVT trajectory then this function returns ERR_NOT_ALLOWED_ACTION error. Please note that the pulse output settings are automatically removed when the trajectory is over. Hence, with the execution of every new trajectory, it is required to define the pulse output settings again. This capability allows output of pulses at constant time intervals on a PVT trajectory. The pulses are generated between the first and the last trajectory element. The minimum possible time interval is 100 µs. Example: MultipleAxesPVTPulseOutputSet (Group1, 3, 5, 0.01) One pulse will be generated every 10 ms between the start of the 3rd element and the end of the 5th element. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial sections Trajectories/PVT Trajectories and Ouput triggers. 745 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype MultipleAxesPVTPulseOutputSet $SocketID $GroupName $StartElement $EndElement $TimeInterval Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name (maximum size = 250) – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 746 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int MultipleAxesPVTPulseOutputSet (int SocketID, char *GroupName, int StartElement, int EndElement, double TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * MultipleAxes group name – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Output parameters – None Return – Function error code Visual Basic Prototype Long MultipleAxesPVTPulseOutputSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal StartElement As Long, ByVal EndElement As Long, ByVal TimeInterval As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name – StartElement long Start Element number – EndElement long End Element number – TimeInterval double Time interval (seconds) Output parameters – None Return – Function error code 747 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] MultipleAxesPVTPulseOutputSet (int32 SocketID, cstring GroupName, int32 StartElement, int32 EndElement, double TimeInterval) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring MultipleAxes group name – StartElement int32 Start Element number – EndElement int32 End Element number – TimeInterval double Time interval (seconds) int32 Function error code Return – Error Python Prototype [Error] MultipleAxesPVTPulseOutputSet (integer SocketID, string GroupName, integer StartElement, integer EndElement, double TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string MultipleAxes group name – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) int Function error code Return – Error EDH0305En1051 — 08/15 748 XPS-Q8 Controller Programmer’s Manual 2.10.3.6 MultipleAxesPVTResetInMemory Name MultipleAxesPVTResetInMemory – Deletes the current content of the PVT trajectory buffer in memory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_GROUP_NAME (-19) - Check the group (must not be a gantry): ERR_POSITIONER_NAME (-18) - Check the group type (must be a MultipleAxes group): ERR_WRONG_OBJECT_TYPE (-8) Description This function deletes the PVT trajectory buffer in memory, loaded with the “MultipleAxesPVTLoadToMemory” function. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 749 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype MultipleAxesPVTResetInMemory $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int MultipleAxesPVTResetInMemory (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * MultipleAxes group name Output parameters – None Return – Function error code Visual Basic Prototype Long MultipleAxesPVTResetInMemory (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 750 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 MultipleAxesPVTResetInMemory (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring MultipleAxes group name Return – Function error code Python Prototype integer MultipleAxesPVTResetInMemory (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string MultipleAxes group name Return – Function error code 751 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.10.3.7 MultipleAxesPVTVerification Name MultipleAxesPVTVerification – Verifies a PVT trajectory data file. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a MultipleAxes group): ERR_WRONG_OBJECT_TYPE (-8) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence and the file format: ERR_READ_FILE (-61) - Check the trajectory (number of elements > 0): ERR_TRAJ_EMPTY (-66) - Check trajectory element types in file: ERR_WRONG_TYPE_DOUBLE (-14) - Check the end output velocity (must be null): ERR_TRAJ_FINAL_VELOCITY (70) - Check the velocity (Minimum Velocity <= Velocity <= Maximum Velocity): ERR_TRAJ_VEL_LIMIT (-68) - Check the acceleration (Minimum acc. <= acceleration <= Maximum acc.): ERR_TRAJ_ACC_LIMIT (-69) - Check the delta time (Delta Time > 0): ERR_TRAJ_TIME (-75) Description This function verifies the execution of a PVT trajectory. The results of the verification can be gathered with the “MultipleAxesPVTVerificationResultGet” function. The trajectory file must be stored in the folder “\ADMIN\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. This function can be executed at any time and is independent of the trajectory execution. This function performs the following: • Checks the trajectory file for data coherence. • Calculates the trajectory limits, which are: the required travel per positioner, the maximum possible trajectory velocity and the maximum possible trajectory acceleration. This function helps define the parameters for the trajectory execution. • If all is OK, it returns “SUCCESS” (0). Otherwise, it returns a corresponding error. NOTE The “MultipleAxesPVTVerification” function is independent from the “MultipleAxesPVTExecution” function. It is recommended, but not necessary, to execute this function before executing a PVT trajectory. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. EDH0305En1051 — 08/15 752 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_EMPTY (-66) - ERR_TRAJ_ACC_LIMIT (-69) - ERR_TRAJ_FINAL_VELOCITY (-70) - ERR_TRAJ_INITIALIZATION (-72) - ERR_TRAJ_TIME (-75) - ERR_TRAJ_VEL_LIMIT (-68) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype MultipleAxesPVTVerification $SocketID $GroupName $FileName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 753 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int MultipleAxesPVTVerification (int SocketID, char *GroupName, char *FileName ) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * MultipleAxes group name – FileName char * Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Visual Basic Prototype Long MultipleAxesPVTVerification (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string MultipleAxes group name – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Matlab Prototype int32 MultipleAxesPVTVerification (int32 SocketID, cstring GroupName, cstring FileName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring MultipleAxes group name – FileName cstring Trajectory file name (maximum size = 250) Return – Function error code EDH0305En1051 — 08/15 754 XPS-Q8 Controller Programmer’s Manual Python Prototype integer MultipleAxesPVTVerification (integer SocketID, string GroupName, string FileName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string MultipleAxes group name – FileName string Trajectory file name (maximum size = 250) Return – Function error code 755 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.10.3.8 MultipleAxesPVTVerificationResultGet Name MultipleAxesPVTVerificationResultGet – Returns the results of the “MultipleAxesPVTVerification” function. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a MultipleAxes group): ERR_WRONG_OBJECT_TYPE (-8) - Check the positioner name length: ERR_STRING_TOO_LONG (-3) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the last MultipleAxes PVT verification (must be done): ERR_NOT_ALLOWED_ACTION (-22) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the results of the previous “MultipleAxesPVTVerification” function, positioner by positioner. The results are the travel requirements (min and max values), the possible maximum velocity and the possible maximum acceleration. If no verification was previously done then ERR_NOT_ALLOWED_ACTION (-22) is returned. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_STRING_TOO_LONG (-3) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13), - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 756 XPS-Q8 Controller Programmer’s Manual TCL Prototype MultipleAxesPVTVerificationResultGet $SocketID $PositionerName FileName MinimumPosition MaximumPosition MaximumVelocity MaximumAcceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string MultipleAxes positioner name (maximum size = 250) – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Maximum trajectory acceleration (units/seconds²) Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int MultipleAxesPVTVerificationResultGet (int SocketID, char *PositionerName, char * FileName, double * MinimumPosition, double * MaximumPosition, double * MaximumVelocity, double * MaximumAcceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * MultipleAxes positioner name – FileName char * Examined trajectory file name (maximum size = 250) – MinimumPosition double * Minimum position (units) – MaximumPosition double * Maximum position (units) – MaximumVelocity double * Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double * Maximum trajectory acceleration (units/seconds²) Return – Function error code 757 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long MultipleAxesPVTVerificationResultGet (ByVal SocketID As Long, ByVal PositionerName As String, ByVal FileName As String, MinimumPosition As Double, MaximumPosition As Double, MaximumVelocity As Double, MaximumAcceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string MultipleAxes positioner name – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Maximum trajectory acceleration (units/seconds²) Return – Function error code Matlab Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] MultipleAxesPVTVerificationResultGet (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring MultipleAxes positioner name – Error int32 Function error code – FileName cstring Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory trajectory velocity (units/seconds) Return – MaximumAcceleration double EDH0305En1051 — 08/15 758 Trajectory trajectory acceleration (units/seconds²) XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] MultipleAxesPVTVerificationResultGet (integer SocketID, string PositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string MultipleAxes positioner name – Error int Function error code – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory velocity (units/seconds) Return – MaximumAcceleration double 759 Trajectory acceleration (units/seconds²) EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.10.4 Configuration Files Below is an example of a MultipleAxes group (named “MULTI”) in the system.ini file. The group MULTI is built with two positioners named “M1” and “M2”. The positioner “M1” uses the parameters of “MYSTAGE1” from the stages.ini file and is connected to the plug 1 of the XPS controller. The secondary positioner of “M1” uses the parameters of “MYSTAGE1” from the stages.ini file and is connected to plug 2 of the XPS controller. The positioner “M2” uses the parameters of “MYSTAGE2” from the stages.ini file and is connected to the plug 3 of the XPS controller. The HomeSearchSequence is “OneAfterAnother”. NOTE PIDBaseFilter parameter in system.ini file is to be configured only when using the XPS-Qn Precision Platform controller. System.ini file: [GROUPS] MultipleAxesInUse = MULTI [MULTI] ; AXIS MultipleAxes group configuration PositionerInUse = M1, M2 PositionerNumber = 2 InitializationAndHomeSearchSequence = OneAfterAnother ;Together, OneAfterAnother or ; OneAfterAnotherInReverseOrder [MULTI.M1] PLugNumber = 1 StageName = MYSTAGE1 ; --- Time flasher TimeFlasherBaseFrequency = ; default value 40e6, must be between 39.5e6 and 40.5e6 Hz ;--- PIDBase filter (take into account the base movements, effective only with PIDFFAcceleration corrector) To be added only when using XPS-Q8 Precision Platform controller PIDBaseFilter = ; Enabled or Disabled MovingMass = ; If PIDBaseFilter = Enabled StaticMass = ; If PIDBaseFilter = Enabled Viscosity = ; If PIDBaseFilter = Enabled Stiffness = ; If PIDBaseFilter = Enabled ;--- If Gantry (secondary positioner) SecondaryPositionerGantry = ; Enabled or Disabled SecondaryPlugNumber = 2 ; If SecondaryPositionerGantry = Enabled SecondaryStageName = MYSTAGE1 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryEndReferencingPosition = 0 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryEndReferencingTolerance = 1 ;If SecondaryPositionerGantry = Enabled EDH0305En1051 — 08/15 760 XPS-Q8 Controller Programmer’s Manual SecondaryPositionerGantryOffsetAfterInitialization = 0 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryMotorEnableDelay = ;seconds,if SecondaryPositionerGantry = Enabled [MULTI.M2] PLugNumber = 3 StageName = MYSTAGE2 ; --- Time flasher TimeFlasherBaseFrequency = ; default value 40e6, must be between 39.5e6 and 40.5e6 Hz ;--- PIDBase filter (take into account the base movements, effective only with PIDFFAcceleration corrector) To be added only when using XPS-Q8 Precision Platform controller PIDBaseFilter = ; Enabled or Disabled MovingMass = ; If PIDBaseFilter = Enabled StaticMass = ; If PIDBaseFilter = Enabled Viscosity = ; If PIDBaseFilter = Enabled Stiffness = ; If PIDBaseFilter = Enabled ;--- If Gantry (secondary positioner) SecondaryPositionerGantry = ; Enabled or Disabled SecondaryPlugNumber = 4 ; If SecondaryPositionerGantry = Enabled SecondaryStageName = MYSTAGE2 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryEndReferencingPosition = 0 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryEndReferencingTolerance = 1 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryOffsetAfterInitialization = 0 ;If SecondaryPositionerGantry = Enabled SecondaryPositionerGantryMotorEnableDelay = ;seconds,if SecondaryPositionerGantry = Enabled Stages.ini file: [MYSTAGE1] MYSTAGE1 configuration => See § “Positioner: Configuration files” [MYSTAGE2] MYSTAGE2 configuration => See § “Positioner: Configuration files” 761 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.11 TZ Group 2.11.1 Description A TZ group is a 3-positioner object, like the XYZ group, but with the following differences: - It supports the PVT trajectories. - It does not support 3D spline trajectories. - It supports TZDecoupling, XYtoZZZAccelerationFeedforward and TZTracking functionalities. - It supports Focus process via the XPS focus interface board and focus process module (focus.out). - It has a specific way of initialization (MotorDriverInterface = AnalogAccelerationTZ). NOTE This group can be used only with the XPS-Qn Precision Platform controller. EDH0305En1051 — 08/15 762 XPS-Q8 Controller Programmer’s Manual 2.11.2 State Diagram Called functions: (a) GroupInitialize (g) GroupMotionEnable (m) GroupAnalogTrackingModeDisable (s) PositionerExcitationSignalSet (b) GroupHomeSearch (h) GroupMoveAbort (n) GroupInitializeWithEncoderCalibration (t) TZFocusModeEnable (c) GroupMoveAbsolute (i) GroupKill or KillAll (o) GroupReferencingStart (u) GroupInitializeNoEncoderReset (d) GroupMoveRelative (j) GroupJogModeEnable (p) GroupReferencingStop (e) MultipleAxesPVTExecution (k) GroupJogModeDisable (q) PositionerAccelerationAutoScaling (f) GroupMotionDisable (l) GroupAnalogTrackingModeEnable (r) PositionerCorrectorAutoTuning 763 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.11.3 Specific Function Description 2.11.3.1 TZPVTExecution Name TZPVTExecution – Executes a PVT trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Check backlash (must not be enabled): ERR_NOT_ALLOWED_BACKLASH (46) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the group: ERR_POSITIONER_NAME (-18) - Check the group type (must be an XYZ group): ERR_WRONG_OBJECT_TYPE (8) - Check the input parameter type: ERR_WRONG_TYPE_INT (-15) - Check the input value (Number of executions > 0): ERR_PARAMETER_OUT_OF_RANGE (-17) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence or file reading: ERR_READ_FILE (-61) - Check the message queue filling: ERR_MSG_QUEUE (-71) Description This function executes a PVT (Position Velocity Time) trajectory. The trajectory file must be stored in the folder “\ADMIN\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. Before a trajectory execution, it is recommended to check whether the trajectory is within group parameter postioner capability and can execute by using the “TZPVTVerification” and “TZPVTVerificationResultGet” functions. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTES This function can be used only with the XPS-Qn Precision Platform controller. In case of an ERR_GROUP_MOTION_DONE_TIMEOUT (-33) error, an ERR_FOLLOWING_ERROR (-25) error or ERR_SLAVE (-44) error, the group state becomes DISABLE. To help determine the error source, check the positioner errors, the hardware status and the driver status. EDH0305En1051 — 08/15 764 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_FOLLOWING_ERROR (-25) - ERR_GROUP_MOTION_DONE_TIMEOUT (-33) - ERR_IN_INITIALIZATION (-21) - ERR_MSG_QUEUE (-71) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_NOT_ALLOWED_BACKLASH (-46) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_SLAVE (-44) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_INITIALIZATION (-72) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype TZPVTExecution $SocketID $GroupName $FileName $Velocity $Acceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) – ExecutionNumber int Number of trajectory executions Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 765 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int TZPVTExecution (int SocketID, char *GroupName, char *FileName , double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name – FileName char * Trajectory file name (maximum size = 250) – ExecutionNumber int Number of trajectory executions Output parameters – None Return – Function error code Visual Basic Prototype Long TZPVTExecution (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, ByVal Velocity As Double, ByVal Acceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name – FileName string Trajectory file name (maximum size = 250) – ExecutionNumber long Number of trajectory executions Output parameters – None Return – Function error code EDH0305En1051 — 08/15 766 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 TZPVTExecution (int32 SocketID, cstring GroupName, cstring FileName, double Velocity, double Acceleration) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name – FileName cstring Trajectory file name (maximum size = 250) – ExecutionNumber int32 Number of trajectory executions Return – Function error code Python Prototype integer TZPVTExecution (integer SocketID, string GroupName, string FileName, double Velocity, double Acceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name – FileName string Trajectory file name (maximum size = 250) – ExecutionNumber int Number of trajectory executions Return – Function error code 767 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.11.3.2 TZPVTLoadToMemory Name TZPVTLoadToMemory – Loads a Multiple Axes PVT trajectory’s line. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_GROUP_NAME (-19) - Check the gantry mode (must not be a gantry): ERR_POSITIONER_NAME (-18) - Check the group type (must be an TZ group): ERR_WRONG_OBJECT_TYPE (-8) - Check the trajectory data length: ERR_STRING_TOO_LONG (-3) - Check the input value (> 0): ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function loads a line of a PVT trajectory into the XPS memory. Each trajectory element must be separated by a comma. To verify or to execute the PVT trajectory loaded in memory, use the string “FromMemory” instead of a FileName. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTES This function can be used only with the XPS-Qn Precision Platform controller. All previous PVT functions, when called with the string “FromMemory” instead of a FileName, will perform the same operation on the PVT trajectory in RAM as it does in a disk file. Example: TZPVTLoadToMemory(myTZ, 0.04,0,0,3.2,0) TZPVTVerification (myTZ, FromMemory) TZPVTExecution(myTZ, FromMemory, 1) Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_STRING_TOO_LONG (-3) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 768 XPS-Q8 Controller Programmer’s Manual TCL Prototype TZPVTLoadToMemory $SocketID $GroupName $TrajectoryLine Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) – TrajectoryLine string Trajectory line (maximum size = 400) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TZPVTLoadToMemory (int SocketID, char *GroupName, char *TrajectoryLine) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name – TrajectoryLine char * Trajectory line (maximum size = 400) Output parameters – None Return – Function error code Visual Basic Prototype Long TZPVTLoadToMemory (ByVal SocketID As Long, ByVal GroupName As String, ByVal TrajectoryLine As String, ByVal) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name – TrajectoryLine string Trajectory line (maximum size = 400) Output parameters – None Return – Function error code 769 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 TZPVTLoadToMemory (int32 SocketID, cstring GroupName, cstring TrajectoryLine) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name – TrajectoryLine cstring Trajectory line (maximum size = 400) Return – Function error code Python Prototype integer TZPVTLoadToMemory (integer SocketID, string GroupName, string TrajectoryLine) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name – TrajectoryLine string Trajectory file name (maximum size = 400) Return – Function error code EDH0305En1051 — 08/15 770 XPS-Q8 Controller Programmer’s Manual 2.11.3.3 TZPVTParametersGet Name TZPVTParametersGet – Returns the PVT trajectory parameters. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) - Check the trajectory type (PVT): ERR_NOT_ALLOWED_ACTION (-22) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_INT (-15) Description This function returns the PVT trajectory parameters (trajectory name and current executing element number) of the current executed PVT trajectory. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 771 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype TZPVTParametersGet $SocketID $GroupName FileName ElementNumber Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) – FileName string Executing trajectory file name (maximum size = 250) – ElementNumber int Current executing element number Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TZPVTParametersGet (int SocketID, char *GroupName, char * FileName, int * ElementNumber) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name – FileName char * Executing trajectory file name (maximum size = 250) – ElementNumber int * Current executing element number Output parameters Return – Function error code EDH0305En1051 — 08/15 772 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long TZPVTParametersGet (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String, ElementNumber As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name – FileName string Executing trajectory file name (maximum size = 250) – ElementNumber int Current executing element number Output parameters Return – Function error code Matlab Prototype [Error, FileName, ElementNumber] TZPVTParametersGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name – Error int32 Function error code – FileName cstring Executing trajectory file name (maximum size = 250) – ElementNumber int32 Current executing element number Return Python Prototype [Error, FileName, ElementNumber] TZPVTParametersGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name – Error int Function error code – FileName string Executing trajectory file name (maximum size = 250) – ElementNumber int Current executing element number Return 773 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.11.3.4 TZPVTPulseOutputGet Name TZPVTPulseOutputGet – Returns the configuration of pulse generation of a PVT trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) - Valid output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the last configuration of pulse generation of a PVT trajectory. The pulse output configuration is defined by a start element, an end element, and a time interval in seconds. Example: Add: TZPVTPulseOutputGet (Group1, 3, 5, 0.01) One pulse will be generated every 10 ms between the start of the 3rd element and the end of the 5th element. Start element= 3 End element = 5 Time interval = 0.01 seconds For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial, sections named Trajectories/PVT Trajectories and Ouput triggers. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 774 XPS-Q8 Controller Programmer’s Manual TCL Prototype TZPVTPulseOutputGet $SocketID $GroupName StartElement EndElement TimeInterval Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TZPVTPulseOutputGet (int SocketID, char *GroupName, int * StartElement, int * EndElement, double * TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name – StartElement int * Start Element number – EndElement int * End Element number – TimeInterval double * Time interval (seconds) Output parameters Return – Function error code 775 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long TZPVTPulseOutputGet (ByVal SocketID As Long, ByVal GroupName As String, StartElement As Long, EndElement As Long, TimeInterval As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name – StartElement long Start Element number – EndElement long End Element number – TimeInterval double Time interval (seconds) Output parameters Return – Function error code Matlab Prototype [Error, StartElement, EndElement, TimeInterval] TZPVTPulseOutputGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name – Error int32 Function error code – StartElement int32 Start Element number – EndElement int32 End Element number – TimeInterval double Time interval (seconds) Return Python Prototype [Error, StartElement, EndElement, TimeInterval] TZPVTPulseOutputGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name – Error int Function error code – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Return EDH0305En1051 — 08/15 776 XPS-Q8 Controller Programmer’s Manual 2.11.3.5 TZPVTPulseOutputSet Name TZPVTPulseOutputSet – Sets the configuration of pulse generation of a PVT trajectory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) - Check the pulse generation must not be in progress: ERR_NOT_ALLOWED_ACTION (-22) - Valid input parameter type: ERR_WRONG_TYPE_DOUBLE (-14), ERR_WRONG_TYPE_INT (-15) Description This function configures and activates the pulse generation of a PVT trajectory. The pulse generation is defined by a start element, an end element, and a time interval in seconds. If a pulse generation is already activated on the selected PVT trajectory then this function returns ERR_NOT_ALLOWED_ACTION. Please note, that the pulse output settings are automatically removed when the trajectory is over. Hence, with the execution of every new trajectory, it is required to define the pulse output settings again. This capability allows output of pulses at constant time intervals on a PVT trajectory. The pulses are generated between the first and the last trajectory element. The minimum possible time interval is 100 µs. Example: TZPVTPulseOutputSet (Group1, 3, 5, 0.01) One pulse will be generated every 10 ms between the start of the 3rd element and the end of the 5th element. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial, sections named Trajectories/PVT Trajectories and Ouput triggers. NOTE This function can be used only with the XPS-Qn Precision Platform controller. 777 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype TZPVTPulseOutputSet $SocketID $GroupName $StartElement $EndElement $TimeInterval Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 778 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int TZPVTPulseOutputSet (int SocketID, char *GroupName, int StartElement, int EndElement, double TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) Output parameters – None Return – Function error code Visual Basic Prototype Long TZPVTPulseOutputSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal StartElement As Long, ByVal EndElement As Long, ByVal TimeInterval As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name – StartElement long Start Element number – EndElement long End Element number – TimeInterval double Time interval (seconds) Output parameters – None Return – Function error code 779 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] TZPVTPulseOutputSet (int32 SocketID, cstring GroupName, int32 StartElement, int32 EndElement, double TimeInterval) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name – StartElement int32 Start Element number – EndElement int32 End Element number – TimeInterval double Time interval (seconds) int32 Function error code Return – Error Python Prototype [Error] TZPVTPulseOutputSet (integer SocketID, string GroupName, integer StartElement, integer EndElement, double TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name – StartElement int Start Element number – EndElement int End Element number – TimeInterval double Time interval (seconds) int Function error code Return – Error EDH0305En1051 — 08/15 780 XPS-Q8 Controller Programmer’s Manual 2.11.3.6 TZPVTResetInMemory Name TZPVTResetInMemory – Deletes the current content of the PVT trajectory buffer in memory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_GROUP_NAME (-19) - Check the group (must not be a gantry): ERR_POSITIONER_NAME (-18) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) Description This function deletes the PVT trajectory buffer in the memory, loaded with the “TZPVTLoadToMemory” function. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE This function can be used only with the XPS-Qn Precision Platform controller Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 781 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype TZPVTResetInMemory $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TZPVTResetInMemory (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name Output parameters – None Return – Function error code Visual Basic Prototype Long TZPVTResetInMemory (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 782 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 TZPVTResetInMemory (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name Return – Function error code Python Prototype integer TZPVTResetInMemory (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name Return – Function error code 783 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.11.3.7 TZPVTVerification Name TZPVTVerification – Verifies a PVT trajectory data file. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) - Check the base velocity value (must be null): ERR_BASE_VELOCITY (-48) - Check the trajectory file name length: ERR_STRING_TOO_LONG (-3) - Check the trajectory file existence and the file format: ERR_READ_FILE (-61) - Check the trajectory (number of elements > 0): ERR_TRAJ_EMPTY (-66) - Check trajectory element types in file: ERR_WRONG_TYPE_DOUBLE (-14) - Check the end output velocity (must be null): ERR_TRAJ_FINAL_VELOCITY (70) - Check the velocity (Minimum Velocity <= Velocity <= Maximum Velocity): ERR_TRAJ_VEL_LIMIT (-68) - Check the acceleration (Minimum acc. <= acceleration <= Maximum acc.): ERR_TRAJ_ACC_LIMIT (-69) - Check the delta time (Delta Time > 0): ERR_TRAJ_TIME (-75) Description This function verifies the possible execution of a PVT trajectory. The results of the verification can be gathered with the “TZPVTVerificationResultGet” function. The trajectory file must be stored in the folder “\ADMIN\Public\Trajectory” of the XPS controller. If the trajectory cannot be initialized (message queue or task error) then ERR_TRAJ_INITIALIZATION (-72) is returned. This function can be executed at any time and is independent from the trajectory execution. This function performs the following: 1. Checks the trajectory file for data coherence. 2. Calculates the trajectory limits, which are: the required travel per positioner, the maximum possible trajectory velocity and the maximum possible trajectory acceleration. This function helps define the parameters for the trajectory execution. 3. If all is OK, it returns “SUCCESS” (0). Otherwise, it returns a corresponding error. NOTES This function can be used only with the XPS-Q8 Precision Platform controller. The “TZPVTVerification” function is independent from the “TZPVTExecution” function. It is recommended, but not necessary to execute this function before executing a PVT trajectory. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. EDH0305En1051 — 08/15 784 XPS-Q8 Controller Programmer’s Manual Error codes - ERR_BASE_VELOCITY (-48) - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_READ_FILE (-61) - ERR_STRING_TOO_LONG (-3) - ERR_TRAJ_EMPTY (-66) - ERR_TRAJ_ACC_LIMIT (-69) - ERR_TRAJ_FINAL_VELOCITY (-70) - ERR_TRAJ_INITIALIZATION (-72) - ERR_TRAJ_TIME (-75) - ERR_TRAJ_VEL_LIMIT (-68) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error TCL Prototype TZPVTVerification $SocketID $GroupName $FileName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 785 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int TZPVTVerification (int SocketID, char *GroupName, char *FileName ) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name – FileName char * Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Visual Basic Prototype Long TZPVTVerification (ByVal SocketID As Long, ByVal GroupName As String, ByVal FileName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name – FileName string Trajectory file name (maximum size = 250) Output parameters – None Return – Function error code Matlab Prototype int32 TZPVTVerification (int32 SocketID, cstring GroupName, cstring FileName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name – FileName cstring Trajectory file name (maximum size = 250) Return – Function error code EDH0305En1051 — 08/15 786 XPS-Q8 Controller Programmer’s Manual Python Prototype integer TZPVTVerification (integer SocketID, string GroupName, string FileName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name – FileName string Trajectory file name (maximum size = 250) Return – Function error code 787 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.11.3.8 TZPVTVerificationResultGet Name TZPVTVerificationResultGet – Returns the results of the “TZPVTVerification” function. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) - Check the positioner name length: ERR_STRING_TOO_LONG (-3) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the last TZ PVT verification (must be done): ERR_NOT_ALLOWED_ACTION (-22) - Valid output parameter type: ERR_WRONG_TYPE_CHAR (-13), ERR_WRONG_TYPE_DOUBLE (-14) Description This function returns the results of the previous “TZPVTVerification” function, positioner by positioner. The results are travel requirements (min and max values), the possible maximum velocity and the possible maximum acceleration. If no verification was previously done then ERR_NOT_ALLOWED_ACTION (-22) is returned. For a more thorough description of the PVT trajectory capability, please refer to the XPS Motion Tutorial section Trajectories/PVT Trajectories. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_STRING_TOO_LONG (-3) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13), - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 788 XPS-Q8 Controller Programmer’s Manual TCL Prototype TZPVTVerificationResultGet $SocketID $PositionerName FileName MinimumPosition MaximumPosition MaximumVelocity MaximumAcceleration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string TZ positioner name (maximum size = 250) – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Maximum trajectory acceleration (units/seconds²) Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TZPVTVerificationResultGet (int SocketID, char *PositionerName, char * FileName, double * MinimumPosition, double * MaximumPosition, double * MaximumVelocity, double * MaximumAcceleration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName char * TZ positioner name – FileName char * Examined trajectory file name (maximum size = 250) – MinimumPosition double * Minimum position (units) – MaximumPosition double * Maximum position (units) – MaximumVelocity double * Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double * Maximum trajectory acceleration (units/seconds²) Return – Function error code 789 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long TZPVTVerificationResultGet (ByVal SocketID As Long, ByVal PositionerName As String, ByVal FileName As String, MinimumPosition As Double, MaximumPosition As Double, MaximumVelocity As Double, MaximumAcceleration As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – PositionerName string TZ positioner name – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Maximum trajectory velocity (units/seconds) Output parameters – MaximumAcceleration double Maximum trajectory acceleration (units/seconds²) Return – Function error code Matlab Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] TZPVTVerificationResultGet (int32 SocketID, cstring PositionerName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName cstring TZ positioner name – Error int32 Function error code – FileName cstring Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory trajectory velocity (units/seconds) Return – MaximumAcceleration double EDH0305En1051 — 08/15 790 Trajectory trajectory acceleration (units/seconds²) XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, FileName, MinimumPosition, MaximumPosition, MaximumVelocity, MaximumAcceleration] TZPVTVerificationResultGet (integer SocketID, string PositionerName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – PositionerName string TZ positioner name – Error int Function error code – FileName string Examined trajectory file name (maximum size = 250) – MinimumPosition double Minimum position (units) – MaximumPosition double Maximum position (units) – MaximumVelocity double Trajectory velocity (units/seconds) Return – MaximumAcceleration double 791 Trajectory acceleration (units/seconds²) EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.11.3.9 TZFocusModeEnable Name TZFocusModeEnable – Enable the TZ group to go in FOCUS state. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Check the group name: ERR_GROUP_NAME (-19) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) Description This function enables the focus mode for the TZ group. To use this function, The TZ group must be in READY state. If it’s not then ERR_NOT_ALLOWED_ACTION (-22) is returned. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 792 XPS-Q8 Controller Programmer’s Manual TCL Prototype TZFocusModeEnable $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TZFocusModeEnable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name Output parameters – None Return – Function error code Visual Basic Prototype Long TZFocusModeEnable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name Output parameters – None Return – Function error code 793 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 TZFocusModeEnable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name Return – Function error code Python Prototype integer TZFocusModeEnable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name Return – Function error code EDH0305En1051 — 08/15 794 XPS-Q8 Controller Programmer’s Manual 2.11.3.10 TZFocusModeDisable Name TZFocusModeDisable – Disables the TZ group from out of the FOCUS state. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Group state must be "READY”: ERR_NOT_ALLOWED_ACTION (-22) - Check the group name: ERR_GROUP_NAME (-19) - Check the positioner name: ERR_POSITIONER_NAME (-18) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) Description This function disables the FOCUS mode of a TZ group. If it executes the group quits FOCUS state and goes into READY state. To use this function, The group must be in a FOCUS state. If not then ERR_NOT_ALLOWED_ACTION (-22) is returned. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_GROUP_NAME (-19) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 795 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype TZFocusModeDisable $SocketID $GroupName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TZFocusModeDisable (int SocketID, char *GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name Output parameters – None Return – Function error code Visual Basic Prototype Long TZFocusModeDisable (ByVal SocketID As Long, ByVal GroupName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name Output parameters – None Return – Function error code EDH0305En1051 — 08/15 796 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 TZFocusModeDisable (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name Return – Function error code Python Prototype integer TZFocusModeDisable (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name Return – Function error code 797 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.11.3.11 TZTrackingUserMaximumZZZTargetDifferenceGet Name TZTrackingUserMaximumZZZTargetDifferenceGet – Get tracking maximum ZZZ target difference of TZ group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) Description This function gets the tracking maximum ZZZ target difference of TZ group. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 798 XPS-Q8 Controller Programmer’s Manual TCL Prototype TZTrackingUserMaximumZZZTargetDifferenceGet $SocketID $GroupName UserMaximumZZZTargetDifference Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) Output parameters – UserMaximumZZZTargetDifference double User maximum ZZZ target difference (units) Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TZTrackingUserMaximumZZZTargetDifferenceGet (int SocketID, char *GroupName, double * UserMaximumZZZTargetDifference) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name Output parameters – UserMaximumZZZTargetDifference double * User maximum ZZZ target difference (units) Return – Function error code Visual Basic Prototype Long TZTrackingUserMaximumZZZTargetDifferenceGet (ByVal SocketID As Long, ByVal GroupName As String, UserMaximumZZZTargetDifference As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name Output parameters – UserMaximumZZZTargetDifference double User maximum ZZZ target difference (units) Return – Function error code 799 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, UserMaximumZZZTargetDifference] TZTrackingUserMaximumZZZTargetDifferenceGet (int32 SocketID, cstring GroupName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name int32 Function error code Return – Error – UserMaximumZZZTargetDifference double User maximum ZZZ target difference (units) Python Prototype [Error, UserMaximumZZZTargetDifference] TZTrackingUserMaximumZZZTargetDifferenceGet (integer SocketID, string GroupName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name int Function error code Return – Error – UserMaximumZZZTargetDifference double EDH0305En1051 — 08/15 800 User maximum ZZZ target difference (units) XPS-Q8 Controller Programmer’s Manual 2.11.3.12 TZTrackingUserMaximumZZZTargetDifferenceSet Name TZTrackingUserMaximumZZZTargetDifferenceSet – Sets tracking maximum ZZZ target difference for a TZ group. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of command parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check the group (must not be a positioner): ERR_POSITIONER_NAME (-18) - Check the group type (must be a TZ group): ERR_WRONG_OBJECT_TYPE (-8) - Value is out of range: ERR_PARAMETER_OUT_OF_RANGE (-17) Description This function sets the tracking maximum ZZZ target difference for a TZ group. NOTE This function can be used only with the XPS-Qn Precision Platform controller. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_POSITIONER_NAME (-18) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 801 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype TZTrackingUserMaximumZZZTargetDifferenceSet $SocketID $GroupName $UserMaximumZZZTargetDifference Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name (maximum size = 250) – UserMaximumZZZTargetDifference double User maximum ZZZ target difference (units) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TZTrackingUserMaximumZZZTargetDifferenceSet (int SocketID, char *GroupName, int StartElement, int EndElement, double TimeInterval) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName char * TZ group name – UserMaximumZZZTargetDifference double Output parameters – None Return – Function error code EDH0305En1051 — 08/15 802 User maximum ZZZ target difference (units) XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long TZTrackingUserMaximumZZZTargetDifferenceSet (ByVal SocketID As Long, ByVal GroupName As String, ByVal StartElement As Long, ByVal EndElement As Long, ByVal TimeInterval As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – GroupName string TZ group name – UserMaximumZZZTargetDifference double User maximum ZZZ target difference (units) Output parameters – None Return – Function error code Matlab Prototype [Error] TZTrackingUserMaximumZZZTargetDifferenceSet (int32 SocketID, cstring GroupName, double UserMaximumZZZTargetDifference) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer”function – GroupName cstring TZ group name – UserMaximumZZZTargetDifference double User maximum ZZZ target difference (units) Return – Error int32 Function error code Python Prototype [Error] TZTrackingUserMaximumZZZTargetDifferenceSet (integer SocketID, string GroupName, double UserMaximumZZZTargetDifference) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer”function – GroupName string TZ group name – UserMaximumZZZTargetDifference double User maximum ZZZ target difference (units) Return – Error int 803 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.11.4 Configuration Files Below is an example of a TZ group (named “MYTZ”) in the system.ini file. The group MYTZ is built with three positioners named “Z1”, “Z2” and “Z3”. The positioner “Z1” uses the parameters of “MYSTAGE1” from the stages.ini file and is connected to the plug 1 of the XPS controller. The HomeSearchSequence is “Together” or “OneAfterAnother”, but “Together” only if the AnalogAccelerationTZ MotorDriverInterface is used (stages.ini - see § “Positioner: Configurationfiles” for details). System.ini file: [GROUPS] TZInUse = MYTZ [MYTZ] ; AXIS TZ group configuration PositionerInUse = Z1, Z2, Z3 InitializationAndHomeSearchSequence = Together ; Together or OneAfterAnother TZDecouplingGainMatrixFileName = ;TZ_decoupling_matrix_filename.txt MaximumZZZTargetDifference = ;Maximum difference between Z target positions (units) [MYTZ.Z1] PLugNumber = 1 StageName = MYSTAGE1 STAGE configuration => See § “Positioner: Configurationfiles” [MYTZ.Z2] PLugNumber = 2 StageName = MYSTAGE2 STAGE configuration => See § “Positioner: Configuration files” [MYTZ.Z3] PLugNumber = 3 StageName = MYSTAGE3 STAGE configuration => See § “Positioner: Configuration files” Stages.ini file: [MYSTAGE1] MYSTAGE1 configuration => See § “Positioner: Configuration files” [MYSTAGE2] MYSTAGE2 configuration => See § “Positioner: Configuration files” [MYSTAGE3] MYSTAGE3 configuration => See § “Positioner: Configuration files” EDH0305En1051 — 08/15 804 XPS-Q8 Controller Programmer’s Manual 2.12 Analog and Nigital I/O 2.12.1 GPIO Name List 2.12.1.1 Digital inputs 2.12.1.2 2.12.1.3 2.12.1.4 GPIO1.DI Digital Input of the I/O board connector # 1 (8 bits) GPIO2.DI Digital Input of the I/O board connector # 2 (6 bits) GPIO3.DI Digital Input of the I/O board connector # 3 (6 bits) GPIO4.DI Digital Input of the I/O board connector # 4 (16 bits) Digital outputs GPIO1.DO Digital Output of the I/O board connector # 1 (8 bits) GPIO3.DO Digital Output of the I/O board connector # 3 (6 bits) GPIO4.DO Digital Output of the I/O board connector # 4 (16 bits) Analog inputs GPIO2.ADC1 Analog Input # 1 of the I/O board connector # 2 GPIO2.ADC2 Analog Input # 2 of the I/O board connector # 2 GPIO2.ADC3 Analog Input # 3 of the I/O board connector # 2 GPIO2.ADC4 Analog Input # 4 of the I/O board connector # 2 Analog outputs GPIO2.DAC1 Analog Output # 1 of the I/O board connector # 2 GPIO2.DAC2 Analog Output # 2 of the I/O board connector # 2 GPIO2.DAC3 Analog Output # 3 of the I/O board connector # 2 GPIO2.DAC4 Analog Output # 4 of the I/O board connector # 2 805 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.12.2 Function Description 2.12.2.1 GPIOAnalogGainGet Name GPIOAnalogGainGet – Gets the gain for one or several analog inputs (ADC) Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_INT (-15) - Check board: ERR_WRONG_OBJECT_TYPE (-8) - GPIO name (ADC): ERR_WRONG_OBJECT_TYPE (-8) - Hardware compatibility or XPS initialization in progress: ERR_NOT_ALLOWED_ACTION (-22) Description Gets the gain value for one or several analog inputs. Please refer to Appendix B.5 Analog I/O of the XPS Motion Tutorial for further information about ADC gain. The gain value must be 1, 2, 4 or 8. The maximum number of INT boards that can be plugged inside the XPS controller is 2, increasing the number of analog outputs from 4 to 8 ADC inputs. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 806 XPS-Q8 Controller Programmer’s Manual TCL Prototype GPIOAnalogGainGet SocketID GPIOName AnalogGainValue… Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Analog input name (maximum size = 250) int Value of analog input gain Output parameters – AnalogGainValue Return – TCL error (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int GPIOAnalogGainGet (int SocketID, int NbElements, char* GPIONameList, double* AnalogGainValueArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements int Number of analog GPIO to read. – GPIONameList char * List of analog input names – separator is comma Output parameters – AnalogGainValueArray int * Value of analog input gain Return – Function error code Visual Basic Prototype Long GPIOAnalogGainGet (ByVal SocketID As Long, ByVal NbElements As Long, GPIONameList As String, AnalogGainValueArray As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements long Number of analog GPIO to read. – GPIONameList string List of analog input names – separator is comma Output parameters – AnalogGainValueArray long Value of analog input gain Return – Function error code 807 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, AnalogGainValueArray] GPIOAnalogGainGet (int32 SocketID, cstring GPIONameArray) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – GPIONameArray cstring Analog input name array (maximum size = 250) int32 Function error code Return – Error – AnalogGainValueArray int32 Value of analog input gain Python Prototype Prototype [Error, AnalogGainValueArray] GPIOAnalogGainGet (integer SocketID, string GPIONameArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIONameArray string Analog input name array (maximum size = 250) int Function error code Return – Error – AnalogGainValueArray int EDH0305En1051 — 08/15 808 Value of analog input gain XPS-Q8 Controller Programmer’s Manual 2.12.2.2 GPIOAnalogGainSet Name GPIOAnalogGainSet – Sets a gain for one or several analog inputs (ADC) Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Input parameter type: ERR_WRONG_TYPE_INT (-15) - Check board: ERR_WRONG_OBJECT_TYPE (-8) - GPIO name (ADC): ERR_WRONG_OBJECT_TYPE (-8) - Hardware compatibility or XPS initialization in progress: ERR_NOT_ALLOWED_ACTION (-22) - Check outpout value (1, 2, 4 or 8): ERR_PARAMETER_OUT_OF_RANGE (-17) Description Sets a gain value for one or several analog inputs. The gain value can be: 1, 2, 4 or 8 If the conversion of the gain value to bits fails then ERR_NOT_ALLOWED_ACTION is returned. The maximum number of INT boards, that can be plugged inside the XPS controller, is 2, increasing the number of analog outputs from 4 to 8 ADC inputs. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 809 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GPIOAnalogGainSet SocketID GPIOName AnalogGainValue… Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Analog input name (maximum size = 250) – AnalogGainValue int Value of analog input gain Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error C/C++ Prototype int GPIOAnalogGainSet (int SocketID, int NbElements, char* GPIONameList, double* AnalogGainValueArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements int Number of analog GPIO to read. – GPIONameList char * List of analog input names – separator is comma – AnalogGainValueArray int * Output parameters – None Return – Function error code EDH0305En1051 — 08/15 810 Value of analog input gain XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GPIOAnalogGainSet (ByVal SocketID As Long, ByVal NbElements As Long, GPIONameList As String, AnalogGainValueArray As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements long Number of analog GPIO to read. – GPIONameList string List of analog input names (maximum size = 250) – AnalogGainValueArray long Value of analog input gain Output parameters – None Return – Function error code Matlab Prototype [Error] GPIOAnalogGainSet (int32 SocketID, cstring GPIONameArray, int32 AnalogGainValueArray) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – GPIONameArray cstring Analog input name array (maximum size = 250) – AnalogGainValueArray int32 Value of analog input gain Return – Error int32 Function error code Python Prototype [Error] GPIOAnalogGainSet (integer SocketID, string GPIONameArray, integer AnalogGainValueArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIONameArray string Analog input name array (maximum size = 250) – AnalogGainValueArray int Value of analog input gain Return – Error int 811 Function error code EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.12.2.3 GPIOAnalogGet Name GPIOAnalogGet – Reads one or several analog GPIO (DAC or ADC) Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - GPIO name (ADC or DAC): ERR_WRONG_OBJECT_TYPE (-8) - Hardware compatibility or XPS initialization in progress: ERR_NOT_ALLOWED_ACTION (-22) Description Reads one or several analog IO and returns the value(s) in an array. The GPIO must be one or several analog inputs (ADC) and/or analog outputs (DAC) of GPIO2 connector. See analog input list §2.12.1.3 and analog output list §2.12.1.4 NOTE The GPIO2 connector is on the INT board of the controller. The maximum number of INT boards, that can be plugged inside the XPS controller is 2, increasing the number of analog IOs from 4 to 8 ADC and 4 to 8 DAC. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 812 XPS-Q8 Controller Programmer’s Manual TCL Prototype GPIOAnalogGet SocketID GPIOName AnalogValue … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Analog GPIO name (maximum size = 250) floating point Value of analog GPIO (DAC or ADC) Output parameters – AnalogValue Return – TCL error (0 = success or 1 = syntax error) or Function error C/C++ Prototype int GPIOAnalogGet (int SocketID, int NbElements, char* GPIONameList, double* AnalogValueArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements int Number of analog GPIO to read. – GPIONameList char * List of analog GPIO names – separator is comma double * Analog GPIO value array (DAC or ADC) Output parameters – AnalogValueArray Return – Function error Visual Basic Prototype Long GPIOAnalogGet (ByVal SocketID As Long, ByVal NbElements As Long, GPIONameList As String, AnalogValueArray As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements long Number of analog GPIO to read. – GPIONameList string List of analog GPIO names (maximum size = 250) double Analog GPIO value array (DAC or ADC) Output parameters – AnalogValueArray Return – Function error 813 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, AnalogValueArray]GPIOAnalogGet (int32 SocketID, cstring GPIONameArray) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – GPIONameArray cstring Analog GPIO name array (maximum size = 250) double Analog GPIO value array (DAC or ADC) Return – Function error – AnalogValueArray Python Prototype [Error, AnalogValueArray]GPIOAnalogGet (integer SocketID, string GPIONameArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIONameArray string Analog GPIO name array (maximum size = 250) – Error int Function error – AnalogValueArray double Analog GPIO value array (DAC or ADC) Return EDH0305En1051 — 08/15 814 XPS-Q8 Controller Programmer’s Manual 2.12.2.4 GPIOAnalogSet Name GPIOAnalogSet – Sets one or several analog output (DAC) Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_DOUBLE (-14) - Check board: ERR_WRONG_OBJECT_TYPE (-8) - GPIO name (DAC): ERR_WRONG_OBJECT_TYPE (-8) - Hardware compatibility or XPS initialization in progress: ERR_NOT_ALLOWED_ACTION (-22) - Check outpout value [-10V..10V]: ERR_PARAMETER_OUT_OF_RANGE (-17) Description Sets the analog value for one or several analog outputs (DAC) of the GPIO2 connector. See analog output list §2.12.1.4 NOTE The GPIO2 connector is on the INT board in the controller. The maximum number of INT boards, that can be plugged inside the XPS controller is 2, increasing the number of analog outputs from 4 to 8 DAC. Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_DOUBLE (-14) - SUCCESS (0): no error 815 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype GPIOAnalogSet SocketID GPIOName AnalogValue … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Analog GPIO name (maximum size = 250) – AnalogValue floating point Value of analog GPIO (DAC ) Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error C/C++ Prototype int GPIOAnalogSet (int SocketID, int NbElements, char* GPIONameList, double* AnalogValueArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements int Number of analog GPIO to read. – GPIONameList char * List of analog GPIO names – separator is comma – AnalogValueArray double * Analog GPIO value array (DAC ) Output parameters – None Return – Function error EDH0305En1051 — 08/15 816 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GPIOAnalogSet (ByVal SocketID As Long, ByVal NbElements As Long, GPIONameList As String, AnalogValueArray As Double) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements long Number of analog GPIO to read. – GPIONameList string List of analog GPIO names (maximum size = 250) – AnalogValueArray double Analog GPIO value array (DAC ) Output parameters – None Return – Function error Matlab Prototype [Error] GPIOAnalogSet (int32 SocketID, cstring GPIONameArray, double AnalogValueArray) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – GPIONameArray cstring Analog GPIO name array (maximum size = 250) – AnalogValueArray double Analog GPIO value array (DAC ) Return – Function error Python Prototype [Error] GPIOAnalogSet (integer SocketID, string GPIONameArray, double AnalogValueArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIONameArray string Analog GPIO name array (maximum size = 250) – AnalogValueArray double Analog GPIO value array (DAC) int Function error Return – Error 817 EDH0305En1051 — 08/15 XPS-Q8 Controller 2.12.2.5 Programmer’s Manual GPIODigitalGet Name GPIODigitalGet – Reads one digital input or output. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_UNSIGNEDINT (-16) - GPIO name (DI or DO): ERR_WRONG_OBJECT_TYPE (-8) - Hardware compatibility or XPS initialization in progress: ERR_NOT_ALLOWED_ACTION (-22) Description Returns the value of the digital input (DI) or of the digital output (DO). See digital output list §2.12.1.2 and digital input list §2.12.1.1 Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_UNSIGNEDINT (-16) - SUCCESS (0): no error TCL Prototype GPIODigitalGet SocketID GPIOName DigitalValue Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Digital GPIO name (maximum size = 250) interger Digital value (DI or DO) Output parameters – DigitalValue Return – TCL error (0 = success or 1 = syntax error) or Function error EDH0305En1051 — 08/15 818 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GPIODigitalGet (int SocketID, char* GPIOName, unsigned int* DigitalValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName char * Digital GPIO name (maximum size = 250) uint * Digital value (DI or DO) Output parameters – DigitalValue Return – Function error Visual Basic Prototype Long GPIODigitalGet (ByVal SocketID As Long, GPIOName As String, DigitalValue As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Digital GPIO name (maximum size = 250) int Digital value (DI or DO) Output parameters – DigitalValue Return – Function error Matlab Prototype [Error, DigitalValue] GPIODigitalGet (int32 SocketID, cstring GPIOName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName cstring Digital GPIO name (maximum size = 250) uint16Ptr Digital value (DI or DO) Return – Function error – DigitalValue 819 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, DigitalValue] GPIODigitalGet (integer SocketID, string GPIOName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Digital GPIO name (maximum size = 250) – Error int Function error – DigitalValue ushort * Digital value (DI or DO) Return EDH0305En1051 — 08/15 820 XPS-Q8 Controller Programmer’s Manual 2.12.2.6 GPIODigitalSet Name GPIODigitalSet – Sets one digital output. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_UNSIGNEDINT (-16) - GPIO name (DO): ERR_WRONG_OBJECT_TYPE (-8) - Hardware compatibility or XPS initialization in progress: ERR_NOT_ALLOWED_ACTION (-22) Description Sets the value of the selected digital output (DO). See digital output list §2.12.1.2 Error codes - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_NOT_ALLOWED_ACTION (-22) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_UNSIGNEDINT (-16) - SUCCESS (0): no error TCL Prototype GPIODigitalSet SocketID GPIOName Mask DigitalOutputValue Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Digital output name (maximum size = 250) – Mask int Mask – DigitalOutputValue int Digital output value Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error 821 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GPIODigitalSet (int SocketID, char* GPIOName, unsigned short Mask, unsigned short DigitalOutputValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName char * Digital output name (maximum size = 250) – Mask ushort Mask – DigitalOutputValue ushort Digital output value Output parameters – None Return – Function error Visual Basic Prototype Long GPIODigitalSet (ByVal SocketID As Long, GPIOName As String, ByVal Mask As Integer, ByVal DigitalOutputValue As Integer) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Digital output name (maximum size = 250) – Mask int Mask – DigitalOutputValue int Digital output value Output parameters – None Return – Function error EDH0305En1051 — 08/15 822 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] GPIODigitalSet (int32 SocketID, cstring GPIOName, uint16 Mask, uint16 DigitalOutputValue) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName cstring Digital output name (maximum size = 250) – Mask uint16 Mask – DigitalOutputValue uint16 Digital output value int32 Function error code Return – Error Python Prototype [Error] GPIODigitalSet (integer SocketID, string GPIOName, unsigned short Mask, unsigned short DigitalOutputValue) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – GPIOName string Digital output name (maximum size = 250) – Mask ushort Mask – DigitalOutputValue ushort Digital output value int Function error code Return – Error 823 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.13 Gathering 2.13.1 Function Description 2.13.1.1 GatheringConfigurationGet Name GatheringConfigurationGet – Returns the current configuration of the internally triggered data gathering. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_ CHAR (-13) - Gathering must be configured: ERR_GATHERING_NOT_CONFIGURED (-32) Description This function returns the current configuration of the internally triggered data gathering. Use the “GatheringListGet” function to retrieve a complete list of allowed gathering types. For a more thorough description of the internal data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/Internal Data Gathering. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_CONFIGURED (-32) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 824 XPS-Q8 Controller Programmer’s Manual TCL Prototype GatheringConfigurationGet $SocketID TypeList Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function string List of configured gathering types (separator is semicolon) Output parameters – TypeList Return – TCL error (0 = success or 1 = syntax error) or Function error C/C++ Prototype int GatheringConfigurationGet (int SocketID, char * TypeList) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function char * List of configured gathering types (separator is semicolon) Output parameters – TypeList Return – Function error Visual Basic Prototype Long GatheringConfigurationGet (ByVal SocketID As Long, ByVal TypeList As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function string List of configured gathering types (separator is semicolon) Output parameters – TypeList Return – Function error 825 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, TypeList] GatheringConfigurationGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – Error int32 Function error – TypeList cstring List of configured gathering types (separator is semicolon) Return Python Prototype [Error, TypeList] GatheringConfigurationGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – Error int Function error – TypeList string List of configured gathering types (separator is semicolon) Return EDH0305En1051 — 08/15 826 XPS-Q8 Controller Programmer’s Manual 2.13.1.2 GatheringConfigurationSet Name GatheringConfigurationSet – Configures a data gathering action. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input gathering mnemonic: ERR_MNEMOTYPEGATHERING (-29) - Gathering must not be in progress: ERR_GATHERING_RUNNING (-43) Description Defines one or several types of data gathered during the internal triggered data gathering. Maximum of 1000000 points can be acquired. Maximum of 25 data types can be configured in a gathering. Gathering data types listed below: PositionerName.CorrectorOutput PositionerName.CurrentAcceleration PositionerName.CurrentPosition PositionerName.CurrentVelocity PositionerName.FollowingError PositionerName.SetpointAcceleration PositionerName.SetpointPosition PositionerName.SetpointVelocity PositionerName.ExcitationSignalInput GPIO1.DI GPIO1.DO GPIO2.DI GPIO3.DI GPIO3.DO GPIO4.DI GPIO4.DO GPIO2.ADC1 GPIO2.ADC2 GPIO2.ADC3 GPIO2.ADC4 GPIO2.DAC1 GPIO2.DAC2 GPIO2.DAC3 GPIO2.DAC4 F_Delta_Z (for focus process only) 827 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual F_diff (for focus process only) F_diff_nfr (for focus process only) F_an_diff (for focus process only) F_dig_diff (for focus process only) Z_Avr_CurrPos (for focus process only) XPos (for focus process only) XAcc (for focus process only) YPos (for focus process only) YAcc (for focus process only) ISRCorrectorTimePeriod ISRCorrectorTimeUsage ISRProfilerTimeUsage ISRServitudesTimeUsage CPUTotalLoadRatio The “GatheringListGet” function can be used to retrieve a complete list of gathering types. For a more thorough description of the internal data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/Internal Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_RUNNING (-43) - ERR_IN_INITIALIZATION (-21) - ERR_MNEMOTYPEGATHERING (-29) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GatheringConfigurationSet $SocketID $TypeList Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TypeList string List of configured gathering types Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error EDH0305En1051 — 08/15 828 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringConfigurationSet (int SocketID, int NbElements, char * TypeArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – NbElements int Number of types – TypeArray char * Array of configured gathering types Output parameters – None Return – Function error Visual Basic Prototype Long GatheringConfigurationSet (ByVal SocketID As Long, ByVal NbElements As Long, ByVal TypeNameArray As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements long Number of types – TypeNameArray string Array of configured gathering types Output parameters – None Return – Function error Matlab Prototype [Error] GatheringConfigurationSet (int32 SocketID, cstring TypeArray) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – TypeArray cstring Array of configured gathering types int32 Function error Return – Error 829 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] GatheringConfigurationSet (integer SocketID, string TypeArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TypeArray string Array of configured gathering types int Function error Return – Error EDH0305En1051 — 08/15 830 XPS-Q8 Controller Programmer’s Manual 2.13.1.3 GatheringCurrentNumberGet Name GatheringCurrentNumberGet – Returns the current and maximum number of gathered data points. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_INT (-15) - Gathering must be configured: ERR_GATHERING_NOT_CONFIGURED (-32) Description This function returns the current and maximum number of data points gathered during the internal triggered data gathering. For a more thorough description of the internal data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/Internal Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_CONFIGURED (-32) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_TYPE_INT (-15) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GatheringCurrentNumberGet $SocketID CurrentNumber MaxSamplesNumber Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – CurrentNumber int Current number during acquisition – MaxSamplesNumber int Maximum number of samples Output parameters Return – TCL error (0 = success or 1 = syntax error) or Function error 831 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringCurrentNumberGet (int SocketID, int * CurrentNumber, int * MaxSamplesNumber) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – CurrentNumber int * Current number during acquisition – MaxSamplesNumber int * Maximum number of samples Output parameters Return – Function error Visual Basic Prototype Long GatheringCurrentNumberGet (ByVal SocketID As Long, CurrentNumber As Long, MaxSamplesNumber As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – CurrentNumber long Current number during acquisition – MaxSamplesNumber long Maximum number of samples Output parameters Return – Function error Matlab Prototype [Error, CurrentNumber, MaxSamplesNumber] GatheringCurrentNumberGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – Error int32 Function error – CurrentNumber int32 Current number during acquisition – MaxSamplesNumber int32 Maximum number of samples Return EDH0305En1051 — 08/15 832 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, CurrentNumber, MaxSamplesNumber] GatheringCurrentNumberGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – Error int Function error – CurrentNumber int Current number during acquisition – MaxSamplesNumber int Maximum number of samples – Return 833 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.13.1.4 GatheringDataAcquire Name GatheringDataAcquire – Acquires one data set manually. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Gathering must be configured: ERR_GATHERING_NOT_CONFIGURED (-32) - Gathering must not be in progress: ERR_GATHERING_RUNNING (-43) - Check gathering buffer size: ERR_GATHERING_BUFFER_FULL (-111) Description This function acquires manually, one data set (configured by the “GatheringConfigurationSet” function). Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_BUFFER_FULL (-111) - ERR_GATHERING_NOT_CONFIGURED (-32) - ERR_GATHERING_RUNNING (-43) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GatheringDataAcquire $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error EDH0305En1051 — 08/15 834 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringDataAcquire (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – None Return – Function error Visual Basic Prototype Long GatheringDataAcquire (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – Function error Matlab Prototype [Error] GatheringDataAcquire (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function int32 Function error Return – Error Python Prototype [Error] GatheringDataAcquire (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int Function error Return – Error 835 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.13.1.5 GatheringDataGet Name GatheringDataGet – Reads one data line from the current gathering buffer. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) - Check gathering state: ERR_GATHERING_NOT_CONFIGURED (-32) - Check index number: ERR_PARAMETER_OUT_OF_RANGE (-17) - IndexPoint ≥ 0 - IndexPoint < currently gathered data number Description This function reads a line of data from the current gathering buffer. The buffer line number is defined by the index of an acquired point. The separator is “;” in the returned data line. A gathering must be configured to use this function, else ERR_GATHERING_NOT_CONFIGURED (-32) is returned. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_CONFIGURED (-32) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 836 XPS-Q8 Controller Programmer’s Manual TCL Prototype GatheringDataGet $SocketID $IndexPoint DataBufferLine Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int Index of an acquired data from the current gathering buffer. string String contains values from the current buffer at the selected index. int TCL error code (0 = success or 1 = syntax error) or Function error code Output parameters – DataBufferLine Return – Error C/C++ Prototype int GatheringDataGet (int SocketID, int IndexPoint, char *DataBufferLine) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int Index of an acquired data from the current gathering buffer. char * String contains values from the current buffer at the selected index. int Function error code Output parameters – DataBufferLine Return – Error 837 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GatheringDataGet (ByVal SocketID As Long, ByVal IndexPoint As Long, DataBufferLine As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint long Index of an acquired data from the current gathering buffer. string String contains values from the current buffer at the selected index. long Function error code Output parameters – DataBufferLine Return – Error Matlab Prototype [Error, DataBufferLine] GatheringDataGet (int32 SocketID, cstring IndexPoint) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int32 Index of an acquired data from the current gathering buffer. – Error int32 Function error code – DataBufferLine cstring String contains values from the current buffer at the selected index. Return Python Prototype [Error, DataBufferLine] GatheringDataGet (integer SocketID, string UserName, string Password) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int Index of an acquired data from the current gathering buffer. – Error int Function error code – DataBufferLine string String contains values from the current buffer at the selected index. Return EDH0305En1051 — 08/15 838 XPS-Q8 Controller Programmer’s Manual 2.13.1.6 GatheringDataMultipleLinesGet Name GatheringDataMultipleLinesGet – Reads several data lines from the current gathering buffer in memory. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) - Check gathering state: ERR_GATHERING_NOT_CONFIGURED (-32) - Check index number: ERR_PARAMETER_OUT_OF_RANGE (-17) - IndexPoint ≥ 0 (Note: index #0 = line #1) - IndexPoint < currently gathered data number Description This function reads one or several data lines from the current gathering buffer. The buffer line number is defined by the index of an acquired point. The separator is “;” in the returned data line and the end of each line is carriage return “\n”. A gathering must be configured to use this function, else ERR_GATHERING_NOT_CONFIGURED (-32) is returned. Example of gathering buffer in memory: index 0→ 1→ 2→ 3→ 5→ Data1 1 2 3 4 5 Data2 10 20 30 40 50 Data3 0.1 0.2 0.3 0.4 0.5 Data4 21 22 23 24 25 Data5 100 102 103 104 105 GatheringDataMultipleLinesGet(0, 3, myString) => 0 = the start line is #1 => 3 = the number of lines to read is 3 => myString = buffer to get the part of buffer (32767 characters maximum) index 0→ 1→ 2→ 3→ 5→ Data1 1 2 3 4 5 Data2 10 20 30 40 50 Data3 0.1 0.2 0.3 0.4 0.5 Data4 21 22 23 24 25 Data5 100 102 103 104 105 “myString” result: 1;10;0.1;21;100 2;20;0.2;22;102 3;30;0.3;23;103 839 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual GatheringDataMultipleLinesGet(1, 4, myString) => 1 = the start line is #2 => 4 = the number of lines to read is 4 => myString = buffer to get the part of buffer (65536 characters maximum) index 0→ 1→ 2→ 3→ 5→ Data1 1 2 3 4 5 Data2 10 20 30 40 50 Data3 0.1 0.2 0.3 0.4 0.5 Data4 21 22 23 24 25 Data5 100 102 103 104 105 “myString” result: 2;20;0.2;22;102 3;30;0.3;23;103 4;40;0.4;24;104 5;50;0.5;25;105 Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_CONFIGURED (-32) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype GatheringDataMultipleLinesGet $SocketID $IndexPoint DataBufferLine Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int Index of an acquired data from the current gathering buffer. – NbLines int Number of lines to get. string String contains lines from the current buffer at the selected index. int TCL error code (0 = success or 1 = syntax error) or Function error code Output parameters – DataBufferLine Return – Error EDH0305En1051 — 08/15 840 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringDataMultipleLinesGet (int SocketID, int IndexPoint, char *DataBufferLine) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int Index of an acquired data from the current gathering buffer. – NbLines int Number of lines to get. char * String contains lines from the current buffer at the selected index. int Function error code Output parameters – DataBufferLine Return – Error Visual Basic Prototype Long GatheringDataMultipleLinesGet (ByVal SocketID As Long, ByVal IndexPoint As Long, DataBufferLine As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint long Index of an acquired data from the current gathering buffer. – NbLines long Number of lines to get. string String contains lines from the current buffer at the selected index. long Function error code Output parameters – DataBufferLine Return – Error 841 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, DataBufferLine] GatheringDataMultipleLinesGet (int32 SocketID, cstring IndexPoint) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int32 Index of an acquired data from the current gathering buffer. – NbLines int32 Number of lines to get. – Error int32 Function error code – DataBufferLine cstring String contains lines from the current buffer at the selected index. Return Python Prototype [Error, DataBufferLine] GatheringDataMultipleLinesGet (integer SocketID, string UserName, string Password) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int Index of an acquired data from the current gathering buffer. – NbLines int Number of lines to get. – Error int Function error code – DataBufferLine string String contains lines from the current buffer at the selected index. Return EDH0305En1051 — 08/15 842 XPS-Q8 Controller Programmer’s Manual 2.13.1.7 GatheringExternalConfigurationGet Name GatheringExternalConfigurationGet – Returns the current configuration of an externally triggered data gathering. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_ CHAR (-13) - Gathering must be configured: ERR_GATHERING_NOT_CONFIGURED (-32) Description This function returns the current configuration of an externally triggered data gathering. Use the “GatheringExternalListGet” function to retrieve a complete list of external gathering types. For a more thorough description of the external data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/External Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_CONFIGURED (-32) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GatheringExternalConfigurationGet $SocketID TypeList Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function string List of configured gathering types (separator is semicolon) Output parameters – TypeList Return – TCL error (0 = success or 1 = syntax error) or Function error 843 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringExternalConfigurationGet (int SocketID, char * TypeList) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function char * List of configured gathering types (separator is semicolon) Output parameters – TypeList Return – Function error Visual Basic Prototype Long GatheringExternalConfigurationGet (ByVal SocketID As Long, ByVal TypeList As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function string List of configured gathering types (separator is semicolon) Output parameters – TypeList Return – Function error Matlab Prototype [Error, TypeList] GatheringExternalConfigurationGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – Error int32 Function error – TypeList cstring List of configured gathering types (separator is semicolon) Return EDH0305En1051 — 08/15 844 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, TypeList] GatheringExternalConfigurationGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – Error int Function error – TypeList string List of configured gathering types (separator is semicolon) Return 845 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.13.1.8 GatheringExternalConfigurationSet Name GatheringExternalConfigurationSet – Configures an externally gathering. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input external gathering mnemonic: ERR_MNEMOTYPEGATHERING (29) - Gathering must not be in progress: ERR_GATHERING_RUNNING (-43) Description Defines one or several types of data gathered during the external triggered data gathering. Maximum of 1000000 points can be acquired. Maximum of 25 data types can be configured in a gathering. External gathering data types are listed below: PositionerName.ExternalLatchPosition GPIO2.ADC1 GPIO2.ADC2 GPIO2.ADC3 GPIO2.ADC4 GPIO2.DAC1 GPIO2.DAC2 GPIO2.DAC3 GPIO2.DAC4 Z_Avr_CurrPos (for focus process only) The “GatheringExternalListGet” function can be used to retrieve a complete list of gathering types. For a more thorough description of the external data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/External Data Gathering. Error codes EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_GATHERING_RUNNING (-43) - ERR_IN_INITIALIZATION (-21) - ERR_MNEMOTYPEGATHERING (-29) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error 846 XPS-Q8 Controller Programmer’s Manual TCL Prototype GatheringExternalConfigurationSet $SocketID $TypeList Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TypeList string List of configured gathering types Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error C/C++ Prototype int GatheringExternalConfigurationSet (int SocketID, int NbElements, char * TypeArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – NbElements int Number of types – TypeArray char * Array of configured gathering types Output parameters – None Return – Function error Visual Basic Prototype Long GatheringExternalConfigurationSet (ByVal SocketID As Long, ByVal NbElements As Long, ByVal TypeNameArray As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements long Number of types – TypeNameArray string Array of configured gathering types Output parameters – None Return – Function error 847 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] GatheringExternalConfigurationSet (int32 SocketID, cstring TypeArray) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – TypeArray cstring Array of configured gathering types int32 Function error Return – Error Python Prototype [Error] GatheringExternalConfigurationSet (integer SocketID, string TypeArray) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TypeArray string Array of configured gathering types int Function error Return – Error EDH0305En1051 — 08/15 848 XPS-Q8 Controller Programmer’s Manual 2.13.1.9 GatheringExternalCurrentNumberGet Name GatheringExternalCurrentNumberGet – Returns the current and maximum number of external gathered data points. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_INT (-15) - External gathering must be configured: ERR_GATHERING_NOT_CONFIGURED (-32) Description This function returns the current and maximum number of data points gathered during an externally triggered data gathering. For a more thorough description of the external data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/External Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_CONFIGURED (-32) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_TYPE_INT (-15) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GatheringExternalCurrentNumberGet $SocketID CurrentNumber MaxSamplesNumber Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – CurrentNumber int Current number during acquisition – MaxSamplesNumber int Maximum number of samples Output parameters Return – TCL error (0 = success or 1 = syntax error) or Function error 849 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringExternalCurrentNumberGet (int SocketID, int * int * ............... MaxSamplesNumber) CurrentNumber, Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – CurrentNumber int * Current number during acquisition – MaxSamplesNumber int * Maximum number of samples Output parameters Return – Function error Visual Basic Prototype Long GatheringExternalCurrentNumberGet (ByVal SocketID As Long, CurrentNumber As Long, MaxSamplesNumber As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – CurrentNumber long Current number during acquisition – MaxSamplesNumber long Maximum number of samples Output parameters Return – Function error Matlab Prototype [Error, CurrentNumber, MaxSamplesNumber] GatheringExternalCurrentNumberGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – Error int32 Function error – CurrentNumber int32 Current number during acquisition – MaxSamplesNumber int32 Maximum number of samples Return EDH0305En1051 — 08/15 850 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, CurrentNumber, MaxSamplesNumber] GatheringExternalCurrentNumberGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – Error int Function error – CurrentNumber int Current number during acquisition – MaxSamplesNumber int Maximum number of samples Return 851 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.13.1.10 GatheringExternalDataGet Name GatheringExternalDataGet – Reads one line of data from the current external gathering buffer. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check input parameter type: ERR_WRONG_TYPE_INT (-15) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) - Check gathering state: ERR_GATHERING_NOT_CONFIGURED (-32) - Check index number: ERR_PARAMETER_OUT_OF_RANGE (-17) - IndexPoint ≥ 0 - IndexPoint < currently gathered data number Description This function reads a line of data from the current gathering gathering buffer. The buffer line number is defined by the index of an acquired point. The separator is “;” in the returned data line. A gathering must be configured to use this function, else ERR_GATHERING_NOT_CONFIGURED (-32) is returned. Error codes ERR_FATAL_INIT (-20) ERR_GATHERING_NOT_CONFIGURED (-32) ERR_IN_INITIALIZATION (-21) ERR_PARAMETER_OUT_OF_RANGE (-17) ERR_WRONG_FORMAT (-7) ERR_WRONG_PARAMETERS_NUMBER (-9) ERR_WRONG_TYPE_CHAR (-13) ERR_WRONG_TYPE_INT (-15) SUCCESS (0): no error EDH0305En1051 — 08/15 852 XPS-Q8 Controller Programmer’s Manual TCL Prototype GatheringExternalDataGet $SocketID $IndexPoint DataBufferLine Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int Index of an acquired data from the current gathering buffer. string String contains values from the current buffer at the selected index. int TCL error code (0 = success or 1 = syntax error) or Function error code Output parameters – DataBufferLine Return – Error C/C++ Prototype int GatheringExternalDataGet (int SocketID, int IndexPoint, char *DataBufferLine) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int Index of an acquired data from the current gathering buffer. char * String contains values from the current buffer at the selected index. int Function error code Output parameters – DataBufferLine Return – Error 853 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long GatheringExternalDataGet (ByVal SocketID As Long, ByVal IndexPoint As Long, DataBufferLine As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint long Index of an acquired data from the current gathering buffer. string String contains values from the current buffer at the selected index. long Function error code Output parameters – DataBufferLine Return – Error Matlab Prototype [Error, DataBufferLine] GatheringExternalDataGet (int32 SocketID, cstring IndexPoint) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int32 Index of an acquired data from the current gathering buffer. – Error int32 Function error code – DataBufferLine cstring String contains values from the current buffer at the selected index. Return Python Prototype [Error, DataBufferLine] GatheringExternalDataGet (integer SocketID, string UserName, string Password) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – IndexPoint int Index of an acquired data from the current gathering buffer. – Error int Function error code – DataBufferLine string String contains values from the current buffer at the selected index. Return EDH0305En1051 — 08/15 854 XPS-Q8 Controller Programmer’s Manual 2.13.1.11 GatheringExternalStopAndSave Name GatheringExternalStopAndSave – Stops externally triggered data gathering and saves the data into the XPS controller. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check number of data (> 0): ERR_GATHERING_NOT_STARTED (-30) - Check file opening: ERR_WRITE_FILE (-60) Description This function stops externally triggered data gathering and saves the data into the XPS controller. Gathered data are stored in the file “GatheringExternal.dat” in the “..\Public” folder of the XPS controller. For a more thorough description of the external data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/External Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_STARTED (-30) - ERR_IN_INITIALIZATION (-21) - ERR_WRITE_FILE (-60) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error - TCL Prototype GatheringExternalStopAndSave $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error 855 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringExternalStopAndSave (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – None Return – Function error Visual Basic Prototype Long GatheringExternalStopAndSave (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – Function error Matlab Prototype [Error] GatheringExternalStopAndSave (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function int32 Function error Return – Error Python Prototype [Error] GatheringExternalStopAndSave (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int Function error Return – Error EDH0305En1051 — 08/15 856 XPS-Q8 Controller Programmer’s Manual 2.13.1.12 GatheringReset Name GatheringReset – Resets gathered data to start new gathering from scratch. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Gathering must not be in progress: ERR_GATHERING_RUNNING (-43) Description This function resets to start a new gathering from scratch. The number of gathered data is set to zero. For a more thorough description of the internal data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/Internal Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_RUNNING (-43) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GatheringReset $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error 857 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringReset (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – None Return – Function error Visual Basic Prototype Long GatheringReset (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – Function error Matlab Prototype [Error] GatheringReset (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function int32 Function error Return – Error Python Prototype [Error] GatheringReset (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int Function error Return – Error EDH0305En1051 — 08/15 858 XPS-Q8 Controller Programmer’s Manual 2.13.1.13 GatheringRun Name GatheringRun – Starts to gather data. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Gathering must not be in progress: ERR_GATHERING_RUNNING (-43) - Gathering must be configured: ERR_GATHERING_NOT_CONFIGURED (-32) Description This function starts a new data gathering. The data gathering needs to be configured before using this function (See GatheringConfigurationSet) The parameters are the number of data points to be gathered and the divisor of the frequency (servo frequency) at which the data gathering will be done. For a more thorough description of the internal data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/Internal Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_RUNNING (-43) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_GATHERING_NOT_CONFIGURED (-32) - SUCCESS (0): no error TCL Prototype GatheringRun $SocketID $DataNumber $Divisor Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – DataNumber int The number of data line to gather – Divisor int The divisor of the servo frequency Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error 859 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringRun (int SocketID, int DataNumber, int Divisor) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – DataNumber int The number of data line to gather – Divisor int The divisor of the servo frequency Output parameters – None Return – Function error Visual Basic Prototype Long GatheringRun (ByVal SocketID As Long, ByVal DataNumber As Long, ByVal Divisor As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – DataNumber long The number of data line to gather – Divisor long The divisor of the servo frequency Output parameters – None Return – Function error Matlab Prototype [Error] GatheringRun (int32 SocketID, int32 DataNumber, int32 Divisor) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – DataNumber int32 The number of data line to gather – Divisor int32 The divisor of the servo frequency int32 Function error Return – Error EDH0305En1051 — 08/15 860 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] GatheringRun (integer SocketID, integer DataNumber, integer Divisor) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – DataNumber int The number of data line to gather – Divisor int The divisor of the servo frequency int Function error Return – Error 861 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.13.1.14 GatheringRunAppend Name GatheringRunAppend – Repeat the gathering, continuing from the last gathered data. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Gathering must not be in progress: ERR_GATHERING_RUNNING (-43) - Gathering must be configured: ERR_GATHERING_NOT_CONFIGURED (-32) Description This function repeats the gathering from the data point that was previously stopped, while the gathering current data number has not reached the DataNumber previously specified using the GatheringRun() function. The gathering must to be configured, executed and stopped before using this function (see GatheringConfigurationSet, GatheringRun, GatheringStop functions) For a more thorough description of the internal data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/Internal Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_RUNNING (-43) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_GATHERING_NOT_CONFIGURED (-32) - SUCCESS (0): no error TCL Prototype GatheringRunAppend $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error EDH0305En1051 — 08/15 862 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringRunAppend (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – None Return – Function error Visual Basic Prototype Long GatheringRunAppend (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – Function error Matlab Prototype [Error] GatheringRunAppend (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function int32 Function error Return – Error Python Prototype [Error] GatheringRunAppend (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int Function error Return – Error 863 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.13.1.15 GatheringStop Name GatheringStopAndSave – Stops internally and externally triggered data gathering. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check number of data (> 0): ERR_GATHERING_NOT_STARTED (-30) - Check file opening: ERR_WRITE_FILE (-60) Description This function stops internally and externally triggered data gathering. To save to a file, use GatheringStopAndSave function. For a more thorough description of the internal data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/Internal Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_STARTED (-30) - ERR_IN_INITIALIZATION (-21) - ERR_WRITE_FILE (-60) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GatheringStop $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error EDH0305En1051 — 08/15 864 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringStop (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – None Return – Function error Visual Basic Prototype Long GatheringStop (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – Function error Matlab Prototype [Error] GatheringStop (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function int32 Function error Return – Error Python Prototype [Error] GatheringStop (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int Function error Return – Error 865 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.13.1.16 GatheringStopAndSave Name GatheringStopAndSave – Stops internally triggered data gathering and saves data into the XPS controller. Input tests - XPS Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check number of data (> 0): ERR_GATHERING_NOT_STARTED (-30) - Check file opening: ERR_WRITE_FILE (-60) Description This function stops internally triggered data gathering and saves the data to the XPS controller. Data is stored in the file GATHERING.DAT in the “..\Public” folder of the XPS controller. For a more thorough description of the internal data gathering capability, please refer to the XPS Motion Tutorial section Data Gathering/Internal Data Gathering. Error codes - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_STARTED (-30) - ERR_IN_INITIALIZATION (-21) - ERR_WRITE_FILE (-60) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - SUCCESS (0): no error TCL Prototype GatheringStopAndSave $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – TCL error (0 = success or 1 = syntax error) or Function error EDH0305En1051 — 08/15 866 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int GatheringStopAndSave (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – None Return – Function error Visual Basic Prototype Long GatheringStopAndSave (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – Function error Matlab Prototype [Error] GatheringStopAndSave (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function int32 Function error Return – Error Python Prototype [Error] GatheringStopAndSave (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int Function error Return – Error 867 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.14 Events and Actions 2.14.1 Functions Description 2.14.1.1 EventExtendedAllGet Name EventExtendedAllGet – Returns all “event and action” identifiers in progress. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_CHAR (-13) Description Gets the list of all “event and action” combination identifiers from the event scheduler (filled by the ExtendedEventStart or ExtendedEventWait function). The list separator is a comma. If no “event and action” combination is in progress (in the event scheduler) then the error ERR_EVENT_ID_UNDEFINED (-83) is returned. Errors EDH0305En1051 — 08/15 - ERR_EVENT_ID_UNDEFINED (-83) - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error 868 XPS-Q8 Controller Programmer’s Manual TCL Prototype EventExtendedAllGet $SocketID $EventID EventIdentifiersList Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int “Event and action” identifier from “ExtendedEventStart” string List of “event and action” identifiers in scheduler Output parameters – EventIdentifiersList Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int EventExtendedAllGet (int SocketID, int EventID, char * EventIdentifiersList) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int “Event and action” identifier from “ExtendedEventStart” char * List of “event and action” identifiers in scheduler Output parameters – EventIdentifiersList Return – Function error code Visual Basic Prototype Long EventExtendedAllGet (ByVal SocketID As Long, ByVal EventID As Long, EventIdentifiersList As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – EventID long “Event and action” identifier from “ExtendedEventStart” string List of “event and action” identifiers in scheduler Output parameters – EventIdentifiersList Return – Function error code 869 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, EventIdentifiersList] EventExtendedAllGet (int32 SocketID, int32 EventID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int32 “Event and action” identifier from “ExtendedEventStart” – Error int Function error code – EventIdentifiersList cstring List of “event and action” identifiers in scheduler Return Python Prototype [Error, EventIdentifiersList] EventExtendedAllGet (integer SocketID, integer EventID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int “Event and action” identifier from “ExtendedEventStart” – Error int Function error code – EventIdentifiersList string List of “event and action” identifiers in scheduler Return EDH0305En1051 — 08/15 870 XPS-Q8 Controller Programmer’s Manual 2.14.1.2 EventExtendedConfigurationActionGet Name EventExtendedConfigurationActionGet – Returns the action combination defined in buffer. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_CHAR (-13) - Last action configuration in memory: ERR_ACTIONS_NOT_CONFIGURED (81) Description Returns the combination of action(s) defined by “EventExtendedConfigurationActionSet” function. If no action is configured in the buffer, ERR_ACTIONS_NOT_CONFIGURED (-81) is returned. NOTE This function doesn’t return the last activated action. A combination of action(s) can be defined in the buffer but not activated. Errors - ERR_ACTIONS_NOT_CONFIGURED (-81) - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error 871 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype EventExtendedConfigurationActionGet $SocketID ActionConfiguration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – ActionConfigurationStringAction combination configured in buffer Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int EventExtendedConfigurationActionGet (int SocketID, char * ActionConfiguration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – ActionConfigurationStringAction combination configured in buffer Return – Function error code Visual Basic Prototype Long EventExtendedConfigurationActionGet (ByVal SocketID As Long, ActionConfiguration As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – ActionConfigurationStringAction combination configured in buffer Return – Function error code EDH0305En1051 — 08/15 872 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, ActionConfiguration] EventExtendedConfigurationActionGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – Error int Function error code – ActionConfiguration cstring Action combination configured in buffer Return Python Prototype [Error, ActionConfiguration] EventExtendedConfigurationActionGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – Error int Function error code – ActionConfiguration string Action combination configured in buffer Return 873 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.14.1.3 EventExtendedConfigurationActionSet Name EventExtendedConfigurationActionSet – Defines a combination of one or several actions in buffer. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of arguments: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_CHAR (-13) - Last action configured in memory: ERR_ACTIONS_NOT_CONFIGURED (-81) - Action name: ERR_MNEMO_ACTION (-39) - Action parameters: ERR_PARAMETER_OUT_OF_RANGE (-17), ERR_WRONG_OBJECT_TYPE (-8) - Action to execute: ERR_GATHERING_NOT_CONFIGURED (-32) “Gathering” action. Description Defines a combination of one or several actions but does not activate the actions. Use the “EventExtendedStart” function to activate these defined actions. For each action, 4 parameters can be configured … see event specification to see which are necessary. The actions are defined in § “Events and Actions” in the XPS user’s manual. The number of actions in a combination is limited to 10 actions. Action list 1. GPIOName.DOToggle 2. GPIOName.DOPulse 3. GPIOName.DOSet 4. GPIOName.DACSet.SetpointPosition 5. GPIOName.DACSet.SetpointVelocity 6. GPIOName.DACSet.SetpointAcceleration 7. GPIOName.DACSet.CurrentPosition 8. GPIOName.DACSet.CurrentVelocity 9. GPIOName.DACSet.Value 10. ExecuteTCLScript 11. KillTCLScript EDH0305En1051 — 08/15 874 XPS-Q8 Controller Programmer’s Manual 12. ExternalGatheringRun 13. GatheringRun 14. GatheringOneData 15. GatheringStop 16. GatheringRunAppend 17. GroupName.MoveAbort 18. GroupName.MoveAbortFast 19. GlobalArrayDoubleSet 20. GlobalArrayStringSet 21. ExecuteCommand 22. EventRemove 23. SynchronizeProfiler Action parameters ● ● ● ● ● ● ● ● ● ● ● Timer# Parameters GPIO Positioner Group Actor Action name 1 2 3 4 DOToggle DOPulse DOSet DACSet.SetpointPosition DACSet.SetpointVelocity DACSet.SetpointAcceleration DACSet.CurrentPosition DACSet.CurrentVelocity DACSet.Value ExecuteTCLScript KillTCLScript GatheringOneData GatheringRun GatheringRunAppend GatheringStop ExternalGatheringRun MoveAbort MoveAbortFast GlobalArrayDoubleSet GlobalArrayStringSet Mask Mask Mask Positioner name Positioner name Positioner name Positioner name Positioner name Value TCL file name Task name 0 Nb of points 0 0 Nb of points 0 Deceleration Multiplier Global variable number Global variable number 0 0 0 Offset Offset Offset Offset Offset 0 Arguments 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ExecuteCommand Function name 0 0 Value Gain Gain Gain Gain Gain 0 Task name 0 0 Divisor 0 0 Divisor 0 0 Numeric value String value Arguments string (Between {} and separator is the semicolumn.) Task name 0 0 0 0 0 0 0 EventRemove SynchronizeProfiler Identifier (-1 for itself) 0 NOTE Before activating the defined actions, you must configure the events. Only then, can you use the “EventExtendedStart” or “EventExtendedWait” function. For the “ExecuteTCLScript” action, the “ActionParameter3” represents a list of arguments, which must be separated with a semicolon (;). 875 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Errors - ERR_ACTIONS_NOT_CONFIGURED (-1) - ERR_FATAL_INIT (-20) - ERR_GATHERING_NOT_CONFIGURED (-32) - ERR_IN_INITIALIZATION (-21) - ERR_MNEMO_ACTION (-39) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error TCL Prototype EventExtendedConfigurationActionSet $SocketID {$ExtendedActionName $ActionParameter1 $ActionParameter2 $ActionParameter3 $ActionParameter4} … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ExtendedActionName String Event full name (maximum size = 250) see § Events - – ActionParameter1 String Optional action’s parameter #1 (maximum size = 250) – ActionParameter2 String Optional action’s parameter #2 (maximum size = 250) – ActionParameter3 String Optional action’s parameter #3 (maximum size = 250) – ActionParameter4 String Optional action’s parameter #4 (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 876 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int EventExtendedConfigurationActionSet (int SocketID, int NbElements, char* ExtendedActionName, char* ActionParameter1, char* ActionParameter2, char* ActionParameter3, char* ActionParameter4) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements int Number of events in configuration. – ExtendedAction Name char*Event full name (maximum size = 250) - see § Events - – ActionParameter1 char* optional action’s parameter #1 (maximum size = 250) – ActionParameter2 char* optional action’s parameter #2 (maximum size = 250) – ActionParameter3 char* optional action’s parameter #3 (maximum size = 250) – ActionParameter4 char* optional action’s parameter #4 (maximum size = 250) Output parameters – None Return – Function error code 877 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long EventExtendedConfigurationActionSet (ByVal SocketID As Long, ByVal NbElements As Long, ByVal ExtendedActionName As String, ByVal ActionParameter1 As String, ByVal ActionParameter2 As String, ByVal ActionParameter3 As String, ByVal ActionParameter4 As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements long Number of events in configuration. – ExtendedAction Name StringEvent full name (maximum size = 250) - see § Events - – ActionParameter1 string optional action’s parameter #1 (maximum size = 250) – ActionParameter2 string optional action’s parameter #2 (maximum size = 250) – ActionParameter3 string optional action’s parameter #3 (maximum size = 250) – ActionParameter4 string optional action’s parameter #4 (maximum size = 250) Output parameters – None Return – Function error code EDH0305En1051 — 08/15 878 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 EventExtendedConfigurationActionSet (int32 SocketID, cstring ExtendedActionName, cstring ActionParameter1, cstring ActionParameter2, cstring ActionParameter3, cstring ActionParameter4) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – ExtendedAction Name cstringEvent full name (maximum size = 250) - see § Events - – ActionParameter1 cstring optional action’s parameter #1 (maximum size = 250) – ActionParameter2 cstring optional action’s parameter #2 (maximum size = 250) – ActionParameter3 cstring optional action’s parameter #3 (maximum size = 250) – ActionParameter4 cstring optional action’s parameter #4 (maximum size = 250) Return – Function error code Python Prototype integer EventExtendedConfigurationActionSet (integer SocketID, string ExtendedActionName, string ActionParameter1, string ActionParameter2, string ActionParameter3, string ActionParameter4) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ExtendedAction Name StringEvent full name (maximum size = 250) - see § Events - – ActionParameter1 string optional action’s parameter #1 (maximum size = 250) – ActionParameter2 string optional action’s parameter #2 (maximum size = 250) – ActionParameter3 string optional action’s parameter #3 (maximum size = 250) – ActionParameter4 string optional action’s parameter #4 (maximum size = 250) Return – Function error code 879 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.14.1.4 EventExtendedConfigurationTriggerGet Name EventExtendedConfigurationTriggerGet – Returns the trigger defined in the buffer. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Parameter type: ERR_WRONG_TYPE_CHAR (-13) - Last event configuration in memory: ERR_EVENTS_NOT_CONFIGURED (-80) Description Returns the last event defined in buffer by “EventExtendedConfigurationTriggerSet” function. If no event is defined in buffer, ERR_EVENTS_NOT_CONFIGURED (-80) is returned. NOTE This function doesn’t return the last activated event. An event can be configured but not activated. Errors EDH0305En1051 — 08/15 - SUCCESS (0): no error - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_EVENTS_NOT_CONFIGURED (-80) 880 XPS-Q8 Controller Programmer’s Manual TCL Prototype EventExtendedConfigurationTriggerGet $SocketID EventTriggerConfiguration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function string Event combination configured in buffer Output parameters – EventTriggerConfiguration Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int EventExtendedConfigurationTriggerGet (int SocketID, char * EventTriggerConfiguration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function string Event combination configured in buffer Output parameters – EventTriggerConfiguration Return – Function error code Visual Basic Prototype Long EventExtendedConfigurationTriggerGet (ByVal SocketID As Long, EventTriggerConfiguration As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function string Event combination configured in buffer Output parameters – EventTriggerConfiguration Return – Function error code 881 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error, EventTriggerConfiguration] EventExtendedConfigurationTriggerGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – Error int Function error code – EventTriggerConfiguration cstring Event combination configured in buffer Return Python Prototype [Error, EventTriggerConfiguration] EventExtendedConfigurationTriggerGet (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – Error int Function error code – EventTriggerConfiguration string Event combination configured in buffer Return EDH0305En1051 — 08/15 882 XPS-Q8 Controller Programmer’s Manual 2.14.1.5 EventExtendedConfigurationTriggerSet Name EventExtendedConfigurationTriggerSet - Defines a combination of one or several events in buffer. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Event name: ERR_MNEMO_EVENT (-40) - Event actor: ERR_WRONG_OBJECT_TYPE (-8) Description Defines one trigger (combination of one or several events). To activate the trigger, use the “EventExtendedStart” function. For each event, 4 parameters can be configured… see event specification to see the necessary parameters. The events are defined in § “Events and Actions” in the XPS user’s manual. The number of events in a combination is limited to 10 events. Each full event name is defined as [actor].[category].event (see Event list): [actor] - Optional actor name (Group name, Positioner name, GPIO name or Nothing) [category] - Optional category name (Event category or Nothing) event - Event name Event list 1. Always 2. Immediate 3. Timer1 4. Timer2 5. Timer3 6. Timer4 7. Timer5 8. PositionerName.MotionDone 9. PositionerName.WarningFollowingError 10. PositionerName.PositionerError 11. PositionerName.PositionerHardwareStatus 883 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 12. PositionerName.Category.ConstantVelocityStart 13. PositionerName.Category.ConstantVelocityEnd 14. PositionerName.Category.ConstantVelocityState 15. PositionerName.Category.ConstantAccelerationStart 16. PositionerName.Category.ConstantAccelerationEnd 17. PositionerName.Category.ConstantAccelerationState 18. PositionerName.Category.ConstantDecelerationStart 19. PositionerName.Category.ConstantDecelerationEnd 20. PositionerName.Category.ConstantDecelerationState 21. PositionerName.Category.MotionStart 22. PositionerName.Category.MotionEnd 23. PositionerName.Category.MotionState 24. GroupName.Category.TrajectoryStart 25. GroupName.Category.TrajectoryEnd 26. GroupName.Category.TrajectoryState 27. GroupName.Category.TrajectoryPulse 28. GroupName.Category.TrajectoryPulseState 29. GroupName.Category.ElementNumberStart 30. GroupName.Category.ElementNumberState 31. GPIOName.ADCHighLimit 32. GPIOName.ADCLowLimit 33. GPIOName.DILowHigh 34. GPIOName.DIHighLow 35. GPIOName.DIToggle 36. GPIOName.DILowState 37. GPIOName.DIHighState 38. FocusSyncTrigger (for focus process only) 39. WarningFollowingError 40. DoubleGlobalArrayEqual 41. DoubleGlobalArrayDifferent 42. DoubleGlobalArrayInferiorOrEqual 43. DoubleGlobalArraySuperiorOrEqual 44. DoubleGlobalArrayInferior 45. DoubleGlobalArraySuperior 46. DoubleGlobalArrayInWindow 47. DoubleGlobalArrayOutWindow Category list for “profile” positioner events • SGamma • Slave • Spin • Jog • TrackingPosition • TrackingVelocity EDH0305En1051 — 08/15 884 XPS-Q8 Controller Programmer’s Manual Category list for “trajectory” group events • XYLineArc • Spline • PVT NOTE The events listed below are allowed only for the XPS-Qn Precision Platform controller: FocusSyncTrigger WarningFollowingError GPIOName.DILowState GPIOName.DIHighState DoubleGlobalArrayEqual DoubleGlobalArrayDifferent DoubleGlobalArrayInferiorOrEqual DoubleGlobalArraySuperiorOrEqual DoubleGlobalArrayInferior DoubleGlobalArraySuperior DoubleGlobalArrayInWindow DoubleGlobalArrayOutWindow 885 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Event parameters ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● PVT Parameters XYZ Spline XY LineArc Jog SGamma Timer # Category GPIO Positioner Group Actor ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Event name Immediate Always Timer MotionStart MotionStop MotionState ConstantVelocityStart ConstantVelocityEnd ConstantVelocityState ConstantAccelerationStart ConstantAccelerationEnd ConstantAccelerationState ConstantDecelerationStart ConstantDecelerationEnd ConstantDecelerationState TrajectoryStart TrajectoryEnd TrajectoryState ElementNumberStart ElementNumberState MotionDone TrajectoryPulse TrajectoryPulseOutputState DILowState DIHighState DILowHigh DIHighLow DIToggle ADCHighLimit ADCLowLimit PositionerError PositionerHardwareStatus WarningFollowingError FocusSyncTrigger DoubleGlobalArrayEqual DoubleGlobalArrayDifferent DoubleGlobalArrayInferiorOr Equal DoubleGlobalArraySuperiorOr Equal DoubleGlobalArrayInferior DoubleGlobalArraySuperior DoubleGlobalArrayInWindow DoubleGlobalArrayOutWindo w EDH0305En1051 — 08/15 886 1 2 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Element # Element # 0 0 0 Bit index Bit index Bit index Bit index Bit index Value Value Mask Mask 0 0 Global variable number Global variable number Global variable number Global variable number Global variable number Global variable number Global variable number Global variable number 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value to check Value to check Value to check Value to check Value to check Value to check 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Min value Min value Max value Max value 0 0 XPS-Q8 Controller Programmer’s Manual NOTE Before activating this event combination, you must define one or several action(s) with the “EventExtendedConfigurationTriggerSet” function. Next, use the “EventExtendedStart” or “EventExtendedWait” function to launch these defined “event and action”. Errors ERR_FATAL_INIT (-20) ERR_IN_INITIALIZATION (-21) ERR_MNEMO_EVENT (-40) ERR_WRONG_FORMAT (-7) ERR_WRONG_OBJECT_TYPE (-8) ERR_WRONG_PARAMETERS_NUMBER (-9) SUCCESS (0): no error TCL Prototype EventExtendedConfigurationTriggerSet $SocketID {$FullEventName $EventParameter1 $EventParameter2 $EventParameter3 $EventParameter4} … Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ExtendedEvent Name StringEvent full name (maximum size = 250) - see § Events - – EventParameter1 string optional event’s parameter #1 (maximum size = 250) – EventParameter2 string optional event’s parameter #2 (maximum size = 250) – EventParameter3 string optional event’s parameter #3 (maximum size = 250) – EventParameter4 string optional event’s parameter #4 (maximum size = 250) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 887 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int EventExtendedConfigurationTriggerSet (int SocketID, int NbElements, char* ExtendedEventName, char* EventParameter1, char* EventParameter2 , char* EventParameter3, char* EventParameter4 ) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements int Number of events in configuration. – ExtendedEvent Name char* list of event full names (maximum size = 250) – separator is ‘;’ – EventParameter1 char* list of optional event’s parameter #1 (maximum size = 250) – EventParameter2 char* list of optional event’s parameter #2 (maximum size = 250) – EventParameter3 char* list of optional event’s parameter #3 (maximum size = 250) – EventParameter4 char* list of optional event’s parameter #4 (maximum size = 250) Output parameters – None Return – Function error code EDH0305En1051 — 08/15 888 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long EventExtendedConfigurationTriggerSet (ByVal SocketID As Long, ByVal NbElements As Long, ByVal ExtendedEventName As String, ByVal EventParameter1 As String, ByVal EventParameter2 As String, ByVal EventParameter3 As String, ByVal EventParameter4 As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – NbElements long Number of events in configuration. – ExtendedEvent Name string array of event full names (maximum size = 250) - see § Events – EventParameter1 string array of optional event’s parameter #1 (maximum size = 250) – EventParameter2 string array of optional event’s parameter #2 (maximum size = 250) – EventParameter3 string array of optional event’s parameter #3 (maximum size = 250) – EventParameter4 string array of optional event’s parameter #4 (maximum size = 250) Output parameters – None Return – Function error code 889 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype int32 EventExtendedConfigurationTriggerSet (int32 SocketID, cstring ExtendedEventName, cstring EventParameter1, cstring EventParameter2, cstring EventParameter3, cstring EventParameter4) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – ExtendedEvent Name cstring array of event full names (maximum size = 250) - see § Events – EventParameter1 cstring array of optional event’s parameter #1 (maximum size = 250) – EventParameter2 cstring array of optional event’s parameter #2 (maximum size = 250) – EventParameter3 cstring array of optional event’s parameter #3 (maximum size = 250) – EventParameter4 cstring array of optional event’s parameter #4 (maximum size = 250) Return – Function error code Python Prototype integer EventExtendedConfigurationTriggerSet (integer SocketID, string ExtendedEventName, string EventParameter1, string EventParameter2, string EventParameter3, string EventParameter4) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ExtendedEvent Name string array of event full names (maximum size = 250) - see § Events – EventParameter1 string array of optional event’s parameter #1 (maximum size = 250) – EventParameter2 string array of optional event’s parameter #2 (maximum size = 250) – EventParameter3 string array of optional event’s parameter #3 (maximum size = 250) – EventParameter4 string array of optional event’s parameter #4 (maximum size = 250) Return – Function error code EDH0305En1051 — 08/15 890 XPS-Q8 Controller Programmer’s Manual 2.14.1.6 EventExtendedGet Name EventExtendedGet – Returns the details of “event and action” combinations in scheduler defined by an identifier. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Parameter type: ERR_WRONG_TYPE_INT (-15), ERR_WRONG_TYPE_CHAR (-13) - Event identifier [0:49]: ERR_EVENT_ID_UNDEFINED (-83) Description Returns the composition of events and actions in progress defined by an identifier. This identifier is defined in the “EventExtendedStart” function. The identifier must be defined between 0 and 49, if its value is “–1” then it’s not defined. If the configured event is already deleted, ERR_EVENT_ID_UNDEFINED (-83) is returned. Errors SUCCESS (0): no error ERR_FATAL_INIT (-20) ERR_IN_INITIALIZATION (-21) ERR_WRONG_FORMAT (-7) ERR_WRONG_PARAMETERS_NUMBER (-9) ERR_WRONG_TYPE_INT (-15) ERR_WRONG_TYPE_CHAR (-13) ERR_EVENT_ID_UNDEFINED (-83) 891 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype EventExtendedGet $SocketID $EventID EventConfiguration ActionConfiguration Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int “Event and action” identifier from “ExtendedEventStart” – EventConfiguration string Event combination defined in scheduler – ActionConfiguration string Action combination defined in scheduler Output parameters Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int EventExtendedGet (int SocketID, int EventID, char * EventConfiguration, char * ActionConfiguration) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int “Event and action” identifier from “ExtendedEventStart” – EventConfiguration char * Event combination defined in scheduler – ActionConfiguration char * Action combination defined in scheduler Output parameters Return – Function error code EDH0305En1051 — 08/15 892 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long EventExtendedGet (ByVal SocketID As Long, ByVal EventID As Long, EventConfiguration As String, ActionConfiguration As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – EventID long “Event and action” identifier from “ExtendedEventStart” Output parameters – EventConfigurationStringEvent combination defined in scheduler – ActionConfigurationStringAction combination defined in scheduler Return – Function error code Matlab Prototype [Error, EventConfiguration, ActionConfiguration] EventExtendedGet (int32 SocketID, int32 EventID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int32 “Event and action” identifier from “ExtendedEventStart” – Error int Function error code – EventConfiguration cstring Event combination defined in scheduler – ActionConfiguration cstring Action combination defined in scheduler Return Python Prototype [Error, EventConfiguration, ActionConfiguration] EventExtendedGet (integer SocketID, integer EventID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int “Event and action” identifier from “ExtendedEventStart” – Error int Function error code – EventConfiguration string Event combination defined in scheduler – ActionConfiguration string Action combination defined in scheduler Return 893 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.14.1.7 EventExtendedRemove Name EventExtendedRemove – Removes an “event and action” combination in the scheduler defined by an identifier. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of parameters [1]: ERR_WRONG_PARAMETERS_NUMBER (-9) - Parameter type: ERR_WRONG_TYPE_INT (-15) - Event identifier [0:49]: ERR_EVENT_ID_UNDEFINED (-83), ERR_PARAMETER_OUT_OF_RANGE (-17) - Actor event: ERR_WRONG_OBJECT_TYPE (-8) Description Deletes the “event(s) and action(s)” combination in the scheduler defined by an event identifier. This identifier is defined in the “EventExtendedStart” function. The identifier must be defined between 0 and 49, or -1. If the identifier is equal to “–1”, the EventExtendedRemove function removes all current “event and action” combinations. If the configured event is already deleted, ERR_EVENT_ID_UNDEFINED (-83) is returned. Errors EDH0305En1051 — 08/15 - ERR_EVENT_ID_UNDEFINED (-83) - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error 894 XPS-Q8 Controller Programmer’s Manual TCL Prototype EventExtendedRemove $SocketID $EventID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int “Event and action” identifier Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int EventExtendedRemove (int SocketID, int EventID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int “Event and action” identifier Output parameters – None Return – Function error code Visual Basic Prototype Long EventExtendedRemove (ByVal SocketID As Long, ByVal EventID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function – EventID long “Event and action” identifier Output parameters – None Return – Function error code 895 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] EventExtendedRemove (int32 SocketID, int32 EventID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int32 “Event and action” identifier int32 Function error code Return – Error Python Prototype [Error] EventExtendedRemove (integer SocketID, integer EventID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – EventID int “Event and action” identifier int Function error code Return – Error EDH0305En1051 — 08/15 896 XPS-Q8 Controller Programmer’s Manual 2.14.1.8 EventExtendedStart Name EventExtendedStart – Activates the “event and action” defined in the buffer. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of arguments: ERR_WRONG_PARAMETERS_NUMBER (-9) - Output parameter type: ERR_WRONG_TYPE_INT (-15) - Number of compositions in execution: ERR_EVENT_BUFFER_FULL (-82) - Last event configuration in memory: ERR_EVENTS_NOT_CONFIGURED (-80) - Last action configuration in memory: ERR_ACTIONS_NOT_CONFIGURED (81) - Event name to execute: ERR_MNEMO_EVENT (-40), ERR_WRONG_TYPE (10), ERR_WRONG_OBJECT_TYPE (-8) Description Launches the configured event(s) and action(s) from the event configuration buffer into the event scheduler and gets an event identifier. The identifier must be defined between 0 and 49, if its value is “–1” then that means it’s not defined. If no event is configured in buffer, ERR_EVENTS_NOT_CONFIGURED (-80) is returned. If no action is configured in buffer, ERR_ACTIONS_NOT_CONFIGURED is returned. NOTE In the event scheduler, when a configured event has occurred it is deleted from the event scheduler. CAUTION If the configured event is PERMANENT then it is not deleted after it occurs, and must use the “EventExtendedRemove” function to delete it. 897 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Errors - ERR_ACTIONS_NOT_CONFIGURED (-81) - ERR_EVENT_BUFFER_FULL (-82) - ERR_EVENTS_NOT_CONFIGURED (-80) - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_MNEMO_EVENT (-40) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE (-10) - ERR_WRONG_TYPE_INT (-15) - SUCCESS (0): no error TCL Prototype EventExtendedStart $SocketID EventID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int “Event and action” identifier Output parameters – EventID Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int EventExtendedStart (int SocketID, int * EventID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int * “Event and action” identifier Output parameters – EventID Return – Function error code EDH0305En1051 — 08/15 898 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long EventExtendedStart (ByVal SocketID As Long, EventID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” Function long “Event and action” identifier Output parameters – EventID Return – Function error code Matlab Prototype [Error, EventID] EventExtendedStart (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function – Error int32 Function error code – EventID int32 “Event and action” identifier Return Python Prototype [Error, EventID] EventExtendedStart (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – Error int Function error code – EventID int “Event and action” identifier Return 899 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.14.1.9 EventExtendedWait Name EventExtendedWait – Activates the last “event” configuration in memory and wait until it occurs. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of arguments [0]: ERR_WRONG_PARAMETERS_NUMBER (-9) - Number of compositions in execution: ERR_EVENT_BUFFER_FULL (-82) - Last event configuration in memory: ERR_EVENTS_NOT_CONFIGURED (-80) - Event name to execute: ERR_MNEMO_EVENT (-40), ERR_WRONG_TYPE (10) - Event actor: ERR_WRONG_OBJECT_TYPE (-8) Description Launches the last configured event(s) into the event scheduler and wait until it occurs to unlock the socket. If no “event and action” combination is configured in the event configuration buffer, ERR_EVENTS_NOT_CONFIGURED (-80) is returned. EDH0305En1051 — 08/15 900 XPS-Q8 Controller Programmer’s Manual Errors - ERR_EVENT_BUFFER_FULL (-82) - ERR_EVENTS_NOT_CONFIGURED (-80) - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_MNEMO_EVENT (-40) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_OBJECT_TYPE (-8) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_ (-10) - SUCCESS (0): no error 901 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype EventExtendedWait $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int EventExtendedWait (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – Function error code Visual Basic Prototype Long EventExtendedWait (ByVal SocketID As Long) Input parameters – SocketID long Output parameters – None Return – Function error code EDH0305En1051 — 08/15 902 Socket identifier gets by the “TCP_ConnectToServer” Function XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] EventExtendedWait (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” Function int32 Function error code Return – Error Python Prototype [Error] EventExtendedWait (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int Function error code Return – Error 903 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.14.2 Obsolete Functions Do not use for new projects! These Functions are only maintained for use in previously developed programs. Use above described Functions. 2.14.2.1 EventAdd TCL Prototype Input parameters Output parameters None Return TCL error (0 = success or 1 = syntax error) or Function error DLL Prototype Input parameters int EventAdd (int SocketID, char *FullPositionerName, char *EventName, char *EventParameter, char *ActionName, char *ActionParameter1, char *ActionParameter2, char *ActionParameter3) int : SocketID (Socket identifier gets by the “TCP_ConnectToServer” Function) char *: FullPositionerName char *: EventName (see § Events) char *: EventParameter char *: ActionName (see § Actions) char *: ActionParameter1 char *: ActionParameter2 char *: ActionParameter3 Output parameters None Return Function error Function Input tests Function Description Function Errors EDH0305En1051 — 08/15 int EventAdd (int SocketID, char FullPositionerName[250], char EventName[250], char EventParameter[250], char ActionName[250], char ActionParameter1[250], char ActionParameter2[250], char ActionParameter3[250]) int : SocketID (Socket identifier gets by the “TCP_ConnectToServer” Function) char [250]: FullPositionerName char [250]: EventName (see § Events) char [250]: EventParameter char [250]: ActionName (see § Actions) char [250]: ActionParameter1 char [250]: ActionParameter2 char [250]: ActionParameter3 Verify the number of parameters. Verify the full positioner name, the event name and the action name. Verify the type of all output parameters. Parameters coherence test. Adds an action associated to an event for the defined positioner. For a more thorough description and a complete list of possible events and the actions, please refer to the XPS Motion Tutorial section Event triggers. 0 -7 -8 -9 -13 -39 -40 904 XPS-Q8 Controller Programmer’s Manual 2.14.2.2 EventGet TCL Prototype Input parameters int EventGet (int SocketID, char FullPositionerName [250], char EventList[250]) int : SocketID (Socket identifier gets by the “TCP_ConnectToServer” Function) char [250]: FullPositionerName Output parameters char [250]: EventList Return TCL error (0 = success or 1 = syntax error) or Function error DLL Prototype Input parameters int EventGet (int SocketID, char *FullPositionerName, char *EventList) int : SocketID (Socket identifier gets by the “TCP_ConnectToServer” Function) char *: FullPositionerName Output parameters char *: EventList Return Function error Function Input tests Verify the number of parameters. Verify the positioner name and the event name. Verify the type of all output parameters. Parameters coherence test. Returns the list of events and actions in progress for the selected positioner. For a more thorough description and a complete list of possible events and the actions, please refer to the XPS Motion Tutorial section Event triggers. 0 -7 -8 -9 -13 Function Description Function Errors 905 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.14.2.3 EventRemove TCL Prototype Input parameters int EventRemove (int SocketID, char FullPositionerName[250], char EventName[250] , char EventParameter[250]) int : SocketID (Socket identifier gets by the “TCP_ConnectToServer” Function) char [250]: FullPositionerName char [250]: EventName (see § Events) char [250]: EventParameter Output parameters None Return TCL error (0 = success or 1 = syntax error) or Function error int EventRemove (int SocketID, char *FullPositionerName, char *EventName , char *EventParameter) Input parameters int : SocketID (Socket identifier gets by the “TCP_ConnectToServer” Function) char *: FullPositionerName char *: EventName (see § Events) char *: EventParameter None Output parameters Function error Return DLL Prototype Function Input tests Function Description Function Errors EDH0305En1051 — 08/15 Verify the number of parameters. Verify the positioner name and the event name. Verify the event. Verify the type of all output parameters. Parameters coherence test. Deletes an action associated to an event for the defined positioner. For a more thorough description and a complete list of possible events and the actions, please refer to the XPS Motion Tutorial section Event triggers. 0 -7 -8 -9 -13 -40 906 XPS-Q8 Controller Programmer’s Manual 2.14.2.4 EventWait TCL Prototype Input parameters int EventWait (int SocketID, char FullPositionerName [250], char EventName[250] , char EventParameter[250]) int : SocketID (Socket identifier gets by the “TCP_ConnectToServer” Function) char [250]: FullPositionerName char [250]: EventName (see § Events) char [250]: EventParameter Output parameters None Return TCL error (0 = success or 1 = syntax error) or Function error DLL Prototype Input parameters int EventWait (int SocketID, char *FullPositionerName, char *EventName , char *EventParameter) int : SocketID (Socket identifier gets by the “TCP_ConnectToServer” Function) char *: FullPositionerName char *: EventName (see § Events) char *: EventParameter Output parameters None Return Function error Function Input tests Function Description Function Errors Verify the number of parameters. Verify the positioner name and the event name. Verify the event. Verify the type of all output parameters. Parameters coherence test. Waits for an event for the selected positioner. The socket is locked. As soon as the event occurs, the socket gets unlocked. For a more thorough description and a complete list of possible events and the actions, please refer to the XPS Motion Tutorial section Event triggers. 0 -7 -8 -9 -13 -40 907 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.15 TCL Programming 2.15.1 Function Description 2.15.1.1 TCLScriptExecute Name TCLScriptExecute – Executes a TCL script. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of arguments: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check task name: ERR_WRONG_TCL_TASKNAME (-47) - Check TCL file name: ERR_UNKNOWN_TCL_FILE (-36) - Check TCL interpretor (task loading): ERR_TCL_INTERPRETOR (-37) Description This function executes a TCL script. The TCL script file must be saved in the folder “..\Public\Scripts” of the XPS controller. o TaskName is a user designation for the TCL script being executed. If two TCL scripts are executed at the same time with the same task name, The ERR_WRONG_TCL_TASKNAME (-47) is returned because having the same TaskName is not allowed. o InputArguments represents the input arguments of the TCL script to be executed. The number of these input arguments is not limited but the string length is limited to 250 characters. The argument separator is a comma. Errors EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_TCL_INTERPRETOR (-37) - ERR_UNKNOWN_TCL_FILE (-36) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TCL_TASKNAME (-47) - SUCCESS (0): no error 908 XPS-Q8 Controller Programmer’s Manual TCL Prototype TCLScriptExecute $SocketID $TCLFileName $TaskName $InputArguments Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TCLFileName string File name contains the TCL script – TaskName string Task name – InputArguments string Input argument string (separator is a comma) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TCLScriptExecute (int SocketID, char *TCLFileName, char *TaskName, char *InputArguments) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TCLFileName char * File name contains the TCL script – TaskName char * Task name – InputArguments char * Input argument string (separator is a comma) Output parameters – None Return – Function error code 909 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long TCLScriptExecute (ByVal SocketID As Long, ByVal TCLFileName As String, ByVal TaskName As String, ByVal InputArguments As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – TCLFileName string File name contains the TCL script – TaskName string Task name – InputArguments string Input argument string (separator is a comma) Output parameters – None Return – Function error code Matlab Prototype [Error] TCLScriptExecute (int32 SocketID, cstring TCLFileName, cstring TaskName, cstring InputArguments) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – TCLFileName cstring File name contains the TCL script – TaskName cstring Task name – InputArguments cstring Input argument string (separator is a comma) int32 Function error code Return – Error Python Prototype [Error] TCLScriptExecute (integer SocketID, string TCLFileName, string TaskName, string InputArguments) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TCLFileName string File name contains the TCL script – TaskName string Task name – InputArguments string Input argument string (separator is a comma) int Function error code Return – Error EDH0305En1051 — 08/15 910 XPS-Q8 Controller Programmer’s Manual 2.15.1.2 TCLScriptExecuteAndWait Name TCLScriptExecuteAndWait – Executes a TCL script and waits until the end of execution. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of arguments: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check task name: ERR_WRONG_TCL_TASKNAME (-47) - Check TCL file name: ERR_UNKNOWN_TCL_FILE (-36) - Check TCL interpretor (task loading): ERR_TCL_INTERPRETOR (-37) Description This function executes a TCL program. The “TCLScriptExecuteAndWait” function is different than the “TCLScriptExecute” function because it blocks the socket until the script teminates. The TCL script file must be saved in the folder “..\Public\Scripts” of the XPS controller. The file extension is “.tcl”. • TaskName is a user designation for the TCL script in execution. If two TCL scripts are executed at the same time with the same task name, The ERR_WRONG_TCL_TASKNAME (-47) is returned because having the same TaskName is not allowed. • InputArguments represents the input arguments of the TCL script to be executed. The number of these input arguments is not limited but the string length is limited to 250 characters. The argument separator is a comma. • OutputArguments represents the output arguments of the TCL script to be executed. The number of these output arguments is not limited but the string length is limited to 250 characters. The argument separator is a comma. Errors - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_TCL_INTERPRETOR (-37) - ERR_UNKNOWN_TCL_FILE (-36) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TCL_TASKNAME (-47) - SUCCESS (0): no error 911 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype TCLScriptExecuteAndWait $SocketID $TCLFileName $TaskName $InputArguments OutputArguments Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TCLFileName string File name contains the TCL script – TaskName string Task name – InputArguments string Input argument string (separator is a comma) string Output argument string (separator is a comma) Output parameters – OutputArguments Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TCLScriptExecuteAndWait (int SocketID, char *TCLFileName, char *TaskName, char *InputArguments, char *OutputArguments) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TCLFileName char * File name contains the TCL script – TaskName char * Task name – InputArguments char * Input argument string (separator is a comma) char * Output argument string (separator is a comma) Output parameters – OutputArguments Return – Function error code EDH0305En1051 — 08/15 912 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long TCLScriptExecuteAndWait (ByVal SocketID As Long, ByVal TCLFileName As String, ByVal TaskName As String, ByVal InputArguments As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – TCLFileName string File name contains the TCL script – TaskName string Task name – InputArguments string Input argument string (separator is a comma) string Output argument string (separator is a comma) Output parameters – OutputArguments Return – Function error code Matlab Prototype [Error] TCLScriptExecuteAndWait (int32 SocketID, cstring TCLFileName, cstring TaskName, cstring InputArguments, cstring OutputArguments) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – TCLFileName cstring File name contains the TCL script – TaskName cstring Task name – InputArguments cstring Input argument string (separator is a comma) – Error int32 Function error code – OutputArguments cstring Output argument string (separator is a comma) Return 913 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error,OutputArguments] TCLScriptExecuteAndWait (integer SocketID, string TCLFileName, string TaskName, string InputArguments) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TCLFileName string File name contains the TCL script – TaskName string Task name – InputArguments string Input argument string (separator is a comma) – Error int Function error code – OutputArguments string Output argument string (separator is a comma) Return EDH0305En1051 — 08/15 914 XPS-Q8 Controller Programmer’s Manual 2.15.1.3 TCLScriptExecuteWithPriority Name TCLScriptExecuteWithPriority – Executes a TCL script with TCL task given priority. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of arguments: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check task name: ERR_WRONG_TCL_TASKNAME (-47) - Priority mnemonic incorrect: ERR_PARAMETERS_OUT_OF_RANGE (-17) - Check TCL file name: ERR_UNKNOWN_TCL_FILE (-36) - Check TCL interpretor (task loading): ERR_TCL_INTERPRETOR (-37) Description This function executes a TCL script with a TCL task and a user-defined priority level. The TCL script file must be saved in the folder “..\Public\Scripts” of the XPS controller. 1. TaskName is a user designation for the TCL script in execution. If two TCL scripts are executed at the same time with the same task name, The ERR_WRONG_TCL_TASKNAME (-47) is returned because having the same TaskName is not allowed. 2. InputArguments represents the input arguments to the TCL script to be executed. The number of these input arguments is not limited but the string length is limited to 250 characters. The argument separator is a comma. 3. PriorityLevel has three possible values: “HIGH”, “MEDIUM” and “LOW”, with the order being HIGH > MEDIUM > LOW. Errors - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_TCL_INTERPRETOR (-37) - ERR_UNKNOWN_TCL_FILE (-36) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_PARAMETER_OUT_OF_RANGE (-17) - ERR_WRONG_TCL_TASKNAME (-47) - SUCCESS (0): no error 915 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TCL Prototype TCLScriptExecuteWithPriority $SocketID $TCLFileName $TaskName $Priority $InputArguments Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TCLFileName string File name contains the TCL script – TaskName string Task name – Priority string TCL task priority (HIGH, MEDIUM or LOW) – InputArguments string Input argument string (separator is a comma) Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int TCLScriptExecuteWithPriority (int SocketID, char *TCLFileName, char *TaskName, char *Priority, char *InputArguments) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TCLFileName char * File name contains the TCL script – TaskName char * Task name – Priority char * TCL task priority (HIGH, MEDIUM or LOW) – InputArguments char * Input argument string (separator is a comma) Output parameters – None Return – Function error code EDH0305En1051 — 08/15 916 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype Long TCLScriptExecuteWithPriority (ByVal SocketID As Long, ByVal TCLFileName As String, ByVal TaskName As String, ByVal Priority As String , ByVal InputArguments As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – TCLFileName string File name contains the TCL script – TaskName string Task name – Priority string TCL task priority (HIGH, MEDIUM or LOW) – InputArguments string Input argument string (separator is a comma) Output parameters – None Return – Function error code Matlab Prototype [Error] TCLScriptExecuteWithPriority (int32 SocketID, cstring TCLFileName, cstring TaskName, cstring Priority, cstring InputArguments) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – TCLFileName cstring File name contains the TCL script – TaskName cstring Task name – Priority cstring TCL task priority (HIGH, MEDIUM or LOW) – InputArguments cstring Input argument string (separator is a comma) int32 Function error code Return – Error 917 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] TCLScriptExecuteWithPriority (integer SocketID, string TCLFileName, string TaskName, string Priority, string InputArguments) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TCLFileName string File name contains the TCL script – TaskName string Task name – Priority string TCL task priority (HIGH, MEDIUM or LOW) – InputArguments string Input argument string (separator is a comma) int Function error code Return – Error EDH0305En1051 — 08/15 918 XPS-Q8 Controller Programmer’s Manual 2.15.1.4 TCLScriptKill Name TCLScriptKill – Kills a TCL script. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of arguments: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check TCL interpretor (task loading) and task name: ERR_TCL_SCRIPT_KILL (38) - Check semaphore to use the TCL interpretor: ERR_TCL_INTERPRETOR (-37) Description This function kills a running TCL script selected using its task name. The task name is a user designation for the TCL script in execution. NOTE For the boot script, the task name is “BootScript”. Errors - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_TCL_INTERPRETOR (-37) - ERR_TCL_SCRIPT_KILL (-38) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TCL_TASKNAME (-47) - SUCCESS (0): no error TCL Prototype TCLScriptKill $SocketID $TaskName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TaskName string Task name to kill Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 919 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int TCLScriptKill (int SocketID, char *TaskName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – TaskName char * Task name to kill Output parameters – None Return – Function error code Visual Basic Prototype Long TCLScriptKill (ByVal SocketID As Long, ByVal TaskName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – TaskName string Task name to kill Output parameters – None Return – Function error code Matlab Prototype [Error] TCLScriptKill (int32 SocketID, cstring TaskName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – TaskName cstring Task name to kill int32 Function error code Return – Error EDH0305En1051 — 08/15 920 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] TCLScriptKill (integer SocketID, string TaskName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – TaskName string Task name to kill int Function error code Return – Error 921 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.15.1.5 TCLScriptKillAll Name TCLScriptKillAll – Kills all running TCL scripts. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Check TCL interpretor (task loading) and task name: ERR_TCL_SCRIPT_KILL (38) Description This function kills all running TCL scripts. Errors - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_TCL_SCRIPT_KILL (-38) - ERR_WRONG_FORMAT (-7) - SUCCESS (0): no error TCL Prototype TCLScriptKillAll $SocketID Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code EDH0305En1051 — 08/15 922 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int TCLScriptKillAll (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – None Return – Function error code Visual Basic Prototype Long TCLScriptKillAll (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function Output parameters – None Return – Function error code Matlab Prototype [Error] TCLScriptKillAll (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function int32 Function error code Return – Error Python Prototype [Error] TCLScriptKillAll (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function int Function error code Return – Error 923 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.16 Optional Module Programming The optional module programming manages (execute and stop execution) the written by user program blocks (optional modules) in the XPS controller, with the following conditions: 1. Every optional module is written in C language (GNU with QNX Momentics IDE). 2. The optional module file must be stored in the “/Admin/ UserOptionalModules /” in the XPS controller. In case a user needs to execute the optional module at boot of the controller OptionalModuleNames feature is to be added in the [GENERAL] section of system.ref file followed by the name of the optional module created by the user: system.ref: [GENERAL] HardwareType = XPS ; XPS or SPS FirmwareName = MainController ExternalModuleNames = XPSRemoteControl OptionalModuleNames = OptionalModule1Name, OptionalModule2Name DelayBeforeStartup = 0 ; seconds […] 2.16.1 Function Description 2.16.1.1 OptionalModuleExecute Name OptionalModuleExecute – Executes an optional (user) external module. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of arguments: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check task name: ERR_OPTIONAL_EXTERNAL_MODULE_EXECUTE (-95) Description This function executes an optional (user) module. The optional module file must be saved in the folder “\Admin\UserOptionalModules” of the XPS controller. Errors EDH0305En1051 — 08/15 - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_OPTIONAL_EXTERNAL_MODULE_EXECUTE (-95) - SUCCESS (0): no error 924 XPS-Q8 Controller Programmer’s Manual TCL Prototype OptionalModuleExecute $SocketID $ModuleFileName $TaskName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ModuleName string Module name Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype int OptionalModuleExecute (int SocketID, char * ModuleFileName, char *TaskName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – ModuleName char * Module name Output parameters – None Return – Function error code Visual Basic Prototype Long OptionalModuleExecute (ByVal SocketID As Long, ByVal ModuleFileName As String, ByVal TaskName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – ModuleName string Module name Output parameters – None Return – Function error code 925 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Matlab Prototype [Error] OptionalModuleExecute (int32 SocketID, cstring ModuleFileName, cstring TaskName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – ModuleName cstring Module name int32 Function error code Return – Error Python Prototype [Error] OptionalModuleExecute (integer SocketID, string ModuleFileName, string TaskName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ModuleName string Module name int Function error code Return – Error EDH0305En1051 — 08/15 926 XPS-Q8 Controller Programmer’s Manual 2.16.1.2 OptionalModuleKill Name OptionalModuleKill – Kills the execution of a optional module. Input tests - Controller initialization failed: ERR_FATAL_INIT (-20) - XPS initialization in progress: ERR_IN_INITIALIZATION (-21) - Valid command format: ERR_WRONG_FORMAT (-7) - Number of arguments: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check task name and task killing: ERR_OPTIONAL_EXTERNAL_MODULE_KILL (-96) Description This function kills a running optional module . Errors - ERR_FATAL_INIT (-20) - ERR_IN_INITIALIZATION (-21) - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_OPTIONAL_EXTERNAL_MODULE_KILL (-96) - SUCCESS (0): no error TCL Prototype OptionalModuleKill $SocketID $TaskName Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ModuleName string Module name to kill Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 927 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int OptionalModuleKill (int SocketID, char *TaskName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – ModuleName char * Module name to kill Output parameters – None Return – Function error code Visual Basic Prototype Long OptionalModuleKill (ByVal SocketID As Long, ByVal TaskName As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – ModuleName string Module name to kill Output parameters – None Return – Function error code Matlab Prototype [Error] OptionalModuleKill (int32 SocketID, cstring TaskName) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – ModuleName cstring Module name to kill int32 Function error code Return – Error EDH0305En1051 — 08/15 928 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] OptionalModuleKill (integer SocketID, string TaskName) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – ModuleName string Module name to kill int Function error code Return – Error 929 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.17 Hardware Date and Time Setting 2.17.1 Function Description 2.17.1.1 HardwareDateAndTimeGet Name HardwareDateAndTimeGet – Returns the current date and time. Input tests - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check output parameter type: ERR_WRONG_TYPE_CHAR (-13) - Check output format: ERR_WRONG_FORMAT (-7) Description This function returns the current date and time of the XPS controller with the format “WeekDay Month Day Hour:Minute:Second Year “, for example “Tue Jan 15 10:28:06 2008”. Errors - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - ERR_WRONG_FORMAT (-7) - SUCCESS (0): no error TCL Prototype HardwareDateAndTimeGet $SocketID DateAndTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function string Controller date and time int TCL error code (0 = success or 1 = syntax error) or function error code Output parameters – DateAndTime Return – Error EDH0305En1051 — 08/15 930 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int HardwareDateAndTimeGet (int SocketID, char * DateAndTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function char * Controller date and time int Function error code Output parameters – DateAndTime Return – Error Visual Basic Prototype Long HardwareDateAndTimeGet (ByVal SocketID As Long, ByVal DateAndTime As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function string Controller date and time long Function error code Output parameters – DateAndTime Return – Error Matlab Prototype [Error, DateAndTime] HardwareDateAndTimeGet (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – Error int32 Function error code – DateAndTime cstring Controller date and time Return 931 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error, DateAndTime] HardwareDateAndTimeGet (integer SocketID) Input parameters SocketID.............integer Socket identifier gets by the “TCP_ConnectToServer” function Return EDH0305En1051 — 08/15 – Error int Function error code – DateAndTime string Controller date and time 932 XPS-Q8 Controller Programmer’s Manual 2.17.1.2 HardwareDateAndTimeSet Name HardwareDateAndTimeSet – Sets the date and time. Input tests - Check command format: ERR_WRONG_FORMAT (-7) - Verify the number of parameters: ERR_WRONG_PARAMETERS_NUMBER (-9) - Check intput parameter type: ERR_WRONG_TYPE_CHAR (-13) Description This function sets the date and time of the XPS controller. The date format must be “WeekDay Month Day Hour:Minute:Second Year “, for example “Tue Jan 15 10:28:06 2008”. Errors - ERR_WRONG_FORMAT (-7) - ERR_WRONG_PARAMETERS_NUMBER (-9) - ERR_WRONG_TYPE_CHAR (-13) - SUCCESS (0): no error TCL Prototype HardwareDateAndTimeSet $SocketID $DateAndTime Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – DateAndTime string Date and time to set Output parameters – None Return – TCL error code (0 = success or 1 = syntax error) or Function error code 933 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual C/C++ Prototype int HardwareDateAndTimeSet (int SocketID, char * DateAndTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function – DateAndTime char * Date and time to set Output parameters – None Return – Function error code Visual Basic Prototype Long HardwareDateAndTimeSet (ByVal SocketID As Long, ByVal DateAndTime As String) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function – DateAndTime string Date and time to set Output parameters – None Return – Function error code Matlab Prototype [Error] HardwareDateAndTimeSet (int32 SocketID, cstring DateAndTime) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function – DateAndTime cstring Date and time to set int32 Function error code Return – Error EDH0305En1051 — 08/15 934 XPS-Q8 Controller Programmer’s Manual Python Prototype [Error] HardwareDateAndTimeSet (integer SocketID, string DateAndTime) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function – DateAndTime string Date and time to set int Function error code Return – Error 935 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.18 Version 2.18.1 Function Description 2.18.1.1 GetLibraryVersion Name GetLibraryVersion – Returns the version of the DLL library. Input tests - None Description This function returns the version of the DLL library. The library version represents the firmware version that was used to build the library. Errors - None TCL Prototype GetLibraryVersion $SocketID LibVersion Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function string DLL library version Output parameters – LibVersion Return – TCL error code (0 = success or 1 = syntax error) or Function error code C/C++ Prototype – char * GetLibraryVersion (int SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” function char * DLL library version Output parameters – None Return – LibVersion EDH0305En1051 — 08/15 936 XPS-Q8 Controller Programmer’s Manual Visual Basic Prototype String GetLibraryVersion (ByVal SocketID As Long) Input parameters – SocketID long Socket identifier gets by the “TCP_ConnectToServer” function string DLL library version Output parameters – None Return – LibVersion Matlab Prototype [LibVersion] GetLibraryVersion (int32 SocketID) Input parameters – SocketID int32 Socket identifier gets by the “TCP_ConnectToServer” function cstring DLL library version Return – LibVersion Python Prototype [LibVersion] GetLibraryVersion (integer SocketID) Input parameters – SocketID int Socket identifier gets by the “TCP_ConnectToServer” Function string DLL library version Return – LibVersion 937 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.19 Positioner Error List code 0 0x80000001 0x80000002 0x80000004 0x80000008 0x80000010 0x80000020 0x80000040 0x80000100 0x80000200 0x80000400 0x80000800 0x80001000 0x80002000 0x80010000 0x80020000 0x80100000 0x80200000 0x81000000 0x82000000 0x84000000 0x88000000 Error description General inhibition detected Fatal following error detected Home search time out Motion done time out Requested position exceed travel limits in trajectory or slave mode Requested velocity exceed maximum value in trajectory or slave mode Requested acceleration exceed maximum value in trajectory or slave mode Minus end of run activated Plus end of run activated Minus end of run glitch Plus end of run glitch Encoder quadrature error Encoder frequency and coherancy error Hard interpolator encoder error Hard interpolator encoder quadrature error First driver in fault Second driver in fault Home search mechanical zero inconsistency Interferometer no signal error on axis or reference Interferometer glitch error on axis or reference Fatal internal error NOTE The most significant bit is always set to 1. So, all positioner errors are negative. 2.20 Positioner Hardware Status List code 0x00000001 0x00000004 0x00000100 0x00000200 0x00000400 0x00000800 0x00001000 0x00002000 0x00010000 0x00020000 0x00100000 0x00200000 0x00400000 0x00800000 0x01000000 0x02000000 Error description General inhibition detected ZM high level Minus end of run activated Plus end of run activated Minus end of run glitch Plus end of run glitch Encoder quadrature error Encoder frequency or coherancy error Hard interpolator encoder error Hard interpolator encoder quadrature error First driver in fault Second driver in fault First driver powered on Second driver powered on Interferometer no signal error on axis or reference Interferometer glitch error on axis or reference NOTE Positioner errors are used to trigger consequences on the system, for instance disable, emergency break, etc. Positioner hardware status information is mainly provided for information purposes. EDH0305En1051 — 08/15 938 XPS-Q8 Controller Programmer’s Manual Explanation about positioner hardware status: General inhibition detected: This refers to the General Inhibition connector at the rear panel or the Stop All button at the front panel of the XPS controller. The General Inhibiton connector is a safety feature and can be used for a custom STOP ALL emergency switch. Inhibition (pin#2), must always be connected to GND during normal operation of the controller. In this case, inhibition is not detected. An open circuit is equivalent to pressing STOP ALL on the front panel, in which case, inhibition is detected. ZM high level: This refers to the mechanical zero signal used with some stages. The ZM signal is high during one part of the travel and low during the other part of the travel. The detection of the ZM high/low transition in combination with an encoder index pulse signal allows a fast and repeatable origin search (MechanicalZeroAndIndexHomeSearch). origin ZM signal home search Stop after origin detection, search in the opposite direction with 1/10 of the programmed home search speed Encoder pulse time Stop after origin detection, search in the opposite direction with half the velocity Stop at the next pulse time Minus end of run activated: Refers to the hardware minus end of run limit switch. During normal operation, this end of run switch should never be activated and any motion will be stopped by the detection of the minus software limit. Plus end of run activated: Refers to the hardware positive end of run limit switch. During normal operation, this end of run switch should never be activated and any motion will be stopped by the detection of the positive software limit. Minus end of run glitch: Undesirable, momentary instability of the hardware minus end of run signal, for instance can be generated by ripple or noise. Travelhard- origin Travelsoft- Travelsoft+ Travelhard+ Plus end of run glitch: Undesirable, momentary instability of the hardware positive end of run signal, for instance can be generated by ripple or noise. Encoder quadrature error: Error generated when the signals of both encoder channels simultaneously change. In normal operation, only one quadrature signal changes state at a time. This error can occur due to an undesirable level change or a glitch as illustrated below. 939 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual States 0 1 2 3 0 1 2 3 0 1 2 3 1 2 3 0 Channel A Channel B Error: undesirable change of channel A Error: glitch on channel A Encoder freq. and coherency error: Error generated when the frequency of the signals is too high. The maximum frequency of the encoder input is 25MHz. Hard interpolator encoder error: Error generated when the difference of the sine/cosine encoder signals from a unity circle is too large (for instance when signals are phase shifted or amplitude modified). Unity circle Unity circle 1 Unity circle 1 1 1 1 No error Error 1 Error Hard interpolator quad. encoder error: Error generated when the signals of both encoder channels of the hardware interpolated encoder output simultaneously change. Same error as Encoder quadrature error except that the quadrature signals are those converted from the sine/cosine signals of the hard interpolator. The hardware interpolator is used only with AnalogInterpolated encoders to trigger the position compare output and to gather positions during external data gathering. First driver in fault: problem with the first driver. Second driver in fault: problem with the second driver in case two drivers are connected to one axis. First driver powered on: First driver with motor ON after initialization. Second driver powered on: Second driver with motor ON after initialization, in case two drivers are connected to one axis. EDH0305En1051 — 08/15 940 XPS-Q8 Controller Programmer’s Manual 2.21 Bit code 0 DRV00x Positioner Driver Status List DRV01 DRV02x D6U DRV03 a Short-circuit Short-circuit Short-circuit 1 b Broken fuse Broken fuse Broken fuse 2 c 3 d Thermistor fault Initialization error Thermistor fault Initialization error Initialization error 4 e I²T I²T I²T 5 f Current limit Current limit 6 g 7 h 8 i DRVP1 Voltage out of range Over temperature Initialization error Dynamic error Inhibition input Inhibition input Inhibition input No stage connected Inhibition input Driver in fault Driver in fault Driver in fault Driver in fault TG is opened Inhibition input Driver in fault Inhibition input Driver in fault 2.22 DRVM Inhibition input Driver in fault Group Status List Code Description 0 NOTINIT state 1 NOTINIT state due to an emergency brake: see positioner status 2 NOTINIT state due to an emergency stop: see positioner status 3 NOTINIT state due to a following error during homing 4 NOTINIT state due to a following error 5 NOTINIT state due to an homing timeout 6 NOTINIT state due to a motion done timeout during homing 7 NOTINIT state due to a KillAll command 8 NOTINIT state due to an end of run after homing 9 NOTINIT state due to an encoder calibration error 10 Ready state due to an AbortMove command 11 Ready state from homing 12 Ready state from motion 13 Ready State due to a MotionEnable command 14 Ready state from slave 15 Ready state from jogging 16 Ready state from analog tracking 17 Ready state from trajectory 18 Ready state from spinning 19 Ready state due to a group interlock error during motion 20 Disable state 21 Disabled state due to a following error on ready state 22 Disabled state due to a following error during motion 941 EDH0305En1051 — 08/15 XPS-Q8 Controller EDH0305En1051 — 08/15 Programmer’s Manual 23 Disabled state due to a motion done timeout during moving 24 Disabled state due to a following error on slave state 25 Disabled state due to a following error on jogging state 26 Disabled state due to a following error during trajectory 27 Disabled state due to a motion done timeout during trajectory 28 Disabled state due to a following error during analog tracking 29 Disabled state due to a slave error during motion 30 Disabled state due to a slave error on slave state 31 Disabled state due to a slave error on jogging state 32 Disabled state due to a slave error during trajectory 33 Disabled state due to a slave error during analog tracking 34 Disabled state due to a slave error on ready state 35 Disabled state due to a following error on spinning state 36 Disabled state due to a slave error on spinning state 37 Disabled state due to a following error on auto-tuning 38 Disabled state due to a slave error on auto-tuning 39 Disable state due to an emergency stop on auto-tuning state 40 Emergency braking 41 Motor initialization state 42 Not referenced state 43 Homing state 44 Moving state 45 Trajectory state 46 Slave state due to a SlaveEnable command 47 Jogging state due to a JogEnable command 48 Analog tracking state due to a TrackingEnable command 49 Analog interpolated encoder calibrating state 50 NOTINIT state due to a mechanical zero inconsistency during homing 51 Spinning state due to a SpinParametersSet command 52 NOTINIT state due to a clamping timeout 55 Clamped 56 Ready state from clamped 58 Disabled state due to a following error during clamped 59 Disabled state due to a motion done timeout during clamped 60 NOTINIT state due to a group interlock error on not reference state 61 NOTINIT state due to a group interlock error during homing 63 NOTINIT state due to a motor initialization error 64 Referencing state 65 Clamping initialization 66 NOTINIT state due to a perpendicularity error homing 67 NOTINIT state due to a master/slave error during homing 68 Auto-tuning state 69 Scaling calibration state 942 XPS-Q8 Controller Programmer’s Manual 70 Ready state from auto-tuning 71 NOTINIT state from scaling calibration 72 NOTINIT state due to a scaling calibration error 73 Excitation signal generation state 74 Disable state due to a following error on excitation signal generation state 75 Disable state due to a master/slave error on excitation signal generation state 76 Disable state due to an emergency stop on excitation signal generation state 77 Ready state from excitation signal generation 78 Focus state 79 Ready state from focus 80 Disable state due to a following error on focus state 81 Disable state due to a master/slave error on focus state 82 Disable state due to an emergency stop on focus state 83 NOTINIT state due to a group interlock error 84 Disable state due to a group interlock error during moving 85 Disable state due to a group interlock error during jogging 86 Disable state due to a group interlock error on slave state 87 Disable state due to a group interlock error during trajectory 88 Disable state due to a group interlock error during analog tracking 89 Disable state due to a group interlock error during spinning 90 Disable state due to a group interlock error on ready state 91 93 Disable state due to a group interlock error on auto-tuning state Disable state due to a group interlock error on excitation signal generation state Disable state due to a group interlock error on focus state 94 Disabled state due to a motion done timeout during jogging 95 Disabled state due to a motion done timeout during spinning 96 Disabled state due to a motion done timeout during slave mode 92 943 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.23 Error List Error mnemonic ERR_TCL_INTERPRETOR_ERROR SUCCESS ERR_BUSY_SOCKET ERR_TCP_TIMEOUT ERR_STRING_TOO_LONG ERR_UNKNOWN_COMMAND ERR_POSITIONER_ERROR ERR_WRONG_FORMAT ERR_WRONG_OBJECT_TYPE ERR_WRONG_PARAMETERS_NUMBER ERR_WRONG_TYPE code 1 0 -1 -2 -3 -4 -5 -7 -8 -9 -10 ERR_WRONG_TYPE_BIT_WORD -11 ERR_WRONG_TYPE_BOOL -12 ERR_WRONG_TYPE_CHAR -13 ERR_WRONG_TYPE_DOUBLE -14 ERR_WRONG_TYPE_INT -15 ERR_WRONG_TYPE_UNSIGNEDINT -16 ERR_PARAMETER_OUT_OF_RANGE ERR_POSITIONER_NAME ERR_GROUP_NAME -17 -18 -19 ERR_FATAL_INIT -20 ERR_IN_INITIALIZATION ERR_NOT_ALLOWED_ACTION ERR_POSITION_COMPARE_NOT_SET ERR_UNCOMPATIBLE ERR_FOLLOWING_ERROR ERR_EMERGENCY_SIGNAL ERR_GROUP_ABORT_MOTION ERR_GROUP_HOME_SEARCH_TIMEOUT ERR_MNEMOTYPEGATHERING ERR_GATHERING_NOT_STARTED ERR_HOME_OUT_RANGE ERR_GATHERING_NOT_CONFIGURED ERR_GROUP_MOTION_DONE_TIMEOUT ERR_TRAVEL_LIMITS ERR_UNKNOWN_TCL_FILE ERR_TCL_SCRIPT_KILL ERR_TCL_INTERPRETOR ERR_MNEMO_ACTION ERR_MNEMO_EVENT ERR_SLAVE_CONFIGURATION ERR_JOG_OUT_OF_RANGE ERR_GATHERING_RUNNING ERR_SLAVE ERR_END_OF_RUN ERR_NOT_ALLOWED_BACKLASH -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 ERR_WRONG_TCL_TASKNAME -47 EDH0305En1051 — 08/15 944 Error description TCL interpretor error: wrong syntax Successful command Busy socket: previous command not yet finished TCP timeout String command too long Unknown command Not allowed due to a positioner error Wrong format in the command string Wrong object type for this command Wrong number of parameters in the command Wrong parameter type in the command string Wrong parameters type in the command string: word or word * expected Wrong parameter type in the command string: bool or bool * expected Wrong parameter type in the command string: char * expected Wrong parameter type in the command string: double or double * expected Wrong parameter type in the command string : int or int * expected Wrong parameter type in the command string : unsigned int or unsigned int * expected Parameter out of range Positioner Name doesn't exist GroupName doesn't exist or unknown command Fatal Error during initialization, read the error.log file for more details Controller in initialization Not allowed action Position compare not set Not available in this configuration Following Error Emergency signal Move Aborted Home search timeout Mnemonique gathering type doesn't exist Gathering not started Home position is out of user travel limits Gathering not configurated Motion done timeout Not allowed: home preset outside travel limits Unknown TCL file TCL interpretor doesn't run TCL script can't be killed Mnemonique action doesn't exist Mnemonique event doesn't exist Slave-Master mode not configurated Jog value out of range Gathering running Slave error disabling master End of run activated Not allowed action due to backlash Wrong TCL task name: each TCL task name must be different XPS-Q8 Controller Programmer’s Manual ERR_BASE_VELOCITY ERR_GROUP_HOME_SEARCH_ZM_ERROR -48 -49 ERR_MOTOR_INITIALIZATION_ERROR -50 ERR_SPIN_OUT_OF_RANGE ERR_GROUP_INTERLOCK_ERROR ERR_NOT_ALLOWED_ACTION_GROUP_INTERLOCK ERR_WRITE_FILE ERR_READ_FILE ERR_TRAJ_ELEM_TYPE ERR_TRAJ_ELEM_RADIUS ERR_TRAJ_ELEM_SWEEP -51 -52 -53 -60 -61 -62 -63 -64 ERR_TRAJ_ELEM_LINE -65 ERR_TRAJ_EMPTY -66 ERR_TRAJ_VEL_LIMIT ERR_TRAJ_ACC_LIMIT ERR_TRAJ_FINAL_VELOCITY ERR_MSG_QUEUE ERR_TRAJ_INITIALIZATION ERR_END_OF_FILE ERR_READ_FILE_PARAMETER_KEY ERR_TRAJ_TIME ERR_EVENTS_NOT_CONFIGURED ERR_ACTIONS_NOT_CONFIGURED ERR_EVENT_BUFFER_FULL ERR_EVENT_ID_UNDEFINED -68 -69 -70 -71 -72 -73 -74 -75 -80 -81 -82 -83 ERR_HOME_SEARCH_GANTRY_TOLERANCE_ERROR -85 ERR_FOCUS_RESERVED_SOCKET ERR_FOCUS_BUSY_EVENT_SCHEDULER ERR_OPTIONAL_EXTERNAL_MODULE_EXECUTE ERR_OPTIONAL_EXTERNAL_MODULE_KILL ERR_OPTIONAL_EXTERNAL_MODULE_UNLOAD ERR_FATAL_EXTERNAL_MODULE_LOAD ERR_INTERNAL_ERROR ERR_RELAY_FEEDBACK_TEST_NO_OSCILLATION ERR_RELAY_FEEDBACK_TEST_SIGNAL_NOISY -90 -91 -95 -96 -98 -99 -100 -101 -102 ERR_SIGNAL_POINTS_NOT_ENOUGH -103 ERR_PID_TUNING_INITIALIZATION ERR_SCALING_CALIBRATION ERR_WRONG_USERNAME_OR_PASSWORD -104 -105 -106 ERR_NEED_ADMINISTRATOR_RIGHTS -107 ERR_SOCKET_CLOSED_BY_ADMIN -108 ERR_NEED_TO_BE_HOMED_AT_LEAST_ONCE -109 ERR_NOT_ALLOWED_FOR_GANTRY ERR_GATHERING_BUFFER_FULL ERR_EXCITATION_SIGNAL_INITIALIZATION ERR_BOTH_ENDS_OF_RUN_ACTIVATED ERR_GROUP_CLAMPING_TIMEOUT ERR_HARDWARE_FUNCTION_NOT_SUPPORTED -110 -111 -112 -113 -114 -115 ERR_EXTERNAL_DRIVER_INIT -116 ERR_FUNCTION_ONLY_ALLOWED_IN_DISABLED_STA -117 945 BaseVelocity must be null Inconsistent mechanical zero during home search Motor initialization error: check InitializationAcceleration Spin value out of range Group interlock Not allowed action due to a group interlock Error during file writing or file doesn't exist Error during file reading or file doesn't exist Wrong trajectory element type Wrong XY trajectory element arc radius Wrong XY trajectory element sweep angle Trajectory line element discontinuity error or new element is too small Trajectory doesn't content any element or not loaded Velocity on trajectory is too high Acceleration on trajectory is too high Final velocity on trajectory is not zero Error write or read from message queue Error during trajectory initialization End of file Error file parameter key not found Time delta of trajectory element is negative or null Event not configured Action not configured Event buffer is full Event ID not defined Secondary positioner index is too far from first positioner Focus socket not reseved or closed Focus event scheduler is busy Error of executing an optional module Error of stopping an optional module Error of unloading an optional module Fatal external module load: see error.log Internal error (memory allocation error, …) Relay Feedback Test failed: No oscillation Relay Feedback Test failed: Signal too noisy Relay Feedback Test failed: Signal data not enough for analyse Error of tuning process initialization Error of scaling calibration initialization Wrong user name or password This function requires to be logged in with Administrator rights The TCP/IP connection was closed by an administrator Group need to be homed at least once to use this function (distance mesured during home search) Execution not allowed for Gantry configuration Gathering buffer is full Error of excitation signal generation initialization Both ends of run activated Clamping timeout Function is not supported by current hardware Error during external driver initialization, read error.log file for more details Function is only allowed in DISABLED group EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual TE ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED -118 ERR_TRAVEL_LIMITS_ON_SECONDARY_POSITIONER -119 ERR_WARNING_FOLLOWING_ERROR -120 ERR_NOT_ALLOWED_MODE_DISABLED -121 ERR_CHECK_DATA_INCORRECT -122 ERR_ADMINISTRATOR_LOGGED_IN -123 ERR_MOVE_SECONDARY_POSITIONER -124 ERR_TCL_INTERPRETOR_SYNCRONIZATION -125 ERR_WRONG_TYPE_SHORT -126 ERR_WRONG_TYPE_LONG -127 ERR_WRONG_TYPE_UNSIGNEDSHORT -128 ERR_WRONG_TYPE_UNSIGNEDLONG -129 ERR_WRONG_TYPE_FLOAT -130 ERR_WRONG_TYPE_LONGLONG -131 ERR_WRONG_TYPE_UNSIGNEDLONGLONG -132 EDH0305En1051 — 08/15 946 state Not allowed action driver not initialized Position is outside of travel limits on secondary positioner Warning following error during move with position compare enabled Function is not allowed due to configuration disabled Data incorrect (wrong value, wrong format, wrong order or inexistent) Action not allowed, an Administrator is already logged in Error during move of secondary positioner: check positioners errors for details Check tcl task name is not empty Wrong parameter type in the command string : short or short * expected Wrong parameter type in the command string : long or long * expected Wrong parameter type in the command string : unsigned short or unsigned short * expected Wrong parameter type in the command string : unsigned long or unsigned long * expected Wrong parameter type in the command string : float or float * expected Wrong parameter type in the command string : long long int or long long int * expected Wrong parameter type in the command string : unsigned long long or unsigned long long * expected XPS-Q8 Controller Programmer’s Manual 2.24 Controller Status List Controller status code CONTROLLER_STATUS_OK CONTROLLER_STATUS_INITIALIZATION_FAILED CONTROLLER_STATUS_NB_OPENED_SOCKETS_R EACHED_MAXIMUM_ALLOWED CONTROLLER_STATUS_CPU_OVERLOAD CONTROLLER_STATUS_CORRECTOR_OVER_CAL CULATED CONTROLLER_STATUS_PROFILER_OVER_CALCU LATED CONTROLLER_STATUS_CORRECTOR_INTERRUPT _LOST code 0x00000000 0x00000001 0x00000002 0x00000004 0x00000008 0x00000010 0x00000020 Controller status description Controller status OK Controller initialization failed Number of currently opened sockets reached maximum allowed number Controller CPU is overloaded Current measured corrector calculation time exceeds the corrector period Profile generator calculating time exceeds ProfileGeneratorISRRatio * IRSCorrectorPeriod Controller has lost a corrector interrupt NOTE Within about 5 minutes after the controller startup, due to the hardware thermal stabilization, the CONTROLLER_STATUS_CORRECTOR_OVER_CALCULATED, CONTROLLER_STATUS_CORRECTOR_INTERRUPT_LOST , CONTROLLER_STATUS_PROFILER_OVER_CALCULATED, CONTROLLER_STATUS_CPU_OVERLOAD or CONTROLLER_STATUS_NB_OPENED_SOCKETS_REACHED_MAXIMUM_ ALLOWED status flags may be raised. These flags are automatically reset after a controller status reading using the ControllerStatusGet() command. Another way to avoid these flags during the 5 first minutes after boot is to set the following parameter in system.ref to 300 (seconds): DelayBeforeStartup = 300 ; Controller boots completely after 300 seconds 947 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.25 User Defined Soft Motor Output DAC Offsets The firmware supports user-defined soft motor output DAC offsets. • PrimaryDAC1Offset • PrimaryDAC2Offset • SecondaryDAC1Offset • SecondaryDAC2Offset These parameters add an offset directly to the motor interface DAC outputs (inputs of motor driver board). Their default values are zero (0) at controller boot, but they can be read or modified using PositionerMotorOutputOffsetGet()/…Set() functions. These functions are not documented, because they are used for internal tests only. This feature is allowed only for the XPS-Qn Precision Platform controller. EDH0305En1051 — 08/15 948 XPS-Q8 Controller Programmer’s Manual 2.26 Gantry Configuration for MultipleAxes Group The “Precision Platform” firmware supports the gantry configuration for MultipleAxes group. • Additional Gantry feature for MultipleAxes group with different possibilities, for example a 5-positioner MultipleAxes group (M1, M2, M3, M4, M5): One gantry positioner in any order: - M1_1(primary), M1_2(secondary), M2, M3, M4, M5 - M1, M2_1(primary), M2_2(secondary), M3, M4, M5 - M1, M2, M3, M4, M5_1(primary), M5_2(secondary) - ….. Two gantry positioners in any order: - M1_1(primary), M1_2(secondary), M2_1(primary), M2_2(secondary), M3, M4, M5 - M1, M2_1(primary), M2_2(secondary), M3, M4_1(primary),M4_2(secondary), M5 - M1_1(primary), M1_2(secondary), M2, M3, M4, M5_1(primary), M5_2(secondary) - … • Additional user command errors: ERR_FUNCTION_ONLY_ALLOWED_IN_DISABLED_STATE (-117) ERR_NOT_ALLOWED_DRIVER_NOT_INITIALIZED (-118) ERR_TRAVEL_LIMITS_ON_SECONDARY_POSITIONER (-119) Configuration files • System.ini: Additional type of motor initialization and home search order for MultipleAxes group: InitializationAndHomeSearchSequence = OneAfterAnotherInReverseOrder. 949 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.27 Driver Notes for Precision Platform Firmware 2.27.1 D6U Interface The “Precision Platform” firmware is equipped with a D6U interface. This interface allows use of external drivers (DRV02 or DRV03). How to use an external driver An external driver must be connected to the XPS controller with an XPS-DRV00P board. An external driver interface can be only defined as an XPS-DRV02 or an XPSDRV03 board. XPS controller D6U box (External drivers) XPS-DRV00P XPS-DRV02 Stage1 XPS-DRV00P XPS-DRV03 Stage2 XPS-DRV01 Stage3 XPS-DRV02 Stage4 XPS-DRV03 Stage5 NOTE In the stages.ini file, the “DriverName” in the stage configuration must be declared XPS-DRV02 or XPS-DRV03 and not XPS-DRV00P. [Stage1] DriverName = XPS-DRV02 [Stage2] DriverName = XPS-DRV03 2.27.2 D3PD6U Driver / D3PD6U-15 Drivers The “Precision Platform” firmware version integrates the D3PD6U (from V1.0.0) and D3PD6U-15 (from V1.2.7) drivers. These drivers are external drivers. So these external drivers must be connected to the XPS controller with an XPS-DRV00P board. XPS controller D6U box (External drivers) XPS-DRV00P XPS-D3PD6U Stage XPS-D3PD6U NOTE In the stages.ini file, the “DriverName” of your stage configuration must be declared XPS-D3PD6U or XPS-D3PD6U-15 (not XPS-DRV00P). [Stage] DriverName = XPS-D3PD6U EDH0305En1051 — 08/15 950 ; or XPS-D3PD6U-15 XPS-Q8 Controller Programmer’s Manual 2.27.3 NON_CONFIGURABLE_STAGE Driver The “DriverNonConfigurable” driver is simulated by a loopback connector. The declaration name is NON_CONFIGURABLE_DRV. In the stages.ini file: [MY_STAGE] … DriverName = NON_CONFIGURABLE_DRV … 2.27.4 Driver Initialization Not at Boot The controller checks and sets its external drivers not at boot, but at the beginning of the GroupInitialize() call. 2.27.5 DRVP1 Piezo Driver The “Precision Platform” firmware supports the DRVP1 piezo driver. Stages.ini: ; ----------- Piezo configuration ----------------; Note: Piezo driver works only with NoEncoderPosition or PIPosition CorrectorType ; Piezo motor driver interface MotorDriverInterface = AnalogPositionPiezo ; Limit sensors input plug ServitudesType = Piezo ; Piezo driver model DriverName = XPS-DRVP1 ; Piezo driver parameters DriverNotchFrequency = DriverNotchBandwidth = DriverNotchGain = DriverLowpassFrequency = DriverKI = DriverFatalFollowingError = DriverStagePositionOffset = DriverTravelCorrection = Added functions: • PositionerDriverFiltersGet()/…Set(): Set/get piezo driver filters parameters • PositionerDriverPositionOffsetsGet(): Get piezo driver offsets 951 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 2.28 Function List Classed in Categories General function EDH0305En1051 — 08/15 1. CloseAllOtherSockets 2. ControllerMotionKernelTimeLoadGet 3. ControllerRTTimeGet 4. ControllerSlaveStatusGet 5. ControllerSlaveStatusStringGet 6. ControllerStatusGet 7. ControllerStatusStringGet 8. ControllerSynchronizeCorrectorISR 9. DoubleGlobalArrayGet 10. DoubleGlobalArraySet 11. ElapsedTimeGet 12. ErrorStringGet 13. EventAdd 14. EventGet 15. EventRemove 16. EventWait 17. EventExtendedConfigurationTriggerGet 18. EventExtendedConfigurationTriggerSet 19. EventExtendedConfigurationActionGet 20. EventExtendedConfigurationActionSet 21. EventExtendedStart 22. EventExtendedAllGet 23. EventExtendedGet 24. EventExtendedRemove 25. EventExtendedWait 26. FirmwareVersionGet 27. GatheringConfigurationGet 28. GatheringConfigurationSet 29. GatheringCurrentNumberGet 30. GatheringDataAcquire 31. GatheringDataGet 32. GatheringDataMultipleLinesGet 33. GatheringExternalConfigurationGet 34. GatheringExternalConfigurationSet 35. GatheringExternalCurrentNumberGet 36. GatheringExternalDataGet 37. GatheringExternalStopAndSave 38. GatheringReset 39. GatheringRun 40. GatheringRunAppend 41. GatheringStop 952 XPS-Q8 Controller Programmer’s Manual 42. GatheringStopAndSave 43. GlobalArrayGet 44. GlobalArraySet 45. GPIOAnalogGet 46. GPIOAnalogSet 47. GPIOAnalogGainGet 48. GPIOAnalogGainSet 49. GPIODigitalGet 50. GPIODigitalSet 51. HardwareDateAndTimeGet 52. HardwareDateAndTimeSet 53. KillAll 54. Login 55. OtionalModuleExecute 56. OtionalModuleKill 57. Reboot 58. TCLScriptExecute 59. TCLScriptExecuteAndWait 60. TCLScriptExecuteWithPriority 61. TCLScriptKill 62. TimerGet 63. TimerSet Positioner functions 64. PositionerAccelerationAutoScaling 65. PositionerAnalogTrackingPositionParametersGet 66. PositionerAnalogTrackingPositionParametersSet 67. PositionerAnalogTrackingVelocityParametersGet 68. PositionerAnalogTrackingVelocityParametersSet 69. PositionerBacklashGet 70. PositionerBacklashSet 71. PositionerBacklashEnable 72. PositionerBacklashDisable 73. PositionerCompensatedPCOAbort 74. PositionerCompensatedPCOCurrentStatusGet 75. PositionerCompensatedPCOEnable 76. PositionerCompensatedPCOFromFile 77. PositionerCompensatedPCOLoadToMemory 78. PositionerCompensatedPCOMemoryReset 79. PositionerCompensatedPCOPrepare 80. PositionerCompensatedPCOSet 81. PositionerCompensationFrequencyNotchsGet 82. PositionerCompensationFrequencyNotchsSet 83. PositionerCompensationLowPassTwoFiltersGet 84. PositionerCompensationLowPassTwoFiltersSet 953 EDH0305En1051 — 08/15 XPS-Q8 Controller EDH0305En1051 — 08/15 Programmer’s Manual 85. PositionerCompensationNotchModeFiltersGet 86. PositionerCompensationNotchModeFiltersSet 87. PositionerCompensationPhaseCorrectionFiltersGet 88. PositionerCompensationPhaseCorrectionFiltersSet 89. PositionerCompensationSpatialPeriodicNotchsGet 90. PositionerCompensationSpatialPeriodicNotchsSet 91. PositionerCorrectorAutoTuning 92. PositionerCorrectorNotchFiltersSet 93. PositionerCorrectorNotchFiltersGet 94. PositionerCorrectorPIDFFAccelerationGet 95. PositionerCorrectorPIDFFAccelerationSet 96. PositionerCorrectorSR1AccelerationGet 97. PositionerCorrectorSR1AccelerationSet 98. PositionerCorrectorSR1ObserverAccelerationGet 99. PositionerCorrectorSR1ObserverAccelerationSet 100. PositionerCorrectorSR1OffsetAccelerationGet 101. PositionerCorrectorSR1OffsetAccelerationSet 102. PositionerCorrectorPIDFFVelocityGet 103. PositionerCorrectorPIDFFVelocitySet 104. PositionerCorrectorPIDDualFFVoltageGet 105. PositionerCorrectorPIDDualFFVoltageSet 106. PositionerCorrectorPIPositionGet 107. PositionerCorrectorPIPositionSet 108. PositionerCorrectorTypeGet 109. PositionerCurrentVelocityAccelerationFiltersGet 110. PositionerCurrentVelocityAccelerationFiltersSet 111. PositionerDriverFiltersGet 112. PositionerDriverFiltersSet 113. PositionerDriverPositionOffsetsGet 114. PositionerDriverStatusGet 115. PositionerDriverStatusStringGet 116. PositionerEncoderAmplitudeValuesGet 117. PositionerEncoderCalibrationParametersGet 118. PositionerErrorGet 119. PositionerErrorRead 120. PositionerErrorStringGet 121. PositionerExcitationSignalGet 122. PositionerExcitationSignalSet 123. PositionerHardwareStatusGet 124. PositionerHardwareStatusStringGet 125. PositionerHardInterpolatorFactorGet 126. PositionerHardInterpolatorFactorSet 127. PositionerHardInterpolatorPositionGet 128. PositionerMaximumVelocityAndAccelerationGet 954 XPS-Q8 Controller Programmer’s Manual 129. PositionerMotionDoneGet 130. PositionerMotionDoneSet 131. PositionerPositionCompareDisable 132. PositionerPositionCompareEnable 133. PositionerPositionCompareGet 134. PositionerPositionCompareSet 135. PositionerPositionComparePulseParametersGet 136. PositionerPositionComparePulseParametersSet 137. PositionerPositionCompareScanAccelerationLimitGet 138. PositionerPositionCompareScanAccelerationLimitSet 139. PositionerPositionCompareAquadBAlwaysEnable 140. PositionerPositionCompareAquadBWindowedGet 141. PositionerPositionCompareAquadBWindowedSet 142. PositionerPreCorrectorExcitationSignalGet 143. PositionerPreCorrectorExcitationSignalSet 144. PositionerRawEncoderPositionGet 145. PositionersEncoderIndexDifferenceGet 146. PositionerSGammaExactVelocityAjustedDisplacementGet 147. PositionerSGammaParametersGet 148. PositionerSGammaParametersSet 149. PositionerSGammaPreviousMotionTimesGet 150. PositionerStageParameterGet 151. PositionerStageParameterSet 152. PositionerTimeFlasherDisable 153. PositionerTimeFlasherEnable 154. PositionerTimeFlasherGet 155. PositionerTimeFlasherSet 156. PositionerUserTravelLimitsGet 157. PositionerUserTravelLimitsSet 158. PositionerWarningFollowingErrorGet 159. PositionerWarningFollowingErrorSet 955 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 1. GroupAccelerationSetpointGet 2. GroupAnalogTrackingModeEnable 3. GroupAnalogTrackingModeDisable 4. GroupCorrectorOutputGet 5. GroupCurrentFollowingErrorGet 6. GroupHomeSearch 7. GroupHomeSearchAndRelativeMove 8. GroupInitialize 9. GroupInitializeNoEncoderReset 10. GroupInitializeWithEncoderCalibration 11. GroupInterlockDisable 12. GroupInterlockEnable 13. GroupJogParametersSet 14. GroupJogParametersGet 15. GroupJogCurrentGet 16. GroupJogModeEnable 17. GroupJogModeDisable 18. GroupKill 19. GroupMoveAbort 20. GroupMoveAbortFast 21. GroupMoveAbsolute 22. GroupMoveRelative 23. GroupMotionDisable 24. GroupMotionEnable 25. GroupPositionCorrectedProfilerGet 26. GroupPositionCurrentGet 27. GroupPositionSetpointGet 28. GroupPositionTargetGet 29. GroupPositionPCORawEncoderGet 30. GroupReferencingActionExecute 31. GroupReferencingStart 32. GroupReferencingStop 33. GroupStatusGet 34. GroupStatusStringGet 35. GroupVelocityCurrentGet EDH0305En1051 — 08/15 POSITIONER TZ MultipleAxes XYZ XY Spindle SingleAxisWithClamping SingleAxisTheta SingleAxis Group functions 956 XPS-Q8 Controller Programmer’s Manual SingleAxes group functions 1. SingleAxisSlaveModeDisable 2. SingleAxisSlaveModeEnable 3. SingleAxisSlaveParametersGet 4. SingleAxisSlaveParametersSet SingleAxesWithClamping group functions SingleAxes Theta group functions 1. SingleAxisThetaClampEnable 2. SingleAxisThetaClampDisable 3. SingleAxisThetaPositionRawGet (extended mode) Spindle group functions 1. GroupSpinCurrentGet 2. GroupSpinModeStop 3. GroupSpinParametersGet 4. GroupSpinParametersSet 5. SpindleSlaveModeDisable 6. SpindleSlaveModeEnable 7. SpindleSlaveParametersGet 8. SpindleSlaveParametersSet XY group functions 1. XYLineArcExecution 2. XYLineArcParametersGet 3. XYLineArcPulseOutputGet 4. XYLineArcPulseOutputSet 5. XYLineArcVerification 6. XYLineArcVerificationResultGet 957 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual XYZ group functions 1. XYZSplineExecution 2. XYZSplineParametersGet 3. XYZSplineVerification 4. XYZSplineVerificationResultGet MultipleAxes group functions • MultipleAxesPVTExecution • MultipleAxesPVTParametersGet • MultipleAxesPVTPulseOutputGet • MultipleAxesPVTPulseOutputSet • MultipleAxesPVTVerification • MultipleAxesPVTVerificationResultGet TZ group functions • TZPVTExecution • TZPVTParametersGet • TZPVTPulseOutputGet • TZPVTPulseOutputSet • TZPVTVerification • TZPVTVerificationResultGet • TZFocusModeDisable • TZFocusModeEnable • TZTrackingUserMaximumZZZTargetDifferenceGet • TZTrackingUserMaximumZZZTargetDifferenceSet EDH0305En1051 — 08/15 958 XPS-Q8 Controller 3.0 Programmer’s Manual Process Examples This section provides examples of programming sequences. The next 7 diagrams show the order of use of the different Functions. To see programming code examples, please refer to: 1. The TCL Manual for TCL scripts (part 7. Examples of TCL programs with XPS). 2. The Software Drivers Manual for C++ sequences (part 1.3 Example of C++ programs using the XPS DLL). 3.1 Management of the Errors When an error occurs, it is desirable to analyze and treat the error. The following display error and close procedure is useful to detect and display the errors during the execution of a program. This sequence could be added to each program and called each time users need to test certain parts of a program. Display error and close procedure: Display Timeout error error YES Timeout error? Get error description Display API name, error code and ErrorStringGet error YES ErrorStringGet error? Display API name, number and description of the error Close TCP socket 959 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 3.2 Firmware Version Open TCP connection Display TCP connection failed TCPOpen error? Get firmware version Display error and close procedure FirmwareVersionGet error? Display XPS controller version Close TCP socket Display TCP close failed TCPClose error? Display TCP socket closed EDH0305En1051 — 08/15 960 XPS-Q8 Controller Programmer’s Manual 3.3 Gathering with Motion Open TCP connection Display TCP connection failed YES TCPOpen error? NO Kill group Display error and close procedure YES GroupKill error? NO Initialize group Display error and close procedure YES GroupInitialize error? NO Home group Display error and close procedure YES GroupHomeSearch error? NO Configure gathering Display error and close procedure GatheringConfigurationSet error? YES NO Add event SGamma.MotionStart with action GatheringRun Display error and close procedure YES EventAdd error? Event occurred NO Move positioner Display error and close procedure YES GroupMoveRelative error? NO 961 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Stop gathering and save data Display error and close procedure YES GatheringStopAndSave error? NO Close TCP socket Display TCP close failed EDH0305En1051 — 08/15 YES TCPClose error? 962 NO Display TCP socket closed XPS-Q8 Controller Programmer’s Manual 3.4 External Gathering Open TCP connection YES Display TCP connection failed 8TCPOpe n error? NO Kill group Display error and close procedure YES GroupKill error? NO Initialize group YES Display error and close procedure GroupInitialize error? NO Home group Display error and close procedure YES GroupHomeSearch error? NO Configure external gathering Display error and close procedure YES GatheringExternalConfigurationSet error? NO Add event Immediate with action ExternalGatheringRun Display error and close procedure YES EventAdd error? NO Wait end of external gathering Get current number realized 963 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Display error3.5 and close procedure YES GatheringExternalCurrentNumberGet error? NO Stop external gathering and save data Display error and close procedure YES GatheringExternalStopAndSave error? NO Close TCP socket Display TCP close failed EDH0305En1051 — 08/15 YES TCPClose error? 964 NO Display TCP socket closed XPS-Q8 Controller Programmer’s Manual 3.5 Output Compare Open TCP connection Display TCP connection failed YES TCPOpen error? NO Kill group Display error and close procedure YES GroupKill error? NO Initialize group Display error and close procedure YES GroupInitialize error? NO Home group Display error and close procedure YES GroupHomeSearch error? NO Move positioner Display error and close procedure GroupMoveAbsolute error? YES NO Set position compare parameters Display error and close procedure YES PositionerPositionCompareSet error? NO Enable position compare mode Display error and close procedure YES PositionerPositionCompareEnable error? NO 965 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Move positioner Display error and close procedure YES GroupMoveRelative error? NO Disable position compare mode Display error and close procedure YES PositionerPositionCompareDisable error? NO Close TCP socket Display TCP close failed EDH0305En1051 — 08/15 YES TCPClose error? 966 NO Display TCP socket closed XPS-Q8 Controller Programmer’s Manual 3.6 Slave-Master Mode Open TCP connection Display TCP connection failed YES TCPOpen error? NO Kill group Display error and close procedure YES GroupKill error? NO Initialize group Display error and close procedure YES GroupInitialize error? NO Home group Display error and close procedure YES GroupHomeSearch error? NO Set slave with its master Display error and close procedure YES SingleAxisSlaveParametersSet error? NO Enable slave-master mode Display error and close procedure YES SingleAxisSlaveModeEnable error? NO Move master positioner 967 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Display error and close procedure YES GroupMoveRelative error? NO Disable slave-master mode Display error and close procedure YES 8SingleAxisSlaveModeDisable error? NO Close TCP socket Display TCP close failed EDH0305En1051 — 08/15 YES TCPClose error? 968 NO Display TCP socket closed XPS-Q8 Controller Programmer’s Manual 3.7 Jogging Open TCP connection Display TCP connection failed YES TCPOpen error? NO Kill group Display error and close procedure YES GroupKill error? NO Initialize group Display error and close procedure YES GroupInitialize error? NO Home group Display error and close procedure YES GroupHomeSearch error? NO Enable jog mode Display error and close procedure YES GroupJogModeEnable error? NO Set jog parameters to move a positioner Display error and close procedure YES GroupJogParametersSet error? NO Set jog parameters to stop a positioner 969 EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual Display error and close procedure YES GroupJogParametersSet error? Disable jog mode Display error and close procedure YES GroupJogModeDisable error? Close TCP socket Display TCP close failed EDH0305En1051 — 08/15 YES 970 TCPClose error? NO Display TCP socket closed XPS-Q8 Controller Programmer’s Manual 3.8 Tracking Display TCP connection failed Open TCP connection YES TCPOpen error? NO Kill group Display error and close procedure YES GroupKill error? NO Initialize group Display error and close procedure YES GroupInitialize error? NO Home group Display error and close procedure YES GroupHomeSearch error? NO Set tracking parameters Display error and close procedure PositionerAnalogTrackingPositionParametersSet error? YES NO Enable tracking mode Display error and close procedure YES GroupAnalogTrackingModeEnable error? NO Change the amplitude of analog input Disable tracking mode Display error and close procedure YES GroupAnalogTrackingModeDisable error? NO Close TCP socket Display TCP close failed YES TCPClose error? 971 NO Display TCP socket closed EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 3.9 Backlash Open TCP connection Display TCP connection failed YES TCPOpen error? NO Kill group Display error and close procedure YES GroupKill error? NO Enable Backlash Display error and close procedure YES PositionerBacklashEnable error? NO Initialize group Display error and close procedure YES GroupInitialize error? NO Home group Display error and close procedure YES GroupHomeSearch error? NO Modify Backlash value Display error and close procedure YES PositionerBacklash Set error? NO Move in positive direction EDH0305En1051 — 08/15 972 XPS-Q8 Controller Programmer’s Manual Display error and close procedure GroupMoveRelative error? YES NO Move in negative direction Display error and close procedure GroupMoveRelative error? YES NO Disable Backlash Display error and close procedure PositionerBacklashDisable error? YES NO Close TCP socket Display TCP close failed YES 973 TCPClose error? NO Display TCP socket closed EDH0305En1051 — 08/15 XPS-Q8 Controller Programmer’s Manual 3.10 Timer Event and Global Variables Open TCP connection 1 Display TCP connection failed YES TCPOpen error? NO Calculate divisor Configure timer Display error and close procedure YES TimerSet error? NO Add event Timer with action ExecuteTCLScript Display error and close procedure EventAdd error? YES NO Set global variable Display error and close procedure YES GlobalArraySet error? NO Close TCP socket 1 Display TCP close failed EDH0305En1051 — 08/15 YES TCPClose error? 974 NO Display TCP socket 1 closed XPS-Q8 Controller Programmer’s Manual Event occured Open TCP connection 2 Display TCP connection failed YES TCPOpen error? Read global variable Display error and close procedure YES GlobalArrayGet error? Value
Source Exif Data:File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.6 Linearized : No Author : Bernard BARTH Company : MICRO-CONTROLE Create Date : 2015:08:31 11:16:39+02:00 Modify Date : 2015:08:31 11:32:49+02:00 Source Modified : D:20150831091208 Subject : Tagged PDF : Yes XMP Toolkit : Adobe XMP Core 5.4-c005 78.147326, 2012/08/23-13:03:03 Metadata Date : 2015:08:31 11:32:49+02:00 Creator Tool : Acrobat PDFMaker 11 pour Word Document ID : uuid:59845d04-9fdc-436e-9080-51ec337b62a0 Instance ID : uuid:f2da30bd-476b-014e-bf24-499040c464ed Format : application/pdf Title : Description : Creator : Bernard BARTH Producer : Adobe PDF Library 11.0 Keywords : Page Layout : SinglePage Page Mode : UseOutlines Page Count : 990EXIF Metadata provided by EXIF.tools