SmarActMCS2Ctrl Class Commands
Name
Input type
Output type
Level
Description
State DEV_VOID DEV_STATE OPERATOR This command gets the device state (stored in its device_state data member) and returns it to the caller.
Status DEV_VOID CONST_DEV_STRING OPERATOR This command gets the device status (stored in its device_status data member) and returns it to the caller.
AxisState DEV_ULONG DEV_USHORT OPERATOR Returns 16-bit value describing channel state:

0 SA_CTL_CH_STATE_BIT_ACTIVELY_MOVING 0x0001
1 SA_CTL_CH_STATE_BIT_CLOSED_LOOP_ACTIVE 0x0002
2 SA_CTL_CH_STATE_BIT_CALIBRATING 0x0004
3 SA_CTL_CH_STATE_BIT_REFERENCING 0x0008
4 SA_CTL_CH_STATE_BIT_MOVE_DELAYED 0x0010
5 SA_CTL_CH_STATE_BIT_SENSOR_PRESENT 0x0020
6 SA_CTL_CH_STATE_BIT_IS_CALIBRATED 0x0040
7 SA_CTL_CH_STATE_BIT_IS_REFERENCED 0x0080
8 SA_CTL_CH_STATE_BIT_END_STOP_REACHED 0x0100
9 SA_CTL_CH_STATE_BIT_RANGE_LIMIT_REACHED 0x0200
10 SA_CTL_CH_STATE_BIT_FOLLOWING_LIMIT_REACHED 0x0400
11 SA_CTL_CH_STATE_BIT_MOVEMENT_FAILED 0x0800
12 SA_CTL_CH_STATE_BIT_IS_STREAMING 0x1000
14 SA_CTL_CH_STATE_BIT_OVER_TEMPERATURE 0x4000
15 SA_CTL_CH_STATE_BIT_REFERENCE_MARK 0x8000
GetPosition DEV_ULONG DEV_LONG64 OPERATOR returns current position in encoder steps
SetMoveMode DEVVAR_LONGARRAY DEV_VOID OPERATOR set move mode

0 : closed loop absolute
1 : closed loop relative
2 : scan mode absolute
3 : scan mode relative
4 : step mode
GetMoveMode DEV_ULONG DEV_LONG OPERATOR get move mode

0 : closed loop absolute
1 : closed loop relative
2 : scan mode absolute
3 : scan mode relative
4 : step mode
GetStepAmplitude DEV_ULONG DEV_LONG OPERATOR Gets step amplitude for open-loop movements.
Value range: 1 - 65535
65535 corresponds to 100V
SetStepAmplitude DEVVAR_LONGARRAY DEV_VOID OPERATOR Sets step amplitude for open-loop movements.
Value range: 1 - 65535
65535 corresponds to 100V
GetStepFrequency DEV_ULONG DEV_LONG OPERATOR Gets step frequency for open-loop movements.

Value range: 1 - 20000 Hz
SetStepFrequency DEVVAR_LONGARRAY DEV_VOID OPERATOR Sets step frequency for open-loop movements.
Value range: 1 - 20000 Hz
SetPosition DEVVAR_LONG64ARRAY DEV_VOID OPERATOR moves axis

the effect of writing a position value depends on the set move mode
SetAutoZero DEVVAR_ULONGARRAY DEV_VOID OPERATOR sets auto zero property
GetAutoZero DEV_ULONG DEV_BOOLEAN OPERATOR gets auto zero property
GetVelocity DEV_ULONG DEV_LONG64 OPERATOR Gets closed loop velocity.
SetVelocity DEVVAR_LONG64ARRAY DEV_VOID OPERATOR Sets closed loop velocity
Value range: 0 - 100000000000
GetHoldTime DEV_ULONG DEV_ULONG OPERATOR Gets hold time for closed -loop movements.
SetHoldTime DEVVAR_ULONGARRAY DEV_VOID OPERATOR Sets hold time (time in ms the position is actively held after reaching the
target posi-tion) for closed-loop movements.
Value range: 0 - 4294967295 (0 disables holding,
max value is for infinite, i.e. hold until motor is stopped)
GetPositionKnown DEV_ULONG DEV_BOOLEAN OPERATOR Finds out whether the physical position of this axis is known.
If false and the motor has an encoder with reference mark,
run command `Home`.
GetAxisType DEV_ULONG DEV_ULONG OPERATOR None.
GetMaxFrequency DEV_ULONG DEV_LONG OPERATOR Gets maximumfrequency for closed-loop movements.
SetMaxFrequency DEVVAR_LONGARRAY DEV_VOID OPERATOR Sets maximum frequency for closed-loop movements.
Value range: 50 - 20000 Hz
GetSensorType DEV_ULONG DEV_ULONG OPERATOR Get sensor type number, check with hardware doc
GetMaxStepLimit DEV_ULONG DEV_LONG64 OPERATOR None.
GetMinStepLimit DEV_ULONG DEV_LONG64 OPERATOR None.
SetMaxStepLimit DEVVAR_LONG64ARRAY DEV_VOID OPERATOR None.
SetMinStepLimit DEVVAR_LONG64ARRAY DEV_VOID OPERATOR None.
Calibrate DEV_ULONG DEV_VOID OPERATOR Perform calibration for channnel . Should only be necessary
if setup was changed (e.g. new / different positioner connected).
Requires encoded positioner, encoder has to be enabled.
SetCalibrationOptions DEVVAR_ULONGARRAY DEV_VOID OPERATOR Set calibration option (used with Calibrate command)

bit 0: Direction
bit 1: Detect Distance Code Inversion
bit 2: Advanced Sensor Correction
bit 8: Limited Travel Range

all other bits are reserved
GetCalibrationOptions DEV_ULONG DEV_ULONG OPERATOR Get calibration option (used with Calibrate command)

bit 0: Direction
bit 1: Detect Distance Code Inversion
bit 2: Advanced Sensor Correction
bit 8: Limited Travel Range

all other bits are reserved
HoldPosition DEV_ULONG DEV_VOID OPERATOR Enables holding the current position by setting the move mode to
closed loop relative movement and then driving by 0 encoder steps.
(c.f. programmer manual, 2.6.4)
Stop DEV_ULONG DEV_VOID OPERATOR Stop movement on axis
SetSensorMode DEVVAR_LONGARRAY DEV_VOID OPERATOR None.
GetSensorMode DEV_ULONG DEV_LONG OPERATOR None.
GetAcceleration DEV_ULONG DEV_LONG64 OPERATOR Gets closed loop acceleration
SetAcceleration DEVVAR_LONG64ARRAY DEV_VOID OPERATOR Sets closed loop acceleration
GetActuatorMode DEV_ULONG DEV_LONG OPERATOR Gets currently set actuator mode
SetActuatorMode DEVVAR_LONGARRAY DEV_VOID OPERATOR None.
Home DEV_ULONG DEV_VOID OPERATOR None.
GetFollowingErrorLimit DEV_ULONG DEV_LONG64 OPERATOR Gets currently set following error limit
SetFollowingErrorLimit DEVVAR_LONG64ARRAY DEV_VOID OPERATOR Sets following error limit
Value range: 0 - 100000000000000
StartStreaming DEV_VOID DEV_VOID OPERATOR Start trajectory streaming.

Make sure attribute TrajectoryData has been written before calling this.

Smaract commands: SA_CTL_OpenStream/SA_CTL_StreamFrame/SA_CTL_CloseStream
SetSearchDirection DEVVAR_ULONGARRAY DEV_VOID OPERATOR sets search direction property
GetSearchDirection DEV_ULONG DEV_BOOLEAN OPERATOR gets search direction property
GetSensorName DEV_ULONG DEV_STRING OPERATOR Get description of sensor type number, check with hardware doc
GetSensorReferenceType DEV_ULONG DEV_ULONG OPERATOR Get sensor reference mark type:

no reference mark: 0
end stop: 1
single mark: 2
distance coded: 3
SetConversion DEVVAR_DOUBLEARRAY DEV_VOID OPERATOR Internal use only
AbortStreaming DEV_VOID DEV_VOID OPERATOR Immediately abort trajectory streaming.

Smaract command: SA_CTL_AbortStream
SetSensorType DEVVAR_ULONGARRAY DEV_VOID OPERATOR Sets sensort type code (use with care!)
SetOffset DEVVAR_LONG64ARRAY DEV_VOID OPERATOR Set logical scale offset in encoder steps (Property SASA_CTL_PKEY_LOGICAL_SCALE_OFFSET)
GetOffset DEV_ULONG DEV_LONG64 OPERATOR returns current logical scale offset (Property SASA_CTL_PKEY_LOGICAL_SCALE_OFFSET)
SetLogicalScaleOffset DEVVAR_LONG64ARRAY DEV_VOID OPERATOR Since it`s almost impossible to set the offset to a precise value using
the axis devices Calibrate command (because the positioner will
constantly waggle a bit and the current position is used to
calculate the offset) you can use this to set the offset to an absolute value.
SetLogicalScaleInversion DEVVAR_ULONGARRAY DEV_VOID OPERATOR sets logical scale inversion (SA_CTL_PKEY_LOGICAL_SCALE_INVERSION),
0 = not inverted, 1 = inverted
GetLogicalScaleInversion DEV_ULONG DEV_BOOLEAN OPERATOR Gets currently set logical scale inversion, 0 = inverted, 1 = not inverted
GetLogicalScaleOffset DEV_ULONG DEV_LONG64 OPERATOR currently set offset