嵌入式
返回首页

MODBUS通信异常解决方案

2025-04-10 来源:elecfans

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


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


通信任务如图1所示。

e02561ea-b0b6-11ef-93f3-92fbcf53809c.png

图1:数据交互示意图

硬件准备:

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

e036d93e-b0b6-11ef-93f3-92fbcf53809c.png

图2:USB转串口硬件

e0673534-b0b6-11ef-93f3-92fbcf53809c.png

图3:串口引脚说明

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

e075bd8e-b0b6-11ef-93f3-92fbcf53809c.png

图4:主站初始化指令

e08b44f6-b0b6-11ef-93f3-92fbcf53809c.png

图5:主站数据读写指令

实施步骤:

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

e0b214a0-b0b6-11ef-93f3-92fbcf53809c.png

图6:主站数据读写程序

e0c71d14-b0b6-11ef-93f3-92fbcf53809c.png

图7:主站数据读写程序

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

e0ebd370-b0b6-11ef-93f3-92fbcf53809c.png

图8:分配库存储器

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

e10409c2-b0b6-11ef-93f3-92fbcf53809c.png

图9:端口号查看

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

e126c908-b0b6-11ef-93f3-92fbcf53809c.png

图10:连接设置

e146576e-b0b6-11ef-93f3-92fbcf53809c.png

图11:设置通信参数

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

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

e151770c-b0b6-11ef-93f3-92fbcf53809c.png

图12:数据交换

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

e15f999a-b0b6-11ef-93f3-92fbcf53809c.png

图13:数据交换

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

e17c4db0-b0b6-11ef-93f3-92fbcf53809c.png

图14:数据交换

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

e18735d6-b0b6-11ef-93f3-92fbcf53809c.png

图15:数据交换


进入嵌入式查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • FollowMe 第二季:3 - EK_RA6M5 开发板入门

  • FollowMe 第二季: 1 Adafruit Circuit Playground Express及任务讲解

  • Azure RTOS step by step workshop

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • 从0到1:树莓派与物联网教程(英文)

精选电路图
  • 1瓦四级调频发射机

  • 500W MOS场效应管电源逆变器,12V转110V/220V

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • 12V转110V/220V 500W逆变器

  • DS1669数字电位器

    相关电子头条文章