0% found this document useful (0 votes)
102 views

Implementing SCADA System For Industrial Environment Using IEEE C37.1' Standards

This document describes the implementation of an IEEE C37.1 standard SCADA system for monitoring and controlling an industrial environment. The key components of the system include intelligent electronic devices to monitor sensors, a remote terminal unit to process sensor data and control devices, a control center with a graphical user interface to view data and issue commands, and a server to facilitate remote access. The system is designed to monitor parameters like reservoir level, ambient light intensity, and motor RPM using various sensors and transmit the data to the control center over an IEEE 802.3 LAN. This allows operators to supervise the industrial processes from a distant location.

Uploaded by

dggf
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views

Implementing SCADA System For Industrial Environment Using IEEE C37.1' Standards

This document describes the implementation of an IEEE C37.1 standard SCADA system for monitoring and controlling an industrial environment. The key components of the system include intelligent electronic devices to monitor sensors, a remote terminal unit to process sensor data and control devices, a control center with a graphical user interface to view data and issue commands, and a server to facilitate remote access. The system is designed to monitor parameters like reservoir level, ambient light intensity, and motor RPM using various sensors and transmit the data to the control center over an IEEE 802.3 LAN. This allows operators to supervise the industrial processes from a distant location.

Uploaded by

dggf
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

IEEE C37.

1: IEEE Standard for SCADA and Automation Systems 1

Implementing SCADA System for Industrial


Environment Using ‘IEEE C37.1’ Standards
Student: Mr. Maldar Aman Malikamber
Mentor: Mr. Tamhan kar S.G.
Walchand College of Engineering, Sangli
Maharashtra, India
E-Mail: aman maldar@g mail.co m

Abstract— In the current era of industrialization, the field of 2) Remote Terminal Un it (RTU)
automation has great opportunities for R&D. When we talk 3) “Control Center” (CC) aka. “Master Station”
about automation of any industry, an engineer has to develop a 4) Graphical User Interface (GUI) at the CC
system such that a person can have a view of various processes
5) Dedicated server for networking and remote access
going on in the industry, status of various machines in the
industry, status of certain parameters (e.g. temperature,
humidity, light, etc) in the industry remotely. Along with this, a III. SYSTEM OVERVIEW A ND DESCRIPTION
system should be capable of providing certain control facilities The schematic diagram fo r the imp lemented system
of the industrial processes, parameters or instruments from is given in Image_1: System Overview at the end of report in
distant place. The stated objectives can be accomplished by ANNEXURE section. System Overv iew g ives schematic of
developing S CADA system (IEEE C37.1 S tandard). The project
all system components along with interconnectivity among
involves the development of concerned standards.
The project paper focuses on developing IEEE C37.1 them. Section (III) g ives details of various components
S tandard comprising of a combination of hardware and involved in the system.
software to monitor and control various parameters in industry.
The scope of the project extends from providing a system status A. INTELLIGENT ELECTRONIC DEVICES (IED)
on a single machine (usually PC) to a distant place using IEEE In SCA DA system the processing power is
802.3 LAN protocol and web based access.
distributed among various Control Centers, Remote Terminal
The system is also capable of controlling devices in the industry
from the remote place using internet with authentication and Units (RTUs) and Intelligent Electronic Devices (IEDs).
security. IEDs have limited processing power associated with it. IED
consists of sensors connected to it. Here, one of the IDE is
Keywords— IEEE C37.1, S CADA, IEEE 802.3, Reservoir Level Sensor.
Automatic Control, Data Acquisition, Intelligent Electronic
Device, S ubstation Integration, S ubstation Automation,
Supervisory Control, PHP, Data Logging

I. INTRODUCTION
The project best applies to the industrial
environment, to monitor & control certain industrial
parameters with/without human interference and to have
graphical view of the current status of industry. This project
is helpful in terms of learning SCADA system as a whole,
role of embedded system in automation and server side
programming concepts. Thus, project forms the prerequisites Figure_1: Reservoir Level Sensor
to understand industrial automation concepts and work on
the same. In any industry we need to monitor reservoir level
of few quantities like oil, water or simp ly any coolant. The
II. PROJECT DESIGN IMPLIM ENTATION above circuit is Reservoir Level Sensor. It is used to sense
level of water in the tank. It is capable of sensing 5 water
The design imp lementation comprises of following
levels i.e. EM PTY, 25%, 50%, 75% and FULL.
designing stages to establish a complete system. The stages
consists of designing, The heart of the circuit is a sensor strip which is
actually inserted in the water tank to detect the water level.
1) Intelligent Electronic Dev ice (IED)
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 2
proportional to intensity of the ambient light. Th is property is
used to detect if ambient light intensity is lower than the
predefined threshold or not. When ambient light intensity
goes below predefined threshold, corrective measures are
taken RTU to turn on flood lights (here, Orange LED
mounted on RTU PCB). Thus RTU has processing powers
associated with it to control flood lights. Amb ient Light
Intensity is one of the parameters that we are concerned
Figure_2: Water Level S ensing S trip (Front & Back view) about. The output of the designed circuit is digitized into two
This strip comprises of 5 connections (leads) on it. The level i.e. „logic 0‟ and „logic 1‟ using an inverter IC
lowest lead is a power lead i.e. supply is placed at the bottom (74LS04). Finally output of this circuit is given to MTU
using simple wired connections. The potentiometer is
in the water tank. The remaining 4 leads sense 4 discrete
water levels. When user turns on motor manually, water level provided for adjusting the threshold. So it is very much
possible to adjust intensity threshold as per the application
will increase and touch to lead 2, which in turn will cause a
complet ion of circuit fro m lead 1 to lead 2. Th is drives base demands.
of one of the transistors (BC547). This causes concerned
3) Motor RPM measurement
transistor to turn on and its collector voltage is reduced to
Many times in industry we need to monitor the
logically zero volt, wh ile collector voltages of remain ing 3
rotational speed of certain machines/motors. The circuit
transistors are logically high as they are still in off condition.
designed here is intended to measure the rotational speed of
The voltages are inverted by an inverter IC to get digitized
the motor. This is one of the demo parameters which are to
output. In the same way when water level continues to rise
be measured and displayed on the GUI.
further, it will reach to lead 3, turn ing on transistor 2; and
again reducing collector voltage to 0 volts. Finally the
digitized outputs are given to MTU using simp le wired
connections. The sensor not only senses the water levels, but
it also gives an indication (glows LED) when water level
reaches 100%. So a user will be intimated and he can turn off
the motor. In the same way, when water level is less than
25%, LED is turned on so user can turn on motor. This
demonstrates processing power associated with IED.

B. SENSORS IN THE DESIGN


1) Reservoir Level Sensor
The description for the sensor is given in previous section.
The rest of the sensors are discussed below. Figure_4: RPM Measurement Module

2) Ambient Light Intensity Sensor The circuit uses IC 7811 optocoupler at its core. A
motor is fitted on the PCB as shown. A disc is connected to
the shaft of the motor. The arrangements are made in such a
way that the disc is rotated through the slot present on the
optocoupler IC. The d isc has a small hole on it.
IC7811: It‟s an optocoupler IC having a slot with an infrared
LED on one side and photo-transistor on the other side.
When light from IR-LED falls on the base of photo-
transistor, it is turned on. If there are some obstacle in-
between them, photo-transistor is turned off. This principle is
used to generate the pulses.
Principle : When an IR-LED, photo-transistor and a hole on
the disk comes in a single line, photo-transistor is turned on;
which in turn drives base of another transistor (Q2); which
Figure_3: Ambient Light Intensity Sensor reduces collector voltage of Q2 to logically zero volt. When
Above circuit comp rises of a Light Dependent disc produces obstacle between photo-transistor and IR-LED,
Resistor (LDR). The resistance of the LDR is inversely photo-transistor is turned off; which in turn turns off
transistor Q2, and hence collector voltage of Q2 beco mes
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 3
logically high. The disc continues to rotate and pulses are analog inputs. These signals are provided by
obtained at collector of Q2. These pulses are now applied to microcontroller i.e. MTU.
MTU fo r measurement of RPM. 2. Once channel is selected ALE (Address Latch
4) Temperature Measurement Enable) pin is made high.
Temperature measurement is carried out with the
help of IC LM 35. It is a digital IC with resolution of
10mV/ºC. The IC here operates on the voltage range of 0
Vo lt to 5 Volt. It produces the analog voltage corresponding
to the existing atmospheric temperature.

Figure_7: Analog to Digital Converter

3. After this, to command the IC ADC-0808 to start


the analog to digital conversion SOC (Start of
Figure_5: Temperature Sensor
Conversion) pin is made high.
5) Hu midity Measurement 4. The ADC-0808 requires external crystal of 250
KHz to perform the conversion. In order to reduce
the hardware, the external clock is generated and
provided by microcontroller itself on CLK pin of
the ADC-0808 for duration of 10mSec.
5. After 10mSec EOC (End o f Conversion) pin of
ADC-0808 is checked to see whether conversion is
complete. If EOC pin is still low, CLK is continued
further.
6. If conversion is complete, OE (Output Enable) pin
of the ADC-0808 is made high by microcontroller
to command the ADC-0808 to send the 8 bit
Figure_6: Humidity Sensor Module
converted digital data onto its data port.
The humidity sensors module used for humidity
7. Finally 8 bit dig ital data is read by the
measurement is SHR01. The module is capable of indicating
microcontroller and stored for reference.
the relative hu mid ity in the range of 20% to 90%. The
8. To select the next analog input for the conversion,
operating voltage is 0 volt to 5 volt. The sensor has negative
addresses ADD_A, ADD_B, ADD_ C are changed
coefficient. i.e. as humidity increases, voltage decreases. It
and same steps are carried out.
produces the analog voltage corresponding to the existing
In this way analog voltages obtained from
atmospheric humidity.
temperature sensor and humidity sensor are converted into
their dig ital equivalent.
Analog to Digital Converter: IC 0808
ADC-0808 data acquisition component is a
6) Fire Indication
monolithic CMOS device with 8-bit analog-to-dig ital In industry it is necessary to have protection against
converter, 8-channel mu ltip lexer and microprocessor the fire. Hence fire detectors are installed at various locations
compatible control logic. The 8-bit A/D converter uses in the industry to form a fire alarm system.
successive approximat ion as conversion technique. Two In the project a push button is provided to generate
analog input channels of the ADC-0808 are used in project. instance of fire mishap in the industry. As soon as this signal
One of them is used for temperature sensor and other one is is detected by RTU, a loud buzzer is given to warn all the
used for humidity sensor. ADC-0808 produces 8 bit digital people. The fire alarm push button gives an interrupt to RTU
output corresponding to the analog input voltage. The as fire is the most crit ical event that a RTU is supposed to
resolution of ADC-0808 is (5V/ 2^8) = 19.87 mV. The ADC- look after. As soon as push button is pressed, Microcontroller
0808 has reference voltages of +5 Vo lts and 0 Vo lt. executes its ISR (Interrupt Service Routine) and required
Procedure: actions can be performed in the ISR like buzzing an
1. ADD_A, ADD_B, ADD_C are input lines for emergency alarm.
ADC-0808; used to select one of the 8 available
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 4
C. REM OTE TERM INA L UNIT (RTU) Features of Microcontroller P89V51RD2:
Remote terminal unit is basically a substation for  80C51 Central Processing Unit
gathering a data from various intelligent electronic devices  5 V Operating voltage fro m 0 MHz to 40 MHz
(IEDs) or fro m various sensors. The RTU may have wired  64 Kbytes of on-chip Flash user code memory with
connection with the peripherals, sensors, IEDs or it may use ISP (In -System Programming) and IAP (In-
some wireless means of commun ication. In this project Application Programming)
simp ly a wired connection is established between  Supports 12-clock (default) or 6-clock mode
sensors/IEDs and MTUs. selection via software or ISP
The substation RTU may still be a traditional RTU  SPI (Serial Peripheral Interface) and enhanced
with hard-wired inputs and outputs and communicat ing with UART
one or more control centers. With the proliferation and  PCA (Programmab le Counter Array) with PWM
increasing capabilities of IEDs, however, the RTU may and Capture/Co mpare functions
actually co mbine several d ifferent elements into one device.  Four 8-bit I/O ports with three high-current Port 1
For examp le, the RTU may provide the substation HMI, the pins (16 mA each)
data concentrator, and remote access controller.  Three 16-bit timers/counters
 Programmable watchdog timer
RTU arch itecture:  Eight interrupt sources with four priority levels
Figure_8: Remote Terminal Unit shows hardware  Second DPTR register
architecture of RTU. Features of the designed remote  Lo w EM I mode (A LE inhib it)
terminal unit are,  TTL- and CM OS-co mpatib le logic levels
1. Uses Microcontroller P89V51RD2 (8051 family)  Brown-out detection
2. LCD (Liquid Crystal Display) to show status of  Lo w power modes
industry. Its features are,  Power-down mode with external interrupt wake -up
a. 16x2 character d isplay Idle mode
b. 4 pin interface with microcontroller  DIP40, PLCC44 and TQFP44 packages
c. Green backlight
Interfacing of RTU with IEDs and sensors:
3. Serial co mmunication with the central server at the
LCD: connected to P1.4 to P1.7
baud rate of 9600.
LCD control p ins:
4. Processing power is distributed/given to RTU
a. RS : P1.3
5. RTU Rings a buzzer when water level reaches
b. EN : P1.2
100%
ADC data pins: connected to Port 0 (P0)
6. RTU Rings a buzzer when fire is detected
ADC control pins:
a. ADD_A : P2.5
b. ALE : P1.1
c. OE : P3.3
d. START : P3.5
e. CLK : P3.6
f. EOC : P3.7
Water level sensor output: P2.0 to P2.3
Ambient light intensity sensor output: P2.4
RPM measurement input: P3.4
Flood Light: P1.0 Fire Alarm: P3.2
Device_1 (LED):P2.6 Device_2 (Buzzer):P2.7

Data sent by Remote Terminal Unit


RTU reads the data coming fro m the sensor and
makes a data packet from it. In this project Microcontroller
P89V51RD2 reads the status of various parameters form the
firm and makes an array of it wh ich is to be sent to Control
Center later. The data collected for each parameter is stored
into one of the fixed location of array named as
Status_Array. This array is updated at the regular interval of
5 seconds by RTU by reading the status of firm. Then this
Figure_8: Remote Terminal Unit
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 5
Status_Array is sent to Control center. The structure of the /*Code for form Load Event*/
array is given in Table_1:Status_Array. Private Sub Form_ Load()
BYTE 0 PULSES readdone = 0
BYTE 1 LIGHT Text3.Vis ible = False
BYTE 2 WATER End Sub
BYTE 3 HUM IDITY
/*Code for STA RT button*/
BYTE 4 TEM PERATURE
Table_1: S tatus_Array Private Sub Start_Click()
gateway = Text 1.Text
D. MASTER STATION (CONTROL CENTER) Text1.Visible = False
Label1.Visible = False
Modern Supervisory Control and Data Acquisition
Start.Visible = False
(SCADA) master stations have both software and hardware
/*Co mmunication settings*/
in a distributed architecture. The processing power is
M SCo mm1.Settings = "9600,n,8,1"
distributed among various computers and servers that
M SCo mm1.RThreshold = 5
communicate with each other through a real-time dedicated
M SCo mm1.DTREnable = False
LAN in the control center. Further, to access a particular
M SCo mm1.Co mmPort = gateway
Master station through any place, internet access is provided
M SCo mm1.Port Open = True
with password security. Control Center consists of following
End Sub
programs running on it.
1) Serial Data Logging Software
2) Server Side Programming & Web Hosting /*Code for Serial Co mmun ication Event*/
Private Sub MSCo mm1_ OnCo mm()
Serial data logging software If MSCo mm1.Co mmEvent = co mEv Receive
The name for the software is given as “Data logging Then
and Device Control”. The serial data logging software is encoded = MSCo mm1.Input
developed by using VISUA L BASIC 6 with GUI. The
software performs fo llo wing tasks. /*Save status of firm (encoded) into file -- to be read by
 Reads the data coming on the serial port (i.e. the website*/
data sent from Remote Terminal Un it) Open "C:\ xampp\htdocs\explo re\log.t xt" For Append
 Saves the data into “log.txt” file on the server PC. As #1
 Checks if any command character is saved into Print #1, encoded Close #1
“control.txt” file on server PC. (“control.t xt” is
explained later) /*Sending command characters to serial port*/
 If any control character is present in “control.t xt” Open "C:\ xampp\htdocs\explo re\control.t xt" For Input
file, sends that character to RTU using serial As #2
communicat ion
While EOF(2) = False
The layout of the software window is given into Figure_9: Line Input #2, controlbit
Data Logging and Device Control. Text3.Text = controlbit
MSCo mm1.Output = controlbit
Wend
readdone = 1
Close #2
If readdone = 1 Then
/*new blank file is created for control characters*/
Figure_9: Data Logging and Device Control Open "C:\ xampp\htdocs\explo re\control.t xt" For Output
As #2
The following section gives a description of the software.
Close #2
readdone
/*Code for = 0button*/
Close (X)
/*Variable Declarat ion*/ End If
Dim gateway As String, encoded As String, Private Sub Close_Click()
End If
controlbit As String, readdone As Long Unload Me
End Sub
End Sub
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 6
Sequence of Execution /* code for updating water status */
1) The software reads the data coming fro m RTU on COM
switch($water)
port of computer.
{
2) Saves that data in the text file “log.t xt” at location case 'A':
"C:\ xampp\htdocs\explore\ log.t xt" (Default path). {
3) Soft ware now checks if any command character is present echo '<table><td><img border="2"
into text file “control.t xt” at location src="images/banner/00.jpg"
"C:\ xampp\htdocs\explore\control.t xt" (Defau lt path). width="240" height="365" alt == "image 0 of 5">
4) If any command character is present, software sends that </td></table>';
break;
character to RTU via COM port.
}
5) The MTU sends the data to Control Center at the regular
interval of 5 seconds. So above sequence is repeated on case 'B':
every 5 seconds. {
Server Side programming & GUI echo '<table><td><img border="2"
src="images/banner/01.jpg"
The programming language used for the website width="240" height="365" alt = "image 1 of 5">
designing is HTML (Hyper Text Markup Language) and </td></table>';
PHP (HyperText Processor). PHP code is executed on the break;
server itself. HTML and PHP both are open source }
programming languages which reduces system cost. Tasks
performed by PHP code are; case 'C':
{
1) Reads the “log.txt” file fro m the location
echo '<table><td><img border="2"
"C:\ xampp\htdocs\explore\ log.t xt" (Default path). src="images/banner/02.jpg"
2) Extracts the last 5 characters from the file, which is width="240" height="365" alt = "image 2 of 5">
nothing but the current status of the firm. </td></table>';
3) The code analyses string & selects corresponding break;
image to be displayed for various parameters. }
The webpage showing the status of the firm is given in
case 'D':
Image_2: Webpage_Status in the ANNEXURE at the end of {
the report. The abstract code for the PHP programming is echo '<table><td><img border="2"
given below. src="images/banner/03.jpg"
width="240" height="365" alt = "image 3 of 5">
/*code for reading “log.t xt” file </td></table>';
$myFile = "C:/ xampp/htdocs/explore/log.t xt"; break;
$fh = fopen($myFile, 'r'); }

fseek($fh,-7,2); case 'E':


$pulses=fread($fh, 1); {
$light=fread($fh, 1); echo '<table><td><img border="2"
$water=fread($fh, 1); src="images/banner/04.jpg"
$humid=fread($fh, 1); width="240" height="365" alt = "image 4 of 5">
$temp=fread($fh, 1); </td></table>';
fclose($fh ); break;
}
Thus status of the firm is read fro m “log.t xt” file. Various
elements of array are extracted and stored into 5 different default:
variables. Later on, switch case statement is used to select {
echo '<table><td><img border="2"
and update images. The database for water levels co mprises
src="images/banner/00.jpg"
of 5 d ifferent images stored on the server. width="240" height="365" alt = "image 0 of 5">
</td></table>';
break;
}
}

WATER LEVELS

The same procedure is used to indicate the amb ient light


intensity. The database comprises of 2 different images to
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 7
indicate the status of flood light, wh ich in turn depends on
/* Displaying Status of parameters*/
status of ambient light intensity. If amb ient light intensity is
less than threshold, flood light are turned on. If ambient light <?php
intensity is greater than threshold, flood light are turned off. echo "Relative Hu mid ity: $hu midity %";
Images in database are given below, ?>
<?php
echo "Spindle Speed: $rp m RPM";
?>
<?php
echo "Temperature: $temperature ºC";
?>
<?php
echo "Fire Alarm: $alarm ";
?>
Flood Lights ON Flood Lights OFF
Command buttons for controlling the devices

/*code to indicate amb ient light intensity & flood light In the hardware, 2 devices are used for demonstration
status*/ purpose that can be controlled fro m internet. The devices
used in the hardware are bu zzer and LED. In PHP
switch($light) programming, 4 co mmand buttons are used to control the
{
devices. The buttons are Device_1 ON, Device_1 OFF,
case 'A': Device_2 ON and Device_2 OFF which are used to Turn On
{ LED, Turn Off LED, Turn On Buzzer and Turn Off Bu zzer
echo '<table><td><img border="2" respectively. On the click of co mmand buttons, various
src="images/bulb/on.jpg" actions can be performed in PHP programming. The task
width="240" height="365" alt = "image 0 of 2"> performed here is, saving a control character in “control.t xt”
</td></table>'; file at the path given by C:/ xampp/htdocs/explore/control.t xt.
break;
} The code for saving control character is given below,

/* code for saving the control character*/


case 'B':
{ <?php
echo '<table><td><img border="2" $myFile = "control.t xt";
src="images/bulb/off.jpg" $fh = fopen($myFile, 'a+');
width="240" height="365" alt = "image 1 of 2">
</td></table>';
break; if($_ GET["formVar"] == "formA")
} $stringData = 'A';
if($_ GET["formVar"] == "formB")
default: $stringData = 'B';
{ if($_ GET["formVar"] == "formC")
echo '<table><td><img border="2" $stringData = 'C';
src="images/bulb/on.jpg"
if($_ GET["formVar"] == "formD")
width="240" height="365" alt = "image 1 of 2">
</td></table>'; $stringData = 'D';
break; fwrite($fh, $stringData);
} fclose($fh );
} ?>

The remaining parameters i.e. hu midity, temperature, RPM On click of Device_1 ON button, character „A‟ is store in
and fire alarm status are indicated using following code. “control.txt” file. In the same way character „B‟,‟C‟,‟D‟ are
stored in control.txt file on the click of Device_ 1 OFF,
/*calculating status of parameters*/
Device_2 ON, Dev ice_2 OFF buttons respectively. The same
$rp m= ord($pulses)*60; “control.txt” file is used by Data logging and Device control
//ascii to integer conversion software at regular intervals. The file is read and control
$temperature=ord($temp)*2; characters are sent serially to MTU as stated earlier.
$humidd=ord($hu mid)* 0.2745;
$humidity=abs(90-$hu midd);
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 8
Authentication for webpage access
/*TEXT BOX 1 GIVES PULSE COUNT== RPM*/
a = Asc(Mid(encoded, 1, 1))
pulses = a * 60
/* number of pulses in 1 second *60 is RPM*/
Label13.Caption = pu lses

/*TEXT BOX 2 AM BIENT LIGHT INTENSITY


Figure_10: Password Authentication STATUS*/
light = Asc(Mid(encoded, 2, 1))
On typing the URL of the Control Center, first
webpage appears as a password authentication webpage. A Select Case light
Case 65 /*A means good intensity*/
status webpage will be displayed only after entering valid
Label9.Caption = "A mbient Light GOOD"
password. Server has IPSec security running on it in order to
Label10.Caption = "Flood Lights OFF"
ensure security. This can be extended to VPN (Virtual Image2.Picture = LoadPicture(App.Path &
Private Network) also. "\bulb_off.jpg")

GUI for local machine Case 66 /*B means bad intensity*/


In order to give the status of the firm only on local Label9.Caption = "A mbient Lights BAD"
Label10.Caption = "Flood Light ON"
mach ine, Visual BASIC 6 software is used for developing
Image2.Picture = LoadPicture(App.Path &
GUI. The imp lemented GUI is shown in the Image_3: GUI "\bulb_on.jpg")
Local Machine in A NNEXURE at the end of report.
GUI window is divided into two sections. /*TEXT BOX 3 water level status*/
-System Status water = Asc(Mid(encoded, 3, 1))
-System Control
Select Case water
Case 65 'check for character A
System Status
Image1.Picture = LoadPicture(App.Path & " \0
Tasks performed by program are, thumb.jpg")
1) Reads the data coming fro m RTU i.e. Label8.Caption = " EMPTY"
Microcontroller P89V51RD2. i.e. it receives a
Status_Array. Case 66 'check for character B
2) The received array is decoded i.e. string parsing. Image1.Picture = LoadPicture(App.Path & " \1
3) Depending upon the characters received particular thumb.jpg")
Label8.Caption = " 25%"
image is selected from database and the values for
different parameters are updated. Case 67 'check for character C
Abstract code and description is given in Code_block_1. Image1.Picture = LoadPicture(App.Path & " \2
The program works similar to PHP code. Various switch thumb.jpg")
case statements are given below. The Status_Array is Label8.Caption = "50%"
decoded and stored into individual variab les as shown
Case 68
Table_2: Array_ Extract ion
Image1.Picture = LoadPicture(App.Path & " \3
Status_Array[ 0] pulses thumb.jpg")
Status_Array[ 1] light Label8.Caption = "75%"
Status_Array[ 2] water
Status_Array[ 3] humid ity Case 69
Image1.Picture = LoadPicture(App.Path & " \4
Status_Array[ 4] temperature
thumb.jpg")
Table_2: Array_Extraction
Label8.Caption = "FULL"
End Select
System control
In order to control the output devices connected, /*TEXT BOX 4 gives humidity percentage*/
four control buttons are provided. The buttons are Device_1: h = Asc(Mid(encoded, 4, 1))
ON & OFF, Device_ 2: ON & OFF. On click of the command humid = h * 0.2745
buttons, characters are sent serially to the microcontroller. humidity = 90 - hu mid
Label11.Caption = hu midity
The characters sent are „A‟,‟B‟,‟C‟,‟D‟ for click on
Device_1: ON, OFF and Device_ 2: ON,OFF respectively. /*'TEXT BOX 5 g ives temperature*/
The characters are sent serially to RTU. Abstract code for t = Asc(Mid(encoded, 5, 1))
system control section is given in Code_block_2. temperature = t * 2
Label12.Caption = temperature
//****Code_ block_1****//
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 9

Private Sub Co mmand1_ Click() The website for the project is saved into the directory
MSCo mm1.Output = "A" “C:\ xampp\htdocs\explore” (defau lt path). So, to access a
Co mmand1.BackColor = vb Green “home.php” page from browser we need to specify IP
Co mmand1.Enabled = False address or domain name of Control Center, i.e.
Co mmand2.Enabled = True http://<ip>or<do main_name>/exp lore. User is automatically
Label22.Caption = " Device 1 is ON" redirected to password authentication window (Figure_10).
End Sub
IV. USE OF IEEE STA NDA RDS
Private Sub Co mmand2_ Click() 1) IEEE C37.1 SCADA and automation standards are
MSCo mm1.Output = "B" implemented.
Co mmand1.Enabled = True 2) Two control centers can commun icate with each other by
Co mmand2.BackCo lor = vbRed using IEEE 802.3 LAN standard. (Project currently does not
Co mmand2.Enabled = False involve mult iple Control Centers)
Co mmand1.BackCo lor = vbButtonFace 3) Internet is used to access particular Control Center with
Label22.Caption = "Device 1 is OFF" static IP address/ Domain name fro m distant place.
End Sub
V. CURRENT STATE OF THE PROJECT
Private Sub Co mmand3_ Click() (WORKING PROTOTYPE)
MSCo mm1.Output = "C" The following section will give the exact details of
Co mmand3.BackColor = vb Green the project functionality in sequential manner with few
Co mmand3.Enabled = False snapshots. Abstract code for microcontroller program is
Co mmand4.Enabled = True given in Code_block_3 on next page.
Label24.Caption = " Device 2 is ON" Program Execution flow:
End Sub a) All the port directions are initialized as per the
hardware demands. The pins are configured as input
Private Sub Co mmand4_ Click() if we want to read the pins. The pins are configured
MSCo mm1.Output = "D" as output if we want to use that pins to signal the
Co mmand3.Enabled = True other devices/pins.
Co mmand4.BackCo lor = vbRed b) LCD wh ich is present on RTU is initialized for
Co mmand4.Enabled = False displaying the status of the firm locally.
Co mmand3.BackCo lor = vbButtonFace c) ADC-0808 is initialized for reading the analog
Label24.Caption = "Dev ice 2 is OFF" voltages coming fro m temperature sensor and
End Sub humid ity sensor.
//****Code_block_2****// d) Serial co mmunication of the microcontroller is
configured for co mmunicating serially with Control
Center.
Server configuration for control center e) Welcome message is displayed on the screen after
The software, XAMPP is used to configure personal all the init ializations are made.
computer as a server. XAMPP is open source software which
eliminates software licensing cost.

Now the following sequence of code instructions is executed


repeatedly.
f) Analog Channel zero (AN0) of ADC-0808 is read
for reading analog voltage coming fro m humidity
sensor.
g) The humid ity is displayed on the LCD screen as
well as Status_Array[3] is also updated.
h) Analog Channel one (AN1) of ADC-0808 is read
Figure 11: XAMPP Control Panel
for read ing analog voltage coming fro m temperature
sensor.

Figure 11: XAMPP Control Panel


IEEE C37.1: IEEE Standard for SCADA and Automation Systems 10

/*HEADER FILES FOR PROGRAM*/ i) The temperature is displayed on the LCD screen as
#include <reg51.h >
#include <math.h>
#include <serial_functions.h>
#include <lcd_4b it_functions.h>
#include <adc0808.h >
well as Status_Array [4] is also updated.
#include <misc_functions.h>
#include <LCD_and_TRANSMISION.h>
j) The status of humidity and temperature is kept on
LCD fo r 2 seconds.
void main (void)
k) The status of the water level in the reservoir tank is
{
read by reading status of port pins. The
Initialize_port_directions(); (a)
Status_Array[2] is also updated.
Init LCD(); //initialize LCD (b)
l) Water level is displayed on the LCD in terms of
InitADC(); //initialize A DC (c)
percentage in the steps of 0%, 25%, 50%, 75% and
configure_serial(); //in itialize serial co mmunicat ion (d)
ClearLCDScreen(); 100%. 0% and 100% corresponds to EMPTY and
welco me_ message(); (e)

while (1)
{
/*HUMIDITY M EASUREMNT*/
read_adc_channel_zero(); (f)
display_lcd_channel_zero(); (g) FULL level.
m) The measurement of the RPM is carried out by the
/*TEMPERATURE M EASUREM ENT*/ referred function. Pu lses coming fro m the sensor are
read_adc_channel_one(); (h) measured for the duration of 2 seconds. The count
of pulses is updated in TL0 register of
display_lcd_channel_one(); (i) microcontroller. The Status_Array[0] is also
delay_1s(); (j) updated. RPM can be calculated as,
delay_1s(); RPM = nu mber of Pulses*30;
n) The water level and RPM is displayed
/*SENSING WATER LEVEL*/ simu ltaneously on the screen.
detect_water_level(); (k) o) The status of water level and RPM is kept on the
display_lcd_water_level(); (l) screen for 2 seconds.
p) The status of pin to which output of ambient light
/*RPM M EASUREM ENT*/ intensity sensor is connected is now read. If amb ient
WriteCo mmandToLCD(0xc0); light intensity is less than particular threshold level,
WriteStringToLCD("MEASURING RPM ..."); (m) microcontroller itself turns on flood light connected
to one of its pins. This is how; processing power is
measure_pulses(); given to RTU. At the same time Status_Array[1] is
display_lcd_rpm(); (n) also updated.
delay_1s(); (o) q) Status of ambient light intensity along with status of
delay_1s();

/*AMBIENT LIGHT INTENSITY M EASUSREMNT*/


detect_ambient_light_intensity(); (p)
display_lcd_ambient_light_intensity(); (q)
delay_1s(); (r) flood light is displayed on LCD screen.
delay_1s(); r) The status of ambient light intensity and status of
flood lights is kept on LCD screen for 2 seconds
/*SEND STATUS_ARRA Y TO CONTROL CENTER*/ s) Once all the measurement and display function are
send_status_to_serial_port(); (s) over, Status_Array contains 5 latest values of
system status. This Status_Array is sent serially to
}/*while(1) ends here*/ microcontroller.
}/*end of main*/
//**** Code_block_3*****//
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 11
Now, programs flo w goes back to stage (f). This is how a About the author:
RTU works. Aman M. Maldar is a Final Year Electronics
VI. CONCLUSION student (B.Tech. Electronics) in Walchand
College of Engineering, Sangli (an Autonomous
This project describes the imp lementation of the Institute) from M aharashtra, India. He has
IEEE C37.1 SCADA and automation standard terminologies , received a grant from “IEEE Standards
having a combination of hardware and software. The project Education” for the project “Implementing
involves 6 parameters to be monitored, one RTU and one SCADA System for Industrial Environment
Control Center to form a s mall firm to demonstrate SCADA Using „IEEE C37.1‟ Standards”. He has presented his project
“Smart Public Transport System with Bus Arrival Timing and
system.
Vacancy Indication” in “Texas Instrument Analog Design Contest
Implementation of the terminologies mentioned in
2014”. He has been also shortlisted in “EnginX project competition
the documents is the heart of the project. The expected
2013” organized by Tata Consultancy Services, India.
implementation of IEDs, RTUs, Control Center and sensors
is done to fulfill their features. The project involves a About the mentor:
challenging part of developing software applications on the S unil G. Tamhankar ( M . E. Electronics) is
server side to emulate the functions of the Control Center. Assistant Professor Electronics Engineering, in
The Visual Basic 6 and PHP programming can be used at the Walchand College of Engineering, Sangli from
Control Center with limited scope of automation i.e. s ystem M aharashtra, India. He has 2 years of industrial
can be developed for a small firm with few parameters to be and 15 years of academic Experience, currently
working in the area of Cyber Physical S ystem
monitored and displayed. The project uses website designing
(CPS) communication protocols and security.
languages like HTM L, PHP wh ich are open source which
eliminates the investment cost so as to reduce the
development cost of project. The XAMPP software which is
again open source provides an efficient tool for server
configuration at no cost.

VII. REFERENCES
[1]http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?reload=true&
punumber=4518928
[2]http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=04518930
[3]http://msdn.microsoft.com/en-us/library/kehz1dz1%28v=vs. 90%
29.aspx
[4] http://en.wikipedia.org/wiki/SCADA
[5] http://www.w3schools.com/PHP/
[6] http://www.w3schools.com/html/default.asp
IEEE C37.1: IEEE Standard for SCADA and Automation Systems 12

ANNEXURE: Images

Image_1: S ystem Overview


IEEE C37.1: IEEE Standard for SCADA and Automation Systems 13
Image_2 (next i mage) show snapshot of actual webpage designed for the showing system status.

Image_2: Webpage S tatus

Image_3 (next i mage) shows snapshot of the actual GUI at the Control Center designed using VIS UAL B ASIC 6.

Image_3: GUI Local Machine


IEEE C37.1: IEEE Standard for SCADA and Automation Systems 14

Image_4: Project Hardware (Actual project hardware designed for the system)

Image_5: Author (Right) & Mentor (Left) with project

You might also like