<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Functions</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c39f17cc9d/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c39f17cc9d/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/c39f17cc9d/</id><updated>2020-11-12T18:52:04.110000Z</updated><subtitle>Recent posts to Functions</subtitle><entry><title>Functions</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c39f17cc9d/?limit=25#b31a" rel="alternate"/><published>2020-11-12T18:52:04.110000Z</published><updated>2020-11-12T18:52:04.110000Z</updated><author><name>Morberis</name><uri>https://forge.codesys.com/u/morberis/</uri></author><id>https://forge.codesys.comeba70c4d6f821f66dab50b4cece6f21fdc910d96</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks for the heads up. This was not something I would have thought would be effected by being in a simulation. Frankly I thought the problem was me.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Functions</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c39f17cc9d/?limit=25#5f2a" rel="alternate"/><published>2020-11-11T03:52:16.947000Z</published><updated>2020-11-11T03:52:16.947000Z</updated><author><name>kislov</name><uri>https://forge.codesys.com/u/kislov/</uri></author><id>https://forge.codesys.comc1d15d333c3564603c74267399bc93c96daa309f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hm, for same strange reason it's not work in simulation.&lt;br/&gt;
But it will works with real PLC (for example, CODESYS Control WIN V3).&lt;/p&gt;
&lt;p&gt;But you can just do it by your code and of course it will works in simulation.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;todOutput&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TO_TOD&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;H&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;  &lt;span class="n"&gt;iInputHour&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;M&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;iInputMinute&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Functions</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/c39f17cc9d/?limit=25#632a" rel="alternate"/><published>2020-11-11T00:26:01.245000Z</published><updated>2020-11-11T00:26:01.245000Z</updated><author><name>Morberis</name><uri>https://forge.codesys.com/u/morberis/</uri></author><id>https://forge.codesys.combc843b4cc9f6f049f5f0aeb7f8dd6c94a0fd6d0c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;It's pretty basic but I feel like I'm doing something wrong because I can't seem to get the &lt;a class="" href="https://help.codesys.com/webapp/OagqIKs-TqmhZlQwlX8bdNv_ho8%2FTODConcat;product=CAA_DTUtil_Extern;version=3.5.12.0" rel="nofollow"&gt;TODConcat function from the CAA DTUtil library&lt;/a&gt; to work. I have used a few functions before and I had no problems then but... &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="err"&gt;¯\&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;°&lt;/span&gt;&lt;span class="n"&gt;_o&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="err"&gt;¯&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;


&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;PROGRAM&lt;/span&gt; &lt;span class="nt"&gt;Testing&lt;/span&gt;
&lt;span class="nt"&gt;VAR&lt;/span&gt;

    &lt;span class="nt"&gt;iInputHour&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;UINT&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="nt"&gt;iInputMinute&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;UINT&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="nt"&gt;todOutput&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;TOD&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nt"&gt;eError&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;DTU&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;ERROR&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;todOutput&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;DTU&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;TODConcat&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;uiHour&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;iInputHour&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;uiMinute&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;iInputMinute&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;uiSecond&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;uiMillisecond&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;peError&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;ADR&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;eError&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;The reason I think I'm doing something wrong is that todOutput always equals TOD#00:00 which is what the documentation says the output will be in case of invalid inputs. The error code is always No Error (0)&lt;/p&gt;
&lt;p&gt;I did try the &lt;a class="" href="https://help.codesys.com/webapp/Examples_caa_dtutil_lib;product=core_CAALibraries;version=3.5.11.0" rel="nofollow"&gt;example from the examples page on Codesys Help&lt;/a&gt;, same output. The example code is very similar to what I was thinking....&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;VAR&lt;/span&gt;

&lt;span class="n"&gt;eError&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;DTU&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ERROR&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;todTime&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;TIME_OF_DAY&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;todTime&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TODConcat&lt;/span&gt;

&lt;span class="p"&gt;(&lt;/span&gt;

&lt;span class="n"&gt;uiHour&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

&lt;span class="n"&gt;uiMinute&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

&lt;span class="n"&gt;uiSecond&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

&lt;span class="n"&gt;uiMillisecond&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

&lt;span class="n"&gt;peError&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ADR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;eError&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry></feed>