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

Ergebnis 1 bis 3 von 3

Thema: Ringpuffer mit SCL

  1. #1
    Registriert seit
    24.09.2013
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo SCL Freunde

    bin gerade dabei ein Ringpuffer in SCL zu schreiben.

    Habe ein paar schwierigkeiten. Vieleicht könnt ihr mir ein paar Anregungen geben. Der Ringpuffer soll Realwerte hintereinander wegschreiben in einem DB inein.

    Hier mal ein Auszug von meinem Code ist aber noch nicht fertig:


    FOR Index := Anfang TO Ende BY Schrittweite DO

    IF Index < 196 THEN

    ******Hier fehlt jetzt noch der befehl an dem mein Realwert an die stelle des Schreibzeigers kopiert werden soll!
    (Bitte um eure Hilfe)

    Schreibzeiger:= Schreibzeiger + 4;



    END_IF;

    IF Index > 196 THEN

    Schreibzeiger:= 0;


    ===================================


    Danke füreure Hilfe
    Zitieren Zitieren Ringpuffer mit SCL  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Also wenn das ein Ringpuffer werden soll, dann brauchst Du ziemlich sicher keine FOR-Schleife.
    Und so schreibt man in den Puffer (BUFSIZE soll die Anzahl Elemente des Puffer-Arrays sein):
    Code:
    //Schreibzeiger auf nächsten Eintrag setzen:
    Schreibzeiger := (Schreibzeiger + 1) MOD BUFSIZE;
    
    //Messwert in den Puffer schreiben:
    Puffer[Schreibzeiger] := Messwert;
    PS: Für den Code bitte die CODE-Tags benutzen (der #-Button).

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    dazu habe ich ein paar Fragen :

    1. wann willst du wegschreiben ? Doch bestimmt auf ein Ereignis hin ...
    2. warum ein externer DB ? Besser wäre du erstellst einen FB und speicherst die Werte in deiner Instanz ...
    3. was willst du mit der Schleife bzw. dem Schreibzeiger ?
    4. Ringpuffer heißt : wenn du in die letzte Zelle deines Datenbereichs geschrieben hast überschreibst du ab da die vorderen Werte wieder. Ist das so von dir gemeint ?

    Gruß
    Larry

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 05.12.2013, 18:33
  2. Problem mit Ringpuffer
    Von nutellahase im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 12.09.2011, 19:09
  3. Ringpuffer mit Mittelwert
    Von taucherd im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 19.05.2011, 23:30
  4. S7-FIFO-Baustein (als Ringpuffer) [GELÖST]
    Von openminded23 im Forum Simatic
    Antworten: 52
    Letzter Beitrag: 11.04.2011, 21:09
  5. UDT // Ringpuffer
    Von zloyduh im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 06.03.2011, 08:18

Lesezeichen

Berechtigungen

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