BSI 18/30363160 DC:2018 Edition
$45.21
BS EN IEC 61804-3. Function Blocks (FB) for process control and Electronic Device Description Language (EDDL) – Part 3. EDDL syntax and semantics
Published By | Publication Date | Number of Pages |
BSI | 2018 | 380 |
PDF Catalog
PDF Pages | PDF Title |
---|---|
29 | 1 Scope 2 Normative references |
30 | 3 Terms, definitions, abbreviated terms and acronyms 3.1 Terms and definitions |
32 | 3.2 Abbreviated terms and acronyms 4 Conformance statement |
33 | 5 EDD and EDDL model 5.1 Overview of EDD and EDDL 5.2 EDD architecture 5.3 Concepts of EDD 5.4 Principles of the EDD development process 5.4.1 General |
34 | 5.4.2 EDD source generation 5.4.3 EDD preprocessing 5.4.4 EDD compilation 5.5 Interrelations between the lexical structure and formal definitions 5.6 Builtins |
35 | 5.7 Profiles 6 Conventions 6.1 General 6.2 Conventions for basic construct description |
36 | 6.3 Conventions for lexical structure |
37 | 7 Overview 7.1 EDDL features 7.2 Syntax representation 7.3 EDD language elements |
38 | 7.4 Basic construction elements 7.4.1 General 7.4.2 AXIS 7.4.3 BLOB 7.4.4 BLOCK_A |
39 | 7.4.5 BLOCK_B 7.4.6 CHART 7.4.7 COLLECTION 7.4.8 COMMAND |
40 | 7.4.9 COMPONENT 7.4.10 COMPONENT_FOLDER |
41 | 7.4.11 COMPONENT_REFERENCE 7.4.12 COMPONENT_RELATION 7.4.13 EDIT_DISPLAY 7.4.14 FILE |
42 | 7.4.15 GRAPH 7.4.16 GRID 7.4.17 IMAGE 7.4.18 IMPORT 7.4.19 INTERFACE 7.4.20 LIKE |
43 | 7.4.21 LIST 7.4.22 MENU |
44 | 7.4.23 METHOD 7.4.24 PLUGIN 7.4.25 RECORD 7.4.26 REFERENCE_ARRAY |
45 | 7.4.27 Relations 7.4.27.1 REFRESH 7.4.27.2 SEMANTIC_MAP 7.4.27.3 UNIT |
46 | 7.4.27.4 WRITE_AS_ONE 7.4.28 RESPONSE_CODES 7.4.29 SOURCE 7.4.30 TEMPLATE 7.4.31 VALUE_ARRAY |
47 | 7.4.32 VARIABLE 7.4.33 VARIABLE_LIST 7.4.34 WAVEFORM |
48 | 7.5 Common attributes 7.6 Special elements 7.7 Rules for instances |
49 | 7.8 Rules for a list of VARIABLEs 8 EDD identification information 8.1 General structure |
50 | 8.2 DD_REVISION 8.3 DEVICE_REVISION |
51 | 8.4 DEVICE_TYPE 8.5 EDD_PROFILE |
52 | 8.6 EDD_VERSION 8.7 LAYOUT_TYPE 8.8 MANUFACTURER |
53 | 8.9 MANUFACTURER_EXT 9 Data modelling 9.1 VARIABLE 9.1.1 General structure |
55 | 9.1.2 CLASS |
58 | 9.1.3 CONSTANT_UNIT |
59 | 9.1.4 DEFAULT_VALUE 9.1.5 INITIAL_VALUE |
60 | 9.1.6 POST_EDIT_ACTIONS 9.1.7 POST_READ_ACTIONS |
61 | 9.1.8 POST_RQSTUPDATE_ACTIONS 9.1.9 POST_USERCHANGE_ACTIONS |
62 | 9.1.10 POST_WRITE_ACTIONS 9.1.11 PRE_EDIT_ACTIONS 9.1.12 PRE_READ_ACTIONS |
63 | 9.1.13 PRE_WRITE_ACTIONS 9.1.14 REFRESH_ACTIONS 9.1.15 TYPE 9.1.15.1 General structure |
64 | 9.1.15.2 MIN_VALUE, MAX_VALUE |
65 | 9.1.15.3 value / description / help 9.1.15.4 Arithmetic types 9.1.15.4.1 General structure |
67 | 9.1.15.4.2 DISPLAY_FORMAT |
68 | 9.1.15.4.3 EDIT_FORMAT 9.1.15.4.4 SCALING_FACTOR |
69 | 9.1.15.4.5 size 9.1.15.5 DATE, DATE_AND_TIME, DURATION, TIME, TIME_VALUE 9.1.15.5.1 General structure |
71 | 9.1.15.5.2 TIME_FORMAT 9.1.15.5.3 TIME_SCALE |
72 | 9.1.15.5.4 size 9.1.15.6 BIT_ENUMERATED 9.1.15.6.1 General structure 9.1.15.6.2 description 9.1.15.6.3 value |
73 | 9.1.15.6.4 action 9.1.15.6.5 size 9.1.15.6.6 status-class |
76 | 9.1.15.7 ENUMERATED 9.1.15.7.1 General structure 9.1.15.7.2 size 9.1.15.8 INDEX |
77 | 9.1.15.9 OBJECT_REFERENCE 9.1.15.10 ASCII, EUC, PACKED_ASCII, PASSWORD, VISIBLE 9.1.15.10.1 General structure |
79 | 9.1.15.10.2 size 9.1.15.11 OCTET 9.1.15.11.1 General structure |
80 | 9.1.15.11.2 DISPLAY_FORMAT |
81 | 9.1.15.11.3 EDIT_FORMAT 9.1.15.11.4 size 9.1.15.12 BITSTRING 9.1.15.12.1 General structure |
82 | 9.1.15.12.2 size 9.1.15.13 BOOLEAN 9.2 REFERENCE_ARRAY 9.2.1 General structure |
85 | 9.2.2 ELEMENTS 9.2.3 item-type 9.3 VALUE_ARRAY 9.3.1 General structure |
86 | 9.3.2 NUMBER_OF_ELEMENTS |
87 | 9.3.3 TYPE 9.4 LIST 9.4.1 General structure |
89 | 9.4.2 CAPACITY 9.4.3 COUNT |
90 | 9.4.4 TYPE 9.5 COLLECTION 9.5.1 General structure |
91 | 9.5.2 item-type |
92 | 9.6 FILE 9.6.1 General structure |
93 | 9.6.2 IDENTITY |
94 | 9.6.3 ON_UPDATE_ACTIONS 9.6.4 SHARED |
95 | 9.7 Relations 9.7.1 REFRESH |
96 | 9.7.2 SEMANTIC_MAP |
98 | 9.7.3 UNIT 9.7.4 WRITE_AS_ONE |
99 | 9.8 BLOB 9.8.1 General structure |
100 | 9.8.2 IDENTITY 10 Communication 10.1 COMMAND 10.1.1 General structure |
102 | 10.1.2 Command addressing 10.1.2.1 HART Command addressing 10.1.2.2 PROFIBUS DP addressing 10.1.2.3 PI Profile for Process Control Devices Addressing 10.1.2.4 PROFINET addressing 10.1.2.5 Addressing for other protocols 10.1.3 API |
103 | 10.1.4 BLOCK_B 10.1.5 HEADER 10.1.6 INDEX 10.1.7 NUMBER |
104 | 10.1.8 OPERATION |
105 | 10.1.9 SLOT 10.1.10 SUB_SLOT 10.1.11 TRANSACTION 10.1.11.1 General structure |
106 | 10.1.11.2 REPLY |
107 | 10.1.11.3 REQUEST |
108 | 10.1.11.4 item-mask |
110 | 10.1.11.5 Data item qualifiers |
111 | 10.1.11.6 POST_RQSTRECEIVE_ACTIONS |
112 | 10.2 RECORD |
113 | 10.3 RESPONSE_CODES 10.4 VARIABLE_LIST |
114 | 11 User interface 11.1 MENU 11.1.1 General structure |
115 | 11.1.2 ACCESS |
116 | 11.1.3 EXIT_ACTIONS 11.1.4 INIT_ACTIONS 11.1.5 ITEMS |
118 | 11.1.6 POST_EDIT_ACTIONS |
119 | 11.1.7 POST_READ_ACTIONS 11.1.8 POST_WRITE_ACTIONS 11.1.9 PRE_EDIT_ACTIONS |
120 | 11.1.10 PRE_READ_ACTIONS 11.1.11 PRE_WRITE_ACTIONS 11.1.12 STYLE |
121 | 11.1.13 Sequence diagrams for actions |
123 | 11.2 EDIT_DISPLAY 11.2.1 General structure |
124 | 11.2.2 EDIT_ITEMS |
125 | 11.2.3 DISPLAY_ITEMS 11.2.4 POST_EDIT_ACTIONS 11.2.5 PRE_EDIT_ACTIONS |
126 | 11.3 IMAGE 11.3.1 General structure |
127 | 11.3.2 LINK |
128 | 11.3.3 PATH 11.4 GRID 11.4.1 General structure |
131 | 11.4.2 ORIENTATION 11.4.3 VECTORS |
132 | 11.5 CHART 11.5.1 General structure |
140 | 11.5.2 CYCLE_TIME |
141 | 11.5.3 LENGTH 11.5.4 TYPE |
144 | 11.5.5 Sequence diagram for actions 11.5.6 CHART Legend/Help rules 11.5.6.1 Meter and Trend (Y_AXIS not defined) – One VARIABLE per SOURCE 11.5.6.2 Trend (Y_AXIS not defined) – Two or more VARIABLEs per SOURCE |
145 | 11.5.6.3 Meter (Y_AXIS not defined) – Two or more VARIABLEs per SOURCE 11.5.6.4 Trend (Y_AXIS defined) – One VARIABLE per SOURCE & two (or more) shared SOURCEs |
146 | 11.5.6.5 Meter (Y_AXIS defined) – One VARIABLE per SOURCE & two (or more) shared SOURCEs 11.6 SOURCE 11.6.1 General structure |
148 | 11.6.2 EXIT_ACTIONS 11.6.3 INIT_ACTIONS 11.6.4 REFRESH_ACTIONS |
149 | 11.6.5 Y_AXIS 11.7 AXIS 11.7.1 General structure |
150 | 11.7.2 MIN_VALUE, MAX_VALUE |
151 | 11.7.3 SCALING 11.7.4 CONSTANT_UNIT 11.8 GRAPH 11.8.1 General structure |
160 | 11.8.2 CYCLE_TIME |
161 | 11.8.3 X_AXIS 11.8.4 Sequence diagram for actions |
162 | 11.9 WAVEFORM 11.9.1 General structure |
163 | 11.9.2 EXIT_ACTIONS 11.9.3 INIT_ACTIONS |
164 | 11.9.4 KEY_POINTS 11.9.4.1 General structure 11.9.4.2 X_VALUES / Y_VALUES |
165 | 11.9.5 REFRESH_ACTIONS 11.9.6 TYPE 11.9.6.1 General structure |
166 | 11.9.6.2 XY 11.9.6.3 YT |
167 | 11.9.6.4 HORIZONTAL |
168 | 11.9.6.5 VERTICAL 11.9.7 Y_AXIS 11.10 PLUGIN 11.10.1 General structure |
169 | 11.10.2 UUID 12 Business Logic 12.1 METHOD 12.1.1 General structure |
171 | 12.1.2 ACCESS 12.1.3 CLASS |
172 | 12.1.4 TYPE |
173 | 13 Device modelling 13.1 BLOCK_A 13.1.1 General structure |
175 | 13.1.2 AXIS_ITEMS |
176 | 13.1.3 CHARACTERISTICS 13.1.4 CHARTS 13.1.5 CHART_ITEMS |
177 | 13.1.6 COLLECTION_ITEMS 13.1.7 EDIT_DISPLAY_ITEMS 13.1.8 FILES |
178 | 13.1.9 FILE_ITEMS 13.1.10 GRAPHS 13.1.11 GRAPH_ITEMS |
179 | 13.1.12 GRIDS 13.1.13 GRID_ITEMS 13.1.14 IMAGE_ITEMS |
180 | 13.1.15 ITEM_ARRAY_ITEMS 13.1.16 LISTS 13.1.17 LIST_ITEMS 13.1.18 LOCAL_PARAMETERS |
181 | 13.1.19 MENUS 13.1.20 MENU_ITEMS 13.1.21 METHODS |
182 | 13.1.22 METHOD_ITEMS 13.1.23 PARAMETERS 13.1.24 PARAMETER_LISTS |
183 | 13.1.25 PLUGINS 13.1.26 PLUGIN_ITEMS |
184 | 13.1.27 REFRESH_ITEMS 13.1.28 SEMANTIC_MAP_ITEMS 13.1.29 SOURCE_ITEMS 13.1.30 UNIT_ITEMS |
185 | 13.1.31 WAVEFORM_ITEMS 13.1.32 WRITE_AS_ONE_ITEMS 13.2 BLOCK_B 13.2.1 General structure |
186 | 13.2.2 NUMBER 13.2.3 TYPE |
187 | 13.3 LIKE 13.4 IMPORT 13.4.1 General structure |
191 | 13.5 TEMPLATE 13.5.1 General structure |
192 | 13.5.2 DEFAULT_VALUES 13.6 COMPONENT 13.6.1 General structure |
193 | 13.6.2 BYTE_ORDER |
194 | 13.6.3 CAN_DELETE 13.6.4 CHECK_CONFIGURATION 13.6.5 COMPONENT_RELATIONS |
195 | 13.6.6 CONNECTION_POINT 13.6.7 DETECT 13.6.8 EDD |
196 | 13.6.9 INITIAL_VALUES 13.6.10 REDUNDANCY 13.6.11 SCAN |
197 | 13.6.12 SCAN_LIST 13.6.13 PRODUCT_URI 13.7 COMPONENT_FOLDER |
198 | 13.8 COMPONENT_REFERENCE |
199 | 13.9 COMPONENT_RELATION 13.9.1 General structure |
200 | 13.9.2 COMPONENTS |
201 | 13.9.3 RELATION_TYPE |
202 | 13.9.4 ADDRESSING 13.9.5 MAXIMUM_NUMBER 13.9.6 MINIMUM_NUMBER |
203 | 13.9.7 REQUIRED_INTERFACE 13.10 INTERFACE 13.10.1 General structure 13.10.2 DECLARATION |
204 | 14 Common attributes 14.1 CLASSIFICATION |
206 | 14.2 COMPONENT_PARENT 14.3 COMPONENT_PATH 14.4 DEFINITION |
207 | 14.5 EMPHASIS |
208 | 14.6 HANDLING 14.7 HEIGHT |
209 | 14.8 HELP |
210 | 14.9 LABEL 14.10 LINE_COLOR |
211 | 14.11 LINE_TYPE |
212 | 14.12 MEMBERS |
213 | 14.13 PRIVATE 14.14 PROTOCOL |
214 | 14.15 RESPONSE_CODES 14.16 SUPPLIED_INTERFACE |
215 | 14.17 VALIDITY 14.18 VISIBILITY |
216 | 14.19 WIDTH 14.20 WRITE_MODE 15 Redefinitions 15.1 Overview |
219 | 15.2 AXIS 15.3 BLOB |
220 | 15.4 BLOCK_A |
222 | 15.5 BLOCK_B 15.6 CHART 15.7 COLLECTION |
223 | 15.8 COMMAND 15.9 COMPONENT |
224 | 15.10 COMPONENT_FOLDER 15.11 COMPONENT_REFERENCE |
225 | 15.12 COMPONENT_RELATION 15.13 EDIT_DISPLAY |
226 | 15.14 FILE 15.15 GRAPH |
227 | 15.16 GRID 15.17 IMAGE |
228 | 15.18 INTERFACE 15.19 LIST 15.20 MENU |
229 | 15.21 METHOD |
230 | 15.22 PLUGIN 15.23 RECORD 15.24 REFERENCE_ARRAY |
231 | 15.25 RESPONSE_CODES 15.26 SOURCE |
232 | 15.27 TEMPLATE 15.28 VALUE_ARRAY |
233 | 15.29 VARIABLE |
234 | 15.30 VARIABLE_LIST |
235 | 15.31 WAVEFORM 16 Referencing 16.1 Referencing an EDD instance |
236 | 16.2 Referencing AXIS of a GRAPH, SOURCE, WAVEFORM 16.3 Referencing bits of a BIT_ENUMERATED VARIABLE 16.4 Referencing members of a CHART |
237 | 16.5 Referencing members of a COLLECTION 16.6 Referencing COMPONENT instances 16.7 Referencing COMPONENT types |
238 | 16.8 Referencing members of a FILE 16.9 Referencing members of a GRAPH 16.10 Referencing elements of a LIST |
239 | 16.11 Referencing members of a RECORD 16.12 Referencing elements of a REFERENCE_ARRAY 16.13 Referencing members of a SOURCE |
240 | 16.14 Referencing elements of a VALUE_ARRAY 16.15 Referencing members of a VARIABLE_LISTS 16.16 Referencing BLOCK_A CHARACTERISTICS |
241 | 16.17 Referencing elements of BLOCK_A LOCAL_PARAMETERS 16.18 Referencing elements of BLOCK_A PARAMETERS 16.19 Referencing elements of BLOCK_A PARAMETER_LISTS 16.20 Referencing CHARACTERISTICS of specific BLOCK_A instance |
242 | 16.21 Referencing CHARTS of specific BLOCK_A instance 16.22 Referencing FILES of specific BLOCK_A instance |
243 | 16.23 Referencing GRAPHS of specific BLOCK_A instance 16.24 Referencing GRIDS of specific BLOCK_A instance 16.25 Referencing LISTS of specific BLOCK_A instance |
244 | 16.26 Referencing LOCAL_PARAMETERS of specific BLOCK_A instance 16.27 Referencing MENUS of specific BLOCK_A instance |
245 | 16.28 Referencing METHODS of specific BLOCK_A instance 16.29 Referencing PARAMETERS of specific BLOCK_A instance 16.30 Referencing PLUGINS of specific BLOCK_A instance |
246 | 17 Strings 17.1 Specifying a string as a string literal 17.2 Specifying a string as a string variable 17.3 Specifying a string as an enumeration value |
247 | 17.4 Specifying a string as a dictionary reference 17.5 Referencing HELP and LABEL attributes of EDD instances 17.6 String operations |
248 | 18 Conditional expression 18.1 General structure 18.2 IF Conditional |
249 | 18.3 SELECT Conditional |
250 | 19 Expression 19.1 General structure 19.2 Primary expressions |
253 | 19.3 Unary expressions 19.4 Binary expressions 19.4.1 General structure |
254 | 19.4.2 Multiplicative operators 19.4.3 Additive operators 19.4.4 Shift operators |
255 | 19.4.5 Relational operators 19.4.6 Equality operators 19.4.7 Bitwise AND operator (&) 19.4.8 Bitwise XOR operator (^) 19.4.9 Bitwise OR operator (|) 19.4.10 Logical AND operator (&&) |
256 | 19.4.11 Logical OR operator (||) 19.4.12 Conditional evaluation 20 Text dictionary |
257 | Annex A (normative) EDDL formal definition A.1 EDDL preprocessor A.1.1 General structure A.1.2 Directives A.1.2.1 #define A.1.2.2 #include |
258 | A.1.2.3 #line A.1.2.4 #if, #elif, #else, and #endif |
259 | A.1.2.5 #ifdef, #ifndef and #undef A.1.3 Predefined macros A.1.3.1 General structure |
260 | A.1.3.2 List of predefined macros A.1.3.2.1 __FILE__ A.1.3.2.2 __LINE__ A.1.4 NEWLINE characters A.1.5 Comments A.2 Conventions A.2.1 Integer constants A.2.2 Floating-point constants |
261 | A.2.3 String literals A.2.4 Using language and country codes in string literals |
262 | A.3 Operators |
266 | A.4 Keywords |
270 | A.5 Symbols and symbol scope A.6 Terminals |
271 | A.7 Formal EDDL syntax A.7.1 General A.7.2 EDD identification information |
273 | A.7.3 AXIS |
274 | A.7.4 BLOCK_A and BLOCK_B |
278 | A.7.5 CHART |
279 | A.7.6 COLLECTION |
280 | A.7.7 COMMAND |
283 | A.7.8 COMPONENT |
286 | A.7.9 COMPONENT_FOLDER A.7.10 COMPONENT_REFERENCE |
287 | A.7.11 COMPONENT_RELATION |
289 | A.7.12 EDIT_DISPLAY |
290 | A.7.13 FILE A.7.14 GRAPH A.7.15 GRID |
291 | A.7.16 IMAGE |
292 | A.7.17 INTERFACE A.7.18 LIST |
293 | A.7.19 IMPORT |
295 | A.7.20 LIKE |
297 | A.7.21 MENU |
298 | A.7.22 METHOD |
300 | A.7.23 RECORD A.7.24 REFERENCE_ARRAY |
301 | A.7.25 Relations |
303 | A.7.26 RESPONSE_CODES |
304 | A.7.27 SOURCE A.7.28 TEMPLATE |
305 | A.7.29 VALUE_ARRAY A.7.30 VARIABLE |
316 | A.7.31 VARIABLE_LIST A.7.32 WAVEFORM |
318 | A.7.33 Common attributes |
322 | A.7.34 Expression |
324 | A.7.35 C-Grammar |
328 | A.7.36 Redefinition |
353 | A.7.37 References |
355 | A.7.38 PLUGIN |
356 | A.7.39 BLOB A.7.40 SEMANTIC_MAP |
357 | A.8 Formal dictionary syntax |
358 | Annex B (normative) Data types B.1 METHOD DEFINITION data types B.2 VARIABLE TYPE data types B.2.1 General |
360 | B.2.2 Coding of data DATE |
361 | B.2.3 Coding of data DATE_AND_TIME B.2.4 Coding of data DURATION |
362 | B.2.5 Coding of data TIME |
363 | B.2.6 Coding of data TIME_VALUE B.2.7 Coding of PACKED_ASCII (6-BIT ASCII) DATA FORMAT |
364 | B.2.8 Coding of BOOLEAN B.2.9 Coding of BIT_ENUMERATED |
366 | Annex C (informative) EDD example C.1 EDD example of a temperature transmitter C.2 EDD example |