LS ELECTRIC XGI / XBC / XBM
Communicates with the LS ELECTRIC (formerly LS Industrial Systems) XGI / XBC / XBM PLC series using the FEnet (Fast Ethernet) standard protocol.
This is the most common communication method for the XGT series. It first verifies ICMP (ping) reachability before starting actual communication.
Registration Form Input Values
| Input Field | What to Enter | Example |
|---|---|---|
| IP Address | PLC FEnet module IP | 192.168.0.80 |
| Port | FEnet port | 2004 (XGT default) |
| Connect Timeout | Maximum connection attempt time (ms) | 3000 |
| Read Timeout | Maximum read response time (ms) | 3000 |
| Use Checksum | BCC checksum option | Usually false |
| Use Hex Bit Index | Whether to interpret bit numbers as hexadecimal | Usually false. Set to true only when using hexadecimal indices like F in the P area |
For the PLC side, simply pre-register the FEnet module's IP/port in XG5000.
Before attempting communication, the gateway first checks whether the LS PLC is reachable via ping. If ICMP (ping) is blocked on your corporate network, even a healthy PLC will show as "Ping failed," so please verify your firewall policy.
PLC Address Notation for Tags
The short format (D00309) is recommended for LS PLCs; the gateway automatically converts it to the standard format (%DW00309).
Memory Areas
| Letter | Area |
|---|---|
D | Data Register — Most Common |
M | Memory (memory bit) |
K | Keep Relay |
F | Flag |
T | Timer |
C | Counter |
R | (Depending on series) |
P | I/O |
Notation Examples
| Notation (Short Format) | Meaning |
|---|---|
D00309 | Data Register 309 (16-bit) |
D00600 | Data Register 600 (to use as 32-bit, specify DW in [Format Helper]) |
M02704 | Memory bit 2704 |
P0001F | I/O bit (when using hex index) |
Since the same LS address can be interpreted variously as 16-bit / 32-bit / 64-bit / float, the [Format Helper] is essential.
Data Type Matching
| PLC Value | Data Type | Format Helper | Example PLC Address |
|---|---|---|---|
| Bit (M, K, T, P) | Boolean | (empty) | M02704 |
| Specific bit within a word | Boolean | BIN[3] (3rd bit) | D00309 |
| 16-bit integer | Integer | (empty) | D00309 |
| 16-bit unsigned | Integer | UI | D00300 |
| 32-bit integer | Integer | DW | D00600 (uses D00600~D00601) |
| 32-bit unsigned | Integer | UDW | D00690 |
| 64-bit integer | Long | (empty) | D00700 |
| 32-bit float (most common real type) | Float | REAL | D00450 |
| 64-bit float | Double | LREAL | D00500 |
| String of N words (= 2N characters) | String | STR[N] | D00500 |
It will be misread as 16-bit, producing a completely different value. For 32-bit integers, always specify DW; for 32-bit floats, always specify REAL.
Common Issues and Solutions
| Symptom / Message | Possible Cause | Solution |
|---|---|---|
| "Ping failed" | ICMP blocked environment | Allow ICMP in firewall. If not possible, contact system administrator |
| "Connect failed" | FEnet module not running, wrong port | Verify FEnet module IP/port (2004) in XG5000 |
| 32-bit value is wrong | Format Helper left empty | Specify DW (integer) / REAL (float) |
| Bit is not read | Registered with D00100 (D is a word area) | Use a bit area like M02704. Or extract the bit from the word using format=BIN[3] |
| String characters garbled | LS sends low-byte-first | The gateway handles this automatically. Be cautious when decoding directly with external tools |
Frequently Used Examples
Standard Line PLC Registration
| Tag Name | PLC Address | Data Type | Format Helper |
|---|---|---|---|
| Running Bit | M02704 | Boolean | (empty) |
| Counter (16-bit) | D00309 | Integer | (empty) |
| Cumulative Production (32-bit) | D00600 | Integer | DW |
| Pressure (Float) | D00100 | Float | REAL |
| Pressure (kPa, Converted) | D00100 | Float | REAL (Formula ${VALUE}*0.1) |
| Batch Name (10 words) | D00500 | String | STR[10] |
Extracting Bits from a Word
If multiple bit signals are packed into the same word, you can register them line by line with BIN[비트번호].
| Tag Name | PLC Address | Data Type | Format Helper |
|---|---|---|---|
| Bit 0 | D00309 | Boolean | BIN[0] |
| Bit 3 | D00309 | Boolean | BIN[3] |
| Bit 15 | D00309 | Boolean | BIN[F] (hex F = 15) |
By setting the PLC registration option with use-hex-bit-index=true, you can use hex indices (such as F).
More Detailed Examples / Automated Registration
Refer to the LS example in Advanced — REST API.