技术论坛

 这几天搞TIA1500 Modbus Client踩过的坑

返回主题列表
作者 主题
冬日
奇侠

经验值:8561
发帖数:3432
精华帖:56
楼主    2023-05-29 20:38:29
主题:这几天搞TIA1500 Modbus Client踩过的坑 精华帖 

这几天需要读写一个Modbus从站的,本以为信手拈来,没想到小坑不少,浪费了不少时间。总结一下,给后来者少踩些坑

1,Connect的参数,这个坑最害人。如果是PLC默认的PN口,无所谓,地址一般都是64,但是我增加了一张1542通信卡,地址是587,无论如何设置都出错,搞得自己也莫名其妙。发帖咨询,有个大侠提醒用TSEND_C来配置连接,然后用这个连接试试,果然可以。但是仔细看设置,和我之前的设置完全一样。百思不得其解,后来才搞明白,且看后面的步骤……

2,Modbus从站的ID号,刚开始没找道站号在哪里设置,心想默认应该是1吧,反正对方也是1,姑且不管。后面发现无法通信,搞个软件模拟从站,才发现默认的站号是255,找来找去,发现地址在背景数据块里,把FF改成1解决了,话说做这个块的能用点心不?

3,读/写数据的地址指针,被这个坑浪费好多时间。一开始把地址设置好了,用struck类型,报错,而且故障代码帮助文件也没找到,后来改用Plc数据类型,还是一样的故障。最后改成byte数组竟然可以了,一番折腾后发现,优化块只能用数组!!!而非优化块则无所谓,都可以!!!仔细想一下,第一步的Connect参数问题是不是也是呢?因为TSEND_C配置的时候会生成一个新的DB块,但是内容完全一样,为什么就他可以,我放在DB块里面的就不可以?再试一下,果然,在非优化块里配置TCON_IP_v4就可以了!

4,因为对方从站只支持一个TCP连接,我在想是不是可以调用两次MB_Client,但是使用相同的Connect,事实证明,不可以……

总之,用MB_Client的时候,尽量用非优化块!

If anything can go wrong, it will.
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。