targets/Win32/XSD
author |
Andrey Skvortsov <andrej.skvortzov@gmail.com> |
|
Wed, 01 Aug 2018 13:09:45 +0300 |
changeset 2258 |
c9915bc620cd |
parent 620 |
f2c6bb695cf5
|
permissions |
-rwxr-xr-x |
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/
203
|
1 |
|
|
2 |
<xsd:element name="Win32">
|
|
3 |
<xsd:complexType>
|
620
|
4 |
%(toolchain_gcc)s
|
203
|
5 |
</xsd:complexType>
|
|
6 |
</xsd:element>
|
|
7 |
|