三菱的ABS绝对位置系统用S7-200如何编程读取?
问题补充:
三菱的ABS数据是这样发送的(共发送32位二进制ABS数据+6位二进制和效验数据):
① PLC在内部伺服开启的上升沿,将ABS传送模式(ABSM)和伺
服开启(SON)置ON。
② 伺服放大器收到ABS传送模式信号,检测并计算绝对位置后,将ABS发送数据准备完毕信号(ABST)置ON,并告诉PLC发送数据已经准备完毕。
③ PLC收到ABS发送数据准备完毕(ABST)信号后,将ABS请求(ABSR) 置ON。
④ 伺服放大器收到ABS请求信号(ABSR)后,输出ABS低2位数据并将ABS发送
数据准备完毕(ABST) 置OFF。
⑤ PLC确认ABS发送数据准备完毕信号(ABST)为OFF(已经输出ABS 2位数据)
后,读取ABS低2位,随后将ABS请求信号(ABSR)置OFF。
⑥ 伺服放大器将ABS发送数据准备完毕信号(ABST)置ON后,准备下一次传送。
随后重复3~6的操作,直到完成32位数据和6位和校验数据的发送为止。
⑦ PLC和校验后,将ABS传送模式信号(ABSM)置OFF。如果在数据发送过程
中ABS传送模式信号(ABSM)已经为OFF,ABS传送模式中断。
补充:也就是说PLC要分16次收完一个32位的1111010101010……
然后把16个2位二进制数相加,再跟伺服放大器发送的和效验数据作比较,如果相同表示绝对位置输出正确。把这个32位的二进制数转换为十进制数,就是想要的的ABS绝对位置数据了。
最佳答案
读取什么?
我倒是写过读数据的例子,和你的有点差别吧
给个信号,上位给个响应信号,读低2位数据,读完复位信号,将数据左移2位
再次按上面方法读取,读了64位的数据
感觉和你的差不多
补充:
程序已经发给你了
提问者对于答案的评价:
多谢兄弟了!!!!
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc358616.html