




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
几种常见的上位机通信协议及设置方法
目录
??上位机通讯协议有哪几种.......................................................2
1.1.Modbus..........................................................................................................................2
1.1.1.Modbus是什么.......................................................2
??Modbus协议解析......................................................3
????Modbus实现..........................................................5
????笔记..................................................................6
????警告..................................................................7
????基于IP的Modbus实现..............................................7
1.2.Profibus.........................................................................................................................7
1.2.1.Profibus-DP简介.....................................................7
??Profibus-DP物理层....................................................8
????智能电测表采用Profibus协议通讯.....................................9
????Profibus-DP协议通讯的仪表型号.......................................9
1.3.OPC(OLEforProcessControl)...................................................................................10
1.3.1.OPC是什么?.......................................................10
????OPC月艮务过程........................................................12
1.4.MQTT(MessageQueuingTelemetryTransport).......................................................13
1.4.1.概念、应用场景.....................................................13
????协议原理............................................................13
??????相关概念............................................................14
??????协议中的方法.......................................................15
??????mqtt数据包结构.....................................................15
??????任务建立主流程.....................................................98
??????Qcbud_IoT_Client结构体.............................................98
??????OT_MQTT_Construct()........................................................................................99
??????IOT_MQTT_Subscribe()....................................................................................108
??
??IOT_MQTT_Yieid。........................................................Ill
????IOT_MQTT_PuolisO->qctoud_iot_mqtt_pubHshQ........................................113
1.5.Ethernet/IP.................................................................................................................113
1.6.CAN(ControllerAreaNetwork).................................................................................114
第1页共123页
1.6.1,控制器局域网总线..................................................114
????CAN总线工作原理:................................................115
??????CAN总线物理层:..................................................115
??????CAN总线数据链路层:.............................................118
??????CAN总线延时分析:................................................120
2.上位机定义与功能...........................................................121
3.上位机通讯协议怎么设置....................................................123
上位机通讯协议有哪几种
上位机通信协议可以根据不同的应用场景和需求选择。以下是几种常见的
上位机通信协议:
1.1.Modbus
1.1.1.Modbus是什么
Modbus是一种串行通信协议,广泛应用于工业自动化领域。它定义了上位
机和下位机之间的通信方式,包括数据传输格式、通信命令等。Modbus协议支
持多种物理层,如串口(ModbusRTU)、以太网(ModbusTCP)等。
基本上,Modbus是一种用于设备之间通信的应用层协议主要用于交换自
动化领域的典型数据。
在这个级别上,Modbus是一种无状态的客户端-服务器协议(例如,很像
HTTP),基于事务,它由请求(由客户端发出)和响应(由服务器发出)组成。在通
常应用该协议的领域中,存在一个概念,即使用共享信号电缆的网络上控制较
低级别通信行为的可能模式之一:主从。为了防止混淆,以下有向关系根据客
户端•服务器范式描述了主从:
第2页共123页
Master
主站对应—>客广端
Slave
从站对应-->服务端
画翻Modbus协议解析
无状态通信基于一个简单的包,称为协议数据单元(PDU)o协议规范定义
了三种类型的PDU:
请求PDU,包括:
指定功能的代码(功能代码,1字节)
和功能特定数据(功能数据,可变字节数)
响应PDU,包括:
请求对应的功能码(FunctionCode,1字节)
和响应特定数据(响应数据,可变字节数)
异常响应PDU,包括:
请求对应的功能码+0x80(128),(错误码,1字节)
以及指定异常的代码(异常代码,1字节)
FuncbonFunction
CodeData
PDU(Request)
FunctionResponse
CodeData
PDU(Response)
ErrorException
CodeCode
PDU(ExceptionResponse)
通潮Modbus功能
每个功能都分配了一个特定的功能代码。它们的范围是1-127(十进制),因
为129(即1+128)-255(即为7+128)代表错误代码的范围。
功能码是协议的一部分,功能码就分为以下三类,一个是协议里规定好的
功能,用户也可以白定义功能
Public
保证是唯一的,并指定公开记录的明确定义的功能。这些由社区验证并且
存在一致性测试。
第3页共123页
读离散输入
读写线圈
读输入寄存器
读写保持寄存器
User-Defined
可用于用户定义的函数,因此它们的代码可能不是唯一的。该规范为用户
定义的函数定义了代码范围65-72和100-110o
保留
这些目前被一些公司用于遗留产品,不能公开使用
函数的文档包括:
函数的描述(即它的用途)、它的参数和返回值(包括可能的异常)。
分配的功能代码
请求PDU
响应PDU
异常响应PDU
画翻Modbus数据模型
Modbus的功能就是基于这些数据模型实现的
离散输入
•类型
一位
•使用权
只读
•视觉的
离散输出(线圈)
•类型
一位
•使用权
读写
•视觉的
第4页共123页
lai
输入寄存器
•类型
16位字
•使用权
只读
•视觉的
保持寄存器(Register〕
•类型
16位字
•使用权
读写
•视觉的
II»18
国翻Modbus实现
画翩串行Modbus实现
Modbus以异步串行网络通信的实现形式开始了它的生命。应用层协议直
接在串行接口和串行通信标准之上运行。最常见的(通过电线)是:
RS232(EIA232):
参见RS232@维基百科
RS422:
请参阅EIA422@维基百科
RS485:
参见EIA485@维基百科**
RS232用「短距离点对点通信,EIA422同样适用,它是RS232在工业环境
下的双向扩展,也支持更远的距离。
EIA485可用于多点通信(即多个设备连接到同一条信号电缆),采用主从模
式(一个主站和n个固定地址从站)。
第5页共123页
图4显示了可能的网络设置。
为了启用此设置的实际通信,该实现使用附加字段扩展了PDU,更好的说
法是,它将PDU包装到一个带有标头和错误校验和的包中(参见图5)。结果包
由协议规范定义为应用程序数据单元(ADU),其最大包大小为256字节。
Error
HeaderPOU
Check
ADU(senal)
画翻笔记
256字节的最大包大小限制适用于所有现有的Modbus协议实现(传统)!
头部由地址字段(1个字节)组成,尾部是整个包的错误校验和,包括地址字
段(即头部)。为了传输,Modbus消息(即ADU)被放入一个具有已知开始和结
束点的帧中,从而允许检测消息的开始和结束,从而检测部分消息。存在两种
传输模式,它们的编码、成帧和校验和有所不同:
通潮ASCII码
帧被编码为每个字节两个ASCH字符,代表字节的十六进制表示法(即字符
0-9、A-F)。错误校验和由纵向冗余校验(LRC;1字节)表示,消息以冒号
0x3A)开头,以回车符-换行符(“CRLF”,0x0D0A)结束。字符之间可能会出现1秒
的停顿。
画:翻RTU
帧以二进制传输以实现更高的密度。错误校验和由循环冗余校验(16位
CRC:2字节)表示,消息以至少3.5个字符时间的静默间隔开始和结束。这最
容易实现为网络上正在使用的波特率的字符时间的倍数。两个字节之间可能发
生的最大暂停为1.5个字符时间。
jamod旨在支持两种传输模式,使用基于mAPI的实现。
第6页共123页
倒翻警告
RTU实现仅支持Master端。它按照最大努力原则工作,这意味着它可能
无法在低延迟实时环境中以可靠的方式工作。
确实可以实现基于其他串行堆栈实现(即JavaCorr.mAPI实现的替代品)的
串行传输,例如SerialPortl:/products/se...).根据产品信息,
它支持大约20个平台,并已成功用于在Java中实现两种串行传输模式(仅限
Master,参见FieldTalk/Java,FocusEngineering的商业Master协设包)。
国!翻基于IP的Modbus实现
基于TCP/IP的Modbus协议实现(Modbus/TCP)最近已作为RFC草
案提交给lETFo它使用TCP/IP堆栈进行通信(注册端口为502)并使用IP特
定报头扩展PDU(参见图6)o
可能的网络设置不受规范的约束;可以建立多主系统或实现双向通信(即同
时有主从节点)。但是,用户应该清楚地意识到主/从模式的偏差会产生影响。
M8APFunctionFunction
HeaderCodeData
ADU(TCP)
IP特定报头(在规范中称为MBAP)长7个字节,由以下字段组成:
用于交易配对的调用标识(2个字节);以前称为交易标识符
Modbus的协议标识符(2个字节),是0用于Modbus默认;为将来的扩展保
留
报文长度(2个字节),所有后面字节的字节计数
用于标识位于非TCP/IP网络上的远程单元的单元标识符(1个字节)
1.2.Profibus
1.2.1.Profibus-DP简介
Profibus是一种工业领域常用的通信协议,用于实现上位机和下位机之间的
数据交换。它支持多种通宿介质,如RS-485、光纤等,
Profibus是唯•集成H1(过程)和H2(工厂自动化)的现场总线解决方案,
是一种国际化的、开放的现场总线标准,它也是国际标准IEC61158中8种现
场总线之一。Profibus可以将数字自动化设备从低级(传感器/执行器)到中间级
执行级(单元级)分散开来。根据应用特点和用户不同的需要,Profibus提供了
第7页共123页
3种兼容版本通信协议:FMS、PA和DPo
Profibus-DP用于自动化系统中单元级控制设备与分布式I/O的通讯。
Profibus-DP使用第1层、第2层和用户接口层、第3〜7层未使用,这
种精简的结构确保了高速数据传输。直接数据链路映像程序DDLM提供对第2
层的访问。用户接口规定了设备的应用功能、Profibus・DP系统和设备的行为特
性。Profibus-DP特别适合于PLC与现场分级式I/O设备之间的通讯。主站之
间的通讯为令牌方式,主站与从站之间为主从方式,以及这两种方式的混合。
㈣翻Profibus-DP物理层
传输介质:PROFIBUS-DP传输技术采用的是RS485传输,其传输介质可以
选择型式A和型式B两种导线,A为屏蔽双绞线,B为普通双绞线。但在
EN50170标准中规定为型式A导线,型式A比型式B有较大的扩展长度,
见表1。
表I:LineALineB说明
电缆参数A里B型
特征阻抗(Q)135-165Q100730a
(f=3MHz〜20MHz)(f>100kHz)
单位长度的电容<30pF/m<60pF/m
(PF/m)
回路电阻(Q/km)WUOC/km-
线芯截面枳(mm2)M34mm2(22AWG)20.22mnu二2勃屣为
传输距离:标准Profibus-DP支持以下传输速率:(单位:kbps)9.6、19.2、
31.25、45.45、93.75、187.5、500、1500、3000、6000、12000。每个DP从
站的输入数据和输出数据最大为244B,使用屏蔽双绞电缆时最长通讯距离为
9.6km(需要增加中继),使用光缆时最长为90kmo
Profibus-DP每段的电缆最大长度与传输速率有关,不同的介质,不同的波
特率,信号可传输的距离也不同,如表2所示。
表2,传输途率与距离关系丧
波特率kbps/s9.619.293.75187.550015003000600012000
(LineA)1200120012001000400200200100100
电缆长度m
(LineB)120012001200600200不推存微f奇前r亚嬷
电缆长度m
注意:该传输距离指不加重复器(中继器)的距离。比外,该传输距离是理论
第8页共123页
值,实际传输距离也会受到现场环境的影响。
画翻智能电测表采用Profibus协议通讯
Profibus总线上,定义B为“RS485+”,A为"RS485-”,接线时应请务必注意A、
B接线,否则会导致无法正常通讯。
profibusA-/RS485B/(绿)----------------------
profibusB+/RS485A/(红)---------------------
BACOM
通讯瓦例号.A-。
注意:ACR或PZ系列可编程智能电测表采用Profibus协议通讯时,需阅
读本文档。《安装使用说明书V1.D中通讯指南章节无效。具体细节在此不在
赘述,下载文章末尾附件,可以直接阅读第二章节仪表的通讯配置。
典翻Profibus-DP协议通讯的仪表型号
画翻PZ系列可编程智能电测表
型号例如:PZ96L-E4/CP,PZ80L-E4/CP等
K0.0001
\z0.000i
u—2J,J_】
打翻ACR系列网络多功能电力仪表:
型号例如:ACR220EL/CP,ACR230ELH/CP,ACR320E/CP等
第9页共123页
画翻APM系列模块化网络电力仪表
型号例如:APM800/MCP,APM801/MCP等
支持DB9接口或者RS485接口
除了多功能仪表外,安科瑞还生产销售支持PROFIBUS、PR0F1NET通讯的
电动机保护器
1.3.OPCfOLEforProcessControl)
1.3.1.OPC是什么?
OPC是当前工业互联常用的通讯技术,我们经常会说OPC通讯协议,那OPC
是通讯协议吗?严格地说,OPC不是通讯协议,而是一种通讯规范,是一种通
讯接口标准。
OPC是i种基于微软的OLE(ObjectLinkingandEmbedding)技术的工业自
动化通信协议。它定义J'上位机和下位机之间的数据交换方式,实现了设备间
的互通性。
OPC是英文“OLEforProcessControl”的缩写,是工业自动化领域中的一种
第10页共123页
工业通信标准。它通过定义一些在不同平台上具有通用性的规范,实现J'各种
设备、不同制造厂商及不同代表的设备可互联互通。
经典OPC是第一代OPC技术,英文全称为:OLEforProcessControl(>OLE
技术是基于微软公司的C0M/DC0M技术,因此经典OPC本质上是基于
COM/DCOM的过程控制技术。经典OPC提供了一整套过程控制中数据交换的软
件标准和接口,包括:
OPCDA(OPCDataAccess):OPC数据访问接口,这是最常用到的接口,接
口定义了数据交换的规范.包括:过程值、更新时间、数据品质等信息。目前
OPCDA经历1.0版本(1997年)、2.0版本(2002年)、3.0版本(2003年)。
OPCAE(OPCAlarms&Events):OPC报警与事件接口,接口定义了报警、
事件消息、变量的状态及如何管理。
OPCHDA(OPCHistoricalDataAccess):OPC历史数据访问接口,接口定义
了访问及分析历史数据的方法。
OPCXML-DA:XML数据访问,脱离WindowsC0M/DC0M技术,提供基于
XML、SOAP、HTTP的数据交换。
OPCDX(Dataexchange):提供在OPC服务器之间交换数据的功能,该标准
的主要目的是为来自不同制造商的设备和程序之间的数据交换创建网关。
可以看出,OPC是一整套过程控制中数据交换的软件标准和接口规范,定
义了服务器和客户端双方通讯接口的要求。以OPCDA为例。
第11页共123页
知乎@一袖徐江南
OPCServer必须提供OPCServer对象接口,OPCGroup对象接口,OPCItem
对象接口,OPCClient通过调用这些接口与OPC服务器实现数据交换,而不用去
关心通讯报文的语法、语义。
所以,严格地说,OPC不是通讯协议,是通讯规范。用形象的比喻来说,
OPC更像描述插头、插座的规范,而通讯协议则更像是描述邮件如何传输,信
封如何封装。
场翻OPC服务过程
首先,来看什么是通讯协议?通讯协议就是两个(或多个)设备之间通信必须
要遵循的一种协议。通过通信信道互连起来的多个数据通信系统,要实现协同
信息交换,它们之间必须具有共同的约定,约定信息在哪条通道间交流,什么
时间交流,交流什么信息,信息怎样交流。这个约定就是通信协议。
不同的通信协议虽然具有不同的特点和功能,但它们都包含了三个基本要
素:
语法;定义了数据传输的格式和结构,以确保发送方和接收方都能正确地
解释数据内容。
语义:定义J'数据的意义和目的,以确保通信双方在数据传输过程中能够
理解对方的意图。
第12页共123页
定时:定义「数据的传输速率和时间,以确保通信的有效性和流畅性。
通信中的数据往往以数据包的形式进行传送的,我们把这样的一个数据包
称作为一帧数据。比较可靠的通信协议往往包含有以下几个组成部分:帧头、
地址信息、数据类型、数据长度、数据块、校验码、帧尾。这些组成部分构成
了语法,其中数据代表的意义就是语义。
比如:以下是Modbus协议读取线圈的报文。
事芬/T办议长度单元标识功能码起始高起始低数量高数量低
0x000000000x00060x010x010x000x130x00OxlB
其中,报文格式就是言法,其语义为:读取服务器1号从站输出线圈,起
始地址为0x13=19,对应地址为00020,线圈数量为0xlB=27,即读取1号从
站输出线圈,地址从00020-00046,共27个线圈的状态值。
1.4.MQTTfMessageQueuingTelemetryTransport)
1.4.1.概念、应用场景
MQTT是一种轻量级的消息传输协议,通常用于物联网(IoT)领域。它采用
发布-订阅机制,实现了高效可靠的上位机和下位机之间的数据传输。
MQTTfMessageQueuingTelemetryTransport,消息队列遥测传输协议),
是一种基于发布/订阅范式的“轻量级”消息协议,由IBM发布。
HoT设备要运作,就必须连接到互联网,设备才能相互协作,以及与后端
服务协同工作。而互联网的基础网络协议是TCP/IP,MQTT协议是基于TCP/IP
协议栈而构建的,因此它三经慢慢的已经成为了IoT通讯的标准。
1MQTT可以被解释为一种低开销,低带宽占用的即时通讯协议,可以用较
少的代码和带宽为远程设备连接提供实时可靠的消息服务,它适用于硬件性能
低下的远程设备以及网络状况糟糕的环境下,因此MQTT协议在IoT(Internet
ofthings,物联网),小型设备应用,移动应用等方面有较广泛的应用。
优点:代码量少,开销低,带宽占用小,即时通讯协议。
画翻协议原理
实现方式:实现mqtt协议需要客户端和服务器端通讯完成,在通讯中,
mqtt协议中有三种身份:发布者(publish),代理(broker)(服务器),订阅者
(subscribe)。其中,消息的发布者和订阅者都是客户端。消息代理是服务器,
第13页共123页
消息发布者可以同时是订阅者,传输过程如下如所示。
有别于传统的客户端/服务器通讯协议,MQTT协议并不是端到端的,消息
传递通过代理,包括会话(session)也不是建立在发布者和订阅者之间,而是建
立在端和代理之间。代理解除了发布者和订阅者之间的耦合。
除了发布者和订阅者之间传递普通消息,代理还可以为发布者处理保留消
息和遗愿消息,并可以更改服务质量(QoS)等级。
画翔相关概念
客户端:
一个使用mqtt协议的应用程序或设备,它总是建立到服务器的网络连接。
客户端可以:
1.发布其他客户端可能会订阅的信息
2.订阅其他客户端的消息
3.退订或删除应用程序的消息
4.断开与服务器的连接
服务器:
可以是一个应用程序或者一台设备,它用于发布者和订阅者之间,它可以:
1.接受来自客户的网络连接
2.接受客户发布的应用消息
3.处理来自客户端的订阅和退订请求
4.向订阅的客户转发应用程序消息
主题:
连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器
会将消息发送给订阅所匹配标签的每个客户端。
一个主题可以有多个级别,级别之间用斜杠字符分隔。例如,/world和
emq/emqtt/emqx是有效的主题。如腾讯云中订阅的云端回复消息为
第14页共123页
"$thing/down/service/设备ID/设备名”
QoS(消息传递的服务质量水平):
服务质量,此标志表明此主题范围内的消息传送到客户端所需的一致程度。
有三种取值:
1值0x00:不可靠,消息最多发送一次。如果当时客户端不可用,则会丢
失该消息。
1佰0x01:消息应传送至少1次。确保消息到达,但消息重复可能会发
生。
I值0x10:确保消息到达一次。这一级别可用于如下情况,在计费系统中,
消息重复或丢失会导致不正确的结果。
遗愿机制/遗嘱机制:
使用LastWill和Testament特性通知有关各方客户端异常中断的机制。
1LastWill:即遗言机制,用于通知同一主题下的其他设备发送遗言的设备
已经断开了连接。
ITestament:遗嘱机制,功能类似于LastWill
i恒翔协议中的方法
MQTT协议中定义了一些方法(也被称为动作),表示对确定资源进行操作。
资源指服务器上的文件或输出。主要方法有:
I(l)Connecto等待与服务器建立连接。
1(2)Disconnecto等待MQTT客户端完成所做的工作,并与服务器断开
TCP/IP会话。
1(3)Subscribeo等待完成订阅。
1(4)UnSubscribeo等待服务器取消客户端的一个或多个topics订阅。
l(5)PublishoMQTT客户端发送消息请求,发送完成后返回应用程序线程。
i现翻mqtt数据包结构
MQTT协议通过交换预定义的MQTT控制报文来通信。
一个mqtt数据包结构包括:固定头部,可变头部,消息体(payload)三部分
组成,mqtt数据包结构如下:
1.固定头(Fixedheader)。存在于所有MQTT数据包中,表示数据包类型及
第15页共123页
数据包的分组类标识。
2.可变头(Variableheader)。存在于部分MQTT数据包中,数据包类型决
定了可变头是否存在及其具体内容。
3.消息体(Payload)。存在于部分MQTT数据包中,表示客户端收到的具体
内容。只有CONNECT、SUBSCRIBE>SUBACK、UNSUBSCRIBE四种类型的消息
有Payload消息体:
1CONNECT,消息体内容主要是:客户端的ClientID>订阅的Topic、Message
以及用户名和密码。
1SUBSCRIBE,消息体内容是一系列的要订阅的主题以及QoSo
1SUBACK,消息体内容是服务器对于SUBSCRIBE所申请的主题及QoS进行
确认和回复。
IUNSUBSCRIBE,消息体内容是要取消订阅的主题。
数据包组成详细描述:
数据包组成的详细内容与数据包长度根据mqtt控制报文格式的不同而不
同。mqtt控制报文类型共有14种
表格2.1-控制报文的类型
第16页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
C0NNECT1客户1客户端到服务客户端请求连接
客户端到服务端
端到服务端客户端客户端请求连服务端
第17页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
端请求连接服务接服务端C0NNACK2服务
端C0NNACK2服C0NNACK2服务端到客户端连接
第18页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
务端到客户端连端到客户端连接报文确认
接报文确认报文确认PUBLISH3两个方
第19页共123页
名字值报文流动
方向描述
CONNECT1客户
端到服务端客户
端请求连接服务
端CONNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述CONNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端CONNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBCOMP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
PUBLISH3两个PUBLISH3两个向都允许发布消
方向都允许发布方向都允许发布息PUBACK4两个
第20页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
消息PUBACK4两消息PUBACK4两方向都允许QoS1
个方向都允许个方向都允许消息发布收到确
第21页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
QoSl消息发布QoSl消息发布认PUBREC5两个
收到确认收到确认方向都允许发布
第22页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
PUBREC5两个方PUBREC5两个方收到(保证交付第
向都允许发布收向都允许发布收一步)PUBREL6两
第23页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
至"保证交付第一至叫保证交付第一个方向都允许发
步)PUBREL6两步)PUBREL6两布释放(保证交付
第24页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
个方向都允许发个方向都允许发第二
布释放(保证交付布释放(保证交付步)PUBC0MP7两
第25页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
第二第二个方向都允许QoS
步)PUBC0MP7两步)PUBC0MP7两2消息发布完成
第26页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
个方向都允许个方向都允许(保证交互第三
QoS2消息发布QoS2消息发布步)SUBSCRIBE8
第27页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
完成(保证交互第完成(保证交互第
第28页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
步)SUBSCRIBES步)SUBSCRIBE8
C0NNACK2服务2服务端到客户服务端到客户端连接报文确认
第29页共123页
名字值报文流动
方向描述
CONNECT1客户
端到服务端客户
端请求连接服务
端CONNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述CONNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端CONNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBCOMP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
端到客户端连接端连接报文确认PUBLISH3两个方
报文确认PUBLISH3两个向都允许发布消
第30页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
个方向都允许发
布释放(保证交付
第二
步)PUBC0MP7两
个方向都允许
QoS2消息发布
完成(保证交互第
步)SUBSCRIBES
PUBLISH3两个方向都允许发布息PUBACK4两个
方向都允许发布消息PUBACK4两方向都允许QoS1
第31页共123页
名字值报文流动
方向描述
C0NNECT1客户
端到服务端客户
端请求连接服务
端C0NNACK2服
务端到客户端连
接报文确认
PUBLISH3两个
方向都允许发布
消息PUBACK4两
个方向都允许报文流动方向描
QoSl消息发布述C0NNECT1客
收到确认值报文流动方向户端到服务端客描述C0NNECT1
PUBREC5两个方户端请求连接服
向都允许发布收务端C0NNACK2
到(保证交付第一
步)PUBREL6两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 诊室患者安全管理制度
- 诊所新风设备管理制度
- 试件标准养护管理制度
- 财务签字审批管理制度
- 财政扶贫项目管理制度
- 货品安全配送管理制度
- 货物运输变更管理制度
- 货车司机仓库管理制度
- 物资采购沟通协议书范本
- 护理心理学案例分析 课件
- 某化纤毛纺织厂全厂总配变电所及配电系统设计-课程设计论文
- 2024年大学试题(法学)-行政法与行政诉讼法考试近5年真题集锦(频考类试题)带答案
- 有限空间辨识记录(辨识结果不是有限空间的)
- 小学英语时态练习大全(附答案)-小学英语时态专项训练及答案
- 医院整体搬迁服务 投标方案(技术方案)
- 鱼塘个人承包协议书范本
- 带转速微分负反馈的双闭环直流调速系
- 国家公务员考试行测行政职业能力测验(行政执法)2025年模拟试题及答案解析
- GB/T 4706.8-2024家用和类似用途电器的安全第8部分:电热毯、电热垫、电热衣及类似柔性发热器具的特殊要求
- 正压式空气呼吸器使用培训课件
- 08S305 小型潜水排污泵选用及安装
评论
0/150
提交评论