1、方案基本情况该方案可适用于3台以上西门子PLC,S7颍骈城茇-200或S7-200Smart之间实现一主多从Modbus通讯协议的无线通讯。适用PLC型号:S7-200和S7-200SMART通讯勘桄佳蟾协议:Modbus-RTU通讯关系:一主8从通讯距离:5KM通讯方式:全数字加密无线传输无线通讯终端:DTD434MC 西门子PLC专用无线通讯终端
2、添加MODBUS库文件S7-200PLC的Modbus通讯,西门子本身没有直接的相关指令,所以需要给STEP7里面添加西门子官方提供的Modbus库文件。添加好库文件后会出现下图所示。点开【库】就会出现下图所示分别打开与Modbus有关的文件夹就会出现下图所示的可以直接调用的指令
3、指令说明S7-200PLC的Modbus通讯,西门子本身没有直接的相关指令,所以需要给STEP7里诹鬃蛭镲面添加西门子官方提供的Modbus库文件。添加好库文件后会出现下图所示。点开【库】就会出现左下图所示,分别打开与Modbus有关的文件夹就会出现右下图所示的可以直接调用的指令。【Modbus Master Port0(v1.2)】通讯口0作为Modbus主站用到的指令。【MBSU_CTRL】通讯口0的Modbus主站初始化指令。【EN】初始化指令必须每个扫描周期都使能【Mode】通讯端口模式设置:1:Modbus 0:默认协议(PPI)【Baud】通讯波特率:我们设置为9600【Parity】校验位:0无校验;1奇校验;2偶校验【Timout】通讯超时时间:我们设置为2000ms
4、主站程序主站程序我们采用分时循环采集的方式来依次读写8个从站的状态。程序编程采用毫秒定时器【T32】来作为系统的通讯采集周期。我们可根据实际需求调整参数大小。若使用GPRS通讯方式,出于对流量成本的考虑,需要根据实际情况调整通讯周期,以免增加不必要的后期费用。
5、从站程序从站程序只需要根据主站的通讯格式设置保持一致,然后再使从站响应指令即可正常通讯。8个从站通讯程序,除地址不一样外,其他的参数均相同,后期可根据实际使用情况调整。
6、指令调用说明(一犬匮渝扮)【Modbus Master Port0(v1.2)】通讯口0作为Modbus主站用到的指令。【M蚱澄堆别BUS_MSG】通讯口0的Modbus主站读写指令。【EN】指令使能【First】指令触发,必须是上升沿触发-|P|-注:这里使能和触发最好使同一个触点【Slave】读写的从站号【RW】读写选择:0读取;1写入【Addr】对应从站的寄存器的Modbus起始地址【Count】访问的寄存器的数量(由起始地址开始)【DataPir】数据指针:写入的数据地址/读回的数据地址【Done】指令完成标志位【Error】错误代码:只在Done为1的时候有效
7、指令调用说明(二犬匮渝扮)【MBUS_MSG】通讯口0的Modbus主站读写指令【Modbus Master Port1(v1.2)】通讯口1作为Modbus主站用到的指令。【MBSU_CTRL_P1】通讯口1的Modbus主站初始化指令。【MBUS_MSG_P1】通讯口1的Modbus主站读写指令。【Modbus Slave Port0(v1.0)】通讯口0作为Modbus从站用到的指令。【MBUS_INIT】通讯口0作为Modbus从站初始化指令。【EN】仅初次上电使能【Mode】通讯端口模式设置:1:Modbus 0:默认协议(PPI)【Addr】作为从站的地址:我们选择01和主站一致【Baud】通讯波特率:我们设置为9600和主站一致【Parity】校验位:0无校验;1奇校验;2偶校验和主站一致【Delay】响应主站指令的延时,一般设置为0【MaxIQ】主站可读写的数字输入输出的最大点数【MaxAI】主站可读写的模拟输入的最大可读写点数【MaxHold】主站可读写的保持寄存器的最大数(字VW)【HoldSt】主站可读写的保持寄存器的起始地址【Done】初始化完成标志位【Error】错误代码:只在Done为1的时候有效
8、指令调用说明(三)【Modbus Master Port1(v1.2)】通讯口1作为Modbus主站用到的指令。【MBSU_CTRL_P1】通讯口1的Modbus主站初始化指令。【MBUS_MSG_P1】通讯口1的Modbus主站读写指令。【Modbus Slave Port0(v1.0)】通讯口0作为Modbus从站用到的指令。
9、指令调用说明(四)【MBUS_SLAVE】通讯口0作为Modbus从站响应主站读写指令。