版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

modbus驱动根据协议不同,分为两个驱动,请根据实际情况配置:

  • modbusRTU,用于通过窗口通信modbusRTU,用于通过串口通信
  • modbusTCP,用于通过网口通信

1. ModSim和ModScan使用

...

  • 设备参数配置
  • 设备参数1:站号或从级地址,通常用于modbusrtu以区分不同设备。如果设备未说明,可不输入如果设备未说明,可不输入,此时缺省值为:1
    • 注意,站号在设备可以设置,在变量地址也可以指定!指定方法:X#TYPE:nnnn,如5#AO:1001,表示5号子站的AO:1001地址
  • 设备参数2:无或者0表示按正常指令;1表示多寄存器指令。通常不需要填写
  • 设备参数3:每个数据块自动组块时的最大字节数。缺省为230个字节。通常不需要填写
    • 例外情况包括:北辰模块有时候,只能取98个寄存器(196个字节),此时如果读取不到就需要调整这个值
  • 页面配置方式如下:
  • 点击保存按钮即可  下方数据库配置,自行忽略 
  • modbustcp,通过网络方式配置的数据库示例:
  • modbusrtu,网关中配置示例,网关第一个串口为/dev/ttyO1:
  • modbusrtu,windows中配置示例,windows第一个串口为COM1:

4. 变量配置

在表t_device_tag中配置点名。tag中配置点名。格式:[站号#]数据块类型:块内偏移[.位]

  • 点名格式为:[站号#]数据块类型:块内偏移[.位]
    • 数据块类型:AI、AO、DI、DO。其中AI、AO为字寄存器,每个表示2个字节;DI、DO为位寄存器,每个表示1个位(bit)。
    • 站号#,表示指定站号,如果没有则取设备参数中配置的站号
    • .位,表示取第N位
  • 点名格式为:数据类型:地址
  • 数据块类型:AI、AO、DI、DO
  • 地址从1开始,如AI:1表示ai类型地址为1的寄存器的值。
  • 如果需要寄存器的一个位,则用AI:1.0
  • 常用示例:
    • AO:1001,AO类型的第1001个字寄存器
    • AO:1001.15,AO类型的第1001个字寄存器的第15位(0....15位)
    • DO:1001,DO类型的第1001个位寄存器
    • 2#AO:1001,2号子站AO类型的第1001个字寄存器
    • 2#AO:1001.15,2号子站AO类型的第1001个字寄存器的第15位(0....15位)
    • 2#DO:1001,  2号子站DO类型的第1001个位寄存器



三、 测试

  • modsim工具是一个可以模拟真实设备的程序。程序下载地址:ftp://ftp.peakinfo.cn/software/modbus/    该程序不需要安装,双击即可:
    •  
    • 打开ModSim,选择数据类型为Holding Registers, 对应数据库中的AO类型的点
  • 如果上面启动eview-server时,点击的是bin/pkservermgr.exe,该步骤不用做:
    • 启动bin\start_pkmemdb.bat,
    • 启动bin\pknodeserver.exe,将点写入内存数据库中
  • 启动bin\pktagmonitor.exe,用于检测点值
  • 修改40001的点值,观察exe的值得变化

...