Siemens PPI协议分析
西门子S7-200PPI通信协议
西门子S7-200PPI通信协议PPI通信协议是一种主从式的通信协议,上位机即PC机为主,PLC为从。
通信开始由计算机发起,PLC予以响应。
1)、计算机按通信任务,用一定格式,向PLC发送通信命令。
2)、PLC收到命令后,进行命令校验,如无误,则向计算机发送数据E5H或F9H,作出初步应答。
3)、计算机收到初步应答后,再向PLC发送SD DA SA FCFCS ED确认命令。
这里,SD为起始字符,为10H;DA为目的,即PLC地址02H;SA为数据源,即计算机地址00H;FC为功能码,取5CH;FCS为SA、DA、FC和的256余数,为5EH;末字节ED为结束符,也是16H。
如按以上设定的计算机及PLC地址,则发送10、02、00、5C、5E、及16,6个字节的十六进制数据,以确认所发命令。
4)、PLC收到此确认后,执行计算机所发送的通信命令,并向计算机返回相应数据。
它的通信过程要往复两次才完成一次的通信,比较麻烦,但较严谨,不易出错。
SD LE LER SD DA SA FC DASP SSAP DU FCS EDSD:(Start Delimiter)开始定界符,占1字节,为68HLE:(Length)报文数据长度,占1字节,标明报文以字节计,从DA到DU的长度;LER:(Repeated Length)重复数据长度,同LESD: (Start Delimiter)开始定界符(68H)DA:(DestinationAddress)目标地址,占1字节,指PLC在PPI 上地址,一台PLC时,一般为02,多台PLC时,则各有各的地址;SA:(Source Address)源地址,占1字节,指计算机在PPI上地址,一般为00;FC:(Function Code)功能码,占1字节,6CH一般为读数据,7CH一般为写数据DSAP:(Destination Service Access Point)目的服务存取点,占多个字节SSAP:(Source Service Access Point)源服务存取点,占多个字节DU:(Data Unit)数据单元,占多个字节FCS:(Frame CheckSequence)占1字节,从DA到DU之间的校验和的256余数;ED:(End Delimiter)结束分界符,占1字节,为16H命令类型1)读命令读命令长度都是33个字节。
S7200_PPI通信协议
S7-200 PPI通信协议PPI通信协议是一种主从式的通信协议,上位机即PC机为主,PLC为从。
通信开始由计算机发起,PLC予以响应。
1)、计算机按通信任务,用一定格式,向PLC发送通信命令。
2)、PLC收到命令后,进行命令校验,如无误,则向计算机发送数据E5H或F9H,作出初步应答。
3)、计算机收到初步应答后,再向PLC发送SD DA SA FC FCS ED确认命令。
这里,SD为起始字符,为10H;DA为目的,即PLC地址02H;SA为数据源,即计算机地址00H;FC为功能码,取5CH;FCS为SA、DA、FC和的256余数,为5EH;末字节ED为结束符,也是16H。
如按以上设定的计算机及PLC地址,则发送10、02、00、5C、5E、及16,6个字节的十六进制数据,以确认所发命令。
4)、PLC收到此确认后,执行计算机所发送的通信命令,并向计算机返回相应数据。
它的通信过程要往复两次才完成一次的通信,比较麻烦,但较严谨,不易出错。
SD LE LER SD DA SA FC DASP SSAP DU FCS EDSD:(Start Delimiter)开始定界符,占1字节,为68HLE:(Length)报文数据长度,占1字节,标明报文以字节计,从DA到DU的长度;LER:(Repeated Length)重复数据长度,同LESD: (Start Delimiter)开始定界符(68H)DA:(Destination Address)目标地址,占1字节,指PLC在PPI上地址,一台PLC时,一般为02,多台PLC时,则各有各的地址;SA:(Source Address)源地址,占1字节,指计算机在PPI上地址,一般为00;FC:(Function Code)功能码,占1字节,6CH一般为读数据,7CH一般为写数据DSAP:(Destination Service Access Point)目的服务存取点,占多个字节SSAP:(Source Service Access Point)源服务存取点,占多个字节DU:(Data Unit)数据单元,占多个字节FCS:(Frame Check Sequence)占1字节,从DA到DU之间的校验和的256余数;ED:(End Delimiter)结束分界符,占1字节,为16H命令类型1)读命令读命令长度都是33个字节。
Siemens MPI协议解析
Siemens MPI协议解析协议名称:1. 引言Siemens MPI(Multi-Point Interface)协议是西门子公司用于其工业自动化设备之间进行通信的一种串行通信协议。
该协议被广泛应用于西门子工业自动化产品系列中,包括PLC(可编程逻辑控制器)、HMI(人机界面)、IO模块等。
本文将详细解析Siemens MPI协议的结构、功能和通信过程。
2. 协议结构Siemens MPI协议采用了经典的主从结构,其中包括一个主站(Master)和多个从站(Slave)。
主站负责发起通信请求,而从站则负责响应请求并提供数据。
3. 功能Siemens MPI协议支持以下功能:- 数据读取和写入:主站可以向从站请求读取或写入数据。
- 报警和事件通知:从站可以向主站发送报警和事件通知。
- 设备状态监控:主站可以查询从站的状态信息。
- 程序下载和上传:主站可以将程序下载到从站中,或从从站中上传程序。
4. 通信过程Siemens MPI协议的通信过程包括以下步骤:4.1 连接建立主站通过MPI总线与从站建立通信连接。
连接建立时,主站向从站发送连接请求,并等待从站的响应。
4.2 数据传输连接建立后,主站可以向从站发送读取或写入数据的请求。
请求中包含数据的地址和长度等信息。
从站接收到请求后,根据请求进行相应的数据读取或写入操作,并将结果返回给主站。
4.3 报警和事件通知从站可以根据设备状态发送报警和事件通知给主站。
主站接收到报警或事件通知后,可以采取相应的措施进行处理。
4.4 设备状态监控主站可以周期性地向从站发送状态查询请求,以获取从站的状态信息。
从站接收到查询请求后,将状态信息返回给主站。
4.5 程序下载和上传主站可以向从站发送程序下载请求,将程序下载到从站中。
从站接收到下载请求后,将程序保存并进行相应的处理。
主站也可以向从站发送程序上传请求,从站接收到上传请求后,将程序数据发送给主站。
5. 总结Siemens MPI协议是一种用于西门子工业自动化设备之间通信的串行通信协议。
Siemens-PPI协议分析
摘要:通过数据监视,分析的方法,找出了PPI协议的关键报文格式,可用于上位机、现场设备与S7-200 CPU之间通讯。
关键字:PLC ,PPI ,协议1 前言西门子S7-200 PLC之间或者PLC与PC之间通信有很多种方式:自由口,PPI 方式,MPI方式,Profibus方式。
使用自由口方式进行编程时,在上位机和PLC 中都要编写数据通信程序。
使用PPI协议进行通信时,PLC可以不用编程,而且可读写所有数据区,快捷方便。
但是西门子公司没有公布PPI协议的格式。
用户如果想使用PPI协议监控,必须购买其监控产品或第三方厂家的组态软件。
这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过PPI协议接入PLC。
其它通讯方式编程也存在编程复杂,需要购买软件和授权等局限性(1)。
通过数据监视、分析的方法,我们找出了PPI协议的关键报文格式,可用于上位机、现场设备与S7-200 CPU之间通讯。
2 分析方法西门子的Step 7 Micro/Win32 是用于S7-200系列PLC的开发工具,它使用PC机上的COM口通过一条PC /PPI编程电缆连到PLC的编程口上。
这说明,PC实际上是可以通过串口同S7-200 CPU通讯。
只是我们不知道通讯协议而已。
通过截获PC机串口上的收发数据,对照Step 7软件发出的指令,我们就有可能分析出有关指令的报文和通讯方式;然后,直接通过串口向PLC发送报文,以验证这些指令报文是否正确。
本着这一思想,我们采用以下步骤获得这些报文。
首先制作一个串口的分支器,COM1的RX、TX分别接到COM2的TX、RX,即交叉接线,使得COM1发的数据COM2能收到。
PC/PPI编程电缆接在COM1上,这样,Step7 Micro/Win32发给PLC的报文就可以在COM2上接收了。
我们按S7-200系统手册设置好两个串口,参数要一样,均为9600,8,偶校验,1位停止位。
SiemensPLC的PPI通信协议的解析与应用
+, 引言
’()*)+, 提供的 5(6789(+ 软件, 采用的是 --0 ( -8(+: :8 -8(+: ) 协 议, 仅 仅 可 以 用 来 传 输、 调试 -./ 程序, 不知是出于保密还是其它原因, 并不向 外界公布源代码。在现场应用中, 当需要 -./ 与 上位机通信时, 普遍使用自定义协议与上位机通 信。在这种通信方式中, 需要编程者首先定义自 己的自由通信格式, 在 -./ 中编写代码, 利用中断 方式控制通信端口的数据收发。采用这种方式, -./ 编程调试较为烦琐, 占用 -./ 的软件中断和 代码资源, 而且当 -./ 的通信口定义为自由通信 口时, -./ 的 编 程 软 件 无 法 对 -./ 进 行 监 控, 给 -./ 程序调试带来不便。 利用 --0 协议实现通信, 可以大大简化控制 程序的编写难度。’()*)+, ’;<"&&-./ 的编程通信 接口, 内部固化 --0 通信协议, 如果上位机利用编 程通信口遵循 --0 协议来读写 -./ , 就可以省略编 写自定义模式下的 -./ 的通信代码, 可通过读写 的方式实现数据和控制命令的通信。
格式发读写指令, -./ 作出接收正确的响应返回 应答数据 =%? 或 @!?, 上位机接到此响应则发出 确认命令 ( $& &" %/ %= $3 ) , -./ 再返回给上位机 相应数据。 数据的组成格式是: ’A .= .=7 ’A AB ’B @/ A’B- ’’B- AC @/’ =A。 其 中: ’A 为 开 始 符 ( 3D?) ; .= , .=7 为数据长度 ( 从 AB 到 AC ) ; AB 为目的地址; ’B 为源地址; @/ 为功能码 ( 3/? ) ; A’B- 为目的服务存取点; ’’B- 为源服务存取点; AC 为 数 据 单 元; @/’ 为 校 验 和; =A 为 结 束 符 ( $3?) 。 -. -, 读命令分析 $4 $4 $E 一次读一条数据 对于一次读取一个数据, 读命令都是 >> 个字 节。前面的 & F "$ 字节是相同的, 为 :3D $2 $2 3D &" && 3/ >" &$ && && && && && &= && && &# &$ $" &B $& 。因为是 -/ 上发的读 -./ 数据的命令, 所以 ’B G && , AB G &" , 如果有多个站, AB 要改成 相应的站号。读命令中从 AB 到 AC 的长度为 $2 即 "; 个字节。 从 "" 字节开始根据读取数据的类型、 位置不 同而不同, 如表 $ 所示。 表中 2H:) "" 为读取数据 的 长 度: &$ 表 示 $ 2(:, &" 表示 $ 2H:), &# 表示 $ 987I , &3 表示 A8JKL) 987I ; 表中 2H:) "# 为数据个数: 这里是 &$ , 一次 读一个数据; 表中 2H:) "3 为存储器类别: &$ 表示 1 存储器, && 表示其它;表中 2H:) "; 为存储器型 号: &# 表示 ’,&% 表示 ’5,&3 表示 B0,&; 表示 BM, $= 表示 / , D$ 表示 0 , D" 表示 M, D> 表示 5,
PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯 (2)
PPI协议详解 ppi通讯协议 ppi通信协议vb与ppi协议通讯PPI协议详解一、概述PPI(Programmable Peripheral Interface)是一种用于编程可编程逻辑控制器(PLC)和外部设备之间通信的协议。
本协议详解将介绍PPI通讯协议的基本原理、通信方式、数据格式以及与VB语言的通信方法。
二、通信方式1. 串行通信:PPI协议支持串行通信,使用RS485物理层接口。
通过串行通信,PLC可以与多个外部设备进行通信,并实现数据的读取和写入。
2. 并行通信:PPI协议还支持并行通信方式,使用DB9接口进行连接。
并行通信方式适用于短距离通信,通信速率较高。
三、数据格式PPI通讯协议的数据格式包括帧头、数据区和校验位。
1. 帧头:PPI通讯协议的帧头由固定的几个字节组成,用于标识数据包的起始。
2. 数据区:数据区包含了具体的数据内容,可以是指令、地址或者数据。
3. 校验位:校验位用于校验数据的完整性,通常使用CRC校验算法。
四、与VB语言的通信方法VB语言与PPI协议的通信可以通过串口通信实现。
以下是基本的通信流程:1. 打开串口:在VB程序中打开与PLC相连接的串口,并设置相应的通信参数,如波特率、数据位、停止位等。
2. 发送数据:使用VB语言编写相应的指令,将数据发送给PLC。
指令包括读取数据、写入数据等操作。
3. 接收数据:通过串口接收来自PLC的响应数据,并进行相应的处理。
可以根据数据的格式进行解析,获取所需的数据内容。
4. 关闭串口:在通信结束后,关闭与PLC相连接的串口。
五、示例代码以下是一个简单的VB程序示例,用于与PLC进行PPI通信:```' 引用串口通信库Imports System.IO.Ports' 创建串口对象Dim serialPort As New SerialPort()' 设置串口参数serialPort.PortName = "COM1"serialPort.BaudRate = 9600serialPort.DataBits = 8serialPort.StopBits = StopBits.OneserialPort.Parity = Parity.None' 打开串口serialPort.Open()' 发送指令Dim command As Byte() = {&H1, &H2, &H3, &H4} ' 示例指令serialPort.Write(command, 0, command.Length)' 接收响应Dim response As Byte() = New Byte(255) {} ' 假设响应数据长度不超过255个字节Dim bytesRead As Integer = serialPort.Read(response, 0, response.Length)' 处理响应数据Dim responseData As String = Encoding.ASCII.GetString(response, 0, bytesRead) Console.WriteLine("Response: " & responseData)' 关闭串口serialPort.Close()```六、总结通过本文的详细介绍,我们了解了PPI通讯协议的基本原理、通信方式、数据格式以及与VB语言的通信方法。
PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯
PPI协议详解 ppi通讯协议 ppi通信协议vb与ppi协议通讯PPI协议详解一、引言PPI(Point-to-Point Interface)是一种用于工业自动化领域的通信协议,用于实现PLC(Programmable Logic Controller)与外部设备之间的数据交换。
本文将详细介绍PPI协议的基本原理、通信方式以及相关参数设置。
二、协议概述1. PPI协议是一种点对点的通信协议,即一台PC机与一台PLC之间建立一对一的通信连接。
2. PPI协议采用串行通信方式,使用RS485物理层接口进行数据传输。
3. PPI协议支持数据的读取和写入操作,可以实现PLC与PC机之间的双向数据交换。
三、通信协议1. 物理层接口:PPI协议使用RS485物理层接口,通过两根数据线(D+和D-)进行数据传输。
2. 通信速率:PPI协议支持多种通信速率,常见的有9.6Kbps、19.2Kbps、187.5Kbps等。
3. 数据帧格式:PPI协议的数据帧由起始位、数据位、校验位和停止位组成,其中校验位可以选择奇校验、偶校验或无校验。
4. 通信模式:PPI协议支持主从模式和从从模式两种通信模式。
在主从模式下,PC机作为主站发送指令,PLC作为从站接收指令并返回响应;在从从模式下,PC机和PLC都可以发送指令和接收响应。
四、通信过程1. 主站发送指令:PC机作为主站发送指令到PLC。
指令包括命令码、数据和校验位等信息。
2. 从站接收指令:PLC作为从站接收主站发送的指令,并进行校验。
3. 从站执行指令:PLC根据接收到的指令进行相应的操作,如读取数据、写入数据等。
4. 从站返回响应:PLC将执行结果返回给主站,包括数据、状态信息等。
5. 主站接收响应:PC机作为主站接收从站返回的响应,并进行校验。
6. 数据处理:PC机对接收到的数据进行解析和处理,如显示在界面上、保存到文件中等。
五、参数设置1. 通信地址:PLC和PC机之间需要设置通信地址,确保能够正确建立通信连接。
PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯
PPI协议详解 ppi通讯协议 ppi通信协议vb与ppi协议通讯PPI协议详解1. 介绍PPI(Point-to-Point Interface)是一种用于工业自动化系统的通信协议,用于连接编程设备(如PC)与可编程逻辑控制器(PLC)之间的通信。
本协议旨在提供高效可靠的数据传输,使得编程设备能够与PLC进行数据交换和远程控制。
2. 协议结构PPI协议采用点对点的通信方式,分为物理层和数据链路层两部分。
2.1 物理层PPI协议使用RS485总线作为物理层传输介质,具有抗干扰能力强、传输距离远等特点。
编程设备和PLC通过RS485接口进行连接,其中编程设备作为主站,PLC作为从站。
2.2 数据链路层数据链路层负责数据的传输和错误检测。
PPI协议将数据分为帧进行传输,每帧由起始符、地址、数据、校验和等字段组成。
2.2.1 帧结构PPI协议的帧结构如下:起始符 | 地址 | 数据 | 校验和起始符:用于标识一帧数据的开始,通常为0x68。
地址:指定PLC的地址,用于区分不同的PLC。
数据:包含要发送或接收的数据。
校验和:用于检测数据传输过程中是否出现错误。
2.2.2 数据传输编程设备通过发送帧给PLC来传输数据,PLC接收到帧后进行处理,并可以返回响应帧给编程设备。
数据传输的过程中,编程设备和PLC通过交替发送和接收帧的方式进行通信。
3. PPI通讯协议PPI通讯协议定义了编程设备与PLC之间的通信规则和消息格式,包括数据读写、寄存器访问、程序控制等功能。
3.1 数据读写编程设备可以通过PPI通讯协议向PLC写入数据或读取数据。
写入数据时,编程设备发送写入命令帧给PLC,并携带要写入的数据。
读取数据时,编程设备发送读取命令帧给PLC,并等待PLC返回响应帧,响应帧中包含要读取的数据。
3.2 寄存器访问PPI通讯协议定义了一系列寄存器,用于存储和访问PLC的状态信息、输入输出信号等。
编程设备可以通过读写命令访问这些寄存器,实现对PLC的状态监测和控制。
西门子PPI通讯协议
?西门子PPI通讯协议!看看吧!S7-200?PLC之PPI协议?????通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB 编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。
这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point?to?Point)协议,可以用来传输、调试PLC程序。
在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。
在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC中编写代码,利用中断方式控制通讯端口的数据收发。
采用这种方式,PLC编程调试较为烦琐,占用PLC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC的编程软件无法对PLC进行监控,给PLC程序调试带来不便。
SIEMENS?S7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI 协议来读写PLC,就可以省略编写PLC的通讯代码。
如何获得PPI协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据读写报文。
这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能。
软件设计?系统中测控任务由SIEMENS?S7-226PLC完成,PLC采用循环扫描方式工作,当定时时间到时,执行数据采集或PID控制任务,完成现场的信号控制。
计算机的监控软件采用VB编制,利用MSComm控件完成串口数据通讯,通讯遵循的协议为PPI协议。
?PPI协议西门子的PPI(Point?to?Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。
Siemens MPI协议解析
Siemens MPI协议解析协议名称:Siemens MPI协议解析一、引言Siemens MPI(Multi-Point Interface)协议是一种用于工业自动化领域的通信协议,用于实现Siemens设备之间的数据交换和通信。
本协议解析旨在详细描述Siemens MPI协议的结构、数据传输方式以及相关通信规范。
二、协议结构1. 帧格式Siemens MPI协议采用帧格式进行数据传输。
每个帧由固定的帧头、数据字段和帧尾组成,具体格式如下:帧头:2个字节,用于标识帧的开始。
数据字段:可变长度,用于传输实际数据。
帧尾:2个字节,用于标识帧的结束。
2. 数据格式Siemens MPI协议中的数据按照字节进行传输,采用大端字节序。
数据类型包括整型、浮点型、字符串等,具体格式如下:整型:4个字节,采用有符号补码表示。
浮点型:4个字节,采用IEEE 754标准表示。
字符串:以ASCII码形式表示,以NULL字符结尾。
三、数据传输方式1. 主从模式Siemens MPI协议中,数据传输通常采用主从模式。
主站负责发起通信请求,从站负责响应请求并返回数据。
主站和从站之间通过MPI总线进行数据交换。
2. 帧序列Siemens MPI协议中的数据传输采用帧序列的方式。
主站发送请求帧,从站接收并返回响应帧,主站再接收响应帧。
帧序列的具体流程如下:a. 主站发送请求帧:主站发送帧头,数据字段(包含请求数据)和帧尾。
b. 从站接收请求帧:从站接收到请求帧后,解析数据字段中的请求数据,并根据请求执行相应操作。
c. 从站发送响应帧:从站发送帧头,数据字段(包含响应数据)和帧尾。
d. 主站接收响应帧:主站接收到响应帧后,解析数据字段中的响应数据,并进行相应处理。
四、通信规范1. 地址分配Siemens MPI协议中,每个设备都有一个唯一的地址,用于在总线上进行通信。
地址由主站进行分配,并通过配置文件或编程方式进行设置。
2. 数据传输Siemens MPI协议支持多种数据传输方式,包括读取数据、写入数据和数据交换等。
PPI协议
PPI协议
PPI通讯协议SIEMENS专为s7-200plc开发的通信协议。
是一种主从协议,主站发送要求到从站,从站响应。
默认情况下,s7-200cpu工作在PPI从站模式,要执行网络读写指令,必须用程序吧CPU设置为PPI主站模式,此时可以利用网络读写指令读写其他的PLC,也可以响应其他主站的申请。
网络读指令NETR、网络写指令NETW格式为:
NETR TBL,PORT //TBL;VB,MB
NETW TBL,PORT //PORT;0,1
PPI协议可以运行在多种类型的串口网络上,包括COM、USB、以太网等。
而“PPI接口”只是一种习惯称谓,不规范,但是业内都能理解。
严格的讲应该是“执行PPI协议的通讯接口”。
在S7-200中,PPI接口多指PLC上的PORT(RS485标准),其默认状态下是执行PPI 协议的;如果将其设置为自由口模式,则成为普通的RS485接口,可以执行用户指定的通讯协议。
PLC支持哪些通讯协议PLC支持的几种通讯协议
PLC支持哪些通讯协议PLC支持的几种通讯协议导读PLC支持哪些通讯协议呢?下面为PLC支持的几种通讯协议介绍,感兴趣的朋友不妨往下看看~PLC支持哪些通讯协议呢?下面为PLC支持的几种通讯协议介绍,感兴趣的朋友不妨往下看看~PLC支持哪些通讯协议一、PPI通讯是西门子公司专为s7-200系列plc开发的通讯协议。
内置于s7-200CPU中。
PPI协议物理上基于RS-485口,通过屏蔽双绞线就可以实现PPI通讯。
PPI协议是一种主-从协议。
主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。
主站靠PPI协议管理的共享连接来与从站通讯。
PPI协议并不限制与任意一个从站的通讯的主站的数量,但在一个网络中,主站不能超过32个。
PPI协议最基本的用途是让西门子Step7-Micro/Win编程软件上传和下载程序和西门子人机界面与PC通信。
二、MPI通讯MPI(multipointinterface)是SIMATICs7多点通信的接口,是一种适用于少数站点间通信的网络,多用于连接上位机和少量plc之间近距离通信。
通过Profibus电缆和接头,将控制器s7-300或s7-400的CPU自带的MPI编程口及s7-200CPU自带的PPI通信口相互连接,以及与上位机网卡的编程口(MPI/DP口)通过Profibus或MPI电缆连接即可实现。
网络中当然也可以不包括PC机而只包括plc。
MPI的通信速率为19.2k~12mbit/s,但直接连接s7-200CPU通信口的MPI网,其最高速率通常为187.5kbit/s(受s7-200CPU最高通信速率的限制)。
在MPI网络上最多可以有32个站,一个网段的最长通信距离为50米(通信波特率为187.5kbit/s时),更长的通信距离可以通过rs-485中继器扩展。
MPI允许主-主通信和主-从通信,每个s7-200CPU通信口的连接数为4个。
MPI协议不能与一个作为PPI主站的s7-200CPU通信,即s7-300或s7-400与s7-200通信时必须保证这个s7-200CPU不能再作PPI主站,Micro/Win也不能通过MPI协议访问作为PPI主站的s7-200CPU。
S7-200PPI通讯协议
S7-200 PLC之PPI协议S7-200 PLC之PPI协议通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。
这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point to Point)协议,可以用来传输、调试PLC程序。
在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。
在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC中编写代码,利用中断方式控制通讯端口的数据收发[4]。
采用这种方式,PLC编程调试较为烦琐,占用PLC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC的编程软件无法对PLC进行监控,给PLC程序调试带来不便。
SIEMENS S7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。
如何获得PPI协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC 的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据读写报文。
这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能。
软件设计系统中测控任务由SIEMENS S7-226PLC完成,PLC采用循环扫描方式工作,当定时时间到时,执行数据采集或PID控制任务,完成现场的信号控制。
计算机的监控软件采用VB编制,利用MSComm控件完成串口数据通讯,通讯遵循的协议为PPI协议[2]。
PPI协议西门子的PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。
西门子PLC几种常见的连接口和通讯协议
西门子PLC几种常见的连接口和通讯协议第一个大问题:RS232接口与RS485接口的区别一、接口的物理结构1、RS232接口:计算机通讯接口之一,通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。
2、RS485RS485无具体的物理形状,根据工程的实际情况而采用的接口。
二、接口的电子特性1、RS232:传输电平信号接口的信号电平值较高(信号“1”为“-3V至-15V”,信号“0”为“3至15V”),易损坏接口电路的芯片,又因为与TTL电平(0~“<0.8v”,1~“>2.0V”)不兼容故需使用电平转换电路方能与TTL电路连接。
另外抗干扰能力差。
2、RS485:传输差分信号逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。
接口信号电平比RS-232降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。
三、通讯距离长短1、RS232:RS232传输距离有限,最大传输距离标准值为15米,且只能点对点通讯,最大传输速率最大为20kB/s。
2、RS485:RS485最大无线传输距离为1200米。
最大传输速率为10Mbps,在100Kb/S的传输速率下,才可以达到最大的通信距离。
采用阻抗匹配、低衰减的专用电缆可以达到1800米!超过1200米,可加中继器(最多8只),这样传输距离接近10Km。
四、能否支持多点通讯RS232:RS232接口在总线上只允许连接1个收发器,不能支持多站收发能力,所以只能点对点通信,不支持多点通讯。
RS485:RS485接口在总线上是允许连接多达128个收发器。
即具有多站通讯能力,这样用户可以利用单一的RS485接口方便地建立起设备网络。
五、通讯线的差别RS232:可以采用三芯双绞线、三芯屏蔽线等。
Siemens MPI协议解析
Siemens MPI协议解析协议名称:Siemens MPI协议解析协议简介:Siemens MPI(Multi-Point Interface)协议是由西门子公司开发的一种用于PLC (可编程逻辑控制器)和外部设备之间进行通信的协议。
该协议使用点对点的通信方式,在工业自动化领域广泛应用。
本文将详细解析Siemens MPI协议的通信规范和数据格式,以帮助读者更好地理解和应用该协议。
一、协议通信规范:1. 通信方式:Siemens MPI协议使用点对点通信方式,即一主一从的通信模式。
主设备负责发起通信请求,从设备负责响应请求并返回数据。
2. 物理层连接:MPI协议使用RS485串行通信,主从设备之间通过串行电缆进行连接。
通信距离一般在1000米以内,通信速率可达到187.5kbps。
3. 帧结构:MPI协议使用固定长度的帧结构进行数据传输。
每个帧包含帧头、数据区和帧尾。
帧头和帧尾是固定的标识符,用于标识帧的开始和结束;数据区包含实际的通信数据。
4. 通信协议:MPI协议使用一种基于命令/响应的通信协议,主设备发送命令给从设备,从设备接收并执行命令,然后返回响应给主设备。
二、数据格式:1. 帧头:帧头是一个固定长度的标识符,用于标识帧的开始。
通常为两个字节,取值为0x10和0x68。
2. 帧尾:帧尾是一个固定长度的标识符,用于标识帧的结束。
通常为两个字节,取值为0x16和0x10。
3. 数据区:数据区包含实际的通信数据,其格式由具体的命令和响应定义。
数据区的长度可以根据具体的通信需求而变化。
4. 校验位:校验位用于验证数据的完整性和正确性。
MPI协议使用CRC16校验算法,将数据区的内容进行计算,并将计算结果添加到帧尾中。
三、常用命令和响应:1. 读取数据命令:主设备发送读取数据命令给从设备,从设备根据命令中指定的地址和长度读取数据,并将读取的数据作为响应返回给主设备。
2. 写入数据命令:主设备发送写入数据命令给从设备,从设备根据命令中指定的地址和数据写入数据,并将写入结果作为响应返回给主设备。
PPI协议简介
PPI协议简介1.引言在工业控制领域,PLC以其可靠性高、抗干扰能力强,通用性强、灵活性好、功能齐全,编程简单、使用方便,以及安装简便等特点而得到了广泛的应用。
西门子公司的S7-200是一种叠装式结构的小型PLC,其指令丰富、功能强大、结构紧凑、便于扩展、性价比高,因而市场占有率高。
在许多实际应用场合,通常需要人机界面(HMI)来实现对数据的输入、采集与生产过程的监控。
在某些生产领域,如竹节纱生产,为降低投资成本,可以考虑开发自己的现场监控设备。
在监控设备的开发过程中,需要考虑与S7-200系列PLC的通讯方式。
S7-200系列PLC支持的通讯方式有:PPI、MPI、Profibus和自由口。
采用MPI协议需要相应的CP卡或MPI卡支持,如CP5511 PCMCIA;若采用Profibus协议,则需要Profibus-DP模块EM277;若采用自由口方式,则在PLC中以及上位机中都需要编写通讯程序,实现起来较困难,同时也会占用PLC有限的程序存储空间;若采用PPI协议,则上位机只需要按照PPI协议进行通讯即可,PLC中不需要编写通讯程序,这对于像竹节纱控制系统来说,极大地节省了PLC有限的程序存储空间。
PPI协议是一个主从协议:主站向从站发出请求,从站做出应答。
从站不主动发出信息,而是等候主站向其发出请求或查询,要求应答。
PPI协议不限制能够与任何一台从站通讯的主站数目;但是,无法在网络中安装32台以上主站。
PPI协议是不公开的,可以通过监听PPI协议的通信数据,与Profibus标准进行对比分析,归纳总结就可以得到PPI协议的报文格式。
另外,通讯设置采用8个数据位,1个停止位,偶校验,波特率可自行选择。
2.PPI协议分析PPI协议通讯采用主从方式,允许多主站,主站可以是PC机,也可以是HMI、PLC等设备,但是一个网络上不允许超过32台主站,从站为PLC。
每一条完整的PPI指令的实现需要四次子指令操作,主站发出读写指令,从站响应并发出响应信息,主站收到此信息后发出确认信息,从站收到确认信息后完成读写操作并返回相应的数据。
PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯
PPI协议详解 ppi通讯协议 ppi通信协议vb与ppi协议通讯PPI协议详解1. 引言PPI(Point-to-Point Interface)协议是一种用于工业自动化领域的通信协议,用于实现PLC(可编程逻辑控制器)与外部设备之间的通信。
本文将详细介绍PPI协议的定义、特点、通信方式以及与VB语言的通信。
2. 定义PPI协议是西门子公司开发的一种串行通信协议,用于PLC与外部设备之间的数据交换。
它基于RS485物理层通信标准,通过串行通信方式实现点对点的数据传输。
3. 特点3.1 高可靠性:PPI协议采用差分信号传输,具有抗干扰能力强的特点,适用于工业环境中的长距离通信。
3.2 简单易用:PPI协议的通信格式简单明了,易于实现和调试。
3.3 数据传输速率可调:PPI协议支持不同的数据传输速率,可根据实际需求进行调整。
4. 通信方式4.1 物理连接:PPI协议使用RS485接口进行通信,需要通过串行通信线缆将PLC与外部设备连接起来。
通信线缆一般采用双绞线,长度可根据具体情况而定。
4.2 通信协议:PPI协议定义了数据帧的格式,包括起始位、数据位、校验位和停止位等。
数据帧的结构清晰,便于数据的解析和处理。
4.3 通信流程:PPI协议的通信流程包括握手、数据传输和确认等步骤。
通信的发起方发送请求帧,接收方接收请求帧并发送响应帧进行确认。
通信双方通过协商确定数据的传输方式和速率。
5. VB与PPI协议通信5.1 VB语言支持:VB语言是一种常用的编程语言,可以通过串口通信模块与PLC进行通信。
VB语言提供了丰富的API接口,可以方便地实现与PPI协议的数据交互。
5.2 通信流程:在VB程序中,首先需要建立与PLC的串口连接,然后按照PPI协议的通信方式进行数据的发送和接收。
VB程序可以通过调用相应的API函数实现数据的封装和解析。
5.3 数据处理:VB程序可以对接收到的数据进行处理和分析,根据实际需求进行相应的业务逻辑操作。
Siemens MPI协议解析
Siemens MPI协议解析1. 引言本协议旨在解析Siemens MPI(Multi-Point Interface)协议,该协议是一种用于Siemens SIMATIC S7系列PLC(可编程逻辑控制器)之间进行通信的协议。
本协议将详细介绍MPI协议的基本原理、通信方式、数据帧结构以及相关的通信命令和错误处理。
2. MPI协议基本原理MPI协议是一种基于串行通信的协议,用于实现PLC之间的数据交换和通信。
它通过MPI总线连接多个PLC设备,并使用特定的通信命令进行数据传输。
MPI协议采用主从结构,其中一个PLC设备充当主站(Master),其他设备充当从站(Slave)。
主站负责发起通信请求和控制数据传输,从站负责响应请求并提供数据。
3. MPI通信方式MPI协议支持两种通信方式:点对点通信和多点通信。
在点对点通信中,主站与从站之间建立一对一的连接,数据传输效率较高。
而在多点通信中,主站可以同时与多个从站进行通信,但数据传输效率较低。
4. MPI数据帧结构MPI协议的数据帧由多个字节组成,每个字节包含特定的信息。
数据帧的结构如下:- 帧头:用于标识数据帧的起始位置,通常由两个字节组成。
- 地址:指定数据帧的目标设备地址,通常由一个字节组成。
- 命令:指定数据帧的通信命令,通常由一个字节组成。
- 数据:包含需要传输的数据,可以是一个或多个字节。
- 校验:用于验证数据帧的完整性和准确性,通常由一个字节组成。
- 帧尾:用于标识数据帧的结束位置,通常由一个字节组成。
5. MPI通信命令MPI协议定义了多个通信命令,用于实现不同的功能和操作。
以下是一些常用的通信命令:- 读取数据命令:用于从从站读取数据。
- 写入数据命令:用于向从站写入数据。
- 执行命令命令:用于执行从站中的特定命令。
- 确认命令:用于确认主站的通信请求。
- 错误处理命令:用于处理通信过程中的错误和异常情况。
6. MPI错误处理MPI协议在通信过程中可能会出现各种错误和异常情况,例如通信超时、数据传输错误等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Siemens PPI协议分析大家好:我是山东临沂的郝金红,由于前段时间的疯狂的研究西门子PPI协议解密之故,所以无心插柳的研究出了较实用的西门子S7-200 PPI协议,今天奉献大家。
我们经常要用于上位机、现场设备与S7-200CPU之间的通讯,但是西门子公司没有公布PPI协议的格式,用户如果想使用PPI协议监控,必须购买其监控产品或第三方厂家的组态软件。
大家要知道国内的组态王、紫金桥、力控等等组态公司是花了多少钱才得到的PPI的深层协议吗?其实西门子工控产品的超高价垄断掠夺行为已经引起了我们国家及业内人士的抵制和抗议,他们的什么软件都需要授权且对于系统的霸道性是有目共睹的。
这样给用户自主开发就带来了一定的困难,特别是想用VB、VC等语言自行开发,根本没办法接入PLC,要么你大把掏钱给他们。
洋为中用,最近在国外网站得到一个串口监视软件,带协议分析的相当不错,你吧!我就是通过此软件的数据监视、分析方法,找出了PPI协议的关键报文格式所在。
其实西门子S7-200 PLC之间或者PLC与PC之间通信有很多种方式:自由口,PPI方式,MPI方式,Profibus方式。
使用自由口方式进行编程时,在上位机和PLC 中都要编写数据通信程序。
使用PPI协议进行通信时,PLC可以不用编程,而且可读写所有数据区,快捷方便。
这也是我们之所以要研究、找出PPI协议的源动力!下面我们就要说说分析的方法了!西门子的STEP 7 MicroWIN 是用于S7-200系列PLC的开发工具,它使用PC机上的COM口通过一条PC/PPI编程电缆连到PLC的编程口上。
这说明,PC实际上是可以通过串口同S7-200 CPU通讯。
只是我们不知道通讯协议而已。
通过截获PC机串口上的收发数据,对照Step 7软件发出的指令,我们就有可能分析出有关指令的报文和通讯方式;然后,直接通过串口向PLC发送报文,以验证这些指令报文是否正确。
本着这一思想,我们采用以下步骤获得这些报文。
你首先下载上面那个英文的串口监控软件,英文不好的网友可以使用我们为你汉化的汉化包,替换原文件即可,你必须使用这个软件,因为我先前使用过很多的监控软件,在收发数据很多的情况下都有死机现象,造成数据丢失,容易给我们错误分析。
接下来你先打开这个软件,新建、选择端口COM1,然后再将PC/PPI 编程电缆接在COM1上,这样,Step7 Micro/Win发给PLC的报文就可以在监视软件上完全裸露的展现在你的面前了。
我们按S7-200系统手册设置好串口参数:9600,8,E偶校验,1位停止位。
然后设置好Step7软件,使之能与S7-200 CPU正常通讯。
从Step7软件中发出一个明确指令,监视软件就能显示这条报文了(用16进制显示,ASCII码的只能看到几个版本号之类的,其他都没有意义)。
我们的破解策略就是通过软件监视的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。
这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源。
S7-200的编程口物理层为RS-485结构,SIEMENS 提供MicroWin软件,采用的是PPI(Point to Point)协议,关于232串口转485你可以采用我们网站开发研制的自制PPI电缆,效果倍好哦!还是自己动手,丰衣足食啊!不能光说不练啊!下面我们就说说西门子PLC到底是怎么通讯的。
PC与PLC采用主从方式通讯,PC按如下文的格式发读写指令,PLC作出接收正确的响应(返回应答数据E5H或F9H见下文分析),上位机接到此响应则发出确认命令(10 02 5C 5E 16),PLC再返回给上位机相应数据。
一般上位机要连接PLC 就要先发送如下寻呼数据 10 02 00 49 4B 16 同志们呐!我们可都是有血、有肉、有思想、有灵感的高级动物啊,面对这么多枯燥、无味、复杂、混乱的机器数字你怎么记呢?反正我是记不住啊!(^_^开始洗脑)这时你可以闭上眼睛,安静、静、再静。
想一想战争时期的战地对讲机通话模式,那么这个初始的寻呼指令(10 02 00 49 4B 16)就可以理解为:“洞两洞两(02),我是洞洞(00),听到请回答,听到请回答!over!”。
现在我们来简单的分析一下这个指令的具体含义:10起始符,咳嗽一声要开始讲话的意思。
02是上位机要联系的下位机PLC的地址站号,就是要找的人。
00就是上位机电脑本身自己的站号。
49寻呼指令,呼叫寻找的意思。
16终止符,over、完毕、结束的意思。
其中4B为校验码,防止数据传输出错而设计的,它是这样得来的:02+00+49和的最后两位就是校验码,这就是所说的偶校验或称和校验也称余校验,因为取的是除以100后的余数。
计算器在16进制计算时公式(02+00+49)mod 100得出的数就是校验码,你计算一下是不是等于4B啊!其他的所有PPI协议校验都是如此。
假如02站号的PLC收到寻呼信号那么会回答:10 00 02 00 02 16意思是:“报告洞洞(00),洞两(02)收到,请指示,over!”这样的解释是不是很好理解啊!你有更好的解释吗?既然找到了要找的人,接下来PC上位机电脑,就是司令啦!就可以发号施令了。
这时上位机发出一条指令,这个指令下面详细解说,发号施令后如果PLC正确接收就会返回 E5 字符,意思是:“明白!”。
其实啊,说到这里PLC只说他明白,他已经明白了上位机PC的指示,但并没有执行命令,那么要怎么他才执行命令呢?就是上位机PC发出确认命令后才执行。
这时上位机会发出确认指令(10 02 5C 5E 16),这里的5C是执行指令,意思是:“请洞两立即执行,over!”。
然后PLC就干他该干的工作了!原来PLC 也不容易啊,怪不得叫下位机呢!就是下人的意思!说了这么多乱不乱呐?目的就是要理清上下级关系、主从关系,指令的顺序,用一个好的记忆方法记住枯燥无味的机器码。
下面我们列表分析读取PLC密码的指令:68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05 E0 D2 16读命令分析:一次读一条数据0.开始定界符(68H)1报文数据长度2.重复数据长度3.开始定界符(68H)4.目标地址,指该地址的值,就是PLC的地址5.本地地址,指该地址的指针,就是上位机自己的地址6.功能码,5CH为交替周期触发,6CH为首次信息周期触发,7CH为交替周期触发。
7-16.目的服务存取点17-21.源服务存取点 18位分析:01:位排列 02:字节排列 04:字排列 06:双字排列22-30.数据单元31.校验码32.结束分界符(16H)报文数据长度和重复数据长度为自DA至DU的数据长度,校验码为DA至DU数据的和校验,只取其中的末字节值关于这个校验码的计算方法同上面说明。
在读写PLC的变量数据中,读数据的功能码为 6CH,写数据的功能码为 7CH。
对于一次读取一个数据,读命令都是33个字节。
前面的0—21字节是相同的,为读取PLC密码的指令:68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05 E0 D2 16因为是PC上发的读PLC数据的命令,SA=00,DA=02,如果有多个站,DA要改成相应的站号。
读命令中从DA到DU的长度为1B即27个字节。
从22字节开始根据读取数据的类型、位置不同而不同。
上表是读不同存储器命令的Byte22—32。
上表读命令的Byte22-32从表中我们可以得出以下结果:Byte 22 读取数据的长度01:1 Bit 02:1 Byte04:1 Word 06:Double WordByte 24数据个数,这里是01 ,一次读多个数据时见下面的说明。
Byte 26 存储器类型,01:V存储器 00:其它Byte 27 存储器类型04:S 05:SM 06:AI 07:AQ 1E: C81:I 82:Q 83:M 84:V 1F: TByte 28,29,30存储器偏移量指针(存储器地址*8),如:VB100,存储器地址为100,偏移量指针为800,转换成16进制就是320H,则Byte 28—29这三个字节就是:00 03 20。
Byte 31 校验和,前面已说到这是从(DA+SA+DSAP+SSAP+DU) Mod 256 。
一次读多条数据对于一次读多个数据的情况,前21Byte与上面相似只是长度LD,LDr及Byte 14不同:Byte 14 数据块占位字节,它指明数据块占用的字节数。
与数据块数量有关,长度=4+数据块数*10,如:一条数据时为4+10=0E(H);同时读M,V,Q三个不同的数据块时为4+3*10=22(H)。
Byte 22 总是02 即以Byte为单位。
Byte 24 以字节为单位,连续读取的字节数。
如读2个VD则Byte24=8Byte 19---30 按上述一次读一个数据的格式依次列出,Byte 31---42 另一类型的数据,也是按上述格式给出。
以此类推,一次最多读取222个字节的数据。
写命令分析:一次写一个Double Word类型的数据,写命令是40个字节,其余为38个字节。
写一个Double Word类型的数据,前面的0—21字节为:68 23 23 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10写一个其它类型的数据,前面的0—21字节为:(与上面比较,只是长度字节发生变化)68 21 21 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10从22字节开始根据写入数据的值和位置不同而变化。
上表是几个写命令的Byte22—40。
字节 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40写入位置及值长度个数类型偏移量位数值、校验码、结束符M0.0=1 01 00 01 00 00 82 00 00 00 00 03 00 01 01 00 71 16M0.0=0 01 00 01 00 00 83 00 00 00 00 03 00 01 00 00 70 16M0.1=1 01 00 01 00 00 83 00 00 01 00 03 00 01 01 00 72 16vb100=10 02 00 01 00 01 84 00 03 20 00 04 00 08 10 00 AE 16vb100=FF 02 00 01 00 01 84 00 03 20 00 04 00 08 FF 00 9D 16VW100=FFFF 04 00 01 00 01 84 00 03 20 00 04 00 10 FF FF A6 16VD100=FFFFFFFF 06 00 01 00 01 84 00 03 20 00 04 00 20 FF FF FF FF B8 1写命令的Byte22—最后,经分析我们可以得出以下结果:Byte 22-- Byte 30 写入数据的长度、存储器类型、存储器偏移量与读命令相同。