SPSNeuling2
Level-1
- Beiträge
- 6
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Guten Tag,
ich bin gerade dabei Geberwerte mit einer S7-1500 auszulesen.
Der Geber kommuniziert dabei über TCP/IP.
Der Geber kann Positionen entweder in ASCII Werte ausgeben was wie folgt aussieht: 123149"Leerzeichen""Enter"
oder in 32 Bit Binärzahlen ohne Leerzeichen zwischen den Werten.
Wenn ich diese nun einlesen möchte sendet er mir die Daten bisher in eine STRUCT Variable, in der ein ARRAY OF CHAR enthalten ist.
Wenn ich nun die ASCII Werte einlese und die Char Variablen zu einem String zusammenfüge funktioniert die Positionauswertung, da die Positionen in die ersten 8 Felder des Arrays und das Leerzeichen und Enter Zeichen in die beiden letzten Felder geladen wird und somit vernachlässigt werden kann.
Wenn sich die Position allerdings ändert, z.b in : 513"Leerzeichen"Enter"
Dann werden die Char Variablen immer unterschiedlich beschrieben, da der eingelesene "String" eine unterschiedliche Länge besitzt, und das ganze dann nicht mehr funktioniert.
Habt ihr eine Idee wie man das lösen könnte oder wie es mit Binärzahlen besser funktionieren würde?
ich bin gerade dabei Geberwerte mit einer S7-1500 auszulesen.
Der Geber kommuniziert dabei über TCP/IP.
Der Geber kann Positionen entweder in ASCII Werte ausgeben was wie folgt aussieht: 123149"Leerzeichen""Enter"
oder in 32 Bit Binärzahlen ohne Leerzeichen zwischen den Werten.
Wenn ich diese nun einlesen möchte sendet er mir die Daten bisher in eine STRUCT Variable, in der ein ARRAY OF CHAR enthalten ist.
Wenn ich nun die ASCII Werte einlese und die Char Variablen zu einem String zusammenfüge funktioniert die Positionauswertung, da die Positionen in die ersten 8 Felder des Arrays und das Leerzeichen und Enter Zeichen in die beiden letzten Felder geladen wird und somit vernachlässigt werden kann.
Wenn sich die Position allerdings ändert, z.b in : 513"Leerzeichen"Enter"
Dann werden die Char Variablen immer unterschiedlich beschrieben, da der eingelesene "String" eine unterschiedliche Länge besitzt, und das ganze dann nicht mehr funktioniert.
Habt ihr eine Idee wie man das lösen könnte oder wie es mit Binärzahlen besser funktionieren würde?