MODBUS通信异常解决方案

描述

在实际的工业自动化设备应用中,各种通信是必不可少的,比如PN通讯、S7通信、MODBUS TCP通信、MODBUS通信等等;而使用最广的实属MODBUS通信了,毕竟MODBUS是一款公开、免费、通用的通信协议;可往往很多时候在工业现场进行设备调试时,偶尔会无故导致通信失败或根本通信不上,而此时借用一个调试工具来进行测试到底可能存在的因素在哪;其次,作为初学者而言,想学习MODBUS通信,在不增加通信仪表的情况下也可以借助调工具进行测试学习。

下面通过西门子200SMART PLC作为MODBUS主站,借助调试工具作从站进行通信测试。

通信任务如图1所示。

通信

图1:数据交互示意图

硬件准备:

RS485转USB接头一个、RS485公头一个、电缆线2根,如图2所示;PC电脑一台、200SMART一台、通信网线一根。CPU本体端口引脚说明如图3所示。

通信

图2:USB转串口硬件

通信

图3:串口引脚说明

通信指令:西门子200SMART库指令自动集成MODBUS通讯库指令,根据不同的端口调用不同的库指令 本示例会用到的2条主站指令,图4为主站初始化指令;图5为主站数据读写指令。

通信

图4:主站初始化指令

通信

图5:主站数据读写指令

实施步骤:

1.在SMART侧调用MODBUS主站库指令进行编程,如图6/7所示。

通信

图6:主站数据读写程序

通信

图7:主站数据读写程序

2.通信程序编写完成后需要分配286个V存储区用于内部运算,如图8所示。

通信

图8:分配库存储器

3.下载程序后进行测试,需要把图2的硬件USB一端插在电脑端,RS485公头插在CPU本体串口上面;插接好后在电脑管理器中查看具体的COM口。

通信

图9:端口号查看   

4.打开Modsim32调试软件,在连接设置中选择与图9匹配的端口6,如图10所示;选择连接端口后会弹出协议参数设置对话框,如图11所示。需要注意,通信参数务必和初始化指令的参数一致才行。

通信

图10:连接设置

通信

图11:设置通信参数

5.在图10中的“文件”菜单中选择新建,device ID表示从站地址,设置为2。

第一组数据读取从站40001(VW300-VW308)开始的连续5个字的数据放在主站VW200开始的5个字中,在调试软件中分别在40001连续的5个字里面写数据,则在200SMART这边监控VW200-VW208的数据是一样的,如图12所示。

通信

图12:数据交换

第二组数据主站I0.0连续8个位的状态写给从站Q0.0连续的8个位,当强制I0.2和I0.4时,从站0003 0005的状态1;如图13所示。

通信

图13:数据交换

第三组读取从站QB6的数据存在主站VB210中,在调试软件中分别把Q6.0 Q6.1置位为1,在SMART侧VB210的数据为3,如图14所示。

通信

图14:数据交换

第四组读取从站AIW18的数据存在主站VW212中,在调试软件中把30010设置为457的值后,在SMART侧VW212的数据为457,如图15所示。

通信

图15:数据交换

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分