Hallo,
ein Cutter liest Daten von einer serielle Schnittstelle (RS232) und übergibt diese an eine Register Variable. Die serielle Schnittstelle bekommt die Daten im Sekundentakt.
Das Problem ist, dass Wertänderungen erst mit einer sehr langen Verzögerung (>10 Minuten) in der Register Variable erkannt werden.
Wenn ich manuell die übergeordnete Instanz der Register Variable in „None“ und danach zurück zum
„Cutter“ ändere wird die Wertänderung sofort erkannt.
Frage: Wie kann ich im Programm den Wechsel der Übergeordneten Instanz der Register Variable realisieren?
Debug funktioniert beim SerialPort nicht, daher kann ich nicht beurteilen ob die Daten dort vorhanden sind.
Es handelt sich um die Datenübertragung vom Victron Battery Monitor BMV-600. Wenn die Batterie entladen wird, zeigt IPS immer noch den Ladestrom an.
Erst wenn ich manuell die übergeordnete Instanz der Register Variable in „None“ und danach zurück zum „Cutter“ ändere wird der aktuelle Wert angezeigt. Es hat den Anschein dass die Werte irgendwo gepuffert werden.
Ich kann auch die serielle Schnittstelle nicht mit IPS_SetProperty + IPS_ApplyChanges aus- bzw. einschalten.
Wie kann ich im Programm den Wechsel der Übergeordneten Instanz der Register Variable realisieren?
warum Debug beim SerialPort nicht fuktioniert, kann ich nicht beurteilen,
weiterhin ist, wie schon beschrieben, kein Ein-Ausschalten des SerialPort mit IPS_SetProperty + IPS_ApplyChanges möglich,
wenn ich manuell den SerialPort ausschalte friert die Konsole ein, sobald ich die Konsole neu gestartet habe ist der Serial Port immer noch offen…
zurück zur Problematik, ich habe den Eindruck, dass die Datenmenge zu groß ist, bzw. die Werte im Puffer liegen und nacheinander vom Cutter ausgewertet werden, daher hatte ich schon die Idee die serielle Schnittstelle zyklisch öffnen Daten lesen und [FONT=sans-serif]wieder schliessen
Debug der Cutter und der RegVar zeigen die gleichen Werte an
ich wollte gestern den SerialPort löschen und neu anlegen, aber da ging nix mehr
die Konsole ist eingefroren, erst mit alten Version der Konsole (V2.x) konnte ich die Instanz löschen,
nachdem ich die Instanz „SerialPort“ neu angelegt hatte funktionierte auch Debug , aber nur bis der Cutter mit dem SerialPort verbunden wurde, danach funktionierte Debug im SerialPort nicht mehr
Kannst du mir mehr Infos geben, was genau am Debug nicht geht?
welche Info soll ich liefern? es wird im Debug nichts angezeigt, obwohl am Cutter Daten ankommen…
…wenn ich mit IPS_SetProperty($com_port,„Open“, true);IPS_ApplyChanges($com_port)
versuche die Schnittselle zu öffnen kommt nach einer Totzeit von ca. 30s die Meldung „die Schnittstelle wurde erfolgreich geschlossen“ ???
…der Cutter war das Problem, Cutter entfernt Daten von SerialPort an RegisterVar weitergeleitet und Daten im RegisterVar-Script getrennt, alles funktioniert wieder auch Debug im SerialPort…