采用两个控制器通过交换机网口互联。
主端控制器IP:192.168.0.11
从端控制器IP:192.168.0.36
使用MODBUSM_DES2指令建立主站和从站的通讯连接。
分别使用ZDevelop软件连接这两个控制器,下载程序后查看运行效果。
主端程序:
MODBUS_REG(0)=0
MODBUSM_DES2($1 , 20, "192.168.0.36") '主端与从端建立连接,从站站号1,控制器IP不能相同
WHILE 1
FOR i =0 TO 10
MODBUS_REG(0) = i
MODBUSM_REGSET(0,1,0) '主端数据写入从端
MODBUS_REG(0) = 99
MODBUSM_REGGET(0,1,0) '主端从从端读取数据
IF MODBUS_REG(0) <> i THEN '判断MODBUSM_REGGET(0,1,0)是否读取成功
PRINT "modbus_reg(0)=" MODBUS_REG(0), "modbusm_state=" MODBUSM_STATE
ENDIF
NEXT
WEND
END
从端程序:
ADDRESS=1 '从端站号
MODBUS_REG(0)=0
WHILE 1
IF MODBUS_REG(0) <> 0 THEN
PRINT MODBUS_REG(0)
END IF
WEND
END
运行效果:
主端先将数据传给从端,修改主站数据后,再从从端获取数据,获取数据成功,IF条件不满足,打印不执行。
从端接受来自主端的数据,改变了MODBUS_REG(0)的值,并循环打印。
楼主最近还看过