关于西门子PLC的PPI通信协议的研究

合集下载

西门子S7-200PPI通信协议

西门子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个字节。

S7-200型PLC之间的PPI协议通信

S7-200型PLC之间的PPI协议通信
分析:将地址为3的PLC上IB0的状态传送到地址为2的PLC上。
AD:2
AD:3
QB0
2021/2/4
1
IB0
8
两种方法: 第一种,2号机读3号机,2号机为主机,3号机为从机。 在2号机上编程,使用读指令(NETR)。
AD:2 NETR
AD:3 无通信程序
QB0
2021/2/4
1
IB0
9
两种方法:
2021/2/4
1
24
第四部份:读写的数据量
2021/2/4
数据量:读写的数据量,有效 取值1~16。就是说每条读写指 令最多读写16个字节的信息。
1
25
第五部份:主站的数据缓存区
2021/2/4
数据缓存。对于读指令,从站 读上来的信息,放到这里。对 于写指令,往从站写入的信息 放到这里。
1
26
执行读指令
1
28
上面演示的是第一种方法,2号机读3号机,2主3从
想想看第二种方法,3号机向二号机写数据,3主2从,程序应 该怎么写??
下节课的任务:
两台S7-200,要求其中一台的QB0与另一台的IB0同步变化, 用两种方法实现。
注意带上通信线
2021/2/4
1
29
谢谢大家!
SMB30=2#01011010 01 0 110 10
2021/2/4
1
16
第三步:编程——2、装载从站信息 清空读写区域
将要读取的从机地址是:3
读从机IB0开始的连续数据区
2021/2/4
数据量是一个字节,每次最多 读写16个字节的数据
1
17
第三步:编程——3、读指令

SiemensPLC的PPI通信协议的解析与应用

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协议通讯 (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通讯协议 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机之间需要设置通信地址,确保能够正确建立通信连接。

S7—200PLC利用PPI协议实现网络主从控制

S7—200PLC利用PPI协议实现网络主从控制

S7—200PLC利用PPI协议实现网络主从控制摘要:本文通过将主站IB0映射到从站到QB0,将从站IB0映射到主站QB0这样一个简单案例,介绍了S7-200的PPI协议、主站与从站的连接、网络读写指令,并通过调用网络读写指令实现主站与从站的网络控制。

关键词:PPI协议;网络读写命令;主从控制1.PPI通信概述PPI协议是S7-200系列PLC最基本的通信方式,通过自身的端口(PORT0或PORT1)就可实现通信。

PPI是一种主从协议通信,主从站在一个令牌环网中,主站发送要求到从站设备,从站设备响应,从站不发送信息,只是等待主站的要求并对要求做出响应。

主站靠一个PPI协议管理的共享连接来与从站通信。

2.主站与从站的连接及通信参数设置2.1硬件连接主站由一台CPU226控制,从站由一台CPU224控制,PPI网络连接如图1所示。

2.2S7-200通信参数设置对网络上的每一台PLC,应设置其系统块中的通信端口参数。

对用作PPI 通信的端口(PORT0或PORT1),指定其PLC地址(站号)和波特率。

设置后把系统块下载到PLC。

2.3检查网络连接是否正常利用网络接头和网络线把各台PLC中用作PPI通信的端口0连接,将主站的运行开关拨到STOP状态,然后利用STEP7 V4.0软件和PPI/RS485编程电缆搜索出PPI网络中的2个站。

3.利用指令向导设定网络读写命令要启动网络读写向导程序,在STEP7 V4.0软件命令菜单中,选择工具→指令向导,并且在指令向导窗口中选择NETR/NETW(网络读写),双击后,就会出现就会出现网络读写指令向导界面,可进行网络读写指令设定。

3.1网络读取命令的读设定如图2所示为主站由从站读取数据的设定画面,是网络读写命令的读设定。

这里远程PLC地址是从站地址,主站接受缓冲区为VB100,从站发送缓冲区为VB200。

3.2网络读取命令的写设定在上图中,单击上一项操作或者下一项操作可以在读和写之间切换。

PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯

PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯

PPI协议详解 ppi通讯协议 ppi通信协议vb与ppi协议通讯PPI协议详解PPI通讯协议,也称为PPI通信协议,是一种用于在VB与PPI设备之间进行通讯的协议。

本文将详细介绍PPI协议的工作原理、通讯方式、数据格式以及通讯流程等内容。

一、PPI协议的工作原理PPI协议是一种基于并行通讯的协议,它通过并行数据线和控制线实现数据的传输和控制。

PPI设备通常是指PLC(可编程逻辑控制器)等工业自动化设备,而VB则是一种常用的编程语言。

二、PPI协议的通讯方式PPI协议支持两种通讯方式:主从式和点对点式。

1. 主从式通讯在主从式通讯中,VB作为主站(Master),而PPI设备作为从站(Slave)。

主站负责发起通讯请求,从站则负责响应请求并返回数据。

2. 点对点式通讯在点对点式通讯中,VB与PPI设备之间直接进行通讯,没有主从之分。

数据的传输是双向的,VB可以向PPI设备发送指令,并接收设备返回的数据。

三、PPI协议的数据格式PPI协议使用二进制数据进行通讯,数据的格式包括帧头、数据区和帧尾。

1. 帧头帧头用于标识一帧数据的开始,通常由几个特定的字节组成。

帧头的作用是告诉接收方数据的开始位置,以便接收方正确解析数据。

2. 数据区数据区是PPI协议中最重要的部分,它包含了具体的通讯数据。

数据区的长度可以根据实际需求进行变化,但通常不超过256字节。

3. 帧尾帧尾用于标识一帧数据的结束,通常由一个或多个特定的字节组成。

帧尾的作用是告诉接收方数据的结束位置,以便接收方正确解析数据。

四、PPI协议的通讯流程PPI协议的通讯流程包括连接建立、数据传输和连接关闭三个阶段。

1. 连接建立在连接建立阶段,VB需要与PPI设备建立通讯连接。

具体的连接方式可以根据实际需求选择,例如串口通讯、以太网通讯等。

2. 数据传输在数据传输阶段,VB可以向PPI设备发送指令,并接收设备返回的数据。

数据的传输方式可以是主动轮询、中断驱动或事件驱动等。

PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯

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通讯协议

?西门子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则完成正确的读写响应,回应给上位机数据。

S型PLC之间的PPI协议通信

S型PLC之间的PPI协议通信

易于配置和管理: PPI协议的参数 配置相对简单, 方便用户进行通 信设置和管理, 降低了使用门槛 和维护成本。
S型PLC之间的PPI协议通信的不足
通信速度较慢 通信距离有限 容易受到干扰 兼容性较差
S型PLC之间的PPI协议通信的发展方向
优化通信协议:提高通信效率 和稳定性
增强安全性:确保数据传输的 安全性和完整性
系统设计:根据需求分析,设计S 型PLC控制系统,包括硬件配置、 软件编程等
添加标题
添加标题
添加标题
添加标题
需求分析:需要实现水处理工艺流 程的自动化控制,包括水泵、阀门、 液位等设备的控制
实施效果:通过实际运行,该水处 理厂的S型PLC控制系统实现了自 动化控制,提高了生产效率和水质
案例三:某电力系统的S型PLC控制系统
拓展通信接口:支持更多种类 的通信接口和协议
智能化发展:结合人工智能和 大数据技术,实现更高级的自 动化控制和数据分析功能
05 实际应用案例分析
案例一:某工厂的S型PLC控制系统
案例背景:某工厂的S型PLC控制系统,用于控制生产线的自动化运行。
案例描述:该系统通过PPI协议实现PLC之间的通信,实现了对生产线设备的远程监控 和控制。
通信方式:S型PLC之间的PPI协议通信采用轮询方式,即主站按照一定的时间间隔依 次向各个从站发送数据请求,从站接收到数据请求后,将数据发送回主站。
通信过程:主站通过以太网向从站发送数据请求,从站接收到数据请求后,将数据发 送回主站。主站对接收到的数据进行处理,实现PLC之间的数据交换和控制。
S型PLC之间的PPI协议通信配置
注意事项:确保硬 件连接正确、参数 设置合理、程序编 写无误、测试结果 准确

西门子PLC之间的通讯

西门子PLC之间的通讯

西门子PLC之间的通讯是怎么完成的S7-200通信最经济的方式就是采用PPI协议和自由口通信协议。

对于S7-200之间进行通信,PPI协议又更适合——它比自由口通信的编程更简单!下面就对这个PPI通信进行说明——以2台S7-200通信为例,做一个实例。

设备配置:1台S7-200 CPU 226CN的PLC、 1台S7-200 CPU 224XP的PLC硬件连接:原则上需要配备1条紫色的Profibus电缆、2个黑色的Profibus-DP接头。

如果需要在PLC通信时对所有在线的PLC进行监控/编程操作而不占用另外的通信口(也就是说,假如所有PLC用端口PROT1进行PPI通信,而现在要对所有PLC依次编程/监控,但又不想占用这些PLC的端口PROT0——端口PROT0可能已作它用),那么必须在其中1台PLC采用带编程口的Profibus-DP接头。

所以说,带编程口的Profibus-DP接头在整个网络中只需要一个就可以了。

这样,也就可以在某一台PLC处对在网的其它PLC进行编程/监控。

引脚分配:........S7--200 CPU上的通讯端口是符合欧洲标准EN 50170中PROFIBUS 标准的RS--485兼容9针D型连接器。

下表列出了为通讯端口提供物理连接的连接器,并描述了通讯端口的针脚分配。

下面是S7-200的通信接口——D型9孔母头的引脚定义。

网络电缆的偏压电阻和终端电阻为了能够把多个设备很容易地连接到网络中,西门子公司提供两种网络连接器:一种标准网络连接器(引脚分配如表7-7所示)和一种带编程接口的连接器,后者允许您在不影响现有网络连接的情况下,再连接一个编程站或者一个HMI 设备到网络中。

带编程接口的连接器将S7--200的所有信号(包括电源引脚)传到编程接口。

这种连接器对于那些从S7--200取电源的设备(例如TD200)尤为有用。

两种连接器都有两组螺钉连接端子,可以用来连接输入连接电缆和输出连接电缆。

S7-200PPI通讯协议

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几种常见的连接口和通讯协议

西门子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:可以采用三芯双绞线、三芯屏蔽线等。

西门子200PLC之间的PPI通讯

西门子200PLC之间的PPI通讯

西门子200PLC之间的PPI通讯1,所需硬件及网路配置1,S7-200CPU两台2,装有编程软件(STEP7 V4.0)的电脑一台3,编程电缆一条4,PPI通讯电缆(紫色+DP头)一条,2,I/O分配2台PLC通过PORTO(通讯口)口实现互相PPI通讯,功能为A机I0.0控制B机Q0.4,机(主站)机(从站)I0.0控制Q0.0显示I0.1控制Q0.1显示Q0.4显示I0.0控制Q1.0控制I0.1控制3,编程1,STEP7 V4.0新建工程(此处为主站)1,使用编程电缆为A,B机进行时PLC地址吗,波特率进行设置,现在为主站(A机)的地址设置为1,波特率使用9.600,从站(B机)地址为2.波特率9.600(主从的波特率要一致,而且设置越高越好)。

打开编程软件,单机软件左边系统快(如图1-3处),分别设置端口0 1处的地址,设置完成后点击确认保存,如下图2,3,点击图1中的1处------2处,出现下图4,5,在上图中需要配置几项网络读写操作,本例程为2个PLC并根据项目要求(I/O口分配),只需要2项即可即主写从,从写主6,点击下一步,出现下图图中1处,可以改变的主站对从站的读写命令,2处为下一项操作(也是为改变的读写命令)3处为存储地址,在本例中,第1项为主站对从站的写入命令,存储地址为主站VB1000对从站的VB1000第2项为从站对主站的写入命令,存储地址为主站VB1020对从站的VB1020.在例程中可以看到。

此处不在一一图示7,操作完成后,点击下一步出现下图8,这里点击建议地址,程序会自动建议一个大小适合并且未使用的V存储区地址范围9,单机下一步全部配置完成,向导将为所选的配置生成项目组件,修改或确认图中个栏目后,点击完成。

配置结束下图为此次配置的存储区域A BV1000 V1000V1020 V1020A机I/O A机存储区B机存储区B机I/OI0.0 V1000.0 V1000.0 Q0.0I0.1 V1000.1 V1000.1 Q0.1Q0.4 V1020.0 V1020.0 I0.0Q1.0 V1020.1 V1020.1 I0.110,开始编写程序编程时注意,在第一个扫描周期,调用网络读写子程序NET-EXE(刚才配置的网络程序)如图,在调用时,用鼠标拖住子程序到编程区即可。

简述西门子PLC常用通讯协议及其特点

简述西门子PLC常用通讯协议及其特点

简述西门子PLC常用通讯协议及其特点1、引言随着烟厂生产工艺信息化的逐渐健全,不同生产工艺控制单元之间的信息交换变得越来越必不可少。

信息交换使各个控制单元与其控制细胞之间以及不同控制单元之间建立信息联系,克服控制单元的“孤岛”效应,增加了控制系统的安全可靠性、经济性,同时也加速了自动化的发展。

本文重点介绍了在烟厂中应用的西门子的几种控制网络通信协议以及各自具有的特点,最后进行总结。

2、在烟厂中应用的西门子工业控制网络通信协议简介在烟厂中应用的西门子工业控制网络通信协议包括以下几种:2.1PPI网络通信协议PPI网络通信协议用于S7—200PLC、上位机与TD200之间的串行通信协议,也是S7—200系列基本的通信方式,不需要格外的扩展模块,可以通过PPI口来实现。

PPI网络通信协议使用双绞电缆联网,通信接口即为S7—200系列上CPU集成编程接口。

在烟厂中应用的PPI网络通信协议信号传递简单易行,不使用额外的软硬件,经济实惠。

2.2PtP网络通信协议PtP网络通信协议与S7—300/400系统为点对点通信。

点对点通信即为两点之间的信息交流,仅支持两台硬件设备进行通信。

在烟厂中应用的$7300/400与另外的串行通信设备之间的数据交换可用S7—300/400的网络通信模块来实现。

PtP网络通信协议既可用于西门子产品也兼容第三方产品,前提是必须满足通信模块与相应的通信方使用双方支持的一种通信方式。

在烟厂中应用的PtP通信与PPI通信的区别在于S7—300,S7—400的PtP网络通信接口不支持PPI网络通信协议,PtP通信接口一般使用SFB60(SEND)/SFB6 1(RCV)具体编程来实现RS485/422通信(串行通信)。

2.3MPI网络通信协议在烟厂中应用的MPI网络通信协议即多点串行通信协议,也是多点通信接口的简称,其通信速率为19.2 Kbit/s-12 Mbit/s,适用于烟厂中相距距离小、站点数目不多的站点之间的通信。

通过PPI协议Labview和西门子S7-200 PLC通讯的设计和应用

通过PPI协议Labview和西门子S7-200 PLC通讯的设计和应用

De s i g n a n d I mp l e me n t a t i o n o f Co mm u n i c a t i o n b e t we e n La b v i e w
Pr o t o c o l a n d S I EM ENS S 7 Th r o u g h PP I Pr o t o c o l
入成 功 。 2 . 2 命 令 报文 格式
据的能力 , 采用 图形化系统设计平台的 L a b V I E W 作为开
发平台 , 通 过调 用 V I S A( V i r t u a l I n s t r u m e n t S o t f w a r e A r -
计算机向 P L C发送 命令 的一 般格 式 如表 1 。 2 . 3 读命 令 2 . 3 . 1 一 次读 一个存 储 器 读 命 令都 是 3 3字 节 。前 面的 0— 2 1 字 节是 相 同的 ,
Z h a o J i a n Xi n Ke l i L i Z h i x i n g
1 引言
西 门子 s 7—2 0 0 P L C在 实 时模 式 下 具 有 速 度 快 、 较 高 的生产 力 的特 点 。在现 场应 用 中 , 当需 要 P L C 与上 位
收发 。这 种方 式 P L C编程 Байду номын сангаас试 繁琐 , 占用 P L C的 软件 中
断和代码资源 , 而且 当 P L C的通信 口定义为 自由通信 口 时, P L C的 编程 软 件 无 法 对 P L C进 行 监 控 , 给P L C程 序 调 试 带 来 不 便 。西 门子 s 7— 2 0 0 P L C 的编 程 通 信 接 口 , 内部 固化 P P I 通信协议 , 如果上位 机利用编程通信 口遵 循P P I协议 来 读 写 P L C, 就 可 以省 略 编写 自定 义模 式 下 的P L C的通信代码 , 可通过读写的方式实现数据和控制

PPI协议详解 ppi通讯协议 ppi通信协议 vb与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程序可以对接收到的数据进行处理和分析,根据实际需求进行相应的业务逻辑操作。

SiemensPPI串口通讯协议分析

SiemensPPI串口通讯协议分析

SiemensPPI串口通讯协议分析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发送报文,以验证这些指令报文是否正确。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于西门子PLC的PPI通信协议的研究
摘要:本文结合西门子PLC的PPI通信协议的相关理论,主要研究了PPI协议的
通信过程、通信协议模型,并对PLC网络通信模式的构建进行了实例分析。

关键词:西门子PLC;PPI通信协议;通信程序
前言
PPI通信协议是一种特殊的通信协议,其协议本身是不公开的,只有西门子
S7-200的设备支持它。

但掌握它也很重要,有时s7-200系列的设备之间只能通过PPI协议通信,例如上位机STEP7-Micro/WIN与S7-200PLC之间的基本通信;有
时只要通过一根电缆就可以实现S7-200PLC之间的简单通信,非常适用。

但由于PPI通信协议不是公开的协议,因此一般现场设备是不支持的,限制了其作为标
准现场总线的应用,由此还需对协议内容、功能实现进行研究和分析。

1西门子PLC的PPI通信协议概述
1.1通信过程
在PPI网上,计算机与PLC通信,是采用主从方式,通信总是由计算机发起,PLC予以响应。

具体过程如下:
1)计算机按通信任务,用一定格式,向PLC发送通信命令。

2)PLC收到命令后,进行命令校验,如校验后正确无误,则向计算机返回数
据E5H或F9H,作出初步应答。

3)计算机收到初步应答后,再向PLC发送SD(开始定界字符,为10H)、
DA(目标地址,即PLC地址02H)、SA(源地址,即计算机地址00H)、FC(功
能码,取5CH)、FCS(SA、DA、FC和的256余数,为5EH)、ED(结束分界符)确认命令。

如按以上设定的计算机及PLC地址,则发送10、02、00、5C、5E及16,6个字节的十六进制数据,以确认所发命令。

4)PLC收到此确认后,执行计算机所发送的通信命令,并向计算机返回相应
数据。

需要注意的是:如为读命令,情况将如上所述。

但如为写或控制命令,PLC
收到后,经校验,如无误,一方面向计算机发送数据E5H,作出初步应答;另一
方面不需计算机确认,也将执行所发命令。

但当收到计算机确认信息命令后,会
返回有关执行情况的信息代码[1]。

1.2 PPI协议模型
PPI通信协议的模型以OSI模型为基础,将其中的物理层、数据链路层和应用
层构成现场总线通信的三层模型,如表1所示。

其中PPI的应用层是通信模型的最高层,负责进行应用数据的读写操作。

应用层是在数
据链路层之上的,接收数据链路层上传的数据,用来更新本站点的相关数据。

当应用层需要
发送数据时,它只要将发送数据的目的站点、数据类型和数据本身等信息下载给数据链路层,由数据链路层去实现数据的发送。

PPI的数据链路层是位于通信模型的第2层,它介于物理层与应用层之间。

一方面,它要
执行应用层的数据发送任务,生成数据和控制帧,并将这些帧下载给物理层,通过物理层实
现帧的发送;另一方面,数据链路层还要接收物理层的帧,根据帧进行校验等操作,若是数
据帧,则将其中的数据从帧中读出,上传给应用层。

一次数据写出操作的步骤包括:首先由本站(主站)向从站发出写入请求,从站作出正确接
收的响应(短应答),本站接到此响应则发出写入请求确认控制帧,从站进行写入请求确认的
应答[2],如图1所示。

图1PPI通信的数据链路
1.3 PPI高级协议
PPI通信协议不是基于连接的,每次通信时建立临时连接,通信结束后即断开。

在一般的PPI通信协议基础上,西门子还制订了PPI高级协议。

在应用中,选择“PPI高级协议”允许网
络设备在设备之间建立逻辑连接。

建立了逻辑连接的站点在通信时,直接进行发送和应答,
只需要一次帧的发送和接收,不像一般的PPI通信需要两次。

如果在用户程序中启用PPI主设备模式,S7-200 CPU可在处于RUN(运行)模式时用作主设备。

启用PPI主设备模式后,可以使用“网络读取”(NETR)或“网络写入”(NETW)从其他S7-
200CPU读取数据或向S7-200CPU写入数据。

S7-200用作PPI主设备时,作为从属设备也可以
应答来自其他主设备的请求。

用户可以使用PPI通信协议与所有的S7-200CPU通信。

西门子
S7-200的PLC扩展模块EM277是用于PROFIBUS通信的,也支持PPI通信。

将EM277用于
PPI通信,必须使用“PPI高级协议”[3]。

2PLC网络通信模式构建实例分析——两台S7-200通过PPI通信
2.1操作步骤
两台S7-200 PLC通过PPI进行连接与通信,如图2所示,要求将主站的I0.0~I1.7的状态
映射到从站的Q0.0~Q1.7,同时将从站的I0.0~I1.7的状态映射到主站的Q0.0~Q1.7。

具体操作步骤为:
1)进行硬件接线(按照图2所示连接)。

2)NETR与NETW指令介绍。

在PPI通信模式中,NETR与NETW是最常见的两个指令,
如图3所示。

网络读指令开始一项通信操作,是通过指定的端口从远程设备搜集数据并形成一个表TBL;网络写指令开始一项通信操作,是通过指定的端口向远程设备写一个表TBL中的数据。

2.2NETR/NETW指令向导完成相关任务
(1)指定用户需要的网络操作数目
用户使用NETR/NETW指令向导,可以简化网络操作配置。

向导将询问初始化选项,并
根据用户选择生成完整的配置。

向导允许配置多达24项独立的网络操作,并生成代码协调
这些操作。

本例中,选择2项网络读/写操作。

(2)指定端口号和子程序名称
如果项目可能已经包含一个NETR/NETW向导配置,则所有以前建立的配置均被自动载
入向导。

向导会提示用户完成以下两个步骤之一:
1)选择编辑现有配置,方法是单击“下一步”。

2)选择从项目中删除现有配置,方法是选择“删除”复选框,并单击
完成”。

如果不存在以前的配置,向导就会询问以下信息:PLC必须被设为PPI,主站模式才能进行通信;用户要指定通信将通过哪一个PLC端口进行。

向导建立一个用于执行具体网络操作的参数化子程序。

向导还为子程序指定一个默认名称。

本例中新建一个配置,选择PLC端口0进行通信,可执行子程序名采用默认名称
NET_EXE。

(3)指定网络操作
对于每项网络操作,用户需要提供下列信息:
1)指定操作是NETR还是NETW。

2)指定从远程PLC(NETR)读取的数据字节数或向远程P;C(NETW)写入的数据字节数。

3)指定用户希望用于通信的远程PLC网络地址。

4)如果在配置NETR,指定以下内容:数据存储在本地PLC中的位置。

有效操作数有VB、IB、QB、MB、LB;从远程PLC读取数据的位置。

有效操作数有VB、IB、QB、MB、LB。

5)如果在配置NETW,指定以下内容:数据存储在本地PLC中的位置。

有效操作数有VB、IB、QB、MB、LB;向远程PLC写入数据的位置。

有效操作数有VB、IB、QB、MB、LB。

本例中,第一项操作为NETR指令,读取字节数为1,远程站地址为6,数据传输为
VB307(本地)、VB200(远程);当进入第二项NETW指令,读取字节数为1,远程站地址为6,
数据传输为VB207(本地)、VB300(远程)。

(4)分配v存储区
对于用户配置的每一项网络操作,要求有12个字节的V存储区。

用户指定可放置配置的V存储区起始地址。

向导会自动建议一个地址,且可以编辑该地址。

本例中,采用建议地址VBO~VBl8即可。

(5)生成程序代码
要在程序中使用网络通信,需要在主程序块中调用执行子程序(NET—EXE)。

每次扫描周期时,使用SM0.0调用该子程序,这样会启动配置网络操作执行。

从站的子程序相对简单,主
要是在开机时清空V区数据,并将输入、输出与V区数据进行映射。

结语
本文通过对西门子尚未公布的PPI协议进行深入分析,了解了通信协议的相关技术细节。

通过相关监控及通信程序,能够实现远程计算机对西门子PLC的读写和控制。

该技术在具体
实践中的应用能够有效的降低成本费用,节约内存资源的消耗,因此相关工作者今后还应加
强该技术的研究,能够的将其应用于PLC的远程监控。

参考文献
[1]张治军.通信协议在在网络中的配置研究[J].科技资讯.2014(33).
[2]蔡锦达,倪建辉,郭锐,王挺.PPI协议与西门子S7-200PLC的通讯[J].工业控制计算
机.2016(04).
[3]庄家森,焦小澄.基于PPI通讯协议的监控模块的设计与实现[J].现代电子技术.2015(16).
作者简介
黄立华,男,广西南宁人,助理工程师,大专,从事电气维护调试。

相关文档
最新文档