<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Number Changing Detector Function Block</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/9a2da7c8fd/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/9a2da7c8fd/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/CODESYS-V2/thread/9a2da7c8fd/</id><updated>2022-08-31T11:51:16.999000Z</updated><subtitle>Recent posts to Number Changing Detector Function Block</subtitle><entry><title>Number Changing Detector Function Block</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/9a2da7c8fd/?limit=25#0caf" rel="alternate"/><published>2022-08-31T11:51:16.999000Z</published><updated>2022-08-31T11:51:16.999000Z</updated><author><name>sugur</name><uri>https://forge.codesys.com/u/sugur/</uri></author><id>https://forge.codesys.com903dfbd0b106194a2e681b67715e16c31c9f11c8</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Wow! That was easy. Thank you.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Number Changing Detector Function Block</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/9a2da7c8fd/?limit=25#bda1" rel="alternate"/><published>2022-08-31T09:52:10.369000Z</published><updated>2022-08-31T09:52:10.369000Z</updated><author><name>sgronchi</name><uri>https://forge.codesys.com/u/sgronchi/</uri></author><id>https://forge.codesys.com3e5542386cd746f0a10ac9c2aa5210420491b809</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Perhaps you can find it in OSCAT, not in the standard libraries.&lt;br/&gt;
Anyway...&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;FUNCTION_BLOCK&lt;/span&gt; &lt;span class="n"&gt;InputChangeMonitor_WORD&lt;/span&gt;
&lt;span class="n"&gt;VAR_INPUT&lt;/span&gt;
    &lt;span class="n"&gt;i_Value&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;WORD&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;span class="n"&gt;VAR_OUTPUT&lt;/span&gt;
    &lt;span class="n"&gt;o_Changed&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;span class="n"&gt;VAR&lt;/span&gt;
    &lt;span class="n"&gt;old_Value&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;WORD&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;END_VAR&lt;/span&gt;

&lt;span class="n"&gt;o_Changed&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;i_Value&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;old_Value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;i_Value&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;old_Value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;And with threshold&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;FUNCTION_BLOCK&lt;/span&gt; &lt;span class="n"&gt;InputChangeMonitorThresholded_WORD&lt;/span&gt;
&lt;span class="n"&gt;VAR_INPUT&lt;/span&gt;
    &lt;span class="n"&gt;i_Value&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;WORD&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;i_Threshold&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;WORD&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;span class="n"&gt;VAR_OUTPUT&lt;/span&gt;
    &lt;span class="n"&gt;o_Changed&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;span class="n"&gt;VAR&lt;/span&gt;
    &lt;span class="n"&gt;old_Value&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;WORD&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;END_VAR&lt;/span&gt;

&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="n"&gt;i_Value&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;old_Value&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
    &lt;span class="n"&gt;o_Changed&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;i_Value&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;old_Value&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;i_Threshold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;ELSE&lt;/span&gt;
    &lt;span class="n"&gt;o_Changed&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;old_Value&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;i_Value&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;i_Threshold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;END_IF&lt;/span&gt;

&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="n"&gt;o_Changed&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
    &lt;span class="n"&gt;i_Value&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;old_Value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Just change WORD to INT everywhere if you need to.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Number Changing Detector Function Block</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/9a2da7c8fd/?limit=25#a7b7" rel="alternate"/><published>2022-08-31T08:03:32.956000Z</published><updated>2022-08-31T08:03:32.956000Z</updated><author><name>sugur</name><uri>https://forge.codesys.com/u/sugur/</uri></author><id>https://forge.codesys.coma3629122afc0b83c56411e4a03d04e1a5d713f58</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I need a function block which detects any changing of the input (of INT, WORD). I believe that there is already such a function block in the present libraries.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>