py_ext: CSV Writer output FB interface: ERROR and RESULT are valid when ACK is TRUE.
+ updated svghmi_csv_json_img_table accordingly
--- 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>