S7-200 smart 程序里只有一条modbus rtu 读指令,怎么编程?En脚和first脚可以一直ON吗?
钻石用户推荐最佳答案
1、MBUS_MSG En脚和 first 脚不可以一直为ON,因为 first 脚需要用沿触发,如果一直为 ON,则不可能产生沿。
2、只有一条 MBUS_MSG 读指令,可以将这一条指令写两遍,而且两个指令的管脚 Slave、RW、Addr、Count、DataPtr都相同,En、first、Done、Error 不相同,然后利用 Done 位轮循。
虽然看起来程序中用了两个功能相同的 MBUS_MSG 指令,其实它们是分时执行的。
程序结构一定参考链接中最下面的实例,仔细研读,并会体会到第一次触发 MBUS_MSG 及轮循的精华所在。并在以后用到这个经典的MODBUS RTU 通讯实例。这个程序结构是我强烈建议使用的。
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/communication/serial_port/modbus/Master/Master.htm
2、只用一个 MBUS_MSG,可以用定时器分时,最简单的是用 SM0.5 触发 MBUS_MSG。也可以用定时器来做,定时器做时要注意一点,如使用分辨率为 100 MS 的定时器,为确保最小时间间隔至少为 2100 ms,则将 PV 设置为22。用其它分辨率的定时器另当别论。
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/030.html
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc288778.html