An intro to learn SCADA programming for remote monitoring

A SCADA system, at the machine level, consists of a central station for gathering data and managing the overall operation. It also has sensors (these could be RTUs, or PLCs) placed near to where the action is. The remote terminal units RTU or the programmable logic controllers PLC collects the information locally and then passes it on to the central station. This can be located several miles away.

This article will serve as an introduction of a SCADA system and what SCADA stands for.

SCADA Diagram
SCADA system overview

RTUs and PLCs today are capable of controlling the actions within their range of vision through closed loop feedback systems. The central station oversees the overall performance of the one or more RTUs/ PLCs under its control. SCADA systems also allow staff or supervisors to change the settings as appropriate at the level of the RTU or the central station. Alarming conditions like high temperature can then be stored and displayed as real time data.

SCADA system example:

A client asks for the following requirements:
A basic solution for this scenario would include:

The T/Mon master station and NetGuardian RTUs would need to be "programmed" (configured/provisioned) in their own interfaces to complete this SCADA installment.

SCADA Involves Various Levels of Programming

Real-world conditions must be switched to machine language and then into signals that humans can read, record, and analyze. Therefore, SCADA system development involves programming at various levels.

In SCADA programming, data is collected at the Remote Telemetry Unit (RTU) and has to be changed into signals, which is followed by reading this data that requires a Human Machine Interface (HMI). Often, this data also has to be grouped and stored (history databases) for trend and analysis work. As a result, unique database systems have to be developed. Networks and communication systems bring in more varied requirements.

What is involved in Supervisory Control and Data Acquisition (SCADA) programming?

With more and more SCADA systems being deployed globally, the odds are increasing that you may be called on someday to program a system. What does it take to program a SCADA system?

The way you program depends on the system. It is common in manufacturing setups to design logic chains to be carried out when certain "trigger events" occur.

This is common in manufacturing. If you work with a large-scale network (telco, power utility, railway, government, oil and gas, etc.), it's more likely that you'll be working in simpler interfaces and won't really be "programming" in the traditional sense. Instead of coding in a text editor, you'll be using an RTU's web interface.

RTU web interface

An RTU web interface is a great example of "configuring" a SCADA implementation rather than "programming." After you've wired some inputs into the RTU, you'll have to tell the RTU (via its web based interface) what to call each item.

Higher up the chain, you'll need to perform similar programming of your master station (HMI software). This is important, because your master station brings together all of your RTU/PLC elements into a single view. "Programming" in a master/HMI context involves creating maps or diagrams that provide a view of your system in an emergency. You want to see exactly WHERE a problem is, not some code number or label.

Software Languages used in SCADA Programming

Most SCADA systems are now programmed using standard interfaces whenever possible. Most programs are written in C, or a derived programming language.

As a SCADA professional, you are required to maintain the software programs on your SCADA systems. This includes updating software and applying bug fixes and enhancements. Typically, any software in your system would be developed by the manufacturer or your RTU.


SCADA technology is a more modern version of network alarm monitoring tech that's been used since the 60's. The broader term defining those systems is "DCS" (Distributed Control System). DCS have commonly been used for factories.

However, such systems are not effective in covering large areas like those used in gas transport systems. If you were monitoring a single plant, a DCS may suffice, but if you have a distributed network of industrial plants over miles of land, a SCADA system would be most beneficial.

SCADA has been specifically developed to meet requirements covering large territories. Therefore, such a system can be used in various industries and for industrial processes. This includes: manufacturing, water and sewage, electric power generation and mass transit. This is why SCADA programming plays such a big role in the system's development.

It can also be used for facility processes in private or public facilities. This includes: buildings, airports, ships, or space stations. This is done to monitor and control: HVAC, access control, and energy use management, etc.

A Practical Approach To SCADA

Even with all this being said, SCADA systems are being put into use with a greater regularity in today's competitive manufacturing world. SCADA systems are used to perform data collection and control at the supervisory level. HMI's are typically seen as local user interfaces that allow staff to control the machine or process locally and perform SCADA programming work to customize the system.

Reviews the 4 key functions of any SCADA system: data acquisition, data communication, data presentation, and control capability.

Data collection begins at the PLC level and includes readings and gear statuses that are communicated to a master when needed. The system would then process data and format it in such a way that a control room operator using an interface terminal can make supervisory decisions that may be required to adjust or override normal PLC controls. The tags (data) are collected locally in the SCADA software database or into a Historian (distributed database) to allow trending and other analytical work. SCADA programming by a technician adjusts the system as needed.

These dispersed measurement and control systems provide manufacturers with a flexible software solution that can be tailored to meet their exact manufacturing needs.

Next: SCADA tutorial from SCADA experts

Download the complete SCADA White Paper now (PDF)

SCADA White Paper

The Fast Introduction to SCADA Fundamentals and Implementation by Bob Berry is a quick, 12-page introduction to SCADA. This guide shows how you can use SCADA effectively and profitably. Concrete applications and examples are included as illustration and to reinforce best practices.

Get Instant Access to SCADA White Paper

Get Answers to All of Your SCADA Questions

At DPS, we're totally focused on remote monitoring. We've worked on thousands of projects that involve SCADA in one form or another.

That experience means that we have SCADA experts on staff. If you need more information, give us a call or send us a message and we'll answer any question you have.

Talk with a SCADA Expert Now

We're here to help.


Have a specific question? Ask our team of expert engineers and get a specific answer!

Click here for more information.

Get the SCADA White Paper

Download our free SCADA tutorial.

An introduction to SCADA from your own perspective.

SCADA White Paper

Click here for more information.