We have developed the PC control software of an industrial complex machine. The software runs on a PC on the machine, and it communicates with:
- a PLC,
- some National Instruments acquisition boards,
- some devices with a RS485 and/or RS232 interface,
- some other devices with an Ethernet / TCP connection
We use a MySQL database (running on the same PC of the described software), a OPC (not UA) connection.
The software is about 400k lines of C code developed in LabWindows/CVI and it has been developed over the last 20 years. The same software runs on all the flavours of the machines, and it is customized for each machine via administration-level pages that allow to configure which modules are present on the machine and so on.
Now we have new requirements, mainly:
- a beautiful modern graphical interface, possibly the best available in year 2020
- to make the development of a connection with cloud technologies as fast as possible (main goals: backups and monitoring)
The following requirements are also to be met:
- multitouch interface, in order to e.g. zoom into beautiful charts
- swipe between pages and easy navigation, creating a captivating user experience
- awesome graphic components (charts, grids, sliders, popups and even customizable objects)
- solid support for localization
- integration of 3D models that graphically show the current behaviour of the machine.
So we think that probably it's time to change our development software. If this will be our choice, we will also have to consider how to manage the transition: start at some point of the future with an all-new machine, or starting updating a module at a time (400k lines are a lot; maybe if possible some communication modules will be kept with the old software as long as possible and used e.g. via a DLL).
We are looking for some alternatives. Initial research pointed us to WPF, UWP and web technologies (HTML, Javascript, CSS and/or Javascript frameworks on top of a web server running on the same PC, that communicates with the main software via e.g. sockets (?), and in this case the main software would stick on LabWindows/CVI).
Do you suggest any tools/frameworks that meet the above requirements? Have you any suggestions of any kind? All are welcome. Thanks in advance.
Aucun commentaire:
Enregistrer un commentaire