LosmakenBevestigenSluiten

MATLAB® and Simulink®

Efficient Engineering with TwinCAT 3

Learn more

MATLAB® and Simulink®: Established programming standards

MATLAB® and Simulink® have grown worldwide and become established programming environments for diverse applications, including among budding engineers. There are many reasons for this development. MATLAB® and Simulink® provide solutions that enable a complete focus on the engineering task. This is perfect for didactic concepts in teaching environments and efficient in industrial applications.

The MATLAB® programming environment is widely used both in science and industry. MATLAB® is a script language that is perfectly suited to the development of algorithms and mathematical models. It offers in particular efficient advantages as regards the collection, processing and analysis of data, and their visualization. Applications include predictive maintenance, image and signal processing as well as machine learning and optimization methods.

Simulink® focuses on providing continuous support for Model-Based Design (MBD) where a virtual system model is developed, tested and verified. Thanks to virtual commissioning based on physical models and the resulting early verification of software functionality, it is possible to identify already in the early stages of the project the risks of faulty software with exact analysis and without the need for hardware prototypes and to avoid their use in real conditions. The subsequent automatic code generation constitutes an ideal solution to apply the tested code in production. Simulink® provides all the resources required for modeling multi-physics simulations and generating algorithms for controlling, regulating and AI. As a result, only high-quality codes tested on models are used on controls.

Advantages of MATLAB® and Simulink®

Efficient Engineering with MATLAB® and Simulink®
Efficient Engineering with MATLAB® and Simulink®
  • early validation of software functionality through simulation
  • virtual commissioning based on physical model
  • direct import of CAD models
  • development and test of control software and process logic
  • analysis of measurement and process data
  • interactive apps for the development of algorithms
  • train and optimize AI algorithms
  • Parallel Computing



From MATLAB® and Simulink® to TwinCAT 3

Using TE1401 TwinCAT 3 Target for MATLAB® and TE1400 TwinCAT 3 Target for Simulink®, it is possible to execute the analyses and simulations developed in the globally used MATLAB® and Simulink® programming languages in TwinCAT runtimes in hard real time. The programming, which was first validated and transferred to the actually connected TwinCAT system landscape, can immediately assume the control and monitoring tasks in the customer applications as a productive code without incurring any risk of unforeseeable errors in the development phase.

Transfer of MATLAB® functions in the TwinCAT 3 runtime (Video)
Transfer of MATLAB® functions in the TwinCAT 3 runtime (Video)

With TwinCAT 3 Target for MATLAB®, it is possible to use the MATLAB® functions in TwinCAT 3. The functions are automatically transferred into the TwinCAT objects and used seamlessly in TwinCAT 3 Engineering. The modules that are automatically generated can be integrated both as a TcCOM object and as a PLC function module in the TwinCAT solution. The integrated modules are downplayed with the complete TwinCAT project in the TwinCAT 3 runtime and are executed there like all other objects within a real-time environment.

Predictive maintenance, Machine Learning or Test and measurement technology – these MATLAB® key functions can be seamlessly integrated in the control with the TwinCAT 3 Target for MATLAB®.

Predictive maintenance is one of the most important factors for increasing OEE. The Predictive Maintenance ToolboxTM from MathWorks® is ideal for developing state indicators and perform predictions. The integration of algorithms in the PLC makes it possible to synchronously access all relevant machine data. The monitoring system is transparently integrated in the control and is not a separate black box solution.

Machine Learning functions from MATLAB®, in combination with TwinCAT 3, present great advantages: classifiers perform product tests synchronously and directly in the control or detect system faults. Regression algorithms execute virtual sensors, parameterize a system depending on the situation or are embedded directly in a control loop for model-predictive regulation. The algorithms are trained outside TwinCAT real-time and can be changed on-the-fly during the machine runtime without stopping the machine.

The integration of Test and measurement technology in the machine control system reduces the complexity and costs of the testing systems, eases engineering and leads to faster testing procedures. The Beckhoff I/O portfolio provides the raw data to the control. There these can be both saved directly in databases for documentation and (pre-)processed in the real-time environment. The extensive MATLAB® signal processing algorithms, in combination with integrated simulation models for HiL testing, constitute an outstanding basis for the realization of integrated, modern and powerful test systems.

Transfer of Simulink® models in the TwinCAT 3 runtime (Video)
Transfer of Simulink® models in the TwinCAT 3 runtime (Video)

With TwinCAT 3 Target for Simulink®, it is possible for models developed in Simulink® to be used in TwinCAT 3. Various toolboxes, such as SimscapeTM or Stateflow® or DSP System ToolboxTM can be integrated in Simulink®. Embedded MATLAB® function modules can also be supported. The models are automatically translated into C/C++ code using the Simulink® CoderTM and converted in TwinCAT objects with TwinCAT 3 Target for Simulink®. TwinCAT objects created from Simulink® have the same interfaces and properties as all other TwinCAT objects. They can be used fully in TwinCAT 3 Engineering, e.g. expand to a complete project with a PLC source code, debug and link with fieldbus stations. The block diagram visualization from Simulink® is assumed in TwinCAT Engineering. The block diagram embedded in Engineering can, in addition to the Simulink® External Mode, be used as a control for parameters adjustment, debugging, signal and state monitoring. The modules that are automatically generated can be both integrated as a TcCOM object and as a PLC function module in the TwinCAT solution. The integrated modules are downplayed with the complete TwinCAT project in the TwinCAT 3 runtime and are executed there like all other objects within a real-time environment.

TwinCAT objects can be assigned to different CPU cores in real-time environment. This means that even large projects can be easily scaled, e.g. for the simulation of an entire windfarm. If speed is required in individual objects, it is also possible to parallelize calculations on several cores. That way applications from simple controllers to complete machine controls and real-time simulations can be comprehensively supported with one tool.

Analyses and simulations created in MATLAB® or Simulink® can be connected with the TE1410 TwinCAT 3 Interface for MATLAB® and Simulink® to TwinCAT runtime environments via a high-performance communication interface. The MATLAB® functions or Simulink® models are run in the MATLAB® or Simulink® process, and these processes can exchange data bidirectionally with the TwinCAT runtimes. With TF6701 TwinCAT 3 IoT Communication, the communication functionality can also be transferred to the ThingSpeakTM IoT platform.

The TwinCAT 3 Interface for MATLAB® and Simulink® enables the data exchange between MATLAB® and the TwinCAT Runtime as well as between Simulink® and the TwinCAT Runtime.

Data communication between Simulink® and TwinCAT: For Simulink®, ADS client blocks that can be simply integrated and configured in Simulink® projects are provided in the Simulink® library. It is thus possible, when working from the Simulink® environment, to write data to a TwinCAT Runtime or to read data from it. An application example of the use of ADS blocks in Simulink® is the software-in-the-loop simulation, in which a regulating or control algorithm executed in the TwinCAT Runtime is connected with a model executed in Simulink®. In this scenario, the TwinCAT Runtime can receive an external tick from Simulink® to calculate the next cycle, so that Simulink® and TwinCAT work synchronously.

Establish a bidirectional communication between MATLAB® and the TwinCAT Runtime with TwinCAT 3 Interface for MATLAB® and Simulink® (Video)
Establish a bidirectional communication between MATLAB® and the TwinCAT Runtime with TwinCAT 3 Interface for MATLAB® and Simulink® (Video)

Data communication between MATLAB® and TwinCAT: An ADS Port object that can be used in the script environment is provided for MATLAB®. The object offers various methods for data exchange between MATLAB® and the TwinCAT Runtime. In addition to an ADS client in MATLAB®i.e. the MATLAB® environment initiates the data exchange – the use of an ADS server in MATLAB® is also possible. The latter offers the option of writing MATLAB® functions within the MATLAB® environment and calling them from TwinCAT via an ADS command. An application example for the use of the ADS client in MATLAB® is the creation of a graphical user and monitoring interface, e.g. based on a MATLAB® app. The ADS server can be used, for example, to execute non-real-time-relevant tasks, such as components of a predictive maintenance system or a parameter optimization. The MATLAB® CompilerTM can be used to execute the programs created as stand-alone applications in the field, e.g. on an edge device or directly on the industrial PC.

Create an IoT application based on hard- and software by Beckhoff and the ThingSpeak™ IoT platform by MathWorks® (Video)
Create an IoT application based on hard- and software by Beckhoff and the ThingSpeak™ IoT platform by MathWorks® (Video)

Day after day, machines and systems produce more and more data. Connected machines and intelligent modules form the (Industrial) Internet of Things as the basis for smart industry. The promise of smart industry is to transform these vast amounts of data into valuable information and competitive and economic efficiency advantages. This can only succeed if the data is not only reduced to the essential information and analyzed, but also transferred between the different parties in a meaningful, timely and secure manner.

To enable the use of data for value-added services, ThingSpeakTM from MathWorks® provides a secure data exchange platform in combination with the powerful data processing, analysis, and visualization capabilities of MATLAB® and its add-on toolboxes.

TwinCAT 3 IoT Communication provides basic functions for sending and receiving data via the so-called MQ Telemetry Transport (MQTT) protocol in the form of PLC libraries. The PLC library can be used to establish a bidirectional data connection between TwinCAT and the ThingSpeakTM IoT platform. Anchoring the networking functionality directly in the machine controller, and thus to regard it an integral part of a machine, offers maximum flexibility in the data flow from the sensor to the cloud.

MATLAB® and Simulink® customer applications in TwinCAT 3

Video trailer: Customer applications MATLAB® and Simulink®
Video trailer: Customer applications MATLAB® and Simulink®
Heavy-duty bearing test bench for wind turbines on SKF main bearing
Heavy-duty bearing test bench for wind turbines on SKF main bearing

Test system of a heavy-duty bearing test bench for the main bearing of wind turbines

Using leading automation technology, wind turbines with diameters up to 6 meters can be tested on the world’s most powerful heavy-duty bearing test bench on SKF main bearing. The highly complex control system was developed and tested in MATLAB® and Simulink® and does not need to be re-programmed for the controller. The test bench is a custom-made product, i.e. the control cannot be tested on a prototype. It was possible to meet this challenge thanks to the automatic code generation and integration of the controller developed in MATLAB® and Simulink® in the test control (Rapid Control Prototyping) as well as the virtual commissioning of the controllers based on a model of the machine.

That way risks due to malfunctions during commissioning could be reduced as well as commissioning time and costs.

Success Story Zero Twist Feeder of IRO AB and Vintecc bv (Video)
Success Story Zero Twist Feeder of IRO AB and Vintecc bv (Video)

Yarn and fiber production with the Zero Twist Feeder

The Zero Twist Feeder feeds yarn into the weaving machines without a single rotation. Weaving machines operate at high speeds and pull on the spool at highly irregular intervals. A buffer arm is used to balance between the spool and the gripper. The buffer arm feeds the weaving machines with the exact required amount of yarn at optimum speed for weft insertion. Speeds of up to 850 meters/minute per entry can be achieved during production. The problem that can arise when weaving carbon fibers, glass fibers or plastic strips is the occurrence of twists or loops at these high speeds.

The problem was solved by first creating a digital twin of the machine. The programming of the entire software was done in Simulink®. The model was divided into several partial models that each represented an aspect of the mechanical engineering. Before IRO tested the algorithms on the actual hardware in Sweden, Vintecc conducted extensive virtual simulations in Belgium to ensure the machine worked as designed.

Combining Simulink® with the Beckhoff TwinCAT Technologie via the TwinCAT 3 Target was a great advantage in this application since it requires no PLC code. The model could be directly integrated in detail into TwinCAT. Changes made to the parameters in the model, TwinCAT or the hardware can be immediately transferred.

Success Story Magway (Video)
Success Story Magway (Video)

Magway Transport system – shifting a sophisticated algorithm to the lowest possible level

Magway uses MATLAB® and Simulink® for the implementation of an encoder-less control of linear synchronous motors that allow for an autonomous, sustainable package delivery through subsurface tubes.

Using the TwinCAT Target for Simulink®, control algorithms are implemented directly on an industrialized platform, and do so with fewer components, decentralization, higher system availability and shorter development cycles. This way the development cycles are shortened thanks to the in-loop debugging. The core IP was developed in MATLAB® and Simulink®. By using this software directly instead of through an inconvenient port, Magway always has the right tool for the right job.

Wind turbine from Goldwind Science and Technology
Wind turbine from Goldwind Science and Technology

Control software for 6 MW offshore wind turbines

Offshore wind turbines must ensure high availability levels with low maintenance requirements. The operation of this facility must be predictable and safe to control at all times. It is hardly possible to test the highly sensitive control software under real conditions.

By using the concept of the model-based design with Simulink® and TwinCAT, each function of the system can be developed, tested and verified. The safe and reliable control software can also be developed faster and more cost-effectively. This is possible because the easy integration of the Target for Simulink® in the model-based design process ensures the efficient generation and testing of productive codes on an industrial platform. Furthermore, the communication capabilities of the interface for MATLAB® and Simulink® provide all the tools required for the comprehensive software-in-the-loop testing after the implementation of the code on the Beckhoff controller.

At the same time, the functions of the TE1400 and TE1410 not only resulted in a successful application of the main control software designed in Simulink® for the 6-MW prototype facility but also for each large-scale production after the prototype.

Simutopia: Model-based design and deployment of controls for advanced systems (Video)
Simutopia: Model-based design and deployment of controls for advanced systems (Video)

Simutopia is a software and engineering consulting company specializing in model-based design. Simutopia has deep experience in architecting machine models that can be used for design analysis, controls deployment, real-time simulation, and testing. Expert knowledge is used to leverage the combined power of MathWorks® and Beckhoff software tools for rapidly deploying and iterating advanced control algorithms on the TwinCAT platform. Simutopia is a member of the Beckhoff Integrator Group (BIG).

Developing robotic systems control algorithms includes creating kinematics and dynamics models of the robot mechanisms. These models can be quite complex based on the robot topology and number of degrees of freedom. To provide efficient and cost-effective solutions to their clients, Simutopia developed a custom application in MATLAB®, called NewtonsLab, to create these models easily using SimscapeTM MultibodyTM. TwinCAT 3 Target for MATLAB® and TwinCAT 3 Target for Simulink® are used to automatically deploy these models on TwinCAT for real-time control directly from NewtonsLab. Furthermore, the TwinCAT Interface for MATLAB® and Simulink® enables to live-stream data between TwinCAT and NewtonsLab via ADS. This helps to quickly change controller parameters and validate the deployed code on TwinCAT by comparing the performance of the virtual machine with that of the real hardware based on the same inputs. This is tremendously helpful to rapidly prototype and test the control algorithms.

If you also have similar examples of applications and questions about the integration of your MATLAB® and Simulink® projects in a TwinCAT software environment, please contact your sales representative or use the Sales contact form.

Products

TE1400 | TwinCAT 3 Target for Simulink®

TE1400 | TwinCAT 3 Target for Simulink®

TwinCAT 3 Target for Simulink® provides an interface between Simulink® and TwinCAT. The Simulink® software is developed and distributed by the MathWorks company. The programming environment is based on MATLAB® and is widely used both in science and in industry. Simulink® is a graphic programming environment that is ideally suited to the model-based development process. Simulation models of systems can be created and, for example, control and feedback control algorithms in order to test the models created.

TE1401 | TwinCAT 3 Target for MATLAB®

TE1401 | TwinCAT 3 Target for MATLAB®

TwinCAT 3 Target for MATLAB® provides an interface between MATLAB® and TwinCAT. MATLAB®, the language of technical computing, is developed and distributed by the MathWorks company. The programming environment is widely used both in science and in industry. MATLAB® is a script language that is ideally suited for the development of algorithms and mathematical models.

TE1402 | TwinCAT 3 Target for Embedded Coder® New

TE1402 | TwinCAT 3 Target for Embedded Coder®

The TE1402 TwinCAT 3 Target for Embedded Coder® is an extension of the TE1400 TwinCAT 3 Target for Simulink®. Building on the existing capabilities of the TwinCAT 3 Target for Simulink®, which uses the Simulink® Coder™ (GRT target) from MathWorks for automatic code generation, the TE1402 also makes it possible to use the Embedded Coder® (ERT target) from MathWorks. The TE1402 essentially leverages the functions of the TE1400 while also harnessing the properties of the Embedded Coder® to achieve target platform specialization. For example, CPU-specific command extensions can be used to make models created on the Beckhoff Industrial PC run faster.

TE1410 | TwinCAT 3 Interface for MATLAB® and Simulink®

TE1410 | TwinCAT 3 Interface for MATLAB® and Simulink®

MATLAB® and Simulink® are developed and distributed by the MathWorks company. The two programming environments are widely used both in science and in industry. Simulink® is a graphic programming environment that is ideally suited to the model-based development process. MATLAB® is a script language for the development of algorithms and mathematical models.

TF6701 | TwinCAT 3 IoT Communication (MQTT)

TF6701 | TwinCAT 3 IoT Communication (MQTT)

TwinCAT 3 IoT Communication provides basic functionalities in the form of PLC libraries for sending and receiving data via the so-called MQ Telemetry Transport (MQTT) protocol.