VizSim. PLC

A firmware/software for Schneider Electric PLC, which allows users to collect synthetic data with signals.

The task of the project:
Development of a firmware/software, which makes it possible to combine computer simulations of technological processes with the work of a real PLC.

Specifics of the project:
While working on Kaspersky PlantSim project, we found that we needed to generate a dataset of signals occurring between different equipment at an enterprise and a factory (reactors, separators, pumps, etc.) and PLC, which operates these processes.
In order to generate the signals from the equipment, we used their mathematical/computer models, which could be virtually simulated (several months of a factory operation could be fit into several hours worth of real time). Employing mathematical/computer models also helps to generate a large range of signals, which are difficult to collect in real life (for example, you can simulate a reactor explosion and record data signals at the moment of explosion).
To generate signals taking place in a controller, we used a Schneider electric PLC. We had to write a firmware for PLC, in which processes could be simulated in virtual time, to use a mathematical/computer model both in real and virtual time (previously there was no such function).

What we did and how we did it:
From the PLC perspective: we wrote a firmware/software which allowed us to control technological processes in real time.
From the server perspective: using industrial protocol Modbus, we developed an interface for cooperation of a mathematical model and PLC.

Project team
Dev: Ekaterina Simonova
R&D: Vadim Kondaratsev

Time-frame: 1 month