<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to How to use retentive option in timer in codesys v3.5?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/523a0e54aa/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/523a0e54aa/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/523a0e54aa/</id><updated>2020-02-27T13:55:51.117000Z</updated><subtitle>Recent posts to How to use retentive option in timer in codesys v3.5?</subtitle><entry><title>How to use retentive option in timer in codesys v3.5?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/523a0e54aa/?limit=25#3c04" rel="alternate"/><published>2020-02-27T13:55:51.117000Z</published><updated>2020-02-27T13:55:51.117000Z</updated><author><name>sjdebdaly</name><uri>https://forge.codesys.com/u/sjdebdaly/</uri></author><id>https://forge.codesys.com3b60147da164976b0113457decdbb6d7d9ef9c48</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Arvind,&lt;/p&gt;
&lt;p&gt;I posted a reply on your GetSatisfaction query, but I figured it may be an idea to post my solution here too.&lt;/p&gt;
&lt;p&gt;The idea is to use a Standard.TOF, which is easier to restart part way through than a TON due to it counting down rather than up.&lt;/p&gt;
&lt;p&gt;As mentioned in my initial reply, this code has not been tested.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;FUNCTION_BLOCK&lt;/span&gt; &lt;span class="nv"&gt;RetentiveTimer&lt;/span&gt;
&lt;span class="nv"&gt;VAR_INPUT&lt;/span&gt;
   &lt;span class="nv"&gt;xIn&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;tTarget&lt;/span&gt; : &lt;span class="nv"&gt;TIME&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR_OUTPUT&lt;/span&gt;
   &lt;span class="nv"&gt;xDone&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;tElapsed&lt;/span&gt; : &lt;span class="nv"&gt;TIME&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt;
   &lt;span class="nv"&gt;_usiState&lt;/span&gt; : &lt;span class="nv"&gt;USINT&lt;/span&gt;&lt;span class="c1"&gt;; (* 0 = Initial/retentive power up, 1 = idle, 2 = running, 3 = done *)&lt;/span&gt;
   
   &lt;span class="nv"&gt;_fbTimer&lt;/span&gt; : &lt;span class="nv"&gt;Standard&lt;/span&gt;.&lt;span class="nv"&gt;TOF&lt;/span&gt;&lt;span class="c1"&gt;;   (* Use count down timer as it's easier to start over mid-way *)&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt; &lt;span class="nv"&gt;RETAIN&lt;/span&gt;
   &lt;span class="nv"&gt;_tElapsed&lt;/span&gt; : &lt;span class="nv"&gt;TIME&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   
   &lt;span class="nv"&gt;_xInProgress&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;   (* Whether the timer is running *)&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="o"&gt;============================================================&lt;/span&gt;
&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Initial&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;retentive&lt;/span&gt; &lt;span class="nv"&gt;power&lt;/span&gt; &lt;span class="nv"&gt;up&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;_usiState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   
   &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;This&lt;/span&gt; &lt;span class="nv"&gt;state&lt;/span&gt; &lt;span class="nv"&gt;should&lt;/span&gt; &lt;span class="nv"&gt;be&lt;/span&gt; &lt;span class="nv"&gt;only&lt;/span&gt; &lt;span class="nv"&gt;on&lt;/span&gt; &lt;span class="nv"&gt;first&lt;/span&gt; &lt;span class="nv"&gt;execution&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;_xInProgress&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;   
      &lt;span class="nv"&gt;_usiState&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Power&lt;/span&gt; &lt;span class="nv"&gt;interrupted&lt;/span&gt;, &lt;span class="k"&gt;continue&lt;/span&gt; &lt;span class="nv"&gt;running&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="k"&gt;ELSE&lt;/span&gt; 
      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Update&lt;/span&gt; &lt;span class="nv"&gt;timer&lt;/span&gt; &lt;span class="nv"&gt;with&lt;/span&gt; &lt;span class="nv"&gt;last&lt;/span&gt; &lt;span class="nv"&gt;value&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
      &lt;span class="nv"&gt;_fbTimer&lt;/span&gt;.&lt;span class="nv"&gt;PT&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;_tElapsed&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      
      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Go&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;running&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
      &lt;span class="nv"&gt;_usiState&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Idle&lt;/span&gt; &lt;span class="nv"&gt;state&lt;/span&gt;, &lt;span class="nv"&gt;waiting&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;start&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;ELSIF&lt;/span&gt; &lt;span class="nv"&gt;_usiState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   
   &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;User&lt;/span&gt; &lt;span class="nv"&gt;triggered&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;timer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;go&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;xIn&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
      &lt;span class="nv"&gt;_fbTimer&lt;/span&gt;.&lt;span class="nv"&gt;PT&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;tElapsed&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="nv"&gt;_fbTimer&lt;/span&gt;.&lt;span class="nv"&gt;IN&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="nv"&gt;_xInProgress&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      
      &lt;span class="nv"&gt;_usiState&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Running&lt;/span&gt; &lt;span class="nv"&gt;state&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;ELSIF&lt;/span&gt; &lt;span class="nv"&gt;_usiState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   
   &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;User&lt;/span&gt; &lt;span class="nv"&gt;has&lt;/span&gt; &lt;span class="nv"&gt;cancelled&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;timer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;back&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;idle&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;xIn&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
      &lt;span class="nv"&gt;_fbTimer&lt;/span&gt;.&lt;span class="nv"&gt;IN&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      
      &lt;span class="nv"&gt;_usiState&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   
   &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Timer&lt;/span&gt; &lt;span class="nv"&gt;has&lt;/span&gt; &lt;span class="nv"&gt;completed&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;go&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;done&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="nv"&gt;ELSIF&lt;/span&gt; &lt;span class="nv"&gt;_fbTimer&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
      &lt;span class="nv"&gt;xDone&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      
      &lt;span class="nv"&gt;_xInProgress&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="nv"&gt;_usiState&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;END_IF&lt;/span&gt;
   
   &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Update&lt;/span&gt; &lt;span class="nv"&gt;retentive&lt;/span&gt; &lt;span class="nv"&gt;elapsed&lt;/span&gt; &lt;span class="nv"&gt;time&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="nv"&gt;_tElapsed&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;_fbTimer&lt;/span&gt;.&lt;span class="nv"&gt;ET&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Done&lt;/span&gt; &lt;span class="nv"&gt;state&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;ELSIF&lt;/span&gt; &lt;span class="nv"&gt;_usiState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   
   &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Reset&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;timer&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="nv"&gt;_fbTimer&lt;/span&gt;.&lt;span class="nv"&gt;IN&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   
   &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;User&lt;/span&gt; &lt;span class="nv"&gt;has&lt;/span&gt; &lt;span class="nv"&gt;lowered&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;xIn&lt;/span&gt; &lt;span class="nv"&gt;pin&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;xIn&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
      &lt;span class="nv"&gt;xDone&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      
      &lt;span class="nv"&gt;_usiState&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;END_IF&lt;/span&gt;
   
&lt;span class="k"&gt;ELSE&lt;/span&gt;
   &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Shouldn&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;t get to this state - go to idle *)&lt;/span&gt;
   &lt;span class="nv"&gt;_usiState&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Execute&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;timer&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;_fbTimer&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Calculate&lt;/span&gt; &lt;span class="nv"&gt;elapsed&lt;/span&gt; &lt;span class="nv"&gt;time&lt;/span&gt; &lt;span class="nv"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;using&lt;/span&gt; &lt;span class="nv"&gt;TOF&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;tElapsed&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;tTarget&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;_fbTimer&lt;/span&gt;.&lt;span class="nv"&gt;ET&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>How to use retentive option in timer in codesys v3.5?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/523a0e54aa/?limit=25#92b8" rel="alternate"/><published>2020-02-27T13:55:50.486000Z</published><updated>2020-02-27T13:55:50.486000Z</updated><author><name>josepmariarams</name><uri>https://forge.codesys.com/u/josepmariarams/</uri></author><id>https://forge.codesys.com707568321a31961755a4666c83cd1019d1aa2971</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Create an lreal as retain and increase it every cycle with the task cycletime.&lt;/p&gt;
&lt;p&gt;Sent from my Moto G (5S) Plus using Tapatalk&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How to use retentive option in timer in codesys v3.5?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/523a0e54aa/?limit=25#4a89" rel="alternate"/><published>2020-02-27T13:55:50.289000Z</published><updated>2020-02-27T13:55:50.289000Z</updated><author><name>Comingback4u</name><uri>https://forge.codesys.com/u/comingback4u/</uri></author><id>https://forge.codesys.com5e19d13e9e5c07c9b6c40bf8130ac18710ad57bd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Have you looked at the function block RTC. You can save the date and time as a retain and when powered back on it will start counting from where it left off.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How to use retentive option in timer in codesys v3.5?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/523a0e54aa/?limit=25#8696" rel="alternate"/><published>2020-02-27T13:55:50.079000Z</published><updated>2020-02-27T13:55:50.079000Z</updated><author><name>arrvvii</name><uri>https://forge.codesys.com/u/arrvvii/</uri></author><id>https://forge.codesys.com845362947056d60bc9215b7824a12646cb739686</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi all, &lt;br/&gt;
I've trouble in making timer as retentive. Without retain option, timer value resets during power cycle/failure.&lt;/p&gt;
&lt;p&gt;I tried following methods to make a retentive timer. &lt;br/&gt;
1. Made the boolean input of timer as retain. Timer restarts when the PLC is power cycled.&lt;br/&gt;
2. Made the whole timer block as retain. Timer output turns high when the PLC is power cycled. &lt;br/&gt;
3. Used both boolean input as well as the timer block as retain and checked. &lt;br/&gt;
4. used a blink function and counter block and retained the counter value. It is not matching with real time. There is a significant delay in that timing. &lt;/p&gt;
&lt;p&gt;All the above failed. It is a very critical process so retentive option for timer is very much needed. Kindly help me to solve this. &lt;/p&gt;
&lt;p&gt;Thanks, &lt;br/&gt;
Arvind&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>