-> Hier kostenlos registrieren
Hallo,
wir versuchen im Moment unser Hochregallagermodell mittels Schrittketten ans laufen zu bekommen.
Dazu haben wir zuerst Funktionsbausteine geschrieben die einzelne Anlagenteile ansteuern, die wir dann in einer Schrittkette zu einem ganzen Zusammenfügen wollen.
Und zum Thema Schrittketten habe ich nun einige Fragen, in der Hoffung das Ihr mir weiter gelfen könnt als die beiden Siemens-Ausbildungsunterlagen zu dem Thema :evil:
1. Wenn ich in einem Schritt, z.B. S3, INT-Werte in ein Merkerwort MW1 schreibe, um diese im nächsten Schritt zu benutzen, so ist das Merkerwort leer... Wie kann man also Werte 'speichern' um diese innerhalb der Schrittkette wirksam zu Speichern bzw. an andere Schritte zu übergeben.
In unserem Fall geben wir im 1. Schritt per Wahlschalter die X- und die Y-Koordinaten vor, die das RBG anzusteuern hat.
Wir lesen dabei die Werte als Byte ein und splitten diese dann auf, um die INT-Werte einzeln an die Funktionsbausteine für die X- und Y-Achse zu übergeben.
Nur wenn diese Werte in MW1 bzw MW2 geschrieben werden, und dann im nächsten Schritt diese beiden Merkerworte auf den Eingang der Achsenbausteine gegeben werden, so zeigt der Onlinestatus immer eine 0 an ... :?
2. Not-Aus
Man kann ja einen Interlock programmieren der erfüllt sein muss, damit die Kette weiterläuft.
Wir geben nun den Not-Aus auf den Interlock, und wenn dieser Ausgelöst wird, hält die Kette auch brav in diesem Schritt inne.
Da wir aber innerhalb der Schritte FB's aufrufen die zB ein Band laufen lassen, läuft das Band auch brav weiter.
Wir haben das also so gemacht das wir den Not-Aus auch im FB nutzen um das Band anzuhalten, was dann aber den Interlock-Not-Aus irgendwie überflüssig erscheinen lässt...
Daher hier die Frage wie Ihr so etwas regelt bzw. angeht.
Ist eventuell die Vorgehensweise bei uns falsch mit den FB's/FC's?
3. Prüfen auf Korrekte werte und danach laden von bestimmten Werten
Wir haben unser Lager so aufgebaut, das es Etagen 1, 2 und 3 gibt.
Da wir Gabellichtschranken zur Positionierung nutzen, haben wir pro Etage 2 Flankengeben, um eine obere und eine untere Position zu ermitteln zum Ein- und Auslagern.
Wir haben nun in der untersten Y-Position den Wert 0 zum auslagern, 1 zum einlagern.
Etage 2 entsprechend Werte 2 und 3 und Etage 3 dann die Werte 4 und 5.
Wir möchten es so machen, das wenn der Bediener sagt das Er in ein Fach in Etage 1 einlagern möchte, das der Anfahrpunkt dann den Y-Wert 1 anfährt.
Soll in Etage 3 ausgelagert werden, so muss der Wert 4 angesteuert werden.
Wir haben nun folgende Bedinungen:
Einlagern
Etage 1: #1
Etage 2: #3
Etage 3: #5
Auslagern
Etage 1: #0
Etage 2: #2
Etage 3: #4
Ich muss also irgendwie in einem FB sagen können das wenn Einlagern gewählt ist und die Etage 2, das dann der Wert 3 ausgegeben wird mit dem die Y-Achse dann arbeiten kann.
Im Moment mache ich das so, das wenn Etage 1 / Einlagern gewählt wurde, einfach auf den Y-Wert 0 addiert wird.
Bei Etage 2 entsprechend 1 und bei Etage 3 dann die 2 aufaddiert.
Beim Auslagern beginnt das ganze mit -1 für Etage 1, +0 bei Etage 2 und +1 bei Etage 3.
Ist das so OK auch von den Laufzeiten oder gibt es da eine eleganzere Lösung für?
Ein anderer Versuch war zB mit Merkern, was aber noch mehr Netzwerke ergab...
Mit freundlichen Grüßen,
Michael
wir versuchen im Moment unser Hochregallagermodell mittels Schrittketten ans laufen zu bekommen.
Dazu haben wir zuerst Funktionsbausteine geschrieben die einzelne Anlagenteile ansteuern, die wir dann in einer Schrittkette zu einem ganzen Zusammenfügen wollen.
Und zum Thema Schrittketten habe ich nun einige Fragen, in der Hoffung das Ihr mir weiter gelfen könnt als die beiden Siemens-Ausbildungsunterlagen zu dem Thema :evil:
1. Wenn ich in einem Schritt, z.B. S3, INT-Werte in ein Merkerwort MW1 schreibe, um diese im nächsten Schritt zu benutzen, so ist das Merkerwort leer... Wie kann man also Werte 'speichern' um diese innerhalb der Schrittkette wirksam zu Speichern bzw. an andere Schritte zu übergeben.
In unserem Fall geben wir im 1. Schritt per Wahlschalter die X- und die Y-Koordinaten vor, die das RBG anzusteuern hat.
Wir lesen dabei die Werte als Byte ein und splitten diese dann auf, um die INT-Werte einzeln an die Funktionsbausteine für die X- und Y-Achse zu übergeben.
Nur wenn diese Werte in MW1 bzw MW2 geschrieben werden, und dann im nächsten Schritt diese beiden Merkerworte auf den Eingang der Achsenbausteine gegeben werden, so zeigt der Onlinestatus immer eine 0 an ... :?
2. Not-Aus
Man kann ja einen Interlock programmieren der erfüllt sein muss, damit die Kette weiterläuft.
Wir geben nun den Not-Aus auf den Interlock, und wenn dieser Ausgelöst wird, hält die Kette auch brav in diesem Schritt inne.
Da wir aber innerhalb der Schritte FB's aufrufen die zB ein Band laufen lassen, läuft das Band auch brav weiter.
Wir haben das also so gemacht das wir den Not-Aus auch im FB nutzen um das Band anzuhalten, was dann aber den Interlock-Not-Aus irgendwie überflüssig erscheinen lässt...
Daher hier die Frage wie Ihr so etwas regelt bzw. angeht.
Ist eventuell die Vorgehensweise bei uns falsch mit den FB's/FC's?
3. Prüfen auf Korrekte werte und danach laden von bestimmten Werten
Wir haben unser Lager so aufgebaut, das es Etagen 1, 2 und 3 gibt.
Da wir Gabellichtschranken zur Positionierung nutzen, haben wir pro Etage 2 Flankengeben, um eine obere und eine untere Position zu ermitteln zum Ein- und Auslagern.
Wir haben nun in der untersten Y-Position den Wert 0 zum auslagern, 1 zum einlagern.
Etage 2 entsprechend Werte 2 und 3 und Etage 3 dann die Werte 4 und 5.
Wir möchten es so machen, das wenn der Bediener sagt das Er in ein Fach in Etage 1 einlagern möchte, das der Anfahrpunkt dann den Y-Wert 1 anfährt.
Soll in Etage 3 ausgelagert werden, so muss der Wert 4 angesteuert werden.
Wir haben nun folgende Bedinungen:
Einlagern
Etage 1: #1
Etage 2: #3
Etage 3: #5
Auslagern
Etage 1: #0
Etage 2: #2
Etage 3: #4
Ich muss also irgendwie in einem FB sagen können das wenn Einlagern gewählt ist und die Etage 2, das dann der Wert 3 ausgegeben wird mit dem die Y-Achse dann arbeiten kann.
Im Moment mache ich das so, das wenn Etage 1 / Einlagern gewählt wurde, einfach auf den Y-Wert 0 addiert wird.
Bei Etage 2 entsprechend 1 und bei Etage 3 dann die 2 aufaddiert.
Beim Auslagern beginnt das ganze mit -1 für Etage 1, +0 bei Etage 2 und +1 bei Etage 3.
Ist das so OK auch von den Laufzeiten oder gibt es da eine eleganzere Lösung für?
Ein anderer Versuch war zB mit Merkern, was aber noch mehr Netzwerke ergab...
Mit freundlichen Grüßen,
Michael