Skip to content

ABB COMLI ​

COMLI is an ABB-specific protocol facilitating data exchange between ABB's PLCs and devices, supporting both point-to-point and multipoint communications over various mediums like RS-232, RS-485, or Ethernet, thereby enhancing IoT connectivity and interoperability.

For the generic steps, see Create a Southbound Driver and Groups and Tags.

This ABB COMLI driver is used to access ABB's COMLI-compatible control system through the serial port.

Add Driver ​

On Data Collection → South Devices, click Add Device.

  • Name: The name of this device node.
  • Driver: Select the ABB COMLI driver.

Connection Parameters ​

Click the driver card to open the Device Configuration page and fill in:

ParameterDescription
Recv TimeoutThe time of the system waits for a device to respond to a command.
Send IntervalThe waiting time between sending each read/write command. Some serial devices may discard certain commands if they receive consecutive commands in a short period of time.
Send RetryThe number of retransmissions of the master request command when the slave returns with no response command.
Serial PortThe path to the serial device when using a serial connection, e.g., /dev/ttyS0 in Linux systems.
Stop BitsSerial connection parameter.
ParitySerial connection parameter.
Baud RateSerial connection parameter.
Data SizeSerial connection parameter.

Tag Configuration ​

The data types and address formats supported by this driver are listed below.

Data Types ​

  • INT16
  • UINT16
  • INT32
  • UINT32
  • INT64
  • UINT64
  • FLOAT
  • DOUBLE
  • BIT
  • STRING

Address format ​

SLAVE!AREA.ADDRESS[.BIT][#ENDIAN][.LEN[H][L][D][E]]

SLAVE ​

Required, Slave is the slave address or site number.

AREA ADDRESS ​

AreaData TypeRegister SizeAttributeAddress RangeArea DescriptionNote
0bit1bitRead/Write0 ~ 16383I/O-bits
1ALL16bit, 2byteRead/Write0 ~ 3071Registerthe type of bit read only

.BIT ​

Optional, specify a specific bit in a register, as:

AddressData TypeDescription
1!1.100.0bitRefers to station 1, Register area, address 100, bit 0.
1!1.100.4bitRefers to station 1, Register area, address 100, bit 4.
2!1.200.15bitRefers to station 2, Register area, address 200, bit 15.

#ENDIAN ​

Optional, byte order, applicable to data types int16/uint16/int32/uint32/float/int64/uint64/double, see the table below for details.

SymbolByte OrderSupported Data TypesNote
#B2,1 or 8,7,6,5,4,3,2,1int16/uint16/int64/uint64/double
#L1,2 or 1,2,3,4,5,6,7,8int16/uint16/int64/uint64/doubleDefault byte order if not specified
#LL1,2,3,4int32/uint32/floatDefault byte order if not specified
#LB2,1,4,3int32/uint32/float
#BB3,4,1,2int32/uint32/float
#BL4,3,2,1int32/uint32/float

.LEN[H][L][D][E] ​

When the data type is STRING, .LEN is a required field, indicating the number of bytes the string occupies. Each register contains four storage methods: H, L, D, and E, as shown in the table below.

SymbolDescription
HOne register stores two bytes, with the high byte first
LOne register stores two bytes, with the low byte first
DOne register stores one byte, and it is stored in the low byte
EOne register stores one byte, and it is stored in the high byte

Example Addresses ​

AddressData TypeDescription
1!0.10bitRefers to station 1, I/O-bits area, address 10
1!0.1000bitRefers to station 1, I/O-bits area, address 1000
1!0.1100bitRefers to station 1, I/O-bits area, address 1100
1!1.10.12bitRefers to station 1, Register area, address 10, bit 12
1!1.10int16Refers to station 1, Register area, address 10, byte order #L
1!1.10#Lint16Refers to station 1, Register area, address 10, byte order #L
1!1.10#Bint16Refers to station 1, Register area, address 10, byte order #B
1!1.10uint16Refers to station 1, Register area, address 10, byte order #L
1!1.10#Luint16Refers to station 1, Register area, address 10, byte order #L
1!1.10#Buint16Refers to station 1, Register area, address 10, byte order #B
1!1.10int32Refers to station 1, Register area, address 10, byte order #LL
1!1.10#BBint32Refers to station 1, Register area, address 10, byte order #BB
1!1.10#LBint32Refers to station 1, Register area, address 10, byte order #LB
1!1.10#BLint32Refers to station 1, Register area, address 10, byte order #BL
1!1.10uint32Refers to station 1, Register area, address 10, byte order #LL
1!1.10#BBuint32Refers to station 1, Register area, address 10, byte order #BB
1!1.10#LBuint32Refers to station 1, Register area, address 10, byte order #LB
1!1.10#BLuint32Refers to station 1, Register area, address 10, byte order #BL
1!1.10floatRefers to station 1, Register area, address 10, byte order #LL
1!1.10#BBfloatRefers to station 1, Register area, address 10, byte order #BB
1!1.10#LBfloatRefers to station 1, Register area, address 10, byte order #LB
1!1.10#BLfloatRefers to station 1, Register area, address 10, byte order #BL
1!1.10uint64Refers to station 1, Register area, address 10, byte order #L
1!1.10#Buint64Refers to station 1, Register area, address 10, byte order #B
1!1.10#Luint64Refers to station 1, Register area, address 10, byte order #L
1!1.10int64Refers to station 1, Register area, address 10, byte order #L
1!1.10#Bint64Refers to station 1, Register area, address 10, byte order #B
1!1.10#Lint64Refers to station 1, Register area, address 10, byte order #L
1!1.10doubleRefers to station 1, Register area, address 10, byte order #L
1!1.10#BdoubleRefers to station 1, Register area, address 10, byte order #B
1!1.10#LdoubleRefers to station 1, Register area, address 10, byte order #L
1!1.10.10StringRefers to station1, Register area, address 10, character length 10, byte order L, which occupies addresses 10 to 15
1!1.10.10HStringRefers to station1, Register area, address 10, character length 10, byte order H, which occupies addresses 10 to 15
1!1.10.10LStringRefers to station1, Register area, address 10, character length 10, byte order L, which occupies addresses 10 to 15
1!1.10.10DStringRefers to station1, Register area, address 10, character length 10, byte order D, which occupies addresses 10 to 20
1!1.10.10EStringRefers to station1, Register area, address 10, character length 10, byte order E, which occupies addresses 10 to 20