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 :
PositioniWidthi
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 : 990
EXIF Metadata provided by EXIF.tools