Download presentation
Presentation is loading. Please wait.
1
4 Application Layer Protocols
EPFL, Spring 2017 4 Application Layer Protocols Last week, field bus principles and operation, this time what to use fieldbusses for and how…
2
Device Management Protocols
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 mA HART SNMP: Simple Network Management Protocol MMS: Manufacturing Messaging Specification
3
The classical solution for analogue values
Current Loop The classical solution for analogue values Example differential pressure transducer 4..20 mA current loop Reminder: This is the simplest way of reading a variable. Only one variable can be read, but by multiple readers. If there is a circuit problem the current is 0 and can be detected (but not identified where and why). fluid
4
4.1.2 HART Data over mA loops Practically all 4..20mA devices come equipped with HART today About 15 Mio devices are installed worldwide. Reminder: Reminder: Next step up from 4-20mA. As discussed in more detail last time, this protocol enables basic master-slave communication. more info:
5
The Round card Standardized printed circuit board
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. One of the reasons for its success is the round card, a standardized printed circuit board. It can be mounted on almost any instrument, containing the modem, a processor, RAM, EPROM and all the logic and software necessary to execute the HART protocol. It is round because most hydraulic instruments have a round case.
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 Number of commands limited, most of them focus on reading, some prompt the device to change settings or perform a self-test.
7
Device access hand-held field device SCADA network adapter
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 cross sectional area: pipe inside diameter 3 cm2 2 cm hand-held field device SCADA network adaper network adapter modem Apart from the obvious master, the SCADA system, HART handheld devices are often used to check values and parameters in the field. 4-20 mA loop for HART 13.32 9.8 0.8
8
SNMP:Simple Network Management Protocol
IETF (Internet standard) protocol for device and network management (routers, switches, servers, workstations, printers…). prevent down-time discover bottlenecks identify conditions that need an operator’s attention.
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? This includes configuration management (to keep track of device settings), fault management (dealing with problems and emergencies, e.g., when router stops forwarding, server loses power, etc) and performance management (to quantify how smoothly a network is running and how well it handles the current workload).
10
SNMP - MIB objects networked device MIB
Device contains MIB (managed information base) and an agent to access MIB Agent TCP/UDP/IP (171 objects) NT network (90 objects) DHCP (14 objects) WINS (70 objects) Appletalk Nowell IPX DecNet ….. CISCO (proprietary) Each networked device contains a MIB (managed information base). In this MIB there are objects that describe parameters, statistics and state of device (mostly communication related). Mostly parameters, statistics and error counters used for communication
11
SNMP – ASN.1 Object example
tcpMaxConn OBJECT-TYP SYNTAX Integer32 (-1 | ) 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 "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 }
12
Example SNPM Network
13
SNMP - Access to Managed Objects
User object interface MIB managed information base Manager Agent call (indication) (request) reply (confirm) (response) UDP UDP IP IP ISO Type 1 ISO Type 1 ISO (Ethernet) ISO (Ethernet) management messages network
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
Example Network and Queries
16
SNMP - How are objects identified ?
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
17
SNMP example of identification
== .iso.org.ieee.standards-association-c-series-standards.std-c37.part238. ieeeC37238TSMib.ieeeC37238Objects.ieeeC37238DefaultDS.ieeeC37238DefaultDSClkIdentity
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:
19
Manufacturing Messaging Specification (MMS)
schedule Program Invocation Named Variable Variable List File Types Semaphore Event Enrolment Transaction Domain Operator Station Journal Condition robot configuration Action Messaging system for transfer of process data and supervisory control information between networked devices and/or computer applications. MMS is very popular in manufacturing, especially in large plants with numerous conveyor belts, robots, CNC machines, paint shops, logistics. devices download schedules and tasks from production management, with a connection to administration.
20
Interaction between Operator Workplace and field equipment
SCADA (client) (any technology) network (any) controller (server) (any technology) represents automation objects, i.e. a collection of PLC1 variables manufacturing devices represent pieces of equipment Info from field to SCADA, by defining objects which must exist in every conformant device, on which operations can be executed (read write) start a transmission spontaneously MMS: access all controllers, regardless of the manufacturer, in the same way.
21
The basic MMS idea: read a variable
client (any technology) request read variable name response value status network (any) server MMS defines Objects Messages Encoding rules Protocol I / O devices basic MMS idea: read and write equipment variables using standard messages.
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 : Industrial Automation systems – Manufacturing Message Specification - Part 1: Service Definition (IS 1990) [2] ISO/IEC : Industrial Automation systems – Manufacturing Message Specification - Part 2: Protocol Specification (IS 1990) messaging system for transferring process data and supervisory control information between networked devices and/or computer applications.
23
MMS - Manufacturing Message Specification
Application MMS does not specify the application interface MMS specifies a set of messages which to control an MMS server allow an MMS client device device MMS specifies a set of objects an MMS server contains MMS MMS specifies how messages are encoded for transmission MMS client server request (command) response (reply) communication stack communication stack • A set of standard objects which must exist in every conformant device, on which operations can be executed (example: local variables, read and write) or which can start a transmission spontaneously • A set of standard messages exchanged between a manager and an agent station for the purpose of controlling these objects • A set of encoding rules for these messages • A set of rules for exchanging messages between devices (basic protocol) MMS does not specify application-specific operations (e.g. change motor speed). This is covered by application-specific, “companion standards” (e.g. flexible manufacturing, drives, remote meter reading) network linking device router
24
MMS - Communication Stack
Association Control Service Element, ACSE, ISO 8649/8650, N2526,N2327 Application Abstract syntax notation,ISO 8822/8823, 8824/8825 Presentation ISO 8326/8327 Session ISO 8073 Class 4 Transport ISO 8473 connectionless Network ISO Type 1 Link ISO (Ethernet) ISO MAC (token bus) Physical quite heavy… Boeing decided to drop ISO for TCP/IP ("TOP“).
25
MMS in the fieldbus stack context
time-critical applications (PLC tasks) time-benign applications (HMI, download) real-time data base time-benign messages time-critical process variables MMS 7 Application (Association) implicit implicit (ASN.1) 6 Presentation real-time traffic (not MMS) Remote Procedure Call 5 Session connection-oriented 4 Transport (connection-oriented) connectionless 3 Network (connectionless) connectionless 2" Logical Link Control medium access 2' Link (Medium Access) common media 1 Physical MMS is not for real-time communication, but it can access the real-time variables
26
MMS - Basic Communication Principles
MMS assumes that the communication stack offers two services: Indication MMS Responder (server) Request Confirmation Response network processing event MMS Requester (client) 1) Remote Procedure Call (Call paired with reply, synchronous, unicast) 2) Event Reporting (spontaneous messages sent by server) 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.
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 DefineEventCondition EventNotification AlterEventCondition AckEventNotification enables/disables event conditions (MMS server) Event Enrolment Event Condition Event Action Who? When? What? event notification and confirmation Events are the most complicated part of MMS
28
MMS - Event triggering MMS client MMS client TriggerEvent EventNotification AckEventNotification MMS Server NETWORK-TRIGGERED Event Enrolment Event Condition Event Action boolean variable MONITORED cyclic monitoring plant 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
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 Application Programming Interface (MMSI = MMS interface) Virtual Device communication stack physical link network transport session presentation robot flow meter cell For increased interoperability MMS offers A virtual device represents a (complex) piece of equipment With application-specific object models A physical device (PLC) may implement one or more virtual devices
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 „Communication networks and systems in substations“ together with TCP/IP/Ethernet. MMS has been a reference model for industry rather than simply an implementation. Its high complexity makes it very general, but the requested bandwidth and computing power were out of reach until few years ago. It is part of almost every PLC today. It gave rise to several other "simpler" models (DLMS, BacNet, FMS....) It is the base of IEC „Communication networks and systems in substations“, which bases on TCP/IP/Ethernet. For more information, see:
31
Exercise Fill in and extend the table Criteria Real time Monitoring
Management Event handling Comm. Pattern Security Application area … Criteria 4-20mA loop HART SNMP MMS Bandwidth, reliability, cost
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 ?
33
Open Process Control (OPC)
(formerly: "OLE1 for Process Control", now: "Open Process Control") • Learn the advantages of using OPC • Understand the OPC Client/ Server architecture • Review the milestones in the history of OPC • Understand how to create a connection between an OPC Client and OPC Server • Recognize what factors can affect OPC communication • Review the most widely implemented OPC specification: OPC DA
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 Interoperability, different vendors => API for autoamtion
35
OPC Specifications 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
36
4.2.1 What is OPC ? Industry standard set up by the OPC Foundation ( specifying the software interface (objects, methods) to a server that collects data produced by field devices and programmable logic controllers. API covered by the OPC standard application (OPC client) servers OPC server X OPC server (simulator) OPC server Y Ethernet : Field bus Manufacturer-independent application programming interface (API - implement clients accessing 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 A&E, and retrieve historical data Implemented on automation platforms (e.g. ABB Ax800 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 PLCs Brand X PLCs Brand Y Sensors/Actors
37
Before OPC visualization history data base ABB PLCs Télémécanique PLCs
MasterBus MMS driver Profinet driver XWAY driver ABB PLCs Télémécanique PLCs Siemens PLCs
38
(Information Manager)
With OPC Operator Historian (Information Manager) application software is written independently from the type of controller Proprietary drivers still exist, clients do not see them anymore ABB OPC server Schneider OPC server Siemens OPC server MMS XWAY ProfiNet ABB AC800M Télémécanique TSX Siemens S7
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
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.
41
Specification 2: OPC AE for Alarms and Events
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. 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
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.
43
Server(s) and Client(s) in the same node
client application (OPC client) client application (OPC client) OPC server OPC server OPC server devices devices devices devices Clients and servers run as parallel processes The OPC specification defines the interface between client and server in the form of objects and methods.
44
OPC for internal and external communication
ABB SCADA 800xA as an example Enterprise Historian Asset Optimizer External communication 800xA Internal communication aspects aspects functions OPC server process data base ABB OPC server Schneider OPC server Siemens OPC server OPC client External communication
45
OPC UA (IEC 62541) 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
46
OPC UA Data Model Specialized models extend the base model by adding functionality like DA, AE, HDA,...
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. Two main protocol bindings available: optimized TCP-based binary protocol 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. More info:
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 ?
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
OPC DA: Objects as viewed by the OPC server
root branch leaf (item) Level_1 Level_2 Ramp4 TAG fully qualified ItemID Process_Line_1.Controller_2.Level_2 Process Line 1 Controller 1 Controller 2 Controller_3.Prog_1 Controller_3.Prog_2 Cell 1 Machine 2 - An OPC server is structured as a directory with root, branches and leaves (items) Branches can contain other branches (flat possible) 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" Structure is defined during engineering of the attached devices and sensor/actors.
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 full-fledged PLC may export some 10’000 items client needs only a subset. 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. GroupX GroupZ ... Item1 Item2 Item3 Item1 Item2
52
OPC DA: Mapping items to groups
clients client registers groups at server. server keeps structure of all its clients. Client1 Client2 GroupX GroupZ Item1 Item2 Item3 Item1 Item2 Server root server Area 1 Oven_1 TAG Temperature 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. TAG Heat_On Tank_1 TAG Level Area 2 TAG Empty_Valve TAG Fill_Valve Area 51
53
4.2.2 OPC DA: Example of access to a variable
OPC application controller program Reactor_1.Program2 MW%1003 MotorSpeed MW%1004 Temperature … …. load symbol table symbols ReadItem ("OPC:Reactor1: Program2.MotorSpeed") OPC server code Get () , MW%1003) Return (MW%1003, 112) Network Program 2 The OPC server loads the symbol table of deployed programs. When an OPC client app wants to access a process variable, the OPC server can map it to a call understandable by the PLC. Reactor_1 Marker: MW%1003
54
OPC DA: Read Communication Models (per group)
synchronous asynchronous client server client server Call Call myGroup.SynchRead() myGroup.AsyncRead() Reply Reply myGroup_AsyncReadComplete() client server Subscribe myGroup.IsSubscribed on change ("subscription-based") The OPC interface accesses only groups, not individual items. Notify myGroup_DataChange() Notify myGroup_DataChange()
55
OPC DA: Write Communication Models (per group)
client server client server Call Call myGroup.SynchWrite() myGroup.AsyncWrite() Reply Reply myGroup_AsyncWriteComplete() The OPC interface accesses only groups, not individual items.
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 works according to the “shared memory” paradigm. This means that a newer value overwrites the older one, no queues or history are kept. server does not guarantee that different clients see the same snapshot of the plant. server does not guarantee that all changes to variables are registered, changes may be missed if the polling period is too long. OPC DA Server
57
OPC DA: Assessment How does the OPC server know a) where to fetch an item? b) which items belong to which group? What are the DA the read and write operations ? Is communication done by items, by groups or by collection of groups ? Why? Can a change of an OPC variable be notified as an event, or shall the client poll ? What are the implications of the shared memory paradigm for the application developer? a) Loads symbol table from PLC b) it keeps a record of each client and its groups Read: sync, async, on change Write: sync, async Client asks for groups (can define what belongs to them by itself), server depends on proprietary protocol Can be done event-based, depends on application Developer must no rely on assumption of consistent snapshot of plant
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
59
Alarms and Events: Purpose
e.g. production start operator pressed button 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 e.g. handle low tank level 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 Alarms and events must not get lost! Wandida:
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 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 Server 12: 12:
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 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).
62
AE: Events kinds OPC AE defines three kinds of events:
simple: process control system related events (change of a boolean variable) condition-related: notifies a change of an alarm condition (CLEARED, ACKNOWLEDGED), (see later) tracking-related: origin outside of the process (e.g. operator intervention)
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) HiLevelCond HiLevelCond Function Block event event LoLevelCond LoLevelCond event name event event Tank1 Tank2 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)
64
AE: Events - Notification
Tank1LevelHigh_SimpleEvent (source, timestamp, message, severity, category) AE Client specified communication COM/DCOM OPC AE Server queue unspecified communication network, fieldbus or internal bus event notification message Controller timestamp Event FB Tank1 Plant Level Switch
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 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)
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) Condition Acknowledgement signal (a positive transition of a boolean variable) Condition state 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 Enable (positive transition) Disable (positive transition)
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) event notification Tank1Level_ConditionEvent AE Client client ack (acknowledger ID) COM / DCOM OPC AE Server Network, field bus, or internal bus message Condition 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) time- stamp LevelHigh controller AckButton (field ack) Alarm Signal
68
AE: Alarms - Condition states and acknowledgement
event notification alarm signal acknowledgement Operator Inactive Acked Active Unacked Active Acked Inactive Acked Active Unacked Inactive Unacked Inactive Unacked Inactive Acked condition state alarm_signal condition state transitions (here: always enabled) Enabled Inactive Acked alarm_signal EnabledActive Unacked EnabledActive Acked Ack Ack alarm_signal Enabled Inactive Unacked alarm_signal Event is generated when alarm signal changes state, or is acknowledged by operator
69
AE: Summary alarms and events
AE Client AE Client OPC AE Server OPC AE Server event notification (source, timestamp, message) alarm notification (source, timestamp, message, condition, subcondition, severity, type) message Condition timestamp Event FB message controller controller event alarm ack
70
OPC A&E: Assessment What is the difference between an alarm and an event? Where are alarms and events time stamped? How does the “message passing” paradigm influence the OPC client application developer? E: state change, A state machine for abnormal states, can trigger event notifications Depends, accuracy varies Ensures the same sequence of events is seen by all clients
71
Usage and specifications Clients and Servers: configuration
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
72
Historian Example GE Fanuc/Intellution iHistorian (iFix...)
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 Features: Sub-Second Data Collection Rates Compression Data collection, archiving and retrieval Report generation
73
HDA: Historical Data Access
HDA Clients e.g. Trend Analysis e.g. Event Logger OPC HDA Server hidden calculations history database raw and ordered data collector OPC DA Server proprietary data acquisition Field device Field device
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 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
75
HDA: Raw log Registers value changes For each item: itemID value
:40 Gpcpt2ofpbonne 4824 Registers value changes :40 Cpt2bac 50 :40 Gpcpt2bac 70 :40 Gpcptbe2 45 :41 Gpcpt1bac 151 :41 Gpcpt1ofpbonne 4826 For each item: itemID value quality (good, stale, bad) timestamp (UTC). :41 Gpcptae2 45 :41 Cpt1bac 49 :41 Gpdefr2 64 :41 Gpvoydef 2 :41 Gpr3tempscycleprd 318 :42 Gpstn1e1 16 :42 Gpalarme1 :42 Gpalarme2 :43 Gpetatmodemarche 2 :43 Gptpscycle 1346 :43 Gpetatmodemarche 1 :43 Gpdefgene1 16 :43 Gpetatmodemarche :43 Gptpscycle 317 :43 Gpdefr2 By definition, values are registered when they change. (even if data are acquired by periodic polling) 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). :43 Gpvoydef :43 Gpdefgene1 :44 Gpetatmodemarche 1 :44 Gpr2tempscycleprd 1992 :44 Gptpscycle 435 :44 Gpalarme3 1 :44 Gpalarme4 1 :44 Gpalarme3 :44 Gpcpt2ofpbonne 4823
76
HDA Application: Trend Display
interpolation 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
77
HDA: Hierarchical logs
long-term log 1 hour_forever 5.2 MB / Year 1 2 3 27 28 29 30 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 september octobre october 1 mn_7 days log 6 MB yesterday d-2 d-3 d-4 d-5 d-6 d-7 today 1s_24 hours log: 50 12 B 52 MB 23 24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 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
78
Real-Life Examples and Exercise
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 and
79
Manufacturing Execution System
EPFL, Spring 2017 Manufacturing Execution System
80
Context 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). 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 Overview Hierarchy
81
Example Manufacturing Model: Restaurant
Processes, actors, ressources, consumables, flows authorities accounting controller recipes menu table clients clients cashier owner clients table clients client table cooks dish washer waiters chef dish washer waiter table suppliers fresh food prepared food waste
82
Components of MES Product & Process Engineering Control
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
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
84
Manufacturing Element Examples
InBox Production Cell OutBox A palette can carry a product or a lot production order (recipe) materials, parts, energy product, waste Transporter Palette Production Cell InBox OutBox Store InBox Production Cell OutBox production reports
85
Example Workflow Preparation of stator Winding Welding Impregnation Assembly of rotor Final Tests Workflow: path that the product being manufactured takes through several “stations”. Recipe: sequence of operations that takes place at one particular station.
86
Workflow: Transportation, productivity and inventory waste …
Order Travel 1. Tubes 2. Unprotected Cores 3. Protection 4. Taping 5. 2ry Winding 6. Short Circuit Test 7. Pre-Test 8. Protective Taping 9. Positioning 10. Buffer 11. 1ry Winding 12. Taping 13. Buffer
87
… have been vastly eliminated from the factory floor
Order Travel Positioning 1ry Winding Pre-Test Taping Protective Taping 2ry Winding Buffer Taped Cores
88
Autonomous robots in manufacturing
source: KIVA, Boston
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 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. do local resource reservation to meet production-scheduling objectives. ensure that equipment is properly set up for processing, including any allocation needed for set-up. 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.
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 ?
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
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 ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.