Mit welcher SPS kommunizierst Du nun mit der Waage?
Wie holst Du die empfangenen Zeichen von der PN-Schnittstelle in Dein Programm? Die Nachricht von der Waage sollte immer konstant die selbe Länge haben. Eventuell streut die Waage zusätzliche Zeichen oder Nachrichten in die erwarteten Nachrichten ein? - das sollte man anhand der Start- und -Endezeichen oder an festen Zeichen in der Nachricht erkennen können.
Anstatt rumzurätseln welche unsichtbaren Steuerzeichen eventuell in dem Empfangstelegramm enthalten sein könnten, wäre es wohl besser, sich an die Dokumentation des Waage-Kommunikationsprotokolls zu halten und alles zu verwerfen was sich nicht exakt daran hält. Damit hier helfende Forumsmitglieder das Kommunikationsprotokoll kennen, wäre es vorteilhaft, wenn Du uns einen Downloadlink oder Auszüge der Protokollbeschreibung geben würdest. (die Frage nach einer Kommunikations-Doku steht schon seit 1 Woche unbeantwortet)
Allgemeine Tips:
Du darfst den Empfangspuffer nur auswerten, wenn der Empfangsbaustein (TRCV?) den Empfang der angeforderten Anzahl Zeichen meldet.
Der Empfangspuffer am Empfangsbaustein sollte nicht in TEMP liegen, für den Fall, daß der Empfangsbaustein die empfangenen Zeichen über mehrere Programmzyklen in den Empfangspuffer kopiert.
Löschen des Empfangsspeichers ist eigentlich nicht nötig, weil der Empfangsbaustein jedes empfangene Zeichen nur einmal liefert und automatisch aus dem Empfangsspeicher der PN-Schnittstelle löscht.
Wenn die Zeichen der Nachricht mit String-Funktionen (z.B. CONCAT) verarbeitet werden sollen, dann muß die Nachricht (und jede zu verarbeitende Teil-Nachricht) das S7-String-Format haben - üblicherweise senden fremde Kommunikationspartner nicht im S7-String-Format und man muß selber geeignete String-Header dem Zeichenstrom hinzufügen oder die Zeichen in Strings mit korrektem Header kopieren.
Wenn die Nachricht im Empfangspuffer so verschoben ist - was machst Du dann? Verschwindet die Verschiebung von alleine wieder?
Deine Beispiele sehen nicht nur verschoben aus, sondern auch zerstört (falsche Zeichen) - schreibt vielleicht Dein Programm (ungewollt?) in den Empfangspuffer? Oder liegt das an unkorrekter Stringverarbeitung?
Harald