Device Management Protocols Protocoles de gestion des ...

295
Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle The HART Protocol Prof. Dr. H. Kirrmann ABB Research Center, Baden, Switzerland Industrial Automation Automation Industrielle Industrielle Automation 4.1.1 4. 2005 April HK

Transcript of Device Management Protocols Protocoles de gestion des ...

Device Management ProtocolsProtocoles de gestion des appareils

Gerätezugangsprotokolle

The HART Protocol

Prof. Dr. H. KirrmannABB Research Center, Baden, Switzerland

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4.1.1

4.

2005 April HK

4.1.1 Current Loop

The classical solution for analog values

4.1.1 HART3/16Industrial Automation

Field device: example differential pressure transducer

The device transmits its value by means of a current loop

4..20 mA current loop

fluid

4.1.1 HART4/16Industrial Automation

4-20 mA loop - the conventional, analog standard (recall)

The transducer limits the current to a value between 4 mA and 20 mA,proportional to the measured value, while 0 mA signals an error (wire break)

The voltage drop along the cable and the number of readers induces no error.

The 4-20 mA is the most common analog transmission standard in industry

Simple devices are powered directly by the residual current (4mA) allowing to transmit signal and power through a single pair of wires.

transducer reader1

reader2

reader3

i(t) = 0, 4..20 mA

R1 R2 R3

sensori(t) = f(v)

voltagesource10V..24V

RL4 conductor resistance

RL2 RL3 RL4RL1

v

Data over 4..20 mA loops

4.1.2 HART

4.1.1 HART6/16Industrial Automation

HART - Principle

HART (Highway Addressable Remote Transducer) was developed by Fisher-Rosemountto retrofit 4-to-20mA current loop transducers with digital data communication.

HART modulates the 4-20mAcurrent with a low-levelfrequency-shift-keyed (FSK)sine-wave signal, withoutaffecting the average analoguesignal.

HART uses low frequencies(1200Hz and 2200 Hz) to dealwith poor cabling, its rate is1200 Bd - but sufficient.

HART uses Bell 202 modemtechnology, ADSL technologywas not available in 1989, atthe time HART was designed

4.1.1 HART7/16Industrial Automation

Installation

taken from: www.hartcomm.org

point-to-pointmultidrop

universal hand-help terminal

4.1.1 HART8/16Industrial Automation

The Round card

The round card is a standardized printed circuit boardthat can be mounted in an instrument, containing themodem, a processor, RAM, EPROM and all the logic

and software necessary to execute the HART protocol.

It is round because most hydraulic instruments have around case.

http://www.fint.no/ha-i4012.pdf

4.1.1 HART9/16Industrial Automation

HART - Protocol

Hart communicates point-to-point, under the control of a master, e.g. a hand-held device

preamble start address command bytecount [status] data data checksum

1 1..55..20(xFF) 1 1 [2]

(slave response)0..25

(recommended) 1

Master

Indication

Slave

Request

Confirmation

Response

time-out

command

response

Hart frame format (character-oriented):

4.1.1 HART10/16Industrial Automation

HART - Commands

Universal commands (mandatory):identification (each manufactured device is identified by a 38-bit unique identifier),primary measured variable and unit (floating point format)loop current value (%) = same info as current loopread current and up to four predefined process variableswrite short polling addresssensor serial numberinstrument manufacturer, model, tag, serial number, descriptor,range limits, …

Common practice (optional)time constants, range,EEPROM control, diagnostics,…

total 44 standard commands

Transducer-specific (user-defined)calibration data,trimming,…

4.1.1 HART11/16Industrial Automation

HART commands summary

• Read or write low-flow cut-off• Start, stop, or clear totalizer• Read or write density

calibration factor• Choose PV (mass, flow, or

density)• Read or write materials or

construction information• Trim sensor calibration• PID enable• Write PID setpoint• Valve characterization• Valve setpoint• Travel limits• User units• Local display information

• Read selection of up to fourdynamic variables

• Write damping time constant• Write device range values• Calibrate (set zero, set span)• Set fixed output current• Perform self-test• Perform master reset• Trim PV zero• Write PV unit• Trim DAC zero and gain• Write transfer function (square

root/linear)• Write sensor serial number• Read or write dynamic variable

assignments

• Read manufacturer and devicetype

• Read primary variable (PV) andunits

• Read current output andpercent of range

• Read up to four predefineddynamic variables

• Read or write eight-charactertag, 16-character descriptor,date

• Read or write 32-charactermessage

• Read device range values,units, and damping timeconstant

• Read or write final assemblynumber

• Write polling address

Device-Specific Commands(example)

Common Practice CommandsUniversal Commands

4.1.1 HART12/16Industrial Automation

HART - Importance

Practically all 4..20mA devices come equipped with HART today

About 15 Mio devices are installed worldwide.

more info:

http://www.thehartbook.com/default.htm

http://www.hartcomm.org/

4.1.1 HART13/16Industrial Automation

Device Description

Also known as Device Description Language (DDL) or

eDDL (electronic Device Description Language),

“electronic frontplate” (Elektronisches Typenschild, plaque électronique))

4.1.1 HART14/16Industrial Automation

Device access

typemanufacturer

modem

transmission system (HART or field bus)

networkadapter

device volumetric flow rateFlowPro

ABB

velocity 13.32 m2/s

diff. pressure 9.8 Pa

density 0.8 kg/l

volumetric flow ratecross sectional area:pipe inside diameter

3 cm2

2 cm

13.32 9.8 0.8

field device

hand-helddevice

networkadapter

SCADA

4-20 mA loop for HART

4.1.1 HART15/16Industrial Automation

Device Description Language

Device Description Language DDL allows a field device (slave) product developer to createa description of his instrument and all relevant characteristics, such that it can berepresented in any host (master) device. The objective is common “look-and-feel”,independent of the hand-help or SCADA, similar to HTML for a web server.

Why not use HTML ?special instructions needed !

(C-language is used)

4.1.1 HART16/16Industrial Automation

Device Description usage

DDLSource

FileDevice

Specification

DDLCompiler

"tokenizer"

DDLServiceLibrary

Host Device

DDLSource

LanguageSpecification

Specifications

DDLBinary

EncodingSpecification

A binary form of the source is stored in the hand-help device (not in the field device)

BinaryDDL

binary file

4.1.1 HART17/16Industrial Automation

Assessment

What is the purpose of the HART protocol ?

Which communication is used between a hand-help and a field device ?

Which categories of commands do exist ?

What is the purpose of the Device Description Language ?

Device Management ProtocolsProtocoles de gestion des appareils

Gerätezugangsprotokolle

Electronic Device Description

Prof. Dr. H. KirrmannABB Research Center, Baden, Switzerland

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4.4.1

4.

2004 March, HK 1 / 16

2 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

Device Model Principle

typemanufacturer

modem

transmission system (HART or field bus)

networkadapter

device volumetric flow rateFlowPro

ABB

velocity 13.32 m2/s

diff. pressure 9.8 Pa

density 0.8 kg/l

volumetric flow ratecross sectional area:pipe inside diameter

3 cm2

2 cm

13.32 9.8 0.8

field device

hand-helddevice

networkadapter

SCADA

4-20 mA loop

3 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

Device Description in HART

4 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

DDL Origins

Developed by Fisher-Rosemount for transducers connected over HART

HART = data communication superimposed over 4-10 mA loops

Extended by Fieldbus Foundation (FF-900-1.0 1996)

Objective:

define how a device presents itself to a hand-help terminal or an engineering station

became international standard in 2004 as EDDL (IEC 61804-2)

5 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

Example of Function Profile

transmitter serial numbersensor serial numberhealth of devicecertification of transmittercertification of sensorwetted materialmodel number (ordering info)health of process

Physical

volumetric flow ratecross sectional areapipe inside diameterpipe inside diameter unitvelocitydifferential pressuredensity

Volumetric flow

mass flow rate (min, max)process density valuesvolumetric flow rateline pressureprocess temperature

Mass flow

process temperatureprocess density

standard volume flow

flow velocity

energy flow

standard mass flowsteam quality

line pressurepercent concentration

net volumetric flow

Flow Device (Fieldbus Foundation)

6 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

Device Description Language objects

Blocks: describes Function Blocks

Variables, Records, Arrays

Menus : presentation of the data to a hostEdit Displays : editing the data by a host

Variables Lists: logical grouping of variablesRelations: relationship between variables, records and arrays

Variables:

Item Arrays : logical grouping of dataPrograms : tasks to start and stop

Domains : download/upload of memoryResponse codes: status of the request for an object

7 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

DDL Usage

DDLSource

FileDevice

Specification

DDLCompiler

"tokenizer"

DDLServiceLibrary

Host Device

DDLSource

LanguageSpecification

Specifications

DDLBinary

EncodingSpecification

A binary form of the source is stored in the hand-help device (not in the field device)

BinaryDDL

File

8 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

DDL Device Description Information

Information about the device itself

MANUFACTURER integer; // a 24-bit integer identifying the manufacturer DEVICE_TYPE integer; // a 16-bit integer which identifies the device type DEVICE_REVISION integer; // an 8-bit integer which identifies the revision DD_REVISION integer; // an 8-bit integer which identifies the DDL version

9 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

DDL Variables

CONSTANT_UNIT string; // string to be displayed for the units

HANDLING = {READ, WRITE} //

HELP string; // on-line help string

PRE_EDIT_ACTIONS {methods}

POST_EDIT_ACTIONS

READ_TIME_OUT expression;

WRITE_TIME_OUT expression;

VALIDITY boolean;

RESPONSE_CODES response_code_name;}

CLASS = { INPUT, OUTPUT, CONTAINED, // must belong to one of these three DYNAMIC, DIAGNOSTIC, SERVICE, OPERATE, ALARM, TUNE, LOCAL // options }TYPE = { arithmetic,enumerated,string,index, date/time }

LABEL string; // text to display along the variable value

VARIABLE name // name of the variable as ASCII string{

10 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

DDL Variables (Types)// arithmetic typesINTEGER, UNSIGNED, FLOAT, DOUBLE, // e.g. TYPE INTEGER (size) {option option ...} // options: DISPLAY_FORMAT string; // e.g. %4i as in printf EDIT_FORMAT string; // e.g. %d as in scanf MIN_VALUE expression; // e.g. MIN_VALUE = -10; MIN_VALUE1 = -10; MAX_VALUE expression; // e.g. MAX_VALUE = +10; MAX_VALUE1 = -5; SCALING_FACTOR expression; //

// enumerated typeENUMERATED (size) {{value, // description, // text to be displayed when value is taken help, // short text describing the value }}

BIT_ENUM (size) {{value // in reality, bit position in word, not octet description // text to be displayed when bit is set help, // short text describing the bit function, // functional class (see CLASS) status_class, // cause, duration, correctability, scope, output, miscellaneous methods // method to be performed when bit is set. }}

11 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

DDL Variables (Strings)

// string typesEUC (size);ASCII (size);PASSWORD (size);BITSTRING (length); // number of bitsVISIBLE (size);OCTET(size);

// index typeINDEX (size) item_array; // size in octets >1, default 1. // item_array see item array

// data/time typesDATE_AND_TIME;TIME;DURATION;TIME_VALUE;

12 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

DDL Menu Items

Menu items define screen windows - implementation is free but order is prescribed.

MENU name { Label string; Items; } ITEMS

{ variables (DISPLAY_VALUE READ_ONLY) elements of block parameters edit display methods other menus }

EDIT_DISPLAY name { Edit item Label Display items Pre-edit actions Post_edit actions }

EDIT_ITEMS { write_as_one block parameter elements of block parameters } PRE_EDIT_ACTIONS

{ method, method.. }

13 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

DDL MethodsMethods are piece of code to be executed by the host in response to change of

device variables or user commands

METHOD name { attribute, attribute, ... }

Class // see "CLASS"DefinitionLabelHelpValidity

DEFINITION c_compound_statement

ANSI "C" subset, may not use pointers, initializers, enumerations, structures, unions,...

14 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

DDL BlocksBlocks are segments of Function Block Language defined in FMS

BLOCK name { attribute, attribute, ... }

CharacteristicsLabelParametersHelpParameter ListsItem Lists

CHARACTERISTICS record_name; // type of the block

PARAMETERS { name, // name of the item item, // names of variables, arrays or records description, // short description help; // help text for the item name, item, description, help; ... }

15 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

16 4.4.1 Device Description Language2004 April, HKEPFL - Industrial Automation

12004 March, HKEPFL - Industrial Automation 4.1 Device Access Protocols

Device Management ProtocolsProtocoles de gestion des appareils

Gerätezugangsprotokolle

FDT - DTM

Prof. Dr. H. KirrmannABB Research Center, Baden, Switzerland

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4.2

4.

2 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

FDT - DMT purpose

integrate field devices (sensors and actors) of different manufacturers in any control orengineering system

device description file (HART, GSD) -> device type manager (DTM)

DTM is a software module (a kind of driver) that comes with each device.DTM encapsulates the device's configuration, functions, parameters and describes theuser interface

3 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

Field Device Configuration

> 1010 Device SuppliersDevice Suppliers > 100 > 100 Device TypesDevice Types> 10.000> 10.000 I/OsI/Os

HART

4 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

The Situation of Today

Device DescriptionFunction BlockDevice AddressDevice I/OsDevice Parameter

HART

> 10 Device Suppliers > 100 Device Types> 10.000 I/Os

Function Charts

? Large DCS

Tool 1Tool 1

Tool nTool n

5 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

The Goal

HART

Device Diagnosis

Slave Configuration

Master ConfigurationFunction Charts

> 10 Device Suppliers > 100 Device Types> 10.000 I/Os

CEAG I/O

P5001 0 ... 150 bar

Shared Engineering Data:

TagI/O-Type Measuring RangeLimit Value I/O Channel AssignmentDevice Parameters

HSI Configuration

6 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

Overall Requirements

HART

• Consistent, plant-wide configuration of DCS, Fieldbus and devices

• Integrated device configuration and documentation

• Device integration with smallest effort

• Integration of devices in all available tools

• Tool support of individual device features

Devices

DCSDCS

7 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

HART-DDGSD

FFDDOSC ++

The Still Open Question ...

... is , how to distribute the device type knowledge ?

EDDL

8 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

Component architecture

HART

Engineering Tool

Device Components

HART

9 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

Device Component

CEAG I/O

P5001 0 ... 150 bar

Device Configuration and Maintenance

DeviceDeviceComponentComponent

S900 I/OS900 I/O

10 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

Engineering Environment for Components

Engineering Tool handles device components as function blocks

HART

Device ComponentDevice Component

11 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

Engineering Environment for Components

• no device specific knowledge required

• manages all device instances and stores all instance data

• offers individual communication and routing services via DCS-system.

• controls plant-wide consistent configuration

• offers data life cycle control for device parameters

• has multi user and server/client architecture

Device ComponentDevice Component

12 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

InstrumentManufacturer

DCSManufacturer

Engineering Tool

EngineeringApplication

Communication

IFb UIIFb Instance Data

IFb Device Type MgrIFb Type

IFb Registry

Registry

IFb Reg Com

DTM

IFb LOGIFb Communication

PNO

GSD

DLL

HumanInterface+Methods Data

Base

PROFIBUS

System Buse. g. Ethernet Controller

13 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

The Device Component ...

... belongs to a device

... is supplied with the device by the device manufacturer

... is no standalone tool

... is an ActiveX Component (COM/DCOM)

... has COM Interfaces as specified by PNO/ZVEI Working Group

... is called “ Device Type Manager “ (DTM)

HART

14 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

The Device Type Manager ...

... knows all business rules of the device

... contains all user dialogs

... does the device configuration anddiagnosis

... generates the device specific documentation

... has no data storage capability

... has no direct device link to any device

... does not know anything about the engineering environment

=

HART

15 4.2 FDT-DTM2004 March, HKEPFL - Industrial Automation

The Device Type Manager ...

... supports one or several devices

... could be created from existingdevice tools

... could be automatically compiled from Device Descriptions... could be developed from scratch

... should be an ActiveX Control for use in WebBrowser

... should be designed according to Microsoft MultiLayer Architecture

Device TypeManager

=

HART

2005 April, HK

Device Management ProtocolsProtocoles de gestion des appareils

Gerätezugangsprotokolle

MMS - Manufacturing Message Specifications

Prof. Dr. H. KirrmannABB Research Center, Baden, Switzerland

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4.2

4.

Action

ProgramInvocation

NamedVariable Named

Variable List

File

Types

Semaphore

EventEnrolment

Transaction

Domain

OperatorStation

Journal

EventCondition Event

. The device itself isa VMD object

4.2 Manufacturing Message Specification2/40Industrial Automation

MMS Application domain

cellcontroller

4.2 Manufacturing Message Specification3/40Industrial Automation

A controller represents pieces of equipment

client (any technology)

controllerrepresents automation objects, i.e. a collection of PLC1 variables

network(any)

request message

response message

manufacturing devicesrepresent pieces of equipment

1: PLC= Programmable Logic Controller

Accessing variables that represent automation objects requirea standard model that defines the objects , called a virtual manufacturing device

4.2 Manufacturing Message Specification4/40Industrial Automation

The basic MMS idea

client (any technology)

controller

network(any)

response

I / O devices

1: PLC= Programmable Logic Controller

request variable nameread statusvalue

basic MMS idea: read and write equipment variables using standard messages.

4.2 Manufacturing Message Specification5/40Industrial Automation

Application: MMS for OPC

OPCserver

TCP/IP

operator(client)

historianclient

PLC variables

Ethernet

Ethernet

TCP/IP

MMS accesses PLC Variables

MMS client

OPC uses MMSfor variableaccess, (events)

otherclients

MMSserver

intention: any PLC should be accessed that way (MMS as universal server)

PLC variables

Ethernet

TCP/IP

PLC variables

Ethernet

TCP/IP

MMSserver

MMSclient

MMSserver

MMSclient

AC800 S7 TSX

OPC will bedetailed inchapter 4.3

4.2 Manufacturing Message Specification6/40Industrial Automation

MMS - Manufacturing Message Specification history

Developed 1980 (!) for the MAP project (General Motor’s flexible manufacturing initiative)

Originally unluckily tied to the OSI communication stack and Token Bus (IEEE 802.4)

Reputed for being heavy, complicated and costly due to poor implementations.

Boeing adopted MMS as TOPs (MMS on Ethernet) - a wise step.

Adopted by the automobile industry, aerospace industry, and PLC manufacturers:Siemens, Schneider, Daimler, ABB.

Standardized since 1990 as:[1] ISO/IEC 9506-1 (2003): Industrial Automation systems -

Manufacturing Message Specification -Part 1: Service Definition

[2] ISO/IEC 9506-2 (2003): Industrial Automation systems -

Manufacturing Message Specification -Part 2: Protocol Specification

4.2 Manufacturing Message Specification7/40Industrial Automation

MMS - Concept

• A set of standard messages exchanged between a manager and an agent stationfor the purpose of controlling these objects

• A set of encoding rules for these messages (how values and parameters aremapped to bits and bytes when transmitted)

• A set of protocols (rules for exchanging messages between devices)

• A set of standard objects which must exist in every conformant device, on whichoperations can be executed (examples: read and write local variables, signal events...)

MMS (Manufacturing Message Specifications) defines:

MMS does not specify application-specific operations (e.g. change motor speed).This is covered by application-specific, “companion standards”(e.g. flexible manufacturing, drives, remote meter reading, ...)

4.2 Manufacturing Message Specification8/40Industrial Automation

device(e.g. PC)

MMSserver

communicationstack

MMS - Communication model

network

request

(command)

response

(reply)

switch router

procedure call interface

device(e.g. SCADA)

remote

MMS specifies aset of objects thatan MMS server isexpected to hold

MMSclient

MMS specifies a set of messages which

to control an MMS server

allow an MMS client

communicationstack

MMS does notspecify theapplication interface

MMS specifieshow messagesare encoded fortransmission

4.2 Manufacturing Message Specification9/40Industrial Automation

MMS mapping to communication

MMS is not by itself a communication protocol, it defines messages that haveto be transported by an unspecified network

4.2 Manufacturing Message Specification10/40Industrial Automation

MMS - Underlying Communication Principles

Indication

MMS Responder(server)

Request

Confirmation Response

Remote Procedure Call(Call paired with Reply,synchronous, unicast)

network

Indication

Event Reporting(spontaneous messages sentby server) Request

processing

event

1)

2)

MMS is in principle independent from the communication stack.MMS only requires that two types of communication services exist:

MMS Requester(client)

time

4.2 Manufacturing Message Specification11/40Industrial Automation

MMS - Original Communication Stack

Association Control Service Element, ACSE, ISO 8649/8650, N2526,N2327

ISO 8473 connectionless

(Ethernet) Physical

Link

Network

Transport

ISO 8802-4

ISO 8073 Class 4

ISO 8326/8327

Abstract Syntax Notation, ISO 8822/8823, 8824/8825 Presentation

ISO 8802-2 Type 1

MAC

“Application”

Session

quite heavy… Boeing decided to drop ISO for TCP/IP, was not followed until 1999...

(token bus)

ISO 8802-3

4.2 Manufacturing Message Specification12/40Industrial Automation

MMS in the fieldbus stack

time-criticalprocess variables

ManagementInterface

time-benignmessages

PhysicalLink (Medium Access)

Network (connectionless)Transport (connection-oriented)Session

PresentationApplication7

6

Remote Procedure Call 5

4

3

2'

1

time-critical applications(PLC tasks)

connectionless

connectionless

connection-oriented

medium access

implicitimplicit

Logical Link Control2"

mediacommon

MMS

real-timedata base

MMS is not for real-time communication, but it can access the real-time variables

4.2 Manufacturing Message Specification13/40Industrial Automation

MMS Objects

Each MMS server is expected to contain a number of standard objects

4.2 Manufacturing Message Specification14/40Industrial Automation

MMS - Concept of Virtual Manufacturing Device (VMD)

A virtual devicerepresents a(complex) piece ofequipment

physicallink

networktransportsession

presentation

Virtual Device

Virtual Device

Virtual Device

A physical device(PLC) mayimplement one ormore virtualdevices

flow meterrobot

cell

communicationstack

MMS messagesApplication Programming Interface

(MMSI = MMS interface)

ACSE

connectionestablishment

Application-specificobject models

physicallink

networktransportsession

presentation

ACSE

MMS client

4.2 Manufacturing Message Specification15/40Industrial Automation

MMS - Objects in a PLC device

programinvocations

PLC

variablesnamed

variablesunnamedvariables

OperatorStation

events

initiatestart/stop

semaphoresidentification

Journal

events& alarms

remote controlthe PLC

keep track ofhistory

local Human-MachineInterface

user-definedvariables

built-in variables,I/O and markers

state machines foralarms and events

Filesif mass storage

available

domains

memory regionsupload / download

tasks

4.2 Manufacturing Message Specification16/40Industrial Automation

MMS - Virtual Manufacturing Device (VMD) objects

NamedVariable

Semaphore

EventCondition

Domain

OperatorStation

EventEnrolment

EventAction

Resource(e.g. memory

region)

Runnable programconsisting of one or

more domains.

Element of typed data (e.g.integer, array...)

Descriptionof the format

of values

List of variablesnamed as a list.

Access controlto sharedresources

Display andkeyboard for useby an operator.

Represents thestate of an event.

Action taken when anevent conditionchanges state.

Which network application tonotify when an event condition

changes state.

Time-basedrecord of eventsand annotations

Individual MMSservice request (RPC). Scattered

Access

NamedTypeaccess control

list

Data Exchange

Journal

NamedVariable List

unit control

VMD

Collection of variables(obsolete)

ProgramInvocationObject for

uploading anddownloading

Controls how to use objects

1415

16

19

2021

EventCondition Lists

22

18

17

23

File

File transfer(ops.)

the numbers refer to parts of ISO 9506

4.2 Manufacturing Message Specification17/40Industrial Automation

MMS – Object Name

All objects (except unnamed variables) are identified by an object name, that may be

- VMD - specific persistent, pre-loaded, all clients see the same“VMDstatus"

- domain -specific exists as long as the corresponding domain*"e.g. Program1.List3"

- Application-Association specific exists as long as the client remains connected, applies to non-persistent objects such as data sets that the client created

“@/MyDataSet”

The identifier itself is a "visible string“ (e.g. Call.Robot1.Joint3.Pos).

Access to all objects can be controlled by a special object, the Access Control Listthat tells which client can delete or modify the object.

The service GetNameList retrieves the name and type of all named objects in the VMD.(this is the directory service)

* a domain is a (named) memory region that contains programs, variables, data

4.2 Manufacturing Message Specification18/40Industrial Automation

MMS - Data Types

TimeOfDay ::= OCTET STRING (SIZE(4|6)) -- First four octets are the milliseconds sincemidnight for the current date.

Identifier ::= VisibleString -- up to 32 Uppercase and lowercase lettersplus numbers, “$” and “_”.

Integer8 ::= INTEGER(-128..127) -- range -128 <= i <= 127Integer16 ::= INTEGER(-32768..32767) -- range -32,768 <= i <= 32,767Integer32 ::= INTEGER(-2147483648..2147483647) -- range -2**31 <= i <= 2**31 - 1Unsigned8 ::= INTEGER(0..127) -- range 0 <= i <= 127Unsigned16 ::= INTEGER(0..32767) -- range 0 <= i <= 32767Unsigned32 ::= INTEGER(0..2147483647) -- range 0 <= i <= 2**31 – 1

FloatingPoint ::= OCTET STRING -- according to IEEE 754 format

MMSString Multilanguage string (VisibleString or ISO10646)

MMS relies on the ASN.1 type (ISO 9988), but introduced new simple types:

These types map directly to MMS primitive types (they are a subrange of them), sothere is no need to reserve additional primitive or constructed types for MMS.

4.2 Manufacturing Message Specification19/40Industrial Automation

MMS - 84 Services (methods) on the objects

Domain ManagementVMD

SupportEnvironmentand General Management

File Management

Operator Communication Journal

Management

Event Management

Semaphore Management

Variable Access

MMS Services

1. Creation - Deletion2. Read (Get, Report)3. Modify (Alter)4. Invoke (for domains)5. Operate (Start, Stop,…)

4.2 Manufacturing Message Specification20/40Industrial Automation

MMS - Initialisation

An MMS client establishes first an Association (connection) with an MMS Server

A server may sustain several simultaneous associations with different clients(to synchronize access, MMS provides semaphores)

At initialisation time, the client lists the capabilities it expects and the server respondswith the capabilities it offers.

The capabilities are defined by Conformance Building Block parameters.e.g. cto ∈ CBB means that the server agreed to provide an Access Control List

InitiateConcludeAbortReject Cancel

initialisation services:

Status

GetCapabilityList

GetNameListRename

Identify

4.2 Manufacturing Message Specification21/40Industrial Automation

MMS – Association establishmentMMS Requester

Indication

MMS Responder

Request

ConfirmationResponse

M_Associate_Req(MMS_responder_address,calling_application_reference,called_application_reference, communication_parameters, authentication,..

(Receiving MMS-user)(Requesting MMS-user)

M_Associate_Ind(MMS_responder_address, calling_application_reference,called_application_reference, communication_parameters, authentication,..

this is no application interface, but a short way to describe the messages exchanged

4.2 Manufacturing Message Specification22/40Industrial Automation

MMS - Addressing

MMS does not specify how to address clients and servers.

Messages contain only a communication reference(number which identifies the connection)

obtained by unspecified means.

In practice, clients and servers are addressed by their IP addressand the MMS server uses port number 102.

4.2 Manufacturing Message Specification23/40Industrial Automation

MMS server MMS server MMS server MMS server

MMS - Reading the variables

1) Polling: a) the bus scans periodically the variables and actualises the local databasesb) the Operator Workstation polls cyclically the variables it is interested in

2) Events:a) the Controllers signal predefined events and broadcasts the corresponding valuesb) the Operator Workstation defines the relevant events and their destination(s)

MMS client process database(cache)

MMS client

VMDprocess database

MMS client MMS client

4.2 Manufacturing Message Specification24/40Industrial Automation

MMS - Variables

Unnamed Variables: physical variables

Named Variables: logical variables

Scattered Access: a coherent list of variables

Named Variable List: a named list of unnamed or named variables

Named Type: an object that defines the type of a variable

Variable Access Objects

Variables are the most important object type in MMS.Through this service, a client can read and write local variables in a remote device.

Variables can be read or written as individual variables (not very efficient) or as lists.

(vadr & vnam & vsca ∈ CBB)

4.2 Manufacturing Message Specification25/40Industrial Automation

MMS - Named and Unnamed Variables

Unnamed Variables (vadr ∈ CBB)are identified by a fixed physical address in the VMD, expressed by either :

• numericAddress (an Unsigned32, e.g. 0xAF043BC0)• symbolicAddress (a VisibleString, e.g. MW%1004)• unconstrainedAddress (an OCTET STRING, e.g. 0x76AA)

Named variables (vnam ∈ CBB)are identified by an object name

(a string of characters, VMD specific, domain specific or Association-specific)

MMS supports two ways of structuring the variables space:

1) use the identifier string, separated by "$" signs(e.g. Cell4$Robot1$Motor3$TemperatureOil)

2) define a variable with a complex type

4.2 Manufacturing Message Specification26/40Industrial Automation

MMS - Usage of Named and Unnamed variables

network

controllerprogramming

analog input to : IXD.11.2.1

MW%1003 MotorSpeed

MW%1004 Temperature… ….symbols

downloadcode

Reactor_1.Program2

Marker: MW%1003

downloadsymbol table

code

automationapplication

MMSserver

The code generator's linkerknows the physical address of the

variables in the PLC and their symbol

symbolphy. address

if the name server is not aware ofthe variable's symbol, the MMSclient must have access to the

programmer's symbol files

MMSclient

Get (192.162.0.2), MW%1003)

Return (192.162.0.0), MW%1003, 112)

MMSclient

unnamed variables require a client's a-prioriknowledge of the internal structure of the server

4.2 Manufacturing Message Specification27/40Industrial Automation

MMS - Variables Alternate Access

Alternate Access allows to transfer only certain elements in a (large) array or structure.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

transmit: 1,2 6-9

This is useful if the data values are intertwined with static information such asdescriptions.

Alternate access has been extended to specify a list of variables.

4.2 Manufacturing Message Specification28/40Industrial Automation

Structure of the “Data” type

Data ::= CHOICE {-- context tag 0 is reserved for AccessResult

array [1] IMPLICIT SEQUENCE OF Data, -- Nesting depth defined by nest ∈ CBB)structure [2] IMPLICIT SEQUENCE OF Data, -- Possible if str1 ∈ CBBboolean [3] IMPLICIT BOOLEAN,bit-string [4] IMPLICIT BIT STRING,integer [5] IMPLICIT INTEGER,unsigned [6] IMPLICIT INTEGER, -- Shall not be negativefloating-point [7] IMPLICIT FloatingPoint,real [8] IMPLICIT REAL, -- obsoleteoctet-string [9] IMPLICIT OCTET STRING,visible-string [10] IMPLICIT VisibleString,generalized-time [11] IMPLICIT GeneralizedTime,binary-time [12] IMPLICIT TimeOfDay,bcd [13] IMPLICIT INTEGER, -- Shall not be negativebooleanArray [14] IMPLICIT BIT STRING,objId [15] IMPLICIT OBJECT IDENTIFIER,mMSString [16] MMSString – Multilanguage string

}

Data in MMS belong to the following types:

4.2 Manufacturing Message Specification29/40Industrial Automation

MMS Variable Lists

MMS provides services to build a Data Set, a group of variables that is to betransmitted as a whole.

This is generally done for each client specifically (Application-Association specific)

4.2 Manufacturing Message Specification30/40Industrial Automation

MMS – Summary Variable Access Services

Read read a remote variableWrite write a remote variableInformationReport(optional) spontaneous send the value to a clientGetVariableAccessAttributes get the attributes of the variable DefineNamedVariable assigns named variable to an unnamed & typeDeleteVariableAccess

DefineNamedVariableList defines lists of variablesGetNamedVariableListAttributes(Read) for individual variables or lists(Write)(Information Report)DeleteNamedVariableList

DefineNamedType defines the typesGetNamedTypeAttributesDeleteNamedType

DefineScatteredAccess defines variables group treated as a wholeGetScatteredAccessAttributes (obsolete, but useful)

4.2 Manufacturing Message Specification31/40Industrial Automation

MMS - Domains

Domains are named memory regions, for the purpose of downloadingand uploading large unstructured data such as program code.

Domain loading / uploading requires a special protocol because it can involve theMMS driver itself or even the communication stack, and storing to stable storage.

Typically, a domain is loaded by segments of a size chosen by the receiver.

When a domain is loaded, it may be saved to EPROM (typical PLC programming).

Domains may be erased.

Objects (Variables, Events, Program invocations,..) may be tied to a domain.

4.2 Manufacturing Message Specification32/40Industrial Automation

MMS Domain State Diagram

Each domain is controlled by a statemachine in MMS.

This is necessary since a domain islarge and often needs to be loadedin several steps.

Also, it may be necessary to writethe domain into a non-volatilememory and that needs a tightercontrol.

4.2 Manufacturing Message Specification33/40Industrial Automation

Summary: MMS Operations on Domains

Operations on domains:

InitiateDownloadSequence DownloadDownloadSegmentTerminateDownloadSequenceRequestDomainDownload

InitiateUploadSequence UploadUploadSegmentTerminateUploadSequenceRequestDomainUpload

LoadDomainContentStoreDomainContent e.g. to EPROMDeleteDomain eraseGetDomainAttributes

4.2 Manufacturing Message Specification34/40Industrial Automation

Program Invocations

CreateProgramInvocationDeleteProgramInvocationStartStopResumeResetKillGetProgramInvocationAttributesSelectAlterProgramInvocationAttributesReconfigureProgramInvocation

Program invocations are tasks running in the VMD.

Programs are tied to domains.

For instance, all tied programs are stopped before loading a domain containing them

4.2 Manufacturing Message Specification35/40Industrial Automation

MMS - Event services

MMS provides services to:- Event Condition (define the Boolean condition that triggers an event and its priority)- Event Enrolment (define the MMS client(s) to notify when an event is triggered)- Event Action (define the MMS confirmed service to be executed when the event occurs)

MMS client MMS client

MMS serverenables/disablesevent conditions

event notificationand confirmation

AlterEventCondition EventNotification

AckEventNotific

ation

EventAction

EventEnrolment

EventCondition

What?Who? When?

DefineEventCondition

Events are the most complicated part of MMS

4.2 Manufacturing Message Specification36/40Industrial Automation

MMS - Event triggering

MMS client MMS client

VMDNetwork-triggered

plant

EventAction

EventEnrolment

EventCondition

TriggerEvent

EventNotification

events are triggered by a change in a boolean variable in the server (monitored event) orby an MMS client (trigger event) as an invitation procedure.

cyclic monitoring

AckEventNotific

ation

booleanvariable

Monitored

4.2 Manufacturing Message Specification37/40Industrial Automation

Event Services

TriggerEventEventNotificationAcknowledgeEventNotificationGetAlarmSummaryGetAlarmEnrollmentSummary

Event Management

DefineEventConditionDeleteEventConditionGetEventConditionAttributesReportEventConditionStatusAlterEventConditionMonitoring

DefineEventActionDeleteEventActionGetEventActionAttributesReportEventActionStatus

DefineEventEnrollmentDeleteEventEnrollmentGetEventEnrollmentAttributesReportEventEnrollmentStatusAlterEventEnrollment service

Event Enrollment

Event Conditions

Event Actions

DefineEventConditionListDeleteEventConditionListAddEventConditionListReferenceRemoveEventConditionListReferenceGetEventConditionListAttributesReportEventConditionListStatusAlterEventConditionListMonitoring

Event Conditions Lists

The Event services are the most complicated part of MMS. However, the event mechanism in a SCADA system is complex in nature.

4.2 Manufacturing Message Specification38/40Industrial Automation

Other MMS services

The most important services are:-Variables,-Events,-Domains

for the other services, see the ISO / IEC standard 9506

4.2 Manufacturing Message Specification39/40Industrial Automation

ObjectName ::= CHOICE { vmd-specific [0] Identifier, domain-specific [1] SEQUENCE { domainId Identifier, itemId Identifier },

aa-specific [2] Identifier}

MMS uses ASN.1 (ISO 8824) to describe the network messages (PDUs).MMS specifies the use of BER (Basic Encoding Rules, ISO 8825) of ASN.1(in principle only for connection establishment, but in practice for all PDUs)

This notation is quite heavy for simple variable transport (24 bits for one Boolean value)but decoding costs must be weighted against communication costs.

MMS - PDU Notation

80 sz visible string vmd-specific

81 sz visible string sz visible string8A8A sz domain-specific

An identifier is a visible string

82 sz visible string aa-specific

4.2 Manufacturing Message Specification40/40Industrial Automation

MMS - Importance

MMS is becoming (after 15 years of existence) a reference model for industryrather than an actual implementation.

It gave rise to several other "simpler" models (DLMS, BacNet, FMS....)

It is the base of the Utility Communication Architecture (UCA), an EPRI*-sponsoredstandardization of data exchange between control centers.

http://lamspeople.epfl.ch/kirrmann/mms/

http://www.epri.com/uca/iccp.html

For more information, see:

Its high complexity makes it very general, but difficult to implement

http://www.nettedautomation.com/qanda/mms/#OPC/MMS

EPRI = USA electrical power research institute

4.2 Manufacturing Message Specification41/40Industrial Automation

MMS companion standards

MMS does not define the meaning of the exchanged information.For this, companion standards exist, such as:

IEC/ISO 9506-5 Industrial automation systems - Manufacturing message specification -Part 3: Companion Standard for Robots (1992)Part 4: Companion Standard for Numeric Control (1993)Part 5: Companion Standard for Programmable Controllers (1997)Part 6: Companion Standard for Process Control (1994)

One standard which emerged in direct line from MMS is IEC 61850„Communication networks and systems in substations“

IEC 61850 defines an MMS implementation based on Ethernet / TCP-IPand elaborates on the object model.

It is currently being developed at ABB, Siemens and Areva for substation automation.

4.2 Manufacturing Message Specification42/40Industrial Automation

Although MMS itself had little success (it is complicated), the concepts behind MMS haveinspired numerous other standards.

Industrial Communication protocols require a large bandwidth and a lot ofprocessing power at the servers, which is incompatible with low-cost, decentralizedperiphery, but fully in line with the concept “Ethernet in the factory floor”.

While most field busses are able to connect relatively simple devices, the same is not truefor MMS and its derivatives.

The MMS concept is being challenged by COM/DCOM (OPC) and by Web Services,but these services will have to rediscover the semantics of MMS.

Conclusion

w îððì ßÞÞ Í©·¬¦»®´¿²¼ Ô¬¼ô ݱ®°±®¿¬» λ­»¿®½¸ô ßÞÞÝØóÎÜЮ±¶»½¬ λ¼êïèëðô ÝÎ×Ü íðîëìô Ýïóðêçóðíñðð

ײ¬®±¼«½¬·±² ¬± ×ÛÝ êïèëð­«¾­¬¿¬·±² ½±³³«²·½¿¬·±²­¬¿²¼¿®¼

Ø«¾»®¬ Õ·®®³¿²²

ßÞÞÝØóÎÜòÝï

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

î

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Û´»½¬®·½¿´ Í«¾­¬¿¬·±²­æ ²±¼»­ ±º ¬¸» ¹®·¼

Í©·­­ ¬®¿²­³·­­·±² ²»¬©±®µ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

í

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ß·® ·­±´¿¬»¼ ­«¾­¬¿¬·±²

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ì

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Í«¾­¬¿¬·±² ±¾¶»½¬­

ͬ¿¬·±² ø˲¬»®­¬¿¬·±²ô ͱ«­ó­¬¿¬·±²÷� ݱ³°´»¬» ²±¼» ·² ¬¸» °±©»® ²»¬©±®µ øã ­«¾­¬¿¬·±²÷ ±®� ͬ¿¬·±² ¾«­­ ¾¿®

Þ¿§ ø¼7°¿®¬ô ß¾¹¿²¹÷ﮬ ±º ¬¸» ­«¾­¬¿¬·±² ©·¬¸ ´±½¿´ º«²½¬·±²¿´·¬§ô »ò¹ò ®»´¿¬»¼ ¬± ¿²� ·²½±³·²¹ ´·²» ø�º»»¼»®�÷� ½±²²»½¬·±² ¾»¬©»»² ¬¸» ¾«­­ ¾¿®­»¬½ò

Ю±½»­­ ±¾¶»½¬­ ø­©·¬½¸§¿®¼÷� ¾®»¿µ»®� ¬®¿²­º±®³»®»¬½ò

Ю·³¿®§ »¯«·°³»²¬ ã ­©·¬½¸§¿®¼ ¸¿®¼©¿®»Í»½±²¼¿®§ »¯«·°³»²¬ ã ½±²¬®±´ô ³±²·¬±®·²¹ ¿²¼ °®±¬»½¬·±² ¼»ª·½»­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ë

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ù¿­ ×­±´¿¬»¼ Í«¾­¬¿¬·±²

Ý·®½«·¬ Þ®»¿µ»®ÏðÁÔïñÈÝÞÎ

Ù¿­ ¼»²­·¬§ ³±²òÏðÁÔïñÍ×ÓÙ

Ю·³¿®§ ¬»½¸²±´±¹§

Í»½±²¼¿®§¬»½¸²±´±¹§

ݱ²¬®±´ÏðñÝÍÉ×ÏèñÝÍÉ×ÏçñÝÍÉ×

Þ¿§óØÓ××ØÓ×

Ü·­¬¿²½»Ð®±¬»½¬·±²

ÐÜ×Í

×­±´¿¬±®ÏçÁÔïñÈÍÉ×

Ù¿­ ¼»²­·¬§ ³±²òÏçÁÔïñÍ×ÓÙ

Û¿®¬¸·²¹ Í©·¬½¸ÏèÁÔïñÈÍÉ×

Ù¿­ ¼»²­·¬§ ³±²òÏèÁÔïñÍ×ÓÙ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ê

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ю·²½·°´» ­«¾­¬¿¬·±²æ ­·²¹´» ´·²» ¼·¿¹®¿³

¾¿§¼7°¿®¬ôß¾¹¿²¹

¬©± ¾«­­ ¾¿®­

­©·¬½¸»­ø·­±´¿¬±®­ô·²¬»®®«°¬»«®­ôÌ®»²²»®÷

½¿²²±¬ ¾» ­©·¬½¸»¼«²¼»® °±©»®

½·®½«·¬ ¾®»¿µ»®ø¼·­¶±²½¬»«®ôÔ»·­¬«²¹­­½¸¿´¬»®÷½¿² ­©·¬½¸ º¿«´¬ ½«®®»²¬

¬®¿²­º±®³»®ø¬®¿²­º±®³¿¬»«®ôÌ®¿º±÷

»ò¹ò ïïð µÊ

¾¿§¼7°¿®¬ôß¾¹¿²¹

¾¿§¼7°¿®¬ôß¾¹¿²¹

Ù

¹»²»®¿¬±®ø¹7²7®¿¬»«®ôÙ»²»®¿¬±®÷

í °¸¿­»­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

é

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Í«¾­¬¿¬·±²æ Ѳ» ¾¿§

ݱ²¬®±´ñЮ±¬»½¬·±² Ý«¾·½´»­

ãßÜïé Ú\ÔÔßÒÜÛÒ

ó Ößï ó Ößî

ó Ößë

ó Ößê

ó Ößì

ó ÖÚ ïÎ

ÌÍ

ײ¬»®¾¿§¾«­

ͬ¿® ½±«°´»®ßÞÞ Ð±©»® ß«¬± ³¿¬·± ² ßÙ ÎÛÎïïï

Ò»¬©±®µ ½±²¬®±´ ½»²¬®»

ßÞÞб©»® ß«¬ ±³¿¬·±² ßÙ ÝÑÓëèï

Ý

¼ ¹ ¬¿ ´

³±¬±®­

ØÊ Ô·²»¾¿§

ݱ²¬®±´ñЮ±¬»½¬·±² Ý«¾·½´»­

ãßÜïé Ú\ÔÔßÒÜÛÒ

ó Ößï ó Ößî

ó Ößë

ó Ößê

ó Ößì

ó ÖÚ ïÎ

ÌÍ

ãßÜïé Ú\ÔÔßÒÜÛÒ

ó Ößï ó Ößî

ó Ößë

ó Ößê

ó Ößì

ó ÖÚ ïÎ

ÌÍ

ó Ößï ó Ößî

ó Ößë

ó Ößê

ó Ößï ó Ößî

ó Ößë

ó Ößê

Ю±

½»­­

ײ¬»

®º¿

½»

½·®½«·¬¾®»¿µ»®­

­©·¬½¸»­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

è

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ и§­·½¿´ Ü»ª·½»­ ø×ÛÜ­÷

¾¿§ ï

ãÏï

ãÏßï

Ó

ãÏÝî

Ó

ãÏÝï

ãÞ×ï

ãÞËï

ãÏÞï

Ó

ãÌï

ãÏÞî

Ó

ãÏî

ãÏßïÓ

ãÏÝï

Ó

ãÏÞç

Ó

ãÏÝç

ãÞ×ï

ãÞËï

ãÏÞï

Ó

ãÏÞî

Ó

Ó

ãÏÝî

¾¿§ î

ãÏî

ãÏßïÓ

ãÏÝï

ãÞ×ï

ãÞËï

ãÏÞï

Ó

ãÏÞî

Ó

Ó

ãÏÝî

¾¿§ î

¾¿§°®±¬»½¬·±²¿²¼ ½±²¬®±´

¬®¿²­º±®³»®°®±¬»½¬·±²

¾¿½µó«° ¾¿§°®±¬»½¬·±²¿²¼ ½±²¬®±´

¾«­ó¾¿®°®±¬»½¬·±²

¹»²»®¿¬±®°®±¬»½¬·±²

Ù

ïïð µÊ

Û¿½¸ ±¾¶»½¬ ·­ °®±¬»½¬»¼ ¾§ ·¬­ ±©² °®±¬»½¬·±² ú ½±²¬®±´ ¼»ª·½»

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ç

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Û¨¿³°´» ±º °®±¬»½¬·±² º«²½¬·±²æ ±ª»®½«®®»²¬

½«®®»²¬ ŵßÃ

¼«®¿¬·±² ¾»º±®» ¬®·° ų­Ã

̸» °®±¬»½¬·±² º«²½¬·±² ·­ ¿¼¶«­¬»¼ ©·¬¸ ¿ ²«³¾»® ±º °¿®¿³»¬»®­ ¬¸¿¬ ¿®» ¬«²»¼º±® ¿ ­°»½·º·½ ­«¾­¬¿¬·±² ¿²¼ ¾¿§ô ¬¸» ·­ ½¿´´»¼ ¿ ­»¬¬·²¹ò

Ю±¬»½¬·±² º«²½¬·±² ¸¿ª» «­«¿´´§ ¼·ºº»®»²¬ ­»¬¬·²¹­ô ¬¸¿¬ ¿®» «­»¼ ¼»°»²¼·²¹ ±² ¬¸» ­·¬«¿¬·±²ò

²±³·²¿´ ½«®®»²¬

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïð

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ײ¬»®²¿´­ ±º ¿² ×ÛÜ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïï

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Í·¹²¿´ º´±© ·² ¿² ×ÛÜ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïî

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ì·³» ¼»´¿§­ ·² ¿² ×ÛÜ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïí

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ú«²½¬·±²­

Ю±¬»½¬·±² º«²½¬·±²­°®»ª»²¬ ¸¿¦¿®¼ ¬± °»±°´»ô ¼¿³¿¹» ¬± °±©»® ²»¬©±®µ ½±³°±²»²¬­ ø¼»ª·½»­÷¿²¼ ¾®»¿µ¼±©² ±º ¬¸» °±©»® ²»¬©±®µò°»®º±®³»¼ ¿«¬±²±³±«­´§ ©·¬¸·² ­±³» ïð ³­ ò

Ó±²·¬±®·²¹ º«²½¬·±²­­«°»®ª·­» ¬¸» ­¬¿¬«­ ±º ¬¸» °®·³¿®§ ¿²¼ñ±® ­»½±²¼¿®§ »¯«·°³»²¬ô¼·­¬«®¾¿²½» ®»½±®¼»®ô ­»¯«»²½» ±º »ª»²¬­ ©·¬¸ ®»­±´«¬·±² ï ³­

ݱ²¬®±´ º«²½¬·±²­¿´´±© ¿ ´±½¿´ ±® ®»³±¬» ±°»®¿¬±® ¬± ±°»®¿¬» ¬¸» °±©»®ø®»­°±²­» ¬·³» ¿¾±«¬ ±º ï ­÷òß«¬±³¿¬·½ ­»¯«»²½» º«²½¬·±²­ »¨»½«¬» ­»¯«»²½» ±º ±°»®¿¬·±²­ô ­«½¸ ¿­­©·¬½¸ º®±³ ±²» ¾«­­ ¾¿® ¬± ¬¸» ±¬¸»® ø ø±®¼»® ±º ïðð ³­÷

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïì

×ÛÝ êïèëðÓÓÍ ß°°´·»¼

®»³±¬»½±²¬®±´

²»¬©±®µ½±²¬®±´ ½»²¬®»

ß² ×ÛÝ êïèëð ²»¬©±®µ

­©·¬½¸ Í

×ÛÜ

¾¿§ ï

´±¹¹»®°®·²¬»®

­¬¿¬·±² ¾«­ ø®·²¹÷

×ÛÜ

×ÛÝ

¾¿§ î

×ÛÜ

×ÛÜ

¾¿§ Ò

±°»®¿¬±®©±®µ°´¿½»

ò ò ò

¬¸» ­¬®«½¬«®» ±º ¬¸» ²»¬©±®µ ®»º´»½¬­ ¬¸» ­¬®«½¬«®» ±º ¬¸» ­«¾­¬¿¬·±²

×ÛÜ ×ÛÜ×ÛÜ

×ÛÜ

ÙÐͬ·³»

ïðð̨´·²µ­

­©·¬½¸ ï ­©·¬½¸ î

ïððÚ¨´·²µ­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïë

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ̸» ×ÛÝ êïèëð ±¾¶»½¬ ³±¼»´

ß´¬¸±«¹¸ ×ÛÝ êïèëð ·­ ¼»º·²»¼ ¿­ ¿�½±³³«²·½¿¬·±² ­¬®«½¬«®» º±® ­«¾­¬¿¬·±² ¿²¼ º»»¼»® »¯«·°³»²¬�

·¬­ ³¿·² ½±²¬®·¾«¬·±² ·­ ¬¸» ¼»º·²·¬·±² ±º ¿² ±¾¶»½¬ ³±¼»´ º±® ¿´´ ­«¾­¬¿¬·±² ±¾¶»½¬­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïê

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ×ÛÝ êïíìêæ Ò¿³·²¹ ±º ­«¾­¬¿¬·±² »´»³»²¬­

¾¿§ í

¾¿§ ï ¾¿§ ì ¾¿§ ë

ãÉî

ãÛï

Ó

ãÏÝï

Ó

ãÏÝî

ãÏí

óÏßïÓ

ãÏÞïî

Ó

ãÏÝïï

ãÏì

ãÏßï

Ó

ãÏÝî

Ó

ãÏÝï

ãÉï

ãÞ×ï

ãÞËï

ãÏë

ãÏßïÓ

ãÏÝï

Ó

ãÏÞç

Ó

ãÏÝç

ãÞ×ï

ãÞËï

ãÏï

ãÏßï

Ó

ãÏÝî

Ó

ãÏÝï

ãÞ×ï

ãÞËï

ãÏÞï

Ó

ãÌï ãÌï

ãÞËî

ãÞËï

ãÞ×ï

ãÏÞî

Ó

ãÏÞï

Ó

ãÏÞî

Ó

ãÏÞï

Ó

ãÏÞî

Ó

ãÏÞï

Ó

ãÏÞî

Ó

Ó

ãÏÝî

ãÏî

ãÏßïÓ

ãÏÝï

Ó

ãÏÞç

Ó

ãÏÝç

ãÞ×ï

ãÞËï

ãÏÞï

Ó

ãÏÞî

Ó

Ó

ãÏÝî

¾¿§ î

ÛïòÉïòÏîòÏßï

̸» ×ÛÝ êïíìê ­¬¿²¼¿®¼ ¼»º·²»­ ¸±© ­«¾­¬¿¬·±² »´»³»²¬­ ­¸±«´¼ ¾» ²¿³»¼òÝ«­¬±³»®­ ¼»º·²» ¬¸»·® ±©² ²¿³»­ô »ò¹ò Ïï ·­ �Ý·¬§ÁÞ®±¿¼©¿§�

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïé

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Û¨°´±®·²¹ ¿² ×ÛÜ

ɸ»² »¨°´±®·²¹ ¿² ×ÛÜô ±²» º·²¼­ ¿ ¸·»®¿®½¸§ ±º¾®¿²½¸»­ ¿²¼ ´»¿ª»­

×ÛÜ

Ô±¹·½¿´ Ü»ª·½»­ øÔÜ÷

Ô±¹·½¿´ Ò±¼»­ øÔÒ÷

Ú«²½¬·±²¿´ ݱ²­¬®¿·²¬­

Ü¿¬¿ ±¾¶»½¬­ øÜßÌß÷

Ü¿¬¿ ߬¬®·¾«¬»­ øÜß÷

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïè

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ø·»®¿®½¸§ ©·¬¸·² ¿ °®±¬»½¬·±² ú ½±²¬®±´ ¼»ª·½»

и§­·½¿´ Ü»ª·½» ø×ÛÜ÷øÍ»®ª»®÷

s ׳°´»³»²¬¿¬·±²

Þ¿§ ˲·¬

Ô±¹·½¿´ Ü»ª·½» øÔÜ÷

s Ù®±«°·²¹

ݱ²¬®±´

Ô±¹·½¿´ Ò±¼» øÔÒ÷Ô±¹·½¿´ Ò±¼» øÔÒ÷ ÝÍÉ×ÝÍÉ× Í©·¬½¸ ݱ²¬®±´

Ü¿¬¿ øѾ¶»½¬÷

Ü¿¬¿ q

б­·¬·±²

߬¬®·¾«¬»

Ю±°»®¬·»­ q

Ê¿´«»

ݱ²¬®±´ Ê¿´«»Í¬¿¬«­ Ê¿´«»

ÑÒñÑÚÚ

»¨¿³°´»

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ïç

×ÛÝ êïèëðÓÓÍ ß°°´·»¼

Ô±¹·½¿´ Ü»ª·½» ÏðÁÔíñ

Ô±¹·½¿´ ¼»ª·½»

Û¿½¸ °¸§­·½¿´ ¼»ª·½» ø½¿´´»¼ ¿² ×ÛÜ÷ ½¿² °»®º±®³ º«²½¬·±²­ ¬¸¿¬ ©¿­ º±®³»®´§ °»®º±®³»¼¾§ ¼·ºº»®»²¬ °®±¬»½¬·±² ±® ½±²¬®±´ ¼»ª·½»­ò

̸±­» º±®³»® ¼»ª·½»­ ¿®» ®»°®»­»²¬»¼ ¾§ Ô±¹·½¿´ Ü»ª·½»­ ©·¬¸·² ¬¸» °¸§­·½¿´ ¼»ª·½»ò

½·®½«·¬ ¾®»¿µ»® ½±²¬®±´¿²¼ °®±¬»½¬·±²

и§­·½¿´ Ü»ª·½»Ð×ÍßÁÏðÁÔí

Ô±¹·½¿´ Ü»ª·½» ÞÁÔíñ

¾«­­ ¾¿® ½±²¬®±´¿²¼ °®±¬»½¬·±²

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îð

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ô±¹·½¿´ Ò±¼»­

×ÛÝ êïèëð ¿­­·¹²­ ¬± »¿½¸ º«²½¬·±² ©·¬¸·² ¿ ­«¾­¬¿¬·±² »¯«·°³»²¬ø¬®¿²­º±®³»®ô ½·®½«·¬ ¾®»¿µ»®ô °®±¬»½¬·±² º«²½¬·±²òòò÷ ¿ ´±¹·½¿´ ²±¼» øÔÒ÷ò

Ïð

Ìî

Ìï

Ý·¬§ È

×ÛÜï

×ÛÜî

ÔßÒ

ÝÍÉ×

Ð×ÑÝ

ÓÓÌÎ

ÓÓÈË

×ßÎÝ

ÈÝÞÎ

ÌÝÌÎ

æ ÌÊÌÎ

½·®½«·¬ ¾®»¿µ»®

½«®®»²¬ ³»¿­«®»¬®¿²­º±®³»®

ª±´¬¿¹» ³»¿­«®·²¹¬®¿²­º±®³»® ³»¿­«®·²¹ «²·¬

°®±¬»½¬·±² ¿¹¿·²­¬±ª»® ½«®®»²¬

½±²¬®±´ ±º ­©·¬½¸

¸«³¿² ·²¬»®º¿½»×ØÓ×

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îï

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ײ¬»®¿½¬·±² ¾»¬©»»² ´±¹·½¿´ ²±¼»­

ÌÝÌÎ

ÈÝÞÎ

ÎßÜÎ

ÎÜÎÛ

ÎÞÜÎ

ÌÊÌÎ ÔÔÒð

Ô±¹·½¿´ Ü»ª·½» Ü·­¬«®¾¿²½» λ½±®¼»®Í·²¹´» Ô·²»

ÌÊÌÎ

Ò ×²­¬¿²½»­ ±º ÎßÜÎ

Ó ×²­¬¿²½»­ ±º ÎÞÜÎ

ÙÙ×Ñ

ݸ¿²²»´ ²«³¾»®­º±® »¨¿³°´» ï � Òº±® ¿²¿´±¹«» ½¸¿²²»´­

ݸ¿²²»´ ²«³¾»®­º±® »¨¿³°´» Òõï � ÒõÓº±® ¾·²¿®§ ½¸¿²²»´­

ï ÔÒ º±®Ý±³³±² º»¿¬«®»­¿²¼ ݱ󱮼·²¿¬·±²

̸» ·²¬»®¿½¬·±² ·­ ¿² ¿°°´·½¿¬·±² ·­­«»ô ²±¬ ¼»º·²»¼ ·² ¬¸» ­¬¿²¼¿®¼

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îî

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ô±¹·½¿´ Ò±¼»­ Ù®±«°­ ¼»º·²»¼ ·² ×ÛÝ êïèëðóéóì

×ÛÝ êïèëðóéóì ¼»º·²»­ çï Ô±¹·½¿´ ²±¼»­ ¼·ª·¼»¼ ·²¬± ïí Ô±¹·½¿´ Ù®±«°­Ì¸» º·®­¬ ´»¬¬»® ±º ¬¸» Ô±¹·½¿´ Ò±¼» ·¼»²¬·º·»­ ¬¸» ¹®±«°ò

Ô±¹·½¿´ Ù®±«° Ò¿³» Ò«³¾»® ±º Ô±¹·½¿´ Ò±¼»­Ô ͧ­¬»³ ÔÒ îРЮ±¬»½¬·±² îèΠЮ±¬»½¬·±² ®»´¿¬»¼ ïðÝ Ý±²¬®±´ ëÙ Ù»²»®·½ í× ×²¬»®º¿½·²¹ ¿²¼ ¿®½¸·ª·²¹ ìß ß«¬±³¿¬·½ ½±²¬®±´ ìÓ Ó»¬»®·²¹ ¿²¼ ³»¿­«®»³»²¬ èÍ Í»²­±® ¿²¼ ³±²·¬±®·²¹ ìÈ Í©·¬½¸¹»¿® îÌ ×²­¬®«³»²¬ ¬®¿²­º±®³»®­ îÇ Ð±©»® ¬®¿²­º±®³»®­ ìÆ Ú«®¬¸»® °±©»® ­§­¬»³ »¯«·°³»²¬ ïë

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îí

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ̸» ÈóÙ®±«°æ Ô±¹·½¿´ ²±¼»­ º±® ­©·¬½¸¹»¿®

ÔÒ²¿³» Ú«²½¬·±²

ÈÝÞÎ Ý·®½«·¬ ¾®»¿µ»® ¿ ¸·¹¸ó°±©»® ­©·¬½¸ ½¿°¿¾´» ±º ­©·¬½¸·²¹ ±ºº±® ±² «²¼»® º«´´ ´±¿¼ ½«®®»²¬øͽ¸¿´¬»®ô ײ¬»®®«°¬»«®÷

ÈÍÉ× Ý·®½«·¬ ­©·¬½¸ ¿ ­©·¬½¸·²¹ ¼»ª·½» ½¿°¿¾´» ±º »´»½¬®·½¿´´§·­±´¿¬·²¹ ¿ ´·²»ô ¾«¬ ©¸·½¸ ³¿§ ±²´§ ¾»±°»®¿¬»¼ ©¸»² »­­»²¬·¿´´§ ²± ½«®®»²¬ ·­º´±©·²¹

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îì

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ô±¹·½¿´ Ò±¼»­ Ù®±«°­ ¼»º·²»¼ ·² ×ÛÝ êïèëðóéóì

×ÛÝ êïèëðóéóì ¼»º·²»­ çï Ô±¹·½¿´ ²±¼»­ ¼·ª·¼»¼ ·²¬± ïí Ô±¹·½¿´ Ù®±«°­Ì¸» º·®­¬ ´»¬¬»® ±º ¬¸» Ô±¹·½¿´ Ò±¼» ·¼»²¬·º·»­ ¬¸» ¹®±«°ò

Ô±¹·½¿´ Ù®±«° Ò¿³» Ò«³¾»® ±º Ô±¹·½¿´ Ò±¼»­Ô ͧ­¬»³ ÔÒ îРЮ±¬»½¬·±² îèΠЮ±¬»½¬·±² ®»´¿¬»¼ ïðÝ Ý±²¬®±´ ëÙ Ù»²»®·½ í× ×²¬»®º¿½·²¹ ¿²¼ ¿®½¸·ª·²¹ ìß ß«¬±³¿¬·½ ½±²¬®±´ ìÓ Ó»¬»®·²¹ ¿²¼ ³»¿­«®»³»²¬ èÍ Í»²­±® ¿²¼ ³±²·¬±®·²¹ ìÈ Í©·¬½¸¹»¿® îÌ ×²­¬®«³»²¬ ¬®¿²­º±®³»®­ îÇ Ð±©»® ¬®¿²­º±®³»®­ ìÆ Ú«®¬¸»® °±©»® ­§­¬»³ »¯«·°³»²¬ ïë

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îë

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ̸» Ðó¹®±«°ô ©·¬¸ îè °®±¬»½¬·±² ´±¹·½¿´ ²±¼»­

ÔÒ²¿³» ×ÛÛÛ °®±¬»½¬·±² º«²½¬·±²ø­÷ Ю±¬»½¬·±² Ú«²½¬·±²

ÐÜ×Ú èéôèéÐôèéÔôèéÒôèéÌôèéÞô èéÓô èéÙ Ü·ºº»®»²¬·¿´ÐÜ×Î èéÞ Ü·®»½¬·±² ½±³°¿®·­±²ÐÜ×Í îï Ü·­¬¿²½» °®±¬»½¬·±²ÐÜÑÐ íî Ü·®»½¬·±²¿´ Ѫ»®°±©»®ÐÜËÐ íîôíéôìð Ü·®»½¬·±²¿´ ˲¼»®°±©»®ÐÚÎÝ èï כּ ±º ½¸¿²¹» ±º º®»¯«»²½§ÐØßÎ èéÌ Ø¿®³±²·½ ®»­¬®¿·²¬ÐØ×Æ êì Ù®±«²¼ ¼»¬»½¬±®Ð×ÑÝ ëð ײ­¬¿²¬¿²»±«­ ±ª»®½«®®»²¬ÐÓÎ× ìçÎôêêôìèôëïÔÎ Ó±¬±® ®»­¬¿®¬ ·²¸·¾·¬·±²ÐÓÍÍ Ó±¬±® ­¬¿®¬·²¹ ­«°»®ª·­·±²ÐÑÐÚ ëë Ѫ»® °±©»® º¿½¬±®ÐÐßÓ Ð¸¿­» ¿²¹´» ³»¿­«®·²¹ÐÍÝØ îïôèë Ю±¬»½¬·±² ­½¸»³»ÐÍÜÛ Í»²­·¬·ª» ¼·®»½¬·±²¿´ »¿®¬¸ º¿«´¬ÐÌÛÚ Ì®¿²­·»²¬ »¿®¬¸ º¿«´¬ÐÌÑÝ ìêôëïôêðôêìÎôêìÍôêìÉôêéôêéÒôéê Ì·³» ±ª»®½«®®»²¬ÐÌÑÚ èï Ѫ»®º®»¯«»²½§ÐÌÑÊ ìéôëçôëçÜÝôêð Ѫ»®ª±´¬¿¹»ÐÌÎÝÐÌÌÎ ìçôìçÎôìçÍ Ì¸»®³¿´ ±ª»®´±¿¼ÐÌËÝ íé ˲¼»®½«®®»²¬ÐÌËÊ îé ˲¼»®ª±´¬¿¹»ÐÌËÚ Ë²¼»®º®»¯«»²½§ÐËÐÚ ëë ˲¼»® °±©»® º¿½¬±®ÐÊÑÝ ëïÊ Ê±´¬¿¹» ½±²¬®±´´»¼ ¬·³» ±ª»®½«®®»²¬ÐÊÐØ îì ʱ´¬ °»® Ø»®¬¦ÐÆÍË ïì Æ»®± ­°»»¼ ±® «²¼»®­°»»¼

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îê

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ øЮ±¬»½¬·±² º«²½¬·±²­ ­¬¿²¼¿®¼·¦»¼ ¾§ ×ÛÛÛ÷

îï Ü·­¬¿²½» °®±¬»½¬·±²îì ʱ´¬­ ¬± Ø»®¬¦ ã Ѫ»®º´«¨·²¹ °®±¬»½¬·±²îëßΠʱ´¬¿¹»ó ¿²¼ ­§²½¸®±ó½¸»½µ º±® ¿«¬±®»½´±­«®»îëÝ Ê±´¬¿¹»ó ¿²¼ ­§²½¸®±ó½¸»½µ º±® ½±²¬®±´ìç ̸»®³¿´ ±ª»®´±¿¼ìçÜ Í«°»®ª·­·±² ±º ¬¸®±«¹¸ ½«®®»²¬ ·² ¼·¿³»¬»®ô ½«®®»²¬ ±º °¸¿­» ß ±²´§ëðÞÚ Þ®»¿µ»® º¿·´ °®±¬»½¬·±²ëðÛ²¼Ú Û²¼óº¿«´¬ °®±¬»½¬·±²ô º¿­¬ ±ª»®½«®®»²¬ º±® º¿«´¬­ ¾»¬©»»² ±°»² ÝÞ ¿²¼ ½«®®»²¬ó­»²­±®ëðÙÌ»®¬ Ò±²ó¼»´¿§»¼ ±ª»®½«®®»²¬ ·² ¹®±«²¼ ½±²²»½¬·±² ±º ¬¸» ¬»®¬·¿®§ëðͬ«¾ Ì󦱲» °®±¬»½¬·±²

ß´¬»®²¿¬·ª» ïæ ײ ½¿­» ¬¸»®» ·­ ²± ­»²­±® º±® °®±¬»½¬·±² ·² ¬¸» º»»¼»®ô ¿ ²±²ó¼»´¿§»¼ º»»¼»®±ª»®½«®®»²¬ º«²½¬·±² ·­ °¿®¬ ±º ¬¸» ¼·­¬¿²½» °®±¬»½¬·±²ò ̸·­ ±ª»®½«®®»²¬ º«²½¬·±² ·­ ®»´»¿­»¼ ·º¬¸» º»»¼»® ¼·­½±²²»½¬±® ·­ ±°»² ¿²¼ îï ¾´±½µ»¼òß´¬»®²¿¬·ª» îæ ײ ½¿­» ¬¸» º»»¼»® ·­ »¯«·°°»¼ ©·¬¸ ­»²­±®­ º±® °®±¬»½¬·±²ô ¿ ¼»¼·½¿¬»¼ ¼·ºº»®»²¬·¿´°®±¬»½¬·±² ·­ ¿°°´·»¼ ø¿¼¼·¬·±²¿´ ¦±²» ±º ÎÛÞëðð÷

ëï Ì·³» ±ª»®½«®®»²¬ °¸¿­»ëïÙ Ù®±«²¼ ¾¿½µó«° ±ª»®½«®®»²¬ëïÒ Ñª»®½«®®»²¬ °®±¬»½¬·±² ³»¿­«®·²¹ ¬¸» ¬®¿²­º±®³»® ²»«¬®¿´ ½«®®»²¬ëç Ѫ»®ª±´¬¿¹»êìÌ»®¬ Æ»®±ó­»¯«»²½» ±ª»®ª±´¬¿¹» ¿­ ¹®±«²¼ °®±¬»½¬·±² ±º ¿² «²¹®±«²¼»¼ ¬»®¬·¿®§ ½·®½«·¬êéÙ ÜÛÚ ã ¼·®»½¬·±²¿´ ¹®±«²¼ º¿«´¬ ©·¬¸ ½±³³«²·½¿¬·±² ¬± ±°°±­·¬» ´·²» »²¼éç ß«¬±®»½´±­«®»èéÞ Þ«­¾¿® Ю±¬»½¬·±²èéÞï Ю±¬»½¬·±² ±º ¾«­ ïèéÞî Ю±¬»½¬·±² ±º ¾«­ îèéÎÛÚ Î»­¬®·½¬»¼ »¿®¬¸ º¿«´¬ô ®»­¬®·½¬»¼ ¬± ±²» ©·²¼·²¹èéÎÛÚÓ¿·²É¼¹ñ°¸ Þ·¿­»¼ ¼·ºº»®»²¬·¿´ º±® ³¿·² ©·²¼·²¹ô °¸¿­»ó­»¹®»¹¿¬»¼ò Ë­»¼ ¿­ ¹®±«²¼ º¿«´¬ °®±¬»½¬·±² ·² ½¿­»

±º ¬®¿²­º±®³»® ¹®±«°­ ©·¬¸ ±²» ¬¿²µ °»® °¸¿­»èéÔ Ô·²» ¼·ºº»®»²¬·¿´ °®±¬»½¬·±²èéÌ Ì®¿²­º±®³»® ¼·ºº»®»²¬·¿´ °®±¬»½¬·±²èéÌ ±ª»®¿´´ Þ·¿­»¼ ¼·ºº»®»²¬·¿´ ½±ª»®·²¹ ¿´´ ©·²¼·²¹­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îé

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ô±¹·½¿´ Ò±¼»­ Ù®±«°­ ¼»º·²»¼ ·² ×ÛÝ êïèëðóéóì

×ÛÝ êïèëðóéóì ¼»º·²»­ çï Ô±¹·½¿´ ²±¼»­ ¼·ª·¼»¼ ·²¬± ïí Ô±¹·½¿´ Ù®±«°­Ì¸» º·®­¬ ´»¬¬»® ±º ¬¸» Ô±¹·½¿´ Ò±¼» ·¼»²¬·º·»­ ¬¸» ¹®±«°ò

Ô±¹·½¿´ Ù®±«° Ò¿³» Ò«³¾»® ±º Ô±¹·½¿´ Ò±¼»­Ô ͧ­¬»³ ÔÒ îРЮ±¬»½¬·±² îèΠЮ±¬»½¬·±² ®»´¿¬»¼ ïðÝ Ý±²¬®±´ ëÙ Ù»²»®·½ í× ×²¬»®º¿½·²¹ ¿²¼ ¿®½¸·ª·²¹ ìß ß«¬±³¿¬·½ ½±²¬®±´ ìÓ Ó»¬»®·²¹ ¿²¼ ³»¿­«®»³»²¬ èÍ Í»²­±® ¿²¼ ³±²·¬±®·²¹ ìÈ Í©·¬½¸¹»¿® îÌ ×²­¬®«³»²¬ ¬®¿²­º±®³»®­ îÇ Ð±©»® ¬®¿²­º±®³»®­ ìÆ Ú«®¬¸»® °±©»® ­§­¬»³ »¯«·°³»²¬ ïë

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îè

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ̸» Ôó¹®±«°æ Ô±¹·½¿´ Ò±¼» Æ»®± ¿²¼ ÔÐØÜ

ÔÒ²¿³» Ú«²½¬·±²

ÔÔÒð Ô±¹·½¿´ Ò±¼» Æ»®± Í°»½·¿´ ÔÒ ¬¸¿¬ ¿¼³·²·­¬®¿¬»­ ¬¸» ª·®¬«¿´ ¼»ª·½»·¬ ·­ °¿®¬ ±ºò ׬ ¼»º·²»­ ·² °¿®¬·½«´¿® ¬¸»½±³³«²·½¿¬·±² ±¾¶»½¬­ ¿²¼ ¬¸» ´±¹ ±º ¬¸» ª·®¬«¿´¼»ª·½»ò

ÔÐØÜï и§­·½¿´ Ü»ª·½» Ô±¹·½¿´ Ò±¼» ®»°®»­»²¬­ ¬¸» °¸§­·½¿´ ¼»ª·½»ô ¿²¼ ·² °¿®¬·½«´¿®·¬­ ½±³³«²·½¿¬·±² °®±°»®¬·»­ô ¬¸¿¬ ¿®» ·¼»²¬·½¿´º±® ¿´´ Ô±¹·½¿´ Ü»ª·½»­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

îç

×ÛÝ êïèëðÓÓÍ ß°°´·»¼

Ô±¹·½¿´ Ò±¼» Ó±¼»´

ß´´ ´±¹·½¿´ ²±¼»­ ¿®» ½±²­¬®«½¬»¼ ¿½½±®¼·²¹ ¬± ¬¸» ¬»³°´¿¬»æ

߬¬®·¾«¬» Ò¿³» ߬¬®·¾«¬» ¬§°» Û¨°´¿²¿¬·±²ÔÒÒ¿³» Ѿ¶»½¬Ò¿³» ͬ®·²¹ ±º ½¸¿®¿½¬»®­ô »ò¼ ÈÝÞÎïÔÒλº Ѿ¶»½¬Î»º»®»²½» Ô±½¿¬·±² ­¬®·²¹ô »ò¹ò ÏïÞïÉïñÈÝÞÎï

Ü¿¬¿ Åïòò²Ã ÜßÌß Ü¿¬¿ Ѿ¶»½¬­ô ©·´´ ¾» ¼»¬¿·´»¼

Ü¿¬¿Í»¬ Åðòò²Ã ÜßÌßóÍÛÌ Ò¿³»¼ ¹®±«°­ ±º Ü¿¬¿ Ѿ¶»½¬­ ¿²¼ ¿¬¬®·¾«¬»­

Þ«ºº»®»¼Î»°±®¬Ý±²¬®±´Þ´±½µ Åðòò²Ã ÞÎÝÞ Ý±²¬®±´ ¾´±½µ º±® »ª»²¬­Ë²¾«ºº»®»¼Î»°±®¬Ý±²¬®±´Þ´±½µ Åðòò²Ã ÞÎÝÞÔ±¹Ý±²¬®±´Þ´±½µ­ Åðòò²Ã ÔÝÞ Ý±²¬®±´ ¾´±½µ º±® ¸·­¬±®§Ñ²´§ º±® ÔÔÒð

Í»¬¬·²¹Ù®±«°­Ý±²¬®±´Þ´±½µ Åðòòïà ÍÙÝÞ Ý±²¬®±´ ¾´±½µ º±® ­»¬¬·²¹­Ô±¹ Åðòòïà ÔÑÙÙÑÑÍÛݱ²¬®±´Þ´±½µ Åðòò²Ã Ù±ÝÞÙÍÍÛݱ²¬®±´Þ´±½µ Åðòò²Ã Ù­ÝÞÓ«´¬·½¿­¬Í¿³°´»¼Ê¿´«»­ Åðòò²Ã ÓÍÊÝÞ˲·½¿­¬Í¿³°´»¼Ê¿´«»­ Åðòò²Ã ËÍÊÝÞ

Í»®ª·½»­Ù»¬Ô±¹·½¿´Ò±¼»Ü·®»½¬±®§Ù»¬ß´´Ü¿¬¿Ê¿´«»­

Ô±¹·½¿´óÒ±¼» ½´¿­­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íð

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ô±¹·½¿´ Ò±¼» ½±³°±²»²¬­

̸» ¿¬¬®·¾«¬»­ ±º ´±¹·½¿´ ²±¼»­ ¿®» ¼·ª·¼»¼ ·²¬±æ

ÜßÌß ÑÞÖÛÝÌÍ ø¿°°´·½¿¬·±² ¼¿¬¿÷

ÜßÌß ÍÛÌÍ ø¹®±«°­ ±º ¼¿¬¿÷

ÝÑÒÌÎÑÔ ÞÔÑÝÕÍ ø¬®¿²­³·­­·±² ¿²¼ ­¬±®¿¹»÷

­°»½·¿´ ½±³°±²»²¬­ º±® Ô±¹·½¿´ Ò±¼» Æ»®± øÔÔÒð÷

Ô»¬�­ ­¬¿®¬ ©·¬¸ Ü¿¬¿ Ѿ¶»½¬­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íï

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ó±¼»´·²¹ ¬¸» Ü¿¬¿ Ѿ¶»½¬­ øÜßÌß÷ ·² ¬¸» Ô±¹·½¿´ ²±¼»­

ß ´±¹·½¿´ ²±¼» ½±²¬¿·²­ Ü¿¬¿ Ѿ¶»½¬­ øÜßÌß÷ ¬¸¿¬ ®»°®»­»²¬¿°°´·½¿¬·±² ø­«¾­¬¿¬·±²÷ ±¾¶»½¬­

ݱ³³±² ´±¹·½¿´ ²±¼» ·²º±®³¿¬·±²·²º±®³¿¬·±² ·²¼»°»²¼»²¬ º®±³ ¬¸» ¼»¼·½¿¬»¼ º«²½¬·±² ®»°®»­»²¬»¼ ¾§ ¬¸» ÔÒô»ò¹ò ²¿³» °´¿¬»ô ¸»¿´¬¸ô�ò÷

ݱ²¬®±´­¼¿¬¿ ©¸·½¸ ¿®» ½¸¿²¹»¼ ¾§ ½±³³¿²¼­ô»ò¹ò ­©·¬½¸¹»¿® ­¬¿¬» øÑÒóÑÚÚ÷ô ¬¿° ½¸¿²¹»® °±­·¬·±² ±® ®»­»¬¿¾´» ½±«²¬»®­

Ô±¹·½¿´ Ò±¼»

ͬ¿¬·®»°®»­»²¬­ »·¬¸»® ¬¸» ­¬¿¬«­ ±º ¬¸» °®±½»­­ ±® ±º ¬¸» º«²½¬·±² ±º ¬¸» ÔÒô»ò¹ò ­©·¬½¸ ¬§°»ô °±­·¬·±² ±º ¿ ­©·¬½¸÷

Ó»¿­«®»­¿²¿´±¹ ¼¿¬¿ ³»¿­«®»¼ º®±³ ¬¸» °®±½»­­ ø»ò¹ò ´·²» ½«®®»²¬ô ª±´¬¿¹»ô °±©»®÷ô±® ½¿´½«´¿¬»¼ ·² ¬¸» ÔÒ ø»ò¹ò ¬±¬¿´ ¿½¬·ª» °±©»®ô ²»¬ »²»®¹§ º´±©÷

Í»¬¬·²¹­°¿®¿³»¬»®­ º±® ¬¸» º«²½¬·±² ±º ¿ ´±¹·½¿´ ²±¼»ô»ò¹ò º·®­¬ô ­»½±²¼ ¿²¼ í®¼ ®»½´±­«®» ¬·³»ô ½´±­» °«´­» ¬·³»

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íî

×ÛÝ êïèëðÓÓÍ ß°°´·»¼

Ó±¼ Ó±¼» ×ÒÝ ÓÞ»¸ Þ»¸¿ª·±® ×ÒÍ ÓØ»¿´¬¸ Ø»¿´¬¸ ×ÒÍ ÓÒ¿³»Ð´¬ Ò¿³» д¿¬» ÔÐÔÔ±½ Ô±½¿´ ±°»®¿¬·±²ô ²±¬ ®»³±¬» ÍÐÍÛÛØ»¿´¬¸ Û¨¬»®²¿´ »¯«·°³»²¬ ¸»¿´¬¸ ×ÒÍÛÛÒ¿³» Û¨¬»®²¿´ »¯«·°³»²¬ ²¿³» °´¿¬» ÜÐÔÒ¿³Ð´¬ Ò¿³» д¿¬» ÔÐÔѰݲ¬ Ñ°»®¿¬·±² ½±«²¬»® ×ÒÍ Ó

Û¨¿³°´» ±º ÜßÌß ·² ¿ Ô±¹·½¿´ Ò±¼»æ ÈÝÞÎ

Ü¿¬¿ Ѿ¶»½¬

Þ¿­·½ ÔÒ

б­ Í©·¬½¸ °±­·¬·±² ÜÐÝ ÓÞ´µÑ°² Þ´±½µ ±°»²·²¹ ÍÐÝ ÓÞ´µÝ´­ Þ´±½µ ½´±­·²¹ ÍÐÝ Óݸ¿Ó±¬Û²¿ ݸ¿®¹»® ³±¬±® »²¿¾´» ÍÐÝ

ݱ²¬®±´­

ÝÞÑ°Ý¿° Ý·®½«·¬ ¾®»¿µ»® ±°»®¿¬·²¹ ½¿°¿¾·´·¬§ ×ÒÍ ÓÐÑÉÝ¿° б·²¬ ±² ©¿ª» ­©·¬½¸·²¹ ½¿°¿¾·´·¬§ ×ÒÍÓ¿¨Ñ°Ý¿° Ñ°»®¿¬·²¹ ½¿°¿¾·´·¬§ ©¸»² º«´´§ ½¸¿®¹»¼ ×ÒÍ

ͬ¿¬«­

Í«³Í©ßέ Í«³ ±º ­©·¬½¸»¼ ¿³°»®»­ô ®»­»¬¿¾´» ÞÝÎÓ»¿­«®»­

Û¨°´¿²¿¬·±²

б­ ·­ ¿ÜßÌß ±ºÔ±¹·½¿´ Ò±¼»ÈÝÞÎ

½±³³±² ¬±¿´´ ´±¹·½¿´²±¼»­

ÝÜÝ Ó¿²¼¿¬±®§ÈÝÞÎ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íí

×ÛÝ êïèëðÓÓÍ ß°°´·»¼

­¬Ê¿´ ÞÑÑÔÛßÒ¯ Ï«¿´·¬§¬ Ì·³»Í¬¿³°

­«¾Û²¿ ÞÑÑÔÛßÒ­«¾Ê¿´ ÞÑÑÔÛßÒ­«¾Ï Ï«¿´·¬§­«¾×Ü Ê·­·¾´» ͬ®·²¹êì

¼ Ê·­·¾´» ͬ®·²¹îëë

ß Ü¿¬¿ Ѿ¶»½¬ ½±²­·­¬­ ±º Ü¿¬¿ ߬¬®·¾«¬»­

Û¿½¸ ¿¬¬®·¾«¬» ±º ¿ ÜßÌß ½±²­·­¬­ ±º ¿ ²«³¾»® ±º Ü¿¬¿ ߬¬®·¾«¬»­ô©·¬¸ ¿ Ü¿¬¿ ߬¬®·¾«¬» ̧°» øÜß̧°»÷ ¬¸¿¬ ¾»´±²¹ ¬± Ú«²½¬·±²¿´ ݱ²­¬®¿·²¬­ øÚÝ÷

߬¬®·¾«¬» ̧°»

ͬ¿¬«­ øÍÌ÷

Ü»­½®·°¬·±² øÜÝ÷

ݱ³³±² ¼¿¬¿¿¬¬®·¾«¬» ¬§°»

Í«¾­¬·¬«¬·±² øÍÊ÷

߬¬®·¾«¬» Ò¿³»

±²´§ ²»»¼»¼ ©¸»²­«¾­¬·¬«¬·±² ·­°±­­·¾´»

Ú«²½¬·±²¿´ ݱ²­¬®¿·²¬

ÜßÌß �б­�

Þ¿­·½ ̧°»

ÝÜÝ ãÜÐÝ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íì

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ݱ³³±² Ü¿¬¿ Ý´¿­­»­ ·² ×ÛÝ êïèëðóéóì

Ó¿²§ Ô±¹·½¿´ Ò±¼»­ ¸¿ª» Ü¿¬¿ Ѿ¶»½¬­ ©·¬¸ ¬¸» ­¿³» Ü¿¬¿ ߬¬®·¾«¬»­ò

Ú±® ·²­¬¿²½»ô ¿´´ ¾·²¿®§ ·²°«¬ ª¿®·¿¾´»­ ²»»¼ ¬¸» Ü¿¬¿ ߬¬®·¾«¬»­ä­¬¿¬«­â䯫¿´·¬§â䬷³»­¬¿³°âä¼»­½®·°¬·±²â

̱ ­·³°´·º§ »²¹·²»»®·²¹ô ×ÛÝ êïèëð ¼»º·²»¼ ­¬¿²¼¿®¼ ¹®±«°­ ±º Ü¿¬¿ ߬¬®·¾«¬»­ô½¿´´»¼ ÝÜÝ ø�ݱ³³±² Ü¿¬¿ Ý´¿­­»­�÷

ø�Ý´¿­­»­� ·­ ²±¬ ®»´¿¬»¼ ¬± ½´¿­­»­ ·² ±¾¶»½¬ó±®·»²¬»¼ ´¿²¹«¿¹»­ô ¿ ½´¿­­ ·­ ­·³·´¿® ¬±¿ �­¬®«½¬� ·² �Ý�ò

Û¿½¸ Ü¿¬¿ Ѿ¶»½¬ ±º ¿ ´±¹·½¿´ ²±¼» ¾»´±²¹­ ¬± ¿ ÝÜÝò

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íë

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ̸» íð ݱ³³±² Ü¿¬¿ Ý´¿­­»­ ±º êïèëðóéóí

ͬ¿¬«­ ·²º±®³¿¬·±² ø¾·²¿®§ô ·²¬»¹»®÷æÍÐÍæ Í·²¹´» б·²¬ ͬ¿¬«­ÜÐÍæ ܱ«¾´» б·²¬ ͬ¿¬«­×ÒÍæ ײ¬»¹»® ͬ¿¬«­ßÝÌæ Ю±¬»½¬·±² ß½¬·ª¿¬·±² ·²º±ßÝÜæ ß½¬·ª¿¬·±² ײº± Ü·®»½¬·±²¿´ Ю±¬»½¬·±²ÍÛÝæ Í»½«®·¬§ Ê·±´¿¬·±² ݱ«²¬·²¹ÞÝÎæ Þ·²¿®§ ݱ«²¬»® λ¿¼·²¹

Ó»¿­«®¿²¼ ·²º±®³¿¬·±²æÓÊæ Ó»¿­«®»³»²¬ Ê¿´«»ÝÓÊæ ݱ³°´»¨ Ó»¿­«®»¼ Ê¿®·¿¾´»ÍßÊæ Í¿³°´»¼ Ê¿´«»ÉÇÛæ и¿­» ¬± Ù®±«²¼ÜÛÔæ и¿­» ¬± и¿­»ÍÛÏæ Í»¯«»²½»ØÓÊæ Ø¿®³±²·½ Ê¿´«»ØÉÇÛæ Ø¿®³±²·½ Ê¿´«» º±® ÉÇÛØÜÛÔæ Ø¿®³±²·½ Ê¿´«» º±® ÜÛÔ

ݱ²¬®±´´¿¾´» ­¬¿¬«­æÍÐÝ Í·²¹´» б·²¬ ݱ²¬®±´ÜÐÝ Ü±«¾´» б·²¬ ݱ²¬®±´×ÒÝ ×²¬»¹»® ͬ¿¬«­ ݱ²¬®±´ÞÍÝ Þ·²¿®§ ݱ²¬®±´´»¼ ͬ»° б­·¬·±² ײº±×ÍÝ ×²¬»¹»® ݱ²¬®±´´»¼ ͬ»° б­·¬·±² ײº±

ݱ²¬®±´´¿¾´» ß²¿´±¹æßÐÝ øº½ãÍÐô ­»¬ °±·²¬÷

ͬ¿¬«­ ­»¬¬·²¹­æÍÐÙ Í·²¹´» б·²¬ Í»¬¬·²¹×ÒÙ øº½ ã ÍÙô ÍÛ ±® ÍÐ÷

ß²¿´±¹ ­»¬¬·²¹­æßÍÙôÝËÎÊÛ øº½ã ÍÙô ÍÛ ±® ÍÐ÷

Ü»­½®·°¬·ª» ·²º±®³¿¬·±²æÜÐÔ Ü»ª·½» Ò¿³» д¿¬»ÔÐÔ Ô±¹·½¿´ Ò±¼» Ò¿³» д¿¬»ÝÍÜ Ý«®ª» ͸¿°» Ü»­½®·°¬·±²

̸»­» ¿®» ¿´´ ¬¸» °±­­·¾´» ¬§°»­ º±® Ü¿¬¿ Ѿ¶»½¬­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íê

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ÝÜÝæ Í·²¹´» б·²¬ Í»¬¬·²¹ øÍÐÍ÷

Í·²¹´» б·²¬ Í»¬¬·²¹ øÍÐÍ÷ ½´¿­­

߬¬®·¾«¬» ߬¬®·¾«¬» ̧°» ÚÝ Ì®¹Ñ° Ê¿´«»ñÊ¿´«» ο²¹» ÓñÑñÝ

­¬¿¬«­

­¬Ê¿´ ÞÑÑÔÛßÒ ÍÌ ¼½¸¹ ÌÎËÛ ¤ ÚßÔÍÛ Ó¯ Ï«¿´·¬§ ÍÌ ¯½¸¹ Ó¬ Ì·³»Í¬¿³° ÍÌ Ó

­«¾­¬·¬«¬·±²

­«¾Û²¿ ÞÑÑÔÛßÒ ÍÊ Ð×ÝÍÁÍËÞÍÌ­«¾Ê¿´ ÞÑÑÔÛßÒ ÍÊ ÌÎËÛ ¤ ÚßÔÍÛ Ð×ÝÍÁÍËÞÍÌ­«¾Ï Ï«¿´·¬§ ÍÊ Ð×ÝÍÁÍËÞÍÌ­«¾×Ü Ê×Í×ÞÔÛ ÍÌÎ×ÒÙêì ÍÊ Ð×ÝÍÁÍËÞÍÌ

½±²º·¹«®¿¬·±²ô ¼»­½®·°¬·±² ¿²¼ »¨¬»²­·±²

¼ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÜÝ Ì»¨¬ Ñ¼Ë ËÒ×ÝÑÜÛ ÍÌÎ×ÒÙîëë ÜÝ Ñ½¼½Ò­ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÛÈ ßÝÁÜÔÒÜßÁÓ½¼½Ò¿³» Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÛÈ ßÝÁÜÔÒÜßÁÓ¼¿¬¿Ò­ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÛÈ ßÝÁÜÔÒÁÓ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íé

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ÝÜÝæ ݱ³³±² Ó»¿­«®»³»²¬ Ê¿´«» øÝÓÊ÷

߬¬®·¾«¬» ߬¬®·¾«¬» ̧°» ÚÝ Ì®¹Ñ° Ê¿´«»ñÊ¿´«» ο²¹» ÓñÑñÝ

³»¿­«®»¼ ¿¬¬®·¾«¬»­·²­¬ÝÊ¿´ Ê»½¬±® ÓÈ Ñ½Ê¿´ Ê»½¬±® ÓÈ ¼½¸¹ Ó®¿²¹» ÛÒËÓÛÎßÌÛÜ ÓÈ ¼½¸¹ ²±®³¿´¤¸·¹¸¤´±©¤¸·¹¸ó¸·¹¸¤´±©ó´±©¤òòò ѯ Ï«¿´·¬§ ÓÈ ¯½¸¹ Ó¬ Ì·³»Í¬¿³° ÓÈ Ó

­«¾­¬·¬«¬·±²­«¾Û²¿ ÞÑÑÔÛßÒ ÍÊ Ð×ÝÍÁÍËÞÍÌ­«¾ÝÊ¿´ Ê»½¬±® ÍÊ Ð×ÝÍÁÍËÞÍÌ­«¾Ï Ï«¿´·¬§ ÍÊ Ð×ÝÍÁÍËÞÍÌ­«¾×Ü Ê×Í×ÞÔÛ ÍÌÎ×ÒÙêì ÍÊ Ð×ÝÍÁÍËÞÍÌ

½±²º·¹«®¿¬·±²ô ¼»­½®·°¬·±² ¿²¼ »¨¬»²­·±²«²·¬­ ˲·¬ ÝÚ ­»» ß²²»¨ ß Ñ¼¾ ×ÒÌíîË ÝÚ ð � ïðð ððð Ѧ»®±Ü¾ ×ÒÌíîË ÝÚ ð � ïðð ððð Ñ®¿²¹»Ý ο²¹»Ý±²º·¹ ÝÚ ÙÝÁÝÑÒ³¿¹ÍÊÝ Í½¿´»¼Ê¿´«»Ý±²º·¹ ÝÚ ßÝÁÍÝßÊ¿²¹ÍÊÝ Í½¿´»¼Ê¿´«»Ý±²º·¹ ÝÚ ßÝÁÍÝßÊ¿²¹Î»º ÛÒËÓÛÎßÌÛÜ ÝÚ Ê ¤ ß ¤ ±¬¸»® � Ñ­³°Î¿¬» ×ÒÌíîË ÝÚ Ñ¼ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÜÝ Ì»¨¬ Ñ¼Ë ËÒ×ÝÑÜÛ ÍÌÎ×ÒÙîëë ÜÝ Ñ½¼½Ò­ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÛÈ ßÝÁÜÔÒÜßÁÓ½¼½Ò¿³» Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÛÈ ßÝÁÜÔÒÜßÁÓ¼¿¬¿Ò­ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÛÈ ßÝÁÜÔÒÁÓ

ݱ³³±² Ó»¿­«®»³»²¬ Ê¿´«»

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íè

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ÝÜÝ Ý±²¬®±´´¿¾´» ܱ«¾´» б·²¬ ÝÜÐ ø»ò¹ò б­ ·² ÈÝÞÎ÷

߬¬®·¾«¬» ߬¬®·¾«¬» ̧°» ÚÝ Ì®¹Ñ° Ê¿´«»ñÊ¿´«» ο²¹» ÓñÑñݽ±²¬®±´ ¿²¼ ­¬¿¬«­

½¬´Ê¿´ ÞÑÑÔÛßÒ ÝÑ ±ºº øÚßÔÍÛ÷ ¤ ±² øÌÎËÛ÷ ßÝÁÝÑÁÓ±°»®Ì³ Ì·³»Í¬¿³° ÝÑ ßÝÁÝÑÁѱ®·¹·² Ñ®·¹·²¿¬±® ÝÑô ÍÌ ßÝÁÝÑÁѽ¬´Ò«³ ×ÒÌèË ÝÑô ÍÌ ðòòîëë ßÝÁÝÑÁÑ­¬Ê¿´ ÝÑÜÛÜ ÛÒËÓ ÍÌ ¼½¸¹ ·²¬»®³»¼·¿¬» ¤ ±ºº ¤ ±² ¤ ¾¿¼ Ó¯ Ï«¿´·¬§ ÍÌ ¯½¸¹ Ó¬ Ì·³»Í¬¿³° ÍÌ Ó­¬Í»´¼ ÞÑÑÔÛßÒ ÍÌ ¼½¸¹ ßÝÁÝÑÁÑ

­«¾­¬·¬«¬·±²­«¾Û²¿ ÞÑÑÔÛßÒ ÍÊ Ð×ÝÍÁÍËÞÍÌ­«¾Ê¿´ ÝÑÜÛÜ ÛÒËÓ ÍÊ ·²¬»®³»¼·¿¬» ¤ ±ºº ¤ ±² ¤ ¾¿¼ Ð×ÝÍÁÍËÞÍÌ­«¾Ï Ï«¿´·¬§ ÍÊ Ð×ÝÍÁÍËÞÍÌ­«¾×Ü Ê×Í×ÞÔÛ ÍÌÎ×ÒÙêì ÍÊ Ð×ÝÍÁÍËÞÍÌ

½±²º·¹«®¿¬·±²ô ¼»­½®·°¬·±² ¿²¼ »¨¬»²­·±²°«´­»Ý±²º·¹ Ы´­»Ý±²º·¹ ÝÚ ßÝÁÝÑÁѽ¬´Ó±¼»´ ݬ´Ó±¼»´­ ÝÚ Ó­¾±Ì·³»±«¬ ×ÒÌíîË ÝÚ ßÝÁÝÑÁÑ­¾±Ý´¿­­ ;±Ý´¿­­» ÝÚ ßÝÁÝÑÁѼ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÜÝ Ì»¨¬ Ñ¼Ë ËÒ×ÝÑÜÛ ÍÌÎ×ÒÙîëë ÜÝ Ñ½¼½Ò­ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÛÈ ßÝÁÜÔÒÜßÁÓ½¼½Ò¿³» Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÛÈ ßÝÁÜÔÒÜßÁÓ¼¿¬¿Ò­ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÛÈ ßÝÁÜÔÒÁÓ

Ó ã ³¿²¼¿¬±®§ô Ñ ã ±°¬·±²¿´ô ßÝÁÝÑÁÓæ ³¿²¼¿¬±®§ ©¸»² ßÝÁÝÑ ±°¬·±² ­´»½¬»¼ô �ò

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

íç

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ü¿¬¿ ߬¬®·¾«¬» ̧°»­

Ü¿¬¿ ߬¬®·¾«¬»­ ³¿§ ¾» ±º

ó °®·³·¬·ª» ø¿ ­·³°´» ¬§°»ô »ò¹ò ÞÑÑÔÛßÒ÷

ó ½±³°±­·¬» ø½±²­¬®«½¬»¼ô »ò¹ò Ê»½¬±®÷ ·² ©¸·½¸ ½¿­» ¬¸»§ ½±²­·­¬ ±º ߬¬®·¾«¬»­ ݱ³°±²»²¬­

Ê»½¬±® ̧°» Ü»º·²·¬·±²ß¬¬®·¾«¬» Ò¿³» ߬¬®·¾«¬» ̧°» Ê¿´«»ñÊ¿´«» ο²¹» ÓñÑñÝ

³¿¹ ß²¿´±¹«»Ê¿´«» Ó¿²¹ ß²¿´±¹«»Ê¿´«» Ñ

ß²¿´±¹«»Ê¿´«» ·¬­»´º ·­ ¼»º·²»¼ ¿­æ

ß²¿´±¹«»Ê¿´«» ̧°» Ü»º·²·¬·±²ß¬¬®·¾«¬» Ò¿³» ߬¬®·¾«¬» ̧°» Ê¿´«»ñÊ¿´«» ο²¹» ÓñÑñÝ× ×ÒÌíî ·²¬»¹»® ª¿´«» ÙÝÁïº ÚÔÑßÌíî º´±¿¬·²¹ °±·²¬ ª¿´«» ÙÝÁï

»ò¹ò и¿­»Ê±´¬¿¹»ò³¿¹òº ·­ ¬¸» ³¿¹²·¬«¼» ±º ¬¸» °¸¿­» ª±´¬¿¹» ¿­ ¿ º´±¿¬·²¹ °±·²¬ ²«³¾»®

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìð

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ݱ³³±² Ü¿¬¿ ߬¬®·¾«¬»­

×ÛÝ êïèëðóéóíòê ¼»º·²»­ ïî ݱ³³±² Ü¿¬¿ ߬¬®·¾«¬»­ øÝÜß÷

Ï«¿´·¬§ß²¿´±¹«» ª¿´«»Ý±²º·¹«®¿¬·±² ±º ¿²¿´±¹«» ª¿´«»Î¿²¹» ½±²º·¹«®¿¬·±²Í¬»° °±­·¬·±² ©·¬¸ ¬®¿²­·»²¬ ·²¼·½¿¬·±²Ð«´­» ½±²º·¹«®¿¬·±²Ñ®·¹·²¿¬±®Ë²·¬ ¼»º·²·¬·±²Ê»½¬±® ¼»º·²·¬·±²Ð±·²¬ ¼»º·²·¬·±²Ý¬´Ó±¼»´­ ¼»º·²·¬·±²Í¾±Ý´¿­­»­ ¼»º·²·¬·±² øÍ»´»½¬ Þ»º±®» Ñ°»®¿¬»÷

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìï

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ݱ³³±² Ü¿¬¿ ߬¬®·¾«¬»­æ »ò¹ò Ï«¿´·¬§

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìî

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ú«²½¬·±²¿´ ݱ²­¬®¿·²¬­

Ê¿®·¿¾´»­ ¿®» ±º ¼·ºº»®»²¬ ®»´»ª¿²½» ¿²¼ ¬·³» ½®·¬·½¿´·¬§ò

»ò¹ò ¬¸» °±­·¬·±² ª¿®·¿¾´» �б­� ±º ¿ ½·®½«·¬ ¾®»¿µ»® ·­ ±º ½´¿­­ ÝÜÐô·¬ ½±²¬¿·²­ ª¿®·¿¾´»­ ±º ¼·ºº»®»²¬ «®¹»²½§æ󬸻 ¿½¬«¿´ °±­·¬·±² ±º ¬¸» ­©·¬½¸ øÈÝÞÎîòͬʿ´÷ ¿²¼ó¬¸» ¼»­½®·°¬·±² øÈÝÞÎîò¼÷ò

̱ ®»¬®·»ª» ·²º±®³¿¬·±² º®±³ ¿² ×ÛÜ ­»´»½¬·ª»´§ô »¿½¸ ´»¿ª» ¸¿­ ¿² ¿­­±½·¿¬»¼¿ º«²½¬·±²¿´ ½±²­¬®¿·²ô ¬¸¿¬ ¾»½±³»­ °¿®¬ ±º ·¬­ ²¿³»ò

̸» º«²½¬·±²¿´ ½±²­¬®¿·²¬­ ¿°°´§ ¬± »¿½¸ ¼¿¬¿ ¿¬¬®·¾«¬»ò

ß ´»¿º ½¿² ¾»´±²¹ ¬± ³±®» ¬¸¿² ±²» Ú«²½¬·±² ݱ²­¬®¿·²¬ô ¿´¬¸±«¹¸ ¬¸·­ ±½½«®­­»´¼±³ò

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìí

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ú«²½¬·±²¿´ ݱ²­¬®¿·²¬­

λ¿¼Ò¿³» ­°¿½» ¼»º·²·¬·±²ÛÈ

λ¿¼ô ©®·¬»Ð¿®¿³»¬»® ø±«¬­·¼» ÍÙ÷ÍÐ

Ù»¬¨¨¨ÝÞÊ¿´«»­ôÍ»¬¨¨¨ÝÞÊ¿´«»­

Û¿½¸ ÝÞ ¬§°»ÝÞ ®»´¿¬»¼

Ù»¬ÍÙÊ¿´«»ôÍ»¬ÍÙÊ¿´«»

п®¿³»¬»®­ô ·² ­»¬¬·²¹¹®±«°­ øÍÙæ ¬¸» ¿½¬·ª»ô ÍÛ欸» »¼·¬¿¾´» ª¿´«»÷

ÍÙ

ÍÛ

λ¿¼ôÉ®·¬» ø®»°±®¬ô ´±¹÷

ݱ²º·¹«®¿¬·±²ô ¼»­½®·°¬·±²ÝÚÜÝ

Í«¾­¬·¬«¬» ø®»¿¼ô ©®·¬»÷Í«¾­¬·¬«¬·±² ®»´¿¬»¼ÍÊ

Ñ°»®¿¬»Ð®±½»­­ ½±³³¿²¼­å ¾·²¿®§ô¿²¿´±¹ øÍ»¬ б·²¬­÷

ÝÑÍÐ

λ¿¼ô ­«¾­¬·¬«¬»ô ®»°±®¬ô´±¹

Ю±½»­­ ª¿´«»­æ ͬ¿¬«­ôÓ»¿­«®¿²¼

ÍÌÓÈ

Í»®ª·½»­Ó»¿²·²¹ÚÝ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìì

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ò¿³·²¹ ­½¸»³» øÔÒÒ¿³» ¿²¼ ÔÒλº÷

̸» ²¿³» ±º ¬¸» ´±¹·½¿´ ²±¼» ·­ ¬¸¿¬ ±º ¿² ·²­¬¿²½» ±º ¬¸» ­¬¿²¼¿®¼ ´±¹·½¿´ ²±¼»­ô«²·¯«» ·² ¬¸» Ô±¹·½¿´ Ü»ª·½» »ò¹ò ÈÝÞÎî

̸» Ѿ¶»½¬ ®»º»®»²½» ·­ ¬¸» º«´´ °¿¬¸ ±º ¬¸» ±¾¶»½¬ô ½±³°´»¬»¼ ©·¬¸ ¬¸» Ú«²½¬·±²¿´Ý±²­¬®¿·²¬æ

ÐîÕßïñÏðÈÝÞÎîòÓ±¼»ò­¬Ê¿´ ÅÍÌÃ

Ô±¹·½¿´ Ò±¼» ®»º»®»²½»

ÜßÌß ®»º»®»²½»

ÜßÌß ß¬¬®·¾«¬» ®»º»®»²½»

Ôܲ¿³»

ÔÒ²¿³»

ÜßÌß²¿³»

Ü¿¬¿ ߬¬®·¾«¬»²¿³»

Úݲ¿³»

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìë

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ò¿³·²¹ ¿ Ü¿¬¿ ߬¬®·¾«¬» ø�б­� ·² ¿² �ÈÝÞÎ�÷

б­ ÈÝÞÎïòб­óó ½¬´Ê¿´ ÞÑÑÔÛßÒ ÈÝÞÎïòб­ò½¬´Ê¿´óó ±°»®Ì³ Ì·³»Í¬¿³° ÈÝÞÎïòб­ò±°»®Ì³óó ±®·¹·² Ñ®·¹·²¿¬±® ÈÝÞÎïòб­ò±®·¹·²óó ½¬´Ò«³ ×ÒÌèË ÈÝÞÎïòб­ò½¬´Ò«³

óó ­¬Ê¿´ ÝÑÜÛÜ ÛÒËÓ ÈÝÞÎïòб­ò­¬Ê¿´óó ¯ Ï«¿´·¬§ ÈÝÞÎïòб­ò¯óó ¬ Ì·³»Í¬¿³° ÈÝÞÎïòб­ò¬

óó ­¬Í»´¼ ÞÑÑÔÛßÒ ÈÝÞÎïòб­ò­¬Í»´¼óó ­«¾Û²¿ ÞÑÑÔÛßÒ ÈÝÞÎïòб­ò­«¾Û²¿óó ­«¾Ê¿´ ÝÑÜÛÜ ÛÒËÓ ÈÝÞÎïòб­ò­«¾Ê¿´óó ­«¾Ï Ï«¿´·¬§ ÈÝÞÎïòб­ò­«¾Ïóó ­«¾×Ü Ê×Í×ÞÔÛ ÍÌÎ×ÒÙêì ÈÝÞÎïòб­ò­«¾×Ü

óó °«´­»Ý±²º·¹ Ы´­»Ý±²º·¹ ÈÝÞÎïòб­ò°«´­»Ý±²º·¹óó ½¬´Ó±¼»´ ݬ´Ó±¼»´­ ÈÝÞÎïòб­ò½¬´Ó±¼»´óó ­¾±Ì·³»±«¬ ×ÒÌíîË ÈÝÞÎïòб­ò­¾±Ì·³»±«¬óó ­¾±Ý´¿­­ ;±Ý´¿­­» ÈÝÞÎïòб­ò­¾±Ý´¿­­óó ¼¿¬¿Ò­ Ê×Í×ÞÔÛ ÍÌÎ×ÒÙîëë ÈÝÞÎïòб­ò¼¿¬¿Ò­

ÈÝÞÎï

Þ´µÑ°²

Ô±¹·½¿´ Ò±¼» ÜßÌß

Ѱݲ¬

Üß ÔÒ Î»º»®»²½»Üß Ì§°»

ÜßÌß Î»º»®»²½»

Üß Î»º»®»²½»ÈÝÞÎï

ͬ¿¬«­ øÍÌ÷

ݱ²¬®±´ øÝÑ÷

Í«¾­¬·¬«¬·±² øÍÊ÷

Ü»­½®·°¬·±² øÜÍ÷

ÚÝ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìê

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ λ­«³7

×ÛÝ êïèëðóéóì ¼»º·²»­ çð Ô±¹·½¿´ Ò±¼»­ô ¼·ª·¼»¼ ·²¬± ïí ¹®±«°­ øÔôÐôÎôÝôÙô�÷

Û¿½¸ ÔÒ ½±²­·­¬­ ±º Ü¿¬¿ Ѿ¶»½¬ øÜßÌß÷ ¹®±«°»¼ ·² ë ½¿¬»¹±®·»­¹»²»®¿´ô ­»¬¬·²¹­ô ­¬¿¬«­ô ½±³³¿²¼ ¿²¼ ³»¿­«®»

Û¿½¸ Ü¿¬¿ Ѿ¶»½¬ ½±²­·­¬­ ±º Ü¿¬¿ ߬¬®·¾«¬»­ øÜß÷ ¬¸¿¬ ¾»´±²¹ ¬± ±²» ±º íðÝÜÝ ø½±³³±² ¼¿¬¿ ½´¿­­»­÷ ¼»º·²»¼ ·² ×ÛÝ êïèëðóíò

Û¿½¸ ÝÜÝ ½±²­·­¬­ ±º ±¬¸»® ÝÜÝ ±® ±º ½±³°±²»²¬­ò

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìé

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Í·³°´·º·»¼ ×ÛÝ êïèëð ±¾¶»½¬ ³±¼»´

Ѿ¶»½¬Ò¿³»Ñ¾¶»½¬Î»º»®»²½»

Ò¿³» ÍÛÎÊÛÎ

ÔÑÙ×ÝßÔóÜÛÊ×ÝÛ

ÔÑÙ×ÝßÔóÒÑÜÛ

ÜßÌß ÑÞÖÛÝÌ

Ü¿¬¿ß¬¬®·¾«¬»

ï

ïòòö

ï

ïòòö

ï

ïòòö

ï

ïòòö

и§­·½¿´ Ü»ª·½»æ¿½½»­­ ¾§ ²»¬©±®µ ¿¼¼®»­­

ß¹¹®»¹¿¬»­ ¼¿¬¿ º®±³ ³«´¬·°´» ¼»ª·½»­ ·²¬±¿ ­·²¹´» °¸§­·½¿´ ¼»ª·½»

λ°®»­»²¬­ ¬¸» °®±¬»½¬·±² ¿²¼ ½±²¬®±´ º«²½¬·±²­©·¬¸·² ¿ ¼»ª·½»ô ¿²¼ ¬¸» ¼»ª·½» ·¬­»´º øçðÔÒ÷

Ê¿®·¿¾´»­ ±º ¿ Ô±¹·½¿´ Ò±¼» ®»°®»­»²¬»¼ ¿­ ¿½±´´»½¬·±² ±º ݱ³³±² Ü¿¬¿ Ý´¿­­»­ øíð ÝÜÝ÷

Û´»³»²¬­ ±º ¿² ݱ³³±² Ü¿¬¿ Ý´¿­­øª¿´«»ô ¬·³»ó­¬¿³°ôòò÷ ¾»´±²¹·²¹ ¬±Ú«²½¬·±²¿´ ݱ²­¬®¿·²¬­ øïî ÚÝ÷

ݱ³°±²»²¬­

ï

ïòòö

Þ¿­·½ ±® ½±³°±­·¬» Ü¿¬¿ ߬¬®·¾«¬» ¬§°»­ô»ò¹ò ݱ³³±² Ü¿¬¿ ߬¬®·¾«¬»­ øïî ÝÜß÷

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìè

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ̸» ×ÛÝ êïèë𠼿¬¿ »¨½¸¿²¹» ³±¼»´

̸» ×ÛÝ êïèëð ­«°°±®¬­ ¬©± µ·²¼­ ±º ¬®¿ºº·½æ

ï÷ ®»¿´ó¬·³» ¬®¿ºº·½ ¾¿­»¼ ¼·®»½¬´§ ±² ½±³³«²·½¿¬·±² ´¿§»® îôÙÑÑÍÛ ±® Í¿³°´»¼ Ê¿´«»­ò Û²½±¼·²¹ ±º ¬¸»­» ¼¿¬¿ ·­ ­·³°´·º·»¼ò

î÷ ­°±®¿¼·½ ¬®¿ºº·½ ±ª»® ÌÝÐñ×Ð � ÓÓÍ «­·²¹ ßÍÒòï ñ ÞÛÎ »²½±¼·²¹ò

í÷ ̸» ­°±®¿¼·½ ¬®¿ºº·½ ­«°°±®¬­ ¬¸» ±¾¶»½¬ ³±¼»´ ¼»­½®·¾»¼

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ìç

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ü¿¬¿­»¬­

Ü¿¬¿­»¬­ ¿®» ´·­¬­ ±º ¼¿¬¿ ¿¬¬®·¾«¬»­ ¬¸¿¬ ¿®» ¸¿²¼´»¼ ¿­ ¿ ©¸±´»ò

Ú±® ·²­¬¿²½»ô ¿´´ Í©·¬½¸ °±­·¬·±²­ ½¿² ¾» °«¬ ·²¬± ¿ ¼¿¬¿­»¬ò

ß ¼¿¬¿­»¬ ½¿² ¾» ¼»º·²»¼

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëð

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ßÝÍ×

·²º±®³¿¬·±² »¨½¸¿²¹»

×ÛÝ êïèëðóéóì

×ÛÝ êïèëðóéóí

×ÛÝ êïèëðóéóî

·²º±®³¿¬·±² ³±¼»´­

×ÛÝ êïèëðóèóï

ßÝÍ×½´·»²¬ ¿°°´·½¿¬·±²

ÓÓÍßÍÒòï °®»­»²¬¿¬·±²

­»­­·±²ÌÝÐ×Ð

Û¬¸»®²»¬Ð¸§­·½¿´

ÓÓÍßÍÒòï °®»­»²¬¿¬·±²

­»­­·±²ÌÝÐ×Ð

Û¬¸»®²»¬Ð¸§­·½¿´

×ÛÜ ±¾¶»½¬­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëï

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ÙÑÑÍÛ ¬®¿ºº·½

¿°°´·½¿¬·±²

ÙÑÑÍÛ

Û¬¸»®²»¬ ÜÔÔ

ª¿´«» ±º ¼¿¬¿­»¬ Ç

ÎÌÜÞ

¿°°´·½¿¬·±²

ÙÑÑÍÛ

Û¬¸»®²»¬ ÜÔÔ

ÎÌÜÞ

¿°°´·½¿¬·±²

ÙÑÑÍÛ

Û¬¸»®²»¬ ÜÔÔ

ÎÌÜÞ

¿°°´·½¿¬·±²

ÙÑÑÍÛ

Û¬¸»®²»¬ ÜÔÔ

ÎÌÜÞ

ÙÑÑÍÛ »¨½¸¿²¹»­ ®»¿´ó¬·³» ¼¿¬¿ ±² ¬¸» °«¾´·­¸»® ñ ­«¾­½®·¾»® °®·²½·°´»æß² ¿°°´·½¿¬·±² ®»¿¼­ ¿²¼ ©®·¬»­ ·¬­ ®»¿´ó¬·³» ¼¿¬¿¾¿­»ô ¬¸¿¬ ·­ ±®¹¿²·¦»¼ ¿­ ¼¿¬¿­»¬­òÛ¿½¸ ®»¿´ó¬·³» ¼¿¬¿¾¿­» ½±²¬¿·²­ ¿ ­«¾­»¬ ±º ¿´´ ¼¿¬¿­»¬­ ±² ¬¸» ²»¬©±®µòλ¿¼·²¹ ±® ©®·¬·²¹ ¬¸» ¼¿¬¿­»¬­ ½¿«­»­ ²± ·³³»¼·¿¬» ²»¬©±®µ ¬®¿ºº·½ò̸» ÙÑÑÍÛ °®±¬±½±´ ®»º®»­¸»­ ¬¸» ¼¿¬¿ ¾¿­»­ ¾§ ¾®±¿¼½¿­¬·²¹ ¬¸» ¼¿¬¿­»¬ ª¿´«»­ ¬¸¿¬½¸¿²¹»¼ô ­»ª»®¿´ ¬·³»­ ·² ­»¯«»²½»ò

¼¿¬¿­»¬­

ª¿´«» ±º ¼¿¬¿­»¬ È

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëî

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ü¿¬¿­»¬­

׬ ·­ »½±²±³·½¿´ ¬± ¬®¿²­°±®¬ ­»ª»®¿´ ª¿®·¿¾´»­ ·² ¬¸» ­¿³» º®¿³» ¿­ ¿ ¼¿¬¿­»¬ò

½«®®»²¬Ð¸¿­» Î

½«®®»²¬Ð¸¿­» Í

½«®®»²¬Ð¸¿­» Ì

ª±´¬¿¹»

¿²¿´±¹ ª¿®·¿¾´»­

¼¿¬¿­»¬

¾·²¿®§ ª¿®·¿¾´»­

­©·¬½¸ ½´±­»¼ÍÚê °®»­­«®» ±µ¬»³°»®¿¬«®» ±µ³±¬±® ´±¿¼»¼

¾·¬ ±ºº­»¬

ïê íî ìèð êì êê éð

­·¦»

ß ª¿®·¿¾´» ·­ ·¼»²¬·º·»¼ ©·¬¸·² ¿ ¼¿¬¿­»¬ ¾§ ·¬­ ±ºº­»¬ ¿²¼ ·¬­ ­·¦»

ß ¼¿¬¿­»¬ ·­ ¬®»¿¬»¼ ¿­ ¿ ©¸±´» º±® ½±³³«²·½¿¬·±² ¿²¼ ¿½½»­­ò

Ê¿®·¿¾´»­ ³¿§ ¾» ±º ¼·ºº»®»²¬ ¬§°»­ô ¬§°»­ ½¿² ¾» ³·¨»¼ò

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëí

×ÛÝ êïèëðÓÓÍ ß°°´·»¼

ÓÓÍ­»®ª»®

¿°°´·½¿¬·±²

ÓÓͽ´·»²¬ÙÑÑÍÛ

Û¬¸»®²»¬ ÜÔÔ

ßÝÍ×ÙÑÑÍÛ ÓÓÍ×

ÓÓÍÊ¿®­

ÓÓÍ ¿½½»­­ ¬± ®»³±¬» ª¿®·¿¾´»­ ·² êïèëð

ª¿´«» ±º ª¿®·¿¾´» È

ÓÓÍ­»®ª»®

¿°°´·½¿¬·±²

ÓÓͽ´·»²¬ÙÑÑÍÛ

Û¬¸»®²»¬ ÜÔÔ

ßÝÍ×ÙÑÑÍÛ ÓÓÍ×

®»¿¼ ª¿®·¿¾´» È

ÓÓÍÊ¿®­

ß² ¿°°´·½¿¬·±² ½¿² ¿½½»­­ ¿ ®»³±¬» ª¿®·¿¾´»æó ¬¸®±«¹¸ ·¬­ ÓÓÍ ½´·»²¬ ø­±³»©¸¿¬ ­´±©÷ó ¬¸®±«¹¸ ·¬­ ´±½¿´ ½±°§ ·² ¬¸» ÙÑÑÍÛ ÎÌÜÞò

ß² ¿°°´·½¿¬·±² ½¿² ¿½½»­­ ¿®»³±¬» ÙÑÑÍÛ ÎÌÜÞ ±²´§¬¸®±«¹¸ ·¬­ ÓÓÍ ½´·»²¬

ÎÌÜÞ

ÎÌÜÞ

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëì

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ÓÓÍ ­»®ª·½»­ ·² ×ÛÝ êïèëð

ÓÓÍ Ñ¾¶»½¬×ÛÝ êïèëð Ѿ¶»½¬ ÓÓÍ Í»®ª·½»­

ß°°´·½¿¬·±² Ю±½»­­ÊÓÜ

Í»®ª»® ײ·¬·¿¬»Ý±²½´«¼»ß¾±®¬Î»¶»½¬Ý¿²½»´×¼»²¬·º§

Ò¿³»¼ Ê¿®·¿¾´» Ѿ¶»½¬­Ô±¹·½¿´ Ò±¼»­¿²¼ Ü¿¬¿

λ¿¼É®·¬»×²º±®³¿¬·±²Î»°±®¬Ù»¬Ê¿®·¿¾´»ß½½»­­ß¬¬®·¾«¬»Ù»¬Ò¿³»Ô·­¬

Ò¿³»¼ Ê¿®·¿¾´» Ô·­¬ Ѿ¶»½¬­Ü¿¬¿ Í»¬­ Ù»¬Ò¿³»¼Ê¿®·¿¾´»Ô·­¬ß¬¬®·¾«¬»­Ù»¬Ò¿³»Ô·­¬Ü»º·²»Ò¿³»¼Ê¿®·¿¾´»Ô·­¬Ü»´»¬»Ò¿³»¼Ê¿®·¿¾´»Ô·­¬Ù»¬Ò¿³»Ô·­¬Î»¿¼É®·¬»×²º±®³¿¬·±²Î»°±®¬

Ö±«®²¿´ Ѿ¶»½¬­Ô±¹­ λ¿¼Ö±«®²¿´×²·¬·¿´·¦»Ö±«®²¿´Ù»¬Ò¿³»Ô·­¬

ܱ³¿·² Ѿ¶»½¬­Ô±¹·½¿´ Ü»ª·½»­ Ù»¬Ò¿³»Ô·­¬Ù»¬Ü±³¿·²ß¬¬®·¾«¬»­Í¬±®»Ü±³¿·²Ý±²¬»²¬­

Ú·´»­Ú·´»­ Ú·´»Ñ°»²Ú·´»Î»¿¼Ñ¾¬¿·²Ú·´»Ú·´»Ý´±­»Ú·´»Ü·®»½¬±®§Ú·´»Ü»´»¬»

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëë

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ݱ²¬®±´ Þ´±½µ­

ݱ²¬®±´ ¾´±½µ­ ¼»º·²»ô ¸±© ¿²¼ ©¸»² ¬¸» ¼¿¬¿ ·­¬®¿²­º»®®»¼

λ°±®¬­æ ¿¬ ¼¿¬¿ ñ ¯«¿´·¬§ ½¸¿²¹»ô ½¸¿²¹»¼ ¼¿¬¿±²´§ô ±® °»®·±¼·½¿´´§ÙÍÛæ ·³³»¼·¿¬» ¿¬ ­±³» ½¸¿²¹»ô »´­»°»®·±¼·½¿´´§å ¿´©¿§­ ©¸±´» ­»¬Í¿³°´»¼ Ê¿´«»­ øÍÊô ÍÓÊ÷æ °»®·±¼·½¿´´§Ô±¹æ ­¬±®»¼ ¿¬ ½¸¿²¹»ô ½¸¿²¹»¼ ¼¿¬¿ ±²´§åº»¬½¸»¼ ©¸»² ²»»¼»¼

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëê

×ÛÝ êïèëðÓÓÍ ß°°´·»¼

ÌÝÐÎÚÝ éçí

ËÜÐÎÚÝ éêè

×ÐÎÚÝ éçï

×ÍÑ Ì®¿²­°±®¬ÎÚÝ ïððê

Ýò±ò Í»­­·±²×ÍÑñ×ÛÝ èíîêô èíîéóï

ßÝÍÛ×ÍÑñ×ÛÝ èêìçô èêëð

ÓÓÍ×ÍÑ çëðêóïô óî

Ý´·»²¬ñÍ»®ª»®ßÝÍ×

ÙÍÛ ñ ÍÊÙÑÑÍÛ

Û¬¸»®²»¬èèðîòí øÐÌãèïðð÷

Ю·±®·¬§ ¬¿¹¹·²¹èðîòïÏÔ·²µ

Ô¿§»®

¿°°´·½¿¬·±²¿°°´·½¿¬·±²¿°°´·½¿¬·±²

ÍÒÌÐÎÚÝ îðíð

ßÎÐÎÚÝ èîê

½´±½µ ÙÍÍÛ

ÙÍÍÛÌó°®±º·´»

ÔÔÝ×ÍÑñ×ÛÝ èèðîòî

Ýò±ò °®»­»²¬¿¬·±²×ÍÑñ×ÛÝ èèîîô èèîíóï

ß¾­¬®¿½¬ ͧ²¬¿¨×ÍÑñ×ÛÝ èèîìô èèîëóï

×ÝÓÐÎÚÝ éçî

×ÝÓÐÎÚÝ éçî

¿°°´·½¿¬·±²

Û¬¸»®²»¬èèðîòí øÐÌã ðèðð÷

Û¬¸»®²»¬èèðîòí øÐÌãÔ»²÷

Û¬¸»®²»¬

ÙÑÑÍÛ ñ ÙÍÛ×ÛÝ êïèëðóèóï

ø×ÛÝ êïèëðóçóï÷

×ÛÝ êïèëð ­¬¿½µ ø¼»¬¿·´÷

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëé

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ѿ¶»½¬ Ò¿³» ­¬®«½¬«®» ·² ÓÓÍ

λ´¿§ïñÈÝÞÎïüÍÌüÔ±½ü­¬Ê¿´

Ô±¹·½¿´ Ü»ª·½»

Ô±¹·½¿´ Ò±¼»

Ú«²½¬·±²¿´ ݱ²­¬®¿·²¬

Ü¿¬¿

߬¬®·¾«¬»

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëè

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ×ÛÝ êïèëð ÓÓÍ Ñ¾¶»½¬­ ó Û¨¿³°´» º±® Þ®»¿µ»® ݱ²¬®±´

ÕðíñÏðÝÍÉ×

ÕðíñÏðÝÍÉ×üÍÌ

ÕðíñÏðÝÍÉ×üÍÌüб­ÕðíñÏðÝÍÉ×üÍÌüб­ü­¬Ê¿´ÕðíñÏðÝÍÉ×üÍÌüб­ü¯ÕðíñÏðÝÍÉ×üÍÌüб­ü¬ÕðíñÏðÝÍÉ×üÍÌüб­ü±®·¹·²ü±®Ý¿¬ÕðíñÏðÝÍÉ×üÍÌüб­ü±®·¹·²ü±®×¼»²¬ÕðíñÏðÝÍÉ×üÍÊ

ÕðíñÏðÝÍÉ×üÍÊüб­ÕðíñÏðÝÍÉ×üÍÊüб­ü­«¾Û²¿ÕðíñÏðÝÍÉ×üÍÊüб­ü­«¾Ê¿´ÕðíñÏðÝÍÉ×üÍÊüб­ü­«¾ÏÕðíñÏðÝÍÉ×üÍÊüб­ü­«¾×ÜÕðíñÏðÝÍÉ×üÝÑ

ÕðíñÏðÝÍÉ×üÝÑüб­ÕðíñÏðÝÍÉ×üÝÑüб­ü½¬´Ê¿´ÕðíñÏðÝÍÉ×üÝÑüб­ü±®·¹·²ü±®Ý¿¬ÕðíñÏðÝÍÉ×üÝÑüб­ü±®·¹·²ü±®×¼»²¬ÕðíñÏðÝÍÉ×üÝÑüб­üÌÕðíñÏðÝÍÉ×üÝÑüб­üÌ»­¬ÕðíñÏðÝÍÉ×üÝÑüб­üݸ»½µÕðíñÏðÝÍÉ×üÝÑüб­üײª±µ»×ÜÕðíñÏðÝÍÉ×üÝÑüб­üÍ×ÜÕðíñÏðÝÍÉ×üÝÚ

ÕðíñÏðÝÍÉ×üÝÚüб­ÕðíñÏðÝÍÉ×üÝÚüб­ü½¬´Ó±¼»´ ã ­¾±ó©·¬¸ó»²¸¿²½»¼ó­»½«®·¬§

ÓÓÍ ßßóÍ°»½·º·½ Ò¿³»¼ Ê¿®·¿¾´» º±®

²»¹¿¬·ª» éóî ½±²¬®±´ ®»­°±²­»­

àñÔ¿­¬ß°°´Û®®±®

àñÔ¿­¬ß°°´Û®®±®üݲ¬®´Ñ¾¶àñÔ¿­¬ß°°´Û®®±®üÛ®®±®àñÔ¿­¬ß°°´Û®®±®üײª±µ»×ÜàñÔ¿­¬ß°°´Û®®±®üß¼¼Ý¿«­»

¼»º·²»¼ ·² éóî¼»º·²»¼ ·² èóï²± °®»¼»º·²»¼ ²¿³»­

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

ëç

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Ó¿°°·²¹ ¬± ÓÓÍ

Í»®ª»® ÓÓÍ Ê·®¬«¿´ Ó¿²«º¿½¬«®·²¹ Ü»ª·½» øÊÓÜ÷

ÙÑÑÍÛ

Í¿³°´»¼ Ê¿´«»­½´·»²¬ñ­»®ª»® Í»®ª·½» ß½½»­­ б·²¬­

Ú·´» ÓÓÍ º·´» ±¾¶»½¬

Ô±¹·½¿´ Ü»ª·½» ­·²¹´» ÓÓÍ ¼±³¿·²ô ­¿³» ²¿³»

Ô±¹·½¿´ Ò±¼» ­·²¹´» ÓÓÍ Ò¿³»Ê¿®·¿¾´» ø­¬®«½¬«®»¼÷

Ü¿¬¿ ²¿³»¼ ½±³°±²»²¬­ ©·¬¸·² ÓÓÍ Ì§°» Ü»­½®·°¬·±²

Ü¿¬¿­»¬ ÓÓÍ Ò¿³»¼ Ê¿®·¿¾´» Ô·­¬

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

êð

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ Í»¬¬·²¹ ¹®±«°­

ß ­»¬¬·²¹ ¹®±«° ·­ ¿ ­»¬ ±º °¿®¿³»¬»®­ ¬®»¿¬»¼ ¿­ ¿ ©¸±´» ¬¸¿¬ ½¿² ¾» »¼·¬»¼ ¿²¼¿°°´·»¼ ¬± ¿ ´±¹·½¿´ ²±¼»ò

wîð

ðë

ßÞ

ÞÍ

©·¬¦

»®´¿

²¼

Ô¬¼

ݱ

®°±

®¿¬»

λ­

»¿

®½¸

ßÞ

ÞÝ

ØóÎ

Ü

êï

×ÛÝ êïèëðÓÓÍ ß°°´·»¼ ݱ³°´»¬» Ѿ¶»½¬ Ó±¼»´

ïòòö

ðòòö

ðòòï

ðòòö

ï

ðòòö

ðòòö

ðòòï

ðòòö

ðòòö

ðòòö

ðòòö

ï

ðòòö

ï

ðòòö

ï

ðòòö

ï

ðòòö

ï

ðòòö

ï

ðòòö

ï

ðòòö

ï

ï

ï

ï

ï

ï

ïï

ïï

ï

ï

ðòòö

ïòòö

ï

ï

ï

ïòòö

ï

ïòòö

ïï

ïí

ïì

ïì

ïì

ïì

ïë

ïë

ïê

ïê

Í«¾­¬·¬«¬·±²ïî

ݱ²¬®±´ïé

Ì·³»ïè

Ú·´»îð

ê

è

ç

ïð

ïð

ðòòö

ï

ðòòö

ݱ²¬®±´ Þ´±½µ­

ï

Prof. Dr. H. Kirrmann

ABB Research Centre, Baden, Switzerland

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4.3 OLE for Process Control (OPC)

4.3.1 Common elements

4 Access to devices

2005 May, HK

4.3.1 OPC Common2/32Industrial Automation

Executive Summary

OPC is a set of standard commands collected in a software library (DLL) that can be called byclient applications, written in Visual Basic, C# or other Microsoft programming languages, that allowto access automation devices (PLCs) in a uniform way, independently from their built ormanufacturer.

To that effect, the particularities of the automation devices are hidden by an OPC server runningeither on the same machine as the client program or on another machine, by using DCOM. TheOPC Servers are supplied by the manufacturer of the PLC or by 3rd parties and can manageseveral PLCs of the same type. Several servers can run in parallel.

The OPC library allows in particular to read and write process variables, read alarms and eventsand acknowledge alarms, and retrieve historical data from data bases according to several criteria.

Automation platforms such as ABB's 800XA platform act as OPC clients to collect data from PLCsor databases through third-party OPC servers. Several automation platforms act themselves as anOPC server to publish their data, events and historical data.

OPC is the preferred connectivity for 78% of MES, 75% of HMI / SCADA, 68% of DCS / PLC and53% or ERP /Enterprise system level applications (according to Arc Advisory Group, 2004)"

keep on reading even if you are not an executive....

4.3.1 OPC Common3/32Industrial Automation

OPC Common Overview

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationAutomation and Custom Interface

OPC Data AccessOverview: Browsing the serverObjects, Types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.1 OPC Common4/32Industrial Automation

What is OPC ?

OPC (formerly: "OLE1 for Process Control", now: "Open Process Control") isan industry standard set up by the OPC Foundationspecifying the software interface (objects, methods) to a server thatcollects data produced by field devices and programmable logic controllers.

OPC serverX

application(OPC client)

OPC server(simulator)

OPC serverY

interfacescovered by theOPC standard

nodeservers

PLCs Brand X PLCs Brand Y

Field bus(not covered)

Ethernet(not covered)

Sensors/Actors

1) OLE (Object Linking and Embedding) is a Microsoft technology for connecting software components.It has since been extended by the COM / DCOM technology. It corresponds to Java Beans.

4.3.1 OPC Common5/32Industrial Automation

Before OPC

ABB PLCs Télémécanique PLCs Siemens PLCs

MasterBusMMS driver XWAY

driver

Profinetdriver

visualizationhistory

data base

4.3.1 OPC Common6/32Industrial Automation

With OPC: ABB Operator Workplace Connection

ABB AC800M Télémécanique TSX Siemens S7

AC800MOPC server

SchneiderOPC server

SiemensOPC server

OperatorIT

application software iswritten independently fromthe type of controller

Historian(InformationManager)

MMS XWAY ProfiNet

the drivers still exist,but the clients do notsee them anymore

4.3.1 OPC Common7/32Industrial Automation

Importance

OPC is the greatest improvement in automation since IEC 61131.

OPC is supported by the OPC foundation (http://www.opcfoundation.org/)

More than 150 vendors offer OPC servers to connect their PLCs, field bus devices,displays and visualization systems.

OPC is also used for data exchange between applications and for accessing databases

OPC is available as DLL for Automation Interface (Visual Basic,..) and Custom (C++,..)

OPC consists of three major components:1) OPC - DA = Data Access (widespread, mature)2) OPC - AE = Alarms and Events (not yet much used)3) OPC - HDA = Historical Data Access (seldom used)

… and some profiles (batch,…)

4.3.1 OPC Common8/32Industrial Automation

The main OPC Specifications

OPCData Access

OPCAlarms & Events

OPCHDA

history data base

OPCBatch

batchsystem

OPCDX

OPCUA

4.3.1 OPC Common9/32Industrial Automation

Specification 1: OPC DA for Data Access

Process variables describe the plant's state, they are generated by the sensors orcalculated in the programmable logic controllers (PLCs).Process variables can be sent upon a change, on demand or when a given time elapsed.The OPC DA (Data Access) specification addresses collecting Process Variables.The main clients of OPC DA are visualization and (soft-) control.

4.3.1 OPC Common10/32Industrial Automation

Specification 2: OPC AE for Alarms and Events

determine the exact time of change(time stamping)

categorize by priorities

log for further use

acknowledge alarms(events are not acknowledged)

link to clear text explanation

Events are changes in the process that need to be logged, such as "production start"Alarms are abnormal states in the process that require attention, such as "low oil pressure"

OPC AE (Alarms and Events) specifies how alarms and events are subscribed, underwhich conditions they are filtered and sent with their associated messages.The main clients of OPC AE are the Alarms and Event loggers.

4.3.1 OPC Common11/32Industrial Automation

Specification 3: HDA for Historical Data Access

Historical Data are process states and events such as: process variables, operator actions, recorded alarms,... that are stored as logs in a long-term storage for later analysis. OPC HDA (Historical Data Access) specifies how historical data are retrieved from the logsin the long-term storage, filtered and aggregated (e.g. compute averages, peaks).The main client of OPC HDA are Trend Displays and Historians.

4.3.1 OPC Common12/32Industrial Automation

Specification 4: OPC Batch

based on: IEC 61512-1 Batch Control – Part 1: Models and Terminology (ANSI/ISA S88.01 1995) ISA-dS88.02-2000 draft 17 of May 2000

allows to access:

• equipment capabilities, • current operating conditions, • historical and • recipe contents

Procedure

UnitProcedure

Operation

Phase

consists of anordered set of

consists of anordered set of

consists of anordered set of

4.3.1 OPC Common13/32Industrial Automation

Beyond Microsoft: OPC UA

In a move to get more independence from Microsoft and use web technology,a new specification called " Unified Architecture" (formerly. OPC XML) that usesweb services for all kinds of transactions: query, read, write, subscribe,...

The classical OPC DA, AE and HDA are implemented with XML / SOAP /WSDLthis allows encryption and authentication of process data.

This does not only standardize the interfaces, but also the transmitted data.

4.3.1 OPC Common14/32Industrial Automation

OPC as an integration tool

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationAutomation and Custom Interface

OPC Data AccessOverview: Browsing the serverObjects, Types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.1 OPC Common15/32Industrial Automation

OPC as a hub

OPC variables is also a convenient way to exchange data between applicationson the same machine. OPC data can be easily read in any Microsoft Office application

source: Siemens WinCC

4.3.1 OPC Common16/32Industrial Automation

OPC connection to databases

Tools such as LifeWire’s allow to build an OPC DA interface to any ODBC - equippeddatabase.

The database internal structure (exposed through queries) is reflected as a hierarchyof OPC items.

This allows to give a unified access to simple items.

application(OPC client)

OPC server

DB

ODBC

4.3.1 OPC Common17/32Industrial Automation

OPC for internal communication: AIP as example

ABB's Integration Platform (AIP) is at the same time an OPC server and an OPC client.Components (aspects) within AIP expose their properties as OPC objects.Internal (within AIP) and external communication takes place over OPC.

AIPaspects

AC800MOPC server

SchneiderOPC server

SiemensOPC server

AssetOptimizer

EnterpriseHistorian

aspects

OPC client

OPC server

processdata base

OPCconnections

aspectsaspects

4.3.1 OPC Common18/32Industrial Automation

OPC Connection to Enterprise Resource Planning

Direct connection to SAP (BAPI) is provided by tools such as Matrikon's or Intellution's

4.3.1 OPC Common19/32Industrial Automation

Simulators and Explorer: which helps are available

Explorer:Several tools are available on the market to browse OPC servers, especially:

- Matrikon OPC Explorer (no source code)- TopServer Client (source code in VB available)

Simulator:OPC data should be simulated before commissioning the real plant.

To this effect, commercial simulation servers allow to create, observe and changevariables by hand or according to time functions (ramp, random,…).

Most PLC servers have also a simulation mode.

Freeware servers such as Matrikon have only limited number of variables

These explorers and simulators work with OPC DA, AE is yet seldom.

4.3.1 OPC Common20/32Industrial Automation

Client and Servers

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationAutomation and Custom Interface

OPC Data AccessOverview: Browsing the serverObjects, Types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.1 OPC Common21/32Industrial Automation

Server(s) and Client(s) in the same node

OPC server

client application(OPC client)

OPC server OPC server

client application(OPC client)

Clients and servers run as parallel processes

The OPC specification defines the interface between client and server in the formof objects and methods.

devices devices devicesdevices

node

4.3.1 OPC Common22/32Industrial Automation

Direct and Fieldbus access

(local)OPC server

client application(OPC client)

fieldbus

(local)OPC server

FB Manager

fieldbus

PLC

FB agent

fieldbus

PLC

FB agent

direct connection fieldbus connection

can also bea point-to-point link

client application(OPC client)

proprietaryprotocol

The OPC server is runningall the time, as soon as atleast one client is present

I/O devices

clients andservers run asparallelprocesses

4.3.1 OPC Common23/32Industrial Automation

Accessing a server in another node

TCP/IP

stubDCOM

TCP/IP

OPC server

DCOM

TCP/IP

OPCserver

DCOM

FB Manager

fieldbus

DCOM

client application(OPC client)

Limitation:does not work over firewalls.Solution:OPC XML (see later)

4.3.1 OPC Common24/32Industrial Automation

Full-fledged COM/DCOM across multiple nodes

OPC serverfor BrandY

application 1(OPC client)

FieldbusY Fieldbus X drivers

OPC serverfor BrandX

OPC serverfor simulation

panelapplication 2(OPC client)

The OPC servers supports multiple clients and servers on the same, or on remote nodes.they run as separate processes (as soon as at least one client is requesting them)

OPC serverfor BrandZ

TCP/IPTCP/IP

input / output to plant

Ethernet

app3

node 1

connectivity node

4.3.1 OPC Common25/32Industrial Automation

Example: ABB AC800 OPC Server

The variables are defined in the server, not in the PLC.

AC800 OPCserver

TCP/IP

Process Portal(client)

MMS

separateprocesses

Matrikonclient

IEC 61131 ProgrammingEnvironment

(Control Builder)

TCP/IP

MMS

PLC variables

by FTP or internal

OPCServerconfig

MMS Panel

configfiles

user panels

Ethernet

4.3.1 OPC Common26/32Industrial Automation

OPC Technology

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: Browsing the serverObjects, Types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.1 OPC Common27/32Industrial Automation

COM/DCOM quick intro

client library(DLL)

local procedure

call

same process

libraryproxystub

local procedure

call

clientdifferent processessame machine

TCP/IP

library

remoteprocedure

call

TCP/IP

clientdifferent processesdifferent machines proxystub

remoteprocedure

call

memory

COM/DCOM (COM+) maintainsthe same interface regardless ofthe location of the components

network

4.3.1 OPC Common28/32Industrial Automation

OPC technologies

Transport(TCP-IP, UDP, Queued)

ActiveXActiveX

(Distributed) Component Object Model(COM / DCOM)

Object Linking and Embedding (OLE)

Ethernet

OLE for ProcessControl (OPC)

OPC bases on Microsoft's COM/DCOM technology (i.e. it only works on Windows platforms).Effort to port it to other platforms (Linux) and web transport protocols (XML) are in progress.Advantages are the direct integration into all applications, such as Excel.

only betweennodes

4.3.1 OPC Common29/32Industrial Automation

storage and communication

Three-tiers Active-X components

business logic

graphical interface

4.3.1 OPC Common30/32Industrial Automation

Structure of an OPC server

OPC/COM Interfaces

OPC Group & Item Management

Item Data Optimization and Monitoring

Device Specific Protocol Logic

Hardware Connection Management

4.3.1 OPC Common31/32Industrial Automation

“Automation” vs. “Custom” interface

The OPC specifications define two interfaces: "custom" and "automation".“custom” is the native C++ interface of COM.“automation” is the interface offered in Visual Basic, used in Word, Excel,…..

The interface is defined by a Type Library (distributed by the OPC Foundation)

Functionality is roughly the same in both models, “automation” is easier to use,but "custom" gives a more extended control.

OPC Automationwrapper

"Custom" client(C++,….)

"Automation" client(Visual Basic, Excel,…)

custom interfaceserver

custom interface

server server

4.3.1 OPC Common32/32Industrial Automation

Assessment Common

What is the objective of OPC ?

On which technology does OPC rely ?

What is an OPC Server ?

Which are the main OPC specifications ?

What are the components of the OPC DA Automation Interface ?

How does an automation platform use the OPC interfaces ?

Prof. Dr. H. Kirrmann

ABB Research Centre, Baden, Switzerland

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4.3 OLE for Process Control (OPC)

4.3.1 Common elements

4 Access to devices

2005 May, HK

4.3.1 OPC Common2/32Industrial Automation

Executive Summary

OPC is a set of standard commands collected in a software library (DLL) that can be called byclient applications, written in Visual Basic, C# or other Microsoft programming languages, that allowto access automation devices (PLCs) in a uniform way, independently from their built ormanufacturer.

To that effect, the particularities of the automation devices are hidden by an OPC server runningeither on the same machine as the client program or on another machine, by using DCOM. TheOPC Servers are supplied by the manufacturer of the PLC or by 3rd parties and can manageseveral PLCs of the same type. Several servers can run in parallel.

The OPC library allows in particular to read and write process variables, read alarms and eventsand acknowledge alarms, and retrieve historical data from data bases according to several criteria.

Automation platforms such as ABB's 800XA platform act as OPC clients to collect data from PLCsor databases through third-party OPC servers. Several automation platforms act themselves as anOPC server to publish their data, events and historical data.

OPC is the preferred connectivity for 78% of MES, 75% of HMI / SCADA, 68% of DCS / PLC and53% or ERP /Enterprise system level applications (according to Arc Advisory Group, 2004)"

keep on reading even if you are not an executive....

4.3.1 OPC Common3/32Industrial Automation

OPC Common Overview

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationAutomation and Custom Interface

OPC Data AccessOverview: Browsing the serverObjects, Types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.1 OPC Common4/32Industrial Automation

What is OPC ?

OPC (formerly: "OLE1 for Process Control", now: "Open Process Control") isan industry standard set up by the OPC Foundationspecifying the software interface (objects, methods) to a server thatcollects data produced by field devices and programmable logic controllers.

OPC serverX

application(OPC client)

OPC server(simulator)

OPC serverY

interfacescovered by theOPC standard

nodeservers

PLCs Brand X PLCs Brand Y

Field bus(not covered)

Ethernet(not covered)

Sensors/Actors

1) OLE (Object Linking and Embedding) is a Microsoft technology for connecting software components.It has since been extended by the COM / DCOM technology. It corresponds to Java Beans.

4.3.1 OPC Common5/32Industrial Automation

Before OPC

ABB PLCs Télémécanique PLCs Siemens PLCs

MasterBusMMS driver XWAY

driver

Profinetdriver

visualizationhistory

data base

4.3.1 OPC Common6/32Industrial Automation

With OPC: ABB Operator Workplace Connection

ABB AC800M Télémécanique TSX Siemens S7

AC800MOPC server

SchneiderOPC server

SiemensOPC server

OperatorIT

application software iswritten independently fromthe type of controller

Historian(InformationManager)

MMS XWAY ProfiNet

the drivers still exist,but the clients do notsee them anymore

4.3.1 OPC Common7/32Industrial Automation

Importance

OPC is the greatest improvement in automation since IEC 61131.

OPC is supported by the OPC foundation (http://www.opcfoundation.org/)

More than 150 vendors offer OPC servers to connect their PLCs, field bus devices,displays and visualization systems.

OPC is also used for data exchange between applications and for accessing databases

OPC is available as DLL for Automation Interface (Visual Basic,..) and Custom (C++,..)

OPC consists of three major components:1) OPC - DA = Data Access (widespread, mature)2) OPC - AE = Alarms and Events (not yet much used)3) OPC - HDA = Historical Data Access (seldom used)

… and some profiles (batch,…)

4.3.1 OPC Common8/32Industrial Automation

The main OPC Specifications

OPCData Access

OPCAlarms & Events

OPCHDA

history data base

OPCBatch

batchsystem

OPCDX

OPCUA

4.3.1 OPC Common9/32Industrial Automation

Specification 1: OPC DA for Data Access

Process variables describe the plant's state, they are generated by the sensors orcalculated in the programmable logic controllers (PLCs).Process variables can be sent upon a change, on demand or when a given time elapsed.The OPC DA (Data Access) specification addresses collecting Process Variables.The main clients of OPC DA are visualization and (soft-) control.

4.3.1 OPC Common10/32Industrial Automation

Specification 2: OPC AE for Alarms and Events

determine the exact time of change(time stamping)

categorize by priorities

log for further use

acknowledge alarms(events are not acknowledged)

link to clear text explanation

Events are changes in the process that need to be logged, such as "production start"Alarms are abnormal states in the process that require attention, such as "low oil pressure"

OPC AE (Alarms and Events) specifies how alarms and events are subscribed, underwhich conditions they are filtered and sent with their associated messages.The main clients of OPC AE are the Alarms and Event loggers.

4.3.1 OPC Common11/32Industrial Automation

Specification 3: HDA for Historical Data Access

Historical Data are process states and events such as: process variables, operator actions, recorded alarms,... that are stored as logs in a long-term storage for later analysis. OPC HDA (Historical Data Access) specifies how historical data are retrieved from the logsin the long-term storage, filtered and aggregated (e.g. compute averages, peaks).The main client of OPC HDA are Trend Displays and Historians.

4.3.1 OPC Common12/32Industrial Automation

Specification 4: OPC Batch

based on: IEC 61512-1 Batch Control – Part 1: Models and Terminology (ANSI/ISA S88.01 1995) ISA-dS88.02-2000 draft 17 of May 2000

allows to access:

• equipment capabilities, • current operating conditions, • historical and • recipe contents

Procedure

UnitProcedure

Operation

Phase

consists of anordered set of

consists of anordered set of

consists of anordered set of

4.3.1 OPC Common13/32Industrial Automation

Beyond Microsoft: OPC UA

In a move to get more independence from Microsoft and use web technology,a new specification called " Unified Architecture" (formerly. OPC XML) that usesweb services for all kinds of transactions: query, read, write, subscribe,...

The classical OPC DA, AE and HDA are implemented with XML / SOAP /WSDLthis allows encryption and authentication of process data.

This does not only standardize the interfaces, but also the transmitted data.

4.3.1 OPC Common14/32Industrial Automation

OPC as an integration tool

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationAutomation and Custom Interface

OPC Data AccessOverview: Browsing the serverObjects, Types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.1 OPC Common15/32Industrial Automation

OPC as a hub

OPC variables is also a convenient way to exchange data between applicationson the same machine. OPC data can be easily read in any Microsoft Office application

source: Siemens WinCC

4.3.1 OPC Common16/32Industrial Automation

OPC connection to databases

Tools such as LifeWire’s allow to build an OPC DA interface to any ODBC - equippeddatabase.

The database internal structure (exposed through queries) is reflected as a hierarchyof OPC items.

This allows to give a unified access to simple items.

application(OPC client)

OPC server

DB

ODBC

4.3.1 OPC Common17/32Industrial Automation

OPC for internal communication: AIP as example

ABB's Integration Platform (AIP) is at the same time an OPC server and an OPC client.Components (aspects) within AIP expose their properties as OPC objects.Internal (within AIP) and external communication takes place over OPC.

AIPaspects

AC800MOPC server

SchneiderOPC server

SiemensOPC server

AssetOptimizer

EnterpriseHistorian

aspects

OPC client

OPC server

processdata base

OPCconnections

aspectsaspects

4.3.1 OPC Common18/32Industrial Automation

OPC Connection to Enterprise Resource Planning

Direct connection to SAP (BAPI) is provided by tools such as Matrikon's or Intellution's

4.3.1 OPC Common19/32Industrial Automation

Simulators and Explorer: which helps are available

Explorer:Several tools are available on the market to browse OPC servers, especially:

- Matrikon OPC Explorer (no source code)- TopServer Client (source code in VB available)

Simulator:OPC data should be simulated before commissioning the real plant.

To this effect, commercial simulation servers allow to create, observe and changevariables by hand or according to time functions (ramp, random,…).

Most PLC servers have also a simulation mode.

Freeware servers such as Matrikon have only limited number of variables

These explorers and simulators work with OPC DA, AE is yet seldom.

4.3.1 OPC Common20/32Industrial Automation

Client and Servers

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationAutomation and Custom Interface

OPC Data AccessOverview: Browsing the serverObjects, Types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.1 OPC Common21/32Industrial Automation

Server(s) and Client(s) in the same node

OPC server

client application(OPC client)

OPC server OPC server

client application(OPC client)

Clients and servers run as parallel processes

The OPC specification defines the interface between client and server in the formof objects and methods.

devices devices devicesdevices

node

4.3.1 OPC Common22/32Industrial Automation

Direct and Fieldbus access

(local)OPC server

client application(OPC client)

fieldbus

(local)OPC server

FB Manager

fieldbus

PLC

FB agent

fieldbus

PLC

FB agent

direct connection fieldbus connection

can also bea point-to-point link

client application(OPC client)

proprietaryprotocol

The OPC server is runningall the time, as soon as atleast one client is present

I/O devices

clients andservers run asparallelprocesses

4.3.1 OPC Common23/32Industrial Automation

Accessing a server in another node

TCP/IP

stubDCOM

TCP/IP

OPC server

DCOM

TCP/IP

OPCserver

DCOM

FB Manager

fieldbus

DCOM

client application(OPC client)

Limitation:does not work over firewalls.Solution:OPC XML (see later)

4.3.1 OPC Common24/32Industrial Automation

Full-fledged COM/DCOM across multiple nodes

OPC serverfor BrandY

application 1(OPC client)

FieldbusY Fieldbus X drivers

OPC serverfor BrandX

OPC serverfor simulation

panelapplication 2(OPC client)

The OPC servers supports multiple clients and servers on the same, or on remote nodes.they run as separate processes (as soon as at least one client is requesting them)

OPC serverfor BrandZ

TCP/IPTCP/IP

input / output to plant

Ethernet

app3

node 1

connectivity node

4.3.1 OPC Common25/32Industrial Automation

Example: ABB AC800 OPC Server

The variables are defined in the server, not in the PLC.

AC800 OPCserver

TCP/IP

Process Portal(client)

MMS

separateprocesses

Matrikonclient

IEC 61131 ProgrammingEnvironment

(Control Builder)

TCP/IP

MMS

PLC variables

by FTP or internal

OPCServerconfig

MMS Panel

configfiles

user panels

Ethernet

4.3.1 OPC Common26/32Industrial Automation

OPC Technology

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: Browsing the serverObjects, Types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.1 OPC Common27/32Industrial Automation

COM/DCOM quick intro

client library(DLL)

local procedure

call

same process

libraryproxystub

local procedure

call

clientdifferent processessame machine

TCP/IP

library

remoteprocedure

call

TCP/IP

clientdifferent processesdifferent machines proxystub

remoteprocedure

call

memory

COM/DCOM (COM+) maintainsthe same interface regardless ofthe location of the components

network

4.3.1 OPC Common28/32Industrial Automation

OPC technologies

Transport(TCP-IP, UDP, Queued)

ActiveXActiveX

(Distributed) Component Object Model(COM / DCOM)

Object Linking and Embedding (OLE)

Ethernet

OLE for ProcessControl (OPC)

OPC bases on Microsoft's COM/DCOM technology (i.e. it only works on Windows platforms).Effort to port it to other platforms (Linux) and web transport protocols (XML) are in progress.Advantages are the direct integration into all applications, such as Excel.

only betweennodes

4.3.1 OPC Common29/32Industrial Automation

storage and communication

Three-tiers Active-X components

business logic

graphical interface

4.3.1 OPC Common30/32Industrial Automation

Structure of an OPC server

OPC/COM Interfaces

OPC Group & Item Management

Item Data Optimization and Monitoring

Device Specific Protocol Logic

Hardware Connection Management

4.3.1 OPC Common31/32Industrial Automation

“Automation” vs. “Custom” interface

The OPC specifications define two interfaces: "custom" and "automation".“custom” is the native C++ interface of COM.“automation” is the interface offered in Visual Basic, used in Word, Excel,…..

The interface is defined by a Type Library (distributed by the OPC Foundation)

Functionality is roughly the same in both models, “automation” is easier to use,but "custom" gives a more extended control.

OPC Automationwrapper

"Custom" client(C++,….)

"Automation" client(Visual Basic, Excel,…)

custom interfaceserver

custom interface

server server

4.3.1 OPC Common32/32Industrial Automation

Assessment Common

What is the objective of OPC ?

On which technology does OPC rely ?

What is an OPC Server ?

Which are the main OPC specifications ?

What are the components of the OPC DA Automation Interface ?

How does an automation platform use the OPC interfaces ?

Prof. Dr. H. KirrmannABB Research Centre, Baden, Switzerland

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4.3 OLE for Process Control (OPC)4.3.2 Data Access Specification

4 Access to devices

2005 May, HK

4.3.2 OPC DA2/48Industrial Automation

OPC DA: Overview

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: Browsing the serverObjects, Types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.2 OPC DA3/48Industrial Automation

OPC DA: Scope of specification

controller

OPC DA Cliente.g. visualization

OPC DA Server

e.g. Ethernet

controllers

field devices

OPC DA Cliente.g. performance

indicatorOPC DAspecifiedinterface

plantmeasurement

points

An OPC DA Serveris configured usingthe informationcoming from thedevelopment toolsfor the controllers

tags

Variables definedin the controllersare mirrored to theOPC DA server

controllerfield bus

4.3.2 OPC DA4/48Industrial Automation

OPC DA: Example of access to a variable

Network

controller development

OPCserver

Reactor_1

Oven controlleranalog input to : IXD.11.2.1

MW%1003 MotorSpeed

MW%1004 Temperature

… ….

symbolsloadsymbol table

ReadItem("OPC:Reactor1:

Program2.MotorSpeed")

Get (192.162.0.2), MW%1003) Return (MW%1003, 112)

Value: 112

Reactor_1.Program2

Program 2

code

Marker: MW%1003

OPC application

4.3.2 OPC DA5/48Industrial Automation

OPC DA: Objects as viewed by the OPC server

An OPC server is structured as a directory with root, branches and leaves (items)

Controller 1

Machine 2

Controller 2

Controller_3.Prog_2

Controller_3.Prog_1

Cell 1

Level_1

Level_2

Ramp4

TAG

TAG

TAG

Branches may contain other branches and itemsThe structure may also be flat instead of hierarchicalThis structure is defined during engineering of the attached devices and sensor/actors.(Intelligent servers could configure themselves by reading the attached devices)

An item is identified by its"fully qualified ItemID", e.g."Process_Line_1.Controller_2.Level_2"

Process Line 1

the hierarchical position may differ from the fully qualified ItemID

this will be detailed under „browsing“

Tag Name

4.3.2 OPC DA6/48Industrial Automation

OPC DA: Browsing - methods

An OPC DA server presents an interface that allows the client to explore its structure,with the methods:

MoveDownMoveUpMoveToRoot

showBranchesshowLeafes *

GetItemID: retrieves the fully qualified item ID (see later)

Optional:GetAccessPath: retrieves the access path for items that can be accessed over different ways.

The Access Path is an optional information that the client may provide regarding how to get to thedata, where several possibilities exist. Its use is highly server specific. Do not confound withhierarchical path.

(*the English error is unfortunate)

4.3.2 OPC DA7/48Industrial Automation

OPC DA: Browsing: Fully Qualified ItemID and hierarchy

A server has internally two ways to access the items:

1) the path shown when exploring the tree, and2) the „fully qualified ItemID“, which is the internal name used by the server.

Example: an item reached as: Root.SimulatedItems.UserDefined.Ramp.Ramp1 needs to be accessed internally as: UserDefined!Ramp.Ramp1

Clients usually look for an item though the hierarchical way.

They position the browser on the corresponding branch and retrieve the fully qualifieditem ID, which is the name of the item as the server understands it.

The fully qualified name is only used at configuration time, afterwards, objects areaccessed over client handles and server handles (see later)

4.3.2 OPC DA8/48Industrial Automation

OPC DA: Objects as viewed by the OPC client

Each client structures its items by groups,independently from the server.

Initially, the client browses the server structure tocheck if the items it is interested in exist.

A client registers its groups and items at the server.The server keeps the structure of all its clients.

Temperature

Heat_On

TAG

TAG

Server root

GroupX

Level

Empty_Valve

Fill_Valve

TAG

TAG

TAG

Area 1

Area 51

Oven_1

Tank_1

Area 2

GroupZ

Client1

Item1 Item2 Item3 Item1 Item2

server

clients

Client2

4.3.2 OPC DA9/48Industrial Automation

OPC DA: Client Handle and Server handle

client 1

1, 765842, 876893, 23443

3, 536644, 43222

client 2

1, 12, 23, 3

client1

2, 1201

3, 1202

group1 group2 group1

client2

The pair { ClientHandle, ServerHandle } uniquely identifies an item.

1,1

3, 54

2, 2

2, 2

The “fully qualified item” isnot sufficient to identify anitem, a client maysubscribe the same itemin different groups

x

4.3.2 OPC DA10/48Industrial Automation

OPC DA: Object Types and properties

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: browsing the serverObjects, types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.2 OPC DA11/48Industrial Automation

OPC DA: Item properties

The process data are represented by three dynamic properties of an item:

value: numerical or text

time-stamp: the time at which this data was transmitted from the PLC to the serverthis time is UTC (Greenwich Winter time), not local time.

quality: validity of the reading (not readable, dubious data, o.k.)

(when writing, only the value is used)

4.3.2 OPC DA12/48Industrial Automation

OPC DA: Item types

Boolean,Character,Byte, (1 byte)Word, (2 bytes)Double Word, (4 bytes)Short Integer (2 bytes)Integer (4 bytes)Long Integer: Long Unsigned IntegerSingle Float (4 bytes)Double Float (8 bytes)Currency,Date,String,Array of "the above"

Each item value has a type:

When accessing an item, the client may requestthat it is returned with a specific type, which couldbe different from the server's type.

(The server's type is returned by browsing)

Type conversion is left to the server, there are no ruleswhether and how a server does the conversion. (use with caution)

Care must be taken that the data types in the programming language or in the database match thoseof the OPC Server.

Items also may have engineering units, but this optionis not often used.

4.3.2 OPC DA13/48Industrial Automation

OPC DA: Communication Model

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: browsing the serverObjects, types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.2 OPC DA14/48Industrial Automation

OPC DA: Write Communication Models (per group)

myGroup.SynchWrite()

client

Call

Reply

myGroup.AsyncWrite()

myGroup_AsyncWriteComplete()

server

Call

Reply

server client

The OPC interface accesses only groups, not individual items.

However, the "automation interface" allows to access individual items,but this does not give rise to a communication

4.3.2 OPC DA15/48Industrial Automation

serverSubscribe

Notify

OPC DA: Read Communication Models (per group)

myGroup.SynchRead()

client

Call

Reply

myGroup.IsSubscribed

myGroup_DataChange()

myGroup.AsyncRead()

myGroup_AsyncReadComplete()

server

Call

Reply

myGroup_DataChange()

server client

client

synchronous asynchronous

on change("subscription-based")

Notify

4.3.2 OPC DA16/48Industrial Automation

OPC DA: Transmission by subscription (events)

serverSubscribe

Notify

myGroup.IsSubscribed

myGroup_DataChange()

myGroup_DataChange()

client

Notify

myGroup.Refresh()

myGroup_DataChange()Notify

The server notifies the client if an item changed - in a particular group (myGroup_DataChange) or- in any of the groups (myGroups_GlobalDataChange)In the second case, only the group in which the item changed will be sent.

4.3.2 OPC DA17/48Industrial Automation

OPC DA: "Cache" or "Device" ?

client application(OPC client)

fieldbus

OPC server

cache

fieldbus

device

fieldbus

device

fieldbus connection

server samples items(at the RequestedUpdateRate)

and puts them into cache

synchronous call overthe field bus to the enddevice (takes a while)

no need for “device access” whenfieldbus operates cyclically…

FB manager

FB agent FB agent

proprietaryprotocol

"SynchRead" reads the data either fromcache (local to the PC) orreads synchronous from the device.

"Write" is always to device(DA 3.0 allows write to cache)

4.3.2 OPC DA18/48Industrial Automation

OPC DA: When are subscribed data transmitted ?

A group has two properties to control when a data change is to be transmitted:

myGroup.Refreshrate:the rate at which the server samples the values, expressed in seconds ! (1/rate)earliest interval between changes of value (throttles changes, but may miss some)

myGroup.Deadbandapplied only to analog values: deadband = % the range (in Engineering Units).value is transmitted if the difference since last transmission exceeds deadband.Problem: applies to whole group without considering individual items, seldom implemented.

max

min

deadband

time

= refresh rate

range

4.3.2 OPC DA19/48Industrial Automation

OPC DA: communication paradigm

OPC DA works according to the “shared memory” paradigm.

This means that a newer value overwrites the older one, no queues or history are kept.

The server does not guarantee that different clients see the same snapshot of the plant.

The server does not guarantee that all changes to variables are registered,changes may be missed if the polling period is too low.

OPC DA Client OPC DA Client

OPC DA Server

4.3.2 OPC DA20/48Industrial Automation

OPC DA: Programming Example

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: browsing the serverObjects, types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.2 OPC DA21/48Industrial Automation

OPC DA: Object hierarchy at the client

OPCItem

OPCBrowser

OPCServer

OPCGroups (collection)

OPCGroup

OPCItems (collection)

Description

An instance of an OPC Server. You must create an OPCServerobject before you can get references to other objects. It containsthe OPCGroups Collection and creates OPCBrowser objects.

A collection containing all of the OPCGroup objects this client hascreated within the scope of the OPCServer that the AutomationApplication has connected to via OPCServer.Connect()

An instance of an OPCGroup object. this object maintains stateinformation and provides the mechanism to access data for theOPCItems Collection object that the OPCGroup object references.

A collection containing all of the OPCItem objects this client hascreated within the scope of the OPCServer, and correspondingOPCGroup object that the Automation Application has created.

An automation object that maintains the item’s definition, currentvalue, status information, last update time. Note the CustomInterface does not provide a separate Item Object.

An object that browses item names in the server’s configuration.There exists only one instance of an OPCBrowser object perinstance of an OPC Server object.

OPCItemOPCItem

OPCGroup

4.3.2 OPC DA22/48Industrial Automation

OPC DA: Automation interface summary

4.3.2 OPC DA23/48Industrial Automation

OPC DA: Program - initialising a connection

find out existing OPC servers

connect to that OPC server

create an OPCBrowser objectcreate an OPCGroups object

create an OPCServer object

create an OPCGroup object

build array of itemschecking with the browser thatthese items exist in this server

add item array to the group

activate and subscribe group

myDummyServer.GetOPCServers

myServer.Connect

Set myBrowser = myServer.BrowserSet myGroups = myServer.Groups

myServer = new OPCServer

Set myGroup1 = myGroups.AddSet MyItems = MyGroup1.OPCItemsFQItems1[1] = "Device1.Temp1"ClientHandle1[1] = 101ReDim ServerHandle1(nrItems)ReDim ServerErrors1(nrItems)ReDim Value1(nrItems)myGroup1.AddItemsmyGroup1.IsActivemyGroup1.IsSubscribed

nextgroup

4.3.2 OPC DA24/48Industrial Automation

OPC DA: Program - Declarations

Option Base 1 'OPC arrays indices start with 1Dim WithEvents MyServer As OPCServer 'OPC Server Object (Events optional)Dim WithEvents MyGroups As OPCGroups 'OPC Group Collection (Events opt.)Dim WithEvents MyGroup As OPCGroup 'OPC Group Object' itemsDim nrItems As IntegerDim MyItems As OPCItems 'OPC Item Collection ObjectDim MyItem As OPCItem 'OPC Item ObjectDim ItemsID(2) As String 'fully qualified items (see later)Dim ClientHandles(2) As LongDim ServerHandles() As Long ' must be a dynamic arrayDim ServerErrors() As Long ' must be a dynamic array

Reference: "OPC Automation 2.0" must be included into Visual Basic or C#

(if missing: copy opcdaauto.dll to C:\WINNT\System32\opddaauto)and register it: C:\>regsvr32 C:\WINNT\System32\opddaauto.

A simple way to do it: install Software Toolbox's TopServer (freeware)

4.3.2 OPC DA25/48Industrial Automation

OPC DA: Program - Finding the OPC servers

The GetOPCServers function applied to a dummy Server object allow to list the existing servers on this node or on another node (over DCOM - security must be set correctly).The information about which OPC servers exist is taken from the registry, where it has been put by each server at its installation time

Private Sub ShowServers(netNodeName As String) Dim dummyServer As OPCServer Dim Servers As Variant ' this is an array of strings Dim cntServers As Integer

Set dummyServer = New OPCServer ' create a dummy server object Servers = dummyServer.GetOPCServers(netNodeName) ' returns all available servers

For cntServers = LBound(Servers) To UBound(Servers) ' display the names MsgBox Servers(cntServers) Next cntServers

Set Getserver = Nothing ' delete this object (was created by New) Exit Sub

4.3.2 OPC DA26/48Industrial Automation

OPC DA: Program - Connecting to the OPC server

Set MyServer = New OPCServer ' create server objectMyServer.Connect ("Matrikon.OPC.Simulation") ' connect to Matrikon server

Before connecting, it is safe to check the name of the server from the server's list.Also, it is preferable to include the connection in a separate routine since it can fail:

Function ServerGetCare(Name As String, ServerNode As String) As OPCServer On Error GoTo ServerGetCareErr Dim MyOPCServer As New OPCServer

MyOPCServer.Connect ServerName, ServerNode ' connect risky Set ServerGetCare = MyOPCServer Exit Function

ServerGetCare_Err: ' error handler if connect fails Err.Clear MsgBox "Could not connect" Set MyServer = Nothing Exit Function

4.3.2 OPC DA27/48Industrial Automation

OPC DA: Program - Browsing the server

The object OPCBrowser (of type "collection") acts as a pointer to the server's tree:

Dim MyServer As OPCServerDim MyBrowser As OPCBrowserDim vName As Variant

MyServer.Connect "Matrikon.OPC.Simulation", "Orion" 'server and node name (DCOM)

Set MyBrowser = MyServer.CreateBrowser ' create an OPC browser

MyBrowser.ShowBranches ' show the branchesFor Each vName In MyBrowser MsgBox "Branch: " & vName ' display the branch nameNext vName

MyBrowser.ShowLeafs ' explore the leavesFor Each vName In MyBrowser MsgBox "Leaf: " & vName ' display the leaves's nameNext vName

4.3.2 OPC DA28/48Industrial Automation

OPC DA: Navigating

MyBrowser.MoveDown (strBranch) ' go down the selected branch tree

MyBrowser.MoveUp ' go up the selected branch tree

site propertiesTAG

Server root

Level

Temperature

Valve_On

TAG

TAG

TAG

Site A

Store

Machine Room

Grinder

Wash Room

Climate

server

Tank

There may be leaves at every branch, since a branch may have properties

4.3.2 OPC DA29/48Industrial Automation

OPC DA: Program - get the Fully Qualified ItemID

myOPCBrowser.MoveDown("TankArea")myOPCBrowser.MoveDown("Tank1")FQI = myOPCBrowser.GetItemId ("Level")

Of course, one can write an Item ID directly when defining a group, but it is safer tobrowse the server and get the FQI from there, since the delimiter depends on the server.

To get the "fully qualified itemID", one positions the browser at the place where theleaf is attached to the branch and calls GetItemID

e.g. FQI could be "Controller1;Tanks!Level"

4.3.2 OPC DA30/48Industrial Automation

OPC DA: Program - Creating OPCGroups and OPCItems

Set MyGroups = MyServer.OPCGroups ' create groups collectionSet MyGroup1 = MyGroups.Add("GRP1") ' add group, name privateSet MyItems = MyGroup1.OPCItems ' define the OPCItems of group

FQItemIDs(1) = "Area2.Tank1.Level" ' fully qualified itemIDClientHandles(1) = 5 ' arbitraryFQItemIDs(2) = "Area2.Tank1.Temperature" ' fully qualified itemIDClientHandles(2) = 6 ' arbitrary (but different)nrItems = 2

MyItems.AddItems _ ' adds the items to collection nrItems, _ ' input parameter FQItemIDs, _ ' input fully qualified ID ClientHandles, _ ' input ClientHandles ServerHandles, _ ' return parameter ServerHandles ServerErrors ' return parameter ServerErrors

MyGroup1.ClientHandle = 1 ' handle of the group (no s) !MyGroup1.IsActive = True ' now ready to send and receiveMyGroup1.IsSubscribed = True ' and to generate eventsThe role of the ServerHandles and ClientHandles will be explained later…

4.3.2 OPC DA31/48Industrial Automation

OPC DA: Data structures at the client

FullyQualifiedItemID ClientHandle ServerHandle

"Channel1.Device1.Temp1"

communicated to server byregistering group

ServerError Value Quality TimeStamp

100 34543 0 123.4 OK 12:09.234

"Channel1.Device1.Speed1" 102 22532 0 999.8 OK 12:02.214

"Channel1.PLC2.Door" 203 534676 0 0 OK 12:03.002

"Channel1.PLC2.Valve3" 204 787234 0 1 OK 12:02.345

"Channel1.PLC2.CloseDoor" 205 58432 0 0 BAD 12:02.345

returned by serverwhen registering

dynamic changes(refreshed on change)

The client prepares data structures for its items and gives the server the correspondingpointers so the server can update them.Items to be written and read can be mixed in the same group.The type of the item (Boolean, Float,…) is implicit, but known at the server

.. .. .. .. .. ..

Note: OPC indices start with 1 !

4.3.2 OPC DA32/48Industrial Automation

Dim thisGroup As OPCGroup Dim cntItems As Integer Dim source As Integer Dim serverHandles(2) As Long Dim values() As Variant Dim errors() As Long

serverHandles(1) = ServerHandle(11) ' copy from global variables serverHandles(2) = ServerHandle(14)

source = OPCcache ' could also be OPCDevice thisGroup.SyncRead

source,nrItems,serverHandles, ' identifies the items to be read !values, ' returns be a dynamic arrayerrors ' returns a dynamic array

For cntItems = LBound(serverHandles) To UBound(serverHandles) ' 1..n MsgBox CStr(cntItems) & " : " & values(cntItems) Next cntItems

myGroup.SynchRead()

client

Call

Reply

server

OPC DA: Synchronous Read of a group

4.3.2 OPC DA33/48Industrial Automation

OPC DA: Asynchronous read of single Items

AsyncRead()

AsyncReadComplete()

serverDim WithEvents MyGroup...MyGroup.AsyncRead nrItems, ServerHandles, ServerErrors, TransactionID, CancelID

Call

Reply

client

Private Sub Mygroup_AsyncReadComplete ( ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date, Errors() As Long) MsgBox ("Async Read Complete")End Sub

Asynchronous read separates Call and Reply.

Call supplies the ServerHandles

Reply returns the corresponding ClientHandles

4.3.2 OPC DA34/48Industrial Automation

AsyncRead (source= device)

AsyncReadComplete()

server

Call

Reply

client

AsyncRead (source= cache)

AsyncRead (source = device)

Although the AsynchReadComplete carries the ClientHandle of each item, it does not tell which AsynchRead caused the AsynchReadComplete event to fire. Call and Reply are linked by the TransactionID: this ID is returned in AsynchReadCompleteIt can also be used to cancel the operation

AsyncCancel ()

AsyncCancelComplete ()

OPC DA: Transaction ID

4.3.2 OPC DA35/48Industrial Automation

OPC DA: Reading (by events) the OPC group

Dim WithEvents MyGroup...Private Sub MyGroup_DataChange( _ ByVal TransactionID As Long, _ ByVal NrItems As Long, _ ClientHandles() As Long, _ ' returned by the server to the client ItemValues() As Variant, _ Qualities() As Long, _ TimeStamps() As Date)

Dim cntItems As Integer For cntItems = LBound(ClientHandles) To UBound(ClientHandles) ' index 1..n TextValue(cntItems - 1).Text = ItemValues(cntItems) ' display TextTimeStamp(cntItems - 1).Text = DateAdd("h", 9, TimeStamps(cntItems)) TextQuality(cntItems - 1).Text = Qualities(cntItems) Next cntItemsEnd Sub

This function is called each time an item in the group changesThe ClientHandles (here: 5 and 6) identifies the variables, not the “fully qualified itemID”The values are displayed in the TextValue, TextTimeStamp and TextQuality fields. The refresh rate is given in the group definition.

4.3.2 OPC DA36/48Industrial Automation

OPC DA: Groups Events

Although transmission by groups is more efficient than AsyncRead, it can be improvedby using Groups Events (Global Data Change)

This event is fired whenever a variable of a group changes.

If the group is subscribed also to a Group Event (DataChange), I.e. if the group isdeclared WithEvents, then both Events will be fired.

The application must sort out the groups and the items.

4.3.2 OPC DA37/48Industrial Automation

OPC DA: GlobalDataChange

Dim WithEvents MyGroups As OPCGroups...Private Sub MyGroups_GlobalDataChange( ByVal TransactionID As Long, ' =0 if called by Refresh ByVal GroupHandle As Long, ByVal NumItems As Long, ClientHandles() As Long, ' identifies the items ItemValues() As Variant, ' value of the items Qualities() As Long, ' value of the items TimeStamps() As Date) ' timestamps of the items

Select Case GroupHandle ' depending on the group ... Case 1 ' treat group 1 Case 2 ' treat group 2

The GlobalDataChange event is fired when any item in a group changed. (if Groups is also with events, the corresponding Group_DataChange will also be called)

4.3.2 OPC DA38/48Industrial Automation

OPC DA: Server Events

Dim WithEvents MyServer As OPCServer ' define the event.. ..Private Sub MyServer_ServerShutDown(ByVal Reason As String)

MsgBox "my OPC Server " & MyServer.ServerName & " quit"End Sub

This event signals to the client that the server shut down.

The client must declare its server „WithEvents“ and provide the corresponding eventSubroutine

This should stop all actions, otherwise exceptions will occur.

4.3.2 OPC DA39/48Industrial Automation

OPC DA: Do not forget cleanup !

Private Sub ServerShutdown Dim dummyServer As OPCServer Dim Servers As Variant ' this is an array of strings Dim cntServers As Integer

Set myGroup1 = Nothing ' create a dummy server object Set myGroups = Nothing ' returns all available servers MyServer.Remove MyServer.RemoveAllGroups MyServer.Disconnect ' delete this object (was created by New) Set MyServer = Nothing

To speed up connection/disconnection, an OPC server remembers its groups and clientswhen a client disconnects.

To do this, an OPC server initialises its structures with a client counter of 2, instead of 1.Therefore, it is imperative to shut down explicitly the server, otherwise links will subside(and you will have kill the server to clear them).

4.3.2 OPC DA40/48Industrial Automation

OPC DA: Standard and components

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: browsing the serverObjects, types and properties Communication modelSimple programming exampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.2 OPC DA41/48Industrial Automation

OPC DA: Libraries

The OPC DA specification is not formal, conformance can hardly be checked against thisdocument.

To ensure that the standard is observed, the OPC foundation distributes on its websitethe DLLs (opcdaauto.dll, opccomn_ps,…) that contain the type libraries to access theOPC server.

The vendors are not compelled to implement all features. For instance, the description ofthe variables is seldom used. Calling unimplemented functions causes exceptions thatmust be caught in Visual Basic with "On Error …" statements.

There exist three versions of DA, 1.0, 2.0 and 3.0, that behave differently, however, olderservers do not have a property indicating which version they support.

4.3.2 OPC DA42/48Industrial Automation

OPC DA: Custom Interface

OPCgroup

IOPCItemMgtIOPCGroupStateMgt[IOPCPublicGroupSteatMgt]IOPCSyncIOIOPCAsyncIO2IConnectionPointContainerIEnumOPCItemAttributesIOPCSyncIOIDataObject

OPCclient

IOPCDataCallback

IOPCServerShutdown

OPCserver

IOPCCommonIOPCServerIConnectionPointContainerIOPCItemProperties[IOPCServerPublicGroups]IConnectionPointContainer[IOPCBrowseServerAddressSpace]IPersistFile

While the Automation Interface is easy to use and quite powerful, some OPC functionsare missing and special operations can only be done in Visual C++ using the customCOM interface.This is only recommended for experienced programmers.

4.3.2 OPC DA43/48Industrial Automation

OPC DAOPCGroup Custom Interface: comparison (1)

Required Interfaces DA 1.0 DA 2.0 DA 3.0 OPCGroup IUnknown Required Required Required IOPCItemMgt Required Required Required IOPCGroupStateMgt Required Required Required IOPCGroupStateMgt2 N/A N/A Required IOPCPublicGroupStateMgt Optional Optional N/A IOPCSyncIO Required Required Required IOPCSyncIO2 N/A N/A Required IOPCAsyncIO2 N/A Required Required IOPCAsyncIO3 N/A N/A Required IOPCItemDeadbandMgt N/A N/A Required IOPCItemSamplingMgt N/A N/A Optional IConnectionPointContainer N/A Required Required IOPCAsyncIO Required Optional N/A IDataObject Required Optional N/A

This checklist for experienced programmers (custom interface) shows the differences between the DA versions

4.3.2 OPC DA44/48Industrial Automation

OPC DA OPCServer 1.0, 2.0 & 3.0 comparison (2)

Required Interfaces 1.0 2.0 3.0 OPCServer IOPCServer Required Required Required IOPCCommon N/A Required Required IConnectionPointContainer N/A Required Required IOPCItemProperties N/A Required N/A IOPCBrowse N/A N/A Required IOPCServerPublicGroups Optional Optional N/A IOPCBrowseServerAddressSpace Optional Optional N/A IOPCItemIO N/A N/A Required

The differences do not yet appear in the automation interface

This checklist for experienced programmers (custom interface) shows the differences between the DA versions

4.3.2 OPC DA45/48Industrial Automation

OPC DA: Assessment

What is OPC ?

Which are the read and write operations ?

Is communication done by items, by groups or by collection of groups ?

What is the difference between cache and device reading ?

Can a change of an OPC variable be notified as an event, or shall the client poll ?

How is browsing done ?

Why is browsing necessary, even when one knows the variable's location in the server ?

4.3.2 OPC DA46/48Industrial Automation

To probe further….

OPC Foundation: Specifications http://www.opcfoundation.org

SoftwareToolbox Examples in Visual Basic http://www.softwaretoolbox.com/Tech_Support/TechExpertiseCenter/OPC/opc.html

The Code Project OPC and .NET http://www.codeproject.com/useritems/opcdotnet.asp

Matrikon Free client and server: http://www.matrikon.com

WinTech Toolkit for an OPC server http://www.win-tech.com/html/opcstk.htm

NewAge Automation Toolkit for an OPC server http://www.newageautomation.com

4.3.2 OPC DA47/48Industrial Automation

4.3.2 OPC DA48/48Industrial Automation

Prof. Dr. H. KirrmannABB Research Centre, Baden, Switzerland

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4.3 OLE for Process Control (OPC)

4.3.3 Alarms & Events

4 Access to devices

2005 May, HK

4.3.3 OPC A&E2/32Industrial Automation

AE: Overview

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: browsing the serverObjects, types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.3 OPC A&E3/32Industrial Automation

AE: Configuration

controller

OPC AE Cliente.g. event logger

OPC AE Server

e.g. Ethernet

controllers

field devices

OPC AE Cliente.g. alarm printer

OPC A&Especifiedinterface

plantmeasurement

points

event notification

An OPC AE Serveris configured usingthe informationcoming from thedevelopment toolsfor the controllers

events

Events defined inthe controllers aremirrored to theOPC AE server

controllerfield bus

4.3.3 OPC A&E4/32Industrial Automation

AE: Purpose

The controllers (PLC) generate events in response to changes in the plant variables.together with their precise time of occurrence, type, severity and associated message forthe human operator.

An OPC Event server registers these events and makes them available to several clientsA particular class of events are the alarms, which are detailed events that may requireacknowledgement.

The OPC Alarms & Events Interface gives access to the OPC Event server, allowing to:

- browse the OPC A&E Server for predefined events.- enable or disable alarms and events- subscribe to alarms and events of interest- receive the event and alarm notifications with the associated attributes- acknowledge alarms

4.3.3 OPC A&E5/32Industrial Automation

AE: Definitions

An event is a general change of state that is relevant to the OPC server.An event signal a change:1) in the field device ("production started")2) in the OPC server ("alarm acknowledged")3) in the application ("operator action")

An alarm is a state of the process that requires attention and is relevant to the OPC server.An alarm is represented by an alarm condition, (or short: condition), a state machineindicating if the alarm has been enabled, triggered or acknowledged.

An event or an alarm does not transmit analogue process values,but they transmit information about their origin, the time of their occurrence and a messageintended for a human operator.

Alarms and events may not get lost(contrarily to OPC DA, which does not guarantee completeness)

Alarms and event are precisely time-stamped by their source,(contrarily to process variables, which are time-stamped by the receiving OPC server).

4.3.3 OPC A&E6/32Industrial Automation

AE: communication paradigm

OPC AE works according to the “message passing” paradigm, contrarily to OPC DA, thatworks according to the "shared memory" paradigm.

This means that an event is kept in a queue until all clients have read it (or timed out).

The server guarantees that different clients will see all events in the same sequence.

OPC AEClient

OPC AEClient

OPC AEServer

12:34 23.114

12:34 32.334

4.3.3 OPC A&E7/32Industrial Automation

AE: Displaying Alarms and Events

Alarms and events are usually displayed differently on an operator screen.

- Events are displayed in an event list that can become quite long (typically 1000 entries), entries are not cleared when the source of the event returns to normal

- Alarms are displayed in a short list (typically 50 alarms)appearance changes when the alarm is acknowledged, an alarm line is cleared when the alarm signal is cleared.

Ackcheckbox

4.3.3 OPC A&E8/32Industrial Automation

AE: Server Organization

Areas

Events

Conditions (alarms only)

Subconditions (alarms only)

A2

A23

E1

C2

SC3SC1 SC1

E2

simple conditionrelated

A24

C2

SC3SC1 SC1

E2

conditionrelated

S2Sources(objects)

E1

S1

E2

S3

An event is identified by a source (owner object in the controller) and an event namethis combination must be unique in the AE Server.

C2

SC1

E3

conditionrelated

tracking

branches

properties

leaves

4.3.3 OPC A&E9/32Industrial Automation

AE: Browsing the AE Server

Area 1

Area 52

Area 2

Area 5

Area 51

Source 1

Source 2

Source 3

Alarms and Event are organized by area, which themselves may contain other areas.

Contrarily to branches in OPC DA, area and sources have properties that allow todisable or enable events or alarms by area or by source, corresponding to parts of theplants, rooms or specific equipment of the plant.

root

4.3.3 OPC A&E10/32Industrial Automation

AE: Browsing methods

Like all other OPC Servers, an OPC A&E presents an interface that allows the client tobrowse the server to explore its structure, with the methods:

BrowseOPCAreaChangeBrowsePosition (up, down, root)

GetQualifiedAreaNameGetQualifiedSourceName

There is no "GetQualifiedItemID, since the condition name is known from the source.

4.3.3 OPC A&E11/32Industrial Automation

AE: Events

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: browsing the serverObjects, types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.3 OPC A&E12/32Industrial Automation

AE: Events kinds

OPC AE defines three kinds of events:

• simple: process control system related events (change of a boolean variable)

• condition-related: notifies a change of an alarm condition (CLEARED, ACKNOWLEDGED),(see later)

• tracking-related: origin outside of the process (e.g. operator intervention)

4.3.3 OPC A&E13/32Industrial Automation

AE: Event- identification

Tank1 Tank2 Tank3

event

HiLevelCond HiLevelCond

An event is identified by

- its source (the object that generates the event. e.g. Tank1) and - the event name (which can be the same as in another object, e.g. HiLevelCond)

event

HiLevelCond

event

event

LoLevelCond LoLevelCond

event

LOLevelCond

event

4.3.3 OPC A&E14/32Industrial Automation

AE: Event PLC Function block

event signal (boolean expression)is an external signal to be used ?

signal name for external signal (20 characters)name of the source (30 characters)

message (60 characters)

Simple Event function blocks in a controller are used to signal a simple event.

The event is identified by the concatenation of the name of the containing object(SrcName) and the event handling function block name (here: SimpleEventDetector_1).

The source name can be that of the containing code module (owner object), assumingthat a plant object is represented by a code module.

name of the event

4.3.3 OPC A&E15/32Industrial Automation

AE: Events - Notification

Level Switch

OPC AE Server

timestamp

AE Client

event notification

Tank1LevelHigh_SimpleEvent

(source, timestamp, message,severity, category)

EventFB

Controller

Plant

Tank1

message

queue

4.3.3 OPC A&E16/32Industrial Automation

AE: Events - Time Stamp

There are three places where events can be time-stamped:

- at the device that originally produced the data (external event - low-level event)allowing Sequence-Of-Events with a high resolution, down to microseconds

- at the controller, (internal event) using the controller's clock to time-stamp messages giving precision not greater than the period of the tasks, about 1 ms.

- at the OPC Server, when an event message arrives (tracking events)not more precise than DA, about 10 ms)

The OPC server can be configured to register the time stamp at the instant of theevent transition (positive or negative) and the instant of the acknowledgement.

4.3.3 OPC A&E17/32Industrial Automation

AE: Properties of an Event-object

Property MeaningSource source object (area + source)Time time of occurrenceMessage associated message for the operatorEventCategory user-definedSeverity priority (1..1000)OPCEventAttribute

ConditionName name of the condition within the sourceSubCondition name of the active subcondition (subconditions are exclusive)ChangeActiveStateChangeAckStateChangeEnableStateChangeQualityChangeSeverityChangeSubConditionChangeMessageChangeAttributeConditionActionConditionAcknowleddgedQualityAckRequiredActiveTimeCookie server handle used for acknowledgement of alarmsActorID identified who acknowledged the alarm (for client-side acknowledgement)

all events

condition-relatedevents

4.3.3 OPC A&E18/32Industrial Automation

AE: Alarm conditions

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: browsing the serverObjects, types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.3 OPC A&E19/32Industrial Automation

AE: Alarms - Condition Definition

An (alarm) condition is a named state machine that describes the state of an alarm

The condition state is defined by three variables:

• Enabled: the condition is allowed to send event notifications

• Active: the alarm signal is true

• Acknowledged: the alarm has been acknowledged

Alarm signal(e.g. FIC101.PV > 100 AND FIC101.PV < 150)

Acknowledgement signal(a positive transition of a boolean variable) Condition state

Enable (positive transition)Disable (positive transition)

Condition

4.3.3 OPC A&E20/32Industrial Automation

AE: Alarms - Acknowledgement

An alarm condition becomes active when the PLC produces an alarm signal describingan abnormal state (e.g. the level of the tank is too high).

The operator is expected to acknowledge this condition (client ack)Alternatively, a local operator may press a button that the PLC reads (field ack)

LevelHigh

controller

AckButton(field ack)

OPC AE Server

time-stamp

AE Client

event notification

client ack (acknowledger ID)Tank1Level_ConditionEvent

Network or field bus

Alarm Signal

messageCondition

4.3.3 OPC A&E21/32Industrial Automation

AE: Alarms - Condition states and acknowledgement

alarm signal

acknowledgement

event notification

condition state InactiveAcked

ActiveUnacked

ActiveAcked

InactiveAcked

ActiveUnacked

InactiveUnacked

InactiveAcked

EnabledInactiveAcked

EnabledActiveUnacked

EnabledActiveAcked

EnabledInactiveUnacked

Ack ⇑ Ack ⇑

alarm_signal ⇓

alarm_signal ⇓

alarm_signal ⇑condition statetransitions(here: alwaysenabled)

alarm_signal ⇑

InactiveUnacked

An event is generated each time the alarm signal changes state, or is acknowledged

4.3.3 OPC A&E22/32Industrial Automation

AE: Alarms - Condition properties

Name Name, unique within Server, assigned to the condition

Active alarm expression is in the state represented by the condition

ActiveSubCondition If condition active, name of SubCondition (see later)

Quality quality of data upon which condition is computed

Enabled condition may become active

Acked alarm has been acknowledged

LastAckTime last time that alarm was acknowledged

SubCondLastActive last time that subcondition became active (see later)

CondLastActive last time that condition became active

LastInactive last time that condition became inactive

AcknowledgerID who acknowledged the alarm

Comment

4.3.3 OPC A&E23/32Industrial Automation

AE: Alarms - Subconditions

A condition may be subdivided into mutually exclusive subconditions

This allows to signal an alarm identified by the object name and give details in thesubcondition.

(for instance: “level high”, “level very high”, “overflow”)

Name Name, unique within the condition, assigned to the sub-condition

Definition An expression that defines the sub-state

Severity priority (different subconditions may have different severity levels)

Description Text string to be included in the event notification

An alarm condition has at least one subcondition, that defines the severity.

4.3.3 OPC A&E24/32Industrial Automation

AE: Alarms : Example of Function Block (AC800)

alarm signal (boolean expression)is an external signal to be used ?

external signal name (20 characters)

name of the source (30 characters)message (60 characters)

(= Priority, 1..1000)User defined (1..9999)

invert signalacknowledgement method

shortest condition considered (0..3600)enable detection (state)

field acknowledgement (positive edge)disable condition (positive edge)enable condition (positive edge)

active, acked,..

Tank1AlarmCond

This function block has only one subcondition

name of the condition

4.3.3 OPC A&E25/32Industrial Automation

AE: Summary alarms and events

controller

OPC AE Server

AE Client

Condition

OPC AE Server

timestamp

AE Client

event notification (source, timestamp, message)

message

message

alarm notification (source, timestamp, message,condition, subcondition, severity, type)

EventFB

controller

Event Alarm

4.3.3 OPC A&E26/32Industrial Automation

AE: Automation Interface

OPC CommonOverview: usage and specificationsOPC as an integration toolClients and Servers: configurationOPC Technology, client and custom interface

OPC Data AccessOverview: browsing the serverObjects, types and properties Communication modelSimple Programming ExampleStandard and components

OPC Alarms and Events SpecificationOverview: definitions and objects EventsAlarm ConditionsAutomation Interface

OPC Historical Data SpecificationOverview

4.3.3 OPC A&E27/32Industrial Automation

OPCEventOPCEvent

AE: Object hierarchy

OPCEventAreaBrowsers

OPCEventServer

OPCEventSubscriptions (col)

OPCEventSubscription

OPCEvents (col.)

An instance of an OPC AE Server.

A collection containing all OPCEventSubscription objects this clienthas created

An object that maintains state information and provides themechanisms for events and alarms notification

A collection that holds the OPCEvents objects.When the Automation Wrapper receives a callback from the AE Server, it forwardsthe response as an OPCEvents collection object.

An object that represents one specific event of a subscription

A collection of browsers for the server(only one instance of an OPCBrowser object per instance of an OPCServer object.)

OPCEventSubscription

OPCEventAreaBrowser

An object that holds the current state of a condition instance, identifiedby its Source and Condition Name

represents one subcondition associated with the event condition

OPCEventCondition

OPCSubConditions (col.)

OPCSubConditionOPCSubCondition

An object that browses items in the server’s configuration. Itaccesses the arrays of OPCAreas and OPCAreaSources

A collection that holds the subconditions associated with the eventcondition

4.3.3 OPC A&E28/32Industrial Automation

AE: Automation Interface (Summary 1/2)

Methods

Event Subscription Mgt

Event Server

4.3.3 OPC A&E29/32Industrial Automation

AE: Automation Interface (Summary 2/2)

Types

Constants

EnumsClasses

4.3.3 OPC A&E30/32Industrial Automation

To probe further….

OPC Foundation: Specifications http://www.opcfoundation.org

SoftwareToolbox Examples in Visual Basic http://www.softwaretoolbox.com/Tech_Support/TechExpertiseCenter/OPC/opc.html

The Code Project OPC and .NET http://www.codeproject.com/useritems/opcdotnet.asp

Matrikon Free client and server: http://www.matrikon.com

WinTech Toolkit for an OPC server http://www.win-tech.com/html/opcstk.htm

NewAge Automation Toolkit for an OPC server http://www.newageautomation.com

4.3.3 OPC A&E31/32Industrial Automation

4.3.3 OPC A&E32/32Industrial Automation