TIA Scl FIFO auslesen

robson

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Gemeinde, ich benötige wieder einmal Hilfe von den Experten :D

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
 
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.
 
Zuletzt bearbeitet:
Zurück
Oben