1 / 93

4 Application Layer Protocols

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 (deployment, configuration, change settings)

hargrave
Download Presentation

4 Application Layer Protocols

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EPFL, Spring 2017 4Application Layer Protocols

  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 4..20 mA • HART • SNMP: Simple Network Management Protocol • MMS: Manufacturing Messaging Specification

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

  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. Reminder: Reminder: more info: http://www.hartcomm.org/ http://www.thehartbook.com/default.htm

  5. The Round card http://www.fint.no/ha-i4012.pdf • 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.

  6. HART commands summary

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

  8. SNMP:Simple Network Management Protocol

  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 • Keepingtrackofdevicesettings • 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. SNMP - MIB objects networkeddevice Device contains MIB (managedinformationbase) and an agenttoaccess MIB MIB Agent 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

  11. SNMP – ASN.1 Object example 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

  12. Example SNPM Network

  13. SNMP - Access to Managed Objects User object interface MIB managed information base Manager Agent call (request) call (indication) reply (confirm) reply (response) UDP UDP IP IP ISO 8802-2 Type 1 ISO 8802-2 Type 1 ISO 8802-3(Ethernet) ISO 8802-3(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 .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. 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. Manufacturing Messaging Specification (MMS) Named Variable Named Program Variable List Invocation Domain Types Operator Transaction File Station Journal Semaphore Event Event Condition Enrolment Event schedule robot configuration Action

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

  24. MMS - Communication Stack MMS 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 8802-2 Type 1 Link ISO 8802-3(Ethernet) ISO 8802-4 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: MMS Requester MMS Responder (client) (server) network Request Indication 1) Remote Procedure Call (Call paired with reply, synchronous, unicast) processing Confirmation Response 2) Event Reporting event (spontaneous messages sent by server) Request Indication 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 booleancondition 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 (MMS server) enables/disables event conditions Event Condition Event Enrolment Event Action When? Who? 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 Condition Event Enrolment Event Action booleanvariable 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 robot flow meter cell Virtual Virtual Virtual Device Device Device Application Programming Interface (MMSI = MMS interface) communication presentation stack session transport network link physical

  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. For more information, see: http://lamspeople.epfl.ch/kirrmann/mms/ http://www.nettedautomation.com/qanda/mms/#OPC/MMS

  31. Fill in and extend the table Exercise

  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)

  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

  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 (http://www.opcfoundation.org/)specifying the software interface (objects, methods) to a server that collects data produced by field devices and programmable logic controllers. APIcovered by the OPC standard application (OPC client) servers OPC serverX OPC server (simulator) OPC server Y Ethernet : Field bus PLCs Brand X PLCs Brand Y Sensors/Actors

  37. Before OPC visualization history data base Profinet driver MasterBus MMS driver XWAY driver ABB PLCs Télémécanique PLCs Siemens PLCs

  38. With OPC Operator Historian (Information Manager) application software is written independently from the type of controller Proprietary drivers still exist, clients do notsee them anymore ABBOPC server SiemensOPC server SchneiderOPC server ProfiNet MMS XWAY 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 802.3.

  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 changesthat need to be logged, such as "production start" Alarms are abnormal statesthat 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 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 800xA aspects Internal communication aspects Enterprise Historian Asset Optimizer functions External communication OPC server process data base OPC client External communication ABBOPC server SiemensOPC server SchneiderOPC server

  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 http://wiki.opcfoundation.org/index.php/Main_Page

  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 dataand 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: https://opcfoundation.org/wp-content/uploads/2016/05/OPC-UA-Interoperability-For-Industrie4-and-IoT-EN-v5.pdf

  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 TAG TAG TAG root branch leaf (item) Process Line 1 Controller 1 Level_1 Controller 2 Controller_3.Prog_1 Level_2 fully qualified ItemIDProcess_Line_1.Controller_2.Level_2 Controller_3.Prog_2 Ramp4 Cell 1 Machine 2 Structure is defined during engineering of the attached devices and sensor/actors.

More Related