Modbus设备配置 & Lua 脚本 & 配置转换

Modbus 设备配置

Siemens_RDF302.json西门子 RD302 温控器
Schneider_TC500.json施耐德 TC500 温控器
JCI_T8600.json江森 T8600 温控器
JCI_T7000.json江森 T7000 系列温控器
ABB_ACS510.jsonABB ACS510 变频器

Lua 脚本

bcd.luaBCD码。每个字节存储0~9, 例如: 0x05090702 = 5972
字节序由“大整数字节顺序”定义。
compat_bcd.lua紧凑式BCD码。每半字节存储0-9, 例如: 0x78695231 = 78695231
字节序由“大整数字节顺序”定义。
m10k.lua每个寄存器存储 -9999 ~ 9999, 例如: 0x1f740a69 = 0x1f74*10000 + 0x0a69 = 80522665
字节序由“大整数字节顺序”定义。
low10th.lua只有一个寄存器, 低字节单位为1/10, 所以数值范围为 0.0 to 255.9 例如: 0x0503 = 5.3
字节序由“”单寄存器字节顺序“定义。
此表达方式在约克TMS2100 风机盘管温控器上发现。

配置转换

转换BASgatewayLX的CSV格式配置文件

转换X2BACnet的XML格式工程文件

转换X2BACnet的XML格式工程文件

X2BACnet(以下简单X2B)的工程文件采用XML格式,其配置软件自带了一部分工程模板,用户可以自行免费下载。本转换工具将其工程文件转为BACRouter的配置文件

在我们网站上直接转换

下载转换工具解压缩后用浏览器打开index.html

几点注意事项:

X2B的配置似乎不做错误较验,比如从站ID可以输入0或65537。转换工具根据我们的规则做了所有校验。

因为底层机制的不同,X2B的”请求帧间隔”与”写值刷新间隔”无法简单映射到BACRouter,所以BACRouter的从站的”Modbus参数”中的时序参数采用默认值,但”回应超时”参数采用X2B通道的“超时时间”。

X2B可以将部分点配置为“单点写“(功能码5或6),另一部分点采用多点写(功能码15或16)。转换中如果发现任一点为多点写,则其它点也全部采用多点写。如果发现任一AO映射到多个保持寄存器,则采用功能码16(这个逻辑与BACRouter相同)

X2B的寄存器地址可以用“.”引用内置的数据处理,如1.sum, 1.hibyte,1.lobyte,转换中将提示采用脚本处理。

X2B几乎允许所有的数据类型,BACnet类型,取位的组合,但大部分在工程上没有意义,工程模板中也找不到用例,转换中将放弃或跳过处理。