­Now it’s time to create your SCADA software, in Part 2 we continued following our tank temperature from being a physical variable until it reached our computer in the form of a scaled engineering value in the OPC server (OPC Item), so let’s take it from there.


“Journey to the Center of the Plant – from FIELD to SCADA and Back – Part I”

“Journey to the Center of the Plant – from FIELD to SCADA and Back – Part II – Network and OPC”

SCADA Systems Information Flow from Field Instruments to Control Room – Part III

SCADA stands for Supervisory Control And Data Acquisition, it’s where the operator gets to see his process from a top view, give commands, monitor and respond to alarms, generate reports and much more.

SCADA Client/Server Configuration

Before we proceed, you need to understand the two main parts of any SCADA software, the Server and the Client.

SCADA Server

Software responsible for core SCADA functions, such as data communication with the control hardware (either directly or via OPC server), graphics creation, alarm generation, security, data storage, reports generation … etc.

SCADA Client

Software responsible for displaying the information gathered (and generated) by the SCADA server, on the graphics screens created also by the SCADA server, relaying operator commands to the SCADA server, trends & reports display … etc.

So I have to buy two Separate licenses from the SCADA vendor, one for the server and one for the Client?

No, you don’t have to do that, every SCADA server software comes with integrated client functionality, so after you finish all your programming and configuration, just switch to RUN mode and step aside for the operator to operate his plant.

SCADA-Client-Server - CopyYou will only need to buy additional client license if it is required to have two or more operating stations (like in our example, review Part I), in this case, you got to buy one Server license, and one client license. Another case people also do that, is when they want to isolate their server, from the hands of the operators who might get an urge to play around.

How many Servers or Clients I can have?

For servers, most SCADA vendors provide a facility to have two redundant servers, only few provide capability of triple redundancy.

For Clients, you can have as many as you want, you can have them locally (connected via LAN like in our example), you can have them in remote locations, connected via WAN or any other technology, you can even have them over the internet as Web-Clients.

Creating your First SCADA Program

Back to our example, you install XYZ SCADA server on the same PC that has the OPC server installed and run it. You are so excited that finally all your work will pay off and you will see the tank temperature on your screen.

The software starts and you do the only thing that you know, you go to the menu up the screen and click on FILE, you click on NEW PROJECT, and then…… WHAT’S ALL THAT STUFF?

SCADA-Configuration-MenuI know, it doesn’t look as lovely as you wished, a large tree view or a menu driven software, and you ask yourself what you’re going to do with all that. Looks scary, right?

Don’t worry; I am going to tell you exactly what to look for in all that mess.

Step 1 – Define Your Connections

Same as we did with OPC server when we configured the communication channel, SCADA server needs to know two things to be able to connect to any device (or OPC server) for data read/write purposes:

  • What Protocol to use? MODBUS Serial, DNP3, OPC Client …etc.?
  • What connection/port to use? Serial or Ethernet and which port?

In our case we chose OPC client, and it is a software connection.

Step 2 – Define Your Data Source

What is the slave/server address? Node address for serial, IP address for Ethernet, OPC server Name and host IP address in case of OPC.

In our case the OPC server name is ABC OPC, and the host IP is (Local Host), meaning it exists in the same computer as the SCADA software.

Step 3 – Define your Tags

Tags are the place holder of information in SCADA servers; they are similar to OPC items, except that you can have internal tags (results of calculations made by SCADA scripts for example), as well as external tags (information from PLCs or OPC servers).

Every tag has three essential parameters:

  • Tag Name – The name all other parts of SCADA system will use in order to call the information stored in that location.
  • Tag Address – The location of this piece of information in the slave device memory, or the OPC item name.
  • Data Type – Real, integer, Boolean …etc.

Look for a place in the SCADA configuration named Tags Database, Tags Directory, Tag Management or something similar, create a new Tag, enter the Tag Name as “TankTemp” and in the address you will type …. ….

GOT YA, you though MW100, wrong, dead wrong, you can do that only if your SCADA is talking directly to the PLC via MODBUS, but that’s not our case, the OPC server is doing that for us.

Your address will be the complete path of the OPC item in the OPC server:



Your data type will be Real (Floating Point) or Integer, depending on how you did the scaling and what data type you used in the OPC server, and you are all set.

Step 4 – Create Your Graphics Displays

Now that your SCADA knows what information to get and how to get it, it’s time to display this information on the screen.

Create a new graphics display, go to the symbols library (you will find that, don’t worry you don’t have to draw everything from scratch), pick a tank symbol and the gauge symbol you liked in the SCADA brochure, place them both properly on the screen.

SCADA-GaugeOpen the configuration of the gauge, look for a property named Data Source or Tag or something similar, and just enter your Tag Name, done.

At this point, if you run your SCADA software in the “run mode”, you will see the temperature gauge on your screen displaying your tank temperature IN REAL TIME, just as you wanted.

What Can SCADA Provide More?

From that point on, the sky is the limit for the possibilities the SCADA software can provide.

Using the same TankTemp Tag, you can display it in numerous ways, generate various types of alarms that would alert your operator for abnormalities (limit crossing, deviation, rate of change …etc.), you can plot the temperature value against time, along with other variables if you want to give the operator an insight to the process variability over time, or periodically store the temperature value so later you can generate informative reports. And much, much more is there.


In Part IV, we will start the journey back from SCADA to field, starting by adding two features to our SCADA software, and preparing the PLC program to deal with them

  1. Selection for the Solenoid Valve Control Mode, Automatic or Manual
  2. Manual ON/OFF Control of the valve

Next – Part IV – The Journey Back