LS ELECTRIC XGI / XBC / XBM
Kommunikation mit den XGI / XBC / XBM PLC-Serien von LS ELECTRIC (ehemals LS Industrial Systems) über das standardmäßige FEnet (Fast Ethernet)-Protokoll.
Dies ist die am häufigsten verwendete Kommunikationsmethode in der XGT-Serie. Zuerst wird die ICMP-Erreichbarkeit (ping) überprüft, bevor die eigentliche Kommunikation gestartet wird.
Formularfelder für die Registrierung
| Eingabefeld | Was wird eingetragen | Beispiel |
|---|---|---|
| IP-Adresse | IP des FEnet-Moduls der SPS | 192.168.0.80 |
| Port | FEnet-Port | 2004 (XGT-Standard) |
| Verbindungs-Timeout (connect-timeout) | Maximale Zeit für den Verbindungsaufbau (ms) | 3000 |
| Lese-Timeout (read-timeout) | Maximale Zeit für die Leseantwort (ms) | 3000 |
| Checksumme verwenden (use-checksum) | BCC-Prüfsummenoption | Normalerweise false |
| Bit-Index hexadezimal (use-hex-bit-index) | Bitnummer als Hex interpretieren | Normalerweise false. Nur bei hexadezimalen Indizes wie F im P-Bereich true |
Auf der SPS-Seite müssen Sie in XG5000 die IP / den Port des FEnet-Moduls vorab registrieren.
LS-SPS prüfen vor dem Verbindungsaufbau zunächst mit ping, ob das Gateway erreichbar ist. Wenn ICMP (Ping) im Firmennetz blockiert ist, wird selbst eine funktionierende SPS als "Ping failed" angezeigt. Bitte prüfen Sie die Firewall-Richtlinien.
SPS-Adressnotation für Tags
Bei LS-SPS wird die kurze Form (D00309) empfohlen; das Gateway konvertiert sie automatisch in die Standardform (%DW00309).
Speicherbereiche
| Buchstabe | Bereich |
|---|---|
D | Datenregister — am häufigsten |
M | Speicher (Memory-Bit) |
K | Keep-Relais |
F | Flag (Flag-Bit) |
T | Timer |
C | Zähler |
R | (je nach Serie) |
P | E/A |
Beispiele für die Notation
| Notation (kurze Form) | Bedeutung |
|---|---|
D00309 | Datenregister 309 (16-Bit) |
D00600 | Datenregister 600 (für 32-Bit in [Format-Assistent] DW angeben) |
M02704 | Speicherbit 2704 |
P0001F | E/A-Bit (bei hexadezimalem Index) |
Da dieselbe LS-Adresse als 16-Bit / 32-Bit / 64-Bit / Gleitkommazahl interpretiert werden kann, ist der [Format-Assistent] entscheidend.
Datentyp-Zuordnung
| Wert der SPS | Datentyp | Format-Assistent | Beispiel SPS-Adresse |
|---|---|---|---|
| Bit (M, K, T, P) | Boolean | (leer) | M02704 |
| Bestimmtes Bit innerhalb eines Wortes | 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 (verwendet D00600~D00601) |
| 32-Bit ohne Vorzeichen | Integer | UDW | D00690 |
| 64-Bit-Ganzzahl | Long | (leer) | D00700 |
| 32-Bit-Gleitkommazahl (häufigster Typ) | Float | REAL | D00450 |
| 64-Bit-Gleitkommazahl | Double | LREAL | D00500 |
| Zeichenkette N Wörter (= 2N Zeichen) | String | STR[N] | D00500 |
Es wird als 16-Bit gelesen, wodurch der Wert völlig falsch ausgegeben wird. Bei 32-Bit-Ganzzahlen DW, bei 32-Bit-Gleitkommazahlen REAL unbedingt angeben.
Häufige Probleme und Lösungen
| Symptom / Meldung | Mögliche Ursache | Lösung |
|---|---|---|
| "Ping failed" | ICMP blockiert | ICMP in der Firewall erlauben. Falls nicht möglich: Systemadministrator |
| "Connect failed" | FEnet-Modul nicht aktiv, falscher Port | In XG5000 IP/Port des FEnet-Moduls (2004) prüfen |
| 32-Bit-Wert unplausibel | Format-Assistent leer | DW (Ganzzahl) / REAL (Gleitkommazahl) angeben |
| Bit wird nicht gelesen | Als D00100 registriert (D ist Wortbereich) | Bitbereich wie M02704 verwenden. Oder Bit aus dem Wort mit format=BIN[3] extrahieren |
| Zeichenketten kaputt | LS sendet Low-Byte-first | Gateway verarbeitet dies automatisch. Bei direktem Dekodieren mit externen Tools vorsichtig |
Häufige Beispiele
Registrierung einer Standard-Linien-SPS
| Tag-Name | SPS-Adresse | Datentyp | Format-Assistent |
|---|---|---|---|
| Betriebsbit | M02704 | Boolean | (leer) |
| Zähler (16-Bit) | D00309 | Integer | (leer) |
| Kumulierte Produktion (32-Bit) | D00600 | Integer | DW |
| Druck (Gleitkommazahl) | D00100 | Float | REAL |
| Druck (kPa, konvertiert) | D00100 | Float | REAL (Formel ${VALUE}*0.1) |
| Chargenname (10 Wörter) | D00500 | String | STR[10] |
Bitextraktion aus einem Wort
Wenn mehrere Bitsignale in einem Wort zusammengefasst sind, können Sie mit BIN[비트번호] jede Zeile separat registrieren.
| Tag-Name | SPS-Adresse | Datentyp | Format-Assistent |
|---|---|---|---|
| Bit 0 | D00309 | Boolean | BIN[0] |
| Bit 3 | D00309 | Boolean | BIN[3] |
| Bit 15 | D00309 | Boolean | BIN[F] (hexadezimal F = 15) |
Mit use-hex-bit-index=true der SPS-Registrierungsoption lässt sich die Verwendung hexadezimaler Indizes (z. B. F) aktivieren.
Detailliertere Beispiele / automatisierte Registrierung
Siehe das LS-Beispiel unter Erweitert — REST API.