ABB机器人通过总线实时输出位置给PLC
1. PLC希望实时得到机器人当前位置(XYZ,ABC) ,如何实现?
2.由于传输数据较大,建议通过总线进行传输。
3.此处举例机器人通过PROFINET总线(机器人作为Device) , 实时向PLC发送当前位置( 此处PLC以CODESYS为例)
4.机器人创建若干组信号(此处每个信号使用32位,即4byte)。
5.机器人可以通过定时中断(例如0.2s) ,或者通过多任务在后台读取当前位置并将发送到对应组输出上。
6.由于得到的位置数据为num型(带符号的小数), 为避免传输问题,可以先统一将数据* 1000再取整。
7.由于ABB机器人组输出只能存放非负整数,故我们将个数据以DINT (带符号整数,32位)形式打包并转化为DWORD (不带符号整数,32位)形式进行发送。
8. Setdata指令的实现方式参见通过总线发送实数及负整数。