The fundamental concept of machine learning is to no longer follow the classic engineering route of designing solutions for specific tasks and then turning these solutions into algorithms, but to learn the desired algorithms from exemplary process data instead. With this alternative approach, powerful ML models can be trained and then used to deliver superior or better-performing solutions. In automation technology, this opens up new possibilities and optimisation potential in many areas, including predictive maintenance and process control, anomaly detection, collaborative robotics, automated quality control and machine optimisation.
The models to be learned are trained in an ML framework, such as MATLAB® or TensorFlow, and then imported into the TwinCAT runtime via the Open Neural Network Exchange Format (ONNX), a standardised data exchange format used to describe trained models. The TwinCAT runtime incorporates the following new functions for this purpose:
Model results are directly executable in real-time
Inference, i.e. the execution of a trained ML model, can be performed directly in real-time with a TwinCAT TcCOM object. With smaller networks, system response times of less than 100 µs corresponding to a TwinCAT cycle time of 50 µs are supported. Models can be called via PLC, C/C++ TcCOM interfaces or a cyclical task.
Through seamless integration with the control technology, the multi-core support provided by TwinCAT 3 is also available for machine learning applications. This means, for instance, that different task contexts can access a particular TwinCAT 3 Inference Engine without restricting each other. All the fieldbus interfaces and data available in TwinCAT can be fully accessed as well. This allows ML solutions to use immense amounts of data, for example, for complex sensor data fusion (data merging), and it also means that real-time interfaces to actuators are available to enable, among other things, optimal control.