ich versuche zur Zeit mein Haus und unter anderem die Heizungssteuerung mit Hilfe von Symcon zu visualisieren.
Die Steuerung besitzt einen P-Bus (RS-485). Auf dem Bus wird schon zyklisch im Abstand von 1Minute ein komplettes Datenpaket übertragen. Der Gedanke liegt also nahe das Paket einfach mit zu loggen und anschließend mit Hilfe des cuters die Daten entsprechend aufzuteilen.
Leider wird neben dem Datenpaket noch zyklisch ein Token von dem Systemregler ausgegeben. Ich kenne den Sinn nicht ganz und vermute dass die hohe Frequenz der Ausgabe letztendlich mir ein Problem macht, dass die Datenabtrennung probleme bekomm und nicht stabil funktioniert.
Ein einzelnes Paket wird immer mit FF FF begonnen und mit FE FE beendet.
der Cutter, schickt dir ja die Daten immer im entsprechenden Paket. Wenn Du jetzt nur das grosse benötigst, werte doch die Daten über die Anzahl aus. So ala if strlen >= 20 nimm die Daten ansonsten brauch ich sie nicht.
ich habe da noch ein Verständnissproblem.
Wenn ich dem Cuter die Start und die Stop-bedingung sage, dann würde ich jetzt in meiner naiven Erwartungshaltung annehmen, dass es danach Byte folgen gibt die mit der eingebenen Startbedingung anfangen und mit der gewählten Stopbedingung aufhören.
Dies kann ich nicht nachvollziehen. Eher das Gegenteil ist der Fall. Ich finde in dem Cuterteil auch Teile der Meldung die ich bewußt durch durch die Schneidbedingung auschliesen will.
ich formulier meine Frage mal anders.
Hier ist der reale Datenfluss noch mal.
Ich habe dabei die Daten die ich wollte grün markiert. Die Startbedingung ist blau markiert (ist immer gleich) und am Schluss wieder das „FE FE“.
Die Trennzeichen hast Du aber mit setzen übernommen. Wenn es trotzdem nicht geht, stimmen deine Rohdaten nicht. Am besten mal im Debug vom Comport nachsehen.
ich hab das jetzt noch mal verifiziert. Die Daten stimmen. Ich hab Sie mit einem Terminalpprogramm angesehen. Die gleiche Sequenz kann ich im Debugfenster des Com ports finden.
Nach dem Slicer ist aber das Chaos. Irgendwie findet er offensichtlich den Einstieg nicht.
Kann es sein, dass eventuell hier intern was überläuft oder arbeitet der Slicer ähnlich einem Filter und läßt alles durch was die Start und Stopbedingung erfüllt.
Ich kann leider die Vielzahl der unnützen und ungewollten Buskommunikation nicht abstellen und muss damit leben.
Gibt es noch eine Idee was ich tun kann oder was ich eventuell noch falsch eingestellt habe.
ja, die Sequenz ändert sich. Ich habe die Sequnz eh schon so.
Das Ergebniss ist so wie schon gepostet.
Außerdem sollte eigentlich wenn die Startbedingung nicht erfüllt wird (weil die Sequnz sich ändert) dann einfach nichts mehr rauskommen.
Es gibt hier irgend was wo das Ganze aushebelt.
Komme einfach nicht drauf.