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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Teilebearbeitung an unterschiedl.Stationen

  1. #1
    Registriert seit
    12.10.2006
    Beiträge
    66
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    es handelt sich um ein Projekt das aus 4 einzelnen Stationen besteht, die nicht miteinander verknüft sind. In der 1.Station wird der Barcode eines Teils eingelesen und dort weiter verarbeitet. An der 2. Station wird erneut der Barcode eingelesen und das Teil weiter verarbeitet usw. Es soll so sicher gestellt werden, dass jedes Teil jede Station durchläuft und nach jeder Station mit einem I.O. Status versehen wird bzw. bei N.I.O.darf keine weiter Verarbeitung stattfinden. Und nun zu meinem Problem. Ich weiß nicht, wie ich das am besten realisieren soll. Ich dachte da vielleicht an ein Schieberegister der mir die Barcodes und den derzeitigen Status speichert, den ich dann am Anfang jeder Station, nach lesen des Barcodes, abfrage.
    Ich weiß jedoch nicht, wie ich das entsprechende Teil aus z.Bsp: eines Datenbausteins auslese, wenn ich ihn vorher mit einem Schieberegister hineingeschrieben habe.Nach der letzten Station sollte diese Teil nicht mehr aufgeführt werden und aus dem Schieberegister gelöscht werden.
    Ich hoffe ihr könnt mir einige Tipps geben, wie ich dies am besten lösen könnte.



    Es wird eine CPU 317-2DP verwendet


    Gruß
    und Danke im voraus
    Zitieren Zitieren Teilebearbeitung an unterschiedl.Stationen  

  2. #2
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.533
    Danke
    1.152
    Erhielt 1.253 Danke für 982 Beiträge

    Standard

    Mein Vorschlag:
    Du definierst eine UDT_Daten mit folgender Struktur:
    Barcode
    Station 1 Status iO / niO
    Station 2 Status iO / niO
    Station 3 Status iO / niO
    Station 4 Status iO / niO

    Dann erstellst du einen DB mit einem Array [1 .. max. Anzahl Teile] of UDT_Daten

    Station 1 liest den Barcode.
    Anschliessend durchläufst das Array bis ein freier Platz gefunden ist und trägst Barcode und Status der Station 1 ein.

    Alle weiteren Stationen lesen den Barcode.
    Anschliessend suchst du den Barcode im Array und prüfst den Status der vorherigen Stationen. Alle vorherigen Stationen iO, dann Bearbeiten und Status eintragen. Wenn alle Stationen den Status iO eingetragen haben, dann Teil fertig und entsprechendenes Array-Element mit Initialwerten überschreiben.

    Mit dieser Vorgehensweise bist du nicht an eine Bearbeitungsreihenfolge oder dergleichen gebunden. Wichtig ist nur, dass du eine Funktion vorsiehst um das Array manuell zu leeren. Manchmal "verschwinden" Teile aus der Anlage (Handentnahme, Störung, ...)

    Gruß
    Dieter

  3. Folgender Benutzer sagt Danke zu Blockmove für den nützlichen Beitrag:

    tigger (13.02.2011)

  4. #3
    tigger ist offline Benutzer
    Themenstarter
    Registriert seit
    12.10.2006
    Beiträge
    66
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke Dieter,
    habe jetzt mir einen UDT aufgebaut und diese dan in einem DB (Array) aufgerufen. Es kommen noch zu den Barcode, io, nio auch zusätzliche Werte die in den folgenden Stationen aufgenommen werden, wie z.B. Kraft, Weg, Drehmoment usw. So habe ich mir im UDT diese Werte zusätzlich zugeschrieben.Jetzt zu meinen Fragen:

    A) Wie durchsuche ich an den versch. Stationen das Array nach dem passenden Barcode um dann die Werte einzutragen?

    B) Hat jemand vielleicht eine ähnliche Aufgabe gehabt und kann mir diesbezüglich ein Bsp. zukommen lassen

    Gruß
    Matze

  5. #4
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.533
    Danke
    1.152
    Erhielt 1.253 Danke für 982 Beiträge

    Standard

    Zitat Zitat von tigger Beitrag anzeigen
    A) Wie durchsuche ich an den versch. Stationen das Array nach dem passenden Barcode um dann die Werte einzutragen?
    Stellt sich erstmal die Frage in welcher Sprache du es machen willst.
    Ich würde hier SCL bevorzugen.

    Gruß
    Dieter

  6. #5
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    Zwar heiße ich nicht Dieter, aber vielleicht kann ich dir helfen.

    Du musst zunächst für die maximale Anzahl von Teilen in dem DB deine UDT einbinden.
    Wenn du dann den Barcode gelesen hast, schaust du mit einem Pointer ob die vom Scanner gelesene zu einer Nummer im DB passt.
    Wenn dies der Fall ist, hast du den Zeiger und kannst dir die Daten aussuchen. Dein i.O und n.i.O stehen ja immer im selben Offset zu dem Namen des Teils.
    Wenn nicht, erhöhst du den Zeiger um die Schrittweite der UDT.

    Solch eine Funktion würde ich in SCL schreiben, da geht das schnell und sehr gut leserlich.


    bike

  7. #6
    tigger ist offline Benutzer
    Themenstarter
    Registriert seit
    12.10.2006
    Beiträge
    66
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Blockmove Beitrag anzeigen
    Stellt sich erstmal die Frage in welcher Sprache du es machen willst.
    Ich würde hier SCL bevorzugen.

    Gruß
    Dieter
    Eigentlich ist es mir egal, hauptsache es funzt irgendwie. Hätte vielleicht jemand ein Beispiel für mich?

  8. #7
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    Zitat Zitat von tigger Beitrag anzeigen
    Eigentlich ist es mir egal, hauptsache es funzt irgendwie. Hätte vielleicht jemand ein Beispiel für mich?
    Ich denke es ist nicht Lösung wen du irgend ein Programm hast, das du nicht verstehst und im Problemfall dann Fehler nicht beheben kannst.
    Ist es so schwer eine Lösung selbst zu suchen?

    Da gehe ich mit Blockmove völlig konform, du musst dir im Vorfeld klar sein wie das Programm erstellen willst.

    bike

  9. #8
    tigger ist offline Benutzer
    Themenstarter
    Registriert seit
    12.10.2006
    Beiträge
    66
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Alles kein Problem, dachte nur das jemand gleich etwas parat hätte. Wenn ich dich mit meinem Problem jedoch belästigt haben sollte, tut es mir äußerst leid. Vielleicht solltest du aber auch nicht auf alles antworten, wenn es dich nervt. Wenn ich selbst eine Lösung hätte würde ich auch nicht nach einer in diesem Forum suchen.
    Ich denke das Blockmove sehr gut zu diesem Thema passt, ich werde es u.a. auch verwenden.
    Schönen Sonntag noch

  10. #9
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    Zitat Zitat von tigger Beitrag anzeigen
    Alles kein Problem, dachte nur das jemand gleich etwas parat hätte. Wenn ich dich mit meinem Problem jedoch belästigt haben sollte, tut es mir äußerst leid. Vielleicht solltest du aber auch nicht auf alles antworten, wenn es dich nervt. Wenn ich selbst eine Lösung hätte würde ich auch nicht nach einer in diesem Forum suchen.
    Ich denke das Blockmove sehr gut zu diesem Thema passt, ich werde es u.a. auch verwenden.
    Schönen Sonntag noch
    Also du belästigst mich nicht.
    Ich antworte eigentlich nur, wenn ich denke meine Hinweise können helfen.
    Und da ich solche Programme oft selber brauche und schon sehr viele verschiedenste Arten programmiert habe, dachte ich gebe Hinweise und dann ist dem Fragenden geholfen.
    Es ist nur traurig, dass immer sofort nach Lösungen gefragt wird, anstelle selbst etwas zu versuchen und wenn es nicht klappt, dann fragen.
    Das sollte in einem Forum wie hier der Weg sein.


    bike

  11. Folgende 2 Benutzer sagen Danke zu bike für den nützlichen Beitrag:

    Blockmove (13.02.2011),Tigerente1974 (13.02.2011)

  12. #10
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.533
    Danke
    1.152
    Erhielt 1.253 Danke für 982 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn du SCL hast, dann ist es eigentlich kein großer Akt, da dir die ganze Zeigergeschichte erspart bleibt.
    Um deinen Barcode zu vergleichen kannst du entweder in einer Schleife die Barcodes byteweise vergleichen oder du verwendest die FCs für Stringvergleich. Hängt davon ab, in welcher Form deine Barcodes vorliegen.

    Gruß
    Dieter

    PS:
    Ich hab auch keine fertige Lösung dafür.
    Aber deine Aufgabe kann wunderschön mit SCL und PLCSIM am Schreibtisch gelöst werden

Ähnliche Themen

  1. Probleme mit USB-Adapter auf ET-Stationen usw.
    Von PixelGrafik im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 30.09.2010, 07:53
  2. WinCCflexible 05 SP1 mit 2 HMI Stationen
    Von Nichtskönner im Forum HMI
    Antworten: 3
    Letzter Beitrag: 07.03.2009, 20:42
  3. Antworten: 0
    Letzter Beitrag: 20.02.2008, 17:51
  4. hmi-Stationen
    Von Sanja im Forum HMI
    Antworten: 5
    Letzter Beitrag: 17.05.2007, 21:17
  5. ET Stationen und 0-10V
    Von Keeper im Forum Feldbusse
    Antworten: 3
    Letzter Beitrag: 30.04.2007, 22:14

Lesezeichen

Berechtigungen

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