bacnet/ede_files/template_ObjTypes.csv
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Wed, 01 Aug 2018 13:09:45 +0300
changeset 2258 c9915bc620cd
parent 2020 6dddf3070806
permissions -rw-r--r--
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/
#Encoding of BACnet Object Types;;;
#Code;Object Type;;
0;Analog Input;;
1;Analog Output;;
2;Analog Value;;
3;Binary Input ;;
4;Binary Output;;
5;Binary Value;;
6;Calendar;;
7;Command;;
8;Device;;
9;Event-Enrollment;;
10;File;;
11;Group;;
12;Loop;;
13;Multistate Input;;
14;Multistate Output
15;Notification Class
16;Program
17;Schedule
18;Averaging
19;Multistate Value
20;Trend Log
21;Life Safety Point
22;Life Safety Zone
23;Accumulator
24;Pulse Converter