PLC and scada

28
Parking system using PLC SCADA Greater Noida institute of Technology, Greater Noida 1 CHAPTER 5 PROGRAMMABLE LOGIC CONTROLLER A programmable logic controller (PLC), also referred to as programmable controller, is the name given to a type of computer commonly used in commercial and industrial control applications. PLCs differ from office computers in the types of tasks that they perform and the hardware and software they require to perform these tasks. While the specific applications vary widely, all PLCs monitor inputs and other variable values, make decisions based on a stored program, and control outputs to automate a process or machine.

Transcript of PLC and scada

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 1

CHAPTER 5

PROGRAMMABLE LOGIC CONTROLLER

A programmable logic controller (PLC), also referred to as

programmable controller, is the name given to a type of computer

commonly used in commercial and industrial control applications.

PLCs differ from office computers in the types of tasks that they

perform and the hardware and software they require to perform these

tasks. While the specific applications vary widely, all PLCs monitor

inputs and other variable values, make decisions based on a stored

program, and control outputs to automate a process or machine.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 2

Input

Module

Central Processing Unit

(CPU)

Programming

Device

Operator

Interface

5.1 BASIC PLC OPERATION

The basic elements of a PLC include input modules or points, a central processing unit (CPU), output modules or points, and a programming device. The type of input modules or points used by a PLC depends upon the types of input devices used.

Some input modules or points respond to digital inputs, also called discrete inputs, which are either on or off. Other modules or inputs respond to analog signals. These analog signals represent machine or process conditions as a range of voltage or current values. The primary function of a PLC’s input circuitry is to convert the signals provided by these various switches and sensors into logic signals that can be used by the CPU.

The CPU evaluates the status of inputs, outputs, and other variables as it executes a stored program. The CPU then sends signals to update the status of outputs.

Output modules convert control signals from the CPU into digital or analog values that can be used to control various output devices.

The programming device is used to enter or change the PLC’s program or to monitor or change stored values. Once entered, the program and associated variables are stored in the CPU.

In addition to these basic elements, a PLC system may also incorporate an operator interface device to simplify monitoring of the machine or process.

Output

Module

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 3

5.2 HARD-WIRED CONTROL

Prior to PLCs, many control tasks were performed by contactors , control relays, and other electromechanical devices. This is often referred to as hard-wired control. Circuit diagrams had to be designed, electrical components specified and installed and wiring lists created. Electricians would then wire the components necessary to perform a specific task. If an error was made, the wires had to be reconnected correctly. A change in function or system expansion required extensive component changes and rewiring.

5.3 ADVANTAGES OF PLCs

PLCs not only are capable of performing the same tasks as hard-wired control, but are also capable of many more complex applications. In addition, the PLC program and electronic communication lines replace much of the interconnecting wires required by hard-wired control. Therefore, hard-wiring, though still required to connect field devices, is less intensive. This also makes correcting errors and modifying the application easier.

Some of the additional advantages of PLCs are as follows:

Smaller physical size than hard-wire solutions.

Easier and faster to make changes.

PLCs have integrated diagnostics and override functions.

Diagnostics are centrally available .

Applications can be immediately documented.

Applications can be duplicated faster and less expensively.

M OL

T1 L1

M

460 VAC L2

OL

T2

OL

T3

Motor

M

L3

OL

1 M

CR

24 VAC

Start Stop

2 CR

CR

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 4

5.4 SIEMENS MODULAR PLCs

Siemens SIMATIC PLCs are the foundation upon which our Totally Integrated Automation (TIA) concept is based. Because the needs of end users and machine builders vary widely, SIMATIC PLCs are available as conventional modular controllers, embedded automation products, or as PC-based c o n t r o l l e r s .

Modular SIMATIC controllers are optimized for control tasks and can be adapted to meet application requirements using plug-in modules for input/output (I/O), special functions, and communications. Examples of products in this category include: LOGO! S7-200, and S7-1200 micro automation products, S7-300 and S7-400 modular system PLCs, C7 combination controller and panel, and ET 200 distributed I/O system with local intelligence.

Simactic S7- 200

Simatic S7-300

Simatic S7-400

5.5 OTHER SIMATIC CONTROLLERS

PC-based controllers combine the ruggedness and open architecture of industrial personal computers (PCs) with the powerful SIMATIC Win AC software PLC. A SIMATIC S7 is integrated into the PC as a software PLC and the P C -based controller is configured and programmed with STEP 7 in exactly the same way as a normal S7 controller. All the automation components are integrated into a single industrial PC, resulting in a complete and cost-effective so lu t ion .

SF /DIAG

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 5

SIMATIC embedded bundles are a combination of hardware and software, preconfigured for all your automation tasks. The operating system is tailored and optimized for the hardware used. Because rotary parts are not needed, the resulting system is extremely rugged. Each embedded system combines the benefits of open PC-based controllers with the ruggedness of conventional controllers.

5.6 TERMINOLOGY

Developing an understanding of PLCs requires learning some basic terminology. This section provides an overview of commonly used PLC terms, beginning with the terms sensor and actuator.

5.6.1 SENSORS

Sensors are devices that convert a physical condition into an electrical signal for use by controller, such as a PLC. Sensors are connected to the input of a PLC. A pushbutton is one example of a sensor that is often connected to a PLC input. An electrical signal indicating the condition (open or closed) of the pushbutton contacts is sent from the pushbutton to the PLC.

5.6.2 ACTUATORS

Actuators are devices that convert an electrical signal from a

controller, such as a PLC, into a physical condition. Actuators are

connected to the PLC output. A motor starter is one example of an

actuator that is often connected to a PLC output. Depending on the

status of the PLC output, the motor starter either provides power to

the motor or prevents power from flowing to the motor.

5.7 DISCRETE INPUTS AND OUTPUTS

Discrete inputs and outputs, also referred to as digital inputs and outputs, are either on or off. Pushbuttons, toggle switches, limit switches, proximity switches, and relay contacts are examples of devices often connected to PLC discrete inputs.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 6

Solenoids, relay and contactor coils, and indicator lamps are examples of devices often connected to PLC discrete outputs.

In the on condition, a discrete input or output is represented internal to the PLC as a logic 1. In the off condition, a discrete input or output is represented as a logic 0.

5.8 ANALOG INPUTS AND OUTPUTS

Analog inputs and outputs are continuous, variable signals. Typical analog signals vary from 0 to 20 milliamps, 4 to 20 milliamps, or 0 to 10 volts.

In the following example, a level transmitter monitors the level of liquid in a storage tank and sends an analog signal to a PLC input. An analog output from the PLC sends an analog signal to a panel meter calibrated to show the level of liquid in the tank. Two other analog outputs, not shown here, are connected to current-to-pneumatic transducers that control air-operated flow- control valves. This allows the PLC to automatically control the flow of liquid into and out of the storage tank.

5.9 CPU

The central processor unit (CPU) is a microprocessor system that contains the system memory and is the PLC’s decision- making unit. The CPU monitors inputs, outputs, and other variables and makes decisions based on instructions held in its program memory.

5.10 LADDER LOGIC PROGRAMMING

The degree of complexity of a PLC program depends upon the complexity of the application, the number and type of input and output devices, and the types of instructions used.

Ladder logic (LAD) is one programming language used with PLCs. Ladder logic incorporates programming functions that are graphically displayed to resemble symbols used in hard-wired control diagrams.

The left vertical line of a ladder logic diagram represents the power or energized conductor. The output coil instruction represents the neutral or return path of the circuit. The right vertical line, which represents the return path on a hard-wired control line diagram, is omitted. Ladder logic diagrams are read from left-to-right and top-

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 7

to-bottom. Rungs are sometimes referred to as networks. A network may have several control elements, but only one output coil.

5.11 PLC SCAN

The PLC program is executed as part of a repetitive process referred to as a scan. A PLC scan starts with the CPU reading the status of inputs. Next, the application program is executed.

Then, the CPU performs internal diagnostics and communication tasks. Finally, the CPU updates the status of outputs. This process repeats as long as the CPU in the run mode. The time required to complete a scan depends on the size of the program the number of I/Os, and the amount of communication required.

5.12 MEMORY TYPES AND SIZE

Kilo, abbreviated k, normally refers to 1000 units. When talking about computer or PLC memory, however, 1k means 1024.

Random Access Memory (RAM) is memory that allows data to be written to and read from any address(location). RAM is used as a temporary storage area. RAM is volatile, meaning that the data stored in RAM will be lost if power is lost. A battery backup is required to avoid losing data in the event of a power loss.

Read Only Memory (ROM) is a type of memory used were it is necessary to protect data or programs from acc iden ta l erasure. The data stored in ROM can be read, but not changed. In addition, ROM memory is nonvolatile. This means that information will not be lost as the result of a loss of electrical power. ROM is normally used to store the programs that define the capabilities of the PLC.

Erasable Programmable Read Only Memory (EPROM) provides a level of security against unauthorized or unwanted changes in a program. EPROMs are designed so that data stored in them can be read, but not easily altered. Changing EPROM data requires a special effort. UVEPROMs (ultraviolet erasable programmable read only memory) can only be erased with an ultraviolet light. EEPROM (electrically erasable programmable read only memory), can only be erased electrically.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 8

5.13 SOFTWARE, HARDWARE AND FIRMWARE

Software is the name given to computer instructions, regardless of

the programming language. Essentially, software includes the

instructions or programs that direct hardware.

Hardware is the name given to all the physical components of a system. The PLC, the programming device, and the connecting cable are examples of hardware.

Firmware is user or application specific software burned into EPROM and delivered as part of the hardware. Firmware gives the PLC its basic functionality.

5.14 PUTTING IT TOGETHER

The user memory of a PLC, such as the S7-200 PLC shown in the following illustration, includes space for the user program as well as addressable memory locations for storage of data. The amount of program and data space available depends on the CPU model.

User program space stores instructions that are executed repetitively as part of the PLC scan. The user program is developed using a programming device, such as a personal computer (PC) with programming software, then loaded into the user program memory of the PLC.

A variety of addressable memory locations are used for storage of data that is available to the user program. Among other things, this includes memory locations for variable data, discrete inputs and outputs, analog inputs and outputs, timers, counters, high-speed counters, etc.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 9

5.15 BASIC REQUIRMENTS

Throughout this course we will be using the S7-200 PLC for

specific examples of PLC concepts. The S7-200 PLC is used for

this purpose because of its ease of use and its wide-spread

application.

The items shown in the following illustration are needed to create or change an S7-200 PLC program. The program is created using STEP 7-Micro/WIN programming software, which runs on a Windows-based personal computer (Win2000, Windows XP, and higher operating sys tem).

A special cable is needed when a personal computer is used as a programming device. Two versions of this cable are available. One version, called an RS-232/PPI Multi-Master Cable, connects a personal computer’s RS-232 interface to the PLC’s RS-485 connector. The other version, called a USB/PPI Multi- Master Cable, connects a personal computer’s USB interface to the PLC’s RS-485 connector.

Firmware

Hardware

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 10

5.16 PROGRAMMING A PLC

STEP 7-Micro/WIN32: STEP 7-Micro/WIN is the software used with the S7-200 PLC to create a user program. STEP 7-Micro/WIN programs consist of a number of instructions that must be arranged in a logical order to obtain the desired PLC operation.

STEP 7-MicroWIN programming software can be run off line or online. Off-line programming allows the user to edit the program and perform a number of maintenance tasks. The PLC does not need to be connected to the programming device in this mode.

Online programming requires the PLC to be connected to the programming device. In this mode, program changes are downloaded to the PLC. In addition, status of the input/output elements can be monitored. The CPU can be started, stopped, or reset.

S7-200 PLCs have two instruction sets, SIMATIC and IEC 1131-3. The SIMATIC instruction set was developed by Siemens prior to the adoption of the IEC 1131-3 standard. The IEC 1131-3 instruction set was adopted by the International Electro Technical Commission (IEC) to provide a common approach for PLC programming. The IEC 1131-3instruction set is often preferred by users who work with PLCs from multiple suppliers.

STEP 7-Micro/WIN has three editors for program development, one for each of the types of programming available, ladder logic (LAD), statement list (STL), and function block diagram (FBD). The STL editor is often preferred by experienced programmers because of the similarity of STL programs to assembly language computer programs. However, the STL editor can only be used with the SIMATIC instruction set. Both the LAD and FBD editors can be used with either instruction set. Throughout this course, although other instruction types will occasionally be shown, the emphasis will be on SIMATIC LAD instructions.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 11

5.17 TIMERS

In a PLC, timers are programming functions that keep track of time and allow PLC programs to provide varied responses depending on the elapsed time.

5.17.1 HARD WIRE TIMING CIRCUIT

Timers in a PLC program can be compared to hard-wired timing circuits, such as the one represented in the accompanying control line diagram. In this example, normally open (NO) switch (S1) is used with timer (TR1). When S1 closes, TR1 begins timing. When the timer’s preset time elapses, TR1 closes its associated normally open TR1 contact and pilot light PL1 turns on. When S1 opens, TR1 de-energizes immediately, the TR1 contact opens, and PL1 turns off.

This type of timer is referred to as an on-delay timer. The term “on-delay” indicates that the timing begins when the timer receives a signal to turn on. In this example, that happens when S1 closes.

5.17.2 S7-200 SIMATIC TIMER

The S7-200 SIMATIC LAD instruction set includes three types of timers: On-Delay Timer (TON), Retentive On-Delay Timer (TONR), and Off-Delay Timer (TOF). Timers are represented in an S7-PLC ladder logic program by boxes.

S7-200 timers have a resolution of 1 millisecond,10 milliseconds, or 100 milliseconds. This resolution appears in the lower right corner of the timer box. As shown in the following illustration, the resolution and type of timer that can be used depends on the timer number. The maximum value of time shown is for a single timer. By adding program elements, greater time intervals can be timed.

5.17.3 SIMATIC ON-DELAY TIMER

The previous example illustrated how a hardware on-delay t i m e w o r k . The corresponding software function in the S7-200 SIMATIC LAD instruction set is the On-Delay Timer (TON).

When the On-Delay Timer’s (TON) enabling input (IN) goes to logic 1, the timer begins timing. After a preset time (PT), the timer bit (T-bit) turns on. The T-bit is a logic function internal to the timer

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 12

and is not shown on the symbol. The timer resets the accumulated time to zero when the enabling input goes to a logic 0.

In the following timer example, when input I0.3 turns on, the I0.3 contact closes, and timer T37 begins timing. T37 has a time base of 100 ms (0.1 seconds). The preset time (PT) value has been set to 150. Because the resolution of the timer is set to 100 ms, a preset value of 150 is equal to 15 seconds (150 x 100 ms). Therefore, 15 seconds after the I0.3 contact closes, timer bit T37 becomes a logic 1, the T37 contact closes, and output coil Q0.1 and its associated output point turn on.

5.18 COUNTERS

Just like mechanical counters, PLC counter instructions keep track of events. As it counts, a counter instruction compares an accumulated count value to a preset value to determine when the desired count has been reached. Counters can be used to start an operation when a count is reached or to prevent an operation from occurring until a count has been reached.

5.18.1 S7-200 SIMATIC COUNTERS

The S7-200 SIMATIC LAD instruction set includes three types of counters: Count Up Counter (CTU), Count Down Counter (CTD), and Count Up/Down Counter (CTUD).

The Count Up Counter (CTU) counts up by one each time the count up (CU) input transitions from off to on. When the accumulated count equals the preset value (PV) the counter bit (not shown) turns on. The counter continues to count until the accumulated count equals the maximum value (32767).

When the reset input (R) turns on or when a Reset instruction is executed, the accumulated count resets to zero and the counter bit turns off.

The Count Down Counter (CTD) counts down by one each time the count down (CD) input transitions from off to on. When the count reaches zero, the counter bit turns on. When the load (LD) input turns on, the counter resets the current value to equal the preset value (PV), and the counter bit turns off.

The Count Up/Down Counter (CTUD) counts up by one each time the count up (CU) input transitions from off to on and counts down by one each time the countdown (CD) input transitions from off to on. When the accumulated count equals the preset value (PV), the counter bit turns on. When the reset input (R)

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 13

turns on or when a Reset instruction is executed, the accumulated count resets to zero and the counter bit turns off.

If the count reaches the maximum positive value (32,767), the next count up input sets the accumulated count to the maximum negative value (-32,767). Similarly, if the count reaches the maximum negative value, the next down count sets the accumulated count to the maximum positive value.

5.18.2 COUNTUP/DOWN COUNTER

Counters are common instructions used for counting a wide variety of events such as parts manufactured or packed, processed, machine operations, etc. For example, a counter might be used to keep track of the items in an inventory storage area.

In the following example, Count Up/down Counter (CTUD) C48 is reset to zero when contact I0.2 closes. This could be event could be triggered automatically or manually to indicate that the associated storage location is empty.

When contact I0.0 closes, the counter counts up by 1. This could be triggered by a proximity switch sensing that an item has been placed in the storage location.

When contact I0.1 closes, the counter counts down by 1. This could be triggered by a proximity switch sensing that an item has been removed from the storage location.

In this example, the storage location has 150 spaces. When the accumulated count reaches 150, the counter bit turns on, contact C48 closes, and output Q0.1 turns on.

This could trigger other logic in the program to divert new items to another location until such time as an item is removed from this location.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 14

CHAPTER 6

SCADA SCADA: Acronym for supervisory control and data acquisition, a

computer system for gathering and analyzing real time data. SCADA

systems are used to monitor and control a plant or equipment in industries

such as telecommunications, water and waste control, energy, oil and gas

refining and transportation. A SCADA system gathers information, such

as where a leak on a pipeline has occurred, transfers the information back

to a central site, alerting the home station that the leak has occurred,

carrying out necessary analysis and control, such as determining if the

leak is critical, and displaying the information in a logical and organized

fashion. SCADA systems can be relatively simple, such as one that

monitors environmental conditions of a small office building, or

incredibly complex, such as a system that monitors all the activity in a

nuclear power plant or the activity of a municipal water system.

SCADA systems were first used in the 1960s.

6.1 REAL TIME

Last modified: Wednesday, August 13, 2003

Occurring immediately. The term is used to describe a number of

different computer features. For example, real-time operating systems are

systems that respond to input immediately. They are used for such tasks

as navigation, in which the computer must react to a steady flow of new

information without interruption. Most general-purpose operating

systems are not real-time because they can take a few seconds, or even

minutes, to react.

Real time can also refer to events simulated by a computer at the same

speed that they would occur in real life. In graphics animation, for

example, a real-time program would display objects moving across the

screen at the same speed that they would actually move.

computer

Last modified: Friday, January 04, 2002

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 15

A programmable machine. The two principal characteristics of a

computer are:

It responds to a specific set of instructions in a well-defined

manner.

It can execute a pre-recorded list of instructions (a program).

Modern computers are electronic and digital. The actual machinery --

wires, transistors, and circuits -- is called hardware; the instructions and

data are called software.

All general-purpose computers require the following hardware

components:

a) memory : Enables a computer to store, at least temporarily,

data and programs.

b) mass storage device : Allows a computer to permanently

retain large amounts of data. Common mass storage devices

include disk drives and tape drives.

c) input device : Usually a keyboard and mouse, the input

device is the conduit through which data and instructions

enter a computer.

d) output device : A display screen, printer, or other device

that lets you see what the computer has accomplished.

e) central processing unit (CPU): The heart of the computer,

this is the component that actually executes instructions.

In addition to these components, many others make it possible for the

basic components to work together efficiently. For example, every

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 16

computer requires a bus that transmits data from one part of the computer

to another.

Computers can be generally classified by size and power as follows,

though there is considerable overlap:

a) personal computer : A small, single-user computer based

on a microprocessor. In addition to the microprocessor, a

personal computer has a keyboard for entering data, a

monitor for displaying information, and a storage device for

saving data.

b) workstation : A powerful, single-user computer. A

workstation is like a personal computer, but it has a more

powerful microprocessor and a higher-quality monitor.

c) minicomputer : A multi-user computer capable of

supporting from 10 to hundreds of users simultaneously.

d) mainframe : A powerful multi-user computer capable of

supporting many hundreds or thousands of users

simultaneously.

e) supercomputer : An extremely fast computer that can

perform hundreds of millions of instructions per second.

operating system

Last modified: Friday, January 04, 2002

The most important program that runs on a computer. Every general-

purpose computer must have an operating system to run other programs.

Operating systems perform basic tasks, such as recognizing input from

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 17

the keyboard, sending output to the display screen, keeping track of files

and directories on the disk, and controlling peripheral devices such as

disk drives and printers.

For large systems, the operating system has even greater responsibilities

and powers. It is like a traffic cop -- it makes sure that different programs

and users running at the same time do not interfere with each other. The

operating system is also responsible for security, ensuring that

unauthorized users do not access the system.

Operating systems can be classified as follows:

a) multi-user : Allows two or more users to run programs at

the same time. Some operating systems permit hundreds or

even thousands of concurrent users.

b) multiprocessing : Supports running a program on more than

one CPU.

c) multitasking : Allows more than one program to run

concurrently.

d) multithreading : Allows different parts of a single program

to run concurrently.

e) real time: Responds to input instantly. General-purpose

operating systems, such as DOS and UNIX, are not real-

time.

Operating systems provide a software platform on top of which other

programs, called application programs, can run. The application

programs must be written to run on top of a particular operating system.

Your choice of operating system, therefore, determines to a great extent

the applications you can run. For PCs, the most popular operating

systems are DOS, OS/2, and Windows, but others are available, such as

Linux.

6.2 What does SCADA MEAN?

SCADA stands for Supervisory Control And Data Acquisition. As the

name indicates, it is not a full control system, but rather focuses on the

supervisory level. As such, it is a purely software package that is

positioned on top of hardware to which it is interfaced, in general via

Programmable Logic Controllers (PLCs), or other commercial hardware

modules.

SCADA systems are used not only in industrial processes: e.g. steel

making, power generation (conventional and nuclear) and distribution,

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 18

chemistry, but also in some experimental facilities such as nuclear fusion.

The size of such plants range from a few 1000 to several 10 thousands

input/output (I/O) channels. However, SCADA systems evolve rapidly

and are now penetrating the market of plants with a number of I/O

channels of several 100 K: we know of two cases of near to 1 M I/O

channels currently under development.

SCADA systems used to run on DOS, VMS and UNIX; in recent years

all SCADA vendors have moved to NT and some also to Linux.

6.3 ARCHITECTURE This section describes the common features of the SCADA products that

have been evaluated at CERN in view of their possible application to the

control systems of the LHC detectors.

6.3.1 HARDWARE ARCHITECTURE

One distinguishes two basic layers in a SCADA system: the "client layer"

which caters for the man machine interaction and the "data server layer"

which handles most of the process data control activities. The data servers

communicate with devices in the field through process controllers.

Process controllers, e.g. PLCs, are connected to the data servers either

directly or via networks or fieldbuses that are proprietary (e.g. Siemens

H1), or non-proprietary (e.g. Profibus). Data servers are connected to

each other and to client stations via an Ethernet LAN. The data servers

and client stations are NT platforms but for many products the client

stations may also be W95 machines. Fig.1. shows typical hardware

architecture.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 19

Figure 1: Typical Hardware Architecture

6.3.2 SOFTWARE ARCHITECTURE

The products are multi-tasking and are based upon a real-time database

(RTDB) located in one or more servers. Servers are responsible for data

acquisition and handling (e.g. polling controllers, alarm checking,

calculations, logging and archiving) on a set of parameters, typically

those they are connected to.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 20

Figure 2: Generic Software Architecture

However, it is possible to have dedicated servers for particular tasks, e.g.

historian, data logger, alarm handler. Fig. 2 shows a SCADA architecture

that is generic for the products that were evaluated.

6.3.3 COMMUNICATIONS

Internal Communication

Server-client and server-server communication is in general on a publish-

subscribe and event-driven basis and uses a TCP/IP protocol, i.e., a client

application subscribes to a parameter which is owned by a particular

server application and only changes to that parameter are then

communicated to the client application.

Access to Devices

The data servers poll the controllers at a user defined polling rate. The

polling rate may be different for different parameters. The controllers

pass the requested parameters to the data servers. Time stamping of the

process parameters is typically performed in the controllers and this time-

stamp is taken over by the data server. If the controller and

communication protocol used support unsolicited data transfer, then the

products will support this too.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 21

The products provide communication drivers for most of the common

PLCs and widely used field-buses, e.g., Modbus. Of the three fieldbuses

that are recommended at CERN, both Profibus and Worldfip are

supported but CANbus often not .Some of the drivers are based on third

party products (e.g., Applicom cards) and therefore have additional cost

associated with them. VME on the other hand is generally not supported.

A single data server can support multiple communications protocols: it

can generally support as many such protocols as it has slots for interface

cards.

The effort required to develop new drivers is typically in the range of 2-6

weeks depending on the complexity and similarity with existing drivers,

and a driver development toolkit is provided for this.

6.3.4 INTERFACING

Application Interfaces / Openness

The provision of OPC client functionality for SCADA to access devices

in an open and standard manner is developing. There still seems to be a

lack of devices/controllers, which provide OPC server software, but this

improves rapidly as most of the producers of controllers are actively

involved in the development of this standard. OPC has been evaluated by

the CERN-IT-CO group.

The products also provide

an Open Data Base Connectivity (ODBC) interface to the data in

the archive/logs, but not to the configuration database,

an ASCII import/export facility for configuration data,

a library of APIs supporting C, C++, and Visual Basic (VB) to

access data in the RTDB, logs and archive. The API often does not

provide access to the product's internal features such as alarm

handling, reporting, trending, etc.

The PC products provide support for the Microsoft standards such as

Dynamic Data Exchange (DDE) which allows e.g. to visualise data

dynamically in an EXCEL spreadsheet, Dynamic Link Library (DLL) and

Object Linking and Embedding (OLE).

Database

The configuration data are stored in a database that is logically

centralised but physically distributed and that is generally of a proprietary

format.

For performance reasons, the RTDB resides in the memory of the servers

and is also of proprietary format.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 22

The archive and logging format is usually also proprietary for

performance reasons, but some products do support logging to a

Relational Data Base Management System (RDBMS) at a slower rate

either directly or via an ODBC interface.

6.3.5 SCALABILITY

Scalability is understood as the possibility to extend the SCADA based

control system by adding more process variables, more specialised

servers (e.g. for alarm handling) or more clients. The products achieve

scalability by having multiple data servers connected to multiple

controllers. Each data server has its own configuration database and

RTDB and is responsible for the handling of a sub-set of the process

variables (acquisition, alarm handling, archiving).

6.3.6 Redundancy The products often have built in software redundancy at a server level,

which is normally transparent to the user. Many of the products also

provide more complete redundancy solutions if required.

6.4 FUNCTIONALITY

6.4.1 ACCESS CONTROL Users are allocated to groups, which have defined read/write access

privileges to the process parameters in the system and often also to

specific product functionality.

6.4.2 MMI The products support multiple screens, which can contain combinations

of synoptic diagrams and text.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 23

They also support the concept of a "generic" graphical object with links

to process variables. These objects can be "dragged and dropped" from a

library and included into a synoptic diagram.

Most of the SCADA products that were evaluated decompose the process

in "atomic" parameters (e.g. a power supply current, its maximum value,

its on/off status, etc.) to which a Tag-name is associated. The Tag-names

used to link graphical objects to devices can be edited as required. The

products include a library of standard graphical symbols, many of which

would however not be applicable to the type of applications encountered

in the experimental physics community.

Standard windows editing facilities are provided: zooming, re-sizing,

scrolling... On-line configuration and customisation of the MMI is

possible for users with the appropriate privileges. Links can be created

between display pages to navigate from one view to another.

6.4.3 TRENDING

The products all provide trending facilities and one can summarise the

common capabilities as follows:

the parameters to be trended in a specific chart can be predefined

or defined on-line

a chart may contain more than 8 trended parameters or pens and an

unlimited number of charts can be displayed (restricted only by the

readability)

real-time and historical trending are possible, although generally

not in the same chart

historical trending is possible for any archived parameter

zooming and scrolling functions are provided

parameter values at the cursor position can be displayed

The trending feature is either provided as a separate module or as a

graphical object (ActiveX), which can then be embedded into a synoptic

display. XY and other statistical analysis plots are generally not provided.

6.4.4 ALARM HANDLING Alarm handling is based on limit and status checking and performed in

the data servers. More complicated expressions (using arithmetic or

logical expressions) can be developed by creating derived parameters on

which status or limit checking is then performed. The alarms are logically

handled centrally, i.e., the information only exists in one place and all

users see the same status (e.g., the acknowledgement), and multiple alarm

priority levels (in general many more than 3 such levels) are supported.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 24

It is generally possible to group alarms and to handle these as an entity

(typically filtering on group or acknowledgement of all alarms in a

group). Furthermore, it is possible to suppress alarms either individually

or as a complete group. The filtering of alarms seen on the alarm page or

when viewing the alarm log is also possible at least on priority, time and

group. However, relationships between alarms cannot generally be

defined in a straightforward manner. E-mails can be generated or

predefined actions automatically executed in response to alarm

conditions.

6.4.5 LOGGING/ARCHIVING The terms logging and archiving are often used to describe the same

facility. However, logging can be thought of as medium-term storage of

data on disk, whereas archiving is long-term storage of data either on disk

or on another permanent storage medium. Logging is typically performed

on a cyclic basis, i.e., once a certain file size, time period or number of

points is reached the data is overwritten. Logging of data can be

performed at a set frequency, or only initiated if the value changes or

when a specific predefined event occurs. Logged data can be transferred

to an archive once the log is full. The logged data is time-stamped and

can be filtered when viewed by a user. The logging of user actions is in

general performed together with either a user ID or station ID. There is

often also a VCR facility to play back archived data.

6.4.6 REPORT GENERATION One can produce reports using SQL type queries to the archive, RTDB or

logs. Although it is sometimes possible to embed EXCEL charts in the

report, a "cut and paste" capability is in general not provided. Facilities

exist to be able to automatically generate, print and archive reports.

6.4.7 AUTOMATION The majority of the products allow actions to be automatically triggered

by events. A scripting language provided by the SCADA products allows

these actions to be defined. In general, one can load a particular display,

send an Email, run a user defined application or script and write to the

RTDB.

The concept of recipes is supported, whereby a particular system

configuration can be saved to a file and then re-loaded at a later date.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 25

Sequencing is also supported whereby, as the name indicates, it is

possible to execute a more complex sequence of actions on one or more

devices. Sequences may also react to external events.

Some of the products do support an expert system but none has the

concept of a Finite State Machine (FSM).

6.5 APPLICATION DEVELOPMENT

6.5.1 CONFIGURATION The development of the applications is typically done in two stages. First

the process parameters and associated information (e.g. relating to alarm

conditions) are defined through some sort of parameter definition

template and then the graphics, including trending and alarm displays are

developed, and linked where appropriate to the process parameters. The

products also provide an ASCII Export/Import facility for the

configuration data (parameter definitions), which enables large numbers

of parameters to be configured in a more efficient manner using an

external editor such as Excel and then importing the data into the

configuration database.

However, many of the PC tools now have a Windows Explorer type

development studio. The developer then works with a number of folders,

which each contains a different aspect of the configuration, including the

graphics.

The facilities provided by the products for configuring very large

numbers of parameters are not very strong. However, this has not really

been an issue so far for most of the products to-date, as large applications

are typically about 50K I/O points and database population from within

an ASCII editor such as Excel is still a workable option.

On-line modifications to the configuration database and the graphics is

generally possible with the appropriate level of privileges.

6.5.2 DEVELOPMENT TOOLS The following development tools are provided as standard:

a graphics editor, with standard drawing facilities including

freehand, lines, squares circles, etc. It is possible to import pictures

in many formats as well as using predefined symbols including e.g.

trending charts, etc. A library of generic symbols is provided that

can be linked dynamically to variables and animated as they

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 26

change. It is also possible to create links between views so as to

ease navigation at run-time.

a data base configuration tool (usually through parameter

templates). It is in general possible to export data in ASCII files so

as to be edited through an ASCII editor or Excel.

a scripting language

an Application Program Interface (API) supporting C, C++, VB

a Driver Development Toolkit to develop drivers for hardware that

is not supported by the SCADA product.

6.5.3 OBJECT HANDLING

The products in general have the concept of graphical object classes,

which support inheritance. In addition, some of the products have the

concept of an object within the configuration database. In general the

products do not handle objects, but rather handle individual parameters,

e.g., alarms are defined for parameters, logging is performed on

parameters, and control actions are performed on parameters. The support

of objects is therefore fairly superficial.

6.6 EVOLUTION SCADA vendors release one major version and one to two additional

minor versions once per year. These products evolve thus very rapidly so

as to take advantage of new market opportunities, to meet new

requirements of their customers and to take advantage of new

technologies.

As was already mentioned, most of the SCADA products that were

evaluated decompose the process in "atomic" parameters to which a Tag-

name is associated. This is impractical in the case of very large processes

when very large sets of Tags need to be configured. As the industrial

applications are increasing in size, new SCADA versions are now being

designed to handle devices and even entire systems as full entities

(classes) that encapsulate all their specific attributes and functionality. In

addition, they will also support multi-team development.

As far as new technologies are concerned, the SCADA products are now

adopting:

Web technology, ActiveX, Java, etc.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 27

OPC as a means for communicating internally between the client

and server modules. It should thus be possible to connect OPC

compliant third party modules to that SCADA product.

6.7 ENGINEERING Whilst one should rightly anticipate significant development and

maintenance savings by adopting a SCADA product for the

implementation of a control system, it does not mean a "no effort"

operation. The need for proper engineering can not be sufficiently

emphasised to reduce development effort and to reach a system that

complies with the requirements, that is economical in development and

maintenance and that is reliable and robust. Examples of engineering

activities specific to the use of a SCADA system are the definition of:

a library of objects (PLC, device, subsystem) complete with

standard object behaviour (script, sequences, ...), graphical

interface and associated scripts for animation,

templates for different types of "panels", e.g. alarms,

instructions on how to control e.g. a device ...,

a mechanism to prevent conflicting controls (if not provided with

the SCADA),

alarm levels, behaviour to be adopted in case of specific alarms, ...

6.8 POTENTIAL BENEFITS OF SCADA

The benefits one can expect from adopting a SCADA system for the

control of experimental physics facilities can be summarised as follows:

a rich functionality and extensive development facilities. The

amount of effort invested in SCADA product amounts to 50 to 100

p-years!

the amount of specific development that needs to be performed by

the end-user is limited, especially with suitable engineering.

reliability and robustness. These systems are used for mission

critical industrial processes where reliability and performance are

paramount. In addition, specific development is performed within a

well-established framework that enhances reliability and

robustness.

technical support and maintenance by the vendor.

Parking system using PLC SCADA

Greater Noida institute of Technology, Greater Noida 28

For large collaborations, as for the CERN LHC experiments, using a

SCADA system for their controls ensures a common framework not only

for the development of the specific applications but also for operating the

detectors. Operators experience the same "look and feel" whatever part of

the experiment they control. However, this aspect also depends to a

significant extent on proper engineering.