The specific proposed by PLCOpen for the framework differentiate between three user levels: Basic, System and Extended level. I the Basic level, the program consists of certified interconnect blocks although they must be validated or certified before being used in the basic level. System Level is provided for suppliers of safety controls. The blocks can be programmed in any language, so this level is not the specification part.
IEC 61508 defines a reduction in the preferred languages programming for different SILs. Base on the PLCOpen has selected in the Ladder specification and Function Block IEC 61131-1 languages for Basic and Extended levels. Instruction Lists, SFC, and Structured Text are more complex to validate and to test. Function blocks and Data type functions from the IEC 61131-3 are also reduced. The reduction is stronger in the basic level.
The PLCOpen safety specification defines a generic SRFB. Specific safety related FB’s should be derived from this one the behavior and interface of this FB are the following:
• An active input to enable the function of safety.
• A Reset that can be used for different purposes: “error reset”, restoring the initial state, or as a “manual reset” of restart interlock by the operator.
• S_Inputs (variable of specific profess).
• A Ready output indicates if the FB is activated and the outputs are valid.
• S_Outputs (variable of specific profess).
• Error output indicates that the FB is in error state.
• The DialogCode is very useful for debugging. It represents all the states.
PLCOpen has developed a library composed of 20 SRFB’s (e.g. safe stop category 1 and 2, two hand control, emergency stop, mode selector, sequential and parallel muting, etc).
Refer to complexity of controller, there are 2 aspects contribute to increase this functional complexity:
• Running states or multiple operation modes of the process and the controllers.
• The use of distributed control systems in coupled applications highly.
The IEC 61131-3 Programming
The IEC 61131-3 describes a centralized, or multi centralized, architecture, e.g. a control system composed by several configurations running different applications each one, but in coordinated way. IEC 61499 proposes applications hosted and running is some devices. Function Blocks is running in different devices within a distributes application, must be strongly coupled, so it is required to have more methods of sophisticated synchronization than IEC 61131-3 defines, e.g. in contrast with the Send or Receive function or Networked variables, the IEC 61499 offers publisher or subscriber and client/ server services.
In the other word, along its operational life, a process or a machine can be placed in many different operating states and modes. A very popular design reference to define them is Guide d’Etude des Modes de Marches et d’Arrts (GEMMA). GEMMA is a general schedule that describes the process with up to 16 states. Engineers must decide which states are present or not. Each state is a different automation problem and describes the process in specific situation. For instance: F1 is the normal production mode, F4 represents a manual mode, where some elements can be controlled by operators order. A6 state signals a set of sequentially ordered operations for process restarting.
Following the methodology of traditional structuring, and IE 61131-3 FB’s, each state will be programmed with a different FB. A scheduler FB will call the right FB depending on the state of operating process. This can be done using the input of EN of FB’s, or using actions in SFC main program. When an FB is deactivated it is not executed and stores the state of process. When the block is activated again, the state of real process will likely not match with the stored one, so the FB’s must be restarted. But FB’s in the IEC 61131-3 have no special input to achieve that. Each vendor defines specific inputs of non-standardized to control their execution.