lpcmanager

intermediate state while reworking pous libraries
revamp
2018-09-06, Edouard Tisserant
e57cb6dc67e2
Parents cacb76868d13
Children ee0047e58566
intermediate state while reworking pous libraries
--- a/Pous/pousGOT.xml Tue Sep 04 10:39:37 2018 +0200
+++ b/Pous/pousGOT.xml Thu Sep 06 14:18:00 2018 +0200
@@ -37,9 +37,9 @@
</variable>
</inputVars>
<localVars>
- <variable name="pooll0">
+ <variable name="eval">
<type>
- <derived name="python_poll"/>
+ <derived name="python_eval"/>
</type>
</variable>
<variable name="ACK">
@@ -81,7 +81,10 @@
</interface>
<body>
<ST>
- <xhtml:p><![CDATA[INPUT_TYPE:=INT_TO_STRING(TYPE_VALUE); INPUT_VALUE:=INT_TO_STRING(DIMM_VALUE); INPUT_ARGS:=CONCAT(INPUT_TYPE, ',', INPUT_VALUE); INPUT_VALUE_CODE:=CONCAT('PLCObject.MWProvider.SetDimmerValue(', INPUT_ARGS, ')'); pooll0(TRIG := TRIG, CODE := INPUT_VALUE_CODE, ACK => ACK, RESULT => RESULT);]]></xhtml:p>
+ <xhtml:p><![CDATA[(* *)
+
+
+INPUT_TYPE:=INT_TO_STRING(TYPE_VALUE); INPUT_VALUE:=INT_TO_STRING(DIMM_VALUE); INPUT_ARGS:=CONCAT(INPUT_TYPE, ',', INPUT_VALUE); INPUT_VALUE_CODE:=CONCAT('PLCObject.MWProvider.SetDimmerValue(', INPUT_ARGS, ')'); eval(TRIG := TRIG, CODE := INPUT_VALUE_CODE, ACK => ACK, RESULT => RESULT);]]></xhtml:p>
</ST>
</body>
<documentation>
@@ -98,9 +101,9 @@
</variable>
</inputVars>
<localVars>
- <variable name="pooll0">
+ <variable name="eval">
<type>
- <derived name="python_poll"/>
+ <derived name="python_eval"/>
</type>
</variable>
<variable name="ACK">
@@ -137,7 +140,7 @@
</interface>
<body>
<ST>
- <xhtml:p><![CDATA[TRIG :=TRUE; INPUT_VALUE_CODE:=CONCAT('PLCObject.MWProvider.SetBuzzerValue(', INT_TO_STRING(BOOL_TO_INT(INPUT_VALUE)), ')'); pooll0(TRIG := TRIG, CODE := INPUT_VALUE_CODE, ACK => ACK, RESULT => RESULT);]]></xhtml:p>
+ <xhtml:p><![CDATA[TRIG :=TRUE; INPUT_VALUE_CODE:=CONCAT('PLCObject.MWProvider.SetBuzzerValue(', INT_TO_STRING(BOOL_TO_INT(INPUT_VALUE)), ')'); eval(TRIG := TRIG, CODE := INPUT_VALUE_CODE, ACK => ACK, RESULT => RESULT);]]></xhtml:p>
</ST>
</body>
<documentation>
--- a/Pous/pousRTC.xml Tue Sep 04 10:39:37 2018 +0200
+++ b/Pous/pousRTC.xml Thu Sep 06 14:18:00 2018 +0200
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
<fileHeader companyName="Beremiz" productName="Beremiz" productVersion="0.0" creationDateTime="2008-12-14T16:53:26"/>
- <contentHeader name="Beremiz non-standard POUs library" modificationDateTime="2014-03-17T08:07:24">
+ <contentHeader name="Beremiz non-standard POUs library" modificationDateTime="2018-09-06T13:45:38">
<coordinateInfo>
<fbd>
<scaling x="0" y="0"/>
@@ -29,7 +29,7 @@
<type>
<BOOL/>
</type>
- </variable>
+ </variable>
<variable name="YEAR">
<type>
<UINT/>
@@ -49,7 +49,7 @@
<type>
<UINT/>
</type>
- </variable>
+ </variable>
<variable name="HOUR">
<type>
<UINT/>
@@ -67,9 +67,9 @@
</variable>
</outputVars>
<localVars>
- <variable name="pooll0">
+ <variable name="eval">
<type>
- <derived name="python_poll"/>
+ <derived name="python_eval"/>
</type>
</variable>
<variable name="ACK">
@@ -91,9 +91,24 @@
</interface>
<body>
<ST>
- <xhtml:p><![CDATA[INPUT_VALUE_CODE:=CONCAT('PLCObject.MWProvider.GetRTC()'); pooll0(TRIG:=TRUE, CODE:=INPUT_VALUE_CODE, ACK => ACK, RESULT => DT_STR); VALID:=STRING_TO_BOOL(IN:=MID(IN:=DT_STR,L:=1,P:=23)); YEAR:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=4,P:=1)); MONTH:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=6)); DAY:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=9)); WDAY:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=1,P:=21)); HOUR:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=12)); MINUTE:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=15)); SECOND:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=18));]]></xhtml:p>
+ <xhtml:p><![CDATA[(* Get time from RTC *)
+eval(TRIG:=TRIG, CODE:='GetRTC()', ACK => ACK, RESULT => DT_STR);
+IF R_TRIG(ACK) THEN
+ VALID:=STRING_TO_BOOL(IN:=MID(IN:=DT_STR,L:=1,P:=23));
+ YEAR:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=4,P:=1));
+ MONTH:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=6));
+ DAY:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=9));
+ WDAY:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=1,P:=21));
+ HOUR:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=12));
+ MINUTE:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=15));
+ SECOND:=STRING_TO_UINT(IN:=MID(IN:=DT_STR,L:=2,P:=18));
+END_IF;
+]]></xhtml:p>
</ST>
</body>
+ <documentation>
+ <xhtml:p><![CDATA[Get time from RTC on raising edge of TRIG]]></xhtml:p>
+ </documentation>
</pou>
<pou name="setRTC" pouType="functionBlock">
<interface>
@@ -142,9 +157,9 @@
</variable>
</outputVars>
<localVars>
- <variable name="pooll0">
+ <variable name="eval">
<type>
- <derived name="python_poll"/>
+ <derived name="python_eval"/>
</type>
</variable>
<variable name="ACK">
@@ -171,9 +186,23 @@
</interface>
<body>
<ST>
- <xhtml:p><![CDATA[INPUT_ARGS:=CONCAT(UINT_TO_STRING(YEAR), ',', UINT_TO_STRING(MONTH), ',', UINT_TO_STRING(DAY), ',', UINT_TO_STRING(HOUR), ',', UINT_TO_STRING(MINUTE), ',', UINT_TO_STRING(SECOND)); INPUT_VALUE_CODE:=CONCAT('PLCObject.MWProvider.SetRTC(', INPUT_ARGS, ')'); pooll0(TRIG := TRIG, CODE := INPUT_VALUE_CODE, ACK => ACK, RESULT => RESULT);]]></xhtml:p>
+ <xhtml:p><![CDATA[(* Set RTC time *)
+IF R_TRIG(TRIG) THEN
+ INPUT_ARGS := CONCAT(
+ UINT_TO_STRING(YEAR), ',',
+ UINT_TO_STRING(MONTH), ',',
+ UINT_TO_STRING(DAY), ',',
+ UINT_TO_STRING(HOUR), ',',
+ UINT_TO_STRING(MINUTE), ',',
+ UINT_TO_STRING(SECOND));
+ INPUT_VALUE_CODE:=CONCAT('SetRTC(', INPUT_ARGS, ')');
+END_IF;
+eval(TRIG := TRIG, CODE := INPUT_VALUE_CODE, ACK => ACK, RESULT => RESULT);]]></xhtml:p>
</ST>
</body>
+ <documentation>
+ <xhtml:p><![CDATA[Set RTC time on raising edge of TRIG]]></xhtml:p>
+ </documentation>
</pou>
</pous>
</types>