数据类型
主机数据类型
当配置一个KNX开关通道的数据类型时,基本格式如下:
switch=发送地址+接收地址:数据类型
主机支持的数据类型如下:
- 1-bit数据类型, 统一使用1.001
- 4-bit数据类型, 统一使用3.007/3.008
- 1-byte unsigned value, 统一使用5.001(0-100%), 5.005(0-255%)
- 1-byte signed value, 统一使用6.001
- 2-byte unsigned value, 统一使用7.001. (注: 7.010为特殊数据类型, 适配HDL控制与反馈不一致的色温灯, 详见KNX灯光的对接说明)
- 2-byte signed value, 统一使用8.001.
- 2-byte float value, 统一使用9.001.
- 17.001/18.001, 统一使用5.005, 注意17.001/18.001与5.005的区别, 如下:
- 17.001/18.001和5.005都是1byte数据类型
- 17.001/18.001的值减去1是5.005的值
- 例如, 17.001/18.001的场景号值为1时,其对应的5.005的值是0。17.001/18.001的场景号值为2时,其对应的5.005的值是1。依此类推。
- 19.001, 主机定时发送日期和时间到KNX总线.
- 其他数据类型, 如有需要, 请联系技术支持
ETS数据类型说明
同一个组地址,为什么ETS里显示的值,和APP上显示的值不一样?这个问题,涉及到KNX总线上数据的传输机制,与ETS上对数据的解析机制。
其实,数据在KNX总线上是以16进制数据的形式进行传输,有数据长度之分,但没有细分到ETS上的数据类型这种程度。当一个1 byte的组地址数据以5.001的数据类型从主机发出后,ETS接收到该数据时,并不知道它是5.001的数据类型,只知道它是1 byte的数据类型。此时,必须人工指定该组地址的数据类型。通常,ETS通过该组地址绑定的组对象的数据类型来解析,当然也可以手工修改组对象的数据类型。
对于某个组地址,如果ETS里数据类型,与主机中用户配置的数据类型不一致,那就会出现APP显示的值与ETS里显示的值不一致的情况。
5.001与5.005
例如,5.001与5.005,ETS对相同的16进制数据0xFF的解析如下:
5.005与18.001
例如,5.005与18.001,ETS对相同的16进制数据0x00的解析如下:
KNX场景号
- KNX场景号,类型为18.001,值为1-64,是1 byte的数据类型
- 18.001与5.005,都是1 byte数据类型
- 18.001的场景号值为1时,其对应的5.005的值是0。18.001的场景号值为2时,其对应的5.005的值是1。依此类推。 注:5.005是1 byte,取值0-255