西门子S7-1200 PLC的Modbus RTU寄存器映射表指令

freeFree Technical Resource

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

西门子S7-1200 PLC的Modbus RTU寄存器映射表指令缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 一、Modbus RTU 指令的使用
  2. 2. 二、Modbus RTU 主站编程
  3. 3. 三、详细说明

一、Modbus RTU 指令的使用

西门子S7-1200 PLC的Modbus RTU寄存器映射表指令插图

二、Modbus RTU 主站编程

  • 主站编程需调用 Modbus Comm_LoadModbus_Master指令:
  • Modbus_Comm_Load 指令通过 Modbus RTU 协议对通信模块进行组态;
  • Modbus Master 指令可通过由 Modbus Comm Load 指念组态的端口作为 Modbus 主站进行通信。

Modbus RTU 主站指令 Modbus Comm Load parameter

引脚说明
REQ上升沿触发
PORT通信端口的硬件标识符
BAUD波特率选择: 3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200
PARITY奇偶检验选择: 0-无; 1-odd parity; 2-even parity
FLOW_CTRL流控制选择: 0-(默认值) 无流控制
RTS_ON_DLYRTS 延时选择: 0- (默认值)

三、详细说明

Modbus RTU 主站编程

1.Modbus RTU 主站指令 Modbus Comm_Load parameter

RESP_TO响应超时: 默认值= 1000 ms。Modbus_Master 允许用于从站响应的时间(以毫秒为单位)。
MB_DB对Modbus_Master或 Modbus_Slave 指令的背景数据块的引用。 MB_DB 参数必须与Modbus_Master 或Modbus_Slave 指今中的静态变量MB_DB参数相连。
DONE如果上一个请求完成并且没有错误,DONE位将变为 TRUE并保持一个周期。
ERROR如果上一个请求完成出错,则ERROR位将变为TRUE并保持一个周期。STATUS参数中的错误代码仅在ERROR=TRUE的周期内有效。
STATUS端口组态错误代码,请参考 TIAPortal 软件在线帮助或S7-1200系统手册

2.Modbus RTU 主站指令 Modbus Master parameter

引脚说明
EN使能端
REQTRUE=请求向 Modbus 从站发送数据,建议采用上升沿触发
MB_ADDRModbus RTU slave address。默认地址范围:0至247;扩展地址范围:至65535。值0被保留用于将消息广播到所有 Modbus slave
MODE模式选择: 指定请求类型(读取或写入)。
DATA ADDR从站中的起始地址: 指定 Modbus 从站中将供访问的数据的起始地址
DATA_LEN数据长度:指定要在该请求中访问的位数或字数。
DATA PTR数据指针: 指向要进行数据写入或数据读取的 M区或数据块地址。
DONE完成位:上一请求已完成且没有出错后,DONE 位将保持为 TRUE一个扫描周期时
间。
BUSYFALSE-Modbus Master 无激活命令:TRUE -Modbus Master 命令执行中。
ERROR如果上一个请求完成出错,则ERROR位将变为TRUE 并保持一个周期。STATUS参数中的错误代码仅在ERROR=TRUE的周期内有效。
STATUS端口组态错误代码,请参考 TIA Portal 软件在线帮助或S7-1200 系统手册。

3.MB MODE、MB DATA ADDR、MB DATA LEN、Modbus RTU功能码等之间的关系

MB_MODEMB_DATA ADDRMB_DATA_LENModbus RTU function code操作和数据
01-99991-200001读取输出位
每个请求1-2000个位
010001-199991-200002读取输入位
每个请求1-2000个位
0.40001-49999(等同于400001-409999
.400001-465535
1 – 12503Read and hold register
每个请求1-125个字
030001-399991 – 12504读取输入字
每个请求1-125个字
110001 – 19999105写入输出位
每个请求1位
1.40001-49999(等同于400001-409999
.400001-465535
106写入保持寄存器
每个请求1个字
110001 – 199992 -196815写入多个输出位
每个请求2-1968个位
1.40001-49999(等同于400001-409999
.400001-465535
2-12316写入多个保持寄存器
每个请求2-123个字
210001 – 199991 – 196815写入输出位
每个请求1-1968个位
2.40001-49999(等同于400001-409999
.400001-465535
1 -12316写入保存寄存器
每个请求1-123个字
1111详情见下文
80108详情见下文
81108详情见下文
1040-655351-12504读取输入字
每个请求1-125个字

11 (操作和数据) : 读取服务器的状态字和事件计数器:

1.状态字反映了处理的状态(0-未处理,0xFFFFF-正在处理里);

2.Modbus请求成功执行时,事件计数器将递增。如果执行Modbus功能时出错则服务器将发送消息但不会递增事件计数器。
80(操作和数据) : 通过诊断代码0x0000检查服务器状态(返回循环测试-服务器发回请求

每次调用1个字
81 (操作和数据) : 通过诊断代码0x000A复位服务器的事件计数器:
每次调用1个字

Modbus RTU 从站编程

引脚说明
MB ADDRModbus 从站的标准寻址: 标准寻址范围(1到247),扩展寻址范围(0到65535)
MB_HOLD_REG数据指针,指向 Modbus 保持寄存器的地址,Modbus 保持寄存器可以为 M存储区或DB data area
NDR可用的新数据:
>FALSE: 无新数据。
>TRUE: 表示新数据已由 Modbus 主站写入,如果上一个请求完成并且没有错误,NDR位将变为 TRUE 并保持一个周期。
DRRead switch status:
>FALSE:无新数据。
>TRUE:表示该指令已将 Modbus 主站接收到的数据存储在目标区域中。如果上一个请求完成并且没有错误,DR 位将变为 TRUE 并保持一个周期。
ERROR如果上一个请求完成出错,则 ERROR 位将变为 TRUE 并保持一个周期。 如果执行因错误而终止,则STATUS 参数中的错误代码仅在ERROR=TRUE的周期内有效.
STATUS错误代码

2.Modbus RTU 从站数据区定义

地址区定义说明
输出位Q0.0 开始Q0.0为地址1,Q0.1为地址 2,Q0.7为地址 8,Q1.0为地址 9…
输入位I0.0开始I0.0为地址10001,I0.1 为地址 10002,I0.7 为地址 10008,I1.0 为地10009…
输入寄存器IW0 开始IW0 为地址30001,IW2 为地址 30002,IW4 为地址 30003…
保持寄存器由MB_HOLD_REG定义指针指向的第一个字为 40001,第二个字为40002.
1.例如:MB_HOLD REG为 P#M100.0 WORD8,则 MW100 为 40001,MW102 为 40002,MW104 为 40003…MW114为40008
2.例如: MB_HOLD_REG为优化 DB 中 INT 数组[0…7],数组名为“XXX”AA,则“XXX”.AA[0]为40001,“XXX”AA[1]为40002,“XXX”.AA[2]为40003.“XXX.AA[7]为40008
技术术语(共 5 个)—— Click to Expand
Modbus RTU基于串行链路的ModbusProtocol,使用二进制编码和CRC check
function codeModbus功能码指定读/写操作类型,如01读线圈、03读保持寄存器
registerModbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
Baud rate串行通信每秒传输符号数,Modbus RTU常用9600/19200
保持寄存器Modbus 16位可读写数据,地址从40001开始
来源/工具信息 —— Click to Expand
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category industrial IoT 字数 2881 字 · 阅读约 8 分钟 更新 2024-01-08 永久链接 https://www.modbus.cn/26544.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 *.