With Dezyne you can model overall logic control as an event-driven system, for example, a complex machine that reacts on sensor inputs or triggers from its environment. Often such systems also have lower level (analog) control loops such as; a proportional integral derivative controller (PID) e.g. to accurately drive motion profiles. This is typically the domain of programmable logic controllers (PLCs) which run a continuous loop where inputs are processed and outputs adjusted. An event-driven application fits better with an embedded controller that is better equipped for handling diverse tasks e.g. by providing multiple levels of interrupts. Dezyne only generates code for general programming languages and does not support the languages of PLCs.
Recently the company Phoenix-contact launched a new PLC family called PLCnext which is a kind of hybrid of both worlds. It supports the typical analog control loop of a PLC and it supports general programmability using C and C++. For Dezyne this would be a good platform to demonstrate its use in the typical domain of PLCs.
We need your help
The assignment is to build an application demo using the PLCnext starter kit. This should combine the best of both worlds. You are asked to write an architecture document that explains how the PLC part and the embedded controller part operate together. The demo application deals with the control of a model of a factory machine built in FischerTechnik. We already have a working demonstrator on this model using Dezyne code only.