itsdarkdownhere
Level-2
- Beiträge
- 81
- Reaktionspunkte
- 16
-> Hier kostenlos registrieren
Guten Abend
Ich habe eine Frage, wie man am besten ein Programm mit mehreren Betriebsarten strukturiert und realisiert.
An dieser Beispielanlage soll es die Betriebsarten Stop, TeachIn (Handbetrieb), Automatik und Service geben. Die Darstellung und Eingabe erfolgt über ein HMI + Schlüsselschalter.
Die Beispielanlage besitzt 3 Linearachsen, welche nacheinander auf ihre Position fahren.
Mein erster Ansatz wäre folgender:
Eine Statemachine bspw. als Switch/Case im OB1/Main, welcher dann die Betriebsarten als FB aufruft. Allerdings möchte ich ja im Servicebetrieb bspw. auch die Funktionen des Handbetriebs nutzen. Oder die TeachIn Werte, in einer Rezeptur speichern, welche dann im Automatikbetrieb genutzt werden können.
Betriebsartenübergreifend sollen aber ebenfalls Funktionen wie Achsfreigabe, Fehler usw. existieren.
Mein zweiter Ansatz wäre an den FB die Betriebsart als Eingangsbedingung zu nutzen. Die Betriebsarten sind dann eine ENUM und bspw. manuell auf Positionen fahren wird nur aktiv, wenn Betriebsart.Handbetrieb true ist. Im HMI kann man ja die Funktionalität einfach ausblenden.
Wie realisiert man so etwas normalerweise?
Bisher hatten meine Programme immer nur eine Hauptfunktion mit unabhängigen Nebenfunktionen.
Vielleicht könnt ihr mir ja einen kleinen Denkanstoß geben.
Danke
Ich habe eine Frage, wie man am besten ein Programm mit mehreren Betriebsarten strukturiert und realisiert.
An dieser Beispielanlage soll es die Betriebsarten Stop, TeachIn (Handbetrieb), Automatik und Service geben. Die Darstellung und Eingabe erfolgt über ein HMI + Schlüsselschalter.
Die Beispielanlage besitzt 3 Linearachsen, welche nacheinander auf ihre Position fahren.
Mein erster Ansatz wäre folgender:
Eine Statemachine bspw. als Switch/Case im OB1/Main, welcher dann die Betriebsarten als FB aufruft. Allerdings möchte ich ja im Servicebetrieb bspw. auch die Funktionen des Handbetriebs nutzen. Oder die TeachIn Werte, in einer Rezeptur speichern, welche dann im Automatikbetrieb genutzt werden können.
Betriebsartenübergreifend sollen aber ebenfalls Funktionen wie Achsfreigabe, Fehler usw. existieren.
Mein zweiter Ansatz wäre an den FB die Betriebsart als Eingangsbedingung zu nutzen. Die Betriebsarten sind dann eine ENUM und bspw. manuell auf Positionen fahren wird nur aktiv, wenn Betriebsart.Handbetrieb true ist. Im HMI kann man ja die Funktionalität einfach ausblenden.
Wie realisiert man so etwas normalerweise?
Bisher hatten meine Programme immer nur eine Hauptfunktion mit unabhängigen Nebenfunktionen.
Vielleicht könnt ihr mir ja einen kleinen Denkanstoß geben.
Danke