SCADA (Supervisory control and data acquisition)  is a category of software applications for controlling industrial processes, which is gathering data in real-time from remote locations in order to control equipment and conditions whereas HMI is local to the machine. It means HMI would be mounted on a control panel placed nearby machines whereas SCADA would be set up at a place far from the machines, generally, the area known as the Control room, Where you monitor the machine’s activities sitting in one place, you don’t need to come to near of machine to see what is happening in the machine. If you are interested in developing SCADA/HMI in the TwinCAT platform jump to

Difference between SCADA and HMI

A good SCADA system can have the following modules installed. These modules should work independently or in collaboration with other modules that can be distributed.

Visualization: SCADA system should visualize all device’s location and their status along with alarms/warnings on the screen. Devices can be located on a map if it is located in a distributed way.

Communication: A good SCADA system can send warnings, alarms, SMS, Email, and possibly video when some critical events occur.

User management: There should be different user levels of the SCADA system. Some might have only viewing right, some might have viewing right plus the right to changes in some device parameters. There should be different levels of the access rights. All users should be able to access the system simultaneously but if two users try to do the same edit then other users should be warned.

Localization: The user interface text must be translated into the local language without compromising the functionalities of the SCADA system.

Historize data: The system should records data for a specific period configured by the users. The system should playback or simulates the process by using the historized data. This can help to understand the past problems when these happened and how it happened. 

Report generation: SCADA system should generate data for reporting and trend analysis purposes. The report can help to detect the bottleneck of the system and improve the business process.

Maintenance module: A good system has a maintenance module where activities can be recorded. This helps to identify the history of a module, for example when a temperature sensor was updated last time. This will help to improve the maintainability of the system.

Scheduler: This module is responsible for executing some tasks based on a predefined schedule or triggered by some external events. It can collect the necessary recipe for executing the schedule from the local database or remote database.

Recipe: We need a recipe to execute a schedule. The recipe can contain different process variables that are needed to execute a schedule.

Major SCADA system available today!

InTouch, Wonderware

Rockwell, SCADA

Schneider Electric, SCADA

Honeywell, SCADA

iFIX, General Electric

SIMATIC WinCC V7, Siemens

Beckhoff HMI

We can see the difference between HMI and SCADA in the left-hand side image. HMI controls an individual machine or getting different events from the machine so the operator can know the status of the process or the different sensors of the machine. On the other hand, SCADA can include all HMIs in the plant, moreover, it can control the whole plant. It can create reports, can display trends, etc.

The job of HMI is to translate the signals and intentions from a human into electrical signals which can be understood by the machine to do useful work for controlling the automation process. Therefore in doing so, lets the human operator create interactive changes in the data and software process.

HMI quite frequently has a display integrated into them as well to allow the operator to distinguish the relevant data to the action being carried out.

In general, we can say HMI is just a part of the SCADA system but not necessarily always. HMI can be part of SCADA but the opposite is not true.

SCADA is a complete control/supervisory system whereas the HMI is what the human operator works with.

Take a look TwinCAT framework for developing SCADA/HMI tutorial

Ask questions related to Hemelix sample code and design at Google group