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

Ergebnis 1 bis 4 von 4

Thema: Retain

  1. #1
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Umgebung CoDeSys 2.x.

    Nach dem Anlegen von neuen RETAIN Variablen und Download des Programms stehen in den bisher vorhandenen RETAIN Variablen Schrott Werte!

    Anscheinend verschiebt sich der Speicherbereich (wäre auch logisch).

    Wie sollte man vorgehen, dass die neuen RETAINs hinten angehängt werden und somit die Position der vorhandenen Daten sich nicht ändert?

    Unser Trick ist bisher, einfach in Reserve eine Reihe von Daten anzulegen und aus diesem Pool bei Bedarf durch Umbenennung die neuen Variablen zu generieren.
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Retain  

  2. #2
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard

    Der Recource-Allocator funktioniert meines wissens nach so, das je nachdem wo die deklaration stattfindet allociert wird.

    heißt wenn die linkorder bzw, die struktur des programms x aufweist und du vor x den programmteil y einfügst, ändern sich auch die adressen.

    unser trick dabei ist es die variablen entweder global anzulegen und den var so zu strukturieren das die neuen dann darunter geschrieben werden oder ebend deine variante, ich lege einen array an der indirekt angesprochen wird und so dimensioniert wird das er eine sinnvolle reserve beinhaltet, zweiteres ist für meinen geschmack zwar nicht immer schön, aber funktional das beste was ich bisher gefunden habe.

  3. #3
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard

    Hallo,

    verwendet ihr keine Default-Werte ?

    Wie werden die Werte beim Kunden initialisiert falls die CPU mal getauscht wird? Dann gehen ja alle Werte verloren. Kann er die dann eingeben ? Ich meine weiß er was er eingeben muss ?

    Danke für die Info
    bg
    bb

  4. #4
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    die initialwerte werden folgendermassen initialisiert:

    über ein retain welches bool high aufweißt wird einmalig ein FB aufgerufen welcher die initialisierung als konstanten beinhaltet und via move in den array schreibt, nach dem dies geschehen ist wird der fb obig benannte retain-var auf bool low setzen, was bewirkt das der fb nicht mehr aufgerufen wird.

    so machen wir es, hat den positiven nebeneffekt das ma in einem einzigen blick alle initialwerte sieht. und bei bedarf (und entsprechender programmierung) auch während der runtime quasi auf "werkseinstellungen" zurücksetzen kann.

Ähnliche Themen

  1. non-retain DB Sichern?
    Von rr_zx im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 04.11.2011, 10:31
  2. Wago 750-871 Retain AT
    Von MSB im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 12.03.2010, 22:14
  3. Wago 849 Merker Retain
    Von iwan im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 07.10.2009, 15:48
  4. Spannungsfest durch persistent retain
    Von Roli im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 19.06.2009, 22:34
  5. Wago Retain Frage
    Von commander99 im Forum Sonstige Steuerungen
    Antworten: 5
    Letzter Beitrag: 07.05.2007, 19:15

Stichworte

Lesezeichen

Berechtigungen

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