Hello,
I am working on a pick and place application where items come to the robot in a conveyor which moves in discreet steps. Right now I am using an incremental encoder and a Siemens PLC to count the encoder pulses, transmit them to the robot using Profinet and the robot uses a cyclical interrupt to update the position of one of its bases so that it moves with the conveyor.
This approach works right now because the robot only acts when the conveyor has stopped moving so when the robot begins executing a motion instruction (for example SPTP point WITH $BASE=movingBase) the base position has already been updated. The problem is that if the conveyor moves while the robot is executing a motion comand, the motion is not updated during its course.
I'm wondering if it's possible for the motion to be updated (every 50-100ms would be fine) with the data from the encoder. From what I've read in the manuals when the Advance Run pointer reaches a motion instruction it already calculates the path and that's why it doesn't update in my case. I know there are software packages like ConveyorTech and RSI that can be used but they're really expensive so I'm looking for another solution.
Thank you