RELAISPLATINE 8-fach Seriell Com C

Sorry,
habe ich übersehen in dem ich die Teile aus meinen Scripten herauskopiert habe (Code oben korrigiert)

… SetValueInteger($ID_Semaphore ,0); muss nach erfolgreicher Verarbeitung im „COM-Port-RegisterVar-Read“ rein, damit die Freigabe für den nächsten Request vorhanden ist

… SetValueInteger($ID_Semaphore ,0); sollte es nach 10. Requestversuchen heissen (Anforderungscript)

Ich hoffe das ich jetzt nichts mehr übersehen habe

tgusi74

Soweit ich weiß, braucht man bei der RegVar kein Semaphor mehr. Kann mich aber auch irren :rolleyes:

Hallo,
ein Semaphore ist vielleicht bei den wenigen Bytes (4.Bytes je Request) welche hier über die Schnittstelle gehen nicht so wichtig.

… jedoch habe ich die Erfahrung gemacht das sich überschneidende Scripte negative auf die RegVar auswirken, siehe http://www.ip-symcon.de/forum/f18/speicherueberlauf-konstellation-7374/#post61359 und ab diesen Zeitpunkt dann der RegVar-Buffer immer verdrehten Inhalt liefert, egal ob er einen Zyklus später wieder sauber abgelöscht wird (es Hilft dann nur ein schliessen und öffnen der Schnittstelle)

… daher sage ich es sollte von Anfang an ein Semaphore programmiert werden !!!

tgusi74

Also bei mir läuft es nun wunderbar! Dankeschön.