FC Abarbeitung im OB1

K3ul3

Level-1
Beiträge
28
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
ich habe folgende Frage:
Ich plane als Abschlussprojekt, Mechatronik-Ausbildung, ein kleines mechatronisches System. Und zwar ist dies eine Sortieranlage mit einem Magazin, worin sich 2 Werkstückarten, Metall und Kunststoff befinden.
Diese Werkstücke werden auf ein Förderband geschoben, wo sie wiederum auf 2 Stellplätze, je nach Material, abgeladen werden.

Jetzt zum Programm:
Ich habe mir überlegt 6 FC´s zu programmieren, für die 6 möglichen auftretenden Fälle.
FC1: Beide Ablageplätze "unbelegt" + im Magazin als nächster Baustein Metall
FC2: Beide Ablageplätze "unbelegt" + im Magazin als nächster Baustein Kunststoff
FC3: Ablageplatz Metall "belegt" + im Magazin Kunststoff a.n.Baustein
usw.
Komme hierbei auf 6 Fälle, die möglich wären!

Jetzt meine Frage:
Ich möchte sicherstellen, dass sich NIE 2 FC´s im Ablauf überschneiden, sondern immer schön FC weise abarbeitet werden. Dh. erst wenn z.B. der FC 2 fertig ist, darf ein neuer beginnen.

Ich könnte es so machen, dass ich alle Merker aus den anderen FC Schrittketten als negierte Und - Bedingung verwende, d.h., dass solange die Merker von FC1 aktiv sind, diese verhindern, dass FC 2 starten kann!

Diese Lösung erscheint mir aber als nicht sehr professionell.

Gibt es da nicht eine bessere Lösung, die bewirkt, dass immer nur FC für FC abgearbeitet werden kann, ohne dass beide z.B sich im Ablauf überschneiden würden?

MfG, keule
 
Hallo Keule,
ungeachtet der von dir beschriebenen Situationen sieht es für mich nach einer Schrittkette mit möglichen Alternativ-Zweigen aus. Um das korrekt beurteilen zu können müßte man wissen, worin sich die Abläufe "Metall" und "Kunststoff" unterscheiden ...

Zu deiner Frage grundsätzlich:
Wenn du einen Ablauf gegen einen anderen Ablauf verriegeln möchtest, dann geht das z.B. mit Status-Merkern der jeweiligen Schrittketten. Ablauf 2 darf nur starten können wenn Ablauf 1 auch bereit ist oder fertig meldet ... usw.
Bedingte Programmbearbeitung - "es wird nur der Teil, den ich gerade brauche bearbeitet" gefällt mir nicht.

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Unterschied liegt in den verschiedenen Ablageplätzen.
Stell es dir so vor, ein Laufband, mittig davon der Platz für das Metall Werkstück, wird von einem Zylinder ausgeschoben.
Am Ende des Laufbands ist der Ablageplatz für das Kunststoff Teil.

Jetzt will ich es so machen, dass nur ein Werkstück jeweils auf dem jew. Ablageplatz liegen darf, also muss ich ständig abfragen, was sich im Magazin als nächstes befindet um entscheiden zu können ob ich es ausschieben darf oder ob es warten muss, bis der Platz frei wird.
 
Hi,
also ich würde das in 2 Schrittketten lösen...

Schrittkette 1 (Metall) startet mit
- Metallbauteil in Werkstückregister vorhanden
und Ablageplatz Metall frei und Schrittekette 2 nicht gestartet
- dann hier die weiteren Schritte

Schrittkette 2 (Kunststoff) startet mit
- Kunststoffteil in Werkstückregister vorhanden
Ablageplatz Kunststoff frei und Schrittkette 1 nicht gestartet
- hier auch die weiteren Schritte...

Hoffe ich konnte dir helfen???

Gruß
Philipp

PS:​
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
also ich würde das in 2 Schrittketten lösen...​

Schrittkette 1 (Metall) startet mit
- Metallbauteil in Werkstückregister vorhanden
und Ablageplatz Metall frei und Schrittekette 2 nicht gestartet
- dann hier die weiteren Schritte​

Schrittkette 2 (Kunststoff) startet mit
- Kunststoffteil in Werkstückregister vorhanden
Ablageplatz Kunststoff frei und Schrittkette 1 nicht gestartet
- hier auch die weiteren Schritte...​

Hoffe ich konnte dir helfen???​

Gruß
Philipp​

PS: Wie man Schrittketten programmiert ist eine Philosophie für sich und wird hier im Forum ganz gut beschrieben​
 
Auf jeden Fall würde ich davon abkommen für jede Möglichkeite einen (insgesamt 6) FC zu programmieren.

Das sollte alles in einen rein.

Würde den Vorschlag von Larry Laffer mit einer Schrittkette und Alternativ-Verzweigungen aufgreifen.
 
Ich möchte sicherstellen, dass sich NIE 2 FC´s im Ablauf überschneiden, sondern immer schön FC weise abarbeitet werden. Dh. erst wenn z.B. der FC 2 fertig ist, darf ein neuer beginnen.

.....

Gibt es da nicht eine bessere Lösung, die bewirkt, dass immer nur FC für FC abgearbeitet werden kann, ohne dass beide z.B sich im Ablauf überschneiden würden?
Im Programm musst du dafür sorgen, abder der Ablauf ist immer so:

Im OB1 wird immer nur nacheinander abgearbeitet:

Code:
(OB1)
 
[1. Zeile] call fc1
                  ---------->Abarbeitung 1 . Zeile FC1
                     -------------"-------2.----------"
----------------------------"--------3.------------"
                   letzte Zeile FC1
             <-----------
[2. Zeile ] call FC2
                     -------------> Abarbeitung 1. Zeile FC2
 
 
usw
usw
usw

geleichzeitig oder überschneidend geht eh nicht!
 
Zurück
Oben