Glips Language
Limits of current languages in industrial automation
Today's development tools used for PLC programming can difficultly benefit from innovations in computer science that are used for the development of safe, maintainable and reusable applications. Indeed, they don't offer any object-oriented approaches, strong typing or genericity.
This is due to the languages used to program PLCs, which are proprietary and incompatible. These languages have been influenced by the strong electrotechnical background of their first users and, as a consequence, they offer a low level of abstraction. The goal of the Glips language - which is a pivot in all tools offered by Itris Automation Square - is to go beyond the limits of existing languages.
Characteristics of the Glips language
The Glips language has been defined according to precise specifications. Its main goal is to reduce the cost of development of control/command applications while taking into account all steps of the software lifecycle. To do so, the Glips language is based on the following concepts:
- Being able to benefit from computer science advanced methods.
The Glips language offers abstraction mechanisms that allow an easy usage of advanced computer science methods. This high-level of abstraction is key to reduce the semantic gap between design and coding. - Allowing an intrisically safe coding
The Glips language is strongly typed. Its compiler does many consistency checks, thus finding errors as early as possible when they are the cheapest to fix. As shown below, The Glips language uses a package mechanism as well as a clear separation between algorithms and implementation in the hardware. It is also based on an execution machine that distinguishes the synchronous and asynchronous parts of an application, allowing the usage of formal verification methods on the synchronous and reactive part. - Being portable on machines with various architectures
The Glips language aims at uniting systems based on PLCs and real-time embedded systems. The abstraction provided by the execution model of Glips is generic enough to be implemented efficiently by both PLCs and other systems used for embedded applications. This portability is at the heart of PLC Converter translation capabilities. - Allowing reusable software components
Thanks to its abstraction, genericity and portability mechanisms, the Glips language is a perfect tool for the creation of reusable software components for various architectures. Developing an application with the Glips language can thus be done by assembling several components.
Example of Glips code
