Already a subscriber? 

MADCAD.com Free Trial
Sign up for a 3 day free trial to explore the MADCAD.com interface, PLUS access the
2009 International Building Code to see how it all works.
If you like to setup a quick demo, let us know at support@madcad.com
or +1 800.798.9296 and we will be happy to schedule a webinar for you.
Security check
Please login to your personal account to use this feature.
Please login to your authorized staff account to use this feature.
Are you sure you want to empty the cart?

18/30363160 DC BS EN IEC 61804-3. Function Blocks (FB) for process control and Electronic Device Description Language (EDDL) - Part 3. EDDL syntax and semantics, 2018
- 1 Scope
- 2 Normative references
- 3 Terms, definitions, abbreviated terms and acronyms [Go to Page]
- 3.1 Terms and definitions
- 3.2 Abbreviated terms and acronyms
- 4 Conformance statement
- 5 EDD and EDDL model [Go to Page]
- 5.1 Overview of EDD and EDDL
- 5.2 EDD architecture
- 5.3 Concepts of EDD
- 5.4 Principles of the EDD development process [Go to Page]
- 5.4.1 General
- 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
- 5.7 Profiles
- 6 Conventions [Go to Page]
- 6.1 General
- 6.2 Conventions for basic construct description
- 6.3 Conventions for lexical structure
- 7 Overview [Go to Page]
- 7.1 EDDL features
- 7.2 Syntax representation
- 7.3 EDD language elements
- 7.4 Basic construction elements [Go to Page]
- 7.4.1 General
- 7.4.2 AXIS
- 7.4.3 BLOB
- 7.4.4 BLOCK_A
- 7.4.5 BLOCK_B
- 7.4.6 CHART
- 7.4.7 COLLECTION
- 7.4.8 COMMAND
- 7.4.9 COMPONENT
- 7.4.10 COMPONENT_FOLDER
- 7.4.11 COMPONENT_REFERENCE
- 7.4.12 COMPONENT_RELATION
- 7.4.13 EDIT_DISPLAY
- 7.4.14 FILE
- 7.4.15 GRAPH
- 7.4.16 GRID
- 7.4.17 IMAGE
- 7.4.18 IMPORT
- 7.4.19 INTERFACE
- 7.4.20 LIKE
- 7.4.21 LIST
- 7.4.22 MENU
- 7.4.23 METHOD
- 7.4.24 PLUGIN
- 7.4.25 RECORD
- 7.4.26 REFERENCE_ARRAY
- 7.4.27 Relations [Go to Page]
- 7.4.27.1 REFRESH
- 7.4.27.2 SEMANTIC_MAP
- 7.4.27.3 UNIT
- 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
- 7.4.32 VARIABLE
- 7.4.33 VARIABLE_LIST
- 7.4.34 WAVEFORM
- 7.5 Common attributes
- 7.6 Special elements
- 7.7 Rules for instances
- 7.8 Rules for a list of VARIABLEs
- 8 EDD identification information [Go to Page]
- 8.1 General structure
- 8.2 DD_REVISION
- 8.3 DEVICE_REVISION
- 8.4 DEVICE_TYPE
- 8.5 EDD_PROFILE
- 8.6 EDD_VERSION
- 8.7 LAYOUT_TYPE
- 8.8 MANUFACTURER
- 8.9 MANUFACTURER_EXT
- 9 Data modelling [Go to Page]
- 9.1 VARIABLE [Go to Page]
- 9.1.1 General structure
- 9.1.2 CLASS
- 9.1.3 CONSTANT_UNIT
- 9.1.4 DEFAULT_VALUE
- 9.1.5 INITIAL_VALUE
- 9.1.6 POST_EDIT_ACTIONS
- 9.1.7 POST_READ_ACTIONS
- 9.1.8 POST_RQSTUPDATE_ACTIONS
- 9.1.9 POST_USERCHANGE_ACTIONS
- 9.1.10 POST_WRITE_ACTIONS
- 9.1.11 PRE_EDIT_ACTIONS
- 9.1.12 PRE_READ_ACTIONS
- 9.1.13 PRE_WRITE_ACTIONS
- 9.1.14 REFRESH_ACTIONS
- 9.1.15 TYPE [Go to Page]
- 9.1.15.1 General structure
- 9.1.15.2 MIN_VALUE, MAX_VALUE
- 9.1.15.3 value / description / help
- 9.1.15.4 Arithmetic types [Go to Page]
- 9.1.15.4.1 General structure
- 9.1.15.4.2 DISPLAY_FORMAT
- 9.1.15.4.3 EDIT_FORMAT
- 9.1.15.4.4 SCALING_FACTOR
- 9.1.15.4.5 size
- 9.1.15.5 DATE, DATE_AND_TIME, DURATION, TIME, TIME_VALUE [Go to Page]
- 9.1.15.5.1 General structure
- 9.1.15.5.2 TIME_FORMAT
- 9.1.15.5.3 TIME_SCALE
- 9.1.15.5.4 size
- 9.1.15.6 BIT_ENUMERATED [Go to Page]
- 9.1.15.6.1 General structure
- 9.1.15.6.2 description
- 9.1.15.6.3 value
- 9.1.15.6.4 action
- 9.1.15.6.5 size
- 9.1.15.6.6 status-class
- 9.1.15.7 ENUMERATED [Go to Page]
- 9.1.15.7.1 General structure
- 9.1.15.7.2 size
- 9.1.15.8 INDEX
- 9.1.15.9 OBJECT_REFERENCE
- 9.1.15.10 ASCII, EUC, PACKED_ASCII, PASSWORD, VISIBLE [Go to Page]
- 9.1.15.10.1 General structure
- 9.1.15.10.2 size
- 9.1.15.11 OCTET [Go to Page]
- 9.1.15.11.1 General structure
- 9.1.15.11.2 DISPLAY_FORMAT
- 9.1.15.11.3 EDIT_FORMAT
- 9.1.15.11.4 size
- 9.1.15.12 BITSTRING [Go to Page]
- 9.1.15.12.1 General structure
- 9.1.15.12.2 size
- 9.1.15.13 BOOLEAN
- 9.2 REFERENCE_ARRAY [Go to Page]
- 9.2.1 General structure
- 9.2.2 ELEMENTS
- 9.2.3 item-type
- 9.3 VALUE_ARRAY [Go to Page]
- 9.3.1 General structure
- 9.3.2 NUMBER_OF_ELEMENTS
- 9.3.3 TYPE
- 9.4 LIST [Go to Page]
- 9.4.1 General structure
- 9.4.2 CAPACITY
- 9.4.3 COUNT
- 9.4.4 TYPE
- 9.5 COLLECTION [Go to Page]
- 9.5.1 General structure
- 9.5.2 item-type
- 9.6 FILE [Go to Page]
- 9.6.1 General structure
- 9.6.2 IDENTITY
- 9.6.3 ON_UPDATE_ACTIONS
- 9.6.4 SHARED
- 9.7 Relations [Go to Page]
- 9.7.1 REFRESH
- 9.7.2 SEMANTIC_MAP
- 9.7.3 UNIT
- 9.7.4 WRITE_AS_ONE
- 9.8 BLOB [Go to Page]
- 9.8.1 General structure
- 9.8.2 IDENTITY
- 10 Communication [Go to Page]
- 10.1 COMMAND [Go to Page]
- 10.1.1 General structure
- 10.1.2 Command addressing [Go to Page]
- 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
- 10.1.4 BLOCK_B
- 10.1.5 HEADER
- 10.1.6 INDEX
- 10.1.7 NUMBER
- 10.1.8 OPERATION
- 10.1.9 SLOT
- 10.1.10 SUB_SLOT
- 10.1.11 TRANSACTION [Go to Page]
- 10.1.11.1 General structure
- 10.1.11.2 REPLY
- 10.1.11.3 REQUEST
- 10.1.11.4 item-mask
- 10.1.11.5 Data item qualifiers
- 10.1.11.6 POST_RQSTRECEIVE_ACTIONS
- 10.2 RECORD
- 10.3 RESPONSE_CODES
- 10.4 VARIABLE_LIST
- 11 User interface [Go to Page]
- 11.1 MENU [Go to Page]
- 11.1.1 General structure
- 11.1.2 ACCESS
- 11.1.3 EXIT_ACTIONS
- 11.1.4 INIT_ACTIONS
- 11.1.5 ITEMS
- 11.1.6 POST_EDIT_ACTIONS
- 11.1.7 POST_READ_ACTIONS
- 11.1.8 POST_WRITE_ACTIONS
- 11.1.9 PRE_EDIT_ACTIONS
- 11.1.10 PRE_READ_ACTIONS
- 11.1.11 PRE_WRITE_ACTIONS
- 11.1.12 STYLE
- 11.1.13 Sequence diagrams for actions
- 11.2 EDIT_DISPLAY [Go to Page]
- 11.2.1 General structure
- 11.2.2 EDIT_ITEMS
- 11.2.3 DISPLAY_ITEMS
- 11.2.4 POST_EDIT_ACTIONS
- 11.2.5 PRE_EDIT_ACTIONS
- 11.3 IMAGE [Go to Page]
- 11.3.1 General structure
- 11.3.2 LINK
- 11.3.3 PATH
- 11.4 GRID [Go to Page]
- 11.4.1 General structure
- 11.4.2 ORIENTATION
- 11.4.3 VECTORS
- 11.5 CHART [Go to Page]
- 11.5.1 General structure
- 11.5.2 CYCLE_TIME
- 11.5.3 LENGTH
- 11.5.4 TYPE
- 11.5.5 Sequence diagram for actions
- 11.5.6 CHART Legend/Help rules [Go to Page]
- 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
- 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
- 11.5.6.5 Meter (Y_AXIS defined) – One VARIABLE per SOURCE & two (or more) shared SOURCEs
- 11.6 SOURCE [Go to Page]
- 11.6.1 General structure
- 11.6.2 EXIT_ACTIONS
- 11.6.3 INIT_ACTIONS
- 11.6.4 REFRESH_ACTIONS
- 11.6.5 Y_AXIS
- 11.7 AXIS [Go to Page]
- 11.7.1 General structure
- 11.7.2 MIN_VALUE, MAX_VALUE
- 11.7.3 SCALING
- 11.7.4 CONSTANT_UNIT
- 11.8 GRAPH [Go to Page]
- 11.8.1 General structure
- 11.8.2 CYCLE_TIME
- 11.8.3 X_AXIS
- 11.8.4 Sequence diagram for actions
- 11.9 WAVEFORM [Go to Page]
- 11.9.1 General structure
- 11.9.2 EXIT_ACTIONS
- 11.9.3 INIT_ACTIONS
- 11.9.4 KEY_POINTS [Go to Page]
- 11.9.4.1 General structure
- 11.9.4.2 X_VALUES / Y_VALUES
- 11.9.5 REFRESH_ACTIONS
- 11.9.6 TYPE [Go to Page]
- 11.9.6.1 General structure
- 11.9.6.2 XY
- 11.9.6.3 YT
- 11.9.6.4 HORIZONTAL
- 11.9.6.5 VERTICAL
- 11.9.7 Y_AXIS
- 11.10 PLUGIN [Go to Page]
- 11.10.1 General structure
- 11.10.2 UUID
- 12 Business Logic [Go to Page]
- 12.1 METHOD [Go to Page]
- 12.1.1 General structure
- 12.1.2 ACCESS
- 12.1.3 CLASS
- 12.1.4 TYPE
- 13 Device modelling [Go to Page]
- 13.1 BLOCK_A [Go to Page]
- 13.1.1 General structure
- 13.1.2 AXIS_ITEMS
- 13.1.3 CHARACTERISTICS
- 13.1.4 CHARTS
- 13.1.5 CHART_ITEMS
- 13.1.6 COLLECTION_ITEMS
- 13.1.7 EDIT_DISPLAY_ITEMS
- 13.1.8 FILES
- 13.1.9 FILE_ITEMS
- 13.1.10 GRAPHS
- 13.1.11 GRAPH_ITEMS
- 13.1.12 GRIDS
- 13.1.13 GRID_ITEMS
- 13.1.14 IMAGE_ITEMS
- 13.1.15 ITEM_ARRAY_ITEMS
- 13.1.16 LISTS
- 13.1.17 LIST_ITEMS
- 13.1.18 LOCAL_PARAMETERS
- 13.1.19 MENUS
- 13.1.20 MENU_ITEMS
- 13.1.21 METHODS
- 13.1.22 METHOD_ITEMS
- 13.1.23 PARAMETERS
- 13.1.24 PARAMETER_LISTS
- 13.1.25 PLUGINS
- 13.1.26 PLUGIN_ITEMS
- 13.1.27 REFRESH_ITEMS
- 13.1.28 SEMANTIC_MAP_ITEMS
- 13.1.29 SOURCE_ITEMS
- 13.1.30 UNIT_ITEMS
- 13.1.31 WAVEFORM_ITEMS
- 13.1.32 WRITE_AS_ONE_ITEMS
- 13.2 BLOCK_B [Go to Page]
- 13.2.1 General structure
- 13.2.2 NUMBER
- 13.2.3 TYPE
- 13.3 LIKE
- 13.4 IMPORT [Go to Page]
- 13.4.1 General structure
- 13.5 TEMPLATE [Go to Page]
- 13.5.1 General structure
- 13.5.2 DEFAULT_VALUES
- 13.6 COMPONENT [Go to Page]
- 13.6.1 General structure
- 13.6.2 BYTE_ORDER
- 13.6.3 CAN_DELETE
- 13.6.4 CHECK_CONFIGURATION
- 13.6.5 COMPONENT_RELATIONS
- 13.6.6 CONNECTION_POINT
- 13.6.7 DETECT
- 13.6.8 EDD
- 13.6.9 INITIAL_VALUES
- 13.6.10 REDUNDANCY
- 13.6.11 SCAN
- 13.6.12 SCAN_LIST
- 13.6.13 PRODUCT_URI
- 13.7 COMPONENT_FOLDER
- 13.8 COMPONENT_REFERENCE
- 13.9 COMPONENT_RELATION [Go to Page]
- 13.9.1 General structure
- 13.9.2 COMPONENTS
- 13.9.3 RELATION_TYPE
- 13.9.4 ADDRESSING
- 13.9.5 MAXIMUM_NUMBER
- 13.9.6 MINIMUM_NUMBER
- 13.9.7 REQUIRED_INTERFACE
- 13.10 INTERFACE [Go to Page]
- 13.10.1 General structure
- 13.10.2 DECLARATION
- 14 Common attributes [Go to Page]
- 14.1 CLASSIFICATION
- 14.2 COMPONENT_PARENT
- 14.3 COMPONENT_PATH
- 14.4 DEFINITION
- 14.5 EMPHASIS
- 14.6 HANDLING
- 14.7 HEIGHT
- 14.8 HELP
- 14.9 LABEL
- 14.10 LINE_COLOR
- 14.11 LINE_TYPE
- 14.12 MEMBERS
- 14.13 PRIVATE
- 14.14 PROTOCOL
- 14.15 RESPONSE_CODES
- 14.16 SUPPLIED_INTERFACE
- 14.17 VALIDITY
- 14.18 VISIBILITY
- 14.19 WIDTH
- 14.20 WRITE_MODE
- 15 Redefinitions [Go to Page]
- 15.1 Overview
- 15.2 AXIS
- 15.3 BLOB
- 15.4 BLOCK_A
- 15.5 BLOCK_B
- 15.6 CHART
- 15.7 COLLECTION
- 15.8 COMMAND
- 15.9 COMPONENT
- 15.10 COMPONENT_FOLDER
- 15.11 COMPONENT_REFERENCE
- 15.12 COMPONENT_RELATION
- 15.13 EDIT_DISPLAY
- 15.14 FILE
- 15.15 GRAPH
- 15.16 GRID
- 15.17 IMAGE
- 15.18 INTERFACE
- 15.19 LIST
- 15.20 MENU
- 15.21 METHOD
- 15.22 PLUGIN
- 15.23 RECORD
- 15.24 REFERENCE_ARRAY
- 15.25 RESPONSE_CODES
- 15.26 SOURCE
- 15.27 TEMPLATE
- 15.28 VALUE_ARRAY
- 15.29 VARIABLE
- 15.30 VARIABLE_LIST
- 15.31 WAVEFORM
- 16 Referencing [Go to Page]
- 16.1 Referencing an EDD instance
- 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
- 16.5 Referencing members of a COLLECTION
- 16.6 Referencing COMPONENT instances
- 16.7 Referencing COMPONENT types
- 16.8 Referencing members of a FILE
- 16.9 Referencing members of a GRAPH
- 16.10 Referencing elements of a LIST
- 16.11 Referencing members of a RECORD
- 16.12 Referencing elements of a REFERENCE_ARRAY
- 16.13 Referencing members of a SOURCE
- 16.14 Referencing elements of a VALUE_ARRAY
- 16.15 Referencing members of a VARIABLE_LISTS
- 16.16 Referencing BLOCK_A CHARACTERISTICS
- 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
- 16.21 Referencing CHARTS of specific BLOCK_A instance
- 16.22 Referencing FILES of specific BLOCK_A instance
- 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
- 16.26 Referencing LOCAL_PARAMETERS of specific BLOCK_A instance
- 16.27 Referencing MENUS of specific BLOCK_A instance
- 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
- 17 Strings [Go to Page]
- 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
- 17.4 Specifying a string as a dictionary reference
- 17.5 Referencing HELP and LABEL attributes of EDD instances
- 17.6 String operations
- 18 Conditional expression [Go to Page]
- 18.1 General structure
- 18.2 IF Conditional
- 18.3 SELECT Conditional
- 19 Expression [Go to Page]
- 19.1 General structure
- 19.2 Primary expressions
- 19.3 Unary expressions
- 19.4 Binary expressions [Go to Page]
- 19.4.1 General structure
- 19.4.2 Multiplicative operators
- 19.4.3 Additive operators
- 19.4.4 Shift operators
- 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 (&&)
- 19.4.11 Logical OR operator (||)
- 19.4.12 Conditional evaluation
- 20 Text dictionary
- Annex A (normative) EDDL formal definition [Go to Page]
- A.1 EDDL preprocessor [Go to Page]
- A.1.1 General structure
- A.1.2 Directives [Go to Page]
- A.1.2.1 #define
- A.1.2.2 #include
- A.1.2.3 #line
- A.1.2.4 #if, #elif, #else, and #endif
- A.1.2.5 #ifdef, #ifndef and #undef
- A.1.3 Predefined macros [Go to Page]
- A.1.3.1 General structure
- A.1.3.2 List of predefined macros [Go to Page]
- A.1.3.2.1 __FILE__
- A.1.3.2.2 __LINE__
- A.1.4 NEWLINE characters
- A.1.5 Comments
- A.2 Conventions [Go to Page]
- A.2.1 Integer constants
- A.2.2 Floating-point constants
- A.2.3 String literals
- A.2.4 Using language and country codes in string literals
- A.3 Operators
- A.4 Keywords
- A.5 Symbols and symbol scope
- A.6 Terminals
- A.7 Formal EDDL syntax [Go to Page]
- A.7.1 General
- A.7.2 EDD identification information
- A.7.3 AXIS
- A.7.4 BLOCK_A and BLOCK_B
- A.7.5 CHART
- A.7.6 COLLECTION
- A.7.7 COMMAND
- A.7.8 COMPONENT
- A.7.9 COMPONENT_FOLDER
- A.7.10 COMPONENT_REFERENCE
- A.7.11 COMPONENT_RELATION
- A.7.12 EDIT_DISPLAY
- A.7.13 FILE
- A.7.14 GRAPH
- A.7.15 GRID
- A.7.16 IMAGE
- A.7.17 INTERFACE
- A.7.18 LIST
- A.7.19 IMPORT
- A.7.20 LIKE
- A.7.21 MENU
- A.7.22 METHOD
- A.7.23 RECORD
- A.7.24 REFERENCE_ARRAY
- A.7.25 Relations
- A.7.26 RESPONSE_CODES
- A.7.27 SOURCE
- A.7.28 TEMPLATE
- A.7.29 VALUE_ARRAY
- A.7.30 VARIABLE
- A.7.31 VARIABLE_LIST
- A.7.32 WAVEFORM
- A.7.33 Common attributes
- A.7.34 Expression
- A.7.35 C-Grammar
- A.7.36 Redefinition
- A.7.37 References
- A.7.38 PLUGIN
- A.7.39 BLOB
- A.7.40 SEMANTIC_MAP
- A.8 Formal dictionary syntax
- Annex B (normative) Data types [Go to Page]
- B.1 METHOD DEFINITION data types
- B.2 VARIABLE TYPE data types [Go to Page]
- B.2.1 General
- B.2.2 Coding of data DATE
- B.2.3 Coding of data DATE_AND_TIME
- B.2.4 Coding of data DURATION
- B.2.5 Coding of data TIME
- B.2.6 Coding of data TIME_VALUE
- B.2.7 Coding of PACKED_ASCII (6-BIT ASCII) DATA FORMAT
- B.2.8 Coding of BOOLEAN
- B.2.9 Coding of BIT_ENUMERATED
- Annex C (informative) EDD example [Go to Page]
- C.1 EDD example of a temperature transmitter
- C.2 EDD example [Go to Page]