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 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.

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

Learn More

DPS is here to help.


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

Ask an Expert DPS Telecom Get a Fast 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 Download White Paper

Click here for more information.

Having trouble finding the perfect solution?

Get Help

No other network on the planet is exactly like yours. We manufacture hundreds of product variations per year that are customized to our clients' exact spec, all while providing training, tech support, and upgrade availability.

Send us a quick online message about what you're trying to accomplish. We'll give you a call and work with you to design a perfect-fit solution for your network.

Hours: Monday - Friday
7:00 a.m. - 6:00 p.m. PST
Tech Support: (559) 454-1600 / support@dpstele.com
Sales: Domestic: (800) 693-0351
International: 1+ (559) 454-1600