[西门子] 【中国工控 】西门子S7-1500PLC MODBUS通讯

[复制链接]
查看59428 | 回复0 | 2024-5-15 16:36:34 | 显示全部楼层 |阅读模式
MODBUS MASTER:


    先组态硬件,如下所示:



然后打开OB1,进行编程,如下所示:

先调用初始化的块 MODBUS COMMONLOAD



管脚说明:

REQ: 指令起始于上升沿(0 到 1)。

PORT: 安装并组态完 CM 后,便可在设备组态的“硬件ID”(Hardware ID) 属性中找到 CM 端口值。符号端口名称在 PLC 变量表的“系统常数”(Systemconstants) 选项卡中指定。就是前面提到的硬件标识符

BAUD: 选择数据传输速率:

1 = 300, 2 = 600, 3= 1200, 4 = 2400, 5 = 4800, 6 = 9600, 7 = 19200, 8 = 38400, 9 = 57600, 10 =76800, 11 = 115200 bit/s。所有其它值无效。

PARITY: 选择奇偶校验:

·        0 – 无

·        1 – 奇校验

·        2 – 偶校验

RESP_TO: 响应超时:

5 ms 到 65535 ms - Modbus_Master 等待从站响应的时间(以毫秒为单位)。如果从站在此时间段内未响应,Modbus_Master 将重复请求,或者在指定数量的重试请求后取消请求并提示错误(请参见下文,RETRIES 参数)。

MB_DB:用MODBUS MASTER的背景数据块里面的一部分,如下所示:

对 Modbus_Master 或Modbus_Slave 指令的背景数据块的引用。必须以 Modbus_Master 或 Modbus_Slave 指令的 MB_DB 参数替换 MB_DB 参数(静态,因此在指令中不可见)。



然后调用MODBUS MASTER 的功能块,如下所示:



管脚说明如下所示:

REQ;是脉冲信号,给一次脉冲,收发一次

MB_ADDR:是从站地址

MODE:读写模式,0是读,1是写

DATA_ADDR:对应功能码

LEN:数据长度

DATA_PRA:接收或发送的存储区域

上述是模式和功能码的对应关系

除上述做法,还需要设置一个地方:

打开MODBUS COMMON LOAD的背景数据块,如下所示:





将MODE 设置成4

上述是主站的总结

接下来说一下从站的设置:

前面参数和主站是一样的,就是调用MODBUS SLAVE需要说明一下:



MB_ADDR: MODBUS 的从站地址

MB_HOLD_REG:这对应的是40001的功能码

例如00001的功能码对应的是     Q0.0

10001 ------I0.0

30001-------IW0

其余和主站设置一样.






本帖子中包含更多资源

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

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

本版积分规则