MMS协议说明

参考资料

关于MMS比较全的介绍在ISO9506系列,IEC61850-8-1是一种映射,将MMS协议也划归进IEC61850的大框架中。有时间的话推荐去看原文。

  1. Manufacturing Message Specification(MMS)-Part 1 Service definition ISO International Standard ISO 9506-1, 2003
  2. Manufacturing Message Specification(MMS)-Part 2 Protocol Definition ISO International Standard ISO 9506-2, 2003
  3. IEC 61850-8-1, Communication networks and systems in substations – Part 8-1: Specific communication service mapping (SCSM) – Mappings to MMS (ISO/IEC 9506-1 and ISO/IEC 9506-2) and to ISO/IEC 8802-3
  4. MMS Introduction (nettedautomation.com)
  5. Manufacturing Message Specification – ISO 9506 (MMS) Dipl.-Ing. Karlheinz Schwarz

MMS简介

基本功能

ISO9506共有6个部分,1、2两部分定义了服务和协议,3、4、5、6分别是在机械、数控、PLC和过程控制方面的实现,所以该协议可以用于汽车、电力、航天等领域。

MMS全称是Manufacturing Message Specification,制造报文规范。是一种面向抽象对象的协议,其支持15个类对象和80个操作类对象的服务。常见类的说明如下

  1. Environment and General Management Services 处理网络连接。
  2. VMD Support VMD全称为Virtual Machine Device, 是对现实物理设备的一种映射。
  3. Domain 表示 VMD 中的可加载资源(例如程序)。 个人理解就是一块存储空间,可以存储变量、程序、文件等内容,处理上传下载等任务。
  4. Program Invocation 程序调用,由一个或多个域组成的可运行程序。
  5. Variable 变量,类型化数据的元素(例如整数、浮点数、数组等)。
  6. Named Variable List 已命名的变量列表。
  7. Event 表示事件和动作状态的对象。
  8. Semaphore 信号量,用于控制共享资源访问的对象。
  9. Operator Stations 供操作员使用的“显示器”和“键盘”。
  10. Journals 日志,对事件和变量的记录。
  11. Files 文件。

下表就是全部的对象和服务,表2的前两列包含从1990年开始的MMS版本1的所有MMS对象和服务的列表。第三列到第五列包含有关服务应用领域的声明,服务分为三组:

  1. 远程配置(例如对象的创建、属性的参数化、对象的连接)
  2. 数据采集(采集过程数据和对象及其参数)
  3. 对象的操作(对象属性的修改)

第四列指示 TASE.2 使用哪些对象和服务,第五列指示 UCA CASM 使用的对象和服务(暂时不用管)。

MMS objectMMS service/operation12345
Association
InitiatexX
Reject
ConcludexX
AbortxX
Cancel
VMD
UnsolicitedStatusX
StatusXX
GetNameListXxX
IdentifyXX
RenameX
GetCapabilityListXX
Unnamed Variable
Named Variable
Scattered Access
Named Variable List
Named Type
ReadxxX
WriteXxX
InformationReportXxX
GetVariableAccessAttributesXxX
DefineNamed Variablex
DefineScatteredAccessx
GetScatteredAccessAttributesX
DeleteVariableAccessX
DefineNamed VariableListXxX
GetNamed VariableListAttributesXxX
DeleteNamed VariableListXx
DefineNamedTypeX
GetNamedTypeAttributesX
DeleteNamedTypeX
Operator Station
OutputX
InputX
Semaphore
TakeControlX
RelinquishControlX
DefineSemaphoreX
DeleteSemaphoreX
ReportSemaphoreStatusX
ReportPoolSemaphoreStatusX
ReportSemaphoreEntryStatusX
AttachToSemaphoreX
Domain
InitiateDownloadSequenceX
DownloadSegmentX
TerminateDownloadSequenceX
InitiateUploadSequenceX
UploadSegmentX
TerminateUploadSequenceX
RequestDomainDownloadX
RequestDomainUploadX
LoadDomainContentX
StoreDomainContentX
DeleteDomainX
GetDomainAttributesX
Program Invocation
CreateProgram InvocationX
DeleteProgram InvocationX
StartXx
StopXx
ResumeXx
ResetXx
KillXx
GetProgram InvocationAttributesXx
Event Condition
Event Action
Event Enrollment
DefineEventConditionX
DeleteEventConditionX
GetEventConditionAttributesX
ReportEventConditionStatusX
AlterEventConditionMonitoringX
TriggerEventX
DefineEventActionX
DeleteEventActionX
GetEventActionAttributesX
ReportEventActionStatusX
DefineEventEnrollmentXx
DeleteEventEnrollmentXx
AlterEventEnrollmentX
ReportEventEnrollmentStatusX
GetEventEnrollmentAttributesXx
AcknowledgeEventNotificationX
AttachToEventConditionX
EventNotificationXx
GetAlarmSummaryX
GetAlarmEnrollmentSummaryX
Journal
Journal Entry
ReadJournalXX
WriteJournalXX
InitializeJournalXX
CreateJournalXX
DeleteJournalXX
ReportJournalStatusxX

基本概念

ASN.1是**Abstract Syntax Notation one×(抽象语法标记语言)**的缩写,是以「定义信息的结构」为目的语言,是由ISO和ITU-T规定的一套标准。ASN1的子集有BER,CER,DER,PER,XER,其中MMS采用的是BER规范。官方文档为ISO8824和ISO8825.

下表为ASN1定义的基本数据类型,其他的数据均由基本数据或者基本数据组合而成。

universal code类型含义
0reserved for BER
1Boolean布尔值
2Integer全部整数(包括正数和负数)
3Bitstring比特串
4Octetstring字节串
5Null只包含一个值NULL,用于传送一个报告或者作为CHOICE类型中某些值
6Object identifier一个实体的标识符,它在一个全世界范围树状结构中注册,缩写OID,点分十进制
7Object descriptor可读的对象描述
8External表示层上下文交换类型
9Real实数,表示浮点数
10Enumerated标识符的枚举(实例状态机的状态)
11-15Reserved for future editions of this International Standard
16Sequence and Sequence-of
17Set and Set-of
18-22,25-27Character string允许为字符串协商一个明确的字符表 各种字符串,有NumericString、PrintableString、
VisibleStirng、ISO64String、IA5String、TeletexStirng、T61String、VideotexString、GraphicString、GeneralString、UniversalString、BMPString和UTF8String
23-24Time
28-…Reserved for addenda to this International Standard

默认的组合类型有

类型含义
CHOICE在类型中选择(类似C中的联合)
SEQUENCE由不同类型的值组成一个有序的结构
SET由不同类型的值组成一个无序的结构
SEQUENCE OF由相同类型的值组成一个有序的结构
SET OF由相同类型的值组成一个无序的结构

所有的string类型有

Character TypeTagDescription
BMPString30Basic Multilingual Plane of ISO/IEC/ITU 10646-1
IA5String22International ASCII characters (International Alphabet 5)
GeneralString27all registered graphic and character sets plus SPACE and DELETE
GraphicString25all registered G sets and SPACE
NumericString181, 2, 3, 4, 5, 6, 7, 8, 9, 0, and SPACE
PrintableString19a-z, A-Z, ’ () +,-.?:/= and SPACE
TeletexString20CCITT and T.101 character sets
UniversalString28ISO10646 character set
UTF8String12any character from a recognized alphabet (including ASCII control characters)
VideotexString21CCITT’s T.100 and T.101 character sets
VisibleString26International ASCII printing character sets

报文结构

总体结构

MACIPTCPTPKTCOTPISO-SPASN.1ACSEMMSpdu

ACSE(association control service element)中mms的标志字节为 Hex 020103。

TPKT的TCP端口号为102,跟S7协议相同。

MMSpdu

有14种类型,每种类型底下包含不同的服务,内容较多,详见文件 MMSpdu.gmind, 建议重点关注confirm request类型。

其他

  • MMS是抽象的,不包含应用层的操作(如改变发动机转速)。
  • MMS支持对IEC103的封装,相当于可以制造IEC103的报文,同理其他协议的报文也可以产生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值