Step 7 Monostabile Zylinderansteuerung

spirit

Level-1
Beiträge
961
Reaktionspunkte
23
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

bin mir grad nicht ganz sicher, wie man/frau das am besten löst?

Bisher hatte ich in einer Schrittkette immer bistabile Magnetventile anzusteuern. Jetzt sollen monostabile Ventile angesteuert werden.

Wird z.B. ein monostabiles Ventil in Schritt 4 aktiviert, dann geht das doch nur über Setzen - ansonsten bleibt es ja nur solange aktiv, wie Schritt 4 aktiv ist. Oder ist es besser doch eine Zuweisung zu verwenden und alle Schritte aufzulisten, während denen das Ventil aktiviert sein soll?

Oder geht das mittels einer Zuweisung noch einfacher? :confused:
 
Sowas geht über Setze und Rücksetze.
Lustig wird's aber bei Steuerung Ein / CPU-Neustart.
Je nach Konstruktion der Anlage wird die Gefahr, dass es zu Schäden bei Neustart kommt, erheblich größer.
Es kann hier sinnvoll sein einen eigenen Ausgabebaustein zu schreiben und dort entsprechende Anlaufroutinen und Verriegelungen zu programmieren.

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sowas geht über Setze und Rücksetze.
Lustig wird's aber bei Steuerung Ein / CPU-Neustart.

Gruß
Dieter

Danke schon mal Dieter,

wobei man es aber doch auch über eine Zuweisung machen könnte:

Code:
O #Schritt_4
O #Schritt_5
O #Schritt_6
= #Auto_Ventil_A

Spricht da was dagegen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das mit dem S und R geht genauso gut - man muss nur, wie schon geschrieben, etwas Disziplin beim Erstellen der Schrittkette und der weiteren Dinge walten lassen. Lass dich nicht er-/verschrecken ...

Gruß
Larry
 
wobei man es aber doch auch über eine Zuweisung machen könnte:

Code:
O #Schritt_4
O #Schritt_5
O #Schritt_6
= #Auto_Ventil_A
Spricht da was dagegen?

Klar geht das auch.
Nur hat S/R den Vorteil, dass du übersichtlicher deine Verriegelungen für das Rückstellen des Ventils programmieren kannst.
Aber wie bereits gesagt: Viele Wege führen nach Rom :p

Gruß
Dieter
 
Code:
O #Schritt_4
O #Schritt_5
O #Schritt_6
= #Auto_Ventil_A
Ich empfehle Dir: bleibe bei dieser Variante.


Der "ewige" Designstreit über die "richtige" Art der Schrittkette ...

Vom Schalten (S/R) von Aktoren (-Merkern oder womöglich gar direkt der Ausgänge) im Code der Schritte halte ich gar nichts. In meinen Schrittketten sind nur die Weiterschaltbedingungen programmiert.

Für jeden Aktor-Ausgang mache ich ein Zusammenfassungsnetzwerk und genau 1 Zuweisungsnetzwerk, vereinfacht etwa so:
Code:
O  Schritt4
O  Schritt5
O  Schritt6
=  Auto_Ventil_A

U(
U  Auto_Ventil_A
U  AUTO
O
U  Taster1
U  HAND
)
UN Kollisionsgefahr
U  Einschaltfreigabe
=  Aktor

Bei den Schrittketten, wo direkt im Schritt-Code per S/R Aktoren geschaltet werden, kann man nicht einfach in einen anderen Schritt springen. Bei jedem Sprung bzw. Schrittzusammenführung muß man extra dafür sorgen, daß die für den Schritt richtigen Aktoren ein- bzw. ausgeschaltet sind, was oft zu überflüssigen "Angst"-S/R-Orgien führt.
Außerdem müssten bei jeder Ausgangs-Zuweisung höhere Schaltfreigaben erneut komplett verknüpft werden, was gerne zu unberechenbarem Verhalten der Anlage wegen versteckten Softwarefehlern führt.

Bei den Schrittketten, wo das Schalten der Aktoren außerhalb der Schrittkette programmiert ist, hat man diese Probleme nicht bzw. muß die Freigaben nur einmal beachten.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du programmierst bestimmt mit S/R wegen Selbshaltung am End der Bewegung?
Oder gibst Du nur im z.B. S4 den Schritt-Merker aus damit die Zylinder los fährt und gehst in den nächsten Schritt weiter?

Wegen z.B. Selbsthaltung in der Endlage kann man sich die Selbsthaltung auch programmieren oder für die Ansteuerung ne keinen Ventil FC / FB machen ...

Code:
O  Schritt4
O  Schritt5
O  Schritt6
=  Auto_Ventil_A

U(
U  Auto_Ventil_A
U  AUTO
O
U  Taster1
U  HAND
O
U Aktor
U Enlage
UN Ansteuerung_Gegenseite
)
UN Kollisionsgefahr
U  Einschaltfreigabe
=  Aktor
 
Vom Schalten (S/R) von Aktoren (-Merkern oder womöglich gar direkt der Ausgänge) im Code der Schritte halte ich gar nichts. In meinen Schrittketten sind nur die Weiterschaltbedingungen programmiert.

Ähhh ... das auch die S-R-Variante so realisiert wird (außerhalb der Schrittkette in einem Sammelbereich - so a la "Aktionen zuweisen") hatte ich eigentlich voraus gesetzt ...

Also so :
Code:
U(
U(
O  Schritt4
O  Schritt8
O  Schritt13
)
U  AUTO
O
U  Taster1
U  HAND
)
UN Kollisionsgefahr
U  Einschaltfreigabe
S  Ventil

U(
U(
O  Schritt6
O  Schritt10
O  Schritt14
)
U  AUTO
O
U  Taster2
U  HAND
)
UN Kollisionsgefahr
ON  Einschaltfreigabe
R  Ventil
 
Zuletzt bearbeitet:
Ich empfehle Dir: bleibe bei dieser Variante.


Code:
O  Schritt4
O  Schritt5
O  Schritt6
=  Auto_Ventil_A

Harald

Ok, ich danke euch!

Das würde aber auch bedeuten, dass man bei dieser Variante - um die Zylinder in GS zu bringen - lediglich eine Null in das Schrittkettenmerkerwort schreiben muss, richtig?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das würde aber auch bedeuten, dass man bei dieser Variante - um die Zylinder in GS zu bringen - lediglich eine Null in das Schrittkettenmerkerwort schreiben muss, richtig?
Das wäre in diesem Fall so.
Je nach dem wie lang deine Schrittkette ist und wieviele Zylinder du dann damit zeitgleich ansteuerst, solltest du aber bedenken ob die Zylinder sich auch zeitgleich bewegen dürfen.
Ich habe Maschinen bei denen die Zylinder aus mechanischen Gründen in kontrollierter Reihenfolge zurück in ihre Grundstellung fahren müssen weil sie sonst crashen würden.

Gruß, Toki
 
Das wäre in diesem Fall so.
Je nach dem wie lang deine Schrittkette ist und wieviele Zylinder du dann damit zeitgleich ansteuerst, solltest du aber bedenken ob die Zylinder sich auch zeitgleich bewegen dürfen.
Gruß, Toki

Lieben Dank Toki,

wenn sich nicht alle Zylinder gleichzeitig in GS bewegen dürfen, müsste man ja fast eine eigene Schrittkette für die Grundstellungsfahrt machen, oder?

Code:
O  Schritt4
O  Schritt5
O  Schritt6
=  Auto_Ventil_A

U(
U  Auto_Ventil_A
U  AUTO
O
U  Taster1
U  HAND
)
[COLOR=#ff0000]UN Kollisionsgefahr[/COLOR]
U  Einschaltfreigabe
=  Aktor

Was beinhaltet eigentlich "Kollisionsgefahr" - ist das ein Merker und wann ist dieser aktiv?
 
@Spirit:
eigentlich ist die Grundstellungsfahrt bei richtiger Betrachtung ein Teil deiner Ablaufkette der Station/des Aggregates. Ein kompletter "normaler" Zyklus einer Station beinhaltet doch normalerweise immer den Teil, der dieselbe wieder in Ausgangsstellung bringt - denk mal drüber nach.

Die genannte Kollisionsgefahr ist da sicherlich allgemein reingeraten - du willst ein Handling z.B. nicht verfahren, wenn es unten ist. Dann wäre "UN #unten" diese Verriegelung. Eine andere Mögichkeit wäre, dass etwas anderes noch im Weg sein könnte - so etwas sollte man grundsätzlich und unabhängig von der ansteuernden Schrittkette an dieser Stelle berücksichtigen ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Spirit:
eigentlich ist die Grundstellungsfahrt bei richtiger Betrachtung ein Teil deiner Ablaufkette der Station/des Aggregates. Ein kompletter "normaler" Zyklus einer Station beinhaltet doch normalerweise immer den Teil, der dieselbe wieder in Ausgangsstellung bringt - denk mal drüber nach.

Gruß
Larry

Danke Larry,

somit ist die GS-Fahrt ja eigentlich nur ein Teilbereich aus einer gesamten Schrittkette. Nur wie macht Frau das dann am besten; wenn die Zylinder tatsächlich geregelt in GS gefahren werden müssen, dann ist dafür doch schon eine Art Unterschrittkette notwendig. Oder packe ich die GS-Fahrt einfach mit in die gesamte Schrittkette; dann halt abgespeckt mit den notwendigen Zylinderbewegungen?
 
Naja ... ich mache das so (z.B.) :
Code:
U #Schritt1
U #Start Zyklus
S #Schritt2
R #Schritt1

U #Schritt1
U #Start Grundstellung
S #Schritt3
R #Schritt1

U #Schritt2
U #INI Greifer unten
S #Schritt3
R #Schritt2

U #Schritt3
U #INI Greifer oben
S #Schritt4
R #Schritt3

U #Schritt4
UN #Start Zyklus
UN #Start Grundstellung
S #Schritt1
R #Schritt4

Kannst du dir darunter etwas vorstellen ?

Gruß
Larry
 
Code:
U #Schritt1
U #Start Zyklus
S #Schritt2
R #Schritt1

U #Schritt1
U #Start Grundstellung
S #Schritt3
R #Schritt1

U #Schritt2
U #INI Greifer unten
S #Schritt3
R #Schritt2

U #Schritt3
U #INI Greifer oben
S #Schritt4
R #Schritt3

U #Schritt4
UN #Start Zyklus
UN #Start Grundstellung
S #Schritt1
R #Schritt4

Kannst du dir darunter etwas vorstellen ?

Gruß
Larry

Nun, ich versuche mal es aufzudröseln... :p

Also wenn die SK in Schritt1 (Ausgangsschritt?) steht, dann gibt es zwei Möglichkeiten:

1) Schrittkette über #Start_Zyklus starten; diese befindet sich dann in Schritt2 - Schritt3 - Schritt4 - Schritt1

Code:
U #Schritt1
U #Start Zyklus
S #Schritt2
R #Schritt1

2) Zylinder über #Start_Grundstellung in GS bringen; die SK befindet sich dann in Schritt3 - Schritt4 - Schritt1

Code:
U #Schritt1
U #Start Grundstellung
S #Schritt3
R #Schritt1


In Schritt2 würde nun der Zylinder in AS, in Schritt3 in GS geschaltet werden. In Schritt4 passiert nichts; wird kein Taster betätigt, so wird wieder die Ausgangsstellung Schritt1 eingenommen.

War das von dir so gemeint, Larry? :confused:
 
Zurück
Oben