19.04.2021 13:38 | |
Beigetreten: 28.01.2021 Letzter Bes: 30.07.2024 Beiträge: 30 Bewertung: (10)
|
Hallo SIOS-Forum-Community, uns erreichen immer wieder Fragen wie ein Datenpaket vom Datentyp String (Zeichenkette) über einen PN/PN Coupler (Bestellnummer 6ES7158-3AD10-0XA0) versendet wird Kurze Erläuterung: Ein String ist eine Zeichenkette. Der Datentyp String hat als Wertebereich die Menge aller Zeichenketten. Strings werden in Anführungszeichen gesetzt Lösungsvorschlag: Man kann einen String nicht direkt über einen PN/PN-Coupler übertragen, da Strings aufgrund ihrer Speicherstruktur nicht in den EA-Datenbereich geschrieben werden können. Man muss also folgenden Workaround nutzen: 1. Der String muss konvertiert werden. Das geht mit verschiedenen Systemanweisungen wie STRG_VAL, S_CONV (--> beide Zahlenwert) oder Strg_TO_Chars (Array of CHAR) 2. Über einen Transferbereich kann der PN/PN-Coupler den kovertierten Wert (Ganzzahl, Gleitpunktzahl oder Array of Char) übertragen. Den Transferbereich legt man in der HW-Konfig des Couplers an und weist einen EA-Datenbereich zu. In diesen EA-Datenbereich legt man dann mit Hilfe einer Variablentabelle die entsprechende Variable für den konvertierten String an. Mit Hilfe der Anweisung MOVE kann man den konvertierten String dann in den EA-Bereich kopieren. 3. Auf der Empfängerseite wird zurück konvertiert. Den empfangenen Wert (Zahlenwert oder Array of Char) kann man mit den entsprechenden Anweisungen (VAL_STRG, S_CONV, Chars_TO_Strg) wieder in einen String zurückkonvertieren. Ein weiterer Beitrag im Forum geht auf die Kompatibilität von PN/PN-Coupler < = Version 3.0 ein. Hinweis Die in diesem Beitrag beschriebene Vorgehensweise bezieht sich auf den Zeitpunkt der Erstellung dieses Beitrags (Stand: April 2021). Mit freundlichen Grüßen SIMATIC-Kommunikation-FB-GER (CG) |
Für diesen Beitrag bedanken sich2 Benutzer |
Folgen Sie uns auf