-> Hier kostenlos registrieren
Hallo,
bevor alle mich zurechtweisen: ich habe die Suche bereits bemüht, aber nichts wirklich passendes gefunden.
Vielleicht ist eine Schrittkette auch falsch und es geht besser in ST. Aber erst mal denke ich an AS.
Ich brauche folgendes:
Variablen:
VAR_INPUT
Aktivierung_SK :BOOL;
Nachlauf_Umwälzung_SK :TIME;
Abfluss_SK :TIME;
HG_DAUER_ingesamt_SK :TIME;
HG_Takt_HI_SK :TIME;
HG_Takt_LO_SK :TIME;
Wartezeit_SK :TIME;
END_VAR
VAR_OUTPUT
Umwaelzung_Kontakt_SK :BOOL;
Abfluss_Kontakt_SK :BOOL;
HG_Kontakt_SK :BOOL;
Ablauf_beendet :BOOL;
Umwaelzung_Ablauf :Time;
Abfluss_Ablauf :Time;
HG_Dauer_Ablauf :Time;
Wartezeit_Ablauf :Time;
END_VAR
Der Programmablauf sollte folgender sein (kein Anspruch auf korrekten Code, will es nur mal so zeigen):
Entweder:
Aktivierung_SK=False ---->>> Return (nichts soll passieren)
Oder:
Aktivierung_SK=True
dann
-->>Umwaelzung_Kontakt=True für die Dauer von Nachlauf_Umwälzung
Dabei soll Umwaelzung_Ablauf angezeigt werden.
danach
-->>Abfluss_Kontakt_SK=True für die Dauer von Abfluss_SK
Dabei soll Abfluss_Ablauf angezeigt werden.
danach
-->>Ablauf der Zeit HG_Dauer_insgesamt, innerhalb dieser Zeit soll ein Taktgeber, der durch HG_Takt_HI_SK und HG_Takt_LO_SK parametriert ist, den Ausgang HG_Kontakt_SK schalten.
Dabei soll HG_Dauer_Ablauf angezeigt werden.
danach
-->>Ablauf der Zeit Wartezeit_SK
danach
-->> Ablauf_beendet soll für 1 Sekunde schalten, um anzuzeigen, dass der Ablauf beendet ist.
Wie löst man so eine Aufgabe am Besten?
Danke schon mal für´s Lesen.
Gruss
McNugget
bevor alle mich zurechtweisen: ich habe die Suche bereits bemüht, aber nichts wirklich passendes gefunden.
Vielleicht ist eine Schrittkette auch falsch und es geht besser in ST. Aber erst mal denke ich an AS.
Ich brauche folgendes:
Variablen:
VAR_INPUT
Aktivierung_SK :BOOL;
Nachlauf_Umwälzung_SK :TIME;
Abfluss_SK :TIME;
HG_DAUER_ingesamt_SK :TIME;
HG_Takt_HI_SK :TIME;
HG_Takt_LO_SK :TIME;
Wartezeit_SK :TIME;
END_VAR
VAR_OUTPUT
Umwaelzung_Kontakt_SK :BOOL;
Abfluss_Kontakt_SK :BOOL;
HG_Kontakt_SK :BOOL;
Ablauf_beendet :BOOL;
Umwaelzung_Ablauf :Time;
Abfluss_Ablauf :Time;
HG_Dauer_Ablauf :Time;
Wartezeit_Ablauf :Time;
END_VAR
Der Programmablauf sollte folgender sein (kein Anspruch auf korrekten Code, will es nur mal so zeigen):
Entweder:
Aktivierung_SK=False ---->>> Return (nichts soll passieren)
Oder:
Aktivierung_SK=True
dann
-->>Umwaelzung_Kontakt=True für die Dauer von Nachlauf_Umwälzung
Dabei soll Umwaelzung_Ablauf angezeigt werden.
danach
-->>Abfluss_Kontakt_SK=True für die Dauer von Abfluss_SK
Dabei soll Abfluss_Ablauf angezeigt werden.
danach
-->>Ablauf der Zeit HG_Dauer_insgesamt, innerhalb dieser Zeit soll ein Taktgeber, der durch HG_Takt_HI_SK und HG_Takt_LO_SK parametriert ist, den Ausgang HG_Kontakt_SK schalten.
Dabei soll HG_Dauer_Ablauf angezeigt werden.
danach
-->>Ablauf der Zeit Wartezeit_SK
danach
-->> Ablauf_beendet soll für 1 Sekunde schalten, um anzuzeigen, dass der Ablauf beendet ist.
Wie löst man so eine Aufgabe am Besten?
Danke schon mal für´s Lesen.
Gruss
McNugget