Software development and programming helped our company to create software that controlls the whole factory. Development of 2023
Programming and software development play a key role in life of the people. Our team has managed to create a programm that controlls the whole plastic recycling factory.
The programm provides user interface to monitor and controll different devices, their current status and the values of various sensors that are installed throughout the facility.
For some devices for instance some frequency regulators this software allows to control them manually by inputting the value with different control widgets and sending commands with buttons general GUI.
This program also includes an automatic part that allows user to create a setup of different conditions, that should occur in the factory depending on the values of the sensors.
This software is node based so you have different nodes that allow you to connect its inputs and outputs together some of these notes are logical: for instance “more” or “equals” and they can compare things like number or sensor values, the other nodes represent the devices and allow to control them. This node-functions are executed constantly and run the whole factory.
The working principle isn’t hard. By requesting the data from the devices and sensors user input values to devices on the network. The networking is made as a joint net of Modbus line and TCP/IP. The data come to virtual Windows’s COM (serial) ports, which work as input and output point for the program.
Developing software of such scale depends on a complex network design and third-party technologies, it was not always obvious where exactly the issues occur. Sometimes it could be a design flaw (or feature, depending on your views) in the OS, sometimes it could be our other projects interfering with the Wi-Fi signal of the router, that connects to the PC, on which the program is run.
The program was written using Python 3.10 and PySide2 (PyQt). The UI was using in Qt Designer software, that was imported by the Python modules. To obtain easiness and scalability, the YAML DSL was developed and used to display device’s control dashboards. Also our team has set up IP networking and virtual COM ports routing.
That’s how the software development and programming can shine our life!
Here you can watch the programm in action (test of the pressure and temperature sensors):