Hallo ! Beschäftige mich gerade mit der Programmierung von S7 mittels ST. Nach dem Erstellen des Programmablaufgraphs (PAG) und der Durchführen der Zustandsinterpretation soll nun nach einem Schema der Ablauf in ST "transformiert" werden. - IF-Condition stets mit '1'-Wert (Bedingung erfüllt) beginnen, Ausgabe und Folgezustand. - Wird die Eigenschleife durchlaufen muss kein Folgezustand ausgegeben werden. Frage: Was steht nun nach THEN wenn bei Durchlaufen der Eigenschleife nichts ausgegeben wird ======================================================================== = (* Bezug PAG.bmp: 1 == JA , 0 == NEIN *) TYPE STATE_TYPE: (BEREITSCHAFT,VORBEREITEN,FÜLLEN,WARTEN); END TYPE; PROGRAM MAIN VAR STATE:STATE_TYPE; END VAR VAR_INPUT START : BOOL; BECHER_VORH : BOOL; BECHER_AUSG : BOOL; BECHER_VOLL : BOOL; TANK_LEER : BOOL; END VAR VAR OUTPUT BEREIT : BOOL := 0; EIN_BECHER : BOOL := 0; BECHER_FUELL : BOOL := 0; END_VAR CASE STATE OF BEREITSCHAFT: IF TANK_LEER THEN STATE := BEREITSCHAFT; (* Richtig ? *) ELSE IF BECHER_VORH THEN IF BECHER_AUSG THEN STATE := BEREITSCHAFT; (* Richtig ? *) ELSE IF START THEN STATE := VORBEREITEN; ELSE BEREIT := 1; END_IF; END_IF; ELSE STATE := BEREITSCHAFT; (* Richtig ? *) END_IF; END_IF; VORBEREITEN: ... FUELLEN: ... WARTEN: ... END_CASE; END PROGRAM;
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.