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.
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
4.1.1 Current Loop
The classical solution for analog values
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
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
Data over 4..20 mA loops
4.1.2 HART
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
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):
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,…
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/
4.1.3 SNMP
(Simple Network Management Protocol for the Internet)
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
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
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 (!)
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
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.
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
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
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
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
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
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
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).
4.1.5 BacNet
The building automation messaging specification
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.
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
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
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)
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
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
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
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
Device Access Protocols 4.1 - 33EPFL - Industrial Automation
BACnet - Analog Input Object Example
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
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
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
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
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
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.
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.
4.1.6 MMS
The Original Manufacturing Messaging Specification (MMS)
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)
Device Access Protocols 4.1 - 43EPFL - Industrial Automation
MMS - Application field
schedule
robot configuration
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)
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
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
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
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:
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)
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
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.
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,…)
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.
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
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
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.
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
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
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....
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
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,…
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
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
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
Device Access Protocols 4.1 - 65EPFL - Industrial Automation