4 Application Layer Protocols Device Management Protocols - - PowerPoint PPT Presentation

4 application layer protocols device management protocols
SMART_READER_LITE
LIVE PREVIEW

4 Application Layer Protocols Device Management Protocols - - PowerPoint PPT Presentation

EPFL, Spring 2017 4 Application Layer Protocols Device Management Protocols Application layer protocols offering remote services for large networks of devices: - Monitoring (health of devices and network, get current state) - Management


slide-1
SLIDE 1

EPFL, Spring 2017

4 Application Layer Protocols

slide-2
SLIDE 2

Industrial Automation | 2017 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

slide-3
SLIDE 3

Industrial Automation | 2017 3

Current Loop

The classical solution for analogue values Example differential pressure transducer 4..20 mA current loop fluid Reminder:

slide-4
SLIDE 4

Industrial Automation | 2017 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: Reminder:

slide-5
SLIDE 5

Industrial Automation | 2017 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

slide-6
SLIDE 6

Industrial Automation | 2017 6

HART commands summary

Universal Commands Common 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
slide-7
SLIDE 7

Industrial Automation | 2017 7

Device access

modem network adapter

13.32 9.8 0.8

field device

type manufacturer

network adapter

device volumetric 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

slide-8
SLIDE 8

Industrial Automation | 2017 8

SNMP:Simple Network Management Protocol

slide-9
SLIDE 9

Industrial Automation | 2017 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?

slide-10
SLIDE 10

Industrial Automation | 2017 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

slide-11
SLIDE 11

Industrial Automation | 2017 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

slide-12
SLIDE 12

Industrial Automation | 2017 12

Example SNPM Network

slide-13
SLIDE 13

Industrial Automation | 2017 13

SNMP - Access to Managed Objects

management messages

  • bject 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)

slide-14
SLIDE 14

Industrial Automation | 2017 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.
slide-15
SLIDE 15

Industrial Automation | 2017 15

Example Network and Queries

slide-16
SLIDE 16

Industrial Automation | 2017 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 ?

slide-17
SLIDE 17

Industrial Automation | 2017 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

slide-18
SLIDE 18

Industrial Automation | 2017 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

slide-19
SLIDE 19

Industrial Automation | 2017 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

slide-20
SLIDE 20

Industrial Automation | 2017 20

Interaction between Operator Workplace and field equipment

SCADA (client)

(any technology)

controller (server)

(any technology) represents automation objects, i.e. a collection of PLC1 variables

network

(any)

manufacturing devices

represent pieces of equipment

MMS: access all controllers, regardless of the manufacturer, in the same way.

slide-21
SLIDE 21

Industrial Automation | 2017 21

response status value

The basic MMS idea: read a variable

client

(any technology)

server network

(any)

I / O devices

request variable name read

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

slide-22
SLIDE 22

Industrial Automation | 2017 22

MMS - Manufacturing Message Specification

Developed 1980 for General Motor’s flexible manufacturing initiative Reputation: heavy, complicated and costly (due to poor implementation) But:

  • Boeing adopted 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)

slide-23
SLIDE 23

Industrial Automation | 2017 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

  • f objects an MMS

server contains MMS specifies a set

  • f messages which

to control an MMS server allow an MMS client

communication stack

MMS specifies how messages are encoded for transmission

Application Application MMS does not specify the application interface

slide-24
SLIDE 24

Industrial Automation | 2017 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

slide-25
SLIDE 25

Industrial Automation | 2017 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 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)

slide-26
SLIDE 26

Industrial Automation | 2017 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, messages 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:

slide-27
SLIDE 27

Industrial Automation | 2017 27

MMS - Event services

MMS provides services to:

  • Event Condition (define boolean condition that triggers event and its priority)
  • Event Enrolment (define MMS client(s) to notify when event is triggered)
  • Event Action (define MMS service to be executed when event occurs)

MMS client MMS client

(MMS server)

enables/disables event conditions event notification and confirmation

Event Action Event Enrolment Event Condition

What? Who? When?

Events are the most complicated part of MMS

slide-28
SLIDE 28

Industrial Automation | 2017 28

MMS - Event triggering

MMS client MMS client

MMS Server

NETWORK- TRIGGERED plant

Event Action Event Enrolment Event Condition

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

cyclic monitoring

boolean variable

MONITORED

slide-29
SLIDE 29

Industrial Automation | 2017 29

VMD: Virtual Manufacturing Device

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

flow meter robot Application Programming Interface (MMSI = MMS interface) Virtual Device Virtual Device Virtual Device

communication stack

physical link network transport session presentation cell

slide-30
SLIDE 30

Industrial Automation | 2017 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
  • ut 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

slide-31
SLIDE 31

Industrial Automation | 2017 31

Exercise

Fill in and extend the table Criteria 4-20mA loop HART SNMP MMS Criteria Real time Monitoring Management Event handling

  • Comm. Pattern

Security Application area …

slide-32
SLIDE 32

Industrial Automation | 2017 32

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 ?

slide-33
SLIDE 33

Industrial Automation | 2017 33

Open Process Control (OPC)

slide-34
SLIDE 34

Industrial Automation | 2017 34

Open Process Control: API for Automation

Manufacturer-independent application programming interface (API)

  • 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, acknowledge alarms, retrieve

historical data from data bases according to several criteria

  • Implemented on automation platforms (e.g. ABB Ax800), which may act themselves as OPC

servers 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, each server

can be accessed by several clients in same network

slide-35
SLIDE 35

Industrial Automation | 2017 35

4.2.1 OPC Overview Usage and specifications 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

slide-36
SLIDE 36

Industrial Automation | 2017 36

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

slide-37
SLIDE 37

Industrial Automation | 2017 37

Before OPC

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

MasterBus MMS driver XWAY driver Profinet driver

visualization history data base

slide-38
SLIDE 38

Industrial Automation | 2017 38

With OPC

ABB AC800M Télémécanique TSX Siemens 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

Proprietary drivers still exist, clients do not see them anymore

slide-39
SLIDE 39

Industrial Automation | 2017 39

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.

slide-40
SLIDE 40

Industrial Automation | 2017 40

Specification 1: OPC DA for Data Access

Process variables describe a plant's state, generated by the sensors or calculated in the programmable logic controllers (PLCs).

Process variables sent upon a change, on demand or when given time elapsed. OPC DA (Data Access) specification addresses collecting Process Variables. It provides services for reading and writing Process Variables. Main clients of OPC DA are visualization and (soft-) control.

slide-41
SLIDE 41

Industrial Automation | 2017 41

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 that need to be logged, such as "production start" Alarms are abnormal states that require attention, such as "low oil pressure" OPC AE (Alarms and Events) offers services to specify 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.

slide-42
SLIDE 42

Industrial Automation | 2017 42

Specification 3: HDA for Historical Data Access

Historical Data are process states and events (process variables, operator actions, recorded alarms,...) stored as logs in a long-term storage for later analysis.

OPC HDA (Historical Data Access) offers services to specify how historical data are retrieved, filtered and aggregated (e.g. compute averages, peaks). The main client of OPC HDA are Trend Displays and Historians.

slide-43
SLIDE 43

Industrial Automation | 2017 43

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 form

  • f objects and methods.

devices devices devices devices node

slide-44
SLIDE 44

Industrial Automation | 2017 44

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

slide-45
SLIDE 45

Industrial Automation | 2017 45

OPC UA (IEC 62541)

http://wiki.opcfoundation.org/index.php/Main_Page

OPC UA is a service-oriented communication framework for the exchange of information models, replacing OPC “Classic” which was based on Microsoft DCOM communication. Service provider receives requests, processes them and sends results back. In contrast to classic Web services that describe their services over a WSDL and can thus be different with each service provider, generic services are already defined with OPC-UA

slide-46
SLIDE 46

Industrial Automation | 2017 46

OPC UA Data Model

Specialized models extend the base model by adding functionality like DA, AE, HDA,...

slide-47
SLIDE 47

Industrial Automation | 2017 47

OPC UA Communication

OPC UA does not only standardize the interfaces, but also the transmitted data and enables encryption and authentication of process data. Address space is structured hierarchically for interoperability. Top levels are standardized for servers.

More info: https://opcfoundation.org/wp-content/uploads/2016/05/OPC-UA-Interoperability-For-Industrie4-and-IoT-EN-v5.pdf

Two main protocol bindings available: 1.

  • ptimized TCP-based binary protocol

2. HTTP/HTTPS web service with binary or XML messages Discovery mechanisms:

  • identification of devices and their functions

within a network.

  • aggregation across subnets and intelligent,

configuration-less procedure (e.g. Zeroconf) to identify and address network participants.

slide-48
SLIDE 48

Industrial Automation | 2017 48

Assessment Overview

  • What is the objective of OPC ?
  • What is an OPC Server , what an OPC client ?
  • What do the main OPC specifications describe ?
  • On which technologies does OPC UA rely ?
slide-49
SLIDE 49

Industrial Automation | 2017 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

slide-50
SLIDE 50

Industrial Automation | 2017 50

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 TAG TAG

fully qualified ItemID

Process_Line_1.Controller_2.Level_2

Process Line 1

root

slide-51
SLIDE 51

Industrial Automation | 2017 51

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 time requirements

GroupX GroupZ Item1 Item2 Item3 Item1 Item2

...

slide-52
SLIDE 52

Industrial Automation | 2017 52

OPC DA: Mapping items to groups

  • client registers groups at server.
  • server keeps 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

slide-53
SLIDE 53

Industrial Automation | 2017 53

4.2.2 OPC DA: Example of access to a variable

Network

controller program

OPC server

Reactor_1

MW%1003 MotorSpeed MW%1004 Temperature … ….

symbols load symbol table

ReadItem ("OPC:Reactor1: Program2.MotorSpeed") Get () 192.162.0.2, MW%1003) Return (MW%1003, 112)

Reactor_1.Program2

code

Marker: MW%1003

OPC application

slide-54
SLIDE 54

Industrial Automation | 2017 54

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

  • n change

("subscription-based")

Notify

slide-55
SLIDE 55

Industrial Automation | 2017 55

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.

slide-56
SLIDE 56

Industrial Automation | 2017 56

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 Client OPC DA Server

slide-57
SLIDE 57

Industrial Automation | 2017 57

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?
slide-58
SLIDE 58

Industrial Automation | 2017 58

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

slide-59
SLIDE 59

Industrial Automation | 2017 59

e.g.

  • production start
  • perator 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 must not get lost!

e.g.

  • handle low tank level

Wandida: https://www.youtube.com/watch?v=kP0tW6yqpX4&t=3s

slide-60
SLIDE 60

Industrial Automation | 2017 60

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 Client OPC AE Server

12:34 23.114 12:34 32.334

slide-61
SLIDE 61

Industrial Automation | 2017 61

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 alarm is acknowledged, an alarm line is cleared when alarm signal is cleared (but remains in log).

Ack checkbox

slide-62
SLIDE 62

Industrial Automation | 2017 62

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)

slide-63
SLIDE 63

Industrial Automation | 2017 63

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

slide-64
SLIDE 64

Industrial Automation | 2017 64

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

slide-65
SLIDE 65

Industrial Automation | 2017 65

AE: Events - Time Stamp

Events can be time-stamped at

  • device that produced the data

allowing Sequence-Of-Events with a high accuracy (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

slide-66
SLIDE 66

Industrial Automation | 2017 66

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

slide-67
SLIDE 67

Industrial Automation | 2017 67

AE: Alarms - Acknowledgement

Alarm condition 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,

  • r internal bus

Alarm Signal message Condition COM / DCOM

slide-68
SLIDE 68

Industrial Automation | 2017 68

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 EnabledAct ive Unacked EnabledAct ive Acked Enabled Inactive Unacked

Ack  Ack  alarm_signal  alarm_signal  alarm_signal 

condition state transitions

(here: always enabled)

alarm_signal  Inactive Unacked

Event is generated when alarm signal changes state, or is acknowledged by operator

Operator

slide-69
SLIDE 69

Industrial Automation | 2017 69

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)

Event FB controller Event Alarm

ack alarm event

slide-70
SLIDE 70

Industrial Automation | 2017 70

OPC A&E: Assessment

  • 1. What is the difference between an alarm and an event?
  • 2. Where are alarms and events time stamped?
  • 3. How does the “message passing” paradigm influence the OPC client application developer?
slide-71
SLIDE 71

Industrial Automation | 2017 71

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

slide-72
SLIDE 72

Industrial Automation | 2017 72

Historian Example

GE Fanuc/Intellution iHistorian (iFix...)

Features: Sub-Second Data Collection Rates Compression Data collection, archiving and retrieval Report generation

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

slide-73
SLIDE 73

Industrial Automation | 2017 73

HDA: Historical Data Access

Field device OPC HDA Server HDA Clients

history database

Field device OPC DA Server proprietary data acquisition e.g. Event Logger e.g. Trend Analysis calculations collector raw and

  • rdered data

hidden

slide-74
SLIDE 74

Industrial Automation | 2017 74

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
slide-75
SLIDE 75

Industrial Automation | 2017 75

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 12.3.02 13:42 Gpalarme2 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 12.3.02 13:43 Gptpscycle 317 12.3.02 13:43 Gpdefr2 12.3.02 13:43 Gpvoydef 12.3.02 13:43 Gpdefgene1 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 12.3.02 13:44 Gpcpt2ofpbonne 4823

For each item:

  • itemID
  • value
  • quality (good, stale, bad)
  • timestamp (UTC).

Registers value changes

slide-76
SLIDE 76

Industrial Automation | 2017 76

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

slide-77
SLIDE 77

Industrial Automation | 2017 77

yesterday d-2 d-3 d-4 d-5 d-6 d-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

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

  • ctober

1 2 3 27 28 29 30

  • ctobre

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

slide-78
SLIDE 78

Industrial Automation | 2017 78

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 where 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

slide-79
SLIDE 79

EPFL, Spring 2017

Manufacturing Execution System

slide-80
SLIDE 80

Industrial Automation | 2017 80

Context

Group control Unit control Field Sensors & actors A V Supervisory Primary technology Workflow, order tracking, resources

SCADA = Supervisory Control And Data Acquisition

T Production planning, orders, purchase 1 2 3 4 Planning, Statistics, Finances 5 (manufacturing) execution enterprise administration

Hierarchy Overview

A Manufacturing Execution System (MES)

  • tracks and documents all steps of the transformation of raw materials to finished goods
  • provides information for decision makers to optimize production output.
  • Runs in real time to enable the control of multiple elements of the production process (e.g. inputs,

personnel, machines and support services).

slide-81
SLIDE 81

Industrial Automation | 2017 81

Example Manufacturing Model: Restaurant

waiters cooks waiter dish washer menu recipes fresh food prepared food waste suppliers clients

  • wner

table table table table chef dish washer clients clients clients client controller accounting cashier authorities Processes, actors, ressources, consumables, flows

slide-82
SLIDE 82

Industrial Automation | 2017 82

Components of MES

Supply Chain Management SCM Enterprise Resource Planning ERP Sales & Service Management

Product & Process Engineering

Control

PLC/ Soft Logic Drives, Motors Relays Data Collection Manual Process Control DCS/ OCS

MES: Integrated Production Data, Operations Management Systems, People

Process Management

CAD/CAM Product Data Management

Customer Relationship Management E-Commerce

Automation, Instruments, Equipment Maintenance Management Dispatching

  • Prod. Units

Performance Analysis

Procurement E-Auction Inbound/ Outbound Logistics

Labour Management Product Tracking Scheduling & Planning Quality Management Resource Allocation Document Control

Inventory Management Strategic Sourcing source: MESA White Paper

slide-83
SLIDE 83

Industrial Automation | 2017 83

ISA S95 standard

US standard defining terminology and good practices

  • Delineate business processes from manufacturing processes
  • Identify responsibilities and functions in Business to Manufacturing and Manufacturing to

Manufacturing integration

  • Identify exchanged information in Business to Manufacturing integration
  • Improve integration of manufacturing by defining:

– Common terminology – Consistent set of models

  • Establish common points for the integration of manufacturing systems with other enterprise

systems Part 1: Models and Terminology Part 2: Data Structures and Attributes Part 3: Models of Manufacturing Operations

slide-84
SLIDE 84

Industrial Automation | 2017 84

Manufacturing Element Examples

Store Production Cell Transporter InBox OutBox A palette can carry a product or a lot materials, parts, energy product, waste Palette production

  • rder

(recipe)

Production Cell InBox OutBox Production Cell InBox OutBox

production reports

slide-85
SLIDE 85

Industrial Automation | 2017 85

Example Workflow

Winding Preparation

  • f stator

Impregnation Assembly

  • f rotor

Welding Final Tests

Workflow: path that the product being manufactured takes through several “stations”. Recipe: sequence of operations that takes place at one particular station.

slide-86
SLIDE 86

Industrial Automation | 2017 86

Workflow: Transportation, productivity and inventory waste …

Order Travel

  • 1. Tubes
  • 2. Unprotected

Cores

  • 4. Taping
  • 5. 2ry Winding
slide-87
SLIDE 87

Industrial Automation | 2017 87

… have been vastly eliminated from the factory floor

Taped Cores 2ry Winding Pre-Test Positioning 1ry Winding Protective Taping Taping Buffer Order Travel

slide-88
SLIDE 88

Industrial Automation | 2017 88

Autonomous robots in manufacturing

source: KIVA, Boston

slide-89
SLIDE 89

Industrial Automation | 2017 89

ISA S95: 1. Resource Allocation and Status

Guiding what people, machines, tools, and materials do. Maintain and display status of resources including machines, tools, labour, materials, etc. Details 1. manage resources (machines, tools, labour skills, materials, other equipment, documents, … that must be available for work to start and to be completed, directly associated with control and manufacturing. 2. do local resource reservation to meet production-scheduling objectives. 3. ensure that equipment is properly set up for processing, including any allocation needed for set-up. 4. provide real-time statuses of the resources and a detailed history of resource use.  Similar descriptions for dispatching production, data collection, quality management, process management, product tracking, … See IA_ISA95.pptx for more details.

slide-90
SLIDE 90

Industrial Automation | 2017 90

Performance Analysis

Goal: answer questions of factory owner. What is the number of good / bad pieces produced: by shift X, in week 20 ? (with / without induced downtime) What is the relation to the maximum ? What was the average production speed of a unit compared to the maximum ? How close to the theoretical production capacity is my plant producing ? What are the N major reasons why the unit is not producing at full capacity ? How many stops did the unit suffer from ? What is the availability of my production unit? What is the efficiency of operator M ? of shift S ? What is the progression of the OEE (overall equipment efficiency) on a daily basis ? How does my OEE compares with others ? How much time is spent loading / unloading the machine ?

slide-91
SLIDE 91

Industrial Automation | 2017 91

Conclusion

MES is a business of its own, that require a good knowledge of the manufacturing process and organization skills. Simulation tools are helpful to anticipate the real plant behavior Fits well with buzzwords like “lean manufacturing”, Industrie 4.0, Digitalization

slide-92
SLIDE 92

Industrial Automation | 2017 92

Assessment

What are the parts of the ISA S95 standard ? What is workflow optimization ? Why do manufacturing models exist ? What KPIs are manufacturers interested in ?

slide-93
SLIDE 93

Industrial Automation Automation Industrielle Industrielle Automation