概览
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 |