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

Ergebnis 1 bis 5 von 5

Thema: Wie funktioniert eigentlich der Merkerbereich?

  1. #1
    Registriert seit
    12.02.2016
    Beiträge
    14
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich bräuchte mal etwas Nachhilfe zur grundsätzlichen Funktionsweise eines Controllers. Meistens verwenden wir einen WAGO 750-880 oder auch mal 750-8202. Ich vermute aber, die Arbeitsweise des Merkerbereichs ist nicht so sehr vom Modell oder Hersteller abhängig.
    Also der Zustand von Adressen, die ich mit %M... vergebe, ist dauerhaft gespeichert, auch wenn der Controller abgeschaltet wird. Dazu muss er im internen Speicher abgelegt werden. Gibt es einen Zwischenpuffer, aus dem die Daten von Zeit zu Zeit auf den internen Speicher geflusht werden? Oder funktioniert der Merkerbereich noch ganz anders?
    Diese Frage interessiert mich aus einem ganz bestimmten Grund. Ich tausche über Modbus Daten zwischen zwei Controllern aus, der eine schreibt auf die Adresse 12288, also in den Merkerbereich, des anderen. Dabei kommt es immer wieder zu kurzen Verzögerungen und Störungen. Kann es sein, dass der Merkerbereich nicht für einen konstanten Datenstrom in Echtzeit geeignet ist? Sollte man dafür besser die PFC-IN bzw. PCF-OUT-Variablen verwenden? Soweit ich mit Wireshark beobachten kann, laufen die Modbus-Pakete gleichmäßig durch.

    Vielen Dank für Eure Antworten und liebe Grüße

    Michael Hoeft
    Zitieren Zitieren Wie funktioniert eigentlich der Merkerbereich?  

  2. #2
    Registriert seit
    07.06.2007
    Beiträge
    143
    Danke
    2
    Erhielt 24 Danke für 24 Beiträge

    Standard

    Ob Daten im Merkerbereich abgelegt werden oder wo anders spielt für die Remanenz keine Rolle. Unter Umständen gibt es Hersteller die einen remanenten Merkerbereich haben. Das ist aber normalerweise nicht der Fall.
    Außerdem spielt es ebenso keine Rolle "wie oft" du die Daten beschreibst. Du schreibst: "In einem konstanten Datenstrom". Das ist für den Merkerbereich unerheblich da egal woher die Daten kommen Sie diese "Zuordnung" verlieren. Ein Byte ist ein Byte, egal ob es per Modbus, Profinet, von Datei oder sonst woher kommt. Merker kannst du beliebig oft beschreiben und lesen. Da gibt es keine Grenze.

    Was besonders am Merkerbereich im Vergleich zu normalen Variablen ist, dass diese eine feste Adresse haben und bei der Übersetzung nicht wie die Variablen neu organisiert werden. Dadurch kann es natürlich zu sehr fragmentiertem Speicher kommen. In der Codesys/Beckhoff Welt nutzt eigentlich fast niemand mehr Merker wenn es nicht unbedingt sein muss.

    Willst du Daten remanent verfügbar haben so musst du diese als remanent kennzeichnen. Wie viele Daten sie remanent machen darfst hängt von der Steuerung ab. Manche speichern diese mit einem Pufferkondensator oder Batterie oder speichern diese mit der Restspannung noch schnell ab. Das musst du prüfen.
    Bei Codesys definiert man remanente Daten wie folgt:
    VAR RETAIN PERSISTENT
    myBool : BOOL;
    END_VAR
    Ob du RETAIN und PERSISTENT benötigst lies in der Doku nach.

  3. Folgender Benutzer sagt Danke zu excelite für den nützlichen Beitrag:

    m.hoeft (04.08.2016)

  4. #3
    Registriert seit
    25.02.2010
    Beiträge
    604
    Danke
    34
    Erhielt 119 Danke für 108 Beiträge

    Standard

    Also ich halte von direktem Mapping überhaupt nichts.
    1. Ist der Datenursprung im Zielsystem nicht nachvollziehbar.
    2. Kannst du die Konsistenz der Daten nicht gewährleisten.

    Eine saubere Programmierung der Kommunikation ist m.M. nach immer noch am besten.
    Holger

  5. #4
    m.hoeft ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.02.2016
    Beiträge
    14
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Holger,

    vielen Dank für Deine Antwort. Wie sieht denn eine saubere Programmierung aus? Könntest Du einen Link oder ein kurzes Beispiel schicken?

    Viele Grüße Michael

  6. #5
    m.hoeft ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.02.2016
    Beiträge
    14
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo excelite,

    vielen Dank für Deine Antwort. Inzwischen habe ich mit Hilfe von WAGO das Problem lösen können. Merkerbereich und PFC-IN/PFC-OUT werden tatsächlich anders behandelt. Der Merkerbereich wird direkt innerhalb des Programmablaufes abgefragt. Da ich in verschiedenen Task einmal gelesen und das andere Mal geschrieben habe, kann es zu konkurrierenden Zugriffen kommen, die diese Verzögerungen verursacht haben. PFC-IN/PFC-OUT werden dagegen vom Feldbus verwaltet und hier ist auch Lesen und Schreiben sauber getrennt.

    Viele Grüße Michael

Ähnliche Themen

  1. wie Speichert man eine REAL Zahl im Merkerbereich?
    Von Horschd im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 20.03.2013, 14:43
  2. Wie funktioniert der Chat?
    Von CPU Bändiger im Forum Stammtisch
    Antworten: 20
    Letzter Beitrag: 12.06.2012, 00:53
  3. Antworten: 19
    Letzter Beitrag: 29.05.2011, 22:19
  4. Wie funktioniert der Rezepturverwalter?
    Von Chräshe im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 26.07.2010, 11:36
  5. Timer - wie genau funktioniert der...
    Von Kaffeesüchtig im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 26.05.2009, 14:26

Stichworte

Lesezeichen

Berechtigungen

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