In this post I’m going to show an industrial simulation that I did some time ago trying to combine automation with PLC and Unity graphical environment.
The experiment consists in the simulation of a pulp line made with the graphic engine Unity, the idea is similar to SCADA (control system and data acquisition) only in this case we only observe the states of the machines, there is no control.
The 3D models of the machines were made with Blender and then animated with programming in Unity.
In the simulation the machines can be switched on and off, the idea is that these machines are controlled with the information received from the Arduino via USB port.
The idea is to control variables in Unity using an Arduino that is in charge of reading the states of the PLC outputs and with that to elaborate a word that is sent by USB to the PC and from Unity that word is interpreted and the corresponding changes are applied.
In the following video belonging to the channel of my other page I show the result of the simulation.
The synchronization problems seen in the video have already been solved using multi-threaded programming. I will probably do an article to show how the final version was used to simulate the operation of a cold room.
This industrial simulation was the basis for a job in which a PLC was used to control a process involving temperature sensors and frequency drivers to control the rotation of fans.
With Arduino, the states of the digital outputs of the PLC and the analog output are read to control the speed of the fans and this is sent in a 6-character word.
Unity takes this 6-character word and interprets what the state of the digital outputs is and what value is coming out of the analog port and the simulation adjusts to these values.