Making Industrial Applications Match iPhone Expectations

Supervisory control and data acquisition (SCADA) systems have been around since the 1950’s, far longer than most other types of computer applications. Their rock-solid performance has been responsible for the streamlining of any industry that needs precise and consistent controls: building automation, energy management, part machining, printing and packaging, robotic assembly, ship building, water treatment, woodworking, and many more. However, this long legacy can also carry a hidden drawback – the user interfaces of many SCADA devices are a flashback that looks more appropriate as part of Windows for Workgroups than the modern age.

This situation is ripe for change. Now that everyone carries superior user-interfaces in their pocket at all times, even the non-designers responsible for running the system expect their SCADA human-machine interface (HMIs) to have a certain level of polish and sophistication. Having implemented attractive SCADA HMIs for our customers, we’ve discovered that Qt is the right tool to build the modern SCADA system – here’s why.

Close to the Metal

SCADA interfaces to equipment that often has hard real-time requirements. In these cases, responding slightly late may be just as bad as not responding at all. You want the switch that flips the electrical grid to happen exactly when you tell it to – not after a brownout or an overload. With Qt’s C/C++ backbone, developers are able to get maximum performance from their SCADA applications. You can create code that talks directly to the hardware – no virtual environments, garbage collection, or unanticipated events happening in between.

The building blocks of any SCADA system are programmable logic controllers (PLCs), industrial computers that have a large number of I/O ports that are used to scan gauges or control actuators. The typical PLC implementation uses direct memory mapping to access its connected hardware, meaning you must be able to read and write to specific memory addresses. This is easy for C/C++ (and thus Qt), but not typically available in other languages.

  • Massa suspendisse lorem turpis ac. Pellentesque volutpat faucibus pellentesque velit in, leo odio molestie, magnis vitae condimentum.

  • Aute mi ut suspendisse velit leo, vel risus ac. Amet dui dignissim fermentum malesuada auctor volutpat, vestibulum ipsum nulla.

    • Sed reprehenderit quam, non felis, erat cum a, gravida lorem a. Ultricies in pellentesque ipsum arcu ipsum ridiculus velit magna, ut a elit est. Ultricies metus arcu sed massa. Massa suspendisse lorem turpis ac.

  • Eu et tellus vestibulum taciti et sit, nunc enim ipsum donec aliquam vitae, per mauris, amet ultrices. Pellentesque amet proin ut vestibulum eleifend nam, wisi vel tellus pulvinar mi risus consectetuer, sed faucibus facilisi, accumsan nam.

Leave a Reply

Your email address will not be published. Required fields are marked *