Modernised system configuration

Bus communication via RS485 meets Java

Our customer manufactures technical systems in the hygiene sector. The components of the system, which are dynamically assembled according to the end customer’s wishes, assume various tasks depending on the functional scope. The components are initialised through an RS485 interface in line with their roles. The dynamic control of the components in the overall operation and adjustment of the individual behaviour is also carried out via RS485. For this particular customer, we created a Java-based Rich Client System for the laptops of the mobile technicians, which is able to trigger the necessary bus commands for control, configuration and monitoring through an intuitive graphical user interface.

Further, the system is able to create versions of the specific configurations of the end customer’s installations via a central database. The supported configuration settings are provided to the technicians via various thematically arranged screens. The settings that currently exist on the system or the settings made by the technicians are read from the bus or written to the bus. In addition to pure configuration settings, the system is able to read out historical operating data from the system and visualise it graphically or, as required, in the form of a report. A visualisation of the operating data in real-time was also implemented.


The two greatest challenges in the project were the full capture of the proprietary protocol based on RS485 and the resulting concrete bus commands, as well as the derivation of a generic future-proof model for mapping all existing and supported bus commands. In addition to the actual command contents, the model is also meant to abstract the command-dependent error handling. An additional challenge was the high-performance reading of historical operating data on a bus that was already heavily frequented during productive operation.

Resolution method

We first analysed the existing bus protocol together with the customer using documentation and source code. Subsequently, we developed a template-based model for the bus commands to be supported, however, a few commands could not be mapped through the model. The existing protocol for firmware updates of the systems was modified in favour of the developed generic approach so that it corresponded to the generic communication model. We then developed a template-based rich client application on this basis. We solved the performance problem by temporarily reducing the productive traffic for the period of the data download or live monitoring.


Java, Eclipse RCP als Client Plattform, RS485, Dynamic Reports