TIA Mehrere Panels eine Variable ändern??

dicker

Level-1
Beiträge
36
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Liebe Gemeinde,
ich scheiter an einer eigentlich einfachen Aufgabe.
Ich habe eine Maschine S7-300 mit Panel (HP1) am laufen. Es wurde eine Erweiterung der Maschine (ebenfalls mit Panel (NP1) und S7-300) über Buskoppler eingebunden. Diese könnte auch für sich laufen, soll aber vom Bus aus gesteuert werden. Sollwerteingabe über das HP1 direkt in die Sollwert-Variable (SV1) dann weiter über den Koppler in SV2 und von dort wird sie dann umgesetzt.

So weit so gut.

Nun soll es aber auch möglich sein die SV2 vom NP1 aus zu überschreiben. Für den Fall, dass es so ist gebe ich den aktuellen SV2 über den Koppler (als SV3) an das HP1 zurück. Dort kann ich dann gucken, ob sich der Wert geändert hat und sollte es so sein, übergebe ich den Wert in SV1.

Soweit immer noch kein Problem.

Nun kommen die Laufzeiten zwischen den Verbindungen dazu.
Ändere ich den Wert SV1 an HP1 habe ich im Vergleich zwischen SV3 und SV1 ein Problem, weil der SV3 für ein paar ms noch den alten Wert enthält. Die Maschine denkt SV3 hat sich geändert und gibt den alten Wert zurück. Ändere ich den Wert SV3 an NP1, dann wird dieser Wert gleich wieder durch meinen Wert SV1 überschrieben, weil der ja auch noch aktiv ist.
Irgendwie muss ich das Problem mit den Laufzeiten lösen.

Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.
Gibt es für solche Situationen irgendeine Standardlösung??
 
Mich hat das alles etwas verwirrt. Ohne da jetzt durchgeblickt zu haben mal einfach frei aus der Hüfte geschossen:
Kanst du evtl. einfach eine zeitliche Verzögerung nach dem Verlgeich einfügen. D.h. der Wert muss für Zeit X unterschiedlich sein, bis der neue/alte Wert "durchrangiert" wird?


-chris


EDIT:
Ich würde in dem Fall bei Wertänderung ein Button "Übernehmen" hinzufügen und nicht einfach auf Wert_von_Panel_x <> Wert_von_Panel_y vergleichen.
Somit kannst du es einfach auswerten. Wird der Button "Übernehmen" gedrückt, nimmst du diesen Wert.

U Button_Übernehmen_Panel_X > Move "Eingabewert" an Stelle, wo dieser Wert ausgewertet / Verarbeitet wird
U Button_Übernehmen_Panel_Y > Move "Eingabewert" an Stelle, wo dieser Wert ausgewertet / Verarbeitet wird
U Button_Übernehmen_Panel_Z > Move "Eingabewert" an Stelle, wo dieser Wert ausgewertet / Verarbeitet wird

Mal so als Beispiel
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
D.h. der Wert muss für Zeit X unterschiedlich sein, bis der neue/alte Wert "durchrangiert" wird?

Das funktioniert ja nur in einer Richtung. In zwei Richtungen ja nicht.
Extra ein Button zum übernehmen wollte ich nicht machen, weil die Panels zu klein sind. Aber ich glaube, da gab es auch was in WinCC, dass automatisch bei Eingabe eine Variable getriggert wird.
Ich denke so ist es am Besten.
Danke Dir.
 
Zurück
Oben