设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
smart 200 modbus RTU通信实例
返回列表
发新帖
[西门子]
smart 200 modbus RTU通信实例
[复制链接]
20381
|
0
|
2024-5-11 07:24:05
|
显示全部楼层
|
阅读模式
modbusRTU报文含义如下:
某激光测距传感器与smart 200通过modbusRTU通信。配置如下:
波特率:9600
校验位:NONE
数据位:8 位
停止位:1 位
地址:16#16 通信格式如下:
其中需要访问缓冲距离值和连续测量距离值。
smart 200 modbus通信含义如下:
a. EN 使能: 同一时刻只能有一个读写功能(即 MBUS_MSG)使能
注意:建议每一个读写功能(即 MBUS_MSG)都用上一个 MBUS_MSG 指令的 Done 完成位来激活,以保证所有读写指令循环进行(见例程)。
b. First 读写请求位: 每一个新的读写请求必须使用脉冲触发
c. Slave 从站地址: 可选择的范围 1 - 247
d. RW 从站地址: 0 = 读, 1 = 写
注意:
1. 开关量输出和保持寄存器支持读和写功能
2. 开关量输入和模拟量输入只支持读功能
e. Addr 读写从站的数据地址:
选择读写的数据类型
00001 至 0xxxx - 开关量输出
10001 至 1xxxx - 开关量输入
30001 至 3xxxx - 模拟量输入
40001 至 4xxxx - 保持寄存器
f. Count 数据个数 通讯的数据个数(位或字的个数)
注意:Modbus主站可读/写的最大数据量为120个字(是指每一个 MBUS_MSG 指令)
g. DataPtr 数据指针:以此数据地址开始以此读取count个数。
1. 如果是读指令,读回的数据放到这个数据区中,count表示放的个数。
2. 如果是写指令,要写出的数据放到这个数据区中
h. Done 完成位 读写功能完成位
i. Error 错误代码: 只有在 Done 位为1时,错误代码才有效
0 = 无错误
1 = 响应校验错误
2 = 未用
3 = 接收超时(从站无响应)
4 = 请求参数错误(slave address, Modbus address, count, RW)
5 = Modbus/自由口未使能
6 = Modbus正在忙于其它请求
7 = 响应错误(响应不是请求的操作)
8 = 响应CRC校验和错误
-
101 = 从站不支持请求的功能
102 = 从站不支持数据地址
103 = 从站不支持此种数据类型
104 = 从站设备故障
105 = 从站接受了信息,但是响应被延迟
106 = 从站忙,拒绝了该信息
107 = 从站拒绝了信息
108 = 从站存储器奇偶错误
首先我们要外接485模块进行通信。需要进行组态。
编写程序
1、根据配置初始化主站。配置如下,波特率:9600 校验位:NONE 数据位:8 位 停止位:1 位 地址:16#16
2、根据报文格式进行主站编程,将读取数据放入VB200 VB204。
报文格式如下:
程序如下:
3、最后要对所有辅助继电器进行复位,形成循环闪烁电路。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
czhtt
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』