Programmierung Rundtakttisch

bernd67

Level-2
Beiträge
138
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten morgen
Ich brauche mal einen Denkanstoss.
Muss einen Rundtakttisch (mit 12 Stationen) programmieren, indem 3 Teile ineinander gefügt werden.
Alle 12 Stationen arbeiten gleichzeitig wenn der Tisch einen Takt gedreht hat.
An 3 Stationen werden dem Tisch die 3 Teile zugeführt.
Der Tisch taktet immer eine Station weiter.
Die beiden letzten Stationen sind Auswerfer für Gut und für Schlechtteile.
Wenn alle Stationen korrekt gearbeitet haben dann muss der Gutteile Auswerfer kommen, sonst der Schlechtteile.
Weiterhin sollen, wenn eine Station nicht korrekt gearbeitet hat auch die nachfolgenden nicht arbeiten.
Wie schiebe ich die Infos weiter um den jeweils richtigen Auswerfer anzusprechen.

Wäre euch dankbar für einen Denkanstoss

Bernd67
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, Schieberegister mit Structur. Ein Bit für Teil ist gut, wenn eine Station das auf 0 setzt, dann bearbeiten die folg. die nicht mehr.

Auf ein Aktive Bit achten, das erst wenn alle Stationen fertig sind weitergetaktet wird.

pt
 
Es gab schon mehrere Themen dazu.

Aber wie schon plc_tippser beschrieben hat, legst Du eine Structur an, dann einen DB mit den Nestinformationen. Diese werden dem beim takten geschoben. Aber je nachdem was das gemacht wird, oder was das für ein Tisch ist, gibt es böse Fallen.
Wichtig ist das schieben so abzusicheren, das nur einmal geschoben wird.
z.B. Flanke wenn Motor ein und Ini in Position.
Wenn auch nur annähernd damit zu rechnen ist, das eventuell noch Daten gespeichert werden müßen, nehme ich immer pro Station einen eigenen DB, da sich der (fast) beliebig erweitern lässt.
Jede Station muss melden "habe Fertig" und zwar aktiv, ich gehe dazu nicht auf das Schieberegister. Nach dem Neustart der Maschine entscheidet dann jede Station ob sie arbeiten muss oder nicht, und setzt das Bearbeiten_Ende Signal.
 
WICHTIG!

ENTSCHEIDENT ist auch das du PERMANENT überwachst, ob sich - während der Tisch dreht - irgendein Greifer NACH UNTEN bewegt !!!

Dann sofort RST abschießen - Schnellstopp !!!

sonst ist der Greifer "Weggeräumt"

DAS IST VOR DEM ERSTEN REALEN DREHEN in einem separaten "Wachhund"-Baustein zu programmieren



----------------------------------------------------
Stay safe, stay cool
----------------------------------------------------
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
die wichtigsten Hinweise zu dem Thema hast du ja schon erhalten ...

Vielleicht noch einmal explizit:
Bei uns haben wir sehr viele Rundtisch-Anwendungen. Ich löse das so, dass ich jeder Station ein DWORD eines DB's zuordne. Mit jedem Drehtisch-Takt werden die DWORD's im DB um eins weitergeschoben. Es gibt entsprechend der Anzahl der Stationen Speicherplätze. Der Speicherplatz der letzten Station wird nach dem Takt auf den Speicherplatz der 1. Station kopiert.
In dem Speicher erhält jede Station ein "habe-erfolgreich-gearbeitet"-Bit und bei Prüfstationen zusätzlich ein (oder mehrere) NIO-Bits.
Station 1 erwartet einen leeren Speicher - d.h. sie kann arbeiten und ihr Teil einlegen, wenn der Tisch nicht belegt ist. Station 2 erwartet, dass Station 1 ihr Teil eingelegt hat - ist das nicht geschehen (Handbetrieb - Störung oder so) dann legt sie ihr Teil auch nicht herein. Usw.
Die NIO-Entnahme entnimmt das Teil, wenn ein NIO-Bit gesetzt ist (egal von welcher Station). Gern gesehen wird hier, wenn unterschiedliche NIO-Bewertungen auch seperat gezählt werden.
Die IO-Entnahme entnimmt das Teil wenn vollständig und kein NIO-Bit.

Das müßte dir für den Anfang erstmal helfen.
 
Genau, jeder Station ein Bereich im DB (Struct) geben.
Ich nutze da gerda immer so 10 oder 20 Wörter, je-nach-dem was ich alles speichere.
Platz in der Steuerung gibts genug und etwas Struktur kann ja nie schaden :). Ausserdem kann ich es immer für die nächste Maschine nutzen, also ala Vorlage.
Bin ja zu faul ständig neues zu programmieren bei gleicher Art von Maschine.

Also Teil vorhanden, Status der jeweiligen Bearbeitung, IO oder NIO usw. was sonst noch alles benötigt wird (Vorrichtungskorrekturen, Messwerte ...).

Mit Rundtisch in neuer Poition wird alles um einen Platz (Station) im Schieberegister geschoben. Dabei wird die Rundtischpoition (Soll und Ist) gespeichert. Denn falls einer den RT in Hand dreht, stimmen Soll und Ist Position nicht zueinander und somit kann nicht Bearbeitet werden!

grüssle aus dem fernen Asien ...
 
Zuletzt bearbeitet:
Zurück
Oben