MB1 Driver V7.x 不能用Modbus 16命令同时写入多个寄存器? 点击:1722 | 回复:0



tom_2000

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 5回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2001年7月06日
发表于:2003-10-15 14:32:00
楼主
MB1 Driver V7.x 在修改设备参数时遇到问题,新版的MB1如何用Modbus 16命令同时写入多个寄 存器? 我的配置如下: 运行环境: WinNT 4.0, Fix6.15, MB1 Drv V7.16b 通道配置Channel1:Modbus RTU, Master Mode 设备配置Device1: Output Mode: Group Write 数据块配置Datablock1:Start:40003, End:40006, Address:4, Deadband:0 Disable Output: Not Checked Latching Data: Not Checked Enable Block Writing: Not Checked FIX Database配置: 点名: TEST, 类型:AR, IO地址:Device1:40003, 允许输出 硬件设备:Schneider智能仪表,其中地址40003 - 40006为设备的日期及时钟,可读写,但写 入时只支持Modbus 16命令,即必须用Modbus 16命令将日期及时钟同时写入到4个寄存器。 以上配置在MB1 Driver V6.x下一切正常,FIX:TEST.F_CV 可以正确读写,日期及时钟修改正 常。 问题: 在MB1 Drivier V7.16b中,问题如下: FIX:TEST.F_CV 可以读数正常,但无法写入,即无法修改数据。用DataScope查看,发现在写 入40003数据时,MB1竟然使用的是06命令,01 06 00 02 00 01 xx xx xx xx,从设备返回的字 节看,是设备不支持06命令,只支持16命令,所以无法写入。 但在MB1 V6.x 下,所有设置不变,在Mission Control中查看,在修改FIX:TEST.F_CV时, MB1使用的是16命令,即01 10 00 02 xx xx xx xx xx xx xx xx xx xx xx, 此时设备修改数 据成功。 为了让MB1 V7.x用16命令写数据,我又反复试验了几种情况: 1. 将MB1 的Datablock1 的Enable Block Writing 选中,结果:TEST数据点在写入时MB1 没有如何反应,既不发16命令,也不发06命令。 2. 将MB1 的Device1 的Output 模式修改为Force Group Writing, 结果:写入时确实是 用了16命令,但是每次只写入一个寄存器,而不是同时写入4个寄存器,此时设备也不支持,数据 修改失败。 3. 将MB1 的Device1 的Output 模式修改为Single Writing, 结果:写入时用的是06命 令,数据修改失败。 根据MB1的帮助文件,V7.x 也是支持16命令的,肯定是哪地方设置不对,各位有经验的请指点迷 津,多谢了。


热门招聘
相关主题

官方公众号

智造工程师