PPI报文结构
PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯
PPI协议详解 ppi通讯协议 ppi通信协议vb与ppi协议通讯PPI协议详解一、引言PPI(Parallel Peripheral Interface)协议是一种用于并行通信的通讯协议,用于连接VB(Visual Basic)与外部设备之间的通信。
本文将详细介绍PPI协议的结构、通信方式、命令格式等内容,以帮助读者全面了解PPI协议的工作原理和使用方法。
二、PPI协议结构PPI协议采用主从结构,由一个主站(VB)和一个或多个从站(外部设备)组成。
主站负责发送命令和接收数据,从站负责接收命令和发送数据。
三、PPI协议通信方式PPI协议支持两种通信方式:同步通信和异步通信。
1. 同步通信在同步通信模式下,主站和从站之间的数据传输是同步进行的。
主站发送一个命令后,等待从站回应后再发送下一个命令。
这种通信方式适用于对实时性要求较高的应用场景。
2. 异步通信在异步通信模式下,主站和从站之间的数据传输是异步进行的。
主站可以连续发送多个命令,而无需等待从站的回应。
从站在接收到命令后,会立即执行,并将执行结果返回给主站。
这种通信方式适用于对实时性要求不高的应用场景。
四、PPI协议命令格式PPI协议的命令格式包括头部和数据部分。
1. 头部头部包括起始字节、目的地址、源地址和命令字等字段。
起始字节用于标识数据包的开始,目的地址和源地址用于指定通信的主从站,命令字用于指定具体的操作。
2. 数据部分数据部分用于传输实际的数据。
数据的格式和长度根据具体的应用场景而定,可以是数字、字符串、图像等。
五、PPI协议通信流程PPI协议的通信流程如下:1. 主站发送命令主站向从站发送命令,命令中包括具体的操作和参数。
2. 从站执行命令从站接收到命令后,执行相应的操作,并将执行结果返回给主站。
3. 主站接收结果主站接收从站返回的执行结果,并进行相应的处理。
4. 重复以上步骤根据具体的应用需求,主站可以继续发送命令,从站继续执行,并返回执行结果。
ppi的通信功能解读
一个网段
一个网段
一个网段
50米
最多1000米
图4-1 PPI网络连接示意图
50米
• S7-200的通信口为RS-485接口,PC/PPI多主站电缆用于计算 机与S7-200之间的通信,有RS-232C/PPI和USB/PPI两种 电缆。 • PPI网络连接示意图如图10-1所示,要求如下: (1)每个网段至多32个网络节点; (2)每个网段最长50米(不用中继器),可通过中继器扩展网 络,最多9 个中继器; (3)网络可包含127节点; (4)网络可包含32个主站; (5)网络总长9600米。
3.设定NETW和NETR的TBL参数表
图4-3 网络写指令NETW
图4-4 网络读指令NETR
4.通信参数设定
• CPU通信端口的设定可以通过STEP 7 Micro/WIN软件的“系统块(System Block)” 选项来进行。 • 最高地址(Highest Address • 波特率 • 地址间隔刷新系数(Gap Update Factor)
表4-1 网络读写指令TBL
字 节 0 1 2 7 D A 远程地址 远程站的数据区指针 (I、Q、M、V) E 0 0 错误代 码
3
4 5
6
7
数据长度
数据字节0
8
... 22
数据字节1
数据字节15
错误代码如表4-2所示:
表4-2 错误代码表
错误代码 0 1 2 3 4 5 6 7 无错误 远程站响应超时 接受错误:奇偶校验错,响应时帧或校验出错 离线错误:相同的站地址或无效的硬件引发冲突 队列溢出错误:激活超过8个的NETR/TREW指令 通信协议错误:没有使用PPI协议(SMB30)而调用NETR/NETW指令 非法参数:NETR/NETW表中包含非法或无效的值 没有资源:远程站点正在忙中(上装或下载程序) 定 义
PPI协议
西门子PPI协议分析:西门子S7-200 PLC之间或者PLC与PC之间通信有很多种方式:自由口,PPI方式,MPI方式,Profibus方式。
使用自由口方式进行编程时,在上位机和PLC中都要编写数据通信程序。
使用PPI协议进行通信时,PLC可以不用编程,而且可读写所有数据区,快捷方便。
但是西门子公司没有公布PPI协议的格式。
用户如果想使用PPI协议监控,必须购买其监控产品或第三方厂家的组态软件。
这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过PPI协议接入PLC。
其它通讯方式编程也存在编程复杂,需要购买软件和授权等局限性(1)。
通过数据监视、分析的方法,我们找出了PPI协议的关键报文格式,可用于上位机、现场设备与S7-200 CPU之间通讯。
PC与PLC采用主从方式通讯,PC按如下的格式发读写指令,PLC作出接收正确的响应(返回应答数据E5H或F9H见下文分析),上位机接到此响应则发出确认命令(10 02 5C 5E 16),PLC再返回给上位机相应数据。
一般上位机要连接PLC就要先发送如下数据 10 02 00 49 4B 16 你可以理解为我们常用的对讲机通话模式:00呼叫02,听到请回答10起始符02是之上位机要联系的下位级的地址站号00就是上位级本本身自己的站号 49寻呼指令 16终止符其中4B为校验码,是这样得来的:02+00+49的最后两位就是校验码,这就是所说的偶校验或称和校验。
计算器在16进制计算时公式(02+00+49)mod 100得出的数就是校验码,你计算一下是不是等于4B啊!其他的所有ppi协议校验都是如此。
假如02站号的PLC收到寻呼信号那么会回答: 10 00 02 00 02 16 意思是:报告00 ,02收到,请指示这样的解释是不是有意思啊!你有更好的解释吗?我们先来看看西门子老型号的PLC的读密码指令:请用串口软件以16进制发送,端口设置9600;e;8;1发送: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 意思:要求传送系统存储区05E0位开始的8个字符。
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协议(Programmable Peripheral Interface Protocol,可编程外设接口协议)的相关内容,包括ppi通讯协议和ppi通信协议。
同时,本文还将介绍VB与PPI协议通讯的相关内容。
二、PPI通讯协议概述PPI通讯协议是一种用于编程控制外设的通讯协议。
它定义了外设与主控设备之间的数据交换方式和通信规则。
PPI通讯协议的主要特点包括:1. 数据格式:PPI通讯协议规定了数据的格式,包括数据的位数、字节顺序等。
2. 通信速率:PPI通讯协议规定了通信的速率,即数据传输的速度。
3. 错误检测和纠正:PPI通讯协议提供了错误检测和纠正的机制,以确保数据传输的可靠性。
三、PPI通信协议详解PPI通信协议是一种用于编程控制外设之间通信的协议。
它定义了外设之间的数据传输方式和通信规则。
PPI通信协议的主要特点包括:1. 数据传输方式:PPI通信协议规定了数据的传输方式,包括同步传输和异步传输。
2. 数据帧结构:PPI通信协议规定了数据帧的结构,包括起始位、数据位、校验位等。
3. 控制信号:PPI通信协议定义了用于控制数据传输的各种信号,如使能信号、时钟信号等。
四、VB与PPI协议通讯VB(Visual Basic)是一种常用的编程语言,用于开发Windows应用程序。
与PPI协议通讯可以实现VB程序与外设之间的数据交换。
在VB与PPI协议通讯中,需要注意以下几点:1. 引入PPI库:在VB程序中,需要引入PPI库以便使用PPI协议相关的函数和方法。
2. 初始化PPI:在与外设通讯之前,需要初始化PPI协议,包括设置通信速率、数据格式等。
3. 数据交换:通过调用PPI库提供的函数和方法,可以实现与外设的数据交换。
4. 错误处理:在与外设通讯过程中,可能会出现错误。
需要进行适当的错误处理,以确保数据传输的可靠性。
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则完成正确的读写响应,回应给上位机数据。
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协议简介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的通信功能-幻灯片(1)
4.1.3 使用向导实现PPI通信
图4-5 “网络读/写操作”对话框
• 单击图4-5“下一项操 作”按钮,进入第二项 “网络读/写操作”对 话框
• 单击“下一步”,出现 分配存储区对话框
• 接下来,要调用向导生 成的子程序来实现数据 的传输,主站程序及注 释如图10-6所示。
图4-6 主站主程序
超级终端组态步骤如下: 1)执行 Windows 菜单命令
“开始”>“附件”>“通 信”>“超级终端”,为要新 建的连接输入连接名称。 2)选择连接时要使用的串口。 3)设置串口通信参数并保存连 接,注意此处设置要与PLC 程序中对应。 4)使用超级终端接收 S7-200 CPU 发送的信息。
图4-12 超级终端接受显示
… 04xxxx
Q0.0 Q0.1 Q0.2
… Q15.6 Q15.7 I0.0 I0.1 I0.2
… I15.6 I15.7 AIW0 AIW2 AIW4
… AIW62 HoldStart HoldStart+2 HoldStart+4
… HoldStart+2x(xxxx-1)
• Modbus 通信协议有 ASCII 和 RTU(远程传输 单元)两种报文传输模式。
4.2 自由口通信
• S7-200 CPU的串行通讯口可由用户程序控制,这种操作 模式称为自由口模式。自由口通信是一种基于 RS485硬 件基础上,允许应用程序控制 S7-200 CPU 的通信端口, 以实现一些自定义通信协议的通信方式。
• 当选择了自由口模式,程序可以使用接收中断、发送中断、 发送指令(XMT)和接收指令(RCV)来控制通讯操作。在 自由口模式下,通讯协议完全由程序控制。SMB30(用 于端口0)和SMB31(如果CPU有两个端口,则用于端口 1)用于选择波特率和奇偶校验。
西门子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则完成正确的读写响应,回应给上位机数据。
ppp格式 实例
PPP(Point to Point Protocol,点对点协议)协议是为在两个对等实体间传输数据包,建立简单连接而设计的。
这种连接提供了同时的双向全双工操作,并且假定数据包是按顺序投递的。
PPP协议还满足了动态分配IP地址的需要,并能够对上层的多种协议提供支持。
PPP在TCP/IP协议集中是位于数据链路层的协议,其物理实现方式有两种:一种是通过以太网口(这时称之为PPPoE,即PPP over Ethernet),另一种就是利用普通的串行接口。
本文主要讨论的就是后一种PPP协议的具体实现过程。
PPP协议是目前应用得最广的一种广域网协议,它主要由以下3部分组成:(1)在串行线路中对上层数据包的封装(HDLC);(2)用于建立、配置和检测数据链路连接的链路控制协议(LCP) ;(3)用于建立和配置不同网络层协议的网络控制协议(NCP) 协议簇。
下面从PPP协议的封装结构和PPP链路协商两个部分对PPP协议进行详细剖析。
PPP协议封装PPP 封装用于消除上层多种协议数据包的歧义,加入帧头、帧尾,使之成为互相独立的串行数据帧。
PPP 采用HDLC 的组帧格式,它是面向字符的。
在完整的PPP 帧中,帧头由帧开始标记、地址域、控制域、协议域组成,帧尾由校验域、帧结束标记组成(如表1 所示)。
表3:编码对应含义PPP帧以0x7e作为一帧的开始和结束的标记,占一个字节。
地址域和控制域固定的值,分别为0xff 和0x03,各占一个字节。
协议域为两个字节,在实际应用中因数据包的不同而不同。
PPP 帧具有错误检测机制,校验和中填写的就是发送方对帧数据的检验码,接收方在接收到该帧后对数据做校验,通过校验来判断数据帧在传送过程中是否有误。
其中校验和采用的是CRC算法,校验范围从地址字节到校验和位置之前的最后一个数据载荷。
PPP协议包含丰富的内容,它能实现包括IP协议在内的多种网络协议的封装,那么,如何区分某个PPP包究竟是哪种数据协议包?这就是PPP协议帧第四、五两个字节关心的问题,表2列出常用的协议代码及其对应的协议。
PPI通信
PPI通信 RS232(15米以内)
RS485(1000米以上)(中继器)
PORT通常有两个通信口(PORT 0 PORT 1)RS485(远距离距离长需要中继器)
中间信号放大器 RS232(15米内)
PPI通信:点对点通信,也叫主/从站通信
1个从站最多可以有31个主站
一个主站最多可以同时运行8条网络读或网络写
启用一个PPI通信需要定义两步,1 定义通信端口控制字节
PORT0:SMB30
PORT1:SMB130
2 定义报文表
1定义控制字节,以SMB30为例
注:PPI通信2~~7定义无效
2定义报文表
VBX:信息(系统产生) VB100
VBX+1:定义从站站号
VBX+2 VD2 VD12
VBX+3
VBX+4
VBX+5
以上4个定义从站指针
(只能出现4个区 I Q M V)
VBX+6:定义网络读写的信息字节
最大16个字节
VBX+7:定义第1个信息字节
VBX+8:定义第2个信息字节
…VBX+22:定义第16个信息字节
1 先清除从站所有程序,并下载系统块
2 主站主程序 IB0-VB7—QB0
2#11110000 240 0。
境内外币支付系统报文格式标准
内部资料 注意保管
外币支付系统接口报文格式标准
V 1.4
中国人民银行科技司 二〇〇八年四月
目录
1 报文标准概述........................................................... 9
1.1 概述 ............................................................... 9 1.1.1 属性符号 ......................................................... 9 1.1.2 X 字符集.......................................................... 9 1.1.3 英文简称命名规范 ................................................ 10 1.1.4 报文结构 ........................................................ 10
2.2.1 DATE 变量定义.................................................... 19 2.2.2 TIME 变量定义.................................................... 20 2.2.3 行号 BIC 码变量定义 .............................................. 20 2.2.4 金额 AMOUNT 变量定义 ............................................. 20 2.2.5 借贷标识变量定义<DC> ............................................ 20 2.2.6 货币符号<CUR> ................................................... 21 2.2.7 业务种类<BUSITYPE> .............................................. 21 2.2.8 汇款人账户性质<ACCTYPE> ......................................... 21 2.2.9 业务参考号<MSGREFNO> ............................................ 21 2.2.10 回车换行符<CRLF> .............................................. 21 2.2.11 77E 填写规则:................................................... 21 2.3 支付业务处理状态定义 .............................................. 21 2.4 支付交易序号 ...................................................... 22 2.5 客户账号 .......................................................... 22
PPI协议解密
Siemens PPI协议分析大家好:我是山东临沂的郝金红,PLC解密网是我的个人网站。
由于前段时间的疯狂的研究西门子PPI协议解密之故,所以无心插柳的研究出了较实用的西门子S7-200 PPI协议,今天奉献大家。
我们经常要用于上位机、现场设备与S7-200CPU之间的通讯,但是西门子公司没有公布PPI协议的格式,用户如果想使用PPI协议监控,必须购买其监控产品或第三方厂家的组态软件。
大家要知道国内的组态王、紫金桥、力控等等组态公司是花了多少钱才得到的PPI的深层协议吗?其实西门子工控产品的超高价垄断掠夺行为已经引起了我们国家及业内人士的抵制和抗议,他们的什么软件都需要授权且对于系统的霸道性是有目共睹的,而且我是深受其害的。
^_^我最近弄了个WINCC,装了一个星期还没装上,网友告诉我要重做系统才可以,悲哀啊。
这样给用户自主开发就带来了一定的困难,特别是想用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发送报文,以验证这些指令报文是否正确。
[课件]第4章 PPIMPI通信网络PPT
电气与自动化工程学院
第 4章 PPIMPI通信 网络
现场总线原理及应用
本章的主要内容
本章主要介绍PPI和MPI原理与组网技术。(教材的第3章)
3.1 西门子PPI通信技术
3.1.1 3.1.2 3.1.3 3.1.4
PPI通信概述 PPI通信协议 西门子S7-200 PLC之间的PPI通信的组态 西门子S7-200 PLC与上位机之间的PPI通信 西门子MPI协议概述 西门子MPI通信协议模型 西门子MPI网络的硬件组态 PLC之间的全局数据的MPI通信 PLC之间的直接数据读写的MPI通信
3
2018/12/2
3.1.1 PPI通信概述
现场总线原理及应用
由于PPI通信协议不是公开的协议,因此一 般现场设备是不支持的,限制了其作为标准现场 总线的应用,现在一般认为其主要是用于S7-200 PLC之间、S7-200 PLC与TD200之间以及S7-200 PLC与上位机STEP7-Micro/WIN的简单通信。 STEP7-Micro/WIN与S7-200 PLC之间的PPI 通信最重要,当其他下载路径不通时,应采用最 基本的PC/PPI电缆,通过PPI协议进行一对一的 下载。
8 2018/12/2Leabharlann 3.1.2 PPI通信协议
现场总线原理及应用
PPI通信协议的模型以OSI模型为基础,将其 中的物理层、数据链路层和应用层构成现场总线 通信的三层模型,如表3-1所示。PPI通信协议就 是要指其物理层、数据链路层和应用层的相关规 定。PPI通信是在EIA485之上的,其物理层符合 EIA485电气规范,因此物理层不再介绍,只介 绍数据链路层和应用层。
2 2018/12/2
3.2 西门子MPI通信技术
PPI协议命令示意图
读命令Byte0(开始定界符,占一字节,Start Delimiter 2,简写:SD2),此位总是68H。
Byte1(报文数据长度,占一字节,Length Byte,简写:LD),报文长度为自DA至DU的数据长度。
Byte2(重复报文数据长度,占一字节,Length Byte repeated,简写:LEr),重复数据长度为自DA至DU的数据长度。
Byte3(开始定界符,占一字节,Start Delimiter 2,简写:SD2),此位总是68H。
Byte4(目标地址,占一字节,Destination Address,简写:DA),该地址的值,就是PLC的地址。
Byte5(本地地址,占一字节,Source Address,简写:SA),该地址的值,就是上位机自己的地址。
Byte6(功能码,占一字节,Frame Control,简写:FC),6CH为首次信息周期触发,7CH为交替周期触发。
一般情况下总是6CH,当然7CH也是可以的,但是会不会出错还是很清楚。
从Byte7到Byte30为称为协议数据单元(Protocol Data Unit (简写PDU))协议数据单元分为三块:帧头(Header),参数块(Parameter block),数据块(Data block)帧头(Header)定义如下(上图中蓝色区块Byte7~Byte16)有一点问题:Byte7(协议识别,占一字节,Protocol Identification,简写:PROTO_ID):The Protocol ID for PPI is 32H。
Byte8(远程控制,占一字节,Remote Operating Services Control,简写:ROSCTR):●01H – Acknowledged request,读写请求命令时都为此值,●02H – Acknowledgement without the parameter and data fields●03H – Acknowledgement with either or both the parameter and data fields,一般在回传数据中用到此值。
ip协议报文的基本结构
ip协议报文的基本结构IP协议报文是计算机网络中进行数据传输所必需的一个重要协议,在互联网等大规模的计算机网络中尤其重要。
而IP协议报文的基本结构,是所有与其相关的网络通讯传输操作的核心,其发展历程也十分漫长。
首先,IP协议报文是指在计算机网络中,在数据包中传输的内容。
与其他网络协议相比,IP协议的报文结构很简单,其报文头包含20个字节,而可选的报文总共不超过40个字节。
IP协议报文的基本结构可以分为以下四个步骤:一、数据包封装。
该步骤的目的是将传输的数据按照一定的格式进行封装,以使数据能够在网络中进行传输。
具体而言,数据包可以被视为一个容器,其主要包括报文头和报文数据两部分,报文头主要用于描述数据包的来源、目的以及传输方式等信息,而报文数据则是实际需要传输的内容。
二、IP地址确定。
IP地址是唯一指定互联网上每台计算机的一个地址,通过IP地址,计算机可以在互联网上进行相互通信。
在IP 协议报文中,IP地址是非常重要的一部分,它包含了源主机IP地址和目的主机IP地址两个部分。
源主机IP地址指的是发起通信的主机地址,而目的主机IP地址指的则是接收通信信息的主机地址。
三、传输层协议确定。
IP协议是互联网中最基本的传输层协议,其主要的功能是提供基础性的数据传输服务,如将数据从源主机传输到目的主机。
在IP协议报文中,IP协议提供了传输层协议的选项,以使网络的传输更加有效和可靠。
四、负载数据的传输。
完成以上三个步骤之后,IP协议报文会将数据包发送至网络中,以完成数据的传输。
在传输的过程中,IP协议会监控整个过程,以确保数据传输的可靠性和有效性。
综上所述,IP协议报文的基本结构可以概括为数据包封装、IP 地址确定、传输层协议确定以及负载数据的传输四个步骤。
理解这些步骤的基本原理,不仅可以帮助我们更好地理解互联网等大规模计算机网络的运作原理,也为我们进行网络开发以及网络安全性检测等实践操作提供了重要的理论基础。
RSSP-I 铁路信号安全通信协议
3.1 序列号........................................................................................................... 10
3.2 时间戳........................................................................................................... 10
RSSP-I 铁路信号安全通信协议 (V1.0)
2010 年 4 月
目录
1.
简介................................................................................................................. 3
1.3 术语和定义
本文件中使用了标准 GB/T 24339.1 和 GB/T 24339.2 的定义,并附加使用 了以下术语。
V1.0
RSSP-I 铁路信号安全通信协议
第3页
变量名称 (依赖变量参数名)
在本规范算法描述中,用于表示本 变量根据括号内指示的变量参数名 称具有不同的取值
1.4 缩略语
RSSP SID T(N) SVC SCW SINIT
物理传输层的适配,须根据具体接口应用要求描述,不在本规范
V1.0
RSSP-I 铁路信号安全通信协议
第8页
中定义; 通信链路的冗余处理功能,须遵守本规范第5.1节要求; 数据的可靠、透明和双向传输,参照本规范第5.1节要求; 通道可用性监测,并交由应用层报告给外部系统:须根据具体接
工业上的几种通讯协议
每个仪表都有自己独特的通讯协议,常见的有modbus通讯协议、RS-232通讯协议、RS-485通讯协议、HART通讯协议等等,那么这些通讯协议究竟是怎么工作的,有哪些优缺点呢?本文将重点介绍目前常见的几种通讯协议!帮助仪表人学习。
通讯协议:又称通信规程,是指通讯双方对数据传送控制的一种约定。
约定中包括对数据格式,同步方式,传送速度,传送步骤,检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守,它也叫做链路控制规程。
常用的仪表通讯协议有:•modbus通讯协议•RS-232通讯协议•RS-485通讯协议•HART通讯协议。
•MPI通信•串口通信•PROFIBUS通信•工业以太网•ASI通信•PPI通信•远程无线通信•TCP•UDP•S7•profibus•pofinet•MPI•PPI•Profibus-DP•Devicenet•EthernetModbus通讯协议1Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化部门的一部分,现在Modbus已经是工业领域全球最流行的协议。
此协议支持传统的RS-232、RS-422、RS-485和以太网设备。
由于modbus协议是完全公开透明的,所需的软硬件又非常简单,这就使它成为了一种通用的工业标准。
许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
特点Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
modbus通讯协议是一种主从式异步半双工通信协议,采用主从式通讯结构,可以使一个主站对应多个从站进行双向通信。
它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PPI协议
西门子的PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。
这样收发两次数据,完成一次数据的读写[5]。
其通讯数据报文格式大致有以下几类:
1、读写申请的数据格式如下:
SD LE LER SD DA SA FC DASP SSAP DU FCS ED
SDStart Delimiter)开始定界符(68H)
LE:(Length)报文数据长度
LER:(Repeated Length)重复数据长度
SD: (Start Delimiter)开始定界符(68H)
SA:(Source Address)源地址,指该地址的指针,为地址值乘以8
DA:(Destination Address)目标地址,指该地址的指针,为地址值乘以8 FC:(Function Code)功能码
DSAP:(Destination Service Access Point)目的服务存取点
SSAP:(Source Service Access Point)源服务存取点
DU:(Data Unit)数据单元
FCS:(Frame Check Sequence)校验码
ED:(End Delimiter)结束分界符(16H)
报文数据长度和重复数据长度为自DA至DU的数据长度,校验码为DA至DU 数据的和校验,只取其中的末字节值。
在读写PLC的变量数据中,读数据的功能码为6CH,写数据的功能码为7CH。
2、PLC接收到读写命令,校验后正确,返回的数据格式为E5H
3、确认读写命令的数据格式为:
SD SA DA FC FCS ED
其中SD为起始符,为10H
SA为数据源地址
DA为目的地址
FC为功能码,取5CH
FCS为SA DA FC的和的末字节
ED为结束符,取16H
PPI协议的软件编制
在采用上位机与PLC通讯时,上位机采用VB编程,计算机采用PPI电缆或普通的485串口卡与PLC的编程口连接,通讯系统采用主从结构,上位机遵循PPI协议格式,发出读写申请,PLC返回相应的数据。
程序实现如下:
1、串口初始化程序:
mPort = 1
MSComm1.Settings = "9600,e,8,1"
MSComm1.InputLen = 0
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary
PPI协议定义串口为以二进制形式收发数据,这样报文的通讯效率比ASCII码高。
2、串口读取数据程序,以读取VB100数据单元为例:
Dim Str_Read(0 To 32) ‘定义发送的数据为字节为元素的数组。
Str_ Read (32) = &;H16 ‘相应的数组元素赋值,按照以下格式:
Str_ Read (29) = (100*8) \ 256 ‘地址为指针值,先取高位地址指针
Str_ Read (30) = (100*8) Mod 256 ‘取低位地址指针
Str_ Read (24) = 1 ‘读取的数据长度(Byte的个数)
For I=4 to 30
Temp_FCS = Temp_FCS Str_Read(i)
Next I
Str_Read(31)= Temp_FCS Mod 256 ‘计算FCS校验码,其它数组元素赋值省略。
68 1B 1B 68 2 0 6C 32 1 0 0 0 0 0 E 0 0 4 1 12 A 10 2 0 1 0 1 84 0 3 20 8B 16 PLC返回数据E5 后,确认读取命令,发送以下数据:
10 2 0 5C 5E 16
然后上位机VB程序接受到以下数据:
68 16 16 68 0 2 8 32 3 0 0 0 0 0 2 0 5 0 0 4 1 FF 4 0 8 22 78 16
首先识别目标地址和源地址,确认是这次申请的返回数据,然后经过校验检查,正确后解析出第26号数据(&;H22)即为VB100字节的数据。
3、串口写入数据程序,以写VB100数据单元为例:
Dim Str_Write(0 To 37) ‘定义发送的数据为字节为元素的数组。
Str_Write (37) = &;H16 ‘相应的数组元素赋值,按照以下格式
Str_Write (35) = &;H10 ‘要写入的数据值
68 20 20 68 2 0 7C 32 1 0 0 0 0 0 E 0 5 5 1 12 A 10 2 0 1 0 1 84 0 3 20 0 4 0 8
C B9 16
PLC返回数据E5 后,确认写入命令,发送以下数据:
10 2 0 5C 5E 16
然后上位机VB程序接受到以下数据:
68 12 12 68 0 2 8 32 3 0 0 0 0 0 2 0 1 0 0 5 1 FF 47 16
这是PLC正确接收并写入信息的返回数据。
4、串口接收程序:
在数据接收程序中,利用VB中MSComm控件,一次接收缓冲区中的全部数据,存放到数组形式的暂存单元中,然后分析每个元素的值,得到读写的数据。
Dim RCV_Array() As Byte
Dim Dis_Array As String
Dim RCV_Len As Long
RCV_Array = MSComm1.Input ‘取出串口接收缓冲器的数据。
RCV_Len = UBound(RCV_Array)
ReDim Temp(0 To UBound(RCV_Array))
For i = 0 To RCV_Len
Dis_Array = Dis_Array &; Hex(RCV_Array (i)) &; " "
Next i
Text1.Text = Dis_Array ‘接收到的数据送显示。
在程序的读写过程中,一次最大可以读写222个字节,目前给出的数据读写为整数格式。
数据类型Str_ Read(27)
S 04H
SM 05H
I 81H
Q 82H
M 83H
V 84H
以上程序,是以读写PLC的V变量区为例,利用PPI协议还可以读写S7-200PLC 中的各种类型数据,包括I、Q、SM、M、V、T、C、S等数据类型,能够直接读出以上变量中的位、字节、字、双字等,其中读位变量时,是读取该位所在的字节值,然后上位机自动识别出该位的值。
按照读写的数据类型,其中Str_ Read (27)的值各不同:
在控制系统中,PLC与上位计算机的通讯,采用了PPI通讯协议,上位机每0.5秒循环读写一次PLC。
PLC编程时,将要读取的检测值、输出值等数据,存放在PLC的一个连续的变量区中,当上位机读取PLC的数据时,就可以一次读出这组连续的数据,减少数据的分次频繁读取。
当修改设定值等数据时,进行写数据的通讯操作。