Nieke Roos
30 June

Philips Engineering Solutions builds product test equipment for customers all over the world. The control software is created, verified and deployed remotely using the model-based low-code approach supported by the Cordis Suite development platform. The tooling allows the engineers in Eindhoven to have the testers up and running without ever having seen them.

Electric toothbrushes are extensively tested in R&D labs to verify their quality and reliability before they’re launched to the market and customers. In a so-called accelerated lifetime test, for example, their everyday use is exhaustively simulated. A robot arm picks up a toothbrush handle, moves it to a supply that contains several types of brush heads and clicks on one after the other, each time going through a set of motions, including rinsing, applying toothpaste, brushing with different dental profiles and even, as some people do, tapping on the sink. This is done 24/7, with a continuous stream of handles, yielding a wealth of data on the wear and tear of the brushes and other device components.

At Philips Engineering Solutions, a global team of more than 1,000 engineers develops the equipment not only for such accelerated lifetime tests but also for in-depth performance testing and in-line production testing. Within the Robotics and Automation group, John van der Heijde is responsible for the control software of the testers. From the comfort of his desk, he deploys his software all over the world. “Thanks to the Cordis Suite low-code development platform, I can have the software up and running without ever having seen the machine, whether it’s in Aachen, where we integrate our systems, or at a customer in the US.”

Low-code

Van der Heijde and his colleagues at Philips Engineering Solutions build product testers for a wide variety of industrial clients. “Together with the customer, we start with setting the requirements on the system level. Based on these requirements, we come up with a concept and draw up the design specifications and use cases. I then translate these into software requirements,” explains Van der Heijde. “Building on the electrical and mechanical designs, I create the software architecture, capture the use cases in sequence diagrams and model the dynamic behavior in state diagrams, all in UML using Cordis Suite.”

From these UML models, Van der Heijde creates C# code for execution on the Windows-based controller that forms the heart of the test equipment. Most of it is automatically generated by Cordis Suite – next to C# on PCs, it supports PLC hardware like Beckhoff, Bosch Rexroth, Lenze and Siemens, with more in the pipeline – but the platform also allows the inclusion of manually written code. “For the low-level communication, it has a lot of standard library functionality available that I can simply link in,” notes Van der Heijde. “Only in very specific circumstances do I need to manually write native code to connect to an external component, for example when we’ve chosen to use a new type of robot. For the sake of completeness and future reuse, I always make sure to include this non-generated code in my low-code models.”

For real-time data acquisition, the test setups require super-fast I/O and control loops. “Much faster than I can handle on a PC in C#,” acknowledges Van der Heijde. “We solve this by using embedded industrial controllers that contain a real-time kernel and FPGAs, the code for which is written by one of my colleagues. The controllers communicate with the system core via TCP/IP connections and I include them as black boxes in my low-code models. We have testers that contain as many as 37, all of which are ultimately controlled from the Cordis Suite platform.”

The software is first tested in-house, against simulated hardware, using stubs and mock-ups. From the low-code dashboard, all functionality is accessible out of the box and any part of the control software can be viewed and checked in real-time. This supports extensive model-level testing without the need to dive into the code.

Upon receiving the green light, the software is deployed to Aachen, where it’s integrated with the rest of the system and the complete functionality is verified. After passing the customer’s final acceptance test, the equipment is shipped and set up on-site. “The testing, the deployment and the setup – I can do it all remotely,” Van der Heijde points out. “When an issue turns up, I just go back to my low-code models in Cordis Suite, make the necessary changes there, generate an updated software version and redeploy.”

Advantages

To Van der Heijde, not having to dive into the code is one of the major advantages of the model-based low-code approach to software engineering as offered by Cordis Suite. “Although the platform generates very readable code, with manual changes it’s easy to make typos and other coding mistakes. This can cause quite some inexplicable behavior, requiring a lot of work to fix. Working with low-code models forces you to think upfront about the components of a system, their interfaces and their behavior, making subsequent changes much less error-prone.”

The model-based low-code approach also makes it a lot easier to show that the test equipment does what it’s supposed to. “We don’t build medical devices ourselves, but we do work with them. Consequently, we need to comply with certain ISO standards,” explains Van der Heijde. “For example, we have to demonstrate that every system function behaves as specified. This requires us to show that we’ve captured all the requirements in our design and that all of our design is in the code. Using low-code modeling and automatic code generation, that becomes much more straightforward.”

While UML and the object-oriented way of thinking are slowly gaining traction in industrial automation, many have yet to embrace low-code development with code generation. “Many software developers are struggling to translate their models into code that covers the complete design,” observes Van der Heijde. “Trying to do that manually is a recipe for introducing errors. With Cordis Suite, you get the power of automatic code generation based on a low-code model, and that really makes a world of difference.”

This article was written in close collaboration with Cordis. Main picture credit: Philips Engineering Solutions