LS 산전 (LS ELECTRIC) — XGI / XBC / XBM
Die Kommunikation mit den PLC-Serien XGI / XBC / XBM von LS ELECTRIC (ehemals LS산전) erfolgt über das Standardprotokoll FEnet (Fast Ethernet).
Es ist die bei der XGT-Serie am häufigsten eingesetzte Kommunikationsart. Zunächst wird die Erreichbarkeit per ICMP (ping) geprüft, danach beginnt die eigentliche Kommunikation.
Eingabewerte im Registrierungsformular
| Eingabefeld | Was wird eingetragen | Beispiel |
|---|---|---|
| IP-Adresse | IP des FEnet-Moduls der PLC | 192.168.0.80 |
| Port | FEnet-Port | 2004 (XGT-Standard) |
| Verbindungs-Timeout (connect-timeout) | Maximale Dauer des Verbindungsversuchs (ms) | 3000 |
| Lese-Timeout (read-timeout) | Maximale Antwortzeit beim Lesen (ms) | 3000 |
| Prüfsumme verwenden (use-checksum) | Option für BCC-Prüfsumme | in der Regel false |
| Hex-Bitindex verwenden (use-hex-bit-index) | Ob Bitnummern hexadezimal interpretiert werden | in der Regel false. Nur true, wenn im P-Bereich ein Hex-Index wie F verwendet wird |
Auf PLC-Seite genügt es, IP und Port des FEnet-Moduls vorab in XG5000 zu hinterlegen.
Bei LS-PLCs prüft das Gateway vor dem Kommunikationsversuch zunächst per ping, ob das Gerät erreichbar ist. Ist ICMP (ping) im Firmennetz gesperrt, wird auch eine funktionsfähige PLC als „Ping failed“ angezeigt — prüfen Sie in diesem Fall die Firewall-Richtlinien.
PLC-Adressschreibweise der Tags
Bei LS-PLCs wird die Kurzform (D00309) empfohlen; das Gateway wandelt sie automatisch in die Standardform (%DW00309) um.
Speicherbereiche
| Buchstabe | Bereich |
|---|---|
D | Data Register — am häufigsten |
M | Memory (Speicherbit) |
K | Keep Relay |
F | Flag |
T | Timer |
C | Counter |
R | (je nach Serie) |
P | I/O |
Schreibweise-Beispiele
| Schreibweise (Kurzform) | Bedeutung |
|---|---|
D00309 | Data Register 309 (16 Bit) |
D00600 | Data Register 600 (für 32-Bit-Nutzung DW unter [Formatzusatz] angeben) |
M02704 | Memory-Bit 2704 |
P0001F | I/O-Bit (bei Verwendung von Hex-Index) |
Da dieselbe LS-Adresse als 16-Bit, 32-Bit, 64-Bit oder Gleitkommawert interpretiert werden kann, ist der [Formatzusatz] entscheidend.
Zuordnung der Datenformate
| Wert in der PLC | Datenformat | Formatzusatz | Beispiel PLC-Adresse |
|---|---|---|---|
| Bit (M, K, T, P) | Boolean | (leer) | M02704 |
| Bestimmtes Bit innerhalb eines Worts | Boolean | BIN[3] (Bit 3) | D00309 |
| 16-Bit-Ganzzahl | Integer | (leer) | D00309 |
| 16-Bit ohne Vorzeichen | Integer | UI | D00300 |
| 32-Bit-Ganzzahl | Integer | DW | D00600 (nutzt D00600~D00601) |
| 32-Bit ohne Vorzeichen | Integer | UDW | D00690 |
| 64-Bit-Ganzzahl | Long | (leer) | D00700 |
| 32-Bit-Gleitkomma (häufigster Gleitkommatyp) | Float | REAL | D00450 |
| 64-Bit-Gleitkomma | Double | LREAL | D00500 |
| Zeichenkette mit N Wörtern (= 2N Zeichen) | String | STR[N] | D00500 |
Dann wird der Wert fälschlich als 16 Bit gelesen und ergibt eine völlig andere Zahl. Geben Sie bei 32-Bit-Ganzzahlen unbedingt DW und bei 32-Bit-Gleitkommawerten REAL an.
Häufige Probleme und Lösungen
| Symptom / Meldung | Mögliche Ursache | Lösung |
|---|---|---|
| „Ping failed“ | ICMP wird blockiert | ICMP in der Firewall freigeben. Andernfalls Systemadministrator kontaktieren |
| „Connect failed“ | FEnet-Modul nicht aktiv, abweichender Port | IP/Port des FEnet-Moduls (2004) in XG5000 prüfen |
| 32-Bit-Wert ist falsch | Formatzusatz leer | DW (Ganzzahl) / REAL (Gleitkomma) angeben |
| Bit wird nicht gelesen | Als D00100 registriert (D ist ein Wortbereich) | Bitbereich wie M02704 verwenden. Oder mit format=BIN[3] das Bit aus dem Wort extrahieren |
| Zeichenkette fehlerhaft dargestellt | LS überträgt low-byte-first | Das Gateway berücksichtigt dies automatisch. Vorsicht beim direkten Dekodieren mit externen Werkzeugen |
Häufig verwendete Beispiele
Registrierung einer typischen Linien-PLC
| Tag-Name | PLC-Adresse | Datenformat | Formatzusatz |
|---|---|---|---|
| Betriebsbit | M02704 | Boolean | (leer) |
| Zähler (16 Bit) | D00309 | Integer | (leer) |
| Kumulierte Produktionsmenge (32 Bit) | D00600 | Integer | DW |
| Druck (Gleitkomma) | D00100 | Float | REAL |
| Druck (kPa, umgerechnet) | D00100 | Float | REAL (Formel ${VALUE}*0.1) |
| Chargenname (10 Wörter) | D00500 | String | STR[10] |
Bits aus einem Wort extrahieren
Sind mehrere Bitsignale in einem Wort zusammengefasst, können sie mit BIN[비트번호] einzeln registriert werden.
| Tag-Name | PLC-Adresse | Datenformat | Formatzusatz |
|---|---|---|---|
| Bit 0 | D00309 | Boolean | BIN[0] |
| Bit 3 | D00309 | Boolean | BIN[3] |
| Bit 15 | D00309 | Boolean | BIN[F] (hex F = 15) |
Wird die PLC-Registrierungsoption mit use-hex-bit-index=true gesetzt, sind Hex-Indizes (F usw.) nutzbar.
Ausführlichere Beispiele / automatisierte Registrierung
Siehe die LS-Beispiele unter Erweitert — REST API.