In the past, the imperative for there to be an absence of feedback meant that architectures for standard machine control and safety functions had to be strictly separate. For reasons of clarity and to save costs, the current trend is to merge standard and safety within one control architecture. Such mixed structures are becoming established particularly where decentralised periphery is used, to minimise cabling work for example. On the software side, up to now it has been difficult to link both worlds: to date, developers have had to switch between simple function blocks for safety and powerful program editors for the PLC control system.
Safety-related programming with function blocks
Safety functions are currently available in certified application blocks, used to program safety applications. Accredited bodies such as BG or TÜV have tested these blocks in advance for safety. With the help of safe application blocks and the logic connections between these blocks, the plant or machine builder creates the safety-related application he requires, an application which he would previously have implemented by wiring contactors and relays in a laborious, time-consuming process. Contacts and wires are replaced by graphic lines displayed on screen between the ready-made application blocks. An electrical circuit diagram showing the logic functions is no longer required. To ensure that programs remain clear and understandable, on most systems the instruction set and/or number of available editors is restricted. Generally speaking, the complex programming familiar from the standard PLC machine control system is impossible.
PLC programming with high-level languages
This is where standardised programming languages in accordance with EN/IEC 61131-3 are put to use. EN/IEC 61131-3 is an international standard for programming languages for programmable logic controllers. Two of the most common languages are ST (Structured Text) and IL (Instruction List). However, the standard makes no reference to safety-related control systems. For standard and safety to merge, therefore, the ability to use EN/IEC 61131-3 PLC languages to program safety tasks as well would be desirable.
Merging standard and safety
The focus of the automation system PSS 4000 from Pilz is the merging of standard and safety. The system can be used to implement automation solutions for standard and safety, which are easy for the user to operate. Programmers and users are free to combine configuration with function blocks and programming with source code in EN/IEC 61131-3 compliant editors.
A key element here is the software platform PAS4000 with its various editors and blocks. With the software platform PAS4000 the user has standardised editors, which can be used for automation as well as safety-related tasks.
The simple, block-based language PASmulti is available for design engineers. PASmulti also provides a comprehensive library of pre-certified software blocks for position detection or general functions such as emergency stop, for example, to which users can add their own software blocks. Blocks in the software platform PAS4000 make it considerably easier to create automation programs. Projects can be organised and structured by function. Also, changes in the software block can be documented and managed centrally. This provides a high level of reusability, which ultimately saves costs. Users do not need to command a programming language in order to use PASmulti.
One programming environment
For “genuine” programmers, however, PAS4000 also contains the Editors PAS IL for Instruction List and PAS STL for Structured Text. What’s special to note is that this is the first time that these EN/IEC 61131-3 languages have been classified as LVLs in an industrial automation environment (see boxed text): thanks to system-related modifications and restrictions, plus tool support when entering data, TÜV Süd classifies the EN/IEC 61131-3 languages available in PAS4000 as LVLs. As a result it is possible to meet the requirements for the creation of safety-related software (SRS), as specified in application standards such as EN/IEC 62061 and EN ISO 13849-1. So programmers can continue to use their familiar programming languages and make use of the expressions and functions contained in these programming languages to create application software. And they do not need to raise their whole development and validation process to the academic level of EN/IEC 61508 to do so.
The programming environment of the graphics Program Editor is identical to that of editors designed in accordance with EN/IEC 61131-3, enabling simple operation. For example, customised software blocks written by users in PAS IL (Instruction List) for standard or safety-related functions can be transferred to PASmulti without further ado. As a result, complex projects containing software components from various editors can be clearly structured. And applications can access the same database, enabling a centralised view of a distributed system.
Safety or non-safety-related: classification will decide
The following user standards apply for the safety of application software (SRS) in mechanical engineering: EN/IEC 62061 and EN ISO 13849-1. A distinction is made between FVL (Full Variability Language) and LVL (Limited Variability Language). Programming languages classified as FVL offer all possible programming options. Due to their large function and instruction set, IL and ST are generally regarded as FVL languages, alongside high-level languages such as C or C++.
LVL languages, on the other hand, have a limited language scope but clarity of expression. These languages are mostly restricted to the ability to parameterise and combine pre-defined library functions, in order to implement the safety requirements within the program. However, the expressive power of a block-structured language (FBD, Function Block Diagram), for example, is absolutely no different to IL, it’s just that the graphical representation gives the user a clearer overview. In accordance with EN/IEC 62061 and EN ISO 13849-1, the requirements for creating safety-related software can only be met using programming languages that have been classified as LVL. When an FVL language is used, reference is made to the much more complex development and validation process in accordance with the generic safety standard EN/IEC 61508.
The challenge in combining the free configuration of function blocks with the programming available in EN/IEC-61131-3 compliant editors is to convert a programming language that has previously been classified as FVL into an LVL language.