beremiz

Improve fix wrong code generation if EN/ENO are used in FBD/LD/SFC

Commit c9915bc6 "Fix wrong code generation if EN/ENO are used in
FBD/LD/SFC" caused following backtrace in some cases:

File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 476, in GenerateProgram
self.GeneratePouProgram(pou_name)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 258, in GeneratePouProgram
program = pou_program.GenerateProgram(pou)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 1713, in GenerateProgram
self.ComputeProgram(pou)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 997, in ComputeProgram
eno_var = self.GetUsedEno(body, connections)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 929, in GetUsedEno
for invar in blk.inputVariables.getvariable():
File "/home/developer/WorkData/PLC/beremiz/beremiz/xmlclass/xmlclass.py", line 1363, in getattrMethod
return DefaultElementClass.__getattribute__(self, name)
: 'inOutVariable' object has no attribute 'inputVariables'
<?xml version="1.0"?>
<!DOCTYPE PyObject SYSTEM "PyObjects.dtd">
<PyObject module="node" class="Node" id="157806348">
<attr name="Profile" type="dict" id="157588716" >
</attr>
<attr name="Description" type="string" value="" />
<attr name="Dictionary" type="dict" id="157588580" >
<entry>
<key type="numeric" value="4096" />
<val type="numeric" value="0" />
</entry>
<entry>
<key type="numeric" value="4097" />
<val type="numeric" value="0" />
</entry>
<entry>
<key type="numeric" value="5122" />
<val type="list" id="160478380" >
<item type="string" value="{True:&quot;$NODEID+0x%X00&quot;%(base+2),False:0x80000000}[base&lt;4]" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="5123" />
<val type="list" id="158303244" >
<item type="string" value="{True:&quot;$NODEID+0x%X00&quot;%(base+2),False:0x80000000}[base&lt;4]" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="8192" />
<val type="numeric" value="0" />
</entry>
<entry>
<key type="numeric" value="8193" />
<val type="numeric" value="0" />
</entry>
<entry>
<key type="numeric" value="5634" />
<val type="list" id="158305356" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="5635" />
<val type="list" id="158305388" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="6146" />
<val type="list" id="158305420" >
<item type="string" value="{True:&quot;$NODEID+0x%X80&quot;%(base+1),False:0x80000000}[base&lt;4]" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="6658" />
<val type="list" id="158305932" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="6147" />
<val type="list" id="158305516" >
<item type="string" value="{True:&quot;$NODEID+0x%X80&quot;%(base+1),False:0x80000000}[base&lt;4]" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="4608" />
<val type="list" id="158305068" >
<item type="string" value="&quot;$NODEID+0x600&quot;" />
<item type="string" value="&quot;$NODEID+0x580&quot;" />
</val>
</entry>
<entry>
<key type="numeric" value="4120" />
<val type="list" id="158304940" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="5120" />
<val type="list" id="158051500" >
<item type="string" value="{True:&quot;$NODEID+0x%X00&quot;%(base+2),False:0x80000000}[base&lt;4]" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="6659" />
<val type="list" id="158052300" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="5632" />
<val type="list" id="158049740" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="5121" />
<val type="list" id="158048716" >
<item type="string" value="{True:&quot;$NODEID+0x%X00&quot;%(base+2),False:0x80000000}[base&lt;4]" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="6144" />
<val type="list" id="158048428" >
<item type="string" value="{True:&quot;$NODEID+0x%X80&quot;%(base+1),False:0x80000000}[base&lt;4]" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="5633" />
<val type="list" id="158052172" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="6656" />
<val type="list" id="158052204" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="6145" />
<val type="list" id="158052108" >
<item type="string" value="{True:&quot;$NODEID+0x%X80&quot;%(base+1),False:0x80000000}[base&lt;4]" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
<entry>
<key type="numeric" value="6657" />
<val type="list" id="158048588" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
</val>
</entry>
</attr>
<attr name="SpecificMenu" type="list" id="158048396" >
</attr>
<attr name="ParamsDictionary" type="dict" id="157588308" >
</attr>
<attr name="UserMapping" type="dict" id="157588852" >
<entry>
<key type="numeric" value="8192" />
<val type="dict" id="157602516" >
<entry>
<key type="string" value="need" />
<val type="False" value="" />
</entry>
<entry>
<key type="string" value="values" />
<val type="list" id="158052332" >
<item type="dict" id="157586676" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
</entry>
<entry>
<key type="string" value="pdo" />
<val type="True" value="" />
</entry>
<entry>
<key type="string" value="type" />
<val type="numeric" value="3" />
</entry>
<entry>
<key type="string" value="name" />
<val type="string">OutVar</val>
</entry>
</item>
</val>
</entry>
<entry>
<key type="string" value="name" />
<val type="string">OutVar</val>
</entry>
<entry>
<key type="string" value="struct" />
<val type="numeric" value="1" />
</entry>
</val>
</entry>
<entry>
<key type="numeric" value="8193" />
<val type="dict" id="157535468" >
<entry>
<key type="string" value="need" />
<val type="False" value="" />
</entry>
<entry>
<key type="string" value="values" />
<val type="list" id="158305004" >
<item type="dict" id="158343620" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
</entry>
<entry>
<key type="string" value="pdo" />
<val type="True" value="" />
</entry>
<entry>
<key type="string" value="type" />
<val type="numeric" value="3" />
</entry>
<entry>
<key type="string" value="name" />
<val type="string">InVar</val>
</entry>
</item>
</val>
</entry>
<entry>
<key type="string" value="name" />
<val type="string">InVar</val>
</entry>
<entry>
<key type="string" value="struct" />
<val type="numeric" value="1" />
</entry>
</val>
</entry>
</attr>
<attr name="DS302" type="dict" id="158328188" >
</attr>
<attr name="ProfileName" type="string" value="None" />
<attr name="Type" type="string" value="slave" />
<attr name="ID" type="numeric" value="0" />
<attr name="Name" type="string" value="SlaveNode" />
</PyObject>