多个控制器之间还通过MODBUS协议通讯 点击:1553 | 回复:1



正运动技术

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:267帖 | 328回
  • 年度积分:50
  • 历史总积分:918
  • 注册:2020年9月10日
发表于:2021-12-10 14:05:25
楼主

采用两个控制器通过交换机网口互联。

主端控制器IP192.168.0.11

从端控制器IP192.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)的值,并循环打印。




楼主最近还看过



正运动技术

  • 精华:0帖
  • 求助:1帖
  • 帖子:267帖 | 328回
  • 年度积分:50
  • 历史总积分:918
  • 注册:2020年9月10日
发表于:2021-12-10 14:05:46
1楼

登陆正运动技术官网 www.zmotion.com.cn  或拨打  400-089-8936 获取更多学习资料


热门招聘
相关主题

官方公众号

智造工程师