设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子1200PLC的ModbusRTU通讯指令详解
返回列表
发新帖
[西门子]
西门子1200PLC的ModbusRTU通讯指令详解
[复制链接]
87765
|
0
|
2024-4-14 23:30:35
|
显示全部楼层
|
阅读模式
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
端口组态错误代码
扫描下方二维码
助你成为优秀的电气工程师
▼
左老师:18073180632(同微信)
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
qqboy
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』