Assigning a setpos motion job to the channels A, B and C of the SoMotionGenerator (SMG), using the setpos mode Relative.
For more information on the use of channels, refer to Move Commands and Channels.
For more information on the SoMotionGenerator, refer to the PD_SoMotion Generator library.
With the method IF_MovePureSmg - SetposRelativeChannelABC, setpos motion jobs are assigned to the SoMotionGenerator. The reference position (RefPosition) of the carrier on channels A, B and C is modified by the input values i_lrSetposValueA, i_lrSetposValueB and i_lrSetposValueC. With these input values, you can split the carrier position value between the channels or you can shift the carrier position by one complete track length (in positive or negative direction). (For more information on the track length, refer to lrTrackLength.)
Preconditions:
No motion job is active for the carrier.
Example values for sum of setpos values = 0: i_lrSetposValueA = +300, i_lrSetposValueB = -100 and i_lrSetposValueC = -200.
Example values for shifting by one track length of 3700 mm: i_lrSetposValueA = -3500, i_lrSetposValueB = +100 and i_lrSetposValueC = -300.
![]() |
For a visual illustration of the method SetposRelativeChannelABC, refer to the channels ABC video sequence. |
The move command MovePureSmg allows programmers that are experienced in the use of the SoMotionGenerator library to execute special movements.
With the move command MovePureSmg, the carrier uses the positioning or the cam commands of the SoMotionGenerator without considering the other carriers. Take this into account during path planning.
CAUTION | |
---|---|
Do not use the MovePureSmg command in combination with other Move commands for the carrier and ensure that no other move command is active for the carrier before calling the method IF_MovePureSmg - SetposRelativeChannelABC.
Input |
Data type |
Description |
---|---|---|
i_lrSetposValueA |
REAL |
Specifies the relative setpos value of channel A. The reference position of channel A is modified by this value. |
i_lrSetposValueB |
REAL |
Specifies the relative setpos value of channel B. The reference position of channel B is modified by this value. |
i_lrSetposValueC |
REAL |
Specifies the relative setpos value of channel C. The reference position of channel C is modified by this value. |
Output |
Data type |
Description |
---|---|---|
q_xError |
BOOL |
Indicates TRUE if an error has been detected. For details, refer to q_etResult and q_sResultMsg. |
q_etResult |
Provides diagnostic and status information as a numeric value. |
|
q_sResultMsg |
STRING [255] |
Provides additional diagnostic and status information as a text message. |