IEC 1131 ST >> CASE

Programmierung und Software in Steuerungen

Programmierung und Software in Steuerungen

Moderator: Moderatorengruppe

IEC 1131 ST >> CASE

Neuer Beitragvon kentjohnson am Donnerstag 8. Februar 2007, 18:13

Hallo !

Bitte eine kurze Nachfrage einer Ablaufsteuerung mit case:
Ist es syntaktisch korrekt innerhalb der Anweisung 'case ... of' nur die sich ändernden Ausgangsvariablen auszugeben, oder sollten für jeden Zustandsübergang auch sämtliche Ausgangsvariablen gelistet sein?

Danke Kent


Minimal:

...

VAR_OUTPUT
VEIN1 : BOOL := 0 ;
VAUS1 : BOOL := 1 ;
VEIN2 : BOOL := 0 ;
VAUS2 : BOOL := 1 ;
STOER : BOOL := 0 ;
END_VAR

CASE STATE OF

FUELLEN_T1 : IF T1VOLL = FALSE THEN
VEIN1 := 1 ;
STATE := FUELLEN_T1 ;
ELSE IF T1LEER THEN
STOER := 1 ;
STATE := FUELLEN_T1 ;
ELSE STATE := FUELLEN_T2 ;
END_IF ;
END_IF ;
... : ...

==============================================

Zum Vergleich:

...

VAR_OUTPUT
VEIN1 : BOOL := 0 ;
VAUS1 : BOOL := 1 ;
VEIN2 : BOOL := 0 ;
VAUS2 : BOOL := 1 ;
STOER : BOOL := 0 ;
END_VAR

CASE STATE OF
FUELLEN_T1 : IF T1VOLL = FALSE THEN
VEIN1 := 1 ;
VAUS1 := 1 ;
VEIN2 := 0 ;
VAUS2:= 1 ;
STOER := 0 ;
STATE := FUELLEN_T1 ;
ELSE IF T1LEER THEN
VEIN1 := 0 ;
VAUS1 := 1 ;
VEIN2 := 0 ;
VAUS2:= 1 ;
STOER := 1 ;
STATE := FUELLEN_T1 ;
ELSE VEIN1 := 0 ;
VAUS1 := 1 ;
VEIN2 := 0 ;
VAUS2:= 1 ;
STOER := 0 ;
STATE := FUELLEN_T2 ;
END_IF ;
END_IF ;
... : ...
kentjohnson
Threadstarter
24711
 
Beiträge: 1
Registriert: Donnerstag 8. Februar 2007, 18:02

Neuer Beitragvon BestFriend am Donnerstag 15. Februar 2007, 15:19

Wenn du in einer Siemens SPS in einer Funktion Ausgangsvariablen verwendest, dann wird diesen zum Zeitpunkt des öffnens der Funktion ein temporärer (undefinierter) Wert zugewisen. Daher ist es eher ratsam Ein- / Ausgangsvariablen zu definieren. Ansonsten kann auch am Anfang des Bausteins soetwas wie eine Initialisierung programmiert werden. Hier müssen dann den Ausgangsvariablen (und auch den temporären) Standardwerte zugewiesen werden. Du hast das in der Variablendefinition gemacht - keine Ahnung ob das wirklich funktioniert.

Ich hab bisher aber nur auf KOP, FUP und AWL programmiert. SCL kann ich leider nicht, und daher auch nicht diese CASE Abfrage. Sofern den Variablen bzw. den Ausgängen vorher schon Werte zugewisen worden sind, sollte es nicht notwendig sein in der CASE Abfrage diese nochmal zu setzen.
BestFriend
24890
Junior Mitglied
 
Beiträge: 27
Registriert: Freitag 1. Dezember 2006, 09:01


Zurück zu SPS

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste