Hallo zusammen,
also so eine "Schnittstelle" ist eine tolle Sache, wenn sie funktioniert. Und sie funktioniert auch bei mir.
Meine Testphase hat etwas länger gedauert.
Zu dem "IP_C.R_OBSERVE:= TRUE; (* Datenempfang überwachen *)" kann ich noch nichts sagen, ich kam ja auch nur während der
Testphase in diesen Zustand.
Meine Probleme waren:
Zum einen kann mein Telnet Server nur zwei mal gleichzeitig angesprochen werden (zwei Kanäle). Also wenn ich durch meine
Versuche zwei mal Mißt gebaut habe war dieser nicht mehr anzusprechen bis dieser durch Neustart wieder zurückgesetzt wurde.
Es wird dann aber der Zustand mit den beiden belegten Partnern angezeigt (also bei Windows Telnet oder Fernsteuerprogramm
vom Hersteller).
In einem zweiten Zustand kann der Geber nicht mehr angesprochen werden. Dies wird nur im Programm vom Hersteller
(Fernsteuerung) mit einer sauberen Fehlermeldung angezeigt. Ist ebenfalls nach einem Reset wieder ok.
Da dieser Messgeber im Ausland eingesetzt ist kann dieser "reset" teilweise etwas länger dauern. (Im nächsten Projekt
kommt nach dem MSS ein eigenes Relais davor.)
Mit der Eingabe und Ausgabe über STRING ist das "handling" toll, wenn man die Steuerzeichen für CR ($0D) und
LF ($0A) richtig eingibt. Der Eigabestring lautet '*DAT ?$0D$0A*TIM ?$0D$0A*C1C ?$0D$0A ....'.
Nur noch Kleinigkeiten sind zu bewältigen:
Ich muss einen Kanal für die SPS Steuerung "reservieren" um die Werte für eine Regelung verwenden zu können. Aber wie?
Mein erster Gedanke war ich nehm das C_ENABLE Signal nur für sehr kurze Zeit weg. War ein Versuch Wert aber kann zu eben oben
beschriebenen Fehler führen, dass der Geber überhaupt nicht mehr ansprechbar ist, wenn ich nachträglich zweimalig
die Fernsteuerung starte.
Wie kann ich eine neue Übertragung anstoßen, wenn ich C_ENABLE nicht mehr (Ausnahme Fehlerfall) weg nehme,
also die Verbindung C_STATE := 255 dauernd aufrecht erhalte?
Benötige ev. nur Gedankenanstoß.
Ansonsten besten Dank für die bisherige Hilfe!
Gruß Rainer