B&R, a division of ABB, introduces Safety+, an innovative open approach to programming safety functions that allows developers to use the latest software engineering tools and methods for safety applications. An innovative data structure with a digital fingerprint makes the source code freely accessible while also meeting the special requirements of functional safety. In this way, B&R has overcome an obstacle that was previously a barrier to innovation in safety programming.
"With Safety+, we're providing customers with an open programming system for the first time, allowing them to use familiar advanced tools and methods from standard programming," explained Franz Kaufleitner, product manager for safety at B&R, ABB's machine automation division. "Safety applications can be developed much more efficiently and flexibly."
Three main features make this productivity boost in programming safety-oriented applications possible: An innovative data architecture, flexible choice of language and data type, as well as the use of tools and processes from standard programming.
Digital fingerprints and more productive programming A key new feature of the Safety+ data architecture is that data is stored in a freely accessible format and every change documented. The source files are stored in an open text-based code repository in formats such as XML or JSON. To ensure the integrity of the program code despite being open, each file is given a digital fingerprint that indicates when something changes. Supplemented with detailed metadata, what was changed, when and by whom is completely transparent.
This metadata doesn't only reference the complete safety application, it enables engineers to track every change down to the function block and parameter set level, which allows them to optimize the code in a more targeted way. This results in more agile engineering of safety functions that can then be more easily adapted to changing user requirements.
In addition to the new data architecture, the new openness of Safety+ allows engineers to create and manage safety applications using third-party tools and platforms. "By integrating safety programming into common tools such as GitHub and Jenkins, developers can work with a high degree of flexibility," said Kaufleitner. "This simplifies the development process and also promotes collaboration and exchange within the developer community."
A command line interface is available for automatic build generation and continuous integration, allowing developers to interact directly with the software in headless mode and process program code efficiently.
More programming options and data types
Safety+ also allows developers to choose a programming language and application-specific fine-tuning when programming with data types. Developers were previously limited in their choice of programming languages and data types for functional safety applications, which had a negative impact on development time and flexibility.
Safety+ provides engineers with a wider range of programming options, including function blocks, ladder diagrams and structured texts. Safety+ removes previous restrictions on data types and supports elements such as arrays, structs and real data types that are standard in non-safe programming. "With Safety+, we give developers the freedom they need to create innovative and efficient safety solutions", emphasized Kaufleitner. "I don't think it's an exaggeration when we talk about a small revolution in safety function programming."
Previously, encrypted proprietary file systems were used in systems for engineering functional safety applications. While these protected applications from unauthorized changes, they also prevented the use of common productivity-enhancing software tools and methods.