beremiz

c9915bc620cd
Fix wrong code generation if EN/ENO are used in FBD/LD/SFC

This problem appears for example here

--------
------- | MOVE |
| MOVE1 |------|EN ENO|
------- | |
| |
------- | | -----------
| 23 |------|IN OUT|---| LocalVar0 |
------- -------- -----------


--------
------- | MOVE |
| MOVE2 |------|EN ENO|
------- | |
| |
------- | | -----------
| 15 |------|IN OUT|---| LocalVar0 |
------- -------- -----------

Before wrong code was generated for this case:

MOVE6_OUT := MOVE(EN := move1, IN := 23, ENO => MOVE6_ENO);
LocalVar0 := MOVE6_OUT;
MOVE4_OUT := MOVE(EN := move2, IN := 15, ENO => MOVE4_ENO);
LocalVar0 := MOVE4_OUT;

With this patch now following code is generated:

MOVE6_OUT := MOVE(EN := move1, IN := 23, ENO => MOVE6_ENO);
IF MOVE6_ENO THEN
LocalVar0 := MOVE6_OUT;
END_IF;
MOVE4_OUT := MOVE(EN := move2, IN := 15, ENO => MOVE4_ENO);
IF MOVE4_ENO THEN
LocalVar0 := MOVE4_OUT;
END_IF;


See discussion here:
https://sourceforge.net/p/beremiz/mailman/message/36378805/
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<PyFile>
<variables/>
<globals>
<![CDATA[
from threading import Thread
def OnConnectButton(self, event):
def OnWiiConnected(mac_addr):
self.label_2.SetLabel(
"Wiimote %s connected"%mac_addr
if mac_addr else
"Wiimote connection failed !")
def WiiConnected(mac_addr):
wx.CallAfter(OnWiiConnected,mac_addr)
Thread(target = Connect_Wiimote, args = (WiiConnected,)).start()
self.label_2.SetLabel("Press wiimote 1+2")
event.Skip()
def OnDisconnectButton(self, event):
Disconnect_Wiimote()
self.label_2.SetLabel("Wiimote disconnected")
event.Skip()
]]>
</globals>
<init>
<![CDATA[
]]>
</init>
<cleanup>
<![CDATA[
]]>
</cleanup>
<start>
<![CDATA[
]]>
</start>
<stop>
<![CDATA[
]]>
</stop>
</PyFile>