VAR_INPUT
Enable:BOOL;
Reset:BOOL;
Mode:BYTE;
VAR
ActualStep,
NextStep:UINT;
SupervisionSet:ARRAY[Step1..StepX] OF TIME;
SupervisionTimer:TON;
StepDone:BOOL;
Error:BOOL;
END_VAR
(* FB-Hauptcode *)
(* Fehler rücksetzen, in konkreten Anwendungen meist etwas komplexer *)
IF Reset
THEN
Error:=FALSE;
END_IF;
(* Schritt weiterschalten *)
IF Enable AND NOT Error AND StepDone
THEN
CASE Mode OF
Init:
InitStep; (* FB-Aktion für das Weiterschalten bei Initialisierung *)
Auto:
AutoStep: (* FB-Aktion für das Weiterschalten bei Automatikbetrieb *)
END_CASE;
END_IF;
(* Zeitüberwachung der Schritte *)
SupervisionTimer(In:=ActualStep=NextStep,
Pt:=SupervisionSet[NextStep]);
ActualStep:=NextStep;
(* Schrittzustand bestimmen *)
CASE ActualStep OF
Step1:
StepDone:=(* Schritt 1 erledigt*);
Step2:
StepDone:=(* Schritt 2 erledigt*);
(* usw. *)
END_CASE;
(* Fehler setzen bei Zeitüberschreitung *)
IF SupervisionTimer.Q AND NOT StepDone
THEN
Error:=TRUE;
END_IF;
(* Init oder Auto-Aktion *)
CASE ActualStep OF
Step1:
NextStep:=Step2;
(* Step2-Steuerbefehle an die Maschine *)
Step2:
NextStep:=Step3;
(* Step3-Steuerbefehle an die Maschine *)
(* usw. *)
END_CASE;
Warum müssen sich eigentlich Programmierer zigmal im Berufsleben mit neuen Dingen auseinandersetzen, während der Instandhalter darauf bestehen darf, nur Programmiersprachen aus dem letzten Jahrhundert verstehen zu können? Klar könnte ich auch in AWL, KOP, FUP programmieren, aber bei der Komplexität heutiger Programme würde ich dann nicht mehr durchblicken, und der Instandhalter vermutlich auch nicht. ST ist sehr gut lesbar, fast wie eine menschliche Sprache. Und lesen hat doch jeder gelernt.sowas kann man auch in AWL oder FUP Programmieren, dann blicken auch die erfahrenen Instandhalter im Prog durch.
Ich bin durch 20 Jahre Pascal vorbelastet und kann mich mit grafischer Programmierung einfach nicht anfreunden. Ist eine Frage des persönlichen Werdegangs und Geschmacks.Nur warum machst du dann die eigentliche Kette nicht gleich in AS?
St ist meiner Meinung nach die Eleganteste Lösung für den Programmierer, die Instanthalter die ich kenne sind jedoch alle mit AS/ S7 Grapgh vertraut. Wird in den meisten (von Siemens gesponsorten) Berufsschulen auch immernoch so gelehrt.
Schrittketten in St sind nicht nur am elegantesten sondern auch am Besten zu warten. Der Code ist extrem kompakt und eigentlich auch leicht zu verstehen.
Zusammen mit einer Trace-Aufzeichnung des States kann man recht einfach falsche Zustandswechsel finden.
So ein Quatsch.......
Das ist doch eigentlich nur eine Frage des Geschmacks.......
Aber wenn man mal ehrlich zu sich selber ist dann ist für Schrittkette eine Grafische Lösung wirklich am übersichtlichsten.
Außerdem sind Fup, Kop und AWL nicht aus dem letzen Jahrhundert und so wie Ihr behauptet das Instandhalter nichts dazu lernen wollen könnte man auch sagen das Ihr die diejenigen seit die unflexible sind.
Das Problem ist das viele glauben wenn man in einer "angeblichen Hochsprache" programmiert nur dann ein echter Programmierer ist.
Müll....... *ROFL*
Jeder programmiert in der Sprache wo er am effektivsten mit arbeitet und
"Könner" das sagt der Name schon.... können alles und setzen gezielt die Sprache bzw. das Werkzeug ein was am besten geeignet ist.
Ich persönlich habe in meinen Projekten fast immer 2-4 verschiedene Sprachen womit ich bestimmte Dinge,Abläufe und Probleme löse.
In dem Sinn...... weiter üben
Schrittketten in FUP oder KOP dagegen sind meistens absoluter blödsinn.
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?