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

Ergebnis 1 bis 3 von 3

Thema: Scl FIFO auslesen

  1. #1
    Registriert seit
    07.02.2011
    Ort
    Österreich / OÖ
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo liebe Gemeinde, ich benötige wieder einmal Hilfe von den Experten

    ich habe eine Kettenförder mit 90 Formen um Material zu liefern, am Kettenförder befindet sich ein Sensor (Digital) welcher mir mitteilt ob Material in einer Form vorhanden ist oder nicht, diese Information speichere ich mittels einer FIFO Funktion ab.
    4 Kettentakte später ist der Materialauswurf, hier muss ich die gespeicherten Informationen auslesen um zu überprüfen ob es notwendig ist eine volle Form zu entleert bzw. eine leere Form weiter zu lassen.

    Könnte mir bitte jemand auf die Sprünge helfen wie ich es schaffe das Auslesen meines Registers um 4 Takte zu verzögern.....?

    Hier mein FIFO SCL Code:

    Code:
    // Speichern ob Material vorhanden
    //
    IF #i_WD_Request AND NOT #s_FP_WDRequest THEN
            #s_store[#s_WDindex] := #i_Sensor;
        IF #s_WDindex < 90 THEN
            #s_WDindex := #s_WDindex + 1;
        ELSE
            #s_WDindex := 1;
        END_IF;
    END_IF;
    
    #s_FP_WDRequest := #i_WD_Request;
    
    
    // Informationen auslesen 
    // 
    IF #i_RD_Request AND NOT #s_FP_RDRequest THEN
            #s_Material := #s_store[#s_RDindex];
        IF #s_RDindex < 90 THEN
            #s_RDindex := #s_RDindex + 1;
         ELSE
            #s_RDindex := 1;
         END_IF;
    END_IF;
    
        #s_FP_RDRequest := #i_RD_Request;
    Vielen Dank für eure Hilfe
    Rob
    Zitieren Zitieren Scl FIFO auslesen  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.262
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Ich geh mal davon aus, die Auslesestelle ist fest 4 Takte nach dem Schreiben der Information.

    Mit i_WD_Request schreibst du die Info in den FIFO und schiebst den FIFO eins weiter. Die Kette läuft genau dann auch einen Takt???
    Dann mußt du s_RDindex = s:WD_index + 4 rechnen und an dieser Stelle die Daten lesen (evtl. +3 du schiebst ja gerade, das kannst du probieren).

    #s_Material := #s_store[#s_RDindex];

    Bei Read mußt du also eigentlich keinen Index hochzählen, den koppelst du fest an den Schreibindex.

    Deine Indexaddition für Read brauchst du nur, wenn du mal durch die "Kette" suchen willst, z.Bsp. ob noch volle Elemente auf der Kette sind.
    Geändert von Ralle (09.05.2016 um 16:39 Uhr)
    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
    Avatar von robson
    robson ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.02.2011
    Ort
    Österreich / OÖ
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen,

    genau, geschrieben wird immer mit dem Kettentakt.... habe jetzt deinen Vorschlag ausprobiert und hat super geklappt - DANKE!

Ähnliche Themen

  1. SCL FIFO mit zwei Ausgabewerten
    Von zloyduh im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 18.02.2012, 22:41
  2. String in scl auslesen
    Von Bensen83 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 06.12.2010, 13:50
  3. Fifo mit SCL erstellen ???
    Von Chris30 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 11.07.2010, 10:09
  4. Störmeldung DINT in FIFO ablegen und auslesen
    Von Viper68 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 18.02.2010, 12:50
  5. Scl-fifo
    Von johnij im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 12.11.2007, 08:16

Lesezeichen

Berechtigungen

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