+ All Categories
Home > Documents > Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Date post: 24-Jan-2016
Category:
Upload: halle
View: 32 times
Download: 0 times
Share this document with a friend
Description:
Industrial Automation Automation Industrielle Industrielle Automation. Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle. HART, SNMP, TNM, BacNet, MMS. 4. 4.1. Prof. Dr. H. Kirrmann. ABB Research Center, Baden, Switzerland. Contents. - PowerPoint PPT Presentation
65
Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle HART, SNMP, TNM, BacNet, MMS Prof. Dr. H. Kirrmann ABB Research Center, Baden, Switzerland Industrial Automation Automation Industrielle Industrielle Automation 4.1 4.
Transcript
Page 1: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Management ProtocolsProtocoles de gestion des appareils

Gerätezugangsprotokolle

HART, SNMP, TNM, BacNet, MMS

Prof. Dr. H. KirrmannABB Research Center, Baden, Switzerland

Industrial AutomationAutomation IndustrielleIndustrielle Automation

4.1

4.

Page 2: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 2EPFL - Industrial Automation

Contents

4.1.1 current loop 4..20 mA

4.1.2 HART

4.1.3 SNMP: Simple Network Management Protocol

4.1.4 Train Network Management

4.1.5 BACnet

4.1.6 Manufacturing Messaging Specification

This part treats device remote access in order of increasing complexity

Page 3: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

4.1.1 Current Loop

The classical solution for analog values

Page 4: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 4EPFL - Industrial Automation

Field device: example differential pressure transducer

The device transmits its value by means of a current loop

4..20 mA current loop

fluid

Page 5: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 5EPFL - Industrial Automation

4-20 mA loop - the conventional, analog standard (recall)

The transducer limits the current to a value between 4 mA and 20 mA, proportional to the measured value, while 0 mA signals an error (wire break) The voltage drop along the cable and the number of readers induces no error.

The 4-20 mA is the most common analog transmission standard in industry

Simple devices are powered directly by the residual current (4mA) allowing to transmit signal and power through a single pair of wires.

transducer reader1

reader2

reader3

i(t) = 0, 4..20 mA

R1 R2 R3

sensor

i(t) = f(v)

voltagesource10V..24V

RL4 conductor resistance

RL2 RL3 RL4RL1

v

Page 6: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Data over 4..20 mA loops

4.1.2 HART

Page 7: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 7EPFL - Industrial Automation

HART - Principle

HART (Highway Addressable Remote Transducer) was developed by Fisher-Rosemount to retrofit 4-to-20mA current loop transducers with digital data communication.

HART modulates the 4-20mA current with a low-level frequency-shift-keyed (FSK) sine-wave signal, without affecting the average analogue signal.

HART uses low frequencies (1200Hz and 2200 Hz) to deal with poor cabling, its rate is 1200 Bd - but sufficient.

HART uses Bell 202 modem technology, ADSL technology was not available in 1989, at the time HART was designed

Page 8: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 8EPFL - Industrial Automation

HART - Protocol

Hart communicates point-to-point, under the control of a master, e.g. a hand-held device

preamble start address command bytecount [status] data data checksum

1 1..55..20(xFF)

1 1[2]

(slave response)0..25

(recommended)1

Master

Indication

Slave

Request

Confirmation

Response

time-out

command

response

Hart frame format (character-oriented):

Page 9: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 9EPFL - Industrial Automation

HART - Commands

Universal commands (mandatory):identification,primary measured variable and unit (floating point format)loop current value (%) = same info as current loopread current and up to four predefined process variableswrite short polling addresssensor serial numberinstrument manufacturer, model, tag, serial number, descriptor, range limits, …

Common practice (optional)time constants, range,EEPROM control, diagnostics,…

total 44 standard commands

Transducer-specific (user-defined)calibration data,trimming,…

Page 10: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 10EPFL - Industrial Automation

HART - Importance

Practically all 4..20mA devices come equipped with HART today

About 40 Mio devices are sold per year.

more info:

http://www.thehartbook.com/default.asp

http://www.hartcomm.org/

Page 11: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

4.1.3 SNMP

(Simple Network Management Protocol for the Internet)

Page 12: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 12EPFL - Industrial Automation

SNMP (Simple Network Management Protocol) - Principle

Oldest protocol for management of computer networks

SNMPAgent Protocol

Machine

router

MIB

NetworkManagement

Station

MIB

router, bridge,firewall,…routing & translation tablesrouter

MIB

domain name server: directories

NetworkManagement

Station

simple node: addresses, protocols, performance

Page 13: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 13EPFL - Industrial Automation

SNMP - Access to Managed Objects

call(indication)

call(request)

management messages

object interface manager interface

User

managed informationbase

reply(confirm)

reply(response)

User agent interface

MIBManager Agent

internet

UDPIP

ISO 8802-2 Type 1ISO 8802-3(Ethernet)

TokenRing

ATM

UDPIP

ISO 8802-2 Type 1ISO 8802-3(Ethernet)

TokenRing

ATM

Page 14: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 14EPFL - Industrial Automation

SNMP - Assumptions about the underlying communication network

- the network is connectionless (datagrams): only UDP is used (no TCP).

- manager and agent can send spontaneously messages to each other

- all entities must be able to receive and send packets of at least 484 octets

- the network must be able of broadcasting (!)

Page 15: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 15EPFL - Industrial Automation

SNMP - Which are the MIB objects ?

TCP/UDP/IP (171 objects)NT network (90 objects)DHCP (14 objects)WINS (70 objects)AppletalkNowellIPXDecNet…..CISCO (proprietary)

The objects are mostly parameters, statistics and error counters used exclusively forthe communication itself

Page 16: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 16EPFL - Industrial Automation

SNMP - Operations on objects

There are only five operations:Get (read)GetNext (transversal reading)GetResponse (retrieve response)Set (alter)Trap (asynchronous agent notification)

Since SNMP does not provide authentication, “Set” commands are normally disabled,

Traps are seldom used.

Page 17: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 17EPFL - Industrial Automation

SNMP - How are objects identified ?

ISO defined a world-wide addressing scheme on a hierarchical basis:

MIB objects are identified by a concatenation of identifiers

(e.g. 1.3. 6.1.4.1.9.3.3.1 = atInput)

quite wasteful, but bearable in LANs

Page 18: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 18EPFL - Industrial Automation

SNMP - Importance

SNMP (SNMP 2) is the keystone for data network management of the Internet

It is restricted to the manipulation of communication components.

It introduced the concepts of MIB (Managed Information Data base) and universally addressable objects

Page 19: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 19EPFL - Industrial Automation

4.1.4 Train Network Management - Principle

The TNM (Train Network Management) was developed in 1995 for the Train Communication Network (TCN), an on-board network characterized by modest speed (1,0 resp. 1.5 Mbit/s) and specific operations (e.g. autonumbering of vehicles).

It allows to control not only the communication stack, the routers and the gateways,but also application variables, downloading and start/stop of processes, …

Device

powerair condition passenger info light brakesdoor

slide door

Made by Westinghouse

Model Crank2000

Serial Number W23.11.129.43.4

Software 970602.122

vehicle equipment

MVB = vehicle bus

Status closed

Openings 1554

maintenance tool

Page 20: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 20EPFL - Industrial Automation

Transmission of network management data takes place interleaved with transmission of time-critical variables

Network Management defines a set of services for:

development, testing and conformance testing

commissioning: configuration, downloading, routing and marshalling

operation: error and performance monitoring

network

agent

manager

SPY

agent

managed objects

maintenance: evaluation of error reports, access to equipment information•

agent

engineeringworkstation

PLCs

simple devices

agent agent agent

TNM - Services

Page 21: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 21EPFL - Industrial Automation

TNM - Summary of managed objects

WTB linkobjects

topography

status

control

domainobjects

task 1

taskobjects

task 2

task 3

task 4

variableobjects

clockobject

stationobjects

release

messengerobjects

status

devices

bus administrator

domain

MVB linkobjects

status

GroupDirectory

control

downloadforce

reservation

inventory

status

unforceupload

control

set_upreserve

bindingsattach verify_domain

equipmentobjects

domainFunctionDirectory

StationDirectory

All objects have read or write services, and special services such as:

Bindings

journalobject

stopstart

NodeDirectory

communication management

databases and tasks

remoteaccesstovariables

log fordebugging

Page 22: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 22EPFL - Industrial Automation

TNM - Communication

Manager

Indication

Agent

Request

Confirmation

Response

All communication is by Remote Procedure Calls (paired Call from Manager with Reply from Agent)

A management session is initiated by the manager writing to the reservation object,(a lock which reserves the device for this manager until freed or timed out).

Domain download has a special state machine at Manager and Agent since it writes into flash memory (segment after segment).

time-out

call

reply

there are no events, i.e. no spontaneous calls from Agent to Manager

Page 23: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 23EPFL - Industrial Automation

TNM - Importance

TNM is limited to the TCN, it is the base for vehicle diagnostics and remote monitoringover the Internet.

It is an optimised, minimal set of services, which cannot be extended outside of TCN.

It has strongly been influenced by MMS (see later).

Page 24: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

4.1.5 BacNet

The building automation messaging specification

Page 25: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 25EPFL - Industrial Automation

BACnet - Building Automation & Control Network

BACnet is a standard for information interchange in building automation issued byASHRAE (American Society of Heating, Refrigerating and Air-Conditioning Engineers)

It is a lightweight version of MMS intended for simple devices, and intended to be the soleinformation exchange protocol of these devices with other devices.

BACnet is not a network in itself, it is a message interchange convention which makes useof existing networks such as LON, Ethernet, …

Its origin is in now-extinct building automation busses (M/S) and Echelon’s LonWorks. Ethernet and TCP/IP came later.

It does not cover EIB (a popular building automation bus), but EIB adapters exist.

Page 26: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 26EPFL - Industrial Automation

BACnet - Network concept

airconditioncontrol

roomcontroller

direct wiring

gateway &local control

intrusionaccess

gateway & local control

EIB LON centralized

BACnetclients

logging

router

LON decentralized

housekeeperand

tenantbackbone (e.g. Ethernet)

BACnetservers

BACnetservers

BACnetserver

BACnetserver

BACnetserver

BACnetservers

BACnetservers

Page 27: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 27EPFL - Industrial Automation

BACnet - Stack

BACnet Application Layer

BACnet Network Layer

ISO 8802-2 Type 1MS/TP PTP

RS 485 RS 232

ISO 8802-3(Ethernet)

Arcnet

Physical

“Link”

“Network”

“Application”

BVLCI

UDP

IP

any network

LonTalk

BACnet duplicates much of the (possible) functionality of the communication stack. For instance, it has its own message segmenting protocol and operates with datagrams(connectionless).

new (Appendix J)obsolete

Page 28: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 28EPFL - Industrial Automation

BACnet - Requirements to the communication system

Devices should be able to communicate directly with peer devices on their network;

Devices should be able to do local broadcasts, received by all peer devices on their network (for unconfirmed services);

Devices should be able to send remote broadcasts to devices residing on networks with different network numbers;

Devices should be able to do global broadcasting.

These requirements are difficult to fulfil on TCP/IP, but a proposal for UDP/IP exists,

by way of a special device, the BACnet Broadcast Management Device" (BBMD)

Page 29: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 29EPFL - Industrial Automation

BACnet - Object model

Device Object(one per device)

10-bit type 22-bit object instance

32-bit BACnet Object Identifier: unique and valid throughout an installation

Object

Object

Object

Object

Within a device, an object is identified by its 32-bit object identifier. Objects are identified in the whole network by the concatenation of their device objectidentifier and their own object identifier (64 bits).Properties of an object are identified by a 32-bit BACnetPropertyIdentifier

property0property1property..

Object

Page 30: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 30EPFL - Industrial Automation

0 Analog Input Sensor input1 Analog Output actor input2 Analog Value analog parameter3 Binary Input switch4 Binary Output relay5 Binary Value Binary parameter6 Calendar Event scheduling by date7 Command generic command8 Device describes and controls the device9 Event Enrolment events and alarm declaration10 File data file11 Group device grouping12 Loop control loop13 Multi-state Input device with multiple states14 Multi-state Output status of devics with multiple states15 Notification Class list of devices to be notified of event and alarm16 Program start, stop, status of program17 Schedule weekly event scheduling18 Averaging minimum, maximum and average value19 Multistate Value multiple status value20 Trendlog logging of properties for a set criteria

BACnet - 21 Object types

Application-specific

Events

Page 31: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 31EPFL - Industrial Automation

BACnet - Simple object: Analog input object

A/Dconverter

lim Alarm

Present_Value

Units

Update interval

From the plant

(main properties)

Max_Pres_Value

Min_Pres_Value

lim Alarm

ddt

ChangeOfValue

Alarms&Events

Page 32: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 32EPFL - Industrial Automation

BACnet - Example of simple object: Analog input object properties

Object_IdentifierObject_NameObject_TypePresent_ValueDescriptionDevice_TypeStatus_FlagsEvent_StateReliabilityOut_Of_ServiceUpdate_IntervalUnitsMin_Pres_ValueMax_Pres_ValueResolutionCOV_IncrementTime_DelayNotification_ClassHigh_LimitLow_LimitDeadbandLimit_EnableEvent_EnableAcked_transitionsNotify_Type

BACnetObjectIdentifierCharacterStringBACnetObjectTypeREALCharacterStringCharacterStringBACnetStatusFlagsBACnetEventStateBACnetReliabilityBOOLEANUnsignedBACnetEngineeringUnitsREALREALREALREALUnsignedUnsignedREALREALREALBAcnetLimitEnableBACnetEventTransitionBitsBacnetEventTransitionBitsBACnetNotifyType

Property Identifier Property Data Type Code

RRRR1

OORROROROOOO2

O3

O3

O3

O3

O3

O3

O3

O3

O3

1: writable if Out_of_service=true 2: mandatory if COV_reporting 3: mandatory if intrinsic reporting

Conformance

10 bit object type + 22 bit object instance corresponding visible stringhere: ANALOG_INPUTactual valueuser defineddescription of sensor (not device), e.g. “TC103”{IN_ALARM, FAULT, OVERIDDEN, OUT_OF_SERVICE}

{NO_FAULT, NO_SENSOR, OVER_RANGE,…}

in 10 ms incrementssquare meters (0), square feet (1), milliamperes (2)(?!)range of the present value

a change by more than this value causes an event(optional) notification class to which this object is tied

exceeding these limits triggers an event

Page 33: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 33EPFL - Industrial Automation

BACnet - Analog Input Object Example

Page 34: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 34EPFL - Industrial Automation

BACnet - Complex Object: Loop object (PID controller)

Ki

Kp

Kd

d

lim

ddt

AOSetpoint

PID

Present_Value

Manipulated_Var_Ref

Present_Value

Controlled_Var_Ref

Integral_Constant

Proportional_Constant

Derivative_Constant

Plant AI

Analog Output Object

Analog Input Object

Loop Object

Max/Min_Output

Analog Value Object

Setpoint_Ref

Setpoint

manipulated variable

controlled variable

Page 35: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 35EPFL - Industrial Automation

BACnet - Complex object: loop object properties

Object_IdentifierObject_NameObject_TypePresent_ValueDescriptionStatus_FlagsEvent_StateReliabilityOut_Of_ServiceUpdate_IntervalOutput_UnitsManipulated_Var_Ref.Controlled_Var_Ref.Controlled_Var_ValueControlled_Var_UnitsSetpoint_RefSetpointActionProportional_ConstantProportional_Const_UnitsIntegral_ConstantIntegral_Const_UnitsDerivative_ConstantDerivative_Const_UnitsBiasMaximum_OutputMinimum_OutputPriority_For_WritingCOV_IncrementTime_DelayNotification_ClassError_LimitEvent_EnableAcked_transitionsNotify_Type

BACnetObjectIdentifierCharacterStringBACnetObjectTypeREALCharacterStringBACnetStatusFlagsBACnetEventStateBACnetReliabilityBOOLEANUnsignedBACnetEngineeringUnitsBACnetObjectPropertyReferenceBACnetObjectPropertyReferenceREALBACnetEngineeringUnitsBACnetSetpointRefenceREALBACnetActionREALBACnetEngineeringUnitsREALBACnetEngineeringUnitsREALBACnetEngineeringUnitsREALREALREALUnsignedREALUnsignedUnsignedREALBACnetEventTransitionBitsBACnetEventTransitionBitsBACnetNotifyType

Property Identifier Property Data Type CCRRRRORRORORRRRRRRRO1

O1

O2

O2

O3

O3

OOORO4

O5

O5

O5

O5

O5

O5

Conformance10 bit object type + 22 bit object instance corresponding visible stringhere: LOOPactual valueuser defineddescription of sensor (not device)

references to the three analog objects associated with the loop

{direct, reverse}

PID controller parameters

Page 36: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 36EPFL - Industrial Automation

Events are change of value of any object in a device (including the device object)There are three kinds of event:

1) change-of-value (COV) event: a client subscribes with a server to a certain event

2) intrinsic events: changes to configuration

3) algorithmic events: calculations based on values according to a formula

BACnet - Events

Page 37: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 37EPFL - Industrial Automation

Object_IdentifierObject_NameObject_TypeDescriptionEvent_TypeNotify_TypeEvent_ParametersObject_Property_ReferenceEvent_stateEvent_EnableAcked_TransitionNotification_ClassRecipientProcess_IdentifierPriorityIssue_Conformed Notifications

BACnetObjectIdentifierCharacterStringBACnetObjectTypeCharacterStringBACnetEventTypeBACnetNotifyTypeBACnetEventParameterBACnetObjectPropertyReferenceBacnetEventStateBACnetEventTransitionBitsBacnetEventTransitionBitsunsignedBACnetRecipientUnsignedUnsignedBOOLEAN

Property Identifier Property Data Type CC

RRRORRRRRRRO1

O2

O2

O2

O2

1: only if Notification Object used 2: only if Notification Object not used

Meaning

10 bit object type + 22 bit object instance corresponding visible stringhere: ANALOG_OUTPUTuser definedalgorithm, see next slidealam, event, ack-notificationsee next slideunique property identifier{normal, fault, offnormal, high_limit, low_limit,..}ONE OF (to-offnormal, to_fault, to_normal)ONE OF (to-offnormal, to_fault, to_normal)pointer to notification objectdevice OR addresshandle within notified recipientpriority

this object is present in the event server (the one which takes the initiative)the BACnet client has no corresponding object

BACnet - Event Enrolment

Page 38: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 38EPFL - Industrial Automation

BACnet - Event_Type, Event_States and Parameters

CHANGE_OF_BITSTRING

CHANGE_OF_STATE

CHANGE_OF_VALUE

COMMAND_FAILURE

FLOATING_LIMIT

OUT_OF_RANGE

NORMALOFFNORMAL

NORMALOFFNORMAL

NORMALOFFNORMAL

NORMALOFFNORMAL

NORMALHIGH_LIMITLOW_LIMIT

NORMALHIGH_LIMITLOW_LIMIT

Time_DelayBitmaskList_Of_Bitstring_Values

Time_Delay,List_Of_Values

Time_DelayBitmaskReferenced_Property_Increment

Time_DelayFeedback_Property_Reference

Time_DelaySetpoint_ReferenceLow_Diff_LimitHi_Diff_LimitDeadband

Time_DelayLow_LimitHi_LimitDeadband

Event Type Event State Parameters

seconds to wait before triggerrelevant bits in bitstringseveral bitstrings

secondsreaching one of these states triggers

secondseither bit mask (BITSTRING) orvalue change (REAL) which triggers

secondsBACnetObjectPropertyReference

secondsSetpoint_ReferenceREALREALREAL

secondsREALREALREAL

Meaning

Page 39: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 39EPFL - Industrial Automation

BACnet - Notification Object

Object_Identifier

Object_Name

Object_Type

Description

Notification_Class

Priority

Ack_Required

Recipient_List

BACnetObjectIdentifier

CharacterString

BACnetObjectType

CharacterString

Unsigned

BACnetARRAY[3] of Unsigned

BACnetEventTransitionBits

List of BACnetDestination

Property Identifier Property Data Type CC

R

R

R

O

R

R

R

R

Meaning

10 bit object type + 22 bit object instance

corresponding visible string

here: NOTIFICATION CLASS

user defined

reference given to event-generating object

List of destinations, with for each the address

of the recipient along with its entry point,

the time window during which the event is

relevant, and whether an acknowledgement is

required to clear the event.

Page 40: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 40EPFL - Industrial Automation

BACnet - Importance

BACnet is slowly becoming an established standard in building automation.

It is supported by most firms in the building automation business.

Although it started as an “MMS”-light, it has acquired in the years about the samecomplexity as its model.

Page 41: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

4.1.6 MMS

The Original Manufacturing Messaging Specification (MMS)

Page 42: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 42EPFL - Industrial Automation

MMS - Manufacturing Message Specification

Developed 1980 (!) for the MAP project (General Motor’s flexible manufacturing initiative)

Originally unluckily tied to the OSI communication stack and Token Bus (IEEE 802.4)

Reputed for being heavy, complicated and costly due to poor implementations.

Boeing adopted MMS as TOPs (MMS on Ethernet), a wise step.

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)

Page 43: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 43EPFL - Industrial Automation

MMS - Application field

schedule

robot configuration

Page 44: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 44EPFL - Industrial Automation

MMS - Concept

• A set of standard messages exchanged between a manager and an agent stationfor 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)

• A set of standard objects which must exist in every conformant device, on whichoperations can be executed (example: local variables, read and write) or whichcan start spontaneously a transmission

MMS (Manufacturing Message Specifications) defines:

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)

Page 45: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 45EPFL - Industrial Automation

MMS - Distributed Control System mode of operation

1) Polling: a) the bus scans periodically the variables and actualises the local databasesb) the Operator Workstation polls cyclically the variables it is interested in

2) Events:a) the Controllers signal predefined events and broadcasts the corresponding valuesb) the Operator Workstation defines the relevant events and their destination(s)

MMS client process database(cache)

MMS Clients

MMS Servers

MMS server process database

Page 46: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 46EPFL - Industrial Automation

MMS - Example: External view of a PLC device

programs

domains(download / upload memory)

PLC

variables

namedvariables

unnamedvariables

OperatorStation

events

file storeFiles

Journal

events& alarms

only if mass storage available

keep track ofdebugging

Human-MachineInterface

program variables

memory locations and markers

state machines for alarms and events

Page 47: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 47EPFL - Industrial Automation

device(e.g. PC)

MMSserver

communicationstack

MMS - Manufacturing Message Specification

network(example)

request

(command)

response

(reply)

linkingdevice

router

procedure call interface

device(e.g. SCADA)

remote

MMS specifies a set of objects which

MMSclient

an MMS server isexpected to contain

MMS specifies a set of messages which

to control an MMS server

allow an MMS client

communicationstack

Page 48: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 48EPFL - Industrial Automation

MMS - Basic Communication Principles

Indication

MMS Responder(server)

Request

Confirmation Response

Remote Procedure Call(Call paired with Reply,synchronous, unicast)

network

Indication

Event Reporting(spontaneous messages sentby server) Request

processing

event

1)

2)

MMS does not specify how to address clients and servers. Messages contain only a communication reference (number which identifies the connection) obtained by unspecified means.

MMS Requester(client)

MMS assumes that the communication stack offers two services:

Page 49: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 49EPFL - Industrial Automation

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, is called "TOP".

(token bus)

Page 50: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 50EPFL - Industrial Automation

MMS - Concept of Virtual Manufacturing Device

A virtual device represents a piece of equipment

physical

link

network

transport

session

presentation

Virtual Device

Virtual Device

Virtual Device

A physical device may support one or more virtual devices in parallel

flowmetervalveviscometer

communication

stack

MMS messagesApplication Programming Interface

(MMSI = MMS interface)

e.g.

ACSE

connectionestablishment

Page 51: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 51EPFL - Industrial Automation

MMS - Virtual Manufacturing Device (VMD)

ProgramInvocation

NamedVariable Named

Variable List

File

Types

Semaphore

EventEnrolment

Transaction

Domain

OperatorStation

Journal

EventCondition

EventAction

. The device itself isa VMD object

Represents a resource(e.g. a program) withinthe VMD.

A runnable program consistingof one or more domains.

An element of typed data (e.g.integer, floating point, array, etc.)

A description ofthe format of avariable's data.

A list of variablesnamed as a list.

An object used tocontrol access to ashared resource.

A display andkeyboard for useby an operator.

An object thatrepresents thestate of an event.

Represents the actiontaken when an eventcondition changes state.

Which network application tonotify when an event conditionchanges state.

A time basedrecord of eventsand variables.

A file in afile store orfileserver.

Represents an individual MMSservice request. Not a

named object.

Page 52: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 52EPFL - Industrial Automation

MMS - 84 Services on the objects

Domain ManagementVMD

Support

Environmentand General Management

File Management

Operator Communication Journal

Management

Event Management

Semaphore Management

Variable Access

MMS Services

1. Creation - Deletion2. Read (Get, Report)3. Modify (Alter)4. Invoke (for domains)5. Operate (Start, Stop,…)

Page 53: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 53EPFL - Industrial Automation

MMS - Variables

Unnamed Variables

Named Variables

Scattered Access

Named Variable List

Named Type

Variable Access Objects

mapping between MMS and real variableVADR

VNAM

Through the “Variables” service, a client can read and write local variables in a remote device.

Variables are identified by the address of the device and either a local address or a name. Variables can be read or written as individual variables (not very efficient) or as lists.In the latter case, a variables list object on the remote device is used. Consistency can be ensured by scattered access.

The type of the variable (Real, Unsigned,….) defines its data representation, it is stored ina Named Type object.

Page 54: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 54EPFL - Industrial Automation

MMS - Types

MMS defines the following simple variable types: BOOLEANBIT STRINGBOOLEAN ARRAYINTEGERUNSIGNEDFLOATING POINT (IEEE 754)REAL (8824)OCTET STRINGVISIBLE STRINGGENERALIZED TIMEBINARY TIMEBCDOBJECT IDENTIFIERArrayStructures

Page 55: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 55EPFL - Industrial Automation

MMS - Variable Access Services

Read read a remote variableWrite write a remote variableInformationReport(optional) spontaneous send the value to a client

DefineNamedVariable assigns named variable to an unnamed & type

GetVariableAccessAttributesDefineScatteredAccessGetScatteredAccessAttributesDeleteVariableAccess

DefineNamedVariableList defines lists of variablesGetNamedVariableListAttributesDeleteNamedVariableList

DefineNamedType defines the typesGetNamedTypeAttributesdeleteNamedType

Page 56: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 56EPFL - Industrial Automation

MMS - Domains

Domains are named memory regions, for the purpose of downloadingand uploading large unstructured variables such as program code.

Domain loading / uploading requires a special protocol because it can involve theMMS driver itself or even the communication stack.

Page 57: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 57EPFL - Industrial Automation

MMS - Event services

MMS provides services to:- Event Condition (define the boolean condition that triggers an event and its priority)- Event Enrolment (define the MMS client(s) to notify when an event is triggered)- Event Action (define the MMS confirmed service to be executed when the event occurs)

MMS client MMS client

VMD(MMS server)enables/disables

event conditions

event notification and confirmation

AlterEventCondition EventN

otifica

tion

AckEve

ntNotifi

catio

n

EventAction

EventEnrolment

EventCondition

What?Who? When?

DefineEventCondition

Events are the most complicated part of MMS

Page 58: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 58EPFL - Industrial Automation

MMS - Event triggering

MMS client MMS client

VMD

NETWORK-TRIGGERED

plant

EventAction

EventEnrolment

EventCondition

TriggerEvent

EventN

otifica

tion

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

cyclic monitoring

AckEve

ntNotifi

catio

n

booleanvariable

MONITORED

Page 59: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 59EPFL - Industrial Automation

MMS - Primitives

MMS Requester

Indication

MMS Responder

Request

ConfirmationResponse

M_Associate_Req(MMS_responder_address, calling_application_reference,called_application_reference, communication_parameters, authentication,..

(Receiving MMS-user)(Requesting MMS-user)

M_Associate_Ind(MMS_responder_address, calling_application_reference,called_application_reference, communication_parameters, authentication,..

shorter form to describe parameters....

Page 60: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 60EPFL - Industrial Automation

MMS - Importance

MMS is becoming (after 12 years of existence) a reference model for industryrather than an actual implementation.

It gave rise to several other "simpler" models (DLMS, BacNet, ....)

It is the base of the Utility Communication Architecture (UCA), an EPRI-sponsoredstandardisation of data exchange between control centers.

http://litwww.epfl.ch/MMS/mms_main.htm

http://www.epri.com/uca/iccp.html

For more information, see:

Its high complexity makes it very general, but difficult to implement

Page 61: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 61EPFL - Industrial Automation

MMS - Users

Renault, FIAT, British Aerospace, Bull, Computervision, Dassault Systèmes, IBM, Matra Datavision,Silicomp,Fraunhofer Institute, Daimler-Benz.

Esprit Projects: CNMA (1996), CIMOSA,…

Page 62: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 62EPFL - Industrial Automation

MMS does not define the meaning of the exchanged information.For this, companion standards exist, such as:

IEC/ISO 9506-5 Industrial automation systems - Manufacturing message specification - Part 3: Companion Standard for Robots (1992)Part 4: Companion Standard for Numeric Control (1993)Part 5: Companion Standard for Programmable Controllers (1997)Part 6: Companion Standard for Process Control (1994)

One standard which emerged in direct line from MMS is the IEC 61850„Communication networks and systems in substations“

IEC 61850 defines an MMS implementation based on Ethernet, and elaborates on the object model.

It is currently being developed at ABB, Siemens and Alstom for substation automation.

4.1.7 MMS companion standards

Page 63: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 63EPFL - Industrial Automation

Key Attribute: PointNameAttribute: PointType (REAL, STATE, DISCRETE)

Constraint PointType=REALAttribute: PointRealValue

Constraint PointType=STATEAttribute:PointStateValue

Constraint PointType=DISCRETEAttribute: PointDiscreteValue

Attribute: QualityClass: (QUALITY, NOQUALITY)

Constraint: QualityClass = QUALITYAttribute: Validity (VALID, HELD, SUSPECT, NOTVALID)

Attribute: CurrentSource (TELEMETERED, CALCULATED, ENTERED, ESTIMATED)

Attribute: NormalSource (TELEMETERED, CALCULATED, ENTERED, ESTIMATED)Attribute: NormalValue (NORMAL,ABNORMAL)Attribute: TimeStampClass: (TIMESTAMP, NOTIMESTAMP)

Constraint: TimeStampClass = TIMESTAMPAttribute: TimeStamp

Attribute: TimeStampQuality: (VALID, INVALID)Attribute: COVClass: (COV, NOCOV)

Constraint: COVClass = COVAttribute: COVCounter

IEC 61850 - Example of Object Description

Page 64: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 64EPFL - Industrial Automation

Although MMS itself had little success, the concepts behind MMS have inspired numerous other standards.

Industrial Communication protocols require a comfortable bandwidth and a certain processing power at the servers, which is incompatible with low-cost, decentralized periphery, but fully in line with the concept “Ethernet in the factory floor”.

While HART, NIST and TCN are able to connect relatively simple devices, the same is not true for MMS and its derivatives.

The MMS concept is being challenged by OPC/COM/DCOM and by Web Services,but these protocols address a lower level in the communication stack.

Conclusion

Page 65: Device Management Protocols Protocoles de gestion des appareils Gerätezugangsprotokolle

Device Access Protocols 4.1 - 65EPFL - Industrial Automation


Recommended