Device Management Protocols Protocoles de gestion des ...
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 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
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; ... }
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 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
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