Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 7 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 61

Thema: Viele Fragen zum Rundtisch...

  1. #11
    Registriert seit
    03.12.2008
    Beiträge
    654
    Danke
    160
    Erhielt 185 Danke für 113 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also ich würde das ganze (grob) so aufbauen:

    Jede Station bekommt einen eigenen FB in dem steht was sie machen soll (wahrscheinlich eine Schrittkette).

    Als Eingangsparameter für jede Station:
    Generelle Bearbeitungsfreigabe z.B. Not-Aus ok (IN)
    Startsignal (INOUT)
    Anforderung Grundstellungsfahrt (INOUT)
    Station nicht bearbeiten (IN)

    Als Ausgangsparameter für jede Station:
    Grundstellung
    Startbereit
    Auftrag läuft
    Auftrag korrekt abgearbeitet, bereit zum Tisch weitertakten
    Aktuelle Schrittnummer (für Diagnosezwecke)

    Jedem Tray auf dem Tisch ein Wort zuordnen, in dem eingetragen wird,
    was mit dem Tray schon passiert ist. (Es liegt wirklich was drauf, Station 1+2 korrekt bearbeitet
    Station 3 fehlerhaft bearbeitet etc.)
    Ist natürlich schon ein bisschen verzwickt, mit Leerfahren usw. aber das muss ja nicht gleich zu aller Anfang drin sein.
    Was da wirklich noch rein muss zeigt sich am besten während der Inbetriebnahme.

    Der Rundtisch selbst sollte eigentlich unkritisch sein.
    Ich kenne die Dinger so:
    Feste unveränderbare mechanische Teilung (5, 6 ....8 Stationen)
    Unten sitzt eine Art Schneckengetriebe, das den Tisch immer um eine Teilung dreht.
    Nach jeder Teilung fährt er auf eine Nocke, dann schaltest du den Antrieb ab.
    Die Schnecke ist mechanisch so aufgebaut, dass sie am Anfang und Ende fast keine Steigung hat.
    Dadurch ist es unkritisch ob der Motor 3 Umdrehungen mehr oder weniger macht.
    Drehgeber etc. ist normalerweise nicht nötig

  2. #12
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.647
    Danke
    788
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Du machst deinen Schiebespeicher nicht nur als einfaches wort wo du bit schiebst. Sondern ein echtes Array aus dir genehmen UDTs

    Der UDT kann ja dann enthalten z.B.
    TeileCode als Word
    Bearbeitungsschritte als int
    Fehlerbit
    Derzeitiger Standort als Word/Int/Dword -> dieser kann aber auch z.B. vom Standort im Array abhängig gemacht werden.
    etc.

    Dann erstellst du in einem DB ein array [0..100] of UDT

    jetzt führst du deinen Schritt aus an dem Teil das gerade den richtigen Standort drin hat, zählst da den arbeitsschritt runter. und gehst zum nächsten schritt über wenn kein Arbeitsschritt an dem Standort mehr übrig ist etc.

    mfG René

  3. #13
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Das Problem ist, dass mir die Antworten irgendwie alle zu theoretisch sind - weil mir einfach viel Erfahrung fehlt...

    Habe im Netz auch schon ganz speziell nach einem Beispiel gesucht bevor ich euch nerve; bin aber leider nicht fündig geworden!


    Ich versuche es mal Stück für Stück:

    Ok, wie ein UDT angelegt wird, weiß ich - aber was muss da rein? Larry hat geschrieben, er schreibt da für jeden Drehtisch-Platz einen Bearbeitungs-Status rein. Aber wie kann ich da beispielsweise ganz konkret reinschreiben, dass Station2 z.B. 2x hintereinander arbeiten muss?
    LG
    spirit

  4. #14
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.647
    Danke
    788
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Schreib doch in diesen Status einfach ne 2 rein.
    führe die Bearbeitung durch wenn grösser als 0
    wenn Bearbeitung durchgeführt lies Status. Subtrahiere 1 und schreibe das Resultat auf Status zurück.

    Gehe erst zur nächsten Station wenn Status 0 ist oder fehler oder oder.

    mfG René

  5. #15
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen

    ... ich mache das so, dass ich für jeden Drehtisch-Platz einen Bearbeitungs-Status des darauf befindlichen Teils abspeichere. Der wird mit dem Drehtisch-Takt weiter geschoben. Die Stationen "wissen" nun für welchen Grund-Zustand sie zuständig sind und ändern ihn nach erfolgter Bearbeitung. Stell es dir einfach als eine Art Laufzettel vor, auf dem die/alle einzelnen Bearbeitungschritte draufstehen und die jeweilige Station ihre Position abhakt wenn sie die Arbeit gemacht hat.

    Beispiel :
    Station 1 führt das Grundteil zu - sie darf nur arbeiten, wenn die Aufnahme auf dem Tisch frei ist.
    Station 2 macht den ersten Arbeitsschritt (was auch immer) - sie darf nur arbeiten wenn die Aufnahme belegt ist, aber der Arbeitsschritt 1 noch nicht gemacht wurde.
    Station 4 macht den zweiten Arbeitsschritt (was auch immer) - sie darf nur arbeiten wenn die Aufnahme belegt ist und der Arbeitsschritt 1 gemacht wurde, aber der Arbeitsschritt 2 noch nicht gemacht wurde.
    usw.
    Station 11 ist die Entnahme NIO - sie darf arbeiten, wenn der Teile-Status unsinnig ist oder wenn der Teile-Status einen Fehler aufweisst (den trägt man dann auch in die Strichliste)
    Station 12 ist die Entnahme IO - sie darf arbeiten, wenn der Teile-Status keine Fehler aufweisst und ALLE Arbeitsschritte gemacht worden sind.

    Ja ... nur EINEN Schiebespeicher, der als ARRAY of UDT alle Plätze am Tisch abbildet und in seinem UDT den Laufzettel der Teile-Bearbeitung abbildet ...
    Danke René,

    ja für diesen einen Fall könnte das so prima gelöst werden!


    ABER:
    Mein Problem ist einfach immer noch, dass ich nicht weiß wie ich das Geschriebene von Larry in einen UDT verfrachten kann. Es müsste ja, wenn ich das richtig verstanden habe, für jede Station so einen "Laufzettel" geben. Also müssten ja alle Bearbeitungsschritte einer Station z.B. in UDT1 abgebildet werden. Aber wie gebe ich so etwas in einem UDT ein?


    Habe mal so ein ARRAY of UDT angehängt; ist es in etwa so gedacht?


    DB_UDT.jpg
    LG
    spirit

  6. #16
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    ... ich würde den Schiebespeicher-UDT dann so aufbauen :
    Code:
    Bit 0 : Teil eingelegt
    Bit 1 : Station 1 hat 1. Feder eingelegt
    Bit 2 : Station 1 hat 2. Feder eingelegt
    Bit 3 : Station 1 hat 3. Feder eingelegt
    Bit 4 : Station 2 hat 1. Feder eingelegt
    Bit 5 : Station 2 hat 2. Feder eingelegt
    Bit 6 : Station 2 hat 3. Feder eingelegt
    ... der Vorschlag von René (mit der Zähl-Variablen) hat aber auch etwas für sich.
    In jedem Fall kannst du dann sogra in der Station unterscheiden, ob die Arbeit noch gar nicht, Teilweise oder vollständig getan ist und bei teilweise dann noch fehlende Arbeitsschritte nachholen.
    Der Trick beim Programmieren ist, den komplexen Ablauf in kleine überschaubare Teile zerlegen zu können.

    Versuch doch mal deinen Bearbeitungs-Laufzettel nach der von mir beschriebenen Methode für dich umzusetzen und ihn ggf. dann hier vorzustellen.

    Gruß
    Larry

  7. #17
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Achja ... es muß nicht für jede Station sondern für jeden Platz am Drehtisch so einen Laufzettel geben.
    Der Laufzettel ist der UDT11.
    Dein Drehtisch hat z.B. 12 Plätze - du hast dann also ein Array [1..12] of UDT11 ...
    Die Station 1 bedient sich IMMER nur am Index 1 und schaut dort nach, ob und ggf. was sie machen kann.
    Taktet der Tisch dann schiebst du das ganze Array um 1 nach hinten und den Platz 12 bei Platz 1 wieder rein ( also Platz 12 -> Platz 1, Platz 11 -> Platz 12 usw.).

  8. #18
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Achja ... es muß nicht für jede Station sondern für jeden Platz am Drehtisch so einen Laufzettel geben.
    Also im Grunde für jedes Tray, das am RT befestigt ist, richtig?


    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Der Laufzettel ist der UDT11.
    Dein Drehtisch hat z.B. 12 Plätze - du hast dann also ein Array [1..12] of UDT11 ...
    Die Station 1 bedient sich IMMER nur am Index 1 und schaut dort nach, ob und ggf. was sie machen kann.
    Taktet der Tisch dann schiebst du das ganze Array um 1 nach hinten und den Platz 12 bei Platz 1 wieder rein ( also Platz 12 -> Platz 1, Platz 11 -> Platz 12 usw.).
    Ok, d.h. es muss aus dem Laufzettel (UDT11) ersichtlich sein, ob eine Station arbeiten muss oder nicht und evtl. wie oft hintereinander? Wenn also z.B. bei Index1 an erster Stelle eine 1 steht, dann muss Station1 arbeiten, usw.
    Meinst du das so?


    Zitat Zitat von Larry Laffer Beitrag anzeigen
    ... ich würde den Schiebespeicher-UDT dann so aufbauen :
    Code:
    Bit 0 : Teil eingelegt
    Bit 1 : Station 1 hat 1. Feder eingelegt
    Bit 2 : Station 1 hat 2. Feder eingelegt
    Bit 3 : Station 1 hat 3. Feder eingelegt
    Bit 4 : Station 2 hat 1. Feder eingelegt
    Bit 5 : Station 2 hat 2. Feder eingelegt
    Bit 6 : Station 2 hat 3. Feder eingelegt
    Versuch doch mal deinen Bearbeitungs-Laufzettel nach der von mir beschriebenen Methode für dich umzusetzen und ihn ggf. dann hier vorzustellen.

    Gruß
    Larry
    Sorry, aber ich habe hier noch ein Verständnisproblem!
    Dieses Konstrukt hat ja jetzt nichts mit dem Laufzettel (UDT11) zu tun, oder? Hier trägst du ja nur ein, wenn eine Aufgabe erledigt ist. Sehe ich das richtig, dass dieser Schiebespeicher nichts mit dem Array [1..12] of UDT11 zu tun hat?


    Danke für eure Geduld...
    LG
    spirit

  9. #19
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    ... doch ... der Schiebespeicher ist das besagte Array of UDT.
    Hier trage ich ein, ob an einem Drehtisch-Platz eine Aufgabe erledigt wurde - hat ein Platz mehrere Aufgaben dann eben auch mehrere Erledigungs-Vermerke. Dies ermöglicht mir (wenn die Hardware das so hergibt) auch eine unvollständige Arbeit noch zu Ende bringen zu können. Selbst einen manuell weitergetakteten Drehtisch kann ich ganz normal wieder in Automatik bringen - er findet dann schon seinen Einsatz (im schlimmsten Fall muß er ein paar Mal takten ohne etwas zu tun).

    Schreib doch mal die/alle Einzel-Aufgaben der/aller Stationen nach meinem Beispiel auf.
    Dann kommen wir vielleicht auch (ohne Verständnisproblem) weiter ...

    Gruß
    Larry

  10. #20
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Schreib doch mal die/alle Einzel-Aufgaben der/aller Stationen nach meinem Beispiel auf.
    Dann kommen wir vielleicht auch (ohne Verständnisproblem) weiter ...

    Gruß
    Larry
    ... ich sehe schon, du gibst die Hoffnung noch nicht (ganz) auf; ganz im Gegenteil zu mir!

    Die Schrittketten der einzelnen Stationen glaube ich klappen ganz gut - auch das Verständnis, dass der Tisch und die Stationen im Gegentakt arbeiten. Aber das mit dem Speicher übersteigt irgendwie meine Auffassungsgabe...


    Ok, ich hätte jetzt mal so einen Ablauf nach deinem Muster entwickelt:
    Code:
    Bit 0 : Station 01 hat Leergehäuse in Tray eingelegt
    Bit 1 : Station 02 hat 1. Kontakt in Gehäuse eingelegt
    Bit 2 : Station 02 hat 2. Kontakt in Gehäuse eingelegt
    Bit 3 : Station 04 hat 3. Kontakt in Gehäuse eingelegt
    Bit 4 : Station 06 hat die eingelegten Kontakte im Gehäuse verpresst
    Bit 5 : Station 07 hat das Fertigteil mittels Kamera kontrolliert
    Bit 6 : Station 09 hat ein defektes Fertigteil ausgeschleust
    Bit 7 : Station 10 hat ein korrektes Fertigteil bedruckt
    Bit 8 : Station 11 hat ein korrektes Fertigteil in einen Palettierer gelegt
    Die dargestellten Bits werden also immer dann gesetzt, wenn die Aufgabe(n) an den einzelnen Plätzen am RT erledigt sind.

    Nun müssen aber doch die einzelnen Stationen noch wissen, dass sie mit der Bearbeitung an der Reihe sind...
    LG
    spirit

Ähnliche Themen

  1. CP341 Modbusmaster viele Fragen
    Von Gustel im Forum Feldbusse
    Antworten: 2
    Letzter Beitrag: 08.11.2011, 16:46
  2. Fragen zum DB
    Von SPS_Neuling im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 11.10.2011, 19:37
  3. Fragen zum Datenbaustein
    Von anne im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 11.05.2010, 10:00
  4. Neu und viele Fragen zur Haussteuerung
    Von Plentman im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 24.06.2008, 23:42
  5. Viele Fragen zu S7 (Anfänger)
    Von draXo im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 08.05.2004, 12:26

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •