ChristianVogel
Level-2
- Beiträge
- 475
- Reaktionspunkte
- 69
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe hier bereits ähnlich Beiträge gefunden, diese sind aber elendig alt. Erfahrungsgemäß bekomme ich dann wieder einen Anschiss, weil ich altes Zeug aufwärme, daher eine neue aktuelle Anfrage…
Ich nutze grade TIA18, Steuerungssystem soll die 1500er Baureihe sein, im kleinsten Fall die ET200SP CPU1510
Folgendes:
- Ich lese per Modbus Holding-Register mit insgesamt 120 Word Länge am Stück aus, das funktioniert!
- Diese schreibt mir der MB-Client in ein „Array[0..125] of Word“, das funktioniert auch!
- In diesem ganzen Word-Array-Bereich ist ein „Status Code“ als „ASCII-Text (40 Word String)“. Enthalten.
- Dieser beginnt in diesem „Array of Word“ ab Word 50
So jetzt uffbasse:
>>> Ich tüftle grade mit S_MOVE, Chars_TO_Strg und diversen MOVE-Funktionen rum, komme aber nicht wirklich ans Ziel…
>>> Gibt es einen eleganten und einfachen Weg, wie ich die 40 Word aus dem Quellbereich lesen kann und direkt auf eine String-Variable schreiben kann? Das ganze soll erstmal auf einem HMI als Text dargestellt werden…
>>> Oder muss ich das erstmal in einen „Array of Char“ konvertieren und in den Temp-Bereich schieben? Char sind ja 8bit, ich habe aber 16bit Word als Quelle…
>>> Ist der String dann 80Char lang bei 40Word, oder ist bei der Codierung 1Char=1Word? Da finde ich keine Infos drüber…
Soweit mal vielen Dank
Gruß Christian
ich habe hier bereits ähnlich Beiträge gefunden, diese sind aber elendig alt. Erfahrungsgemäß bekomme ich dann wieder einen Anschiss, weil ich altes Zeug aufwärme, daher eine neue aktuelle Anfrage…
Ich nutze grade TIA18, Steuerungssystem soll die 1500er Baureihe sein, im kleinsten Fall die ET200SP CPU1510
Folgendes:
- Ich lese per Modbus Holding-Register mit insgesamt 120 Word Länge am Stück aus, das funktioniert!
- Diese schreibt mir der MB-Client in ein „Array[0..125] of Word“, das funktioniert auch!
- In diesem ganzen Word-Array-Bereich ist ein „Status Code“ als „ASCII-Text (40 Word String)“. Enthalten.
- Dieser beginnt in diesem „Array of Word“ ab Word 50
So jetzt uffbasse:
>>> Ich tüftle grade mit S_MOVE, Chars_TO_Strg und diversen MOVE-Funktionen rum, komme aber nicht wirklich ans Ziel…
>>> Gibt es einen eleganten und einfachen Weg, wie ich die 40 Word aus dem Quellbereich lesen kann und direkt auf eine String-Variable schreiben kann? Das ganze soll erstmal auf einem HMI als Text dargestellt werden…
>>> Oder muss ich das erstmal in einen „Array of Char“ konvertieren und in den Temp-Bereich schieben? Char sind ja 8bit, ich habe aber 16bit Word als Quelle…
>>> Ist der String dann 80Char lang bei 40Word, oder ist bei der Codierung 1Char=1Word? Da finde ich keine Infos drüber…
Soweit mal vielen Dank
Gruß Christian