0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过简单易行的操作解析出siemens MPI协议的报文格式

1bGT_GKYXT1508 来源:未知 作者:李倩 2018-05-31 15:42 次阅读

摘要:在使用上位机西门子s7300系列PLC实现自动化过程控制当中,选择MPI协议进行通信时,PLC可以不用编程,而且可读写所有数据区,快捷方便。但是西门子公司没有公布MPI协议的格式,用户如果想使用MPI协议监控,就必须购买其监控产品或第三方厂家的组态软件。这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过MPI协议接入PLC。而采用其它通讯方式也存在编程复杂,需要购买软件和授权等局限性。本文通过数据监视、采集、分析的方法,解析出了MPI协议的关键报文格式,可用于实现上位机、现场设备与支持MPI协议的CPU之间通讯,从而提供了一种高效率低成本的通信方式。

前言

工业的现代化,很大程度体现在工业生产过程的自动化,其中信息的传输,数据的交换也成为评价工业自动化水平高低的标准。网络通迅方式的多样化和通迅速率的高速化,使信息交换领域从设备控制层延伸到企业管理层。信息技术的飞速发展,促进了自动化系统结构的变革,以网络为主干的分布式控制系统已成为当今自动化系统的主流趋势。因此,网络通迅的实时性和可靠性,以及网络故障的诊断和排除都成为工业网络通信关注的焦点。MPI网络是西门子工业控制系统中经常用到的一种通迅方式,使用RS485物理接口进行数据传输。下面主要阐述西门子MPI协议的解析方法以及关键报文格式。

MPI协议概述

MPI协议,其英文全名为Multi-point-Interface。在PLC之间可组态为主/主协议或主/从协议.如何操作依赖于设备类型:如果控制站都是s7—300/400系列PLC,那么就建立主/主连接关系,因为MPI协议支持多主站通讯,所有的s7—300CPU都可配置为网络主站,通过主/主协议可以实现PLC之间的数据交换。如果某些控制站是s7—200系列PLC,则可以建立主/从连接关系,因为s7—200 CPU是从站,用户可以通过网络指令实现s7—300 CPU对s7200 CPU的数据读写操作。

分析思路

西门子Step 7 V5.4软件是S7-300系列PLC(包括ET200S)的开发工具,上位机通过其PCI插槽上的通讯卡(CP5613A2)接口以及通讯电缆连接到PLC的编程口上,并且通讯卡接口和PLC编程口都是RS485接口标准。这说明,PC机实际上是可以通过RS485串口同ET200 CPU(IM151-7)通讯,只是我们不知道通讯协议而已。因此,在上位机上运用西门子提供的PRODAVE S7软件读写PLC时,通过监视通讯口上的数据,我们就有可能分析出通信报文格式。然后,撤掉西门子通讯卡,直接通过RS485串口向PLC发送报文来验证其正确性,并作进一步的操作。本着这一思想,采用以下步骤获得这些报文。

步骤

硬软件需求

硬件:串口分支器及通讯电缆,西门子CP5613A2通讯卡,ADVANTECH公司PCI-1601A通讯卡,西门子ET200S(IM151-7CPU以及相关模块)。

软件:step7 v5.4 , simatic net 2006edition, prodave s7 , serial portmonitor,PCI1601A driver,visualc++

硬件连接如图1-0

安装完相关软件及驱动程序以后,进行硬件测试以及软件平台搭建

(1)串口分支器制作及通讯电缆的连接(附录A)

(2)运用STEP 7 V5.4对ET200S组态以及相关初始化设置(附录B)

(3)PCI1601A通讯卡的测试(附录C)

(4)串口监视软件设置和测试(附录D)

(5)PRODAVES7调试运行(附录E)

完成设置和调试后,打开串口监视软件,并将PLC上电,运行PRODAVES7并在其中进行各种操作(load、unload、read、write等)时启动数据监视,通过比较分析发现:

(1)与S7-200不同,ET200S不管出于何种状态(run或stop),一经上电,就不断发出数据查找设备,在读写数据过程中也不间断。

(2)连接、读出、写入和断开时检测到一系列有规律的数据。经过多次监测比较分析,可得到相关操作的数据帧格式,初始化设定PLC与上位机的地址分别为02和00;为描述方便,现在对数据帧格式做以下符号约定

SD:(Start Delimiter)开始定界符

LE:(Length)报文长度

LER:(Repeated Length)重复数据长度

SD: (StartDelimiter)开始定界符

DA:(DestinationAddress)目标地址

SA:(Source Address)源地址

FC:(Function Code)功能码

DSAP:(DestinationService Access Point)目的服务存取点

SSAP:(Source ServiceAccess Point)源服务存取点

FS:(Frame Sequence)帧序列号

UU:(unkown unit)未知操作单元,其数值通常为固定值

GU:(group unit)分组单元

DU:(Data Unit)数据单元

FCS:(Frame CheckSequence)校验码

END:(End Delimiter)结束分界符

分析结果

连接(load)过程

(1)设备查找

在PLC(ET200S)上电启动进入run状态后,开始不断发出数据查找设备,数据帧格式如下。DA从00到1F共32个站号,令牌帧和总线访问帧按照严格的帧时序(15帧/s),交替发出。

令牌帧:DC DA SA

DC DA 02

总线访问帧: SD DA SA FC FCS END

10 DA 02 49 FCS 16

在prodave s7中运行Load命令后,上位机也开始不断发出数据查找设备,数据帧格式如下。DA从00到1F共32个站号,令牌帧和总线访问帧按照严格的帧时序(19帧/s),交替发出。

令牌帧: DC DA SA

DC DA 00

总线访问帧: SD DA SA FC FCS END

10 DA 00 49FCS16

SD、DC、FC、END均占据一个字节长度,为固定数值,分别等于10、DC 49、16,FCS采用求和校验,等于DA+SA+FC。

(2)握手

上位机在收到et200s发出的令牌帧(dc 02 02)后以其令牌帧(dc 00 00)作为回复,等待et200s应答,如果收到dc 00 02,pc机立即回复dc 02 00,令牌握手成功。总线访问握手方式与令牌握手一致。在读写操作过程中,应答握手也不间断。

读取操作

一次读操作的步骤包括上位机发出读命令帧(pc_request_frame_read),PLC作出正确的响应,并将确认信息帧(plc_ack_frame_read)返回给上位机,接着反馈回正确的数据信息帧(plc_return_frame_read)给上位机,上位机接到此帧数据,校验确定后对PLC做出确认信息帧(pc_ack_frame_read),这样完成一个读取数据的过程。在读取操作过程中,上位机和PLC共进行两次应答。

读取命令

读取数据时上位机的请求帧格式如下,该帧占据38字节长度,记作pc_request_frame_read(38)。

SD LE LER SD占据4字节长度,为固定值。

pc_request_frame_read(0)=68

pc_request_frame_read(1)= 1F,帧长度校验,为DA+SA+FC+DSAP+SSAP+FS+GU+DU的字节个数。

pc_request_frame_read(2)=1F重复帧长度,与帧长度校验记法相同。

pc_request_frame_read(3)=68

DA SA FC DSAPSSAPFS各占据7字节。

pc_request_frame_read(4)=82数值上等于目标站地址加上80

pc_request_frame_read(5)=80数值上等于源站地址加上80

pc_request_frame_read(6)=5C、7C

pc_request_frame_read(7)=16、15

pc_request_frame_read(8)=02、01

pc_request_frame_read(9)=F1为分界符,其值不变。

pc_request_frame_read(10)=00~FF,帧序号,对相同操作时自加计数。在应答握手时用来判断当前应答帧是否为本请求的应答。

UU占据6字节长度,均为固定值

pc_request_frame_read(11)=32

pc_request_frame_read(12)=01

pc_request_frame_read(13)=00

pc_request_frame_read(14)=00

pc_request_frame_read(15) =33

pc_request_frame_read(16)=02、01

GU占据6字节长度,混合读写时可以进行操作

pc_request_frame_read(17)=00

pc_request_frame_read(18)=0E

pc_request_frame_read(19)=00

pc_request_frame_read(20)=00

pc_request_frame_read(21)=04

pc_request_frame_read(22)

单一读写时pc_request_frame_read(22)=01,其他不变化;

混合读写时pc_request_frame_read(22)为其他值。

DU单元占据12字节长度从pc_request_frame_read(23)到pc_request_frame_read(26)这4字节为固定数值

pc_request_frame_read(23)=12

pc_request_frame_read(24)=0A

pc_request_frame_read(25)=10

pc_request_frame_read(26)=02

pc_request_frame_read(27)和pc_request_frame_read(28)这2字节共同表示读取的数据个数,当读取的存储区是I、Q、M、DB时表示字节个数,当存储区是C、T时表示读取的计数器或定时器的个数。

如果读取两个字节,则为:

pc_request_frame_read(27)=00

pc_request_frame_read(28)=02

如果读取一个计数器或者定时器,则为:

pc_request_frame_read(27)=00

pc_request_frame_read(28)=01

pc_request_frame_read(29)、pc_request_frame_read(30)共同表示要操作的DB号,如果读取其他区,则二者分别为00 00。

pc_request_frame_read(31)表示存储区类型,具体参考表1-1

pc_request_frame_read(32)

pc_request_frame_read(33)

pc_request_frame_read(34)共同表示操作的起始地址,对于I、Q、M、DB存储区按照bit计算,对C、T存储区按照其个数计算。

若读取DB1B1时则依次为

pc_request_frame_read(32)=00

pc_request_frame_read(33)=00

pc_request_frame_read(34)=08

若读取C1或T1时则为

pc_request_frame_read(32)=00

pc_request_frame_read(33)=00

pc_request_frame_read(34)=01

pc_request_frame_read(35)是帧校验码,采用和取余算法

(DA+SA+FC+DSAP+SSAP+FC+UU+GU+DU)mod 16#100

pc_request_frame_read(36)、pc_request_frame_read(37)是结束符,为固定值,分别等于16 E5。

PLC接收到请求命令(pc_request_frame_read)时,确认后返回一个数据帧表示回应,占据15字节长度,记作plc_ack_frame_read(15),格式如下:

SD LE LER SD

plc_ack_frame_read(0)=68

plc_ack_frame_read(1)=08

plc_ack_frame_read(2)=08

plc_ack_frame_read(3)=68

DA、SA

plc_ack_frame_read(4)=80

plc_ack_frame_read(5)=82

FC

plc_ack_frame_read(6)=7C 5C

DSAP、SSAP

plc_ack_frame_read(7)=02

plc_ack_frame_read(8)=16

UU

plc_ack_frame_read(9)=B0

plc_ack_frame_read(10)=01

FS

plc_ack_frame_read(11)

帧序号,和pc_request_frame_read(10)保持一致。

FCS

plc_ack_frame_read(12)

帧校验,等于(DA+SA+FC+DSSAP+SSAP+UU+FS+FCS)mod 16#100

END

plc_ack_frame_read(13)=16

plc_ack_frame_read(14)=E5

在发送完响应数据帧(plc_ack_frame_read)后PLC接着给上位机反馈其所要读取的数据信息帧(plc_return_frame_read),其长度因读取字节个数而长短不定,格式如下:

SD LE LER SD

plc_return_frame_read(0)=68

plc_return_frame_read(1)

plc_return_frame_read(2)

plc_return_frame_read(3)=68

DA SA FC DSAPSSAP FS各占一个字节

plc_return_frame_read(4)=80

plc_return_frame_read(5)=82

plc_return_frame_read(6)=5C

plc_return_frame_read(7)=16

plc_return_frame_read(8)=02

plc_return_frame_read(9)分界符,为固定值F1

plc_return_frame_read(10),与plc_ack_frame(11)保持一致。

UU占据8个字节长度,均为固定值

plc_return_frame_read(11)=32

plc_return_frame_read(12)=03

plc_return_frame_read(13)=00

plc_return_frame_read(14)=00

plc_return_frame_read(15)=33

plc_return_frame_read(16)=02

plc_return_frame_read(17)=00

plc_return_frame_read(18)=02

GU占据6字节长度

plc_return_frame_read(19)=00

plc_return_frame_read(20)

等于读取的自己个数加4,如果读取一个字节时为05

plc_return_frame_read(21)=00

plc_return_frame_read(22)=00

plc_return_frame_read(23)=04

plc_return_frame_read(24)

单一读取时为01,分组读取时为其他值。

DU占据(4+pc_request_frame_read(27)+pc_request_frame_read(28))字节长度

plc_return_frame_read(25)=FF

plc_return_frame_read(26)=04

plc_return_frame_read(27)、plc_return_frame_read(28)共同表示返回所读取的数据位数,按照bit计算;如果读取了一个字节,则他们分别为00、08。

PLC返回所要读取的数据,按照从低地址到高地址的顺序依次存放。

plc_return_frame_read(29)

plc_return_frame_read(30)

.

.

plc_return_frame_read(n)

n=28+读取的字节数

plc_return_frame_read(n+1)为FCS,采用和取余校验。

END

plc_return_frame_read(n+2)=16

plc_return_frame_read(n+3)=E5

上位机在接收到数据经过确认以后向PLC发送一个确认帧(pc_ack_frame_read),一共15字节长度,记作pc_ack_frame_read(15)。

格式如下:

SD LE LER SD

pc_ack_frame_read(0)=68

pc_ack_frame_read(1)=08

pc_ack_frame_read(2)=08

pc_ack_frame_read(3)=68

DA SA

pc_ack_frame_read(4)=82

pc_ack_frame_read(5)=80

FC

pc_ack_frame_read(6)=5C

DSAP SSAP

pc_ack_frame_read(7)=16

pc_ack_frame_read(8)=02

UU

pc_ack_frame_read(9)=B0

pc_ack_frame_read(10)=07

FS

pc_ack_frame_read(11)和plc_return_frame(10)保持一致

FCS

pc_ack_frame_read(12)

采用求和取余校验算法,等于(DA+SA+FC+DSSAP+SSAP+UU+FS)mod 16#100

END

pc_ack_frame_read(13)=16

pc_ack_frame_read(14)=E5

读数据过程完成。

写入操作

一次完整的写入操作步骤包括:首先上位机发出写命令信息帧(pc_request_frame_write),PLC接收以后判断,若正确,则做出响应,并将确认信息(plc_ack_frame_write)帧返回给上位机,并反馈回正确的数据(plc_return_frame_write)帧给上位机,上位机接到此帧数据,校验正确后对PLC做出确认信息(pc_ack_frame_write),这样就完成一个读取数据的过程。在读取操作过程中,上位机和PLC共进行两次应答。

写入时上位机的请求帧(pc_request_frame_write)所占据字节长度不确定,跟写入的数据个数有关。记作pc_request_frame_write(),格式如下:

SD LE LER SD

pc_request_frame_write(0)=68

pc_request_frame_write(1)pc_request_frame_write(2)写入一个字节时为24,写入两个字节时为25…

pc_request_frame_write(3)=68

DA SA FCDSAP SSAP FS

pc_request_frame_write(4)=82

pc_request_frame_write(5)=80

pc_request_frame_write(6)=5C

pc_request_frame_write(7)=16

pc_request_frame_write(8)=02

pc_request_frame_write(9)=F1

pc_request_frame_write(10)为帧序号,从00到FF

UU占据6字节长度

pc_request_frame_write(11)= 32

pc_request_frame_write(12)=01

pc_request_frame_write(13)=00

pc_request_frame_write(14)=00

pc_request_frame_write(15)=43

pc_request_frame_write(16)=02

GU占据6字节长度

pc_request_frame_write(17)=00

pc_request_frame_write(18)=0E

pc_request_frame_write(19)、pc_request_frame_write(20)共同表示写入的字节个数加4。如果要写入2个字节,则依次为00、06。

pc_request_frame_write(21)=05

pc_request_frame_write(22)=01

DU占据的长度和要写入的字节个数有关,其长度为

(16+ pc_request_frame_write(21)+pc_request_frame_write(22)- 4)个字节,置复位操作按照一个字节计算。

pc_request_frame_write(23)=12

pc_request_frame_write(24)=0A

pc_request_frame_write(25)=10

pc_request_frame_write(26)与存储区有关,当写C区时,为1C, M区置复位时为01,写其他存储区为02

pc_request_frame_write(27)=00

pc_request_frame_write(28)=01

pc_request_frame_write(29)、pc_request_frame_write(30)共同表示所要写入的DB号,写其他存储区时,为00 00,注意I区和T区不能进行写操作。

pc_request_frame_write(31)表示存储区类型,参考表1-2

pc_request_frame_write(32)

pc_request_frame_write(33)

pc_request_frame_write(34)

以上三个字节表示要写入的起始地址。对于C区,则为起始计数器的编号,若对C2写入,则依次为00 00 02。对其他区写操作时则表示起始位地址,如果要写DB1B1,则依次为00、00、08。

pc_request_frame_write(35)、pc_request_frame_write(36)与存储区有关,写入C区时依次为00 09,置复位操作时依次为00 03,写入其他区(包括对M区写入字节)是依次为00、04。

pc_request_frame_write(37)、pc_request_frame_write(38)共同表示写入的数据量,与存储区类型有关。写C区时表示写入的字节个数,例如对一个计数器进行写操作,则其值依次为00、02;写其他存储区区时表示要写入的数据位数,按照bit计算,若写DB1B0,则依次为00、08。

pc_request_frame_write(39)

pc_request_frame_write(40)

pc_request_frame_write(41)

.

.

pc_request_frame_write(n)

以上若干字节表示要写入的数据,按照低地址到高地址的顺序排列,其中对C区进行写操作时,数据表示为BCD码,对其他其他存储区写入时,数据均为十六进制格式表示。

n=38+ pc_request_frame_write(19)+pc_request_frame_write(20)- 4)。

pc_request_frame_write(n+1)为FCS,采用求和取余算法,等于

(DA+SA+FC+DSAP+SSAP+FS+UU+GU+DU)mod 16#100

END

pc_request_frame_write(n+2)=16

pc_request_frame_write(n+3)=E5

PLC在接收到请求数据帧确认后,返回确认信息帧(plc_ack_frame_write)

占据15字节长度,格式如下:

SD LE LER SD

plc_ack_frame_write(0)=68

plc_ack_frame_write(1)=08

plc_ack_frame_write(2)=08

plc_ack_frame_write(3)=68

DA SA FCDSAP SSAP

plc_ack_frame_write(4)=80

plc_ack_frame_write(5)=82

plc_ack_frame_write(6)=5C

plc_ack_frame_write(7)=02

plc_ack_frame_write(8)=16

UU

plc_ack_frame_write(9)=B0

plc_ack_frame_write(10)=01

FS

plc_ack_frame_write(11)与pc_request_frame_write(10)保持一致。

FCS

plc_ack_frame_write(12),采用求和取余校验算法。

END

plc_ack_frame_write(13)=16

plc_ack_frame_write(14)=E5

plc_return_frame_write帧格式

记作plc_return_frame_write(29)

SD LE LER SD

plc_return_frame_write(0)=68

plc_return_frame_write(1)=16

plc_return_frame_write(2)=16

plc_return_frame_write(3)=68

DA SA FCDSAP SSAP FS

plc_return_frame_write(4)=80

plc_return_frame_write(5)=82

plc_return_frame_write(6)=7C

plc_return_frame_write(7)=02

plc_return_frame_write(8)=16

plc_return_frame_write(9)=F1

plc_return_frame_write(10),FS,同plc_ack_frame_write(11)保持一致。

UU占据15字节长度

plc_return_frame_write(11)=32

plc_return_frame_write(12)=03

plc_return_frame_write(13)=00

plc_return_frame_write(14)=00

plc_return_frame_write(15)=43

plc_return_frame_write(16),和pc_request_frame_write(16)保持一致。

plc_return_frame_write(17)=00

plc_return_frame_write(18)=02

plc_return_frame_write(19)=00

plc_return_frame_write(20)=01

plc_return_frame_write(21)=00

plc_return_frame_write(22)=00

plc_return_frame_write(23)=05

plc_return_frame_write(24)=01

plc_return_frame_write(25)=FF

FCS

plc_return_frame_write(26),采用求和取余校验算法。

END

plc_return_frame_write(27)=16

plc_return_frame_write(28)=E5

pc_ack_frame_write帧格式

记作pc_ack_frame_write(15)

SD LE LER SD

pc_ack_frame_write(0)=68

pc_ack_frame_write(1)=08

pc_ack_frame_write(2)=08

pc_ack_frame_write(3)=68

DA SA FCDSAP SSAP

pc_ack_frame_write(4)=82

pc_ack_frame_write(5)=80

pc_ack_frame_write(6)=7C

pc_ack_frame_write(7)=16

pc_ack_frame_write(8)=02

UU

pc_ack_frame_write(9)=B0

pc_ack_frame_write(10)=07

FS

pc_ack_frame_write(11)plc_return_frame_write(29)保持一致。

FCS

pc_ack_frame_write(12)采用求和取余校验算法。

END

pc_ack_frame_write(13)=16

pc_ack_frame_write(14)=E5

写数据过程完成。

对于读写数据帧的FC以及DSAP和SSAP做以说明

测试源码见附录F。

结束语

本文运用串口监视的方法,通过简单易行的操作解析出siemens MPI协议的报文格式,其结果具有很大的使用价值(1)使用户不用购买西门子专用的通讯处理卡就可以让上位机和PLC的通信,从而实现所需控制功能,节约成本。(2)降低了用户自主开发的难度,使通讯编程变得简单明了,无需购买软件和授权等就可以使用MPI协议监控PLC的工作状态。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5006

    文章

    13101

    浏览量

    461398
  • SIEMENS
    +关注

    关注

    1

    文章

    20

    浏览量

    15491
  • MPI
    MPI
    +关注

    关注

    2

    文章

    111

    浏览量

    19349

原文标题:全方面、多层次了解Siemens MPI协议

文章出处:【微信号:GKYXT1508,微信公众号:工控云学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于dragonboard 410c使用python进行GPS报文解析获取位置信息

    的定位,是许多物联网应用的基础,这篇blog将向大家简单的介绍如何使用python脚本在dragonboard 410c上解析GPS报文数据。 首先我们需要了解GPS报文格式,这里我们
    发表于 09-28 11:54

    labview程序里面解析出来的大量数据(模拟量或者报文解析数据)储存到电脑别的盘 以EXcel文件格式储存。

    labview程序里面解析出来的大量数据(模拟量或者报文解析数据)储存到电脑别的盘以EXcel文件格式储存。要求储存Excel文件内部有读取和需储存文件名和数据
    发表于 03-22 09:23

    求大佬分享一种简单易行的可编程振荡器构建方法

    本文介绍一种简单易行的可编程振荡器构建方法,其中,振荡频率和幅度可以通过使用digiPOT来彼此独立地调节。
    发表于 06-17 06:03

    荣小菜补钙记第43期:报文合成与解析之字的合成与分解

    解析则指我们将收到报文格式分解并得到对应的含义。可以看到,两者其实是数据操作两个方向,有不同但也有相通之处。如何比较好的实现报文合成与
    发表于 08-26 20:33

    简单易行,三方面阐述大功率LED散热器的提升空间

    生产商现在更加追求简单易行的产品,既然是要求简单易行,结构过于复杂的套件便难以入法眼。一向都是作为小菜的工业照明随着几家企业的大手笔投入。 形色各异的散热器中年纪尚小的UFO款的散热器套件似乎脱颖而出,一场展会下来起码可以见到几十家销售UFO型Highbay的企业。
    发表于 11-05 08:57 1495次阅读

    tcp报文格式详解

    TCP(Transmission ControProtocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议。TCP报文是TCP层传输的数据单元,也称为报文段。
    发表于 12-08 11:11 3.2w次阅读
    tcp<b class='flag-5'>报文格式</b>详解

    开关模式电源转换器补偿简单易行:功率级的特性介绍

    1.3 开关模式电源转换器补偿简单易行 —功率级第一部分
    的头像 发表于 08-10 01:41 3954次阅读

    一种基于粗糙集聚类的报文格式推断方法

    报文格式推断方法,该方法包括预处理、基于粗糙集的聚类、特征词提取和报文格式推断4个阶段。首先,通过数据预处理分离出目标报文中的业务类报文
    发表于 04-25 11:45 3次下载
    一种基于粗糙集聚类的<b class='flag-5'>报文格式</b>推断方法

    网络协议栈:MQTT的报文格式解析

    在上一篇文章,直接在本地搭建了服务器和客户端,简单的实践了MQTT的用法。而这一篇来解析MQTT的报文格式。MQTT的报文字段很精简。但是解析
    的头像 发表于 05-13 14:06 5274次阅读
    网络<b class='flag-5'>协议</b>栈:MQTT的<b class='flag-5'>报文格式</b><b class='flag-5'>解析</b>

    UDP协议报文格式

    UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议
    发表于 05-06 15:26 3371次阅读
    UDP<b class='flag-5'>协议</b>的<b class='flag-5'>报文格式</b>

    Path延时测量相关报文格式介绍

    Pdelay_Req报文格式定义 如下图15所示为IEEE802.1AS定义的报文格式定义: 图15 Pdelay_Req报文格式定义 上图中header与SYNCMessage头信息定义
    的头像 发表于 07-24 10:45 987次阅读
    Path延时测量相关<b class='flag-5'>报文格式</b>介绍

    如何让超宽带(UWB)信号测试变得简单易行

    如何让超宽带(UWB)信号测试变得简单易行? 随着物联网、智能家居和自动驾驶等领域的不断发展,超宽带(UWB)信号的测试变得越来越重要。UWB信号不仅可以提供高带宽和低功耗的无线通信,还可
    的头像 发表于 10-22 11:41 1019次阅读

    modbus报文解析,modbus报文格式详解

    Modbus协议是一种通信协议,用于在工业自动化系统中连接电子设备,用于在工业自动化和控制系统中进行数据交换。。Modbus协议通过串行通信线路(例如RS-485)或以太网进行通信。M
    的头像 发表于 01-09 16:45 5507次阅读

    一种简单易行的可编程振荡器构建方法

    本文介绍一种简单易行的可编程振荡器构建方法,其中振荡频率和幅度可以通过使用digiPOT来彼此独立地调节。
    发表于 01-15 10:05 210次阅读
    一种<b class='flag-5'>简单易行</b>的可编程振荡器构建方法

    modbus报文解析,modbus报文格式详解

    Modbus协议是一种通信协议,用于在工业自动化系统中连接电子设备,用于在工业自动化和控制系统中进行数据交换。。Modbus协议通过串行通信线路(例如RS-485)或以太网进行通信。M
    的头像 发表于 04-16 15:16 2363次阅读