Handshake zwischen zwei Schrittketten

al3x

Level-2
Beiträge
149
Reaktionspunkte
26
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich hab folgendes Problem, habe zwei Schrittketten von zwei unabhängigen Stationen. Bei Schrittketten warten auf das Signal um in einen bestimmen Bereich reinfahren zu dürfen.
Wenn jetzt bei beiden Stationen genau im gleichen Zyklus dieses Signal anliegt, starten beide Schrittketten gleichzeitig.

Ich muss also irgendwie ein Handshake einbauen das dies verhindert. Hat jemand ne Idee wie man dieses Problem elegant lösen könnte?
 
Einer der Schrittketten priorität geben indem:

Start schrittkette
UN Schrittkette mit niedriger Priorität
S Schrittkette mit hoher Priorität

peter(R)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die eine Schrittkette verriegeln, bis die andere einen Bestimmten Schritt erreicht hat, so muss die eine warten und die andere läuft durch und wenn diese dann einen bestimmten Schritt erreicht hat, mit " und Schritt XY, dann setzte M0.0 = true (Bedinguneng für andere Kette!)

Servus.
 
ich habe so eine konstellation schon mal mit verschiedenen steuerungen
gehabt.
beide stellen ein anforderung, nur eine darf aber dann aktiv werden.

ich hab das so gelöst, daß ich für jede steuerung ein "bereich belegt" bit
erzeugt habe (im startschritt gesetzt, aber nur wenn die andere station
nicht schon den bereich belegt hat).
im nächsten schritt wird dann abgefragt ob das eigene "belegtbit" da ist
und das von der anderen station nicht. => kollisionserkennung
sollte das der fall sein, wird das eigene bit gelöscht und in den startschritt
zurückgesprungen.
dieser "prüfschritt" sollte eine geringe wartezeit (einige zyklen lang, je nach kommunikation zw. den schrittketten) enthalten.
 
Hallo,

ich hab folgendes Problem, habe zwei Schrittketten von zwei unabhängigen Stationen. Bei Schrittketten warten auf das Signal um in einen bestimmen Bereich reinfahren zu dürfen.
Wenn jetzt bei beiden Stationen genau im gleichen Zyklus dieses Signal anliegt, starten beide Schrittketten gleichzeitig.

Ich muss also irgendwie ein Handshake einbauen das dies verhindert. Hat jemand ne Idee wie man dieses Problem elegant lösen könnte?


Hallo,

in der Intralogistik haben wir meist mit 3 Übergabesignalen (Variablen) gearbeitet. Dies hat den Vprteil das man jederzeit eine Station ausblenden kann, bzw. jede Station im Programm für sich alleine steht (Oftmals werden Funktionen ja immer wieder verwendet). Sowohl du alle Arten von Stationen und Stuerungen etc. damit koppeln kannst.
(Prinzip dann ist: Jeder schüzt seine Steuerung (Galvanisch, sprich Relais oder Optokoppler))

1. Station 1: Bauteil vorhanden
2. Station 2: Übergabe bereit
3. Station 2: Übergabe beendet
(Die nachfolgende Station ist immer der Master)

1.1 Bauteil vorhanden Signal bleibt bis ünergabe bereit weg ist und übergabe beendet kommt. Ansonsten eine Störung.
2.1 Geht übergabe bereit weg, aber übergabe beendet kommt nicht, muss eine Störung vorhanden sein.

Bei deinem 2auf1 dann:

1. Station Out1: Bauteil vorhanden
2. Station Out2: Bauteil vorhanden
2. Station 3: Übergabe bereit
3. Station 3: Übergabe beendet

Die Station 3 würde dann einer der beiden anderen den Vorrang geben.
Die Signale kannst du dann auch klasse in einer SK abfragen / setzen.
Zusammen mit einen Timer auch schöne Fehlerauswertungen einprogrammieren.

--

Ist halt eine Methode die ich sehr gerne verwende. Gibt aber auch andere, vielleicht bessere. Wichtig ist das Du und vor allem ein anderer Programmierer sicher und übersichtlich damit klar kommt.
Hoffe das es dir hilfreich ist und falls du einen anderen Ansatz gehst wäre es aus Interesse schön wenn du diesen hier posten würdest.

Hoffe dies ist hilfreich,


Maxi
 
Hallo,

ich hab folgendes Problem, habe zwei Schrittketten von zwei unabhängigen Stationen. Bei Schrittketten warten auf das Signal um in einen bestimmen Bereich reinfahren zu dürfen.
Wenn jetzt bei beiden Stationen genau im gleichen Zyklus dieses Signal anliegt, starten beide Schrittketten gleichzeitig.

Hallo,
also wenn sie genau Zyklus-gleich kommen können, dann hast du genau 2 Möglichkeiten

1) du gibts das Signal beider Stationen in beide Stationen. Eine macht dann einen Rückzieher, die andere darf machen....

2) du kannst über verschieden lange verzögerungszeiten sicherstellen dass die Stationen nicht gleichzeitig wegfahren. dazu müsste aber noch bekannt sein, wie eine station der anderen mitteilt dass der Prozess aktiv ist ....

bg
bb
 
Zurück
Oben