Get a Live Demo

You need to see DPS gear in action. Get a live demo with our engineers.

Get the SCADA White Paper

Download our free SCADA tutorial.

An introduction to SCADA from your own perspective.

DPS is here to help.


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

Learn the Easy Way

Sign up for the next DPS Factory Training!

DPS Factory Training

Whether you're new to our equipment or you've used it for years, DPS factory training is the best way to get more from your monitoring.

Reserve Your Seat Today

Learn SCADA Software Programming For Remote Monitoring

A Supervisory Control and Data Acquisition (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.

PLC and SCADA Basics

If you have specific questions that need answering now, let us know.

SCADA Diagram
PLC SCADA presentation 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.

The dangers of free SCADA software

An Example of a SCADA System

A client asked for a cost-effective SCADA system for the following requirements:

  • A system needs to manage water flow and quality in a pipeline approx 2 miles long
  • The pipe is 36" in diameter and already has controlled valves installed. (Unknown valve brand and quantity at this time but they are new.)
  • The pipe has existing threaded access holes for sensors (quantity, hole size, tooth count, and pitch unknown at this time)
  • Sensors for the following needed: flow rate & salinity (possible pH and temp as well but not sure)
  • The system must also remotely turn on/off and manage electric-based water pump motor rpm for flow control
  • Communication between RTUs and T/MONs would be IP Ethernet based (via VPN WANs or LANs)
  • High-availability and redundant T/MONs and RTUs not initially needed
  • A central office (NOC) will be hosting the T/MON
  • RTUs will be installed in field-based communication "shacks" using local solar-based DC power stations using typical battery systems
  • Number of sensors: approx 4
  • Number of valves: approx 2-4
  • Number of electric pumps: approx 2

A basic solution for this scenario would include:

  • An RTU at each end of the pipeline (2) to connect with the sensors and valves
  • One T/MON to support the two RTUs
  • Water flow sensors (maybe 2)
  • Water quality sensors (maybe 2)
  • Water pump electric motor RPM sensors (maybe 1-2)
  • Relays or something similar to interface with the existing SCADA-based actuated valves
  • Field shack sensors: air temp sensors, voltage (power) level sensors
  • Relays or something similar to interface with the electric water pump motors
  • Recommended backup/spare parts and components

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

The Various SCADA 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 a Simple SCADA Software 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.

For more information on web based RTUs, click here.

Software Languages Used in SCADA Programming

Most SCADA supervisory control 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 improve the functionality and performance of 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.

Why you should avoid SCADA programming software free downloads


Supervisory Control and Data Acquisition systems technology is a more modern version of network alarm monitoring tech that's been used since the '60s. 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 greater consistency 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 logical 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.

Download The Complete SCADA White Paper

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 systems. We've worked on thousands of industrial automation projects that involve SCADA in one form or another.

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

Talk with a SCADA Expert Now

Next: SCADA tutorial from experts