logi.CLOUD is an innovative and cloud-based engineering platform for industrial controllers. The project is based on Eclipse Theia and adopts several other Eclipse technologies, such as Eclipse GLSP and Xtext. In this article, we will take a detailed look at this adopter project, its use case and how the Eclipse ecosystem and the adopters mutually benefit from each other.
“This is one of my favorite adopter projects,” said Thomas Mäder (Theia project lead), about logi.CLOUD when he recently presented the huge variety of Theia adopters. The reasons are simple. logi.CLOUD solves a very interesting and challenging use case by combining powerful technologies into a modular tool chain. By adopting modern web-based UI technologies, the tool offers a fresh and slick look-and-feel. Furthermore, the project has been a strong contributor to the ecosystem since its inception.
logi.cals, the company behind logi.CLOUD, has a strong track record in building engineering platforms for industrial automation, ranging back to the mid 1980s, when logi.cals delivered their first version of logi.CAD to customers. Since then, logi.CAD has been continuously evolving to always meet the adapting requirements in the market. logi.CAD is a powerful and feature-rich industrial automation engineering platform supporting the IEC 61131-3 standard and combining it with support for C for programmable logic controllers. In combination with their portable runtime system, named logi.RTS, several thousands of engineers world-wide use logi.CAD to automate complex systems, such as hydroelectric power plants, steel mills, buildings, ships, and much more.
logi.CLOUD is the next generation engineering platform by logi.cals that enables an entirely browser-based industrial automation engineering based on IEC 61131-3. Together with other innovative components of the Open Automation Architecture solutions by logi.cals, the entire development process, including orchestration, configuration, testing, versioning, and deployment can be used as a cloud service for automation engineers or can be integrated seamlessly into an end-to-end solution provided by control and component manufacturers (OEMs and ODMs) for their customers. Therefore, one of the key characteristics of logi.CLOUD is to be extensible and open for customization, e.g. for adding programming support for other programming languages, integrating OEM-specific deployment services or functionality, etc.
Users of the logi.CLOUD engineering tool ultimately benefit from a modern and easily accessible engineering application with high-end programming support, such as code completion, validation, navigation, graphical diagram editing, debugging, etc. The programming support is not only available for the IEC 61131-3 languages, such as Structured Text, Function Block Diagrams, and Ladder, but also for other programming languages, such as C and C++, which can be used with the logi.cals runtime systems too. The IEC 61131-3 editing and code generation features are provided by the mature components from logi.CAD 3, integrated into logi.CLOUD as a language server. The editors for the graphical languages, such as Function Block Diagrams and Ladder, are built based on Eclipse GLSP. C and C++ support is provided by the popular clangd language server.
In the following screenshots, you can see some of the features of logi.CLOUD to gain an impression of the tool.
logi.cloud Engineering Tool: Program instances, ST editor and FBD editor (based on the Theia workbench)
logi.CLOUD Engineering Tool: Code completion, validation (dark theme) (based on Xtext and Eclipse Theia theming support)
logi.CLOUD Engineering Tool: Graphical editing of Function Block Diagrams (based on Eclipse GLSP)
logi.CLOUD Engineering Tool: Navigation across Structured Text and Function Blocks (based on Eclipse GLSP and a custom Theia extension)
logi.CLOUD Engineering Tool: Live data for debugging in Function Blocks and Structured Text (based on the DAP support in Eclipse Theia and Eclipse GLSP)
logi.CLOUD and Eclipse Theia
Extensibility and openness is where Theia really demonstrates all its power and proves to be a great platform choice for logi.CLOUD. The Theia platform, and thus logi.CLOUD, can be easily enhanced with additional language support via the language server protocol, extended with existing VSCode plugins, and even deeply customized and streamlined for specific OEMs or use cases due to the powerful Theia extension API (see here for a comparison of Theia extension mechanisms).
logi.cals had already been an adopter of the Eclipse ecosystem for desktop-based tooling when web- and cloud-based tooling started to come up. With logi.CLOUD they started to be an early adopter of these new technologies from Eclipse and also from outside of the ecosystem. Being an early adopter always provides some challenges, but also provides the opportunity to be a core innovator in a domain.
The development of logi.CLOUD strategically includes open source technologies. The open source strategy enables logi.CLOUD to reduce the development effort and maintenance costs as well as benefiting from the ongoing innovation in the Eclipse ecosystem. However, logi.cals is not just an adopter. Understanding the strategic value of a working ecosystem, and the benefits of taking influence, logi.cals is a continuous contributor to the respective open source ecosystem. logi.CLOUD has even shared their experiences with the community, e.g. by talking about it at EclipseCon.
Therefore, logi.CLOUD is a “favorite project” not only because it is such an interesting domain but also because it is a great success story of industrial open source adoption. Projects like this not only benefit from the ecosystem, but strengthen it at the same time.
We hope you enjoyed this adopter story. Get in contact with us if you want your tool adopting Eclipse Cloud Development Tools technologies as well!
Testimonial Heinrich Steininger, CTO, logi.cals GmbH
“My goal since the founding of our company has been to develop software tools that empower automation engineers in becoming more efficient and productive. The Eclipse ecosystem now allows us to make our development tools available for future cloud-based platforms to improve collaboration and facilitate domain integration. Working closely and productively with EclipseSource, we benefit from innovative Eclipse technologies and at the same time from well-established processes for open-source governance.”