Presentation is loading. Please wait.

Presentation is loading. Please wait.

4 Application Layer Protocols EPFL, Spring 2016. Industrial Automation | 2016 2 Application layer protocols offering remote services for large networks.

Similar presentations


Presentation on theme: "4 Application Layer Protocols EPFL, Spring 2016. Industrial Automation | 2016 2 Application layer protocols offering remote services for large networks."— Presentation transcript:

1 4 Application Layer Protocols EPFL, Spring 2016

2 Industrial Automation | 2016 2 Application layer protocols offering remote services for large networks of devices: -Monitoring (health of devices and network, get current state) -Management (deployment, configuration, change settings) current loop 4..20 mA HART SNMP: Simple Network Management Protocol MMS: Manufacturing Messaging Specification Device Management Protocols

3 Industrial Automation | 2016 3 Current Loop The classical solution for analogue values Example differential pressure transducer 4..20 mA current loop fluid Reminder:

4 Industrial Automation | 2016 4 4.1.2 HART Data over 4..20 mA loops 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/ Reminder:

5 Industrial Automation | 2016 5 The Round card Standardized printed circuit board -can be mounted in instrument -contains modem, processor, RAM, EPROM… necessary to execute the HART protocol. Why round? Most hydraulic instruments have a round case. http://www.fint.no/ha-i4012.pdf

6 Industrial Automation | 2016 6 HART commands summary Universal CommandsCommon Practice Commands Device-Specific Commands (example) Read manufacturer and device type Read variable and units Read current output and percent of range Read up to four predefined dynamic variables Read/write tag, descriptor, date Read/write 32-character message Read device range values, units, and damping time constant Read or write final assembly number Write polling address Read selection of up to four dynamic 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 variable zero Write variable unit Trim DAC zero and gain Write transfer function (square root/linear) Write sensor serial number Read or write dynamic variable assignments Read or write low-flow cut-off Start, stop, or clear totalizer Read or write density calibration factor Choose variable (mass, flow, or density) Read or write materials or construction information Trim sensor calibration enable PID, write PID setpoint Valve characterization Valve setpoint Travel limits User units Local display information

7 Industrial Automation | 2016 7 Device access modem network adapter 13.329.80.8 field device type manufacturer network adapter devicevolumetric flow rate FlowPro ABB velocity 13.32 m2/s diff. pressure 9.8 Pa density 0.8 kg/l volumetric flow rate cross sectional area: pipe inside diameter 3 cm2 2 cm hand- held device network adaper SCADA 4-20 mA loop for HART

8 Industrial Automation | 2016 8 SNMP:Simple Network Management Protocol

9 Industrial Automation | 2016 9 Simple Network Management Protocol IETF (Internet standard) protocol for device and network management (widely supported, especially by routers, switches, servers, workstations, printers…). Configuration Management  Keeping track of device settings Fault management  Dealing with problems and emergencies (router stops forwarding, server loses power, etc) Performance Management  How smoothly is network running?  Can it handle the current workload?

10 Industrial Automation | 2016 10 SNMP - MIB objects TCP/UDP/IP(171 objects) NT network(90 objects) DHCP(14 objects) WINS(70 objects) Appletalk Nowell IPX DecNet ….. CISCO(proprietary) Mostly parameters, statistics and error counters used for communication Agent MIB networked device Device contains MIB (managed information base) and an agent to access MIB

11 Industrial Automation | 2016 11 tcpMaxConn OBJECT-TYP SYNTAX Integer32 (-1 | 0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The limit on the total number of TCP connections the entity can support. In entities where the maximum number of connections is dynamic, this object should contain the value -1." ::= { tcp 4 } tcpActiveOpens OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that TCP connections have made a direct transition to the SYN-SENT state from the CLOSED state. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime." ::= { tcp 5 } http://net-snmp.sourceforge.net/docs/mibs/TCP-MIB.txt SNMP – ASN.1 Object example

12 Industrial Automation | 2016 12 Example SNPM Network

13 Industrial Automation | 2016 13 SNMP - Access to Managed Objects management messages object interface User managed information base MIB Manager Agent network UDP IP ISO 8802-2 Type 1 ISO 8802-3 (Ethernet) UDP IP ISO 8802-2 Type 1 ISO 8802-3 (Ethernet) call (indication) call (request) reply (confirm) reply (response)

14 Industrial Automation | 2016 14 SNMP - Operations on objects Operations (PDU type): Get(read) Set(write) GetNext(transversal reading) GetBulk(optimized GetNext, v2 and v3) Response(variable bindings and acknowledgement) Trap(asynchronous agent notification, priorities) Since SNMPv1/SNMPv2 do not provide authentication, “Set” commands are normally disabled. Traps are rarely used.

15 Industrial Automation | 2016 15 Example Network and Queries

16 Industrial Automation | 2016 16 ISO defined a world-wide addressing scheme on a hierarchical basis: MIB objects are identified by a concatenation of numerical identifiers quite wasteful, but bearable in LANs SNMP - How are objects identified ?

17 Industrial Automation | 2016 17 SNMP example of identification.1.3.111.3.37.238.9999.1.1.2 ==.iso.org.ieee.standards-association-c-series-standards.std-c37.part238. ieeeC37238TSMib.ieeeC37238Objects.ieeeC37238DefaultDS.ieeeC37238DefaultDSClkIdentity

18 Industrial Automation | 2016 18 SNMP - Assumptions about the underlying communication network - the network is connectionless (datagrams): only UDP is used (no TCP). - manager and agent can send messages to each other spontaneously - all entities must be able to receive and send packets of at least 484 octets - the network supports broadcast Further reading: www.wtcs.org/snmp4tpc/files/reference/francois/snmp.ppt

19 Industrial Automation | 2016 19 Manufacturing Messaging Specification (MMS) Action Program Invocation Named Variable Named Variable List File Types Semaphore Event Enrolment Transaction Domain Operator Station Journal Event Condition Event schedule robot configuration

20 Industrial Automation | 2016 20 Interaction between Operator Workplace and field equipment SCADA (client) (any technology) controller (server) (any technology) represents automation objects, i.e. a collection of PLC 1 variables network (any) manufacturing devices represent pieces of equipment MMS: access all controllers, regardless of the manufacturer, in the same way.

21 Industrial Automation | 2016 21 responsestatusvalue The basic MMS idea: read a variable client (any technology) server network (any) I / O devices requestvariable nameread basic MMS idea: read and write equipment variables using standard messages.

22 Industrial Automation | 2016 22 MMS - Manufacturing Message Specification Developed 1980 for the MAP project (General Motor’s flexible manufacturing initiative) Reputation: heavy, complicated and costly (due to poor implementation) But: Boeing adopted MMS as TOPs (MMS on Ethernet) Adopted by the automobile industry and power distribution Standardized as: [1]ISO/IEC 9506-1: Industrial Automation systems - Manufacturing Message Specification - Part 1: Service Definition (IS 1990) [2] ISO/IEC 9506-2: Industrial Automation systems - Manufacturing Message Specification - Part 2: Protocol Specification (IS 1990)

23 Industrial Automation | 2016 23 device MMS server communication stack MMS - Manufacturing Message Specification network linking device router device request (command) response (reply) MMS client MMS specifies a set of objects an MMS server contains MMS specifies a set of messages which to control an MMS server allow an MMS client communication stack MMS specifies how messages are encoded for transmission Application MMS does not specify the application interface

24 Industrial Automation | 2016 24 MMS - Communication Stack Association Control Service Element, ACSE, ISO 8649/8650, N2526,N2327 ISO 8473 connectionless ISO 8802-3 (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 ("TOP“). (token bus) MMS

25 Industrial Automation | 2016 25 MMS in the fieldbus stack context time-critical process variables time-benign messages Physical Link (Medium Access) Network (connectionless) Transport (connection-oriented) Session Presentation Application (Association) 7 6 Remote Procedure Call 5 4 3 2' 1 time-critical applications (PLC tasks) connectionless real-time traffic (not MMS) connection-oriented medium access implicit (ASN.1)implicit Logical Link Control 2" media common MMS real-time data base MMS is not for real-time communication, but it can access the real-time variables time-benign applications (HMI, download)

26 Industrial Automation | 2016 26 MMS - Basic Communication Principles Remote Procedure Call (Call paired with reply, synchronous, unicast) Event Reporting (spontaneous messages sent by server) 1) 2) Addressing not specified, m essages contain communication reference to identify connection. Usually, clients/servers are addressed by IP address and MMS server uses port number 102. Indication MMS Responder (server) Request Confirmation Response network Indication Request processing event MMS Requester (client) MMS assumes that the communication stack offers two services:

27 Industrial Automation | 2016 27 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 server) enables/disables event conditions event notification and confirmation AlterEventCondition EventNotification AckEventNotification Event Action Event Enrolment Event Condition What?Who? When? DefineEventCondition Events are the most complicated part of MMS

28 Industrial Automation | 2016 28 MMS - Event triggering MMS client MMS Server NETWORK- TRIGGERED plant Event Action Event Enrolment Event Condition TriggerEvent EventNotification events are triggered by a change in a boolean variable in the server (monitored event) or by an MMS client (trigger event) as an invitation procedure cyclic monitoring AckEventNotification boolean variable MONITORED

29 Industrial Automation | 2016 29 VMD: Virtual Manufacturing Device Program Invocation Named Variable Named Variable List File Types Semaphore Event Enrolment Transaction Domain Operator Station Journal Event Condition Event Definition of objects, services, and behavior Only specifies the network-visible aspects (device / application communication) Internal implementation details (programming language, operating system, CPU type, input/output (I/O) systems) not specified by MMS  interoperability Action flow meter robot Application Programming Interface (MMSI = MMS interface) Virtual Device Virtual Device Virtual Device communication stack physical link network transport session presentation cell

30 Industrial Automation | 2016 30 MMS - Importance Used as reference model for industry, not just implementation. High complexity makes it very general, but required bandwidth and computing power were out of reach until few years ago. Part of almost every PLC today. Gave rise to several other "simpler" models (DLMS, BacNet, FMS....) Base of IEC 61850 „Communication networks and systems in substations“ together with TCP/IP/Ethernet. http://lamspeople.epfl.ch/kirrmann/mms/ For more information, see: http://www.nettedautomation.com/qanda/mms/#OPC/MMS

31 Industrial Automation | 2016 31 Assessment What is the purpose of the HART protocol ? Which communication is used between a hand-help and a field device ? Which categories of HART commands do exist ? What distinguishes Hart from SNMP ? What distinguishes SNMP from MMS ? What are the (dis)advantages of MMS ?

32 Industrial Automation | 2016 32 Open Process Control (OPC)

33 Industrial Automation | 2016 33 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 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

34 Industrial Automation | 2016 34 4.2.1 OPC Overview Usage and specifications Clients and Servers: configuration 4.2.2 OPC Data Access Objects, Types and properties Communication model 4.2.3 OPC Alarms and Events Specification Events Alarm Conditions 4.2.4 OPC Historical Data Specification Overview OPC Specifications

35 Industrial Automation | 2016 35 4.2.1 What is OPC ? 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 server X application (OPC client) OPC server (simulator) OPC server Y API covered by the OPC standard servers PLCs Brand X : Field bus Ethernet Sensors/Actors PLCs Brand Y

36 Industrial Automation | 2016 36 Before OPC ABB PLCsTélémécanique PLCsSiemens PLCs MasterBus MMS driver XWAY driver Profinet driver visualization history data base

37 Industrial Automation | 2016 37 With OPC ABB AC800MTélémécanique TSXSiemens S7 ABB OPC server Schneider OPC server Siemens OPC server Operator application software is written independently from the type of controller Historian (Information Manager) MMS XWAY ProfiNet the drivers still exist, but the clients do not see them anymore

38 Industrial Automation | 2016 38 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 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.

39 Industrial Automation | 2016 39 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.

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

41 Industrial Automation | 2016 41 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 logs in the long-term storage, filtered and aggregated (e.g. compute averages, peaks). The main client of OPC HDA are Trend Displays and Historians.

42 Industrial Automation | 2016 42 Beyond Microsoft: OPC UA In a move to get more independence from Microsoft and use web technology: new specification called " Unified Architecture" 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 / WSDL this allows encryption and authentication of process data. OPC UA does not only standardize the interfaces, but also the transmitted data.

43 Industrial Automation | 2016 43 Client and Servers 4.2.1 OPC Overview Usage and specifications Clients and Servers: configuration and communication 4.2.2 OPC Data Access Objects, Types and properties Communication model 4.2.3 OPC Alarms and Events Specification Events Alarm Conditions Automation Interface 4.2.4 OPC Historical Data Specification Overview

44 Industrial Automation | 2016 44 Server(s) and Client(s) in the same node OPC server client application (OPC client) 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 form of objects and methods. devices node

45 Industrial Automation | 2016 45 OPC for internal and external communication 800xA aspects OPC server process data base aspects functions ABB OPC server Schneider OPC server Siemens OPC server OPC client External communication ABB SCADA 800xA as an example Internal communication Enterprise Historian Asset Optimizer External communication

46 Industrial Automation | 2016 46 External communication: accessing a server in another node TCP/IP stub DCOM TCP/IP OPC server DCOM client application (OPC client) Limitation: does not work over firewalls. Solution: Tunneller, OPC UA

47 Industrial Automation | 2016 47 Fieldbus access client application (OPC client) fieldbus (local) OPC server FB Manager fieldbus PLC FB agent fieldbus PLC FB agent proprietary protocol

48 Industrial Automation | 2016 48 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?

49 Industrial Automation | 2016 49 OPC Data Access 4.2.1 OPC Overview Usage and specifications Clients and Servers: configuration 4.2.2 OPC Data Access Objects, Types and properties Communication model 4.2.3 OPC Alarms and Events Specification Events Alarm Conditions Automation Interface 4.2.4 OPC Historical Data Specification Overview

50 Industrial Automation | 2016 50 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 server UTC, 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) QTVDUID

51 Industrial Automation | 2016 51 OPC DA: Objects as viewed by the OPC server Controller 1 Machine 2 Controller 2 Controller_3.Prog_2 Controller_3.Prog_1 Cell 1 branch Structure is defined during engineering of the attached devices and sensor/actors. leaf (item) Level_1 Level_2 Ramp4 TAG fully qualified ItemID "Process_Line_1.Controller_2. Level_2" Process Line 1 root

52 Industrial Automation | 2016 52 OPC DA: Objects as viewed by the OPC client full-fledged PLC may export some 10’000 items client needs only a subset.  client builds flat groups of items with similar real-time requirements GroupXGroupZ Item1Item2Item3Item1Item2...

53 Industrial Automation | 2016 53 OPC DA: Mapping items to groups client registers groups at server. server keeps structure of all its clients. Temperature Heat_On TAG Server root GroupX Level Empty_Valve Fill_Valve TAG Area 1 Area 51 Oven_1 Tank_1 Area 2 GroupZ Client1 Item1Item2Item3Item1Item2 server clients Client2

54 Industrial Automation | 2016 54 OPC DA: Communication Model 4.2.1 OPC Common Overview: usage and specifications Clients and Servers: configuration 4.2.2 OPC Data Access Objects, Types and properties Communication model 4.2.3 OPC Alarms and Events Specification Events Alarm Conditions Automation Interface 4.2.4 OPC Historical Data Specification Overview

55 Industrial Automation | 2016 55 4.2.2 OPC DA: Example of access to a variable Network controller program OPC server Reactor_1 MW%1003MotorSpeed MW%1004Temperature ……. symbols load symbol table ReadItem ("OPC:Reactor1: Program2.MotorSpeed") Get () 192.162.0.2, MW%1003 ) Return ( MW%1003, 112) Reactor_1.Program2 Program 2 code Marker: MW%1003 OPC application

56 Industrial Automation | 2016 56 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() serverclient synchronousasynchronous on change ("subscription-based") Notify

57 Industrial Automation | 2016 57 OPC DA: Write Communication Models (per group) myGroup.SynchWrite() client Call Reply myGroup.AsyncWrite() myGroup_AsyncWriteComplete() server Call Reply serverclient The OPC interface accesses only groups, not individual items.

58 Industrial Automation | 2016 58 OPC DA: communication paradigm shared memory: newer value overwrites the older one  No guarantees - for same snapshots on different clients - changes may be missed depending on polling period OPC DA Client OPC DA Server

59 Industrial Automation | 2016 59 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?

60 Industrial Automation | 2016 60 OPC Alarms and Events 4.2.1 OPC Overview Usage and specifications Clients and Servers: configuration 4.2.2 OPC Data Access Objects, Types and properties Communication model 4.2.3 OPC Alarms and Events Specification Events Alarm Conditions 4.2.4 OPC Historical Data Specification Overview

61 Industrial Automation | 2016 61 e.g. -production start -operator pressed button Alarms and Events: Purpose OPC AE server registers alarms and events and makes them available to clients event: represents change. alarm: state machines, may require acknowledgement. Services offered by OPC AE server browse 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 Alarms and events may not get lost! e.g. -handle low tank level

62 Industrial Automation | 2016 62 AE: communication paradigm message passing: events kept in a queue until all clients have read it (or timed out).  guarantees different clients will see all events in same sequence. OPC AE Client OPC AE Server 12:34 23.114 12:34 32.334

63 Industrial Automation | 2016 63 AE: Displaying Alarms and Events Event list can become long (~ 1000 entries), entries are not cleared when the source of the event returns to normal Alarms list is short (< 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). Ack checkbox

64 Industrial Automation | 2016 64 AE: Events 4.2.1 OPC Overview Usage and specifications Clients and Servers: configuration 4.2.2 OPC Data Access Objects, Types and properties Communication model 4.2.3 OPC Alarms and Events Specification Events Alarm Conditions 4.2.4 OPC Historical Data Specification Overview

65 Industrial Automation | 2016 65 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)

66 Industrial Automation | 2016 66 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) Tank1Tank2 event HiLevelCond event 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

67 Industrial Automation | 2016 67 AE: Events - Notification Level Switch OPC AE Server timestamp AE Client event notification Tank1LevelHigh_SimpleEvent (source, timestamp, message, severity, category) Event FB Controller Plant Tank1 message queue specified communication COM/DCOM unspecified communication network, fieldbus or internal bus

68 Industrial Automation | 2016 68 AE: Events - Time Stamp Events can be time-stamped at - device that produced the data allowing Sequence-Of-Events with a high accuracy, down to microseconds - controller giving accuracy not greater than the period of PLC tasks, about 1 ms. - OPC Server, when event message arrives not more accurate than DA, about 10 ms

69 Industrial Automation | 2016 69 AE: Alarm conditions 4.2.1 OPC Common Overview: usage and specifications Clients and Servers: configuration 4.2.2 OPC Data Access Objects, Types and properties Communication model 4.2.3 OPC Alarms and Events Specification Events Alarm Conditions 4.2.4 OPC Historical Data Specification Overview

70 Industrial Automation | 2016 70 AE: Alarms - Condition Definition Described in a named state machine. 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

71 Industrial Automation | 2016 71 AE: Alarms - Acknowledgement Alarm condition turns active when PLC produces alarm signal for abnormal state. Operator has to acknowledge this condition (client ack) Alternatively, a button at the PLC may be pushed (field ack) LevelHigh controller AckButton (field ack) OPC AE Server time- stamp AE Client event notification client ack (acknowledger ID) Tank1Level_ConditionEvent Network, field bus, or internal bus Alarm Signal message Condition COM / DCOM

72 Industrial Automation | 2016 72 AE: Alarms - Condition states and acknowledgement alarm signal acknowledgement event notification condition state Inactive Acked Active Unacked Active Acked Inactive Acked Active Unacked Inactive Unacked Inactive Acked Enabled Inactive Acked Enabled Active Unacked Enabled Active Acked Enabled Inactive Unacked Ack  alarm_signal  alarm_signal  condition state transitions (here: always enabled) alarm_signal  Inactive Unacked Event is generated each time alarm signal changes state, or is acknowledged by operator Operator

73 Industrial Automation | 2016 73 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 alarm notification (source, timestamp, message, condition, subcondition, severity, type) Event FB controller EventAlarm ackalarm event

74 Industrial Automation | 2016 74 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?

75 Industrial Automation | 2016 75 OPC Common Overview 4.2.1 OPC Overview Usage and specifications Clients and Servers: configuration 4.2.2 OPC Data Access Objects, Types and properties Communication model 4.2.3 OPC Alarms and Events Specification Events Alarm Conditions 4.2.4 OPC Historical Data Specification Overview

76 Industrial Automation | 2016 76 Historian Example GE Fanuc/Intellution iHistorian (iFix...) Data collection, archiving and retrieval Report generation Computations (e.g. VBScript) Secure access (FDA 21 CFR 11) 20'000 actions/ s, Up to 100'000 data points Features: Unlimited Point Collection Sub-Second Data Collection Rates Enhanced Data Compression True Thin Client Administration Fault 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

77 Industrial Automation | 2016 77 HDA: Historical Data Access Field device OPC HDA Server HDA Clients independent processes history database Field device OPC DA Server proprietary data acquisition e.g. Event Loggere.g. Trend Analysis calculations collector raw and ordered data hidden

78 Industrial Automation | 2016 78 HDA: Purpose Server: access to a historical data base (logs) data from process have been collected and time-stamped Clients: require ordered access to data e.g., trend analysis, product tracking or data mining Services - browse 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

79 Industrial Automation | 2016 79 HDA: Raw log 12.3.02 13:40Gpcpt2ofpbonne4824 12.3.02 13:40Cpt2bac50 12.3.02 13:40Gpcpt2bac70 12.3.02 13:40Gpcptbe245 12.3.02 13:41Gpcpt1bac151 12.3.02 13:41Gpcpt1ofpbonne4826 12.3.02 13:41Gpcptae245 12.3.02 13:41Cpt1bac49 12.3.02 13:41Gpdefr264 12.3.02 13:41Gpvoydef2 12.3.02 13:41Gpr3tempscycleprd318 12.3.02 13:42Gpstn1e116 12.3.02 13:42Gpalarme10 12.3.02 13:42Gpalarme20 12.3.02 13:43Gpetatmodemarche 2 12.3.02 13:43Gptpscycle1346 12.3.02 13:43Gpetatmodemarche1 12.3.02 13:43Gpdefgene116 12.3.02 13:43Gpetatmodemarche0 12.3.02 13:43Gptpscycle317 12.3.02 13:43Gpdefr20 12.3.02 13:43Gpvoydef0 12.3.02 13:43Gpdefgene10 12.3.02 13:44Gpetatmodemarche1 12.3.02 13:44Gpr2tempscycleprd1992 12.3.02 13:44Gptpscycle435 12.3.02 13:44Gpalarme31 12.3.02 13:44Gpalarme41 12.3.02 13:44Gpalarme30 12.3.02 13:44Gpcpt2ofpbonne4823 For each item: itemID value quality (good, stale, bad) timestamp (UTC). Registers value changes

80 Industrial Automation | 2016 80 HDA: How to reduce raw data (even before HDA comes into play) max min exception deviation time Data recorded in a circular buffer log Storage capacity is limited  if variable received more often than log's min storage interval (e.g. 1s), log keeps latest  if variable changed by more than "exception deviation" (e.g. 5%, analog values only), it is entered into the log.  if variable changed by less than exception deviation, added to log after max storage interval (e.g. 4 s) elapsed. = process value (event) = log entry min time max time

81 Industrial Automation | 2016 81 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 interpolation

82 Industrial Automation | 2016 82 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 log 1 hour_forever  5.2 MB / Year 12345678910111213141516171819202122232425 october 12327282930 octobre september 123456789101112131415161718192021222324

83 Industrial Automation | 2016 83 Toy Examples: Logging Temperature http://home.hit.no/~hansha/documents/subjects/IA6209/project/IA6209%20Project%20Work%20-%20Weather%20System.pdf

84 Industrial Automation | 2016 84 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 plant The controllers tie into the plant’s main DCS, an ABB Advant control system. Process Portal B and MicroSCADA client applications are used to visualize process data from the turbine controllers. Exercise: Draw schema of system and describe which OPC specifications are used and how. Wind Generation AES 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


Download ppt "4 Application Layer Protocols EPFL, Spring 2016. Industrial Automation | 2016 2 Application layer protocols offering remote services for large networks."

Similar presentations


Ads by Google