Industrial Automation Automation Industrielle Industrielle Automation 4 Application Layer Protocols...

56
Industrial Automation Automation Industrielle Industrielle Automation 4 Application Layer Protocols 4.2 Open Process Control (OPC)

Transcript of Industrial Automation Automation Industrielle Industrielle Automation 4 Application Layer Protocols...

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4 Application Layer Protocols

4.2 Open Process Control (OPC)

OPC 4.2 - 2Industrial Automation 2013

OPC: Open Process Control

Source: http://home.hit.no/~hansha/documents/lab/Lab%20Work/opc.htm

OPC 4.2 - 3Industrial Automation 2013

OPC: Open Process Control

Manufacturer-independent application programming interface (API) for automation

-To implement clients which can access plant data coming from remote devices (PLCs, field bus devices, real-time databases) easily

-Set of commands collected in a software library (DLL) to access OPC servers

OPC clients

-read and write process variables, read alarms and events and acknowledge alarms, and retrieve historical data from data bases according to several criteria

-Implemented on automation platforms (e.g. ABB Ax800), which may act themselves as an OPC server to publish their data, events and historical data.

OPC server

-Supplied by manufacturer of automation devices supplies

-Communicates with its devices through a proprietary protocol

-Manages several devices of the same type, several servers can run in parallel and each server can be accessed by several clients in the same network

OPC 4.2 - 4Industrial Automation 2013

OPC Overview

4.2.1 OPC OverviewUsage and specificationsClients and Servers: configuration

4.2.2 OPC Data AccessObjects, Types and properties Communication model

4.2.3 OPC Alarms and Events SpecificationEventsAlarm Conditions

4.2.4 OPC Historical Data SpecificationOverview

OPC 4.2 - 5Industrial Automation 2013

4.2.1 What is OPC ?

OPC (formerly: "OLE1 for Process Control", now: "Open Process Control") is an industry standard set up by the OPC Foundation (http://www.opcfoundation.org/) specifying the software interface (objects, methods) to a server that collects data produced by field devices and programmable logic controllers.

OPC serverX

application(OPC client)

OPC server(simulator)

OPC serverY

APIcovered by the OPC standard servers

PLCs Brand X

:

Field busEthernet

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.

PLCs Brand Y

OPC 4.2 - 6Industrial Automation 2013

Before OPC

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

MasterBusMMS driver

XWAY driver

Profinetdriver

visualizationhistory

data base

OPC 4.2 - 7Industrial Automation 2013

With OPC

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

ABBOPC server

SchneiderOPC server

SiemensOPC server

Operatorapplication software is written independently from the type of controller

Historian(Information Manager)

MMS XWAY ProfiNet

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

OPC 4.2 - 8Industrial Automation 2013

Importance of OPC

• Greatest improvement in automation since IEC 61131.

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

• Used for data exchange between applications and for accessing databases

• DLL for Automation Interface (VB,..) and Custom applications (C++,..)

• Three major components:1) OPC - DA = Data Access (widespread, mature)2) OPC - AE = Alarms and Events 3) OPC - HDA = Historical Data Access

… and some profiles* (batch,…) * A “profile” is a subset or a specialization of a standard to form a stricter standard, adapted to an application. E.g. 100 Mbit/s, full-duplex, fibre-optical Ethernet is a profile of IEEE 802.3.

OPC 4.2 - 9Industrial Automation 2013

Specification 1: OPC DA for Data Access

Process variables describe the plant's state, they are generated by the sensors or calculated 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.

OPC 4.2 - 10Industrial Automation 2013

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, under which conditions they are filtered and sent with their associated messages.The main clients of OPC AE are the Alarms and Event loggers.

OPC 4.2 - 11Industrial Automation 2013

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.

OPC 4.2 - 12Industrial Automation 2013

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 uses web 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.

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

OPC 4.2 - 13Industrial Automation 2013

Client and Servers

4.2.1 OPC OverviewUsage and specificationsClients and Servers: configuration and communication

4.2.2 OPC Data AccessObjects, Types and properties Communication model

4.2.3 OPC Alarms and Events SpecificationEventsAlarm ConditionsAutomation Interface

4.2.4 OPC Historical Data SpecificationOverview

OPC 4.2 - 14Industrial Automation 2013

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

OPC 4.2 - 15Industrial Automation 2013

OPC for internal communication: ABB’s SCADA (800xA) as example

ABB's Operator Workplace (800xA) is at the same time OPC server and OPC client. Software components (agents) within AIP expose their properties as OPC objects.Internal (within the PC) and external communication (between PCs) takes place over OPC.

800xA

ABBOPC server

SchneiderOPC server

SiemensOPC server

AssetOptimizer

EnterpriseHistorian

aspects

OPC client

OPC server

processdata base

OPCconnections

aspectsfunctions

Windows PC

OPC 4.2 - 16Industrial Automation 2013

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 be a point-

to-point link

client application(OPC client)

proprietary protocol

The OPC server is runningall the time, even if noclient is present

I/O devices

OPC 4.2 - 17Industrial Automation 2013

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:TunnellerOPC UA

OPC 4.2 - 18Industrial Automation 2013

Assessment Overview

• What is the objective of OPC ?

• On which technology does OPC rely ?

• What is an OPC Server ?

• What do the main OPC specifications describe ?

• How can an OPC Server access data on another machine? And how does it work for OPC clients?

OPC 4.2 - 19Industrial Automation 2013

OPC Data Access

4.2.1 OPC OverviewUsage and specificationsClients and Servers: configuration

4.2.2 OPC Data AccessObjects, Types and properties Communication model

4.2.3 OPC Alarms and Events SpecificationEventsAlarm ConditionsAutomation Interface

4.2.4 OPC Historical Data SpecificationOverview

OPC 4.2 - 20Industrial Automation 2013

OPC DA: Item properties

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

1.value: numerical or text

2.time-stamp: time at which this data was transmitted from the PLC to the serverUTC, not local time.

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

optional static properties

description: a text string describing the use and of the variable (optional)

engineering unit: the unit in which the variable is expressed (optional)

Q TV D UID

OPC 4.2 - 21Industrial Automation 2013

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 can 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 1Tag Name

OPC 4.2 - 22Industrial Automation 2013

OPC DA: Objects as viewed by the OPC client

A client builds its own hierarchy, using the server’s hierarchical view.

Items in the server are defined by the programmer of the PLC

A full-fledged PLC may export some 10’000 items, a client needs only a subset.

A client builds groups, populating them with items it is interested in.

Items of a group are expected to have similar real-time requirements

Groups are not hierarchical, but flat.

OPC 4.2 - 23Industrial Automation 2013

OPC DA: Mapping items to groups

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

Initially, the client browses the server structure to check 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

OPC 4.2 - 24Industrial Automation 2013

OPC DA: Communication Model

4.2.1 OPC CommonOverview: usage and specificationsClients and Servers: configuration

4.2.2 OPC Data AccessObjects, Types and properties Communication model

4.2.3 OPC Alarms and Events SpecificationEventsAlarm ConditionsAutomation Interface

4.2.4 OPC Historical Data SpecificationOverview

OPC 4.2 - 25Industrial Automation 2013

4.2.2 OPC DA: Example of access to a variable

Network

controller program

OPCserver

Reactor_1

MW%1003 MotorSpeed

MW%1004 Temperature

… ….

symbolsload symbol 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

OPC 4.2 - 26Industrial Automation 2013

server

Subscribe

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

OPC 4.2 - 27Industrial Automation 2013

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.

OPC 4.2 - 28Industrial Automation 2013

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 long.

OPC DA Client OPC DA Client

OPC DA Server

OPC 4.2 - 29Industrial Automation 2013

OPC DA: Assessment

1. How does the OPC server know a) where to fetch an item? b) which items belong to which group?

2. What are the DA the read and write operations ?

3. Is communication done by items, by groups or by collection of groups ? Why?

4. Can a change of an OPC variable be notified as an event, or shall the client poll ?

5. What are the implications of the shared memory paradigm for the application developer?

OPC 4.2 - 30Industrial Automation 2013

OPC Alarms and Events

4.2.1 OPC OverviewUsage and specificationsClients and Servers: configuration

4.2.2 OPC Data AccessObjects, Types and properties Communication model

4.2.3 OPC Alarms and Events SpecificationEventsAlarm Conditions

4.2.4 OPC Historical Data SpecificationOverview

OPC 4.2 - 31Industrial Automation 2013

Alarms and Events: 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 for the human operator. An OPC AE server registers these events and makes them available to several clients

Alarms are described as state machines and may require acknowledgement.

The OPC Alarms & Events Interface gives access to the AE server, allowing to:

- browse the OPC AE 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

OPC 4.2 - 32Industrial Automation 2013

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 indicates a state of the process that requires attention and is relevant to the OPC server. An alarm is represented by an alarm condition, which is a state machine determining if the alarm has been enabled, triggered or acknowledged. An alarm rises several events.

An event or an alarm does not transmit process values, but boolean information indicating a change of state, its originator, the time of its occurrence and a message intended 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).

OPC 4.2 - 33Industrial Automation 2013

AE: communication paradigm

OPC AE works according to the “message passing” paradigm, contrarily to OPC DA, that works 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 AE server guarantees that different clients will see all events in the same sequence.

OPC AE Client OPC AE Client

OPC AE Server

12:34 23.114

12:34 32.334

OPC 4.2 - 34Industrial Automation 2013

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 (but remains in the log).

Ackcheckbox

OPC 4.2 - 35Industrial Automation 2013

AE: Events

4.2.1 OPC OverviewUsage and specificationsClients and Servers: configuration

4.2.2 OPC Data AccessObjects, Types and properties Communication model

4.2.3 OPC Alarms and Events SpecificationEventsAlarm Conditions

4.2.4 OPC Historical Data SpecificationOverview

OPC 4.2 - 36Industrial Automation 2013

AE: Events kinds

OPC AE defines three kinds of events:

1. simple: process control system related events (change of a boolean variable)

2. condition-related: notifies a change of an alarm condition (CLEARED, ACKNOWLEDGED), (see later)

3. tracking-related: origin outside of the process (e.g. operator intervention)

OPC 4.2 - 37Industrial Automation 2013

AE: Event- identification

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)

Tank1 Tank2

event

HiLevelCond HiLevelCond

event

event

LoLevelCond LoLevelCond

event

event signal (boolean expression)is an external signal to be used ?(boolean)

signal name for external signal (20 characters)name of the source (30 characters)

message (60 characters)

event name

Function Block

OPC 4.2 - 38Industrial Automation 2013

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

specified communication

COM/DCOM

unspecified communicationnetwork, fieldbus or internal bus

OPC 4.2 - 39Industrial Automation 2013

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 accuracy, down to microseconds

- at the controller, (internal event) using the controller's clock to time-stamp messages giving accuracy not greater than the period of the tasks, about 1 ms.

- at the OPC Server, when an event message arrives (tracking events)not more accurate than DA, about 10 ms)

The OPC server can be configured to register the time stamp at the instant of the event transition (positive or negative) and the instant of the acknowledgement.

OPC 4.2 - 40Industrial Automation 2013

AE: Alarm conditions

4.2.1 OPC CommonOverview: usage and specificationsClients and Servers: configuration

4.2.2 OPC Data AccessObjects, Types and properties Communication model

4.2.3 OPC Alarms and Events SpecificationEventsAlarm Conditions

4.2.4 OPC Historical Data SpecificationOverview

OPC 4.2 - 41Industrial Automation 2013

AE: Alarms - Condition Definition

An (alarm) condition is described in a named state machine

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

OPC 4.2 - 42Industrial Automation 2013

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 state transitions

(here: always enabled)

alarm_signal

InactiveUnacked

An event is generated each time the alarm signal changes state, or is acknowledged

OPC 4.2 - 43Industrial Automation 2013

AE: Alarms - Acknowledgement

An alarm condition becomes active when the PLC produces an alarm signal describing an abnormal state defined by the application (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 use a button or HMI that the PLC reads (field ack)

LevelHigh

controllerAckButton(field ack)

OPC AE Server

time-stamp

AE Clientevent notification

client ack (acknowledger ID)Tank1Level_ConditionEvent

Network, field bus,or internal bus

Alarm Signal

messageCondition

COM / DCOM

OPC 4.2 - 44Industrial Automation 2013

COM / DCOM

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

ackalarmevent

OPC 4.2 - 45Industrial Automation 2013

OPC A&E: Assessment

1. What is the difference between Alarms and Events?

2. Where are Alarms and Events time stamped?

3. How does the “message passing” paradigm influence the OPC client application developer?

OPC 4.2 - 46Industrial Automation 2013

OPC Common Overview

4.2.1 OPC OverviewUsage and specificationsClients and Servers: configuration

4.2.2 OPC Data AccessObjects, Types and properties Communication model

4.2.3 OPC Alarms and Events SpecificationEventsAlarm Conditions

4.2.4 OPC Historical Data SpecificationOverview

OPC 4.2 - 47Industrial Automation 2013

Historian Example

GE Fanuc/Intellution iHistorian (iFix...)

Data collection, archiving and retrievalReport generationComputations (e.g. VBScript)Secure access (FDA 21 CFR 11)20'000 actions/ s, Up to 100'000 data points

Features:Unlimited Point CollectionSub-Second Data Collection Rates Enhanced Data CompressionTrue Thin Client AdministrationFault Tolerant Architecture

Questions to the historian:What was the value of FIC101 last week ?What was the flow average during October ?Which were the daily averages in October ?What was the total flow in each month ?How much fuel did we use for the batch ?

Give the answers in form of tables, pie diagrams, spreadsheet, reports

OPC 4.2 - 48Industrial Automation 2013

HDA: Historical Data Access

Field device

OPC HDA Server

HDA Clients

independent processes

historydatabase

Field device

OPC DA Server proprietarydata acquisition

e.g. Event Loggere.g. Trend Analysis

calculations

collector

raw and ordered data

hidden

OPC 4.2 - 49Industrial Automation 2013

HDA: Purpose

An OPC HDA server gives access to a historical data base (logs) in which data from the process have been collected and time-stamped, possibly through an OPC DA interface.

The OPC HDA interface clients, such as trend analysis, product tracking or data mining,that require ordered access these data logs.

The OPC HDA interface allows to:

- browse the historical data base

- retrieve data through proper filtering, e.g. by date range, by identity, by property

- build aggregates over the retrieved data, such as average, minimum, maximum.

- enter new entries, correct entries or remove entries

- enter / delete annotations in the history data base

OPC 4.2 - 50Industrial Automation 2013

HDA: Raw log

12.3.02 13:40 Gpcpt2ofpbonne 4824

12.3.02 13:40 Cpt2bac 50

12.3.02 13:40 Gpcpt2bac 70

12.3.02 13:40 Gpcptbe2 45

12.3.02 13:41 Gpcpt1bac 151

12.3.02 13:41 Gpcpt1ofpbonne 4826

12.3.02 13:41 Gpcptae2 45

12.3.02 13:41 Cpt1bac 49

12.3.02 13:41 Gpdefr2 64

12.3.02 13:41 Gpvoydef 2

12.3.02 13:41 Gpr3tempscycleprd 318

12.3.02 13:42 Gpstn1e1 16

12.3.02 13:42 Gpalarme1 0

12.3.02 13:42 Gpalarme2 0

12.3.02 13:43 Gpetatmodemarche 2

12.3.02 13:43 Gptpscycle 1346

12.3.02 13:43 Gpetatmodemarche 1

12.3.02 13:43 Gpdefgene1 16

12.3.02 13:43 Gpetatmodemarche 0

12.3.02 13:43 Gptpscycle 317

12.3.02 13:43 Gpdefr2 0

12.3.02 13:43 Gpvoydef 0

12.3.02 13:43 Gpdefgene1 0

12.3.02 13:44 Gpetatmodemarche 1

12.3.02 13:44 Gpr2tempscycleprd 1992

12.3.02 13:44 Gptpscycle 435

12.3.02 13:44 Gpalarme3 1

12.3.02 13:44 Gpalarme4 1

12.3.02 13:44 Gpalarme3 0

12.3.02 13:44 Gpcpt2ofpbonne 4823

Data in the historical database are identified by their

• itemID (here, represented by their name), • value, (of the respective type)• quality (good, stale, bad), and • timestamp (UTC).

By definition, values are registered when they change.(even if data are acquired by periodic polling)

OPC 4.2 - 51Industrial Automation 2013

HDA: How to reduce raw data (even before HDA comes into play)

max

min

exceptiondeviation

time

If the time scale of the log is smaller than that of the trend display in this case, values have to be interpolated to be displayed correctly

Data sent to the OPC DA server on change, collector records data in a circular buffer log

Since storage capacity is limited, data are reduced by:

1. if a variable is received more often than the log's minimal storage interval (e.g. 1s), the log keeps the latest of all values of the interval

2. if (and only if) a received variable changed by more than the "exception deviation" (e.g. 5%, analog values only), it is entered into the log.

3. if a variable changed by less than the exception deviation, it may be forced into the log after the log's maximum storage interval (e.g. 4 s) elapsed.

= process value (event) = log entry

min time max time max time max time

OPC 4.2 - 52Industrial Automation 2013

HDA Application: Trend Display

Parameters:• time scale (with possible offset, zoom, pan)• amplitude scale (low range, high range, scale units)• style: smoothed, stepped, filled (several ways to display the same data)• extrapolate: how to display values not received (e.g. because they did not yet change)

log: how were data sampled

OPC 4.2 - 53Industrial Automation 2013

yesterdayd-2d-3d-4d-5d-6d-7 today

HDA: Hierarchical logs

A hierarchical log is built on the data contained in the parent log.To reduce the log size, several aggregations can be applied:- record only maximum, minimum, average over a period, etc...

Actual data

1 mn_7 days log 6 MB

1s_24 hours log: 50 traces @ 12 B 52 MB

long-term log1 hour_forever 5.2 MB / Year 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

october1 2 3 27 28 29 30

octobreseptember

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

OPC 4.2 - 54Industrial Automation 2013

Toy Examples: Logging Temperature

http://home.hit.no/~hansha/documents/subjects/IA6209/project/IA6209%20Project%20Work%20-%20Weather%20System.pdf

OPC 4.2 - 55Industrial Automation 2013

Real-Life Examples and Exercise

http://www.matrikonopc.com/portal/downloads.aspx?dID=132 and https://www.matrikonopc.com/portal/downloads/case_studies/AESWindGeneration_OPC.pdf

Integration of redundant GE Mark V turbine controllers at a power plantThe controllers were going to tie into the plant’s main DCS, an ABB Advant control system. Process Portal B and MicroSCADA client applications were used to visualize process data from the turbine controllers.

Exercise: Draw schema of system and describe which OPC specifications are used and how.

Wind GenerationAES Wind Generation manages 7 different wind farms across the United States, five of which comprise more than 500 turbines, with a total generating capacity of over 700 MW. There are six different turbine models, from four different manufacturers.

Exercise: Explain which OPC concepts are useful in this context and how they can be applied to support a SCADA system

OPC 4.2 - 56Industrial Automation 2013

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