-> Hier kostenlos registrieren
SCL Neuling / Lösung für Übung
Hallo zusammen,
kurze Info über mich.
Ich bin 42 Jahre alt, habe Elektriker Produktionstechnik gelernt und abreite seit ca. 16 Jahren in der IH.
Unsere Programmierumfänge halten sich in Grenzen. Da wir aber seit 2023 die erste TIA Anlage besitzen, mit teils SCL, wollte ich
mich hier ein wenig einlesen bzw. fortbilden.
Daher versuche ich gerade alte Übungen in SCL umzuschreiben.
"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:
// 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;
Meine Frage wäre nun ob es nicht eine elegantere bzw. kompaktere Lösung für den Automatikbetrieb gibt.
mfg
spark2001
Hallo zusammen,
kurze Info über mich.
Ich bin 42 Jahre alt, habe Elektriker Produktionstechnik gelernt und abreite seit ca. 16 Jahren in der IH.
Unsere Programmierumfänge halten sich in Grenzen. Da wir aber seit 2023 die erste TIA Anlage besitzen, mit teils SCL, wollte ich
mich hier ein wenig einlesen bzw. fortbilden.
Daher versuche ich gerade alte Übungen in SCL umzuschreiben.
"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:
// 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;
Meine Frage wäre nun ob es nicht eine elegantere bzw. kompaktere Lösung für den Automatikbetrieb gibt.
mfg
spark2001