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.

1 Answer 1


Have a look at Qt. Your requirements seem to revolve a lot around a nice graphical user interface, and there is hardly anything better. It is based on C++, so you can still code all the backend communications and database stuff in C++ and use Qt for all the graphical interface.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.