可以把eview系统内配置的数据,以modbus方式转发出去,供第三方系统调用
数据服务配置
表t_modserver_info,配置了modbus数据服务的信息
- 目前仅支持1条记录
- 如果未配置任何记录,则认为对所有eview的数据点提供modbus数据服务,各字段的值为缺省值,即:通讯方式为tcp,端口5020,将自动启用本服务,且会自动为每个tag点生成一个modbus寄存器地址
- conntype:通信方式,支持tcp/serial两种方式。
- tcp表示采用网络连接,此时本程序作为modbustcp服务,按照modbustcp协议提供数据。tcp是缺省值的连接方式
- serial表示采用串口连接,此时本程序作为modbusrtu服务,按照modbusrtu协议提供数据
- connparam:连接参数,配置modbus的端口号
- 当连接方式为tcp时,该字段为tcp服务的端口号。如果未输入,则为5020
- 当连接方式为serial时,该字段为串口号。缺省:????
- enable:是否启用
- 如果为0,表示不启用,此时不进行modbus转发
- 如果为1,表示启用modbus转发服务
- autogenerate:是否自动为每个eview的tag点生成一个地址,填充到t_modserver_tag表中。自动生成字段值为1,手工配置为0。缺省为自动生成
表t_modserver_tag,配置了每个eview变量作为modbus提供的modbus地址
配置每个eview的tag点到modbus寄存器地址之间的转换关系。如果是自动生成的情况,会在服务启动时删除已有的所有变量和modbus寄存器对应关系的记录,并重新为每个eview的变量生成新的记录。
自动生成对应关系时,寄存器地址按照变量名称的字母顺序依次生成,数据类型和modbus寄存器类型对应规则:
- eview变量为bool类型对应到modbus的DO寄存器
- eview其他所有类型,对应到modbus的AO寄存器,该变量占用的寄存器个数,根据变量数据类型和长度自动计算
每个变量和modbus寄存器映射关系的字段属性:
- tagname,eview的变量名称
- registertype,modbus设备寄存器类型,支持AI/AO/DI/DO四种
- startregisterno,寄存器的初始值,第一个寄存器地址是1(不是0)
- description,描述