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

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

Thema: FIFO oder doch nicht?!

  1. #1
    Registriert seit
    06.10.2004
    Beiträge
    62
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe folgende Aufgabe. Aus einer Maschine kommen Teile (IO oder NIO) und laufen dann auf einem Band bis zu einem Punkt (erkenne ich durch einen Sensor) und müssen im NIO Fall dann ausgeworfen werden.
    Es können jedoch bis zu 10 Teile (je nach Typ usw.) unterwegs sein.

    Wahrscheinlich hab ich einfach nen Knoten im Hirn.. Ich hatte mir überlegt, dass sowas wie ein FIFO hier nicht schlecht wär.

    Den hab ich versucht mit dem FC84/85 zu besteln nur krieg ichs nicht hin.
    Meine Idee war, bei NIO eine 1 und bei IO eine Null zu schicken, die ich dann bei Sensor =1 wieder auslese.

    Hat jemand von euch ein Beispiel dafür, ich weiß nicht wo mein Problem liegt.

    DANKE!!!
    ..:: Theorie ist, wenn man weiss wie es geht, aber nichts funktioniert. Praxis ist, wenn es funktioniert, aber man weiss nicht warum. Microsoft vereint Theorie und Praxis. Nichts funktioniert und keiner weiss warum ::..
    www.bapfy.de
    Zitieren Zitieren FIFO oder doch nicht?!  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.255
    Danke
    537
    Erhielt 2.705 Danke für 1.954 Beiträge

    Standard

    Ich kann dir das mal vom Prinzip her beschreiben.

    1. Du hast 2 Eingänge am FC
    1.1 Dateieintrag bei Ablegen eines neuen Teiles auf das Band
    1.2 Schieben des Ganzen um 1 nach vorn bei Entnahme eines Teiles am Ende des Bandes

    2. Du hast einen DB, der enthält z.Bsp. 20 Einträge (DWord, je nachden, wieviele Daten zu einem Datensatz gehören) An erster Stelle ein INT für einen Zeiger auf den aktuellen letzten Datensatz.

    Wenn ein neues Teil eingelegt wird, steht der Zeiger auf 0, wird um 1 erhöht und das Teil wird also auf Datensatz 1 abgelegt, Gleiches beim nächsten Teil usw. Wichtig, du hast mehr Datensätze als Teile auf das Band passen, dann kannst du "hinten" nicht aus dem DB hinauslaufen und mußt nur eine einfache Überwachung mit Fehlerausgabe machen, zur Sicherheit. Wenn am Ende des Bandes ein Teil entnommen wird, werden alle Datensätze um eins nach vorne geschoben (Schleife), der erste Datensatz, der entnommene wird dabei gelöscht, der Datensatzzeiger wird um 1 erniedrigt. Achtung, ist der Datensatzzeiger 0, darf kein Teil mehr auf dem Band liegen, sonst ist irgendetwas falsch gelaufen.

    PS: Hatten wir so etwas nicht schon im Forum?

    Ich hab so etwas für 20 Datensätze mit je 50 Byte, bei Interessen kann ich dir das ja schicken.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.780
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo,
    wie wäre es denn so :
    Irgend etwas legt ja wohl das Teil auf das Band. Passiert das, so schiebst du dein FiFo um eins nach vorn und trägst die Daten des aktuellen Teils an Platz 1 des FiFo's ein.
    Kommt ein Teil am Sensor an, so suchst du den im FiFo am weitesten hinten stehenden Eintrag, nimmst dessen Daten (also die Bewertung), handelst entsprechend und löscht den Eintrag aus dem Speicher.

    Dazu gibt es keinen vorgefertigten Baustein. Du mußt dir da schon selbst etwas erstellen - vielleicht so, wie von mir beschrieben.

    Gruß
    LL

  4. #4
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard

    Ich verwende bei einem FIFO 2 Zeiger.
    Einer zeigt auf die Stelle zum Eintragen
    und der andere auf die Stelle zum Auslesen.
    Dadurch spare ich mir das hin und her schieben oder suchen der Einträge.
    Ansonsten so wie ihr schreibt.
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  5. #5
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.494
    Danke
    502
    Erhielt 1.145 Danke für 738 Beiträge

    Standard

    Bei Oscat gibt es einen Bautein für FiFo-Anwendungen. Vielleicht kannst du mit dem ja was anfangen
    Geändert von Lipperlandstern (09.04.2010 um 21:28 Uhr) Grund: jetzt geht der Link
    Früher gab es Peitschen .... heute Terminkalender

  6. #6
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard

    Zitat Zitat von Lipperlandstern Beitrag anzeigen
    Bei Oscat gibt es einen Bautein für FiFo-Anwendungen. Vielleicht kannst du mit dem ja was anfangen
    Dein Link geht nicht.
    hab das mal korrigiert.
    Oscat
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  7. Folgender Benutzer sagt Danke zu crash für den nützlichen Beitrag:

    Lipperlandstern (09.04.2010)

  8. #7
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.737
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Zitat Zitat von bapfy Beitrag anzeigen
    ...
    Ich hatte mir überlegt, dass sowas wie ein FIFO hier nicht schlecht wär.

    Den hab ich versucht mit dem FC84/85 zu besteln nur krieg ichs nicht hin.
    Meine Idee war, bei NIO eine 1 und bei IO eine Null zu schicken, die ich dann bei Sensor =1 wieder auslese.

    Hat jemand von euch ein Beispiel dafür, ich weiß nicht wo mein Problem liegt.
    ...
    Ich würd auch den FiFo nehmen.

    Die Tabelle (DB1) mußt Du erst mal per Hand deklarieren:


    Dann beim Schreiben (auf's Band legen) und Lesen (Sensor=1) darauf achten, daß du nur die positive Flanke des Signals erfaßt.
    Schreiben mußt du immer ein ganzes Word.
    Und sicherhaltshalber was zum Rücksetzen (Anzahl der Einträge=0) basteln.
    Achja: und natürlich dafür sorgen, daß nicht mehr Teile kommen, als in die Tabelle passen, sonst geht die Info (ob IO oder NIO) verloren.
    Also vlt. lieber die Tabelle etwas größer machen.

    Z.B. in KOP:
    Geändert von hucki (09.04.2010 um 23:36 Uhr) Grund: Bild getauscht

  9. #8
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    Und immer darauf hoffen dass keiner ein Teil dazwischen runternimmt oder ein Sensor mal prellt. Ersteres kann man vielleicht noch mit "Sicherheitsauswurf" nach dem Start der Maschine abfangen, natürlich nur wenn bei laufender Maschine keiner was runternehmen kann weil eine Schutztür davor sitzt.

  10. #9
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.737
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Zitat Zitat von Oberchefe Beitrag anzeigen
    Und immer darauf hoffen dass keiner ein Teil dazwischen runternimmt oder ein Sensor mal prellt. Ersteres kann man vielleicht noch mit "Sicherheitsauswurf" nach dem Start der Maschine abfangen, natürlich nur wenn bei laufender Maschine keiner was runternehmen kann weil eine Schutztür davor sitzt.
    OT dazu:
    War kürzlich bei einer Präsentation vom Fraunhofer Institut in Bremen.
    Die haben ein Verfahren entwickelt, RFID-Chips in Druckgußteile direkt mit einzugießen.
    Darauf kann man dann alle solche Infos per Funk übertragen und natürlich auch wieder auslesen.
    Dann ist egal, ob irgendwer am Band das Hütchenspiel oder sonstwas macht, die Daten passen immer zum Teil.

  11. #10
    Registriert seit
    06.10.2004
    Beiträge
    62
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    So, habs jetzt im groben hingekommen. DANKE an alle!!!
    Habs jetzt so gelöst, dass ich bei NIO eine 0, und bei IO eine 1 schick. (0 kann immer stehen, deshalb NIO).

    Reinlangen kann niemand in die Maschine, jedoch an den Sensor am Auswurf (also der zum Auslesen). Das kann ich aber mit dem Kunden klarmachen, dass das auch abgeschrankt wird, denk ich.

    Ich teste jetzt noch etwas, und hab dann bestimmt noch ganz viele Fragen! Danke!!!!!!


    ..:: Theorie ist, wenn man weiss wie es geht, aber nichts funktioniert. Praxis ist, wenn es funktioniert, aber man weiss nicht warum. Microsoft vereint Theorie und Praxis. Nichts funktioniert und keiner weiss warum ::..
    www.bapfy.de

Ähnliche Themen

  1. Profinet,Ethercat oder doch Profibus?
    Von Sisu im Forum Feldbusse
    Antworten: 4
    Letzter Beitrag: 13.05.2011, 21:59
  2. Antworten: 5
    Letzter Beitrag: 23.03.2011, 20:12
  3. eigentlich doch flip/flop - oder?
    Von xinix im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 23.03.2011, 07:31
  4. China Export, oder doch CE?
    Von MSB im Forum Stammtisch
    Antworten: 3
    Letzter Beitrag: 04.08.2009, 22:03
  5. Hart is doch 'n Begriff , oder?
    Von Anonymous im Forum Feldbusse
    Antworten: 4
    Letzter Beitrag: 02.05.2004, 14:55

Lesezeichen

Berechtigungen

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