Added more clear error message in case of access to non declared PLC global from python code
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.plcopen.org/xml/tc6.xsd"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xsi:schemaLocation="http://www.plcopen.org/xml/tc6.xsd">
<fileHeader companyName="beremiz"
productName="Beremiz"
productVersion="0.0"
creationDateTime="2008-12-14T16:21:19"/>
<contentHeader name="Beremiz Python Support Tests"
modificationDateTime="2009-09-26T18:14:56">
<coordinateInfo>
<pageSize x="1024" y="1024"/>
<fbd>
<scaling x="0" y="0"/>
</fbd>
<ld>
<scaling x="5" y="5"/>
</ld>
<sfc>
<scaling x="5" y="5"/>
</sfc>
</coordinateInfo>
</contentHeader>
<types>
<dataTypes/>
<pous>
<pou name="main_pytest" pouType="program">
<interface>
<localVars>
<variable name="counter">
<type>
<INT/>
</type>
</variable>
<variable name="DigitalBit0">
<type>
<BOOL/>
</type>
</variable>
<variable name="DigitalBit1">
<type>
<BOOL/>
</type>
</variable>
<variable name="DigitalBit2">
<type>
<BOOL/>
</type>
</variable>
<variable name="DigitalBit3">
<type>
<BOOL/>
</type>
</variable>
<variable name="DigitalBit4">
<type>
<BOOL/>
</type>
</variable>
<variable name="DigitalBit5">
<type>
<BOOL/>
</type>
</variable>
<variable name="DigitalBit6">
<type>
<BOOL/>
</type>
</variable>
<variable name="DigitalBit7">
<type>
<BOOL/>
</type>
</variable>
<variable name="Start_Stop">
<type>
<derived name="Button"/>
</type>
</variable>
<variable name="Compteur">
<type>
<derived name="TextCtrl"/>
</type>
</variable>
<variable name="Temoin">
<type>
<derived name="Led"/>
</type>
</variable>
</localVars>
</interface>
<body>
<FBD>
<block localId="32" width="80" height="110" typeName="ADD">
<position x="665" y="420"/>
<inputVariables>
<variable formalParameter="EN">
<connectionPointIn>
<relPosition x="0" y="35"/>
<connection refLocalId="5">
<position x="665" y="455"/>
<position x="610" y="455"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN1">
<connectionPointIn>
<relPosition x="0" y="65"/>
<connection refLocalId="100" formalParameter="OUT">
<position x="665" y="485"/>
<position x="490" y="485"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN2">
<connectionPointIn>
<relPosition x="0" y="95"/>
<connection refLocalId="33">
<position x="665" y="515"/>
<position x="645" y="515"/>
<position x="645" y="555"/>
<position x="870" y="555"/>
<position x="870" y="485"/>
<position x="855" y="485"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ENO">
<connectionPointOut>
<relPosition x="80" y="35"/>
</connectionPointOut>
</variable>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="80" y="65"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inOutVariable localId="33" height="35" width="85">
<position x="770" y="470"/>
<connectionPointIn>
<relPosition x="0" y="15"/>
<connection refLocalId="32" formalParameter="OUT">
<position x="770" y="485"/>
<position x="745" y="485"/>
</connection>
</connectionPointIn>
<connectionPointOut>
<relPosition x="85" y="15"/>
</connectionPointOut>
<expression>counter</expression>
</inOutVariable>
<inVariable localId="39" height="35" width="70">
<position x="90" y="470"/>
<connectionPointOut>
<relPosition x="70" y="15"/>
</connectionPointOut>
<expression>BOOL#1</expression>
</inVariable>
<inVariable localId="41" height="30" width="120">
<position x="45" y="180"/>
<connectionPointOut>
<relPosition x="120" y="15"/>
</connectionPointOut>
<expression>'stop_back'</expression>
</inVariable>
<inVariable localId="42" height="30" width="120">
<position x="45" y="225"/>
<connectionPointOut>
<relPosition x="120" y="15"/>
</connectionPointOut>
<expression>'stop_sele'</expression>
</inVariable>
<inVariable localId="46" height="30" width="180">
<position x="675" y="265"/>
<connectionPointOut>
<relPosition x="180" y="15"/>
</connectionPointOut>
<expression>'text_compteur'</expression>
</inVariable>
<inVariable localId="51" height="30" width="110">
<position x="725" y="80"/>
<connectionPointOut>
<relPosition x="110" y="15"/>
</connectionPointOut>
<expression>'led_stop'</expression>
</inVariable>
<inVariable localId="52" height="30" width="120">
<position x="715" y="115"/>
<connectionPointOut>
<relPosition x="120" y="15"/>
</connectionPointOut>
<expression>'led_start'</expression>
</inVariable>
<block localId="83" width="145" height="60" typeName="INT_TO_STRING">
<position x="600" y="320"/>
<inputVariables>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="40"/>
<connection refLocalId="4">
<position x="600" y="360"/>
<position x="555" y="360"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="145" y="40"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="92" width="200" height="230" typeName="Button" instanceName="Start_Stop">
<position x="225" y="155"/>
<inputVariables>
<variable formalParameter="back_id">
<connectionPointIn>
<relPosition x="0" y="40"/>
<connection refLocalId="41">
<position x="225" y="195"/>
<position x="165" y="195"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="sele_id">
<connectionPointIn>
<relPosition x="0" y="85"/>
<connection refLocalId="42">
<position x="225" y="240"/>
<position x="165" y="240"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="toggle">
<connectionPointIn>
<relPosition x="0" y="125"/>
<connection refLocalId="93">
<position x="225" y="280"/>
<position x="165" y="280"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="set_state">
<connectionPointIn>
<relPosition x="0" y="165"/>
</connectionPointIn>
</variable>
<variable formalParameter="state_in">
<connectionPointIn>
<relPosition x="0" y="210"/>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="state_out">
<connectionPointOut>
<relPosition x="200" y="40"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="93" height="30" width="70">
<position x="95" y="265"/>
<connectionPointOut>
<relPosition x="70" y="15"/>
</connectionPointOut>
<expression>BOOL#1</expression>
</inVariable>
<block localId="94" width="100" height="145" typeName="TextCtrl" instanceName="Compteur">
<position x="900" y="240"/>
<inputVariables>
<variable formalParameter="back_id">
<connectionPointIn>
<relPosition x="0" y="40"/>
<connection refLocalId="46">
<position x="900" y="280"/>
<position x="855" y="280"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="set_text">
<connectionPointIn>
<relPosition x="0" y="80"/>
<connection refLocalId="3">
<position x="900" y="320"/>
<position x="855" y="320"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="text">
<connectionPointIn>
<relPosition x="0" y="120"/>
<connection refLocalId="83" formalParameter="OUT">
<position x="900" y="360"/>
<position x="745" y="360"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables/>
</block>
<inVariable localId="1" height="30" width="70">
<position x="80" y="85"/>
<connectionPointOut>
<relPosition x="70" y="15"/>
</connectionPointOut>
<expression>BOOL#1</expression>
</inVariable>
<block localId="95" width="100" height="130" typeName="Led" instanceName="Temoin">
<position x="900" y="55"/>
<inputVariables>
<variable formalParameter="back_id">
<connectionPointIn>
<relPosition x="0" y="40"/>
<connection refLocalId="51">
<position x="900" y="95"/>
<position x="835" y="95"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="sele_id">
<connectionPointIn>
<relPosition x="0" y="75"/>
<connection refLocalId="52">
<position x="900" y="130"/>
<position x="835" y="130"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="state_in">
<connectionPointIn>
<relPosition x="0" y="110"/>
<connection refLocalId="2">
<position x="900" y="165"/>
<position x="835" y="165"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables/>
</block>
<block localId="96" width="80" height="65" typeName="AND">
<position x="200" y="45"/>
<inputVariables>
<variable formalParameter="IN1" negated="true">
<connectionPointIn>
<relPosition x="0" y="30"/>
<connection refLocalId="96" formalParameter="OUT">
<position x="200" y="75"/>
<position x="175" y="75"/>
<position x="175" y="30"/>
<position x="305" y="30"/>
<position x="305" y="75"/>
<position x="280" y="75"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN2">
<connectionPointIn>
<relPosition x="0" y="55"/>
<connection refLocalId="1">
<position x="200" y="100"/>
<position x="150" y="100"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="80" y="30"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<connector name="CLOCK" localId="97" height="30" width="90">
<position x="345" y="60"/>
<connectionPointIn>
<relPosition x="0" y="15"/>
<connection refLocalId="96" formalParameter="OUT">
<position x="345" y="75"/>
<position x="280" y="75"/>
</connection>
</connectionPointIn>
</connector>
<connector name="COUNT" localId="98" height="30" width="90">
<position x="485" y="180"/>
<connectionPointIn>
<relPosition x="0" y="15"/>
<connection refLocalId="92" formalParameter="state_out">
<position x="485" y="195"/>
<position x="425" y="195"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="COUNT" localId="2" height="30" width="90">
<position x="745" y="150"/>
<connectionPointOut>
<relPosition x="90" y="15"/>
</connectionPointOut>
</continuation>
<inVariable localId="4" height="35" width="85">
<position x="470" y="345"/>
<connectionPointOut>
<relPosition x="85" y="15"/>
</connectionPointOut>
<expression>counter</expression>
</inVariable>
<continuation name="COUNT" localId="5" height="30" width="90">
<position x="520" y="440"/>
<connectionPointOut>
<relPosition x="90" y="15"/>
</connectionPointOut>
</continuation>
<block localId="99" width="80" height="110" typeName="AND">
<position x="215" y="445"/>
<inputVariables>
<variable formalParameter="IN1">
<connectionPointIn>
<relPosition x="0" y="40"/>
<connection refLocalId="39">
<position x="215" y="485"/>
<position x="160" y="485"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN2">
<connectionPointIn>
<relPosition x="0" y="85"/>
<connection refLocalId="6">
<position x="215" y="530"/>
<position x="160" y="530"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="80" y="40"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<continuation name="CLOCK" localId="6" height="30" width="90">
<position x="70" y="515"/>
<connectionPointOut>
<relPosition x="90" y="15"/>
</connectionPointOut>
</continuation>
<block localId="100" width="125" height="45" typeName="BOOL_TO_INT">
<position x="365" y="455"/>
<inputVariables>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="30"/>
<connection refLocalId="99" formalParameter="OUT">
<position x="365" y="485"/>
<position x="295" y="485"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="125" y="30"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<continuation name="CLOCK" localId="3" height="30" width="90">
<position x="765" y="305"/>
<connectionPointOut>
<relPosition x="90" y="15"/>
</connectionPointOut>
</continuation>
</FBD>
</body>
</pou>
</pous>
</types>
<instances>
<configurations>
<configuration name="conf_pytest">
<resource name="res_pytest">
<task name="pytest_task" interval="t#100ms" priority="0"/>
<pouInstance name="pytest_instance" typeName="main_pytest"/>
</resource>
</configuration>
</configurations>
</instances>
</project>