登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:请教台达ES2的MODBUS通讯问题

点击:539 回复:5

本人第一次用台达的PLC,软件用ISPSOFT。变频器汇川MD200
程序主要测试 读取变频器 运行频率、母线电压、输出电压、输出电流。  写入运行频率、加减速时间
但无论是用延时方式通讯,还是参照手册用M1127计数方式。。读取的数据是正常的,但都在跳变中。。。
只有在程序中保留一条 读取命令时,才不跳变。。。
贴上测试程序,录屏。。D100是已经转换的读取频率,此时正常是5000,但有跳变,而且从D1073到D1077都在跳
附件:
[本地下载]
附件:
[本地下载]
最后修改:2023/11/13 20:10:52
23-11-13 20:09
我帮你把程序贴上来
附件 11111.jpg
附件 2222.jpg
附件 33333.jpg
附件 5555.jpg
23-11-14 07:46
是不是这个原因:因为向变频器写入数据后,变频器会自动回传一条报文,而这个报文被自动写入了收信缓冲区。所以收信缓冲区在正确信息和回传报文之间来回跳动。
最好是使用M1127(好像是这个)通信指令传送接受完毕标志来把读变频器回传的正确报文立即从收信缓冲区取出来放到其它地方,然后再启动写操作。只要在读的过程中M1127没有动作,就不要去读收信缓冲区。
23-11-14 12:47
另外我喜欢用MODRW指令。
23-11-14 12:51

引用 lvpretend 在 2023/11/14 12:47:11 发言【内容省略】

谢谢回复,我按这个思路再改一下再来回复,真有可能是这相原因
因为我完全按照台达手册(DELTA_IA-PLC_DVP_编程实例.pdf),用M1127复位计数的,写出来也是跳变的。
只有在保留一条读取指令的情况下才不变,后面只要加入一条写入就跳。
23-11-14 15:28
谢谢了,确实是这个原因,在读取指令前加上M1127就不跳变了。。
另外ES2在RTU模式下D1703及以后的数据自动转存到D1050了,不需要转换高低位操作了
附件 傲游截图20231114161555.jpg
23-11-14 18:06

工控新闻

更多新闻资讯