Allen-Bradley DF1
DF1 is a proprietary communication protocol developed by Rockwell Automation, primarily used for data exchange between its Allen Bradley series PLCs (Programmable Logic Controllers) and other devices. The EMQX Neuron Allen Bradley DF1 driver supports point-to-point communication and data transmission through serial communication lines.
For the generic steps, see Create a Southbound Driver and Groups and Tags.
Add Driver
On Data Collection → South Devices, click Add Device.
- Name: The name of this device node.
- Driver: Select the Allen-Bradley DF1 driver.
Connection Parameters
Click the driver card to open the Device Configuration page and fill in:
| Parameter | Description |
|---|---|
| Recv Timeout | The time of the system waits for a device to respond to a command. |
| Send Interval | The 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. |
| Serial Port | The path to the serial device when using a serial connection, e.g., /dev/ttyS0 in Linux systems. |
| Stop Bits | Serial connection parameter. |
| Parity | Serial connection parameter. |
| Baud Rate | Serial connection parameter. |
| Data Size | Serial connection parameter. |
Tag Configuration
The data types and address formats supported by this driver are listed below.
Data Types
- INT16
- UINT16
- INT32
- UINT32
- FLOAT
- BIT
- STRING
Address format
FILE NUM:ELEM[.BIT][#ENDIAN][.LEN[H][L]]
For example, N7:0
FILE
Required, File is the type or the file.
| FILE | FILE TYPE |
|---|---|
| U | STATUS |
| B | BIT |
| T | TIMER |
| C | COUNTER |
| R | COUNTROL |
| N | INTEGER |
| F | FLOAT |
| S | STRING |
| A | ASCII |
NUM
Required, NUM is the number or the file.
ELEM
Required, ELEM is the number or the elem.
.BIT
Optional, specify a specific bit in a register, as:
| Address | Data Type | Description |
|---|---|---|
| N7:0.0 | bit | Refers to INT FILE 7 , address 0, bit 0. |
| N7:0.15 | bit | Refers to INT FILE 7 , address 0, bit 15. |
#ENDIAN
Optional, byte order, applicable to data types int16/uint16/int32/uint32/float/, see the table below for details.
| Symbol | Byte Order | Supported Data Types | Note |
|---|---|---|---|
| #B | 2,1 or 8,7,6,5,4,3,2,1 | int16/uint16 | |
| #L | 1,2 or 1,2,3,4,5,6,7,8 | int16/uint16 | Default byte order if not specified |
| #LL | 1,2,3,4 | int32/uint32/float | Default byte order if not specified |
| #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]
When the data type is STRING, .LEN is a required field, indicating the number of bytes the string occupies. Each register contains two storage methods: H and L, as shown in the table below.
| Symbol | Description |
|---|---|
| H | One register stores two bytes, with the high byte first |
| L | One register stores two bytes, with the low byte first |
TIP
The address data for the T C R region is six bytes. The first two bytes can use bit or int16, uint16 types; The middle two bytes of data need to be of type int16 or uint16, with the address suffix added .PRE; The last two bytes of data should be of type int16 or uint16, with the address suffix added .ACC. For example, T2:1.ACC