ComPort und Waterkotte abfragen

Hallo Oliver,

bist Du sicher, dass Du das CutChars-Modul aus dem Datenweg entfernt hast, und dass die Registervariable auf Append eingestellt ist?

Gruß
HJH

Hallo HJH,

ja habe ich beides. Nochmal zum Verständnis Auszug den ich gerade geposted habe ist ein Serial Trace. Das Tool zieht den Stream parallel zur Anwendung.
Das ist halt so komisch. Durch das verwenden von Append schaffe ich die ganzen Daten ja in eine Variable am Stück.
Es kommt nur oft zu CRC Fehlern da der String unvollständig ist.

Danke
Gruß
Oliver

Hallo Oliver,

ich bin davon ausgegangen, dass Du den Append-Modus der Registervariablen bereits richtig behandelst.

Hier noch einmal eine Zusammenfassung:
Da IP-Symcon ohne CutChars nicht wissen kann, wann ein Telegramm zu Ende ist, kann der Trigger zu einem beliebigen Zeitpunkt noch während der Übertragung auftreten. Daher musst Du nach dem Trigger noch einen Augenblick warten, um einem eventuellen Datenrest Zeit zum Eintreffen zu geben. Zweckmäßigerweise fügt man eine Pause von etwa einer halben Sekunde mit dem Befehl IPS_Sleep(…) ein. Erst danach darf man die Registervariable auslesen und bearbeiten oder anderweitig abspeichern. Zum Schluss muss die Variable natürlich gelöscht werden, um Platz für das nächste Telegramm zu schaffen und um keinen Datenmix zu erzeugen.

Gruß
HJH

PS: Bei einer Datenrate von 9600bd benötigt ein Zeichen etwa 1ms. Bei einer Wartezeit von 500ms können theoretisch noch 500 Zeichen empfangen werden. In der Praxis wird man mit kürzeren Wartezeiten auskommen.

Hallo HJH,

so wie du es beschrieben hast, mache ich das auch. Ich Warte 700ms um 250 Zeichen zu erhalten.

Was ich mich halt frage ist, warum der Serial Sniffer den Datenstrom in einem Block anzeigt wenn ich die Original Soft nehme und in mehreren 8 Byte Teilen wenn ich es mit IPS mache. Wohl bemerkt, es sind die Andwort Daten auf der RS232. Kann ich das einfach ignorieren ?

Naja ich habe da auch noch ein anderes Problem. Ich erhalte Daten und der CRC Check ist ok. Die Ausgewerten Stunden des Kompressors (Floting Point IEEE) sind aber < 0,1 anstatt 2680. das passiert auch sporadisch. Naja dazu aber vieleicht später.