Auto, A_Auto, BA_Auto und stat_BA_Auto
// Betriebsart Einrichten
#A_Einr := #BA_Einr := #Einr AND NOT #Auto;
// Timer
#IEC_Timer_0_Instance(IN := #Auto AND #Auto_Start,
PT := t#3s);
#stat_BA_Auto := #IEC_Timer_0_Instance.Q
#A_Auto :=#A_Auto_start := #Auto AND "Clock_1Hz" AND NOT #stat_BA_Auto
Wird nicht von allen Zielgeräten aktzeptiert. Bitte vorher prüfen!// Betriebsart Einrichten
#A_Einr := #BA_Einr := #Einr AND NOT #Auto;
Ist nicht das gleiche wie in #1.stat_BA_Auto := #IEC_Timer_0_Instance.Q
Ansonsten muss ich DCDCDC recht geben
IF A=true AND C=true THEN
B:=true;
ELSE
B:=false;
END_IF;
B:=A AND C;
"Funktion: Mit dem Eingangsparameter Einrichten wird sowohl die Betriebsart Einrichten als auch die Anzeige Einrichten aktiv. Wird nun Automatik gewählt, ist keine Betriebsart aktiv. Die Anzeige Automatik Start und Automatik blinkt mit 1 Hz. Nachdem die Taste Automatik Start für 3 Sekunden gedrückt wird, wechselt der Baustein in die Betriebsart Automatik und die Anzeige Automatik leuchtet. Um diese Funktionalität abzubilden müssen Sie weitere Statische Variablen verwenden. Verwenden Sie keine Merker! "
Hier meine Lösung:
Code:// Betriebsart Einrichten #BA_Einr := #Einr AND NOT #Auto; #A_Einr := #BA_Einr; // Betriebsart Automatik REGION #IEC_Timer_0_Instance(IN := #Auto AND #Auto_Start, PT := t#3s); IF #IEC_Timer_0_Instance.Q THEN #stat_BA_Auto := true; END_IF; IF #Auto AND "Clock_1Hz" AND NOT #stat_BA_Auto THEN #A_Auto := true; #A_Auto_start := true; ELSE #A_Auto := FALSE; #A_Auto_start := FALSE; END_IF; IF #stat_BA_Auto AND #Auto THEN #A_Auto := true; #A_Auto_start := FALSE; ELSIF NOT #Auto THEN #A_Auto := FALSE; #A_Auto_start := FALSE; #stat_BA_Auto := FALSE; END_IF; #A_Auto := "Clock_1Hz" AND #Auto AND NOT #stat_BA_Auto; END_REGION;
// Betriebsart Einrichten
#BA_Einr := #Einr AND NOT #Auto;
// Anzeige Einrichten
#A_Einr := #BA_Einr;
// Betriebsart Automatik
#IEC_Timer_Einverz_Start_Taster(IN := #Auto_Start,PT := t#3s); // Einschaltverzögerung 3sek
IF NOT #Auto OR #Einr THEN
#stat_BA_Auto := false; // Betriebsart Auto rücksetzen
ELSIF #AUTO AND NOT #Einr AND #IEC_Timer_Einverz_Start_Taster.Q AND NOT #Einverz_Start_Taster_OLD
#stat_BA_Auto := true; // Betriebsart Auto setzen
END_IF;
#Einverz_Start_Taster_OLD := #IEC_Timer_Einverz_Start_Taster.Q; // Flankenerkennung wegen des Streichholzes
#BA_Auto := stat_BA_Auto;
// Anzeige Automatik
#A_Auto := #stat_BA_Auto OR (#Auto AND NOT #Einr AND "Clock_1Hz");
// Anzeige Auto_Start
#A_Auto_start := #Auto AND NOT #Einr AND NOT #stat_BA_Auto AND "Clock_1Hz";
// #Einr sowie #Auto sind Eingänge von nem Knebelschalter
// #BA_Einr #BA_Auto #A_Einr #A_Auto #A_Auto_start sind Ausgänge
// #stat_BA_Auto #Einverz_Start_Taster_OLD statische Variable im Instanz-DB
Gibt es eine Buchempfehlung für SCL ? habe zwar das "SPS-Programmierung mit SCL im TIA-Portal", daher die IF ELSE Orgie.#A_Einr := #BA_Einr := #Einr AND NOT #Auto; von kiar
muss man ja auch nicht machen...habe nur beim Erstrellen keine andere Möglichkeit gefunden 2 Ausgänge mit einer Anweisung zu beshreiben, daher mein Griff zu IF.
gute FrageGibt es eine Buchempfehlung für SCL ? habe zwar das "SPS-Programmierung mit SCL im TIA-Portal", daher die IF ELSE Orgie.
Aber mir Fehlen hier gerade die einfachen Anweisungen (z.b. wie im Zitiat) , Übungen bzw. Beispiele.
Bin der Meinung, die Lampe A_auto_start sollte wieder ausgehen, wenn die Anlage läuft...
Es geht nicht um "kurzen" Code, sondern um Nachvollziehbarkeit in 10 Jahren! Ausserdem leicht erweiterungsfähig sowie wartungsfreundlich...habe es mittlerweile überarbeitet und noch ne kürzere variante hin bekommen.
in die Taster klemmt gerne mal jemand einfach nen Streichholz, um sich 5m Fussweg und 3sek drücken zu sparen. Deshalb programmiert man für Eintaster bzw. Quittiertaster in der Regel ne Flankenerkennung. Sonst macht Dein 3sek Timer keinen Sinn, wenn der durch nen zwischengeklemmtes Streichholz einfach überbrückt werden kann...nur den Kommentar müsstest mir erklären "Flankenerkennung wegen des Streichholzes"
Hab oben ne Steigende Flanke genommen... Kann man sicherlich aber ne Grundsatzdiskussion draus machen.@ducati:
Flankenerkennung wg. StreichholzDen muss ich mir merken. Leider auch schon so gesehen.
Äh.. nochmal für Laien wie mich. Auswertung fallende Flanke oder?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?