This document is a compilation of responses by the Experts of IEC TC65/WG6 to Frequently Asked Questions (FAQs) about the draft IEC Standard 61499, Function Blocks for industrial-process measurement and control systems. The contents of this document are not normative and do not form a part of the draft Standard.
The degree of object orientation used in IEC 61499 is necessary in order to achieve the required level of distributability of encapsulated, reusable software modules (function blocks).
Not necessarily; a full object-oriented implementation is not required by the IEC 61499 model - only that the externally visible behaviors of a compliant device conform to the requirements for the device compliance class as defined in subclause 5.2 of IEC 61499-1. The implementation of a "Class 0" device can be quite economical.
Data and event connections can be considered objects insofar as IEC 61499 defines a textual syntax for their declaration and a management service for their creation, query and deletion. However, the only attributes that IEC 61499 defines for a connection are its source and destination. Software tools may require additional attributes, such as scheduling priority for event connections, communication timeliness constraints for both data and event connections in order to determine whether a proposed system configuration is feasible. Software tools should also check the types of data and event inputs and outputs for consistency. Annex J of IEC 61499-1 will define syntax and semantics for the declaration of additional attributes.
Any execution control strategy (cyclic, time scheduled, etc.) can be represented in terms of an event-driven model, but the converse is not necessarily true. IEC 61499 opts for the more general model in order to provide maximum flexibility and descriptive power to compliant standards and systems.
E_R_TRIG and E_F_TRIG function block types are defined in Annex A of IEC 61499-1 which propagate an input event when the value of a Boolean input rises or falls, respectively, between successive occurrences of the input event. Instances of this type may be combined with with other function blocks to produce rising- and falling-edge triggers, threshold detection events, etc.
An event type is an identifier associated with an event input or an event output of a function block type, assigned as part of the event input or output declaration, as described in IEC 61499-1-2.2.1.1. It can be used by software tools to assure that event connections are not improperly mixed, for instance to assure that an event output that is intended to be used for initialization is not connected to an event input that is intended to be used for alarm processing.
Event types cannot be detected by execution control charts (ECCs), so the type of an event cannot be used to influence the processing of events in basic function block types.
IEC 61499 does not define any standard event types other than the default type EVENT.
When you are designing function block types, you use the WITH construct to specify:
When using the WITH construct, you should bear in mind that this information will be used by software tools to assist the designer of applications using instances of these types to assure that:
The major issues in sampled-data systems such as those used in motion, robotic and continuous process control are:
Solutions to these problems typically require specialized communication and operating system services, which can be represented in terms of the IEC 61499 model by service interface function blocks. The inputs and outputs to be sampled can likewise be represented by service interface function blocks, while the algorithms to be performed will typically be encapsulated in basic function blocks. The relationships between the system services, input and output sampling, and algorithm execution can then be expressed as event connections and data connections.
This issue is common to all distributed control systems and its solutions are well known, e.g., via periodic communication, missing event detection and/or positive acknowledgment protocols. The IEC 61499 model provides for notification of abnormal operation via the IND-, CNF- and INITO- service primitives and STATUS output of service interface function blocks.
There are various formal and informal methodologies for the design of state-machine control systems. A general outline of these methods and how IEC 61499 models and software tools can be used is as follows: