概览 
comli 插件用于通过串口网络访问 ABB 的 COMLI 协议兼容控制系统。
参数 
| 参数 | 说明 | 
|---|---|
| 接收超时时间 | 等待设备返回指令响应的时间。 | 
| 指令发送间隔 | 发送每条读写指令之间的等待时间。某些串口设备在较短时间内接收到连续指令时,可能会丢弃某些指令。 | 
| 发送重试次数 | 从机无响应指令返回时, 主机请求指令的重传次数。 | 
| 串口设备 | 使用串口连接时,串口设备的路径,如 Linux 系统中 /dev/ttyS0。 | 
| 停止位 | 串口连接参数。 | 
| 校验位 | 串口连接参数。 | 
| 波特率 | 串口连接参数。 | 
| 数据位 | 串口连接参数。 | 
数据类型 
- INT16
 - UINT16
 - INT32
 - UINT32
 - INT64
 - UINT64
 - FLOAT
 - DOUBLE
 - BIT
 - STRING
 
地址格式 
SLAVE!AREA.ADDRESS[.BIT][#ENDIAN][.LEN[H][L][D][E]]
SLAVE 
必填,指从机地址或者是站点号。
AREA ADDRESS 
| 区域 | 数据类型 | 寄存器大小 | 属性 | 范围 | 区域说明 | 备注 | 
|---|---|---|---|---|---|---|
| 0 | bit | 1bit | 读/写 | 0 ~ 16384 | I/O-bits | |
| 1 | 所有类型 | 16bit, 2byte | 读/写 | 0 ~ 3071 | Register | bit 类型只读 | 
.BIT 
选填,寄存器中的特定 bit,例如:
| 地址 | 数据类型 | 说明 | 
|---|---|---|
| 1!1.100.0 | bit | 指站号为1,Register 区域,地址为 100,第 0 位。 | 
| 1!1.100.4 | bit | 指站号为1,Register 区域,地址为 100,第 4 位。 | 
| 2!1.200.15 | bit | 指站号为2,Register 区域,地址为 200,第 15 位。 | 
#ENDIAN 
选填,字节顺序,适用于 int16/uint16/int32/uint32/float/int64/uint64/double 数据类型,详细说明见下表。
| 符号 | 字节顺序 | 支持的数据类型 | 备注 | 
|---|---|---|---|
| #B | 2,1 or 8,7,6,5,4,3,2,1 | int16/uint16/int64/uint64/double | |
| #L | 1,2 or 1,2,3,4,5,6,7,8 | int16/uint16/int64/uint64/double | 不填,默认字节顺序 | 
| #LL | 1,2,3,4 | int32/uint32/float | 不填,默认字节顺序 | 
| #LB | 2,1,4,3 | int32/uint32/float | |
| #BB | 3,4,1,2 | int32/uint32/float | |
| #BL | 4,3,2,1 | int32/uint32/float | 
.LEN[H][L][D][E] 
当数据类型为 STRING 类型时,.LEN 是必填项,表示字符串需要占用的字节长度,每个寄存器中包含 H,L,D 和 E 四种存储方式,如下列表格所示。
| 符号 | 说明 | 
|---|---|
| H | 一个寄存器存储两个字节,高字节在前低字节在后。 | 
| L | 一个寄存器存储两个字节,低字节在前高字节在后。 | 
| D | 一个寄存器存储一个字节,且存储在低字节。 | 
| E | 一个寄存器存储一个字节,且存储在高字节。 | 
示例 
| 地址 | 数据类型 | 说明 | 
|---|---|---|
| 1!0.10 | bit | 指站号为 1,I/O-bits 区域,地址为 10 | 
| 1!0.1000 | bit | 指站号为 1,I/O-bits 区域,地址为 1000 | 
| 1!0.1100 | bit | 指站号为 1,I/O-bits 区域,地址为 1100 | 
| 1!1.10.12 | bit | 指站号为 1,Register 区域,地址为 10,第12位 | 
| 1!1.10 | int16 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10#L | int16 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10#B | int16 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #B | 
| 1!1.10 | uint16 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10#L | uint16 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10#B | uint16 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #B | 
| 1!1.10 | int32 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #LL | 
| 1!1.10#BB | int32 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #BB | 
| 1!1.10#LB | int32 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #LB | 
| 1!1.10#BL | int32 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #BL | 
| 1!1.10 | uint32 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #LL | 
| 1!1.10#BB | uint32 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #BB | 
| 1!1.10#LB | uint32 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #LB | 
| 1!1.10#BL | uint32 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #BL | 
| 1!1.10 | float | 指站号为 1,Register 区域,地址为 10,字节顺序为 #LL | 
| 1!1.10#BB | float | 指站号为 1,Register 区域,地址为 10,字节顺序为 #BB | 
| 1!1.10#LB | float | 指站号为 1,Register 区域,地址为 10,字节顺序为 #LB | 
| 1!1.10#BL | float | 指站号为 1,Register 区域,地址为 10,字节顺序为 #BL | 
| 1!1.10 | uint64 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10#B | uint64 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #B | 
| 1!1.10#L | uint64 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10 | int64 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10#B | int64 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #B | 
| 1!1.10#L | int64 | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10 | double | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10#B | double | 指站号为 1,Register 区域,地址为 10,字节顺序为 #B | 
| 1!1.10#L | double | 指站号为 1,Register 区域,地址为 10,字节顺序为 #L | 
| 1!1.10.10 | String | 指站号为1,Register 区域,地址为 10,字符长度为 10,字节顺序为 L,即占用的地址为 10 ~ 15 | 
| 1!1.10.10H | String | 指站号为1,Register 区域,地址为 10,字符长度为 10,字节顺序为 H,即占用的地址为 10 ~ 15 | 
| 1!1.10.10L | String | 指站号为1,Register 区域,地址为 10,字符长度为 10,字节顺序为 L,即占用的地址为 10 ~ 15 | 
| 1!1.10.10D | String | 指站号为1,Register 区域,地址为 10,字符长度为 10,字节顺序为 D,即占用的地址为 10 ~ 20 | 
| 1!1.10.10E | String | 指站号为1,Register 区域,地址为 10,字符长度为 10,字节顺序为 E,即占用的地址为 10 ~ 20 |