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

Results 1 to 4 of 4

Thread: Schieberegister (FIFO) mit Pointer

  1. #1
    Anonymous Gast

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi
    Ich habe hier eine kleine Aufgabe:
    Ich möchte über eine längere Bandstrecke den Teiletyp verfolgen. Am Anfang des Bandes laufen Teile mit verschiedenen Typnummern (1-10) ein. Am Ende des Bandes, wenn diese Teile wieder ausfahren, möchte ich die Typnummer des entsprechenden Teiles wieder wissen. Die Erkennung, wann ein Teil ein- bzw ausläuft erfolgt über Sensoren. Auf dem Band haben maximal 100 Teile Platz. Es handelt sich also um eine Art Schieberegister oder besser FIFO (First In, First Out).
    Bei der S5 haben wir ja sowas über die "Bearbeite"-Funktion B MW0 gemacht. Bei der S7 müßte das aber über Pointer bestimmt besser gehen.
    Wer hat eine gute Idee?
    Reply With Quote Reply With Quote Answered: Schieberegister (FIFO) mit Pointer  

  2. "NW1 Einlesen FIFO
    U(
    U DB2.DBX 4.0
    BLD 100
    FP DB2.DBX 4.4
    )
    SPBNB _001
    CALL FC 84
    DATA :=DB2.DBW0
    TABLE:=DB2.DBW10
    _001: U BIE
    = DB2.DBX 4.1
    NW2 Start Eintrag
    U DB2.DBX 4.1
    R DB2.DBX 4.0
    NW3 Auslesen FIFO
    U(
    U DB2.DBX 4.2
    BLD 100
    FP DB2.DBX 4.5
    )
    SPBNB _002
    CALL FC 85
    TABLE :=DB2.DBW10
    RET_VAL:=DB2.DBW2
    _002: U BIE
    = DB2.DBX 4.3
    NW4
    U DB2.DBX 4.3
    R DB2.DBX 4.2

    DB2
    Eingabedaten_FC84 WORD W#16#0 Eintrag in FIFO
    Ausgabedaten_FC85 WORD W#16#0 Austrag aus FIFO
    EN_Funktion_Start_FC84 BOOL FALSE Start Eintrag
    ENQ_Funktion_ok_FC84 BOOL FALSE Eintrag ok
    EN_Funktion_Start_FC85 BOOL FALSE Start Austrag
    ENQ_Funktion_ok_FC85 BOOL FALSE Austrag ok
    FHM_Eintrag BOOL FALSE Flankenhilfsmerker Eintrag
    FHM_Austrag BOOL FALSE Flankenhilfsmerker Austrag
    Reserve_6 ARRAY[1..4]
    BYTE
    Tabellenlaenge INT 6 FC84/FC85
    Anzahl_Eintraege INT 0 FC84/FC85
    Eintrag1 WORD W#16#0 FC84/FC85
    Eintrag2 WORD W#16#0 FC84/FC85
    Eintrag3 WORD W#16#0 FC84/FC85
    Eintrag4 WORD W#16#0 FC84/FC85
    Eintrag5 WORD W#16#0 FC84/FC85
    Eintrag6 WORD W#16#0 FC84/FC85
    Reserve_26 ARRAY[1..74]
    BYTE"


  3. #2
    Necki Gast

    Default

    Ich werde mal nachsehen, wie ich es realisiert habe.
    Schon mal irgendwo gemacht, muß es aber erst noch prüfen!

    MfG
    Reply With Quote Reply With Quote Ich schaue mal nach  

  4. #3
    Join Date
    30.08.2003
    Posts
    2,235
    Danke
    31
    Erhielt 260 Danke für 230 Beiträge

    Default

    Hallo jimmy,

    das geht nicht nur besser über Pointer, sondern nur über Pointer weil es die Bearbeitefunktion so nicht mehr gibt. Wenn du schon was aus S5-Zeiten hast, übersetz es und pass es an...

    MfG
    André Räppel
    Reply With Quote Reply With Quote Register  

  5. #4
    Anonymous Gast

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    NW1 Einlesen FIFO
    U(
    U DB2.DBX 4.0
    BLD 100
    FP DB2.DBX 4.4
    )
    SPBNB _001
    CALL FC 84
    DATA :=DB2.DBW0
    TABLE:=DB2.DBW10
    _001: U BIE
    = DB2.DBX 4.1
    NW2 Start Eintrag
    U DB2.DBX 4.1
    R DB2.DBX 4.0
    NW3 Auslesen FIFO
    U(
    U DB2.DBX 4.2
    BLD 100
    FP DB2.DBX 4.5
    )
    SPBNB _002
    CALL FC 85
    TABLE :=DB2.DBW10
    RET_VAL:=DB2.DBW2
    _002: U BIE
    = DB2.DBX 4.3
    NW4
    U DB2.DBX 4.3
    R DB2.DBX 4.2

    DB2
    Eingabedaten_FC84 WORD W#16#0 Eintrag in FIFO
    Ausgabedaten_FC85 WORD W#16#0 Austrag aus FIFO
    EN_Funktion_Start_FC84 BOOL FALSE Start Eintrag
    ENQ_Funktion_ok_FC84 BOOL FALSE Eintrag ok
    EN_Funktion_Start_FC85 BOOL FALSE Start Austrag
    ENQ_Funktion_ok_FC85 BOOL FALSE Austrag ok
    FHM_Eintrag BOOL FALSE Flankenhilfsmerker Eintrag
    FHM_Austrag BOOL FALSE Flankenhilfsmerker Austrag
    Reserve_6 ARRAY[1..4]
    BYTE
    Tabellenlaenge INT 6 FC84/FC85
    Anzahl_Eintraege INT 0 FC84/FC85
    Eintrag1 WORD W#16#0 FC84/FC85
    Eintrag2 WORD W#16#0 FC84/FC85
    Eintrag3 WORD W#16#0 FC84/FC85
    Eintrag4 WORD W#16#0 FC84/FC85
    Eintrag5 WORD W#16#0 FC84/FC85
    Eintrag6 WORD W#16#0 FC84/FC85
    Reserve_26 ARRAY[1..74]
    BYTE

Similar Threads

  1. TIA Schieberegister FIFO gross ca 300
    By MK_Auto in forum Simatic
    Replies: 1
    Last Post: 03.04.2019, 09:19
  2. Pointer Zeiger FIFO LIFO
    By plc_tippser in forum FAQ
    Replies: 1
    Last Post: 22.02.2015, 18:53
  3. Pointer Zeiger FIFO LIFO aus FAQ von Volker
    By jürgen g in forum Simatic
    Replies: 9
    Last Post: 22.12.2012, 23:53
  4. FIFO-Schieberegister mit Concept für Modicon Quantum
    By Trajan in forum Programmierstrategien
    Replies: 0
    Last Post: 14.04.2009, 13:54
  5. in ein Schieberegister per Pointer zugreifen
    By Perfektionist in forum Programmierstrategien
    Replies: 16
    Last Post: 25.08.2008, 16:17

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •