<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/</id><updated>2020-02-28T11:00:58.371000Z</updated><subtitle>Recent posts to Remanente Werte</subtitle><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#8eaf" rel="alternate"/><published>2020-02-28T11:00:58.371000Z</published><updated>2020-02-28T11:00:58.371000Z</updated><author><name>KlOis</name><uri>https://forge.codesys.com/u/klois/</uri></author><id>https://forge.codesys.com36011d9a0a60e59864e4361f1e452f495f1e829a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Das Problem dabei ist, wenn du den Baustein (oder auch eine Variable) in einerm FB RETAIN deklarierst, wird der ganze FB RETAIN .&lt;br/&gt;
Also aufpassen &lt;br/&gt;
Lieber eine Variable in den globalen Variablen als RETAIN deklarieren!&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#1cc1" rel="alternate"/><published>2020-02-28T11:00:50.951000Z</published><updated>2020-02-28T11:00:50.951000Z</updated><author><name>hwesbe</name><uri>https://forge.codesys.com/u/hwesbe/</uri></author><id>https://forge.codesys.comb53af1704db80bf89d8232fb15d705d05b009775</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;ganzer Baustein CPU als Retain gemacht. Jetzt gehts. Denke aber es ist einfacher über einen &lt;br/&gt;
Trigger eine Variable hochzuzählen. Dann wird die nicht überschrieben.&lt;/p&gt;
&lt;p&gt;Danke&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#be23" rel="alternate"/><published>2020-02-28T11:00:48.272000Z</published><updated>2020-02-28T11:00:48.272000Z</updated><author><name>KlOis</name><uri>https://forge.codesys.com/u/klois/</uri></author><id>https://forge.codesys.com80e3885349d9d2c1b4645cff13492c461c6b3501</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Beim Neustart der Steuerung überschreibt doch der Ausgang des CTU deine remanente Variable wieder mit 0 oder hab ich was falsch verstanden?&lt;br/&gt;
Ich weiß nicht ob das geht, aber du müsstest den CTU remanent deklarieren.&lt;br/&gt;
Oder du nimmst den Ausgang des CTU und addierst die Differenz zum vorherigen Wert immer auf deine remanente Variable drauf.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;VAR_GLOBAL&lt;/span&gt; &lt;span class="nt"&gt;RETAIN&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nt"&gt;diRetain&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;DINT&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;END_VAR&lt;/span&gt;
&lt;span class="nt"&gt;---------------&lt;/span&gt;
&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;im&lt;/span&gt; &lt;span class="nt"&gt;Baustein&lt;/span&gt; &lt;span class="nt"&gt;Deklaration&lt;/span&gt;
&lt;span class="nt"&gt;VAR&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nt"&gt;fbCTU&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;CTU&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nt"&gt;diOld&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;DINT&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nt"&gt;diDiff&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;DINT&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;END_VAR&lt;/span&gt;
&lt;span class="nt"&gt;---------------&lt;/span&gt;
&lt;span class="nt"&gt;diDIff&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;fbCTU&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;CV-diOld&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;diOld&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;fbCTU&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;CV&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;diRetain&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;dieRetain&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nt"&gt;diDiff&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#9cb9" rel="alternate"/><published>2020-02-28T11:00:40.976000Z</published><updated>2020-02-28T11:00:40.976000Z</updated><author><name>hwesbe</name><uri>https://forge.codesys.com/u/hwesbe/</uri></author><id>https://forge.codesys.comd77ccf665ef6f17366cfa0d057b8d3d45da0a384</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Retain-Variablen behalten ihre Werte nach einem unkontrollierten Beenden des Laufzeitsystems (Aus/Ein) bzw. einem 'Online' 'Reset' in CoDeSys erhalten.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;mit dieser Aussage bzw. mit der Hilfe von CoDeSys komm ich nicht so ganz klar.&lt;br/&gt;
Ich habe eine WAGO 750-841 und nutze einen Aufwärtszähler (CTU). Der Zählwert &lt;br/&gt;
des CTU Ausgangs (WORD) soll erhalten bleiben bei z.B. Spannungsausfall und nach &lt;br/&gt;
Wiederkehr vorhanden sein.&lt;br/&gt;
Den Ausgang hab ich als &lt;br/&gt;
VAR RETAIN&lt;br/&gt;
ZAEHL_WERT : WORD;&lt;br/&gt;
END_VAR&lt;br/&gt;
deklariert.&lt;br/&gt;
Aber gespeichert wird da gar nix. Der ist immer wieder auf null. Wo verstehe ich die Aussage der Hilfe&lt;br/&gt;
nicht?&lt;/p&gt;
&lt;p&gt;Gruß Henning&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#be06" rel="alternate"/><published>2020-02-28T11:00:38.364000Z</published><updated>2020-02-28T11:00:38.364000Z</updated><author><name>johi</name><uri>https://forge.codesys.com/u/johi/</uri></author><id>https://forge.codesys.com8ca42e88c8d98bf31d6e3ede3b8ae7c675b01f41</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Also mit dem Store_Retain werden nur die von mir deklarierten Retain Variablen gespeichert.&lt;br/&gt;
Es ist richtig, dass der Store_Retain nicht zyklisch aufgerufen werden darf.&lt;br/&gt;
Das stört mich aber nicht weiter, da ich nur Parameter, die über das Touchpanel vom Operator verändert werden, auf diese Art speichern möchte.&lt;br/&gt;
Für Daten, die bei einem Systemausfall gespeichert bleiben sollen stehen remanente Merkerbereiche zur Verfügung.&lt;/p&gt;
&lt;p&gt;Also nicht ganz so schlimm wie der erste Eindruck.&lt;/p&gt;
&lt;p&gt;Gruss&lt;br/&gt;
Jörg&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#6a07" rel="alternate"/><published>2020-02-28T11:00:31.148000Z</published><updated>2020-02-28T11:00:31.148000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com869614e00e74d306a33c44045684e7406b351062</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo nochmal&lt;/p&gt;
&lt;p&gt;Übrigens steht in der CoDeSys Hilfe folgendes:&lt;/p&gt;
&lt;p&gt;Retain-Variablen behalten ihre Werte nach einem unkontrollierten Beenden des Laufzeitsystems (Aus/Ein) bzw. einem 'Online' 'Reset' in CoDeSys erhalten. &lt;/p&gt;
&lt;p&gt;Gruß&lt;br/&gt;
Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#3a53" rel="alternate"/><published>2020-02-28T11:00:28.346000Z</published><updated>2020-02-28T11:00:28.346000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com658b0ef3ebb0850c905195c0f483803aacfe44cd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Servus&lt;/p&gt;
&lt;p&gt;Also das macht mir doch einen sehr halbfertigen Eindruck.&lt;br/&gt;
Was passiert denn wenn jemand an deinem Controller den Strom wegnimmt, also z.B. den Hauptschalter ausschaltet ?&lt;br/&gt;
Rufst du dann noch Store_Retain auf ???&lt;br/&gt;
Und wenn du schnell ändernde Werte hast, wie oft wird dann geschrieben ?&lt;br/&gt;
Flash-Speicher haben eine begrenzte Anzahl von Schreibzyklen !&lt;/p&gt;
&lt;p&gt;Mit der Antwort vom Support würde ich mich nicht zufrieden geben.&lt;/p&gt;
&lt;p&gt;Gruß Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#7df5" rel="alternate"/><published>2020-02-28T11:00:21.032000Z</published><updated>2020-02-28T11:00:21.032000Z</updated><author><name>johi</name><uri>https://forge.codesys.com/u/johi/</uri></author><id>https://forge.codesys.com009e86b73ed5e384e5972e855e18ec3c0e942967</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Oh man, das war ne schwere Geburt.&lt;br/&gt;
Totales Missverständnis mit dem IFM support. In der CoDeSys Hilfe steht natürlich nicht, wie es bei dem IFM Controller funktioniert. Es gibt eine Ergänzung von IFM zum CoDeSys Handbuch, welches ich natürlich bis vor einigen Minuten, nicht hatte.&lt;br/&gt;
Hätte der Support mir auch sagen können.&lt;/p&gt;
&lt;p&gt;Zum Speichern der, als Retain deklarierten Variablen muss beim IFM Controller einfach nur ein FB namens "Store_Retain"&lt;br/&gt;
aufgerufen werden.&lt;/p&gt;
&lt;p&gt;Jetzt klappt es auch.&lt;/p&gt;
&lt;p&gt;Vielen Dank für die schnellen Antworten.&lt;/p&gt;
&lt;p&gt;Gruss&lt;br/&gt;
Jörg&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#f77c" rel="alternate"/><published>2020-02-28T11:00:18.372000Z</published><updated>2020-02-28T11:00:18.372000Z</updated><author><name>KlOis</name><uri>https://forge.codesys.com/u/klois/</uri></author><id>https://forge.codesys.comd4fb02fe3dec6c3621f690f0556e24c8aa6f6c52</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Die Deklaration der Instanz wurde automatisch in VAR_GLOBAL geschrieben. Wird b auch in VAR_GLOBAL deklariert?&lt;br/&gt;
Ich nehme an, die Variable b ist nur eine Art Kontrollvariable, um zu schauen, ob die Retain Variablen initialisiert wurden. ??&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Richtig, wenn initialisiert wurde, dann TRUE, also kannst du sie auch lokal deklarieren.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Welche Variable (ivar oder retvar) verarbeite ich weiter im Programm?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;die ivar ist nur zur kontrolle, also weiter mit retvar arbeiten.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Wie läuft die Sache, wenn ich die Retain Variable global deklariere und keinen Instanzbaustein habe?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Dann funzt die INI Funktion nicht, kA was dann machen musst &lt;br/&gt;
Bei mir funzte das bisher auch ohne INI...&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Remanente Werte</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/dfe17b6136/?limit=25#8312" rel="alternate"/><published>2020-02-28T11:00:15.734000Z</published><updated>2020-02-28T11:00:15.734000Z</updated><author><name>johi</name><uri>https://forge.codesys.com/u/johi/</uri></author><id>https://forge.codesys.com15722ef3d60e3f31894e30afc5376384d018f28e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Ok, hab mit dem IFM Support telefoniert. Dieser hat mich auf die CoDeSys Hilfe verwiesen.&lt;br/&gt;
In der Hilfe hab ich folgendes gefunden:&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;INI Operator&lt;br/&gt;
Mit dem INI Operator können Retain-Variablen einer im Baustein verwendeten Funktionsblock-Instanz initialisiert werden.&lt;/p&gt;
&lt;p&gt;Der Operator muss einer boolschen Variable zugewiesen werden.&lt;/p&gt;
&lt;p&gt;Syntax: &amp;lt;bool-variable&amp;gt; := INI(&amp;lt;FB-Instanz, TRUE|FALSE)&amp;lt;/bool-variable&amp;gt;&lt;/p&gt;
&lt;p&gt;Wenn der zweite Parameter des Operators auf TRUE gesetzt ist, werden alle im Funktionsblock FB definierten Retain-Variablen initialisiert. &lt;/p&gt;
&lt;p&gt;Beispiel in ST: fbinst ist die Instanz desFunktionsblocks fb, in dem eine Retain-Variable retvar definiert ist.&lt;/p&gt;
&lt;p&gt;Deklaration im Baustein:&lt;/p&gt;
&lt;p&gt;fbinst:fb;&lt;/p&gt;
&lt;p&gt;b:bool;&lt;/p&gt;
&lt;p&gt;Programmteil:&lt;/p&gt;
&lt;p&gt;b := INI(fbinst, TRUE);&lt;/p&gt;
&lt;h2 id="ivarfbinstretvar-retvar-wird-initialisiert"&gt;ivar:=fbinst.retvar  (&lt;em&gt; =&amp;gt; retvar wird initialisiert &lt;/em&gt;)&lt;/h2&gt;
&lt;p&gt;Leider versteh ich das ganze nicht so ganz.&lt;br/&gt;
Die Deklaration der Instanz wurde automatisch in VAR_GLOBAL geschrieben. Wird b auch in VAR_GLOBAL deklariert?&lt;br/&gt;
Ich nehme an, die Variable b ist nur eine Art Kontrollvariable, um zu schauen, ob die Retain Variablen initialisiert wurden. ??&lt;/p&gt;
&lt;p&gt;ivar:=fbinst.retvar  (&lt;em&gt; =&amp;gt; retvar wird initialisiert &lt;/em&gt;) -&amp;gt; warum muss ich den Wert der Retain Variablen einer weiteren Variablen zuweisen??&lt;/p&gt;
&lt;p&gt;Welche Variable (ivar oder retvar) verarbeite ich weiter im Programm?&lt;/p&gt;
&lt;p&gt;Wie läuft die Sache, wenn ich die Retain Variable global deklariere und keinen Instanzbaustein habe?&lt;/p&gt;
&lt;p&gt;Ich komm mir gerade echt blöd vor.   &lt;/p&gt;
&lt;p&gt;Gruss&lt;br/&gt;
Jörg&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>