维纶用宏指令写入两个MODBUS站不成功 点击:660 | 回复:4



tuhuikao

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 12回
  • 年度积分:0
  • 历史总积分:77
  • 注册:2013年9月17日
发表于:2014-06-09 20:49:45
楼主


macro_command main()
int a
a=1
SetData(a, "MODBUS RTU", 6x, 1#8193, 1)
SetData(a, "MODBUS RTU", 6x, 2#8193, 1)

end macro_command

 

 

1号跟2号站都写入1 ,发现只有1号站能写入,是怎么回事,分开来用两个宏分别写入是都能成功的




runljz

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 159回
  • 年度积分:45
  • 历史总积分:4071
  • 注册:2009年7月13日
发表于:2014-06-10 09:20:52
1楼

你的变量类型与8193的类型是一样的吗?int型变量是32位有符号整型。你的8193的数据数类型也是INT型吗?

tuhuikao

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 12回
  • 年度积分:0
  • 历史总积分:77
  • 注册:2013年9月17日
发表于:2014-06-10 20:48:16
2楼

对啊。单独写我也是定义int 的,能写进去的

runljz

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 159回
  • 年度积分:45
  • 历史总积分:4071
  • 注册:2009年7月13日
发表于:2014-06-10 21:19:57
3楼

你确认你的数据类型就是int型。我建议你将变量改为short型测试一下吧。

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 455回
  • 年度积分:0
  • 历史总积分:1000
  • 注册:2008年1月09日
发表于:2014-06-25 21:20:27
4楼

估计是两条通信指令不能放在同一个宏中,通信是需要时间的


热门招聘
相关主题

官方公众号

智造工程师