MMS协议

概述

MMS(Manufacturing Message Specification)报文制造规范

应用来源

是运用在IEC61850规范标准站控层和间隔层之间的底层协议

在2015之后,IEC61850标准将其引入电力自动化领域,将其核心ACSI服务直接映射到MMS标准

MMS通过对实际设备进行面向对象建模方法,实现了网络环境下不同制造设备之间的互操作

协议基本定义

每个设备中必须存在一组标准对象(standard objects)

  • 主要对象:VMD(变量,域,日志,文件等都属于VMD范围内)
  • 客户端和服务器站之间有一组用来监视或控制上述对象的一组标准信息
  • 一组用于在传输时将信息映射到位和字节的编码规则

MMS的协议栈

可以依照ISO协议框架类比

ApplicationAssociation Control Service Element (ACSE)- ISO 8649/8650
PresentationConnection Oriented Presentation – ISO 8822/8823 Abstract Syntax Notation (ASN)- ISO 8824/8825
SessionConnection Oriented Session – ISO 8326/8327
TransportConnection Oriented Transport – ISO 8072/8073
NetworkConnectionless network – ISO 8348
LinkMAC – ISO 8802-3 [Ethernet] MAC – ISO 8802-4 [Token Ring]
PhysicalEthernet Token Ring

COTP协议

COTP(ISO 8073/X.224 COTP Connection-Oriented Transport Protocol→面向连接的传输协议

详见我的笔记http://www.giraffexiu.love/index.php/2024/11/21/s7comm%e5%8d%8f%e8%ae%ae/

MMS协议分析

协议分类

  • nitiate-RequestPDU(启动-请求PDU)
  • confirmed-RequestPDU(确认-请求PDU)
  • initiate-ResponsePDU(启动-应答PDU)
  • confirmed-ResponsePDU(确认-应答PDU)

initiate-RequestPDU

根据这个报文进行分析

image-20241121030036838

报文构成:

  • localDetailingCalling:本地详细呼叫(不固定字节大小,但不小于64位,建议大小为512个8位位组)
  • proposedMaxServOutstandingCalling:提出最大服务端呼叫,与confirmed-RequestPDU有关(一起说明)
  • proposedMaxServOutstandingCalled:提出最大服务端被呼叫
  • propodedDataStructureNestingLevel:预先编码的数据结构嵌套级别
  • MMSInitRequestDetail:MMS初始请求详细信息主要,由三部分组成proposedVersionNumber 建议版本号proposedParameterCBB 参数集合或配置项services Supported Calling 支持的服务调用功能

嵌套级别:

image-20241121110201176

结构类型数据形成分层结构时,从外层开始层层嵌套最后嵌套成最简单的数据类型

initiate-ResponsePDU

image-20241121111049502

与initiate-RequestPDU结构相似

initiate-RequestPDU应答:

  • negociatedMaxServoutstandingCalling:议最大服务端呼叫
  • negociatedMaxServoutstandingCalling:议最大服务端被呼叫
  • negociatedDataStructureNestingLevel:相关的数据结构嵌套级别

因为initiate-ResponsePDU的作用就是对initiate-RequestPDU的内容进行应答,所以可以发现initiate-ResponsePDU的三条数据和initiate-RequestPDU的三条数据内容是相对应的

mmsInitResponseDetail:

同样是对前面内容的应答但是内容对应不一致,最后的serviceSupportedCalled存在很多参数→对之前包中内容的回应,传递一个回复服务端呼叫的内容

confirmed-RequestPDU

image-20241121111935218
  • invokeID:调用者ID(数据包唯一标识)
  • confirmedServiceRequest:确认服务请求,后面连接服务内容image-20241121112041888(例如:read,write,getVariableAccessAttributes,getNamedVariableListAttributes,fileOpen,fileRead,fileClose,fileDirectory等)
  • 后面是getNameList内容参数,扩展对象范围等

confirmed-ResponsePDU

基本对应上面一个提问数据的应答,一问一答

confirmed-RequestPDU->confirmed-ResponsePDU,confirmedServiceRequest->confirmedServerResponse
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇