Hackathon at the SmartFactoryOWL Dec/19

December 19, 2019 by Dr. Roland Kuhn and Sascha Heymann

SmartFactoryOWL hosted an industry hackathon with Actyx to evaluate a new peer-to-peer communication approach to inter-machine factory automation, replacing the high-level coordination functions traditionally performed by overlaid PLCs with IT tools to reduce the implementation effort and enable fully dynamic and modular setups.

The challenge

The question had been on Sascha Heymann’s mind for quite some time: we automate processes within single machines and their components with operational technology (OT) since decades but suffer from an impedance mismatch when expanding this to higher level — possibly dynamic — inter-machine collaboration due to the strictly fixed IEC61131 environment; can we not bridge this gap using information technology (IT) instead? The SmartFactoryOWL hosts a demonstrator combining many individually intelligent parts (conveyor belts, augmented reality workstation, robots). The implementation eschews a decentral approach with per-module PLCs in favor of a central PLC due to the implementation complexity in synchronizing the communication and data models that would be needed for a more modular and distributed approach.

To answer this question, Heymann organised a hackathon together with Actyx, a Munich-based software startup offering a platform for automating collaboration on the factory shop-floor. This topic is also keenly observed by automation vendors like PHOENIX CONTACT and Weidmüller, who promptly joined the event and supplied next-generation PLC hardware that can run not only real time control code but also non-real time standard Linux processes for higher-level communication and coordination tasks. Among the participants who registered for the hackathon were students of TH OWL but also seasoned automation experts from Arend Prozessautomation as well as engineers from PHOENIX CONTACT and Beckhoff.


The challenge formulated for the hackathon was to split the logic hosted by the central PLC into autonomous pieces hosted on per-module PLCs and let these PLCs communicate only via ActyxOS, a peer-to-peer serverless distributed operating system for the factory shop-floor. If this succeeded then Heymann would have his answer: that it is indeed possible to use the more malleable IT approach for high-level inter-machine coordination instead of the high-effort OT approach.

Interested in also joining the next hackathon at the Smart Factory OWL? Sign up here.

Setting the stage

The preparations began after lunch on Monday, Dec 2: three engineers from Actyx arrived at the SmartFactoryOWL in Lemgo and were joined by Arno Fast from PHOENIX CONTACT who brought several PLCnext controllers. Together with Heymann they started setting up these and the Weidmüller u-control units, integrating them into the machine network and installing ActyxOS.

The SmartFactory hosts a variety of research setups in a real-world evaluation setting, from a towel folding machine over additive manufacturing to grain sorting. The most complex demonstrator combines an intelligent conveyor belt system with smart workpiece carriers, an augmented reality hand-working assembly station, robot arms for placement and inspection, an engraving laser, and more. Previously, the coordination of this whole setup had been implemented with a central PLC, tightly coupling all production modules together; this is not only inflexible in terms of effort when rearranging the setup, it was also a lot of effort to program. Therefore this demonstrator was picked to evaluate the decentralised IT approach.


The hackathon

On Tuesday we started with an introduction to the SmartFactoryOWL by Heymann, followed by an overview and training in the use of ActyxOS by Actyx. During this session the participants experienced first-hand the ease of use of peer-to-peer technology within the classroom network. As a first example they implemented a simple chat application by persisting chat interactions as a sequence of events into the ActyxOS distributed event log — this works without a central server, it distributes and stores data across the participating devices in the network.

After lunch we delved into the use-cases on the factory demonstrator: the augmented reality hand-working assembly station as well as a placement robot should be decoupled from the PLC controlling the intelligent conveyor belt system so that they become autonomous modules. They had previously been connected via TCP/IP and PROFINET connections implemented as data models and communication logic in PLC function blocks.

The assembly station is driven by capturing hand movements over the table surface and projecting instructions, interaction elements, and pick-by-light information onto the table — the use-case of building little figures from Lego bricks is representative of a production step that still is exceedingly difficult to automate. This workstation was enhanced with the installation of a dimmable work light and a beacon light for signaling the station’s status, all connected to a Weidmüller u-control. This controller also took over the communication with the PC-based camera and projector system to start an assembly process and report on its progress. In the end, whenever a workpiece carrier arrives at this workstation, the light switches on (respecting the dim level set by the operator on an analog input dial), the projection of the instructions starts, and the operator is guided through the assembly process until its completion. This whole process is made transparent for the rest of the demonstrator modules by persisting all relevant information as stream of events in ActyxOS, an instance of which was running on the u-control’s non-real time core.

One consumer of these events is another Weidmüller u-control installed within the housing of a BOSCH APAS robot: whenever a figure is finished and placed in the output buffer area of the table, the robot starts its mission of locating the figure, picking it up, and placing it on the waiting workpiece carrier, to be transported further to the laser engraving station. Also in this case the controller’s program persists the progress of these steps as stream of events in ActyxOS so that the conveyor belt system can then kick in motion.

To tie these parts together into an overall workflow, we placed a PHOENIX CONTACT PLCnext next to the existing RFC 470 PLC controlling the intelligent conveyor belt system including hydraulic stoppers and RFID antennas. By connecting the two PLCs using PROFINET the relevant variables became accessible to the ActyxOS instance running on the non-real time part of the PLCnext. At this point, all that is needed here is a connector app on ActyxOS that makes RFID readings available as an event stream, and that reacts to the event streams of the assembly station and the placement robot by writing the required bytes into the PLC to inform the conveyor belt system whenever workpiece are ready to be transported further.

We started programming around 3 o’clock on Tuesday and had the basic functionality of the individual parts implemented before dinner — on the one hand, it was nice to enjoy the evening, on the other it felt slightly unusual for a hackathon to not reach far into the night with pizza and beverages. On Wednesday morning we fully fleshed out the individual stations and towards lunchtime we started the integration of the overall workflow, refining the system by adding events that had previously been overlooked. We even got some typical hackathon feeling as even the final test run before the demo failed, but everything worked nicely for the demo at 15:30.


The result

Within the two days — effectively one day of programming — the hackathon achieved the goal of replacing the high-level coordination function of a central PLC with peer-to-peer communication between autonomous production modules. The resulting code quality obviously has room for improvement and some last kinks will still need to be ironed out, but the feasibility of the approach has been clearly demonstrated. The provided controller hardware is capable of handling this use-case, although the PLCnext was operated close to its processing limit and Arno Fast recommended using the larger variant next time.

Most interesting was the feedback from the participants regarding the programming model and the development experience. The opinion on the general approach was unanimously that peer-to-peer communication is a perfect fit for the factory shop-floor. While this has been possible in principle for a long time, it has traditionally been much too expensive to realize, spending a lot of time defining the precise bits traveling over manually driven communications channels. The complexity of fully meshed communication between a larger number of participants was previously too high to use this approach in practice.

With the dynamic and extensible peer-to-peer communication and collaboration offered by a tool like ActyxOS these use-cases come within easy reach, the programmer concentrates only on the business logic while the duty of shipping information from where it is generated to where it is needed is handled by ActyxOS. In particular, the experts noted the gain in decoupling and resilience offered by autonomous manufacturing modules.

Read our last post to learn more how easy programming of collaboration can help factories to do better.

In terms of the concrete programming model and tooling offered by ActyxOS the feedback was that the system feels modern and powerful, “IT at its purest”. This at the same time posed challenges as many participants had not yet come in contact with the TypeScript language that is used to write business logic in ActyxOS, presenting an initial hurdle that a programmer schooled in IEC 61131 will need to surmount. As the basic structure of the code is that of writing simple state machines, with events triggering state transitions, there is no big mental leap required in this regard; the tooling should be enhanced to shed the incidental complexity of a complex general purpose language like TypeScript and offer a more closely fitting language specific to the description of state machine logic, extended by the needed aspects of the fully distributed peer-to-peer system with its declarative approach to asking the system to move all required information to the right places.

The other side of this coin is that with the current offering, IT savvy automation system integrators can harness the power of fully decentralized factory automation already today.

Interested in joining the next hackathon at the Smart Factory OWL? Sign up here.