西门子plc通讯西门子S7-200 Smart Modbus通信详解,MBUS_CTRL主站初始化

[复制链接]
查看7341 | 回复0 | 2024-5-10 08:29:47 | 显示全部楼层 |阅读模式
西门子200Smart PLC可以做为主站,也可以做为从站,其Modbus通信过程比较简单,下面以做为主站为例,讲解一下:
一、MBUS_CTRL主站的初始化指令



主站通信指令主要设定参数,需要和从站设置成一致才可以正常通信
Baud——波特率,和从站一致
Pairity——奇偶校验模式,0为无校验,1为奇校验,2为偶校验
Port——端口号,自带串口为0,外加信号板为1
Time——超时时间,通常设置为1000ms
Done——完成信号,以位存储
Error——错误代码保存字节,以字节方式存储
二、地址码和功能码是如何确认的



因为我们平时读取的都是保持寄存器,所以地址代码都是40001到49999,其中4是代表此位置是保持寄存器,0001到9999代表的是第几个地址,如果40001代表的是保持寄存器第一个地址,就是0000,然后根据地址代码和读写指令,由200Smart自己决定是03,还是06还是10(16进制)



具体不明白的可以去看我的专栏,现在特价优惠只要一元钱。
三、MBUS_MSG对从站发送读指令



如果对从站发送读指令,那么,我们首先要对发送库函数进行设置
First——发送控制,接通妈发送,注意前面加上升沿
Slave——从站地址,可以10进制表示,也可以16进制表示
RW——0为读,1为写
Addr——地址代码,40001代表的是保持寄存器的第一个地址,即0000
Count——读取或者写入的字数量(注意不是字节数)
DataPtr——读取返回指令保持位置
Done——完成信号,以位表示
Error——错误代码存储,以字节方式保存
四、MBUS_MSG对从站发写入指令



如果对从站发送读指令,那么,我们首先要对发送库函数进行设置
First——发送控制,接通妈发送,注意前面加上升沿
Slave——从站地址,可以10进制表示,也可以16进制表示
RW——0为读,1为写
Addr——地址代码,40001代表的是保持寄存器的第一个地址,即0000
Count——读取或者写入的字数量(注意不是字节数)
DataPtr——写入需要发送数据保存位置
Done——完成信号,以位表示
Error——错误代码存储,以字节方式保存
以上就是西门子200Smart进行Modbus通讯所需要的设置及意义。   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则