
S7-1500MODBUS的通讯
MODBUSMASTER:
先组态硬件,如下所示:

然后打开OB1,进行编程,如下所示:
先调用初始化的块MODBUSCOMMONLOAD

管脚说明:
REQ:指令起始于上升沿(0到1)。
PORT:安装并组态完CM后,便可在设备组态的“硬件ID”(HardwareID)属性中找到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=115200bit/s。所有其它值无效。
PARITY:选择奇偶校验:
·0–无
·1–奇校验
·2–偶校验
RESP_TO:响应超时:
5ms到65535ms-Modbus_Master等待从站响应的时间(以毫秒为单位)。如果从站在此时间段内未响应,Modbus_Master将重复请求,或者在指定数量的重试请求后取消请求并提示错误(请参见下文,RETRIES参数)。
MB_DB:用MODBUSMASTER的背景数据块里面的一部分,如下所示:
对Modbus_Master或Modbus_Slave指令的背景数据块的引用。必须以Modbus_Master或Modbus_Slave指令的MB_DB参数替换MB_DB参数(静态,因此在指令中不可见)。
然后调用MODBUSMASTER的功能块,如下所示:
管脚说明如下所示:
REQ;是脉冲信号,给一次脉冲,收发一次
MB_ADDR:是从站地址
MODE:读写模式,0是读,1是写
DATA_ADDR:对应功能码
LEN:数据长度
DATA_PRA:接收或发送的存储区域
上述是模式和功能码的对应关系
除上述做法,还需要设置一个地方:
打开MODBUSCOMMONLOAD的背景数据块,如下所示:
将MODE设置成4
上述是主站的总结
接下来说一下从站的设置:
前面参数和主站是一样的,就是调用MODBUSSLAVE需要说明一下:
MB_ADDR:MODBUS的从站地址
MB_HOLD_REG:这对应的是40001的功能码
例如00001的功能码对应的是
10001------
30001-------IW0
其余和主站设置一样.