西门子S7-1500PLC MODBUS通讯

S7-1500 MODBUS的通讯

MODBUS MASTER:

  1. 先组态硬件,如下所示:
西门子S7-1500PLC MODBUS通讯

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

先调用初始化的块 MODBUS COMMONLOAD

西门子S7-1500PLC MODBUS通讯

管脚说明:

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 参数(静态,因此在指令中不可见)。

西门子S7-1500PLC MODBUS通讯

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

西门子S7-1500PLC MODBUS通讯

管脚说明如下所示:

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

MB_ADDR:是从站地址

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

DATA_ADDR:对应功能码

LEN:数据长度

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

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

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

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

西门子S7-1500PLC MODBUS通讯
西门子S7-1500PLC MODBUS通讯

将MODE 设置成4

上述是主站的总结

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

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

西门子S7-1500PLC MODBUS通讯

MB_ADDR: MODBUS 的从站地址

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

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

10001 ------I0.0

30001-------IW0

其余和主站设置一样.


分享到:


相關文章: