ppi协议
⑴ PPI通讯和MPI通讯是什么概念
PPI通讯和MPI通讯都是西门子公司PLC通讯协议的名字
PPI通讯:是西门子公司专为S7-200系列PLC开发的通讯协议。内置于S7-200CPU中。PPI协议物理上基于RS-485口,通过屏蔽双绞线就可以实现PPI通讯。PPI协议是一种主-从协议。主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。主站靠PPI协议管理的共享连接来与从站通讯。PPI协议并不限制与任意一个从站的通讯的主站的数量,但在一个网络中,主站不能超过32个。PPI协议最基本的用途是让西门子STEP7-Micro/WIN编程软件上传和下载程序和西门子人机界面与PC通信。
MPI通讯:MPI (Multipoint interface)是SIMATIC S7多点通信的接口,是一种适用于少数站点间通信的网络,多用于连接上位机和少量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-200 CPU不能再作PPI主站,Micro/WIN也不能通过MPI协议访问作为PPI主站的S7-200CPU。S7-200CPU只能做MPI从站,即S7-200CPU之间不能通过MPI网络互相通信,只能通过PPI方式互相通信。
⑵ 西门子200PPI通讯协议包括什么
S7-200 PLC之PPI协议包括:
1、通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源
2、S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point to Point)协议,可以用来传输、调试PLC程序。在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。
3、在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC中编写代码,利用中断方式控制通讯端口的数据收发。采用这种方式,PLC编程调试较为烦琐,占用PLC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC的编程软件无法对PLC进行监控,给PLC程序调试带来不便。
4、SIEMENS 。S7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。
⑶ 西门子s7-200系列plc, mpi通讯协议和ppi通讯协议有什么区别
PPI是西门子袭的串口通讯,MPI是西门子的485通讯,或叫并口通讯。但是它们和普通的串并口通讯是有区别的哦,就是它们必须要西门子公司的PLC硬件通讯接口,离开西门子PLC硬件它们就不能用了。就只能用通用机算机232和485通讯协议。主要区别是通讯速率和信息交换方式上的。PPI受硬件关系最高通讯速率在每秒2M以内,一般都是用9600kb,高了的话会通讯不了。而且通讯只能是定向通讯或者是广播式通讯。就是说要么一问一答,要么把消息发出去谁收到谁算有运气,发信息的不管你收没收到。MPI相对于PPI就好多了,速率根据硬件的好坏和距离最高可达12M每秒,一般在1.85mb,通讯方式里加了地址,也有问讯和主从。也就是通讯有了交流也有了长官和士兵,但长官在一套网络里必须是唯一的。交流是长官点名(主、从站交流)主从,点到站名的就可以发信息和长官交流,没点到的就等着,不准说话。长官可以同时点几个名,被点名的也可以和长官说我这里装不下那么信息了。交流的工具和PPI一样都在一条电缆上串接着。
⑷ 西门子ppi协议的最大优点是什么
ppi是点对点接口,即pointtopointinterface,是西门子为s7-200开发的一种通讯协议。ppi是一种主从协议,主站发送要求到从站,从站作出响应。从站不主动发信息,只是等待主站的要求并作出响应。
⑸ 什么是PPI协议
PPI协议、MPI协议都是西门子内部协议,不公开 PPI,MPI和PROFIBUS都是基于OSI(开放系统互联)的七层网络结构模型,符合欧洲标准EN50170所定义的PROFIBUS标准,基于令牌的的网络通信协议。这些协议是非同步的(串行的)基于字符的通信协议,字符格式包括一个起始位、8个数据位、一个偶校验位和一个停止位。其通信帧包括特定的起始和结束字符、源和目的站的地址、帧长度和数据校验和。 PPI协议是专门为S7-200开发的通信协议。S7-200 CPU的通信口(Port0、Port1)支持PPI通信协议,S7-200的一些通信模块也支持PPI协议。Micro/WIN与CPU进行编程通信也通过PPI协议。 MPI (Multipoint interface)是SIMAT
⑹ S7 200的485通讯协议与PPI协议,两者有什么区别与联系吗
485通讯协议 就是 基于 RS485 硬件连接的通讯协议,有很多吧,如 modbus 等等
如果使用PG/PC的串口编程,则需要使用PC/PPI电缆。 如果使用STEP 7-Micro/WIN32 V3.1编程软件,则也可以通过SIMATI...1个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。非常适合于小点数控制的微型控制器。
⑺ 西门子200的PPI协议可以用到300上吗 用PPI主要是避免PLC编程
300PLC不支持PPI通信,但是200PLC可以通过MPI和300PLC通信,200PLC的端口是支持自由协议通信,PPI通信和MPI通信
⑻ 西门子S7-200 PPI协议
SIMATIC S7-200系列PLC适用于各行各业,各种场合中的检测、监测及控制的自动化。S7-200系列的强大功能使其无论在独立运行中,或相连成网络皆能实现复杂控制功能。因此S7-200系列具有极高的性能/价格比。
---- S7-200系列出色表现在以下几个方面:
--------* 极高的可靠性
--------* 极丰富的指令集
--------* 易于掌握
--------* 便捷的操作
--------* 丰富的内置集成功能
--------* 实时特性
--------* 强劲的通讯能力
--------* 丰富的扩展模块
----S7-200系列在集散自动化系统中充分发挥其强大功能。使用范围可覆盖从替代继电器的简单控制到更复杂的自动化控制。应用领域极为广泛,覆盖所有与自动检测,自动化控制有关的工业及民用领域,包括各种机床、机械、电力设施、民用设施、环境保护设备等等。如:冲压机床,磨床,印刷机械,橡胶化工机械,中央空调,电梯控制,运动系统。
---- S7-200系列PLC可提供4个不同的基本型号的8种CPU供您使用。
CPU单元设计
集成的24V负载电源:可直接连接到传感器和变送器(执行器),CPU 221,222具有180mA输出, CPU 224,CPU 226分别输出280,400mA。可用作负载电源。
不同的设备类型
CPU 221~226各有2种类型CPU,具有不同的电源电压和控制电压。
本机数字量输入/输出点
CPU 221具有6个输入点和4个输出点,CPU 222具有8个输入点和6个输出点,CPU 224具有14个输入点和10个输出点。CPU 226具有24个输入点和16个输出点。
中断输入
允许以极快的速度对过程信号的上升沿作出响应。
高速计数器
CPU 221/222
4个高速计数器(30KHz),可编程并具有复位输入,2个独立的输入端可同时作加、减计数,可连接两个相位差为90°的A/B相增量编码器
CPU224/226
6个高速计数器(30KHz),具有CPU221/222相同的功能。
CPU 222/224/226
可方便地用数字量和模拟量扩展模块进行扩展。可使用仿真器(选件)对本机输入信号进行仿真,用于调试用户程序。
模拟电位器
CPU221/222 1个
CPU224/226 2个
CPU221/222/224/226还具有
脉冲输出
2路高频率脉冲输出(最大20KHz),用于控制步进电机或伺服电机实现定位任务。
实时时钟
例如为信息加注时间标记,记录机器运行时间或对过程进行时间控制。
EEPROM存储器模块(选件)
可作为修改与拷贝程序的快速工具(无需编程器),并可进行辅助软件归档工作。
电池模块
用于长时间数据后备。用户数据(如标志位状态,数据块,定时器,计数器)可通过内部的超级电容存贮大约5天。选用电池模块能延长存贮时间到200天(10年寿命)。电池模块插在存储器模块的卡槽中。
编程:CPU 221/222/224/226
STEP 7-Micro/WIN32 V3.1编程软件可以对所有的CPU 221/222/224/226功能进行编程。同时也可以使用STEP 7-Micro/WIN16 V2.1软件包,但是它只支持对S7-21x同样具有的功能进行编程。
STEP 7-Micro/DOS不能对CPU 221/222/224/226编程。如果使用PG/PC的串口编程,则需要使用PC/PPI电缆。
如果使用STEP 7-Micro/WIN32 V3.1编程软件,则也可以通过SIMATIC CP 5511或CP 5611编程。在这种情况下,通讯速率可高达187.5kbit/s。
可以利用PC/PPI 电缆和自由口通讯功能把 S7-200 CPU 连接到许多和RS-232标准兼容的设备。
有两种不同型号的 PC/PPI 电缆:
带有RS-232口的隔离型 PC/PPI 电缆,用5个DIP开关设置波特率和其它配置项 (见图7)。有关隔离型PC/PPI电缆的技术规范,请参阅附录A。
带有RS-232口的非隔离型 PC/PPI 电缆,用4个DIP开关设置波特率。 有关非隔离型PC/PPI电缆的技术规范,请参阅S7-200 可编程控制器系统手册。
图7 当数据从RS-232传送到RS-485口时,PC/PPI 电缆是发送模式。当数据从RS-485传送到RS-232口时,PC/PPI 电缆是接收模式。当检测到RS-232的发送线有字符时,电缆立即从接收模式转换到发送模式。当RS-232发送线处于闲置的时间超过电缆切换时间时,电缆又切换到接收模式。这个时间与电缆上的DIP开关设定的波特率选择有关。
CPU 221(更多信息…)
本机集成6输入/4输出共10个数字量I/O点。无I/O扩展能力。6K字节程序和数据存储空间。4个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出。1个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。非常适合于小点数控制的微型控制器。
CPU 222(更多信息…)
本机集成8输入/6输出共14个数字量I/O点。可连接2个扩展模块。6K字节程序和数据存储空间。4个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出。1个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。非常适合于小点数控制的微型控制器。
CPU 224(更多信息…)
本机集成14输入/10输出共24个数字量I/O点。可连接7个扩展模块,最大扩展至168路数字量I/O点或35路模拟量I/O 点。13K字节程序和数据存储空间。6个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出,具有PID控制器。1个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。I/O端子排可很容易地整体拆卸。是具有较强控制能力的控制器。
CPU 226(更多信息…)
本机集成24输入/16输出共40个数字量I/O 点。可连接7个扩展模块,最大扩展至248路数字量I/O 点或35路模拟量I/O 点。13K字节程序和数据存储空间。6个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出,具有PID控制器。2个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。I/O端子排可很容易地整体拆卸。用于较高要求的控制系统,具有更多的输入/输出点,更强的模块扩展能力,更快的运行速度和功能更强的内部集成特殊功能。可完全适应于一些复杂的中小型控制系统。
CPU 226XM(更多信息…)
在原有的226的基础上将程序存储空间和数据存储空间扩大了一倍。
本机集成24输入/16输出共40个数字量I/O 点。可连接7个扩展模块,最大扩展至248路数字量I/O 点或35路模拟量I/O 点。13K字节程序和数据存储空间。6个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出,具有PID控制器。2个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。I/O端子排可很容易地整体拆卸。用于较高要求的控制系统,具有更多的输入/输出点,更强的模块扩展能力,更快的运行速度和功能更强的内部集成特殊功能。可完全适应于一些复杂的中小型控制系统。
⑼ 谁能帮我讲解一下西门子200PPI通讯协议,谢谢各位。
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则完成正确的读写响应,回应给上位机数据。这样收发两次数据,完成一次数据的读写[5]。
其通讯数据报文格式大致有以下几类:
1、读写申请的数据格式如下:
SD
LE LER SD DA SA FC DASP SSAP DU FCS ED
SD:(Start
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、串口初始化程序:
MSComm1.CommPort = 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的数据时,就可以一次读出这组连续的数据,减少数据的分次频繁读取。当修改设定值等数据时,进行写数据的通讯操作。
⑽ 西门子PLC PPI协议 一次读多个地址
200的没那个库文件,300的到可以连续的读取上百个地址。你可以使用两网络读取个指令,把其中两个字地址整合成一个双字地址读取。