<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/</id><updated>2020-02-27T16:58:34.329000Z</updated><subtitle>Recent posts to Sunset time does not perform operation</subtitle><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#d2df" rel="alternate"/><published>2020-02-27T16:58:34.329000Z</published><updated>2020-02-27T16:58:34.329000Z</updated><author><name>alverman</name><uri>https://forge.codesys.com/u/alverman/</uri></author><id>https://forge.codesys.com5bdbe428a9eec57eebbdcf0d177a5885243588d9</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;elconfa hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
what did you change?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I only changed the type of representation on the edit page.&lt;br/&gt;
I know it sounds absurd but now it works.&lt;br/&gt;
Before I saw TOD # before the hour, but now I only see hours and minutes and it works&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: setup.png.jpg" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=4465"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#8cbe" rel="alternate"/><published>2020-02-27T16:58:33.390000Z</published><updated>2020-02-27T16:58:33.390000Z</updated><author><name>elconfa</name><uri>https://forge.codesys.com/u/elconfa/</uri></author><id>https://forge.codesys.com5ed73cc7469cd96a9eaa5c0238e70f7ddd902b64</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;what did you change?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#21a3" rel="alternate"/><published>2020-02-27T16:58:32.463000Z</published><updated>2020-02-27T16:58:32.463000Z</updated><author><name>alverman</name><uri>https://forge.codesys.com/u/alverman/</uri></author><id>https://forge.codesys.com7de788e353b6d2543782e0384f598fb36802b68e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;work work  &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#5036" rel="alternate"/><published>2020-02-27T16:58:29.735000Z</published><updated>2020-02-27T16:58:29.735000Z</updated><author><name>alverman</name><uri>https://forge.codesys.com/u/alverman/</uri></author><id>https://forge.codesys.com28683fafacc089b8a9ebe7d77eedbf10ffcafcaf</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Nothing ....... does not work.&lt;br/&gt;
I set the sunset variable in GVL and it is GVL.TIME_DW_CUCINA&lt;br/&gt;
I followed your code but if I put the global variable containing the calculated sunset time the timer will not start.&lt;br/&gt;
If the hourly variable is assigned to the global variable, the timer starts with the time of sunset no.&lt;br/&gt;
I checked that the sunset variable shows the time and in edit mode I see it correct but the timer does not start.&lt;br/&gt;
Why ?&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: c1.png.jpg" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=4445"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#ded9" rel="alternate"/><published>2020-02-27T16:58:28.726000Z</published><updated>2020-02-27T16:58:28.726000Z</updated><author><name>elconfa</name><uri>https://forge.codesys.com/u/elconfa/</uri></author><id>https://forge.codesys.com5f082c9ed88c3962fcc486d4886b1fd73b4c3d57</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;alverman hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
OK elconfa, &lt;br/&gt;
but the boolean variable Orologio_T_chiudeTutto where is in your code ?&lt;br/&gt;
Thanks, Alberto&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Global var&lt;br/&gt;
It is used in other part of program to perform that operation&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#84f1" rel="alternate"/><published>2020-02-27T16:58:26.012000Z</published><updated>2020-02-27T16:58:26.012000Z</updated><author><name>alverman</name><uri>https://forge.codesys.com/u/alverman/</uri></author><id>https://forge.codesys.com135cdd50c5aeb3fa5dee0f41f08c491afaec4891</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;OK elconfa, &lt;br/&gt;
but the boolean variable Orologio_T_chiudeTutto where is in your code ?&lt;br/&gt;
Thanks, Alberto&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#be89" rel="alternate"/><published>2020-02-27T16:58:25.075000Z</published><updated>2020-02-27T16:58:25.075000Z</updated><author><name>elconfa</name><uri>https://forge.codesys.com/u/elconfa/</uri></author><id>https://forge.codesys.com3902debf9cad4a366c069ce92915ddb6fbb13a0e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;this is my complete function:&lt;/p&gt;
&lt;p&gt;(&lt;em&gt; get time in seconds since 1970 &lt;/em&gt;)&lt;br/&gt;
udiUtcTime := SysTimeRtcGet(udiResult);&lt;br/&gt;
IF udiResult &amp;lt;&amp;gt; 0 THEN&lt;br/&gt;
    RETURN;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;converts the utc time (seconds) to a SYSTIMEDATE with year, month , day, and time etc. &lt;/em&gt;)&lt;br/&gt;
udiResult := SysTimeRtcConvertUtcToDate(udiUtcTime, strTimeDate);&lt;br/&gt;
IF udiResult &amp;lt;&amp;gt; 0 THEN&lt;br/&gt;
    RETURN;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;converts the utc time to the local time, regarding timezone and summer time in seconds &lt;/em&gt;)&lt;br/&gt;
udiResult := SysTimeRtcConvertUtcToLocal(udiUtcTime, udiUtcTimeLocal);&lt;br/&gt;
IF udiResult &amp;lt;&amp;gt; 0 THEN&lt;br/&gt;
    RETURN;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;convert the seconds in SYSTIMEDATE format, which show, year, month, day, hour, minutes ... &lt;/em&gt;)&lt;br/&gt;
udiResult :=  SysTimeRtcConvertUtcToDate(udiUtcTimeLocal, strTimeDateLocal);&lt;br/&gt;
IF udiResult &amp;lt;&amp;gt; 0 THEN&lt;br/&gt;
    RETURN;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;converts the UTC time (seconds) to a DATE_AND_TIME variable dt#yyyy-mm-dd-hh:mm:ss &lt;/em&gt;)&lt;br/&gt;
dtDateTimeUTC := UDINT_TO_DT(udiUtcTime);&lt;/p&gt;
&lt;p&gt;(&lt;em&gt; converts the DATE_AND_TIME to TOD(time of day)  &lt;/em&gt;)&lt;br/&gt;
todTimeOfDayUTC := DT_TO_TOD(dtDateTimeUTC);&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;converts the UTC time (seconds) to a DATE variable d#yyyy-mm-dd &lt;/em&gt;)&lt;br/&gt;
dDateUTC := UDINT_TO_DATE(udiUtcTime);&lt;/p&gt;
&lt;p&gt;Calendar.DST_EN:=TRUE; // switch summertime&lt;br/&gt;
Calendar.OFFSET:=60; //UTC Offset&lt;br/&gt;
Calendar.UTC:=dtDateTimeUTC;&lt;/p&gt;
&lt;p&gt;SUN_TIME_casa(&lt;br/&gt;
    LATITUDE:= 45.6291500, &lt;br/&gt;
    LONGITUDE:= 9.1518900, &lt;br/&gt;
    UTC:= dDateUTC, &lt;br/&gt;
    H:= , &lt;br/&gt;
    MIDDAY=&amp;gt; , &lt;br/&gt;
    SUN_RISE=&amp;gt; , &lt;br/&gt;
    SUN_SET=&amp;gt; , &lt;br/&gt;
    SUN_DECLINATION=&amp;gt; );&lt;/p&gt;
&lt;p&gt;T_tramonto := TOD_TO_TIME(SUN_TIME_casa.SUN_SET) - T#60M;&lt;/p&gt;
&lt;p&gt;cc:=TOD_TO_TIME(Calendar.LTOD);&lt;/p&gt;
&lt;p&gt;IF (cc &amp;gt;= (T_tramonto - T#1S)) AND (cc &amp;lt; (T_tramonto + T#1S)) THEN&lt;br/&gt;
    Orologio_T_chiudeTutto := TRUE;&lt;br/&gt;
ELSE&lt;br/&gt;
    Orologio_T_chiudeTutto := FALSE;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;For BLINDS I create a function. May be it is useful for you:&lt;/p&gt;
&lt;p&gt;FUNCTION_BLOCK FB_Ramp_Up_Down&lt;br/&gt;
VAR_INPUT&lt;br/&gt;
    SET : BOOL;&lt;br/&gt;
    PT_UP : TIME;&lt;br/&gt;
    PT_DN : TIME;&lt;br/&gt;
    E : BOOL := TRUE;&lt;br/&gt;
    UP : BOOL := TRUE;&lt;br/&gt;
    RST : BOOL;&lt;br/&gt;
    LastPosition : word;&lt;br/&gt;
END_VAR&lt;br/&gt;
VAR_OUTPUT&lt;br/&gt;
    OUT : WORD;&lt;br/&gt;
    BUSY: BOOL;&lt;br/&gt;
    HIGH : BOOL;&lt;br/&gt;
    LOW : BOOL;&lt;br/&gt;
END_VAR&lt;br/&gt;
VAR&lt;br/&gt;
    rmpUP : OSCAT_BASIC._RMP_W;&lt;br/&gt;
    rmpDN : OSCAT_BASIC._RMP_W;&lt;br/&gt;
END_VAR&lt;/p&gt;
&lt;p&gt;(&lt;em&gt; generate ramp &lt;/em&gt;)&lt;br/&gt;
rmpUP(dir := UP, E := E AND UP, TR := PT_UP, rmp := out);&lt;br/&gt;
rmpDN(dir := UP, E := E AND NOT UP, TR := PT_DN, rmp := out);&lt;/p&gt;
&lt;p&gt;(&lt;em&gt; set or reset operation &lt;/em&gt;)&lt;br/&gt;
IF RST THEN&lt;br/&gt;
    out := 0;&lt;br/&gt;
ELSIF SET THEN&lt;br/&gt;
    out := LastPosition;&lt;br/&gt;
END_IF;&lt;/p&gt;
&lt;p&gt;(&lt;em&gt; checks for outputs stable and reset or set busy flag &lt;/em&gt;)&lt;br/&gt;
low := out = 0;&lt;br/&gt;
high := out = 65535;&lt;br/&gt;
busy := NOT (low OR high) AND E;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#abe6" rel="alternate"/><published>2020-02-27T16:58:24.149000Z</published><updated>2020-02-27T16:58:24.149000Z</updated><author><name>alverman</name><uri>https://forge.codesys.com/u/alverman/</uri></author><id>https://forge.codesys.com4e853afb6a7b574efc29b5d6d19983a946033f27</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;do not know why it does not work !!&lt;br/&gt;
Of course I can not wait until tomorrow to test it so I force the value of TIME_DW_CUCINA in the OSCAT_TIMER2 module to start input at a time near the time of testing and the timer will not start.&lt;br/&gt;
The value of the sunset I assign from the SystemTimePrg module&lt;/p&gt;
&lt;p&gt;Alberto&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: P2.png" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=4419"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: P1.png" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=4417"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#f616" rel="alternate"/><published>2020-02-27T16:58:21.519000Z</published><updated>2020-02-27T16:58:21.519000Z</updated><author><name>alverman</name><uri>https://forge.codesys.com/u/alverman/</uri></author><id>https://forge.codesys.comfc326ac81d2324a6338addf1f8024034a260fdd4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks elconfa,&lt;br/&gt;
I tried your code and it works but if I bring the value of T_tramonto in my timer as time of execution does not start.&lt;br/&gt;
I did not try that hour directly but I forced an hour closer to the time of the test and the timer does not start.&lt;br/&gt;
The timer is in a PRG Function Block Diagram while your code I put in SystemTimePrg which is a ST-POU&lt;/p&gt;
&lt;p&gt;How can I solve&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sunset time does not perform operation</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/bba1147619/?limit=25#ff65" rel="alternate"/><published>2020-02-27T16:58:20.579000Z</published><updated>2020-02-27T16:58:20.579000Z</updated><author><name>elconfa</name><uri>https://forge.codesys.com/u/elconfa/</uri></author><id>https://forge.codesys.com152cab4c6d2eb219f3d497743ea096d43265ee39</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I use this and it is OK:&lt;/p&gt;
&lt;p&gt;T_tramonto        : TIME;&lt;br/&gt;
SUN_TIME_casa : OSCAT_BASIC.SUN_TIME;&lt;br/&gt;
udiUtcTime  : UDINT;&lt;br/&gt;
dDateUTC        : DATE;&lt;/p&gt;
&lt;p&gt;(&lt;em&gt; get time in seconds since 1970 &lt;/em&gt;)&lt;br/&gt;
udiUtcTime := SysTimeRtcGet(udiResult);&lt;br/&gt;
IF udiResult &amp;lt;&amp;gt; 0 THEN&lt;br/&gt;
    RETURN;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;converts the UTC time (seconds) to a DATE variable d#yyyy-mm-dd &lt;/em&gt;)&lt;br/&gt;
dDateUTC := UDINT_TO_DATE(udiUtcTime);&lt;/p&gt;
&lt;p&gt;SUN_TIME_casa(&lt;br/&gt;
    LATITUDE:= 45.6291500, &lt;br/&gt;
    LONGITUDE:= 9.1518900, &lt;br/&gt;
    UTC:= dDateUTC, &lt;br/&gt;
    H:= , &lt;br/&gt;
    MIDDAY=&amp;gt; , &lt;br/&gt;
    SUN_RISE=&amp;gt; , &lt;br/&gt;
    SUN_SET=&amp;gt; , &lt;br/&gt;
    SUN_DECLINATION=&amp;gt; );&lt;/p&gt;
&lt;p&gt;T_tramonto := TOD_TO_TIME(SUN_TIME_casa.SUN_SET) + T#60M;&lt;/p&gt;
&lt;p&gt;Bye&lt;br/&gt;
Massimo&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>