DennisBerger
Level-2
- Beiträge
- 474
- Reaktionspunkte
- 63
-> Hier kostenlos registrieren
Hallo,
ich musste an einer Anlage 3-4 Zylinder inklusive Stellungsabfrage so programmieren, dass die Bewegungsreihenfolge frei über das Display oder eine csv datei passend zu der Artikelvariante veränderbar und einzugeben ist.
Also zb steht im Display / aus der csv datei gelesen im Eingabefeld:
Zylinder A: 1 (fährt dann zuerst)
Zylinder B: 2 (fährt somit als 2. wenn A Arbeitsstellung erreicht hat)
Zylinder C: 3 (als 3. wenn A und B in AS)
Zylinder D: 4 (als 4. wenn A, B und C in AS)
oder zb
Zylinder A: 3
Zylinder B: 1 (fährt als erstes)
Zylinder C: 2 (als zweites)
Zylinder D: 0
(bei 0 soll Zylinder in GS bleiben = deaktiviert)
oder zb fahren Zylinder A und B gleichzeitig und dann Zyl C
Zylinder A: 1
Zylinder B: 1
Zylinder C: 2 (fährt wenn A und B in AS)
Zylinder D: 3
Jeder Zylinder hat 2 Sensoren die AS oder GS abfragen und erst wenn der erste zu bewegende Zylinder AS erreicht hat, soll der 2. Zylinder fahren, wenn dieser AS erreicht hat soll der 3. Zylinder fahren. (oder es kann auch sein, dass 2 Zylinder gleichzeitig fahren sollen)
Steht eine 0 drin soll dieser Zylinder in GS bleiben, ist sozusagen deaktiviert.
edit:
sorry vergessen,
das ganze passiert nach dem Einlegen des Teils in die Anlage 1x,
also Teil einlegen, Schutzhaube fährt zu FB für Spannen/Entspannenablauf wird aufgerufen,
die Zylinder spannen dann in bestimmter Reihenfolge ein Teil ein.
nach dem Spannen läuft die Anlage den Ablauf durch und wenn fertig wird wieder in umgekehrter Reihenfolge der Zylinder entspannt, Schutz geöffnet und das teil entnommen..
das Spannen / Entspannen ist ein eigener FB der gestartet wird durch den FB "Autoablauf", der dann auf "Spannen fertig" Meldung wartet bzw "Entspannen fertig" für den Autoablauf FB
(je nach Artikelvariante braucht man andere Reihenfolge und mal mehr oder weniger Zylinder)
Ich hatte das mit einer Schrittkette und Netzwerken gebaut, leider sind die Netzwerke sehr gross geworden, weil ich immer in jedem NW vergleichen musste, welcher Zylinder welche Zahl bekommen hat (compare Zyl A = 1 oder =2 oder =3, Zyl B =1 oder =2 oder =3 usw) und dann für jede Möglichkeit welcher Zylinder fahren muss nochmal die Stellungen im nächsten Takt abfragen musste.
das ganze wurde dann noch recht unübersichtlich in FUP und dachte ich kann das mal vielleicht mit eurer Hilfe verbessern.
Wollte mal die erfahrenen Programmierer fragen, wie ihr so etwas umsetzen würdet, ich denke der eine oder andere von Euch hatte schon mal solch eine Vorgabe.
egal ob FUP/KOP/AWL oder SCL (bitte aber vorzugsweise kein Graph, da keine erfahrung damit)
Gerne auch nur mit 3 Zylinder anstatt 4.
Vielleicht hab ich mich auch in meiner Denkweise für die Umsetzung da zu sehr festgefahren und zu kompliziert gedacht.
danke und schönen 4. Adventssonntag an euch
ich musste an einer Anlage 3-4 Zylinder inklusive Stellungsabfrage so programmieren, dass die Bewegungsreihenfolge frei über das Display oder eine csv datei passend zu der Artikelvariante veränderbar und einzugeben ist.
Also zb steht im Display / aus der csv datei gelesen im Eingabefeld:
Zylinder A: 1 (fährt dann zuerst)
Zylinder B: 2 (fährt somit als 2. wenn A Arbeitsstellung erreicht hat)
Zylinder C: 3 (als 3. wenn A und B in AS)
Zylinder D: 4 (als 4. wenn A, B und C in AS)
oder zb
Zylinder A: 3
Zylinder B: 1 (fährt als erstes)
Zylinder C: 2 (als zweites)
Zylinder D: 0
(bei 0 soll Zylinder in GS bleiben = deaktiviert)
oder zb fahren Zylinder A und B gleichzeitig und dann Zyl C
Zylinder A: 1
Zylinder B: 1
Zylinder C: 2 (fährt wenn A und B in AS)
Zylinder D: 3
Jeder Zylinder hat 2 Sensoren die AS oder GS abfragen und erst wenn der erste zu bewegende Zylinder AS erreicht hat, soll der 2. Zylinder fahren, wenn dieser AS erreicht hat soll der 3. Zylinder fahren. (oder es kann auch sein, dass 2 Zylinder gleichzeitig fahren sollen)
Steht eine 0 drin soll dieser Zylinder in GS bleiben, ist sozusagen deaktiviert.
edit:
sorry vergessen,
das ganze passiert nach dem Einlegen des Teils in die Anlage 1x,
also Teil einlegen, Schutzhaube fährt zu FB für Spannen/Entspannenablauf wird aufgerufen,
die Zylinder spannen dann in bestimmter Reihenfolge ein Teil ein.
nach dem Spannen läuft die Anlage den Ablauf durch und wenn fertig wird wieder in umgekehrter Reihenfolge der Zylinder entspannt, Schutz geöffnet und das teil entnommen..
das Spannen / Entspannen ist ein eigener FB der gestartet wird durch den FB "Autoablauf", der dann auf "Spannen fertig" Meldung wartet bzw "Entspannen fertig" für den Autoablauf FB
(je nach Artikelvariante braucht man andere Reihenfolge und mal mehr oder weniger Zylinder)
Ich hatte das mit einer Schrittkette und Netzwerken gebaut, leider sind die Netzwerke sehr gross geworden, weil ich immer in jedem NW vergleichen musste, welcher Zylinder welche Zahl bekommen hat (compare Zyl A = 1 oder =2 oder =3, Zyl B =1 oder =2 oder =3 usw) und dann für jede Möglichkeit welcher Zylinder fahren muss nochmal die Stellungen im nächsten Takt abfragen musste.
das ganze wurde dann noch recht unübersichtlich in FUP und dachte ich kann das mal vielleicht mit eurer Hilfe verbessern.
Wollte mal die erfahrenen Programmierer fragen, wie ihr so etwas umsetzen würdet, ich denke der eine oder andere von Euch hatte schon mal solch eine Vorgabe.
egal ob FUP/KOP/AWL oder SCL (bitte aber vorzugsweise kein Graph, da keine erfahrung damit)
Gerne auch nur mit 3 Zylinder anstatt 4.
Vielleicht hab ich mich auch in meiner Denkweise für die Umsetzung da zu sehr festgefahren und zu kompliziert gedacht.
danke und schönen 4. Adventssonntag an euch
Zuletzt bearbeitet: