登录
首页 PLC论坛 施耐德电气PLC
回帖 发帖
正文

主题:施耐德EcoStruxure Machine Expert - Basic通讯编程问题

点击:2682 回复:6

一控制项目,想使用1台TM200做主站,多台TM100做从站组网通讯。目前暂时1主2从进行通讯测试,主站使用从远程设备读取数据 (%READ_VAR),向 Modbus 设备写入数据 (%WRITE_VAR)2个功能块来读写2个从站的数据。开始想的简单,不论读还是写功能块,只要找一个上升沿触发脉冲激活块就行,剩下的事情是块干的事情。结果发现,一个上升沿只能读一次,要连续进行读操作,需要不断给块%READ_VAR引脚“Execute”给脉冲信号。
这样的话,施耐德TM200/100组网通讯,主站使用读取数据 (%READ_VAR)和写入数据 (%WRITE_VAR)块,编程时是不是要做成Modbus的轮询机制?即就是先完成1#从站读,使用(%READ_VAR)的引脚“Done”完成位触发1#从站写,然后使用1#从站 (%WRITE_VAR)的引脚“Done”完成位触发2#从站读……这样依次轮询到最后一个站的写完成位再次触发1#从站读操作。如果这样,那对编程技术要求就高了。
做过的说说,如能推荐一个通讯例子程序,或者发一个自编的例子程序,不胜感激!
20-07-27 09:38
换句话说:不能同时激活1个以上的 (%READ_VAR)和(或)(%WRITE_VAR)块。
对否?
最后修改:2020/7/27 10:09:20
20-07-27 10:08
嗯,需要做轮询来读取,我附件里有些例子,希望能够帮助到你。
附件:
[本地下载]
附件:
[本地下载]
20-08-03 17:03
非常感谢!我好好研究一下。
以后还得麻烦您多多指导。
20-08-04 11:38
从execute的上升沿触发BUSY状态来看的确需要不断的用上升沿触发指令,实际测试下来也是如此,如果execute一直维持true不会收到新的报文一定要上升沿触发才能接收到新的报文,看来只能轮巡了或者对通信实时性要求不高的情况下定时触发
附件 屏幕截图 2021-04-29 094640.jpg
21-04-29 09:51
请问,用EcoStruxure Machine Expert-base的仿真器仿真PLC,用一个串口modbus调试助手,能够在电脑上进行modubs通讯仿真么?谢谢!
21-08-05 21:00
谢谢分享!!!!
24-09-03 17:06

工控新闻

更多新闻资讯