LS Electric (the company was LSIS until a 2021 rename, you’ll still see both names on older panels and documentation) builds the XGT series of PLCs, common on Korean built machinery and on packaging and material handling equipment across a lot of industries. Spall reads them natively over their own protocol, both the Ethernet and serial variants. This guide covers the setup and the connection.
Before you start You’ll need the controller’s IP address (Ethernet) or serial port settings (RS-232/RS-485), the device addresses for the values you want, an Ethernet drop or serial cable, and the Spall gateway on the same network or wired directly to it. The gateway reads only. It never writes to the controller.
1. What XGT addressing looks like
Like most PLC protocols outside the Rockwell Logix world, XGT doesn’t carry symbolic tag names over the wire, it addresses memory directly: %MX100 for a bit in the M device area, %DW200 for a word in the D device area. The percent sign and letter prefix identify the device area, the number is the offset. Get this list from your machine builder’s XG5000 project or PLC documentation before you start, the same as any raw addressed protocol in this series, there’s no way around knowing what the ladder program already put where.
2. Ethernet: confirm the port answers
Spall’s XGT Ethernet connector talks over TCP port 2004, the standard port LS Electric’s own Ethernet modules answer on. From a PC on the same network:
nc -vz 192.168.2.15 2004
-> Connection to 192.168.2.15 2004 succeeded!
A refused connection here usually means a firewall or VLAN boundary, or the Ethernet module’s own IP settings weren’t applied yet, most XGT Ethernet modules need a power cycle after an address change, not a Spall problem, this test doesn’t touch Spall yet.
3. Serial: confirm the wiring and settings
For an XGT controller with no Ethernet module, or one where the Ethernet port is already committed elsewhere, the serial path uses the same ENQ/EOT ASCII framing over RS-232 or RS-485. You’ll need the baud rate, parity, and stop bits configured on the controller’s serial port, and the slave (station) number if more than one device shares the line. Wire it to the gateway’s serial input per your Spall contact’s instructions.
4. Add the source in Spall
In Spall, add the machine, choose LS Electric XGT as the source, pick Ethernet or Serial, and enter the connection details:
192.168.2.15:2004 (Ethernet)
Assign the Spall gateway on that network and save.
5. Add a tag per device address
For every point you want, add a tag with its device address from Step 1 and a data type, bit for a run or fault flag, word or double word for a counter or process value.
What Spall does with this data
Availability. A tag mapped to a run signal splits every hour into running, idle, and down.
Downtime and reasons. Each stop is caught the instant the mapped signal changes, ranked into a Pareto the same way the downtime reason codes guide covers.
Production. A tag mapped to a part counter drives target-vs-actual by shift and job.
Quality and OEE. Availability, performance, and quality roll into one OEE view, dollar-ranked, the same three numbers walked through in what OEE is and how to calculate it.
One thing worth repeating Spall issues XGT read requests only. It never writes a device back to the controller. The gateway reads on your network and sends what it reads outbound over encrypted MQTT. No inbound port opens on your firewall, no changes to the ladder program.
Quick recap
- XGT addresses memory directly (%MX100, %DW200), get the device list from the XG5000 project first
- Ethernet uses TCP port 2004, power cycle the module after changing its IP settings
- No Ethernet module, no problem, the serial path uses the same protocol over RS-232/RS-485
- Add the source (Ethernet or serial), then a tag per device address and type
- Every new tag lands in the Signal inbox unclassified until someone tells Spall what it means
Whether the panel says LSIS or LS Electric, the protocol underneath hasn’t changed, this guide covers both.