Hi everyone. Been banging my head against a wall trying to figure out tracking on a servo driven conveyor. I already have a tracking array setup with the correct size for the number of fixtures on the conveyor. So let's say my tag is TrackingData[X] where X in this case would be the position on the conveyor. Right now X is 15 since there are 15 fixtures on the conveyor with a spacing of 40" between each fixture. So I have the data shifting pretty well as the conveyor moves using a sensor that is triggered at the start of the conveyor every time a fixture passes it. Data shifts from TrackingData[1] to TrackingData[2] and then TrackingData[2] to TrackingData[3]; it actually starts from the end so as not to overwrite data but this part works and i'm not concerned about it.
Now for the challenging part(to me). There are certain operations being carried out by robots down the line. The robots track the servo position of the conveyor so they can work on the part as it moves down the line without stopping. The problem this causes for me is that a robot may not necessarily be finishing work on a certain part in the same position on the conveyor. For example, theres a robot that torques bolts on the part in the middle of the conveyor. Once it's done doing its work, it would turn on a complete bit in the respective TrackingData position. This could happen in TrackingData[7] or TrackingData[8] depending on if the line was paused or line speed.
Anyone ever had to implement tracking for some similar application? I have the servo position for the conveyor and i know the rough count limit for each position on the array but I'm not sure how to put these together to make it work. If the line was able to index a set distance, stop and allow work to be completed before indexing again I'd be done already. But unfortunately I guess this line needs to be moving continuously. Any help would be greatly appreciated. And of course i can elaborate further if necessary.
If it helps, the robots are Fanuc robots and the servo is actually a Fanuc Power Motion servo so the counts are going straight to the robots.
Now for the challenging part(to me). There are certain operations being carried out by robots down the line. The robots track the servo position of the conveyor so they can work on the part as it moves down the line without stopping. The problem this causes for me is that a robot may not necessarily be finishing work on a certain part in the same position on the conveyor. For example, theres a robot that torques bolts on the part in the middle of the conveyor. Once it's done doing its work, it would turn on a complete bit in the respective TrackingData position. This could happen in TrackingData[7] or TrackingData[8] depending on if the line was paused or line speed.
Anyone ever had to implement tracking for some similar application? I have the servo position for the conveyor and i know the rough count limit for each position on the array but I'm not sure how to put these together to make it work. If the line was able to index a set distance, stop and allow work to be completed before indexing again I'd be done already. But unfortunately I guess this line needs to be moving continuously. Any help would be greatly appreciated. And of course i can elaborate further if necessary.
If it helps, the robots are Fanuc robots and the servo is actually a Fanuc Power Motion servo so the counts are going straight to the robots.