lpcmanager

Parents 6f3a60bb7771
Children dd0ec0f4179c
Add check_if_url_is_reachable POU to test whether input URL returns status 200 when invoked from PLC
--- a/Pous/pousCommon.xml Thu Jul 24 14:37:20 2025 +0200
+++ b/Pous/pousCommon.xml Fri Jul 25 13:27:44 2025 +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="2025-04-09T11:28:27">
+ <contentHeader name="Beremiz non-standard POUs library" modificationDateTime="2025-07-25T13:26:15">
<coordinateInfo>
<fbd>
<scaling x="8" y="8"/>
@@ -17,6 +17,209 @@
<types>
<dataTypes/>
<pous>
+ <pou name="check_if_url_is_reachable" pouType="functionBlock">
+ <interface>
+ <outputVars>
+ <variable name="ACK">
+ <type>
+ <BOOL/>
+ </type>
+ </variable>
+ <variable name="RESULT">
+ <type>
+ <BOOL/>
+ </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="URL">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ </inputVars>
+ </interface>
+ <body>
+ <FBD>
+ <inVariable localId="3" height="35" width="56" executionOrderId="0" negated="false">
+ <position x="256" y="352"/>
+ <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="456" y="328"/>
+ <inputVariables>
+ <variable formalParameter="TRIG">
+ <connectionPointIn>
+ <relPosition x="0" y="40"/>
+ <connection refLocalId="3">
+ <position x="456" y="368"/>
+ <position x="312" y="368"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="CODE">
+ <connectionPointIn>
+ <relPosition x="0" y="88"/>
+ <connection refLocalId="2">
+ <position x="456" y="416"/>
+ <position x="384" y="416"/>
+ </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="681" y="353"/>
+ <connectionPointIn>
+ <relPosition x="0" y="15"/>
+ <connection refLocalId="1" formalParameter="ACK">
+ <position x="681" y="368"/>
+ <position x="581" y="368"/>
+ </connection>
+ </connectionPointIn>
+ <expression>ACK</expression>
+ </outVariable>
+ <block localId="7" typeName="CONCAT" executionOrderId="0" height="195" width="67">
+ <position x="512" y="80"/>
+ <inputVariables>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="48"/>
+ <connection refLocalId="8">
+ <position x="512" y="128"/>
+ <position x="459" y="128"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="104"/>
+ <connection refLocalId="9">
+ <position x="512" y="184"/>
+ <position x="456" y="184"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN3">
+ <connectionPointIn>
+ <relPosition x="0" y="168"/>
+ <connection refLocalId="14">
+ <position x="512" y="248"/>
+ <position x="456" y="248"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="67" y="48"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <inVariable localId="8" executionOrderId="0" height="38" width="213" negated="false">
+ <position x="264" y="112"/>
+ <connectionPointOut>
+ <relPosition x="213" y="16"/>
+ </connectionPointOut>
+ <expression>'CheckIfURLIsReachable("'</expression>
+ </inVariable>
+ <inVariable localId="9" executionOrderId="0" height="32" width="128" negated="false">
+ <position x="328" y="168"/>
+ <connectionPointOut>
+ <relPosition x="128" y="16"/>
+ </connectionPointOut>
+ <expression>URL</expression>
+ </inVariable>
+ <inVariable localId="14" executionOrderId="0" height="32" width="112" negated="false">
+ <position x="344" y="232"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>'")'</expression>
+ </inVariable>
+ <connector name="Code" localId="30" height="28" width="128">
+ <position x="640" y="112"/>
+ <connectionPointIn>
+ <relPosition x="0" y="16"/>
+ <connection refLocalId="7" formalParameter="OUT">
+ <position x="640" y="128"/>
+ <position x="579" y="128"/>
+ </connection>
+ </connectionPointIn>
+ </connector>
+ <continuation name="Code" localId="2" width="128" height="32">
+ <position x="256" y="400"/>
+ <connectionPointOut>
+ <relPosition x="128" y="16"/>
+ </connectionPointOut>
+ </continuation>
+ <block localId="31" typeName="STRING_TO_BOOL" executionOrderId="0" width="128" height="48">
+ <position x="760" y="384"/>
+ <inputVariables>
+ <variable formalParameter="IN">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="1" formalParameter="RESULT">
+ <position x="760" y="416"/>
+ <position x="581" y="416"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="128" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <outVariable localId="6" height="35" width="75" executionOrderId="0" negated="false">
+ <position x="944" y="400"/>
+ <connectionPointIn>
+ <relPosition x="0" y="16"/>
+ <connection refLocalId="31" formalParameter="OUT">
+ <position x="944" y="416"/>
+ <position x="888" y="416"/>
+ </connection>
+ </connectionPointIn>
+ <expression>RESULT</expression>
+ </outVariable>
+ </FBD>
+ </body>
+ </pou>
<pou name="get_wifi_settings" pouType="functionBlock">
<interface>
<outputVars>