初学者实操|PLC MODBUS通讯示例

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

初学者实操|PLC MODBUS通讯示例缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.

一、Modbus通信协议

Modbus协议只有一个主站,可以有1~247个从站。此协议支持传统的RS-232、RS-422、RS-485和以太网设备,许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通信标准。

当控制器设为在Modbus网络上以RTU模式通信,在消息中的每个8Bit字节按照原值传送,不做处理,如63H,RTU将直接发送01100011,这种方式的主要优点是数据帧传送之间没有间隔,相同波特率下传输数据的密度要比ASCII高,传输速度更快。

二、ModbusRTU主站指令

1、Modbus库指令如图1所示,Master为主站0口,Master2为主站1口,Slave为从站,且从站只有0口。

初学者实操|PLC MODBUS通讯示例插图

图1

2.西门子Modbus库主站MBUS_CTRL的主站定义参数,如图2所示。

初学者实操|PLC MODBUS通讯示例插图1

图2

图2中符号说明如下:

EN:一直使能

MODE:允许ModbusCommunication

Baud:通信速率,Baud rate(主从一致),默认9600

Parity:奇偶校验,0无校验,1奇校验,2偶校验(主从一致),默认偶校验

Port:通信端口,0口自带,1口扩展(CM01信号板)

Timeout:最大等待时间单位:ms

Done:完成位

Error:错误代码(当出现错误可以查看软件帮助相对应的错误代码)

西门子Modbus库主站MBUS_MSG的主站信息读写参数,如图3所示

初学者实操|PLC MODBUS通讯示例插图2

图3

图3中符号说明如下:

En:使能

First:首次扫描用沿触发

Slave:slave address(1-247主站默认2号站,从站地址除2以外)

RW:读写操作,0读,1写

Addr:读写地址功能码

初学者实操|PLC MODBUS通讯示例插图3

Count:Quantity

Dataptr:数据指针 (默认指主站而且是以字节的形式显示)

Done:完成位

Error:错误字节(当出现错误可以查看软件帮助相对应的错误代码)

STEP7_Micro/WIN Smart和S7_200SmartCPU支持两种Modbus RTUmaster,对于单个Modbus RTUmaster,使用指令MBUS_CTRL和MBUS_MSG,在进行0口通信时应用。对于第二个Modbus RTUmaster,使用指令MBUS_CTRL2和 MBUS_MSG2,在进行1口通信时应用。如果您在项目中使用两个 Modbus master,则要确保 MBUS_CTRL 和 MB_CTRL2 使用不同的端口号。

MBUS_CTRL写在主站里,不管有多少从站,只写一次。MBUS_MSG 写在主站里,比如有一个从站,主从互相控制,需要2条指令,一个读一个写,有多个从站,就写多个读写指令。

三、ModbusRTU从站指令

  1. 西门子Modbus库从站MBUS_CTRL的从站定义参数,如图4所示。

初学者实操|PLC MODBUS通讯示例插图4

图4

图4中符号说明如下:

En 使能用沿触发

Mode 允许ModbusCommunication

Addr slave address(1-147)

Baud 通信速率波特率(主从一致)默认9600

Parity 奇偶校验0无校验,1奇校验,2偶校验(主从一致)默认偶校验

Port 通信端口0口自带

Delay 延时

MaxIQ 最大输入输出点数256

MaxAI 最大模拟量输入56

Maxhold 最大缓存区

Holdstart 最大缓存区起始地址

Done 完成位

Error 错误字节

Done 完成位

Error 错误字节

2.西门子Modbus库从站MBUS_SLAVE的从站应答参数,如图5所示。

初学者实操|PLC MODBUS通讯示例插图5

图5

四、通信程序编写

ModbusRTU两台PLC互相控制通信示例

ModbusRTU 两台PLC分别用I点相互控制Q点,主站程序如图6所示,从站程序如图7所示。写从站程序需要注意,从站定义需要用沿触发,在系统块记得更改从站PLC站地址。

初学者实操|PLC MODBUS通讯示例插图6

初学者实操|PLC MODBUS通讯示例插图7

初学者实操|PLC MODBUS通讯示例插图8

图6

初学者实操|PLC MODBUS通讯示例插图9

初学者实操|PLC MODBUS通讯示例插图10

图7

ModbusRTU两台PLC星三角通信示例

两台PLC,主站控制从站的星三角启动停止,masterIW0控制从站VW0(I0.0-V0.0启动,I0.1-V0.1停止),主站程序如图1-1图1-2所示,从站程序如图1-3图1-4图1-5图1-6图1-7图1-8所示。

初学者实操|PLC MODBUS通讯示例插图11

图1-1

初学者实操|PLC MODBUS通讯示例插图12

图1-2

初学者实操|PLC MODBUS通讯示例插图13

图1-3

初学者实操|PLC MODBUS通讯示例插图14

图1-4

初学者实操|PLC MODBUS通讯示例插图15

图1-5

初学者实操|PLC MODBUS通讯示例插图16

图1-6

初学者实操|PLC MODBUS通讯示例插图17

图1-7

初学者实操|PLC MODBUS通讯示例插图18

图1-8

ModbusRTU三台PLC星三角通信示例

  1. 三台PLC通信主站、3号从站和4从站,3号和4号之间互相控制两台电机的启停如图2-1所示,控制程序如图2-2图2-3图2-4图2-5图2-6图2-7所示。

初学者实操|PLC MODBUS通讯示例插图19

图2-1

初学者实操|PLC MODBUS通讯示例插图20

图2-2

初学者实操|PLC MODBUS通讯示例插图21

图2-3

初学者实操|PLC MODBUS通讯示例插图22

图2-4

初学者实操|PLC MODBUS通讯示例插图23

图2-5

初学者实操|PLC MODBUS通讯示例插图24

图2-6

初学者实操|PLC MODBUS通讯示例插图25

图2-7

2.三台PLC通信主站、3号从站和4从站,3号和4号之间互相控制两台电机的启停,3号从站控制程序如图2-8图2-9图2-10所示。

初学者实操|PLC MODBUS通讯示例插图26

图2-8

初学者实操|PLC MODBUS通讯示例插图27

图2-9

初学者实操|PLC MODBUS通讯示例插图28

图2-10

3.三台PLC通信主站、3号从站和4从站,3号和4号之间互相控制两台电机的启停,4号从站控制程序如图2-11图2-12图2-13所示。

初学者实操|PLC MODBUS通讯示例插图29

图2-11

初学者实操|PLC MODBUS通讯示例插图30

图2-12

初学者实操|PLC MODBUS通讯示例插图31

图2-13

值得注意的是,要记得更改三号站和四号站在系统块内的地址,从站定义用沿来触发。最后记得在程序块中设置库存储区的分配如图2-14。

初学者实操|PLC MODBUS通讯示例插图32

图2-14

技术术语(共 4 个)—— Click to Expand
Modbus RTU基于串行链路的ModbusProtocol,使用二进制编码和CRC check
function codeModbus功能码指定读/写操作类型,如01读线圈、03读保持寄存器
PLC可编程逻辑控制器,工业自动化控制的核心设备
Baud rate串行通信每秒传输符号数,Modbus RTU常用9600/19200
来源/工具信息 —— Click to Expand
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category Modbus protocol standard / industrial IoT 字数 1976 字 · 阅读约 5 分钟 更新 2026-07-01 永久链接 https://www.modbus.cn/24432.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus debugging tool,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 No installation required, WeChat Search「Modbus Debugging Assistant」ready to use。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.