Lord Cartman
Level-1
- Beiträge
- 71
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe ein kleines Problem beim Empfangen eines Arrays über TRCV_C.
Der komplette Array hat jedes Mal unterschiedliche LÄngen und schwankt zwischen 45 und 62 Byte. (Das ganze läuft auf S7 V10.5)
Zum besseren Verständniss: Von einer Applikation kommt ein Array, der in den ersten 11 Byte bestimmte Werte aufweist wie z.b. Byte,byte,int, char, etc. Ab der Adresse 12 befindet sich ein Array of char. Dieser Àrray ist bei jedem Vorgang unterschiedlich lang.
Das Problem ist jetzt, wenn ich bei dem TRCV_C Baustein über ANY den Empfangsbereich festlege, die Bytelänge der zu erwartenden Daten angeben muss. Sind die Daten anschließend genauso lang, wie angegeben, klappt auch alles und sie werden in den DB geschrieben. Ist der Array aber kürzer müssen die Daten zweimal empfangen werden, damit sie in dem Array of Char auftauchen. Beim erneuten Scannen verschieben sich die Daten und werden so unbrauchbar.
Meine Idee war zuerst den Baustein einfach über "COM-RST" neu zu starten, aber da traten nur ungewollte Fehler in der Kommunikationsverbindung auf.
Hat jemand vlt noch eine Idee wie das klappen könnte?
Gruß
Lord Cartman
ich habe ein kleines Problem beim Empfangen eines Arrays über TRCV_C.
Der komplette Array hat jedes Mal unterschiedliche LÄngen und schwankt zwischen 45 und 62 Byte. (Das ganze läuft auf S7 V10.5)
Zum besseren Verständniss: Von einer Applikation kommt ein Array, der in den ersten 11 Byte bestimmte Werte aufweist wie z.b. Byte,byte,int, char, etc. Ab der Adresse 12 befindet sich ein Array of char. Dieser Àrray ist bei jedem Vorgang unterschiedlich lang.
Das Problem ist jetzt, wenn ich bei dem TRCV_C Baustein über ANY den Empfangsbereich festlege, die Bytelänge der zu erwartenden Daten angeben muss. Sind die Daten anschließend genauso lang, wie angegeben, klappt auch alles und sie werden in den DB geschrieben. Ist der Array aber kürzer müssen die Daten zweimal empfangen werden, damit sie in dem Array of Char auftauchen. Beim erneuten Scannen verschieben sich die Daten und werden so unbrauchbar.
Meine Idee war zuerst den Baustein einfach über "COM-RST" neu zu starten, aber da traten nur ungewollte Fehler in der Kommunikationsverbindung auf.
Hat jemand vlt noch eine Idee wie das klappen könnte?
Gruß
Lord Cartman