lpcmanager

Parents 34827d0071d3
Children 656720f97e4d
Added new POU that enables same WiFi settings as in Web Interface (Client or Access point, DHCP or static IP, different authentication types).
--- a/Pous/pousCommon.xml Wed May 06 16:27:02 2026 +0200
+++ b/Pous/pousCommon.xml Thu May 21 18:29:21 2026 +0200
@@ -17,6 +17,598 @@
<types>
<dataTypes/>
<pous>
+ <pou name="set_wifi_settings" pouType="functionBlock">
+ <interface>
+ <outputVars>
+ <variable name="ACK">
+ <type>
+ <BOOL/>
+ </type>
+ </variable>
+ <variable name="RESULT">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ </outputVars>
+ <localVars>
+ <variable name="py_eval">
+ <type>
+ <derived name="python_eval"/>
+ </type>
+ </variable>
+ </localVars>
+ <inputVars>
+ <variable name="TRIG">
+ <type>
+ <BOOL/>
+ </type>
+ </variable>
+ <variable name="INTERFACE_NAME">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="CONFIGURATION_TYPE">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="IP_ADDRESS">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="GATEWAY_ADDRESS">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="NETWORK_MASK">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="DNS_ADDRESS">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="WORKING_MODE">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="AUTHENTICATION_TYPE">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="NETWORK_NAME">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="PASSWORD">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ </inputVars>
+ </interface>
+ <body>
+ <FBD>
+ <inVariable localId="3" height="35" width="56" executionOrderId="0" negated="false">
+ <position x="96" y="712"/>
+ <connectionPointOut>
+ <relPosition x="56" y="16"/>
+ </connectionPointOut>
+ <expression>TRIG</expression>
+ </inVariable>
+ <block localId="1" width="125" height="110" typeName="python_eval" instanceName="py_eval" executionOrderId="0">
+ <position x="304" y="688"/>
+ <inputVariables>
+ <variable formalParameter="TRIG">
+ <connectionPointIn>
+ <relPosition x="0" y="40"/>
+ <connection refLocalId="3">
+ <position x="304" y="728"/>
+ <position x="152" y="728"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="CODE">
+ <connectionPointIn>
+ <relPosition x="0" y="88"/>
+ <connection refLocalId="2">
+ <position x="304" y="776"/>
+ <position x="214" y="776"/>
+ <position x="214" y="776"/>
+ <position x="224" y="776"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="ACK">
+ <connectionPointOut>
+ <relPosition x="125" y="40"/>
+ </connectionPointOut>
+ </variable>
+ <variable formalParameter="RESULT">
+ <connectionPointOut>
+ <relPosition x="125" y="88"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <outVariable localId="5" height="35" width="45" executionOrderId="0" negated="false">
+ <position x="521" y="713"/>
+ <connectionPointIn>
+ <relPosition x="0" y="15"/>
+ <connection refLocalId="1" formalParameter="ACK">
+ <position x="521" y="728"/>
+ <position x="429" y="728"/>
+ </connection>
+ </connectionPointIn>
+ <expression>ACK</expression>
+ </outVariable>
+ <outVariable localId="6" height="35" width="75" executionOrderId="0" negated="false">
+ <position x="521" y="758"/>
+ <connectionPointIn>
+ <relPosition x="0" y="18"/>
+ <connection refLocalId="1" formalParameter="RESULT">
+ <position x="521" y="776"/>
+ <position x="429" y="776"/>
+ </connection>
+ </connectionPointIn>
+ <expression>RESULT</expression>
+ </outVariable>
+ <block localId="7" typeName="CONCAT" executionOrderId="0" height="243" width="67">
+ <position x="488" y="24"/>
+ <inputVariables>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="8">
+ <position x="488" y="56"/>
+ <position x="472" y="56"/>
+ <position x="472" y="24"/>
+ <position x="462" y="24"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="48"/>
+ <connection refLocalId="9">
+ <position x="488" y="72"/>
+ <position x="224" y="72"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN3">
+ <connectionPointIn>
+ <relPosition x="0" y="72"/>
+ <connection refLocalId="10">
+ <position x="488" y="96"/>
+ <position x="376" y="96"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN4">
+ <connectionPointIn>
+ <relPosition x="0" y="88"/>
+ <connection refLocalId="11">
+ <position x="488" y="112"/>
+ <position x="408" y="112"/>
+ <position x="408" y="120"/>
+ <position x="222" y="120"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN5">
+ <connectionPointIn>
+ <relPosition x="0" y="112"/>
+ <connection refLocalId="14">
+ <position x="488" y="136"/>
+ <position x="392" y="136"/>
+ <position x="392" y="144"/>
+ <position x="379" y="144"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN6">
+ <connectionPointIn>
+ <relPosition x="0" y="128"/>
+ <connection refLocalId="13">
+ <position x="488" y="152"/>
+ <position x="400" y="152"/>
+ <position x="400" y="168"/>
+ <position x="225" y="168"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN7">
+ <connectionPointIn>
+ <relPosition x="0" y="152"/>
+ <connection refLocalId="4">
+ <position x="488" y="176"/>
+ <position x="400" y="176"/>
+ <position x="400" y="192"/>
+ <position x="379" y="192"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN8">
+ <connectionPointIn>
+ <relPosition x="0" y="168"/>
+ <connection refLocalId="15">
+ <position x="488" y="192"/>
+ <position x="408" y="192"/>
+ <position x="408" y="216"/>
+ <position x="228" y="216"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN9">
+ <connectionPointIn>
+ <relPosition x="0" y="192"/>
+ <connection refLocalId="12">
+ <position x="488" y="216"/>
+ <position x="416" y="216"/>
+ <position x="416" y="240"/>
+ <position x="379" y="240"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN10">
+ <connectionPointIn>
+ <relPosition x="0" y="208"/>
+ <connection refLocalId="16">
+ <position x="488" y="232"/>
+ <position x="424" y="232"/>
+ <position x="424" y="272"/>
+ <position x="231" y="272"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN11">
+ <connectionPointIn>
+ <relPosition x="0" y="232"/>
+ <connection refLocalId="17">
+ <position x="488" y="256"/>
+ <position x="433" y="256"/>
+ <position x="433" y="296"/>
+ <position x="379" y="296"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="67" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <inVariable localId="8" executionOrderId="0" height="38" width="198" negated="false">
+ <position x="264" y="8"/>
+ <connectionPointOut>
+ <relPosition x="198" y="16"/>
+ </connectionPointOut>
+ <expression>'SetWiFiSettings("'</expression>
+ </inVariable>
+ <inVariable localId="9" executionOrderId="0" height="32" width="128" negated="false">
+ <position x="96" y="56"/>
+ <connectionPointOut>
+ <relPosition x="128" y="16"/>
+ </connectionPointOut>
+ <expression>INTERFACE_NAME</expression>
+ </inVariable>
+ <inVariable localId="10" executionOrderId="0" height="32" width="112" negated="false">
+ <position x="264" y="80"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>'", "'</expression>
+ </inVariable>
+ <inVariable localId="11" executionOrderId="0" height="32" width="118" negated="false">
+ <position x="104" y="104"/>
+ <connectionPointOut>
+ <relPosition x="118" y="16"/>
+ </connectionPointOut>
+ <expression>CONFIGURATION_TYPE</expression>
+ </inVariable>
+ <inVariable localId="14" executionOrderId="0" height="35" width="115" negated="false">
+ <position x="264" y="128"/>
+ <connectionPointOut>
+ <relPosition x="115" y="16"/>
+ </connectionPointOut>
+ <expression>'", "'</expression>
+ </inVariable>
+ <connector name="Part1" localId="30" height="31" width="131">
+ <position x="608" y="48"/>
+ <connectionPointIn>
+ <relPosition x="0" y="16"/>
+ <connection refLocalId="7" formalParameter="OUT">
+ <position x="608" y="64"/>
+ <position x="581" y="64"/>
+ <position x="581" y="56"/>
+ <position x="555" y="56"/>
+ </connection>
+ </connectionPointIn>
+ </connector>
+ <continuation name="Code" localId="2" width="128" height="32">
+ <position x="96" y="760"/>
+ <connectionPointOut>
+ <relPosition x="128" y="16"/>
+ </connectionPointOut>
+ </continuation>
+ <inVariable localId="4" executionOrderId="0" height="35" width="115" negated="false">
+ <position x="264" y="176"/>
+ <connectionPointOut>
+ <relPosition x="115" y="16"/>
+ </connectionPointOut>
+ <expression>'", "'</expression>
+ </inVariable>
+ <inVariable localId="12" executionOrderId="0" height="35" width="115" negated="false">
+ <position x="264" y="224"/>
+ <connectionPointOut>
+ <relPosition x="115" y="16"/>
+ </connectionPointOut>
+ <expression>'", "'</expression>
+ </inVariable>
+ <inVariable localId="13" executionOrderId="0" height="35" width="121" negated="false">
+ <position x="104" y="152"/>
+ <connectionPointOut>
+ <relPosition x="121" y="16"/>
+ </connectionPointOut>
+ <expression>IP_ADDRESS</expression>
+ </inVariable>
+ <inVariable localId="15" executionOrderId="0" height="38" width="124" negated="false">
+ <position x="104" y="200"/>
+ <connectionPointOut>
+ <relPosition x="124" y="16"/>
+ </connectionPointOut>
+ <expression>GATEWAY_ADDRESS</expression>
+ </inVariable>
+ <inVariable localId="16" executionOrderId="0" height="41" width="127" negated="false">
+ <position x="104" y="248"/>
+ <connectionPointOut>
+ <relPosition x="127" y="24"/>
+ </connectionPointOut>
+ <expression>NETWORK_MASK</expression>
+ </inVariable>
+ <inVariable localId="17" executionOrderId="0" height="35" width="115" negated="false">
+ <position x="264" y="280"/>
+ <connectionPointOut>
+ <relPosition x="115" y="16"/>
+ </connectionPointOut>
+ <expression>'", "'</expression>
+ </inVariable>
+ <block localId="18" typeName="CONCAT" executionOrderId="0" height="243" width="67">
+ <position x="488" y="360"/>
+ <inputVariables>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="19">
+ <position x="488" y="392"/>
+ <position x="444" y="392"/>
+ <position x="444" y="368"/>
+ <position x="403" y="368"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="48"/>
+ <connection refLocalId="20">
+ <position x="488" y="408"/>
+ <position x="227" y="408"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN3">
+ <connectionPointIn>
+ <relPosition x="0" y="72"/>
+ <connection refLocalId="21">
+ <position x="488" y="432"/>
+ <position x="376" y="432"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN4">
+ <connectionPointIn>
+ <relPosition x="0" y="88"/>
+ <connection refLocalId="22">
+ <position x="488" y="448"/>
+ <position x="408" y="448"/>
+ <position x="408" y="456"/>
+ <position x="225" y="456"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN5">
+ <connectionPointIn>
+ <relPosition x="0" y="112"/>
+ <connection refLocalId="23">
+ <position x="488" y="472"/>
+ <position x="392" y="472"/>
+ <position x="392" y="480"/>
+ <position x="379" y="480"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN6">
+ <connectionPointIn>
+ <relPosition x="0" y="128"/>
+ <connection refLocalId="24">
+ <position x="488" y="488"/>
+ <position x="400" y="488"/>
+ <position x="400" y="504"/>
+ <position x="231" y="504"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN7">
+ <connectionPointIn>
+ <relPosition x="0" y="152"/>
+ <connection refLocalId="25">
+ <position x="488" y="512"/>
+ <position x="400" y="512"/>
+ <position x="400" y="528"/>
+ <position x="379" y="528"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN8">
+ <connectionPointIn>
+ <relPosition x="0" y="168"/>
+ <connection refLocalId="26">
+ <position x="488" y="528"/>
+ <position x="408" y="528"/>
+ <position x="408" y="560"/>
+ <position x="231" y="560"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN9">
+ <connectionPointIn>
+ <relPosition x="0" y="192"/>
+ <connection refLocalId="27">
+ <position x="488" y="552"/>
+ <position x="416" y="552"/>
+ <position x="416" y="584"/>
+ <position x="379" y="584"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN10">
+ <connectionPointIn>
+ <relPosition x="0" y="208"/>
+ <connection refLocalId="28">
+ <position x="488" y="568"/>
+ <position x="424" y="568"/>
+ <position x="424" y="608"/>
+ <position x="234" y="608"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN11">
+ <connectionPointIn>
+ <relPosition x="0" y="232"/>
+ <connection refLocalId="31">
+ <position x="488" y="592"/>
+ <position x="433" y="592"/>
+ <position x="433" y="632"/>
+ <position x="382" y="632"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="67" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <inVariable localId="20" executionOrderId="0" height="35" width="131" negated="false">
+ <position x="96" y="392"/>
+ <connectionPointOut>
+ <relPosition x="131" y="16"/>
+ </connectionPointOut>
+ <expression>DNS_ADDRESS</expression>
+ </inVariable>
+ <inVariable localId="21" executionOrderId="0" height="32" width="112" negated="false">
+ <position x="264" y="416"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>'", "'</expression>
+ </inVariable>
+ <inVariable localId="22" executionOrderId="0" height="35" width="121" negated="false">
+ <position x="104" y="440"/>
+ <connectionPointOut>
+ <relPosition x="121" y="16"/>
+ </connectionPointOut>
+ <expression>WORKING_MODE</expression>
+ </inVariable>
+ <inVariable localId="23" executionOrderId="0" height="35" width="115" negated="false">
+ <position x="264" y="464"/>
+ <connectionPointOut>
+ <relPosition x="115" y="16"/>
+ </connectionPointOut>
+ <expression>'", "'</expression>
+ </inVariable>
+ <inVariable localId="24" executionOrderId="0" height="38" width="127" negated="false">
+ <position x="104" y="488"/>
+ <connectionPointOut>
+ <relPosition x="127" y="16"/>
+ </connectionPointOut>
+ <expression>AUTHENTICATION_TYPE</expression>
+ </inVariable>
+ <inVariable localId="25" executionOrderId="0" height="35" width="115" negated="false">
+ <position x="264" y="512"/>
+ <connectionPointOut>
+ <relPosition x="115" y="16"/>
+ </connectionPointOut>
+ <expression>'", "'</expression>
+ </inVariable>
+ <inVariable localId="26" executionOrderId="0" height="41" width="127" negated="false">
+ <position x="104" y="536"/>
+ <connectionPointOut>
+ <relPosition x="127" y="24"/>
+ </connectionPointOut>
+ <expression>NETWORK_NAME</expression>
+ </inVariable>
+ <inVariable localId="27" executionOrderId="0" height="35" width="115" negated="false">
+ <position x="264" y="568"/>
+ <connectionPointOut>
+ <relPosition x="115" y="16"/>
+ </connectionPointOut>
+ <expression>'", "'</expression>
+ </inVariable>
+ <inVariable localId="28" executionOrderId="0" height="44" width="130" negated="false">
+ <position x="104" y="584"/>
+ <connectionPointOut>
+ <relPosition x="130" y="24"/>
+ </connectionPointOut>
+ <expression>PASSWORD</expression>
+ </inVariable>
+ <connector name="Code" localId="29" height="34" width="134">
+ <position x="608" y="376"/>
+ <connectionPointIn>
+ <relPosition x="0" y="16"/>
+ <connection refLocalId="18" formalParameter="OUT">
+ <position x="608" y="392"/>
+ <position x="555" y="392"/>
+ </connection>
+ </connectionPointIn>
+ </connector>
+ <inVariable localId="31" executionOrderId="0" height="38" width="118" negated="false">
+ <position x="264" y="616"/>
+ <connectionPointOut>
+ <relPosition x="118" y="16"/>
+ </connectionPointOut>
+ <expression>'")'</expression>
+ </inVariable>
+ <continuation name="Part1" localId="19" width="131" height="35">
+ <position x="272" y="352"/>
+ <connectionPointOut>
+ <relPosition x="131" y="16"/>
+ </connectionPointOut>
+ </continuation>
+ </FBD>
+ </body>
+ </pou>
<pou name="check_if_url_is_reachable" pouType="functionBlock">
<interface>
<outputVars>