py_ext: CSV Writer output FB interface: ERROR and RESULT are valid when ACK is TRUE.
authorEdouard Tisserant <edouard@beremiz.fr>
Fri, 06 Dec 2024 15:48:54 +0100 (3 months ago)
changeset 4066 e894ff2a2584
parent 4062 1994928ce3d2
child 4067 bafb3f25d5bd
py_ext: CSV Writer output FB interface: ERROR and RESULT are valid when ACK is TRUE.

+ updated svghmi_csv_json_img_table accordingly
exemples/svghmi_csv_json_img_table/plc.xml
py_ext/pous.xml
--- a/exemples/svghmi_csv_json_img_table/plc.xml	Fri Dec 06 12:16:07 2024 +0100
+++ b/exemples/svghmi_csv_json_img_table/plc.xml	Fri Dec 06 15:48:54 2024 +0100
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='utf-8'?>
 <project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
   <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2019-08-06T14:23:42"/>
-  <contentHeader name="Unnamed" modificationDateTime="2024-12-05T12:05:23">
+  <contentHeader name="Unnamed" modificationDateTime="2024-12-06T15:20:59">
     <coordinateInfo>
       <fbd>
         <scaling x="5" y="5"/>
@@ -252,9 +252,14 @@
                     <relPosition x="140" y="30"/>
                   </connectionPointOut>
                 </variable>
+                <variable formalParameter="ERROR">
+                  <connectionPointOut>
+                    <relPosition x="140" y="50"/>
+                  </connectionPointOut>
+                </variable>
                 <variable formalParameter="RESULT">
                   <connectionPointOut>
-                    <relPosition x="140" y="50"/>
+                    <relPosition x="140" y="70"/>
                   </connectionPointOut>
                 </variable>
               </outputVariables>
@@ -295,29 +300,123 @@
               <expression>SAVE</expression>
             </inVariable>
             <outVariable localId="18" executionOrderId="0" width="70" height="30" negated="false">
-              <position x="435" y="210"/>
+              <position x="735" y="230"/>
               <connectionPointIn>
                 <relPosition x="0" y="15"/>
-                <connection refLocalId="12" formalParameter="ACK">
-                  <position x="435" y="225"/>
-                  <position x="380" y="225"/>
+                <connection refLocalId="20" formalParameter="OUT">
+                  <position x="735" y="245"/>
+                  <position x="685" y="245"/>
                 </connection>
               </connectionPointIn>
               <expression>SEC_ACK</expression>
             </outVariable>
             <outVariable localId="19" executionOrderId="0" width="70" height="30" negated="false">
-              <position x="435" y="240"/>
+              <position x="735" y="305"/>
               <connectionPointIn>
                 <relPosition x="0" y="15"/>
-                <connection refLocalId="12" formalParameter="RESULT">
-                  <position x="435" y="255"/>
-                  <position x="407" y="255"/>
-                  <position x="407" y="245"/>
-                  <position x="380" y="245"/>
+                <connection refLocalId="1" formalParameter="OUT">
+                  <position x="735" y="320"/>
+                  <position x="685" y="320"/>
                 </connection>
               </connectionPointIn>
               <expression>SEC_RES</expression>
             </outVariable>
+            <block localId="20" typeName="MOVE" executionOrderId="0" width="60" height="60">
+              <position x="625" y="195"/>
+              <inputVariables>
+                <variable formalParameter="EN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="22">
+                      <position x="625" y="225"/>
+                      <position x="595" y="225"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN" negated="true">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="12" formalParameter="ERROR">
+                      <position x="625" y="245"/>
+                      <position x="380" y="245"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="ENO">
+                  <connectionPointOut>
+                    <relPosition x="60" y="30"/>
+                  </connectionPointOut>
+                </variable>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="60" y="50"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <block localId="1" typeName="MOVE" executionOrderId="0" width="60" height="60">
+              <position x="625" y="270"/>
+              <inputVariables>
+                <variable formalParameter="EN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="3">
+                      <position x="625" y="300"/>
+                      <position x="595" y="300"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="12" formalParameter="RESULT">
+                      <position x="625" y="320"/>
+                      <position x="452" y="320"/>
+                      <position x="452" y="265"/>
+                      <position x="380" y="265"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="ENO">
+                  <connectionPointOut>
+                    <relPosition x="60" y="30"/>
+                  </connectionPointOut>
+                </variable>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="60" y="50"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <connector name="Ack" localId="21" width="60" height="25">
+              <position x="410" y="215"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="12" formalParameter="ACK">
+                  <position x="410" y="225"/>
+                  <position x="380" y="225"/>
+                </connection>
+              </connectionPointIn>
+            </connector>
+            <continuation name="Ack" localId="22" width="60" height="25">
+              <position x="535" y="215"/>
+              <connectionPointOut>
+                <relPosition x="60" y="10"/>
+              </connectionPointOut>
+            </continuation>
+            <continuation name="Ack" localId="3" width="60" height="25">
+              <position x="535" y="290"/>
+              <connectionPointOut>
+                <relPosition x="60" y="10"/>
+              </connectionPointOut>
+            </continuation>
           </FBD>
         </body>
       </pou>
--- a/py_ext/pous.xml	Fri Dec 06 12:16:07 2024 +0100
+++ b/py_ext/pous.xml	Fri Dec 06 15:48:54 2024 +0100
@@ -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="2024-12-06T12:12:39">
+  <contentHeader name="Beremiz non-standard POUs library" modificationDateTime="2024-12-06T15:13:47">
     <coordinateInfo>
       <fbd>
         <scaling x="8" y="8"/>
@@ -1772,6 +1772,11 @@
                 <BOOL/>
               </type>
             </variable>
+            <variable name="ERROR">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
             <variable name="RESULT">
               <type>
                 <string/>
@@ -1821,11 +1826,6 @@
                 <derived name="R_TRIG"/>
               </type>
             </variable>
-            <variable name="SR0">
-              <type>
-                <derived name="SR"/>
-              </type>
-            </variable>
             <variable name="csv_refresh0">
               <type>
                 <derived name="csv_refresh"/>
@@ -2108,12 +2108,14 @@
               <expression>SAVE</expression>
             </inVariable>
             <outVariable localId="43" height="32" width="40" executionOrderId="0" negated="false">
-              <position x="1232" y="504"/>
+              <position x="736" y="400"/>
               <connectionPointIn>
                 <relPosition x="0" y="16"/>
-                <connection refLocalId="38" formalParameter="Q1">
-                  <position x="1232" y="520"/>
-                  <position x="1168" y="520"/>
+                <connection refLocalId="40" formalParameter="ACK">
+                  <position x="736" y="416"/>
+                  <position x="688" y="416"/>
+                  <position x="688" y="512"/>
+                  <position x="656" y="512"/>
                 </connection>
               </connectionPointIn>
               <expression>ACK</expression>
@@ -2186,7 +2188,7 @@
                 </variable>
               </outputVariables>
             </block>
-            <block localId="34" typeName="NE" executionOrderId="0" height="64" width="64">
+            <block localId="34" typeName="EQ" executionOrderId="0" height="72" width="64">
               <position x="880" y="512"/>
               <inputVariables>
                 <variable formalParameter="IN1">
@@ -2224,21 +2226,21 @@
               </connectionPointOut>
               <expression>1</expression>
             </inVariable>
-            <inVariable localId="36" executionOrderId="0" height="24" width="40" negated="false">
-              <position x="808" y="560"/>
-              <connectionPointOut>
-                <relPosition x="40" y="8"/>
+            <inVariable localId="36" executionOrderId="0" height="32" width="40" negated="false">
+              <position x="808" y="552"/>
+              <connectionPointOut>
+                <relPosition x="40" y="16"/>
               </connectionPointOut>
               <expression>'#'</expression>
             </inVariable>
             <block localId="37" typeName="R_TRIG" instanceName="R_TRIG2" executionOrderId="0" height="48" width="64">
-              <position x="880" y="456"/>
+              <position x="736" y="456"/>
               <inputVariables>
                 <variable formalParameter="CLK">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="40" formalParameter="ACK">
-                      <position x="880" y="488"/>
+                      <position x="736" y="488"/>
                       <position x="688" y="488"/>
                       <position x="688" y="512"/>
                       <position x="656" y="512"/>
@@ -2255,60 +2257,25 @@
                 </variable>
               </outputVariables>
             </block>
-            <block localId="38" typeName="SR" instanceName="SR0" executionOrderId="0" height="64" width="48">
-              <position x="1120" y="488"/>
-              <inputVariables>
-                <variable formalParameter="S1">
-                  <connectionPointIn>
-                    <relPosition x="0" y="32"/>
-                    <connection refLocalId="39" formalParameter="OUT">
-                      <position x="1120" y="520"/>
-                      <position x="1056" y="520"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="R" edge="rising">
-                  <connectionPointIn>
-                    <relPosition x="0" y="56"/>
-                    <connection refLocalId="46" formalParameter="Q">
-                      <position x="1120" y="544"/>
-                      <position x="1088" y="544"/>
-                      <position x="1088" y="616"/>
-                      <position x="376" y="616"/>
-                      <position x="376" y="512"/>
-                      <position x="360" y="512"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="Q1">
-                  <connectionPointOut>
-                    <relPosition x="48" y="32"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <block localId="39" typeName="AND" executionOrderId="0" height="64" width="64">
-              <position x="992" y="488"/>
+            <block localId="39" typeName="AND" executionOrderId="0" height="72" width="64">
+              <position x="984" y="456"/>
               <inputVariables>
                 <variable formalParameter="IN1">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="37" formalParameter="Q">
-                      <position x="992" y="520"/>
-                      <position x="976" y="520"/>
-                      <position x="976" y="488"/>
-                      <position x="944" y="488"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
+                      <position x="984" y="488"/>
+                      <position x="800" y="488"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2" negated="true">
                   <connectionPointIn>
                     <relPosition x="0" y="56"/>
                     <connection refLocalId="34" formalParameter="OUT">
-                      <position x="992" y="544"/>
+                      <position x="984" y="512"/>
+                      <position x="974" y="512"/>
+                      <position x="974" y="544"/>
                       <position x="944" y="544"/>
                     </connection>
                   </connectionPointIn>
@@ -2324,16 +2291,14 @@
               </outputVariables>
             </block>
             <block localId="53" typeName="csv_refresh" instanceName="csv_refresh0" executionOrderId="0" width="104" height="48">
-              <position x="1232" y="440"/>
+              <position x="1112" y="456"/>
               <inputVariables>
                 <variable formalParameter="TRIG">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
-                    <connection refLocalId="38" formalParameter="Q1">
-                      <position x="1232" y="472"/>
-                      <position x="1206" y="472"/>
-                      <position x="1206" y="520"/>
-                      <position x="1168" y="520"/>
+                    <connection refLocalId="39" formalParameter="OUT">
+                      <position x="1112" y="488"/>
+                      <position x="1048" y="488"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2341,6 +2306,17 @@
               <inOutVariables/>
               <outputVariables/>
             </block>
+            <outVariable localId="54" executionOrderId="0" width="56" height="32" negated="false">
+              <position x="1096" y="528"/>
+              <connectionPointIn>
+                <relPosition x="0" y="16"/>
+                <connection refLocalId="34" formalParameter="OUT">
+                  <position x="1096" y="544"/>
+                  <position x="944" y="544"/>
+                </connection>
+              </connectionPointIn>
+              <expression>ERROR</expression>
+            </outVariable>
           </FBD>
         </body>
       </pou>