Carrier movement with a motion job assigned to the SoMotionGenerator (SMG).
For more information on the SoMotionGenerator, refer to the PD_SoMotion Generator library.
With the method IF_MovePureSmg - TakeJob, motion jobs are assigned to the SoMotionGenerator. The carrier is moved to a given target with the velocity, the acceleration and the jerk that are defined in the corresponding motion job of the SoMotionGenerator. The parameters set with the method SetMotionParameter are not considered.
The move command MovePureSmg allows programmers that are experienced in the use of the SoMotionGenerator library to execute special movements.
Use of the carrier object.
From the setpos modes for defining reference positions (iq_stMotionJob.etSetposMode), only the setpos mode Relative can be used. (For more information on the enumeration ET_SetposMode, refer to the PD_SoMotionGenerator library.)
The possible values for the setpos (iq_stMotionJob.IrSetposValue) are limited to the length of the track. (For more information on the track length, refer to lrTrackLength.)
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 | |
---|---|
With an open track, the carriers could leave the track at the ends. Therefore, mechanical hard stops must be mounted at both ends of an open track.
WARNING | |
---|---|
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 - TakeJob. For more details, refer to the Call Examples.
Input |
Data type |
Description |
---|---|---|
i_etChannel |
SMG channel to which the positioning job is to be assigned. |
Input/Output |
Data type |
Description |
---|---|---|
iq_stMotionJob |
SMG job structure containing the positioning job data. |
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. |
stMotionJob.xClearBufferedJobs = TRUE
stMotionJob.xTerminateCurrentJob = TRUE
...ifMovePureSmg.TakeJob(…)
...ifMovePureSmg.TakeJob(…)
...ifMovePureSmg.TakeJob(…)