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

Ergebnis 1 bis 10 von 10

Thema: Schieberegister mit Produktionsdaten

  1. #1
    Registriert seit
    18.04.2005
    Ort
    Fast an der Schweiz
    Beiträge
    856
    Danke
    208
    Erhielt 108 Danke für 76 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mal ne Frage zu Schieberegistern.
    Wenn ich Produktionsdaten verarbeiten soll mit ~20 Stelligem Code (String)
    Wie kann ich das mit einem Schieberegister realisieren ?
    Ich hatte Dummerweise noch nie mit Schieberegistern zu tun. Die Beispiele Hier im Board habe ich mir auch schon angeschaut. Ich bin aber der (zu meinem jetztigen Wissensstand) Meinung dass die Beispiele für String nicht taugen. Ich hab mir mal den Baustein von IBN (FC110) angeschaut. Mit Eintragen und Löschen.
    Vielleicht kann mir jemand auf die Sprünge helfen.

    Danke noch
    Wälder
    Code:
     RTFM ! Read The F..ing Manual
    Arbeitet mit : Step7 V5.5 SPx / WinCC Flex 2008 SPx / Intouch / Winmod /TIA V14 (abgestürzt...Zitat der Hotline : "Sie dürfen nicht so viel rumdrücken....." TIA, so isses halt)

    ║▌║█║║▌║█║ Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten --(◔̯◔)--
    1334566890111
    Zitieren Zitieren Schieberegister mit Produktionsdaten  

  2. #2
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Hi,
    in einem DB die String Arrays deklarieren, und mit einem Index-
    Pointer die Einträge suchen/ändern usw.
    Was soll denn das Ganze sein, FIFO, LIFO?

    Gruss: V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Schieberegister  

  3. #3
    Avatar von Waelder
    Waelder ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.04.2005
    Ort
    Fast an der Schweiz
    Beiträge
    856
    Danke
    208
    Erhielt 108 Danke für 76 Beiträge

    Standard

    Also ich nehme mal an es ist ein FILO weil ich weiss wieviel Artikel auf der Maschine maximal sein können.
    D.h. Ich hab nen DB mit z.B 5x String á 25

    Code:
    Da kommts Rein -> Nr1    STRING[25]         
                      Nr2    STRING[25]         
                      Nr3    STRING[25]         
                      Nr4    STRING[25]         
                      Nr5    STRING[25] ->: hier wird rausgeschoben
    So wär mein Gedanke.
    Code:
     RTFM ! Read The F..ing Manual
    Arbeitet mit : Step7 V5.5 SPx / WinCC Flex 2008 SPx / Intouch / Winmod /TIA V14 (abgestürzt...Zitat der Hotline : "Sie dürfen nicht so viel rumdrücken....." TIA, so isses halt)

    ║▌║█║║▌║█║ Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten --(◔̯◔)--
    1334566890111

  4. #4
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Frage

    Hi,
    kommt darauf an was Nr1, Nr2, bedeuten, bzw. rutschen die
    Sätze nach unten(der kommende oben), oder werden sie angehängt(der kommende unten).
    Wenn Nr.5 der allererster Satz war, ist es ein FIFO.

    Gruss:V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Schieben  

  5. #5
    Avatar von Waelder
    Waelder ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.04.2005
    Ort
    Fast an der Schweiz
    Beiträge
    856
    Danke
    208
    Erhielt 108 Danke für 76 Beiträge

    Standard

    Die Rutschen von oben nach unten Durch.
    Immer alle eins nach unten schieben.

    NR1 ist der Erste, NR5 der letzte.

    Eingang -> NR1 -> NR2 -> NR3 -> NR4 -> NR5 -> Ausgang

    So ich hoff ich habs richtig gemacht.
    Geändert von Waelder (17.01.2007 um 21:48 Uhr)
    Code:
     RTFM ! Read The F..ing Manual
    Arbeitet mit : Step7 V5.5 SPx / WinCC Flex 2008 SPx / Intouch / Winmod /TIA V14 (abgestürzt...Zitat der Hotline : "Sie dürfen nicht so viel rumdrücken....." TIA, so isses halt)

    ║▌║█║║▌║█║ Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten --(◔̯◔)--
    1334566890111
    Zitieren Zitieren Reihenfolge  

  6. #6
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.335
    Danke
    27
    Erhielt 129 Danke für 116 Beiträge

    Standard

    Kannst von Hand oder mit SFC10 realiseren.


    wenn Impuls zum schieben kommt
    spbn weit

    Aufruf SFC10 (NR5-Ausgang)
    Aufruf SFC10 (NR4-NR5)
    Aufruf SFC10 (NR3-NR4)
    Aufruf SFC10 (NR2-NR3)
    Aufruf SFC10 (NR1-NR2)
    Aufruf SFC10 (Eingang-NR1)

    weit: nop 0

  7. #7
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Hi,
    SFC10, ähh , welche Bibliothek?

    Gruss: V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Sfc10  

  8. #8
    Registriert seit
    19.09.2006
    Beiträge
    49
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    ich würd nicht den SFC 10 nehmen

    Sperren von bausteinbezogenen, symbolbezogenen und Leittechniksammelmeldungen mit der SFC 10 "DIS_MSG"

    sondern SFC 20

    Speicherbereich kopieren mit der SFC 20 "BLKMOV"

    zu finden in der Standardlibrary unter "System Function Blocks"
    Kaum macht mans richtig, schon funktionierts...

  9. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Es geht auch mit etwas weniger Rechenaufwand, mit einem Zeiger auf den gültigen Eintrag.

    Code:
     
    zuerst 1. Mal raus dann 1. Mal rein    -> Nr1    STRING[25]         
                                              Nr2    STRING[25]         
                                              Nr3    STRING[25]         
                                              Nr4    STRING[25]         
                                              Nr5    STRING[25] 
                                                             
                                              Nr1    STRING[25]         
    zuerst 2. Mal raus dann 2. Mal rein    -> Nr2    STRING[25]         
                                              Nr3    STRING[25]         
                                              Nr4    STRING[25]         
                                              Nr5    STRING[25]  
    
                                              Nr1    STRING[25]         
                                              Nr2    STRING[25]         
    zuerst 3. Mal raus dann 3. Mal rein    -> Nr3    STRING[25]         
                                              Nr4    STRING[25]         
                                              Nr5    STRING[25]
    
                                              Nr1    STRING[25]         
                                              Nr2    STRING[25]         
                                              Nr3    STRING[25]         
    zuerst 4. Mal raus dann 4. Mal rein    -> Nr4    STRING[25]         
                                              Nr5    STRING[25]
    
                                              Nr1    STRING[25]         
                                              Nr2    STRING[25]         
                                              Nr3    STRING[25]         
                                              Nr4    STRING[25]         
     zuerst 5. Mal raus dann 5. Mal rein    ->Nr5    STRING[25]
    Nach dem 5. Mal fängt man wieder bei 1 an.

    Ausgangssituation:

    Überall steht "" drin, also alles leer.
    Das 1. Produkt kommt, also Auslesen Nr.1 im Output ablegen, Input einlesen in Nr.1 ablegen, Zeiger auf Nr.2
    Das 12 Produkt kommt, also Auslesen Nr.2 im Output ablegen, Input einlesen in Nr.2 ablegen, Zeiger auf Nr.3

    ...

    Das 5. Produkt kommt, also Auslesen Nr.5 im Output ablegen, Input einlesen in Nr.5 ablegen, Zeiger auf Nr.1

    usw.

    Im Output steht immer das rausgeschobene Produkt. Zum Schluß, wenn nur noch ausgelesen wird, z.Bsp. beim Leerfahren schreibt man immer "" rein.

    Vorteil, man benötigt nur 2x SFC20, was bei manchen CPU schon Zykluszeit sparen hilft.
    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

  10. #10
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.335
    Danke
    27
    Erhielt 129 Danke für 116 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Stimmt, SFC20 nicht 10! Denkfehler ....

    @Ralle,
    mit dem sparen von Zyykluszeit gebe ih Dir zwar recht, aber selbst bei den alten CPU's waren es ja keine 10ms mehr, sondern weniger.
    Ebenfalls wird der Programmteil ja nicht zyklisch sondern beim takten der Werkstücke einmal ausgeführt, somit ist die Zykluszeit für diesen einen Zyklus nicht merklich höher.

    Wobei ich Dir mit dem Zeiger auch recht gebe und es eine nette Lösung ist!



    Oder halt das ganze von Hand :

    L DW Last-1
    T DW Last
    L DW Last-2
    T DW Last-1
    ...

    Wird aber ne nette Tipparbeit
    Geändert von Boxy (19.01.2007 um 13:17 Uhr)

Ähnliche Themen

  1. SCL: Produktionsdaten in Array speichern
    Von teo84 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 24.05.2010, 20:24
  2. B&R Schieberegister?
    Von Anaconda55 im Forum CODESYS und IEC61131
    Antworten: 20
    Letzter Beitrag: 07.09.2009, 02:05
  3. Produktionsdaten... Welche Hardware?
    Von Krumnix im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 06.02.2006, 16:12
  4. Schieberegister
    Von Anonymous im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 30.01.2006, 08:47
  5. Schieberegister mit S7-200
    Von Anonymous im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 14.10.2003, 15:00

Lesezeichen

Berechtigungen

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