High Graph -Programmierung

Rudi

Level-3
Beiträge
1.581
Reaktionspunkte
101
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Weiterschaltung von Zustand 1 zu Zustand 2 soll verzögert erfolgen wenn mehrere Bedingungen über z.B. 2 Sekunden dauerhaft Highzustand haben.
Wie kann man das am einfachsten realisieren ?
 
Also ich kenne mich HIGH-Graph nicht aus, aber wäre es nicht möglich,
einen FB zu schreiben, der folgende Eingangsparameter hat:
Eine Freigabeeingang, die SPS-Systemtzeit (Timestamp), eine Block-DB Angabe zur Datenpufferung, eine "Timernummer" (indirekte Adressierung innerhalb des Block-DB's), eine Verweildauer und eine Rückmeldung wann diese Zeit abgelaufen ist.

Über die positive Flanke des Freigabeeingangs speicherst Du Dir die aktuelle
SPS-Zeit in dem DB gemäß der 'Timerangabe' z.b. für Timer 1 in DW2,
geht das Freigabesignal aus, speicherst Du dir IMMER die aktuelle Zeit in dieses DW. Nun einen Vergleich, ob gespeicherte Systemzeit + Verweildauer
>= Aktuelle Zeit ist, und wenn ja, dann Rückmeldung = 1.

Somit kannst Du ohne tatsächlich Timer zu benutzen, Verzögerungen programmieren, falls Dir diese in dieser Form genau genug sind.

Cu, Florian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

das kannst du ganz einfach machen im Graph gibts eine Funktion,die Zeitabhängig arbeitet wenn die Trans. erfüllt ist.

Das ganze kannst du dir anschauen wenn du auf den Schritt mit der Maus klickst und dann die Taste F1 drückst und dir die verfügbaren Befehle anschaust.

Kann dir denn Befehl leider auch nicht sagen weil ich keine Software hier habe.

Gruß
 
Ich lasse dafür einen Timer im Permanentfenster laufen. Diesen Verknüpfe ich aus dem aktuellen Zustand und warte auf den Timer in der Transition.

pt
 
Die F1-Taste verweist auf folgende mögliche Befehle:

Anweisungstyp Kennzeichen
Eintrittsaktionen (E)
Vorgeschaltete zyklische Aktionen (C-)
Zyklische Aktionen (C)
Austrittsaktionen (X)
Bedingung (?)
Aktion (!)

Das hilft mir aber denk ich nicht weiter.
 
Zurück
Oben