Problem mit Serial Port, lange Verzögerungszeit

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?

Gruß
Rayk

Siehst du die Daten denn im Debug früher?

paresy

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?

Geht im Cutter der Debug ?
Es bringt nix das ‚Problem‘ zu umgehen (klar kannst du Instanzen auch per Script zuweisen) wenn ein eventueller Bug dadurch nicht gefunden und behoben wird.
Daher wären Auszüge vom Debug der Cutter und der RegVar schon toll. Und ein Screenshot vom Cutter.
Connect/Disconnect:
http://www.ip-symcon.de/service/dokumentation/befehlsreferenz/instanzenverwaltung/verbindungen/ips-connectinstance/
Michael

Debug funktioniert beim SerialPort nicht, daher kann ich nicht beurteilen ob die Daten dort vorhanden sind.

Dann sollten wir erstmal das Problem lösen. Alles andere ist jetzt raten und nicht zielführend. Warum geht das nicht?

paresy

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

[/FONT]

Kannst du mir mehr Infos geben, was genau am Debug nicht geht?

paresy

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“ ???

…nun habe ich statt Bearbeiten Zitieren gedrückt…

…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…