打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
西门子1200PLC的ModbusRTU通讯指令详解
S7-1200 支持Modbus RTU通信,以下以 CPU1215C DC/DC/DC和CM1241 RS485 模块为例,介绍S7-1200 Modbus RTU 主站通信组态及编程步骤。
1.组态Modbus RTU 通信模块
在硬件目录里找到“通信模块”→“点到点”→“CM1241(RS485)”,双击或拖拽此模块至CPU左侧即可,如下图所示:
2.调用MB_COMM_LOAD指令
为使端口一启动就被设置为Modbus RTU通信模式,可在OB 100中调用“MB_COMM_LOAD”指令。需注意MB_DB输入引脚需指向“MB_MASTER”指令的背景数据块,如下图所示:
MB_COMM_LOAD指令参数意义如下表所示:
引脚
说明
EN
使能端
REQ
在上升沿执行该指令
PORT
通信端口的硬件标识符
BAUD
波特率选择:3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 (注意:所有其它值均无效)
PARITY
奇偶检验选择:0-无;1-奇校验;2-偶校验
FLOW_CTRL
流控制选择:0-(默认值)无流控制
RTS_ON_DLY
RTS延时选择:0-(默认值)
RTS_OFF_DLY
RTS关断延时选择:0-(默认值)
RESP_TO
响应超时:默认值 = 1000 ms。MB_MASTER 允许用于从站响应的时间(以毫秒为单位)。
MB_DB
对 MB_MASTER 或 MB_SLAVE 指令所使用的背景数据块。
DONE
完成位:指令执行完成且未出错置1
ERROR
错误位:0-未检测到错误;1-检测到错误。在参数STATUS中输出错误代码。
STATUS
端口组态错误代码
3.调用MB_MASTER指令
在OB1中调用“MB_MASTER”指令, 如下图所示:
MB_MASTER指令参数意义如下表所示:
引脚
说明
EN
使能端
REQ
在上升沿执行该指令,请求将数据发送或读取到Modbus从站
MB_ADDR
Modbus RTU从站地址。默认地址范围:0至247;扩展地址范围:0至65535。值0被保留用于将消息广播到所有Modbus从站。
MODE
模式选择:指定请求类型
DATA_ADDR
从站中的起始地址:指定Modbus从站中将供访问的数据的起始地址。
DATA_LEN
数据长度:指定要在该请求中访问的位数或字数。
DATA_PTR
数据指针:指向要写入或读取的数据的 M 或 DB 地址(DB访问类型必须是标准与S7-300/400兼容)。
DONE
完成位:上一请求已完成且没有出错后,DONE 位将保持为 TRUE 一个扫描周期时间。
BUSY
0 – 无正在进行的 MB_MASTER 操作;1 – MB_MASTER 操作正在进行
EEROR
错误位:上一请求因错误而终止后,ERROR 位将保持为 TRUE 一个扫 描周期时间。STATUS 参数中的错误代码值仅在 ERROR =TRUE 的一个扫描周期内有效。
STATUS
端口组态错误代码
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
S7-1200与变频器G120之间的Modbus RTU通讯
1200PLC的Modbus(RTU)详细说明(二)
S7-1200使用Modbus RTU指令的注意事项
浅谈西门子ET200SP的串行通信模块的使用
西门子PLC s7-1200 modbus-rtu通信实例编程详细指导
【含程序】一步一步教你西门子S7-1200 MODBUS RTU 通讯温度控制器和变频器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服