The YEU MotoLogix solution includes tabulated PLC Motion Programming. They call this method the “PosTable” example. This document will explain how to setup and use the table for simple programming without structuring the motion logic code.
Settings for Each Position Entry
– Position data
– Linear or Joint Motion
– Attributes (Speed, BlendFactor, Acc, Dec)
– UserFrame number
– Tool number
– ActionID (for executing user actions at standstill)
– External axis (Move, Position, Speed)
– Skip current entry
– Skip the remaining entries
Explanation of Execution
YEU created a motion sequencing engine where you just link a table of positions and action codes. A complete trajectory motion is created by entering data in a table (array) instead of programming each motion command. The motion logic is never modified. It will cycle through the table by feeding up to 3 motion commands at a time for blending purposes until it comes to an action code where the robot will stop and perform the action. A few example action codes are provided like opening and closing a gripper. The programmer can easily add new action codes, like triggering a camera.
E-stopping and restarted requires no extra programming. It keeps track of current and preloaded motions to make it easy to continue after an unexpected stop or alarm. The motion engine will resend commands that haven’t been completed yet.
For multiple motion events, the programmer will just link a new PosTable of data to the motion engine. One standard motion subroutine will handle any size of trajectory, such as creating a complete pallet build. This solution is very efficient and requires low memory usage.
If an Action ID Code is included, the robot will come to a stop and execute some custom logic that would need to be added. Some examples of Action Codes:
• Open or Close a Gripper
• Trigger a vision camera for product inspection
• Perform some calculations for next positions
• Wait for a certain condition (e.g. “Product available”)
• Skip/unskip entries
• Jump to a specific index
PLC Data Tag for Each MyPosTable Entry Number
- SkipMove - 1 = Skip this table entry
- LastMove - 1 = This is the last move (ignoring rest of the PosTable)
- TargetType - 0 = Axis position, 1 = TCP position
- SpeedUnits - 0 = % of max, 1 = units/sec
- UseRotationalSpeed - 1 = speed is set for rotational part of motion
- MoveLinear - 0 = Axis move, 1 = Linear move
- MoveExtAxis - 1 = Also move external axis
- Position - Data for the position
- PositionExtAxis - Data for the external axis position
- Speed - Robot speed in % or units
- SpeedExtAxis - External axis speed in % of max
- Acc - Acceleration [20-100%]
- Dec - Deceleration [20-100%]
- BlendFactor - For motion blending [-1 to 8]
- UserFrameNumber - User frame will be set before each motion.
- ToolNumber - Tool number will be set before each motion
- ActionID - Action with standstill: 0 = none, 1 = wait for stepbutton, 2 = close gripper, 3 = open gripper
Comments
0 comments
Please sign in to leave a comment.