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.

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

Add Device

Go to Configuration -> South Devices, then click Add Device to add the driver. Configure the following settings in the popup dialog box.

  • Name: The name of this device node.
  • Plugin: Select the ABB COMLI plugin.

Device Configuration

After clicking Create, you will be redirected to the Device Configuration page, where we will set up the parameters required for Neuron to establish a connection with the northbound application. You can also click the device configuration icon on the southbound device card to enter the Device Configuration interface.

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.

Configure Data Groups and Tags

After the plug-in is added and configured, the next step is to establish communication between your device and Neuron by adding groups and tags to the Southbound driver.

Once device configuration is completed, navigate to the South Devices page. Click on the device card or device row to access the Group List page. Here, you can create a new group by clicking on Create, then specifying the group name and data collection interval.

Upon successfully creating a group, click on its name to proceed to the Tag List page. This page allows you to add device tags for data collection. You’ll need to provide information such as the tag address, attributes, and data type.

For information on general configuration items, see Connect to Southbound Devices. The subsequent section will concentrate on configurations specific to the driver.

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

Data Monitoring

After completing the point configuration, you can click Monitoring -> Data Monitoring to view device information and control devices. For details, refer to Data Monitoring.