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

freefree技术Resources

这篇内容可直接阅读,适合用于基础学习和Search引流。

初学者实操|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模式通信,在消息中的每个8Bitbyte按照原值传送,不做处理,如63H,RTU将直接send01100011,这种方式的主要优点是data帧传送之间没有间隔,相同Baud rate下传输data的密度要比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:允许Modbus通信

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

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

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

Timeout:最大等待time单位:ms

Done:Complete位

Error:Error代码(当出现Error可以View软件帮助相对应的Error代码)

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

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

图3

图3中符号说明如下:

En:使能

First:首次扫描用沿触发

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

RW:读写Operation,0读,1写

Addr:读写addressfunction code

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

Count:quantity

Dataptr:data指针 (默认指主站而且是以byte的形式显示)

Done:Complete位

Error:Errorbyte(当出现Error可以View软件帮助相对应的Error代码)

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

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

三、ModbusRTU从站指令

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

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

图4

图4中符号说明如下:

En 使能用沿触发

Mode 允许Modbus通信

Addr slave address(1-147)

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

Parity 奇even parity0无校验,1odd parity,2even parity(主从一致)默认even parity

Port 通信端口0口自带

Delay 延时

MaxIQ 最大输入输出点数256

MaxAI 最大模拟量输入56

Maxhold 最大缓存区

Holdstart 最大缓存区starting address

Done Complete位

Error Errorbyte

Done Complete位

Error Errorbyte

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

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

图5

四、通信程序编写

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

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

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

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

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

图6

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

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

图7

ModbusRTU两台PLC星三角通信示例

两台PLC,主站控制从站的星三角启动停止,主站IW0控制从站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

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

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

图2-14

技术术语(共 4 个)—— 点击展开
Modbus RTU基于串行链路的Modbus协议,使用binaryCoding和CRC check
function codeModbusfunction code指定读/写OperationType,如01读线圈、03读保持register
PLC可编程逻辑控制器,Automation控制的核心设备
Baud rate串行通信每秒传输符号数,Modbus RTU常用9600/19200
来源/Tools信息 —— 点击展开
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbus通信协议技术社区 Category Modbus protocol标准 / 工业物联网 字数 1976 字 · 阅读约 5 分钟 更新 2026-07-01 永久链接 https://www.modbus.cn/24432.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus DebuggingTools,支持 Modbus RTU/TCP 实时通信debug、register读写、线圈控制、data监控和message分析。 无需安装,微信Search「Modbus DebuggingAssistant」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
RelatedTags
把这篇Resources用于真实项目?

进入Tools中心进行messageParse、CRC verification和设备debug,或Submit requirements获取选型与接入建议。

工程师member

把这篇文章变成可执行的debugResources

开通后可使用高级messageParse、Resources包Download、Code Example、工程案例和优先Technical Support,适合真实项目交付。

高级Tools不限次
Resources包与代码包
Complete Engineering Case Library
优先Technical Support入口

发表回复

您的邮箱address不会被公开。 必填项已用 * 标注