如何配置变量

用户可根据需要,修改变量属性。各变量代表的含义及注意事项见下表:

属性

描述

变量名

根据需求自定义变量名称,体现在对应BACnet数据点的 object-name 属性。

寄存器地址

对应Modbus数据点寄存器地址,起始地址是1。

寄存器类型

对应Modbus数据点寄存器数据类型。

数据类型

当配置成输入继电器或输出继电器后,数据类型固定为BOOL。

当配置成输入寄存器或输出寄存器后,数据类型包括FLOAT (3412), SHORT16, WORD16, FLOAT32 (1234), FLOAT32 (2143)和FLOAT (4321),以便兼容不同的 Modbus slave。

  • 示例1:当写入12345时,对应的十六进制值为0x3039,按照SHORT16 (signed short) 转换字节序后,发送和接收顺序如下所示:
    • SHORT16 大端模式 30 39
  • 示例2:当写入12345时,对应的十六进制值为0x3039,按照SHORT16 (unsigned short) 转换字节序后,发送和接收顺序如下所示:
    • WORD16 大端模式 30 39
  • 示例3,当写入287454020时,对应的十六进制为0x11223344, 经过使用不同数据类型转换字节序后,发送和接收顺序如下所示:
    • FLOAT32 (3412) 小端交换字节模式 33,44,11,22
    • FLOAT32 (1234) 大端模式 11,22,33,44
    • FLOAT32(2143) 大端交换字节模式 22,11,44,33
    • FLOAT32(4321) 小端模式 44,33,22,11

最小

根据需求自定义变量最小值设定,体现在对应的BACnet数据点的min-pres-value属性,建议与上级控制软件或控制器对应数据点属性保持一致。

最大

根据需求自定义变量最大值设定,体现在对应的BACnet数据点的max-pres-value属性,建议与上级控制软件或控制器对应数据点属性保持一致。

精度

根据需求自定义变量精度设定,体现在对应的BACnet数据点的resolution属性,建议与上级控制软件和控制器对应数据点属性保持一致。

COV

根据需求自定义变量COV设定,体现在对应的BACnet数据点的cov-increment属性,主要用于BACnet 服务 SubscribeCOV,作为变化量的阈值。

单位代码

根据需求自定义变量单位,体现在对应的BACnet数据点的units属性,与BACnet中单位枚举值域一致,建议与上级控制软件和控制器对应数据点属性保持一致,默认95(no-units)

扫描时间

扫描时间:设定变量对应Modbus寄存器读点属性的轮询周期,Modbus TCP不支持扫描周期功能。

  • T1:轮询周期1秒
  • T2:轮询周期10秒
  • T3:轮询周期300秒
  • 优先级:T1>T2>T3
  • 如果在一个周期里没有轮询完该周期包含寄存器,则顺延,直到该周期所有的寄存器轮询结束为止,再重新按照周期优先级重新轮询,如果高优先周期内包含寄存器过多,会导致设备一直在轮询高优先级周期,低优先级周期会被轮空。

变量选择组功能后,设备将使能“多点读取”功能,自动组合符合条件的变量对应的Modbus 寄存器,节省轮询Modbus 寄存器的时间,提高设备整体性能。

判定为组需同时满足以下条件:

  • 勾选组选项。
  • 变量属性需为只读或读写。
  • 至少使能两个变量。
  • 变量须在同一个设备中。
  • 变量的扫描时间必须一致。
  • 变量的寄存器类型必须一致,但是数据类型可以不一致。
  • 变量的寄存器地址必须是连续的。
  • 组里所有变量的数据长度不超过100 字节,如果大于100字节将按照判定和约束条件重新生成另一个组。
注意
Modbus TCP 下所有寄存器轮询周期必须配置成一致。

否则低优先级周期会被轮空。