西门子S7-200 PLC之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个字节。
S7-200CNPPI通信

PPI通信协议PPI通信协议一网络构架PPI通信协议•PPI协议:•专门为S7-200CN开发的通信协议;•是一种主从协议;•主站发送要求到从站,从站进行响应,•从站不发送信息,只是等待主站的要求并对要求做出响应。
•S7-200CN的通信口有两个:•port0、port1.•S7-200与PC机编程时,就是通过PPI协议来完成的。
•S7-200的PPI通信是建立在RS-485的基础上的。
•S7-200之间的PPI通信只需要两条简单的指令:•网络读指令:NETR•网络写指令:NETW•在NETR、NETW通信•中,只有主站需要调用•NETR、NETW指令,•从站只需编程处理数•据缓冲区即可。
•SMB30、SMB130寄存器•SMB30:控制自由端口0的通信方式;•SMB130:控制自由端口1的通信方式。
•其含义如表所示:•默认情况下,PLC为PPI的通信从站,SMB30/SMB130的第0、1位,控制通信模式;当第1、0位为:10时,为PPI通信主站模式。
在PPI模式下,忽略2到7位。
PPI通信协议二使用通讯向导•PPI通信练习•将主站的I1.0~I1.7映射到从站的Q0.0~Q0.7;•将从站的I1.0~I1.7映射到主站的Q0.0~Q0.7;主站从站I1.0~I1.7 →Q0.0~Q0.7Q0.0~Q0.7 ←I1.0~I1.7 即NETR VB307 ←VB200 NETW VB207 →VB300内容提要•1、使用向导•2、编写程序•3、编译、下载程序到PLC •4、查看程序运行情况1、使用向导2、编写程序•一、主站程序•二、从站程序1、设置从站的PPI通信端口为0,站地址为6.¾下载调试。
S7-200型PLC之间的PPI协议通信

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、读指令
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个字节。
S7200PLC间的PPI通讯

当连接器位于终端设备时,将滑动开关拨到“ON”位置,进线电缆只接A1、B1;·当连接器位于中间设备时,将滑动开关拨到“OFF”位置,电缆接线为入线接A1、B1,出线接A2、B2;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—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网络读取命令的写设定在上图中,单击上一项操作或者下一项操作可以在读和写之间切换。
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则完成正确的读写响应,回应给上位机数据。
以单片机作为S7200PLC从站的PPI协议的设计

以单片机作为S7-200PLC从站的PPI协议的设计以单片机作为S7-200PLC从站的PPI协议的设计摘要:为了将单片机加入到SIEMENS S7-200系列PLC的PPI (点对点协议)通信网络中,就需要分析PPI通信协议格式。
本文利用CommMonitor6.0(串口监视精灵)工具,监控PLC与PLC之间的通信,通过总结分析出其数据格式,然后编写相应的单片机C51程序,使PLC能够使用NetR/NetW(网络读写命令)与单片机进行数据交换。
关键词:PLC;单片机;PPI;NetR;NetW 在工业控制领域,可编程逻辑控制器PLC(Programmable Logic Controller)以其可靠性高、抗干扰能力强,通用性强、灵活性好、功能齐全、编程简单、使用方便以及安装简便等特点而得到了广泛的应用。
现代工业控制系统大都向着分散化、网络化和智能化方向发展,如何实现现场分散的控制设备的网络通信十分重要。
西门子公司的S7-200系列PLC支持PPI、MPI、Profibus和自由口通信等多种通信方式。
采用MPI协议需要相应的CP卡或MPI卡支持,如CP5511通信卡;若采用Profibus协议,则需要Profibus-DP模块EM277;若采用自由口方式,则在PLC中需要编写通信程序,占用PLC有限的程序存储空间,同时也难以保证在恶劣复杂环境下通信数据的正确可靠性;若采用PPI协议,只需在整个通信网络中选定1个PLC作为通信主站点,其他PLC都作为从站点,主站PLC通过NetR/NetW 指令周期性地与从站PLC进行数据交换,这种通信方式非常简单可靠,得到了广泛的应用。
在实际应用中通常又需要PLC能够与其他设备通信,本文以单片机串口通信为例,详细地分析了NetR/NetW 指令的通信流程与数据格式,并设计出了单片机串口通信协议,使PLC能够使用NetR/NetW指令与单片机通信。
1S7-200系列PLC 网络读写指令分析1.1PPI协议简介PPI是西门子公司专门为S7-200系列PLC开发的通信协议,内置于S7-200CPU中。
西门子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则完成正确的读写响应,回应给上位机数据。
S7-200的PPI网络\Profibus网络

S7-200的PPI网络\Profibus网络1.3.1 PPI网络PPI协议是专门为 S7-200开发的通信协议。
S7-200CPU的通信口(Port0/Port1)支持 PPI通信协议,S7-200的一些通信模块也支持 PPI协议。
S7-200 CPU的 PPI 网络通信是建立在RS-485网络的硬件基础上,因此其连接属性和需要的网络硬件设备是与其他 RS-485网络一致的。
PPI协议主要特点是:•主从协议,网络中至少有一个主站。
•令牌环网,令牌在 PPI主站之间传递。
• S7-200既可以做 PPI主站,也可以做 PPI从站。
•通讯速率可设为9.6Kbps,19.2Kbps和 187.5Kbps。
•西门子内部协议。
PPI网络主要有四种应用:1. Micro/WIN软件对 CPU的编程监控。
2. S7-200之间的数据交换。
3. S7-200与人机界面(HMI)的通讯。
4. S7-200与上位机的 OPC通讯。
1.3.2 MPI网络MPI (Multipoint interface)是 SIMATIC S7多点通信的接口,是一种适用于少数站点间通信的网络,多用于连接上位机和少量 PLC之间近距离通信。
MPI主要特点如下:•主从协议,网络中至少有一个主站。
•令牌环网,令牌在 MPI主站之间传递。
• S7-200只能做 MPI从站。
• MPI网络中最多只能有 32个站。
•通讯速率可设为19.2Kbps或 187.5Kbps。
•西门子内部协议。
S7-200的 MPI网络主要有三种应用:1. S7-200与 S7-300/400等控制器通讯。
2. S7-200与触摸屏通讯。
3. Micro/WIN或上位机软件对S7-200的编程与监控。
1.3.3 Profibus网络S7-200通过扩展 EM277模块实现Profibus-DP通讯。
其特点主要有:•主从协议,网络中至少有一个主站。
•令牌环网,令牌在Profibus主站之间传递。
wincc与S7-200PLC通过PPI协议通讯 - 西门子plc

wincc与S7-200PLC通过PPI协议通讯 - 西门子plc通讯也可考虑采用PPI,硬件费用很低,实现起来也简单1、主站:wincc6可以通过modbusopcserver实现。
从站:在s7200项目中添加modbusslave协议库(microwin帮助中有详细介绍)。
主从站的通讯参数必须一致。
2、pcaccess其实就是一个s7200opcserver(ppi),比采用modbus 简单易用,由于采用ppi协议,plc项目中不必另嵌通讯处理程序。
3、pc/ppi电缆也可以用市售的rs232/485转换器代替。
WinCC与S7-200系列PLC通过PPI协议进行通信的实现。
PPI协议是西门子S7-200系列PLC常用通信协议,但WinCC中没有集成该协议,即WinCC不能直接监控S7-200系列PLC组成的控制系统。
S7-200OPCServer是西门子公司推出的专为解决上位机监控S7-200系列PLC控制系统的接口软件。
因此,WinCC可以通过该软件与S7-200系列PLC很方便的建立通信。
(1)软硬件要求:*PC机,Windows操作系统;*S7-200系列PLC。
*PC/PPI电缆。
*安装S7-200OPCServer软件。
*安装WinCC6.0软件。
(2)连接:在控制面板中设定PG/PC接口参数。
在AccessPointoftheApplication中选择Computing,Interface参数选择PC/PPICable。
在WinCC变量管理器中添加一个新的驱动程序,新的驱动程序选择OPC.CHN,在OPCGROUP中新建一个连接,打开属性,选择OPCGroupSetting,OPC服务器名称为OPCServer.MicroComputing。
然后在新添加的连接中新建变量,变量的ItemName与S7-200系列PLC中用于监控的变量名对应。
例如:ItemName为M0.0。
s7_200的PPI通信

PPI协议是专门为S7-200开发的通信协议。
S7-200CPU的通信口(Port0、Port1)支持PPI通信协议,S7-200的一些通信模块也支持PPI协议。
Micro/WIN与CPU进行编程通信也通过PPI协议。
S7-200CPU的PPI网络通信是建立在RS-485网络的硬件基础上,因此其连接属性和需要的网络硬件设备是与其他RS-485网络一致的。
S7-200CPU之间的PPI网络通信只需要两条简单的指令,它们是网络读(NetR)和网络写(NetW)指令。
在网络读写通信中,只有主站需要调用NetR/NetW指令,从站只需编程处理数据缓冲区(取用或准备数据)。
PPI网络上的所有站点都应当有各自不同的网络地址。
否则通信不会正常进行。
可以用两种方法编程实现PPI网络读写通信:使用NetR/NetW指令,编程实现使用Micro/WIN中的InstructionWizard(指令向导)中的NETR/NETW向导NetR/NetW指令要点有关网络读写(NetR/NetW)指令的详细情况必须参考《S7-200系统手册》。
每条网络读写指令最多能够读或者写16个字节的数据;每个CPU内最多只能有8条网络读写指令同时激活,而网络读写指令的数目没有限制。
只有通信主站能够使用网络读写指令。
缺省情况下,S7-200CPU的通信口设置为从站模式。
因此在编程时,需要把通信口设置为通信主站模式。
在一个PPI网络中,与一个从站通信的主站的个数并没有限制,但是一个网络中主站的个数不能超过32个。
主站既可以读写从站的数据,也可以读写主站的数据。
也就是说,S7-200作为PPI主站时,仍然可以作为从站响应其他主站的数据请求。
一个主站CPU可以读写网络中任何其他CPU的数据。
由于串行通信的特点,通信数据的接收(或者发送)是不能与PLC程序的扫描周期配合的。
所有的通信活动都需要PLC操作系统的管理,网络读写(包括其他类似的通信指令)指令只是告诉操作系统有需要处理的通信任务。
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接口,可以执行用户指定的通讯协议。
两台S7-200 PLC通过PPI通讯概述及例程

西门子PPI通讯概述PPI协议是S7-200 CPU最基本的通讯方式,通过原来自身的端口PORT0或PORT1就可以实现通讯,是S7-200 CPU默认的通讯方式。
PPI是一种主--从协议通信,主--从站在1个令牌环网中。
在CPU内用户调用网络读写指令即可。
SMB30是PORTO SMB130是PORT1通信控制举例:两台S7-200实现PPI通讯甲机 S7-200站号2为主站乙机 S7-200站号3为从站I0.0启动乙机电动机Q0.0星形I0.1停止乙机电动机Q0.1三角形Q0.2星形I0.2启动甲机电动机Q0.3三角形I0.3停止甲机电动机设置端口0站号为3,选择波特率为9.6KBS下载系统块参数到CPU,同样的方式设置另一个CPU,端口0的站号为2,波特率为9.6KBS下载系统块参数到CPU 中。
最后利用网络插头把甲机和乙机的端口0连接,利用软件搜索,应该同时发现2个CPU两台S7-200实现PPI通讯之主站程序TITLE=甲机主站程序Network 1 // 网络标题// 定义PPI为主站10的形式,默认是从站00// SMB30=0000 0010,定义PPI主站LD SM0.1MOVB 16#0A, SMB30Network 2// 读网络初始化LD SM0.1MOVB 16#03, VB101 //读3号站MOVD &MB10, VD102 //远程地址MB10MOVB 16#1, VB106 //准备读1个字节Network 3// 写网络初始化LD SM0.1MOVB 16#03, VB111 //写3号站MOVD &QB0, VD112 //写到远程QB0MOVB 16#1, VB116 //写一个字节Network 4// 读网络命令LD SM0.0 //读网络指令NETR VB100, 0 //把读到的内容装到本站QB0 Network 5 //// 写网络命令LD SM0.0MOVB MB10, VB117 //把QBO的状态准备写到远程NETW VB110, 0 //写网络指令Network 6// 甲机星形输出LD V107.0 //甲机星形输出= Q0.2Network 7// 甲机三角形输出LD V107.1 //甲机三角形输出= Q0.3Network 8// 启动乙机LD I0.2 //启动乙机AN M10.1S M10.0, 1Network 9// 乙机星形启动延时6S进入三角运行LD M10.0 //乙机星形启动TON T37, 60 //延时6S进入三角运行Network 10LD T37S M10.1, 1R M10.0, 1Network 11// 停止乙机LD I0.3 //停止乙机R M10.0, 2两台S7-200实现PPI通讯之从站程序TITLE=乙机从站程序Network 1 // 网络标题// 默认是PPI从站。
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通讯协议!看看吧!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则完成正确的读写响应,回应给上位机数据。
S7-200的通讯方式

S7-200的通讯方式通讯内部集成的PPI 接口为SIMATIC S7-200 的用户提供了强大的通讯功能。
PPI 接口物理特性为RS485,可在三种方式下工作:一、PPI 方式PPI 通讯协议是西门子专为S7-200 系列PLC 开发的一个通讯协议。
可通过普通的两芯屏蔽双绞电缆进行联网。
波特率为9.6kbit/s ,19.2kbit/s 和187.5kbit/s。
S7-200 系列CPU 上集成的编程口同时就是PPI 通讯联网接口。
利用PPI 通讯协议进行通讯非常简单方便,只用NETR 和NETW 两条语句即可进行数据信号的传递,不需额外再配置模块或软件。
PPI 通讯网络是一个令牌传递网,在不加中继器的情况下,最多可以由31 个S7-200 系列PLC,TD200,OP/TP 面板或上位机(插MPI 卡)为站点,构成PPI 网。
图1 PPI 通讯方式图2 带有中继器的网络二、MPI 方式S7-200 可以通过内置接口连接到MPI 网络上,波特率为19.2k/187.5kbit /s。
它可与S7-300/S7-400CPU 进行通讯。
S7-200CPU 在MPI 网络中作为从站,它们彼此间不能通讯。
图3 MPI 通讯方式三、自由通讯口方式:自由通讯口方式是S7-200PLC 的一个很有特色的功能。
它使S7-200 PLC 可以与任何通讯协议公开的其它设备、控制器进行通讯,即S7-200 PLC 可以由用户自己定义通讯协议(例ASCII 协议)。
波特率最高为38.4kbit/s(可调整)。
因此使可通讯的范围大大增加,使控制系统配置更加灵活、方便。
?任何具有串行接口的外设,例如:打印机或条形码阅读器,变频器,调制解调器(Modem),上位PC 机等。
?S7-200 系列微型PLC,用于两个CPU 间简单的数据交换。
用户可通过编程来编制通讯协议,用来交换数据(例如:ASCII 码字符),具有RS232 接口的设备也可用PC/PPI 电缆连接起来进行自由通讯方式通讯。
【PLC编程入门】西门子S7-200PLC之间的PPI通信

【PLC编程入门】西门子S7-200PLC之间的PPI通信01PPI通信定义PPI协议是西门子S7-200PLC之间交换信息的专用协议,PPI协议是一种点对点协议,它只定义了一次通信中的主从问题,西门子编程软件与CPU进行通信同样使用PPI协议,同样下载时也要用PPI线缆。
今天我们介绍如何基于PPI协议实现两个CPU之间进行数据交换。
02基于PPI协议实现两个PLC的通信1第一步:硬件接线图片所示S7-200通信端口的端口定义。
PPI通信基于485的硬件。
因此,必须需要包含至少一对双绞线的屏蔽电缆,并且两端分别连接到DB9头3脚和8脚。
两台S7-200PLC距离不建议超过50米,如遇特殊情况在50米以上,需要使用配套的中继器进行连接。
2第二步:CPU地址分配PPI通信要求PPI网络中的每个CPU都有不同的地址,Micro/WIN默认为0,CPU默认为2,因此,建议将主PLC的地址设置为2,并将PLC地址设置为按顺序设置为11,12,13,依此类推。
3第三步:初始化通过初始化特殊寄存器SMB30,将主CPU端口0配置为PPI主站模式,同时将数据缓存区清零。
配置时只需要看最低两位即可,即mm,其他的都配置成零就行了。
2就是PPI主站模式。
从站配置成PPI从站模式,即配置成2。
4第四步:准备数据必须根据规定将数据填入缓冲区,数据格式如,如果数据传输缓冲区是VB200,则VB200是状态字,不需要填写,用于读取指令执行的状态。
VB201是目标从机的地址,VB202到VB205的时候是从机目标地址,VB206是数据长度,如果是写命令则是你要写的字节数,如果是读命令,你想要的读取数据的长度。
VB207是数据区域。
对于NETR,在执行NETR指令后,从远程站读取的数据将放在此数据区中。
对于NETW,在执行NETW指令之前,要发送到远程站的数据放在该数据区中。
5第五步、调用收发指令PPI通信指令只有两条,分别是:网络读和网络写,调用也很简单,只需要指定本次读写己方的端口和数据缓冲区地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西門子S7-200 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則完成正確的讀寫響應,回應給上位機數據。
這樣收發兩次數據,完成一次數據的讀寫[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)源地址,指該地址的指針,為地址值乘以8DA:(Destination Address)目標地址,指該地址的指針,為地址值乘以8FC:(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接收到讀寫命令,校驗後正確,返回的數據格式為E5H3、確認讀寫命令的數據格式為:SD SA DA FC FCS ED其中SD為起始符,為10HSA為數據源地址DA為目的地址FC為功能碼,取5CHFCS為SA DA FC的和的末字節ED為結束符,取16HPPI協議的軟件編製在采用上位機與PLC通訊時,上位機采用VB編程,計算機采用PPI電纜或普通的485串口卡與PLC的編程口連接,通訊係統采用主從結構,上位機遵循PPI 協議格式,發出讀寫申請,PLC返回相應的數據。
程序實現如下:1、串口初始化程序:mPort = 1MSComm1.Settings = "9600,e,8,1"MSComm1.InputLen = 0MSComm1.RThreshold = 1MSComm1.InputMode = comInputModeBinaryPPI協議定義串口為以二進製形式收發數據,這樣報文的通訊效率比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 30Temp_FCS = Temp_FCS Str_Read(i)Next IStr_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 16PLC返回數據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 16PLC返回數據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 ByteDim Dis_Array As StringDim RCV_Len As LongRCV_Array = MSComm1.Input ‘取出串口接收緩衝器的數據。
RCV_Len = UBound(RCV_Array)ReDim Temp(0 To UBound(RCV_Array))For i = 0 To RCV_LenDis_Array = Dis_Array &; Hex(RCV_Array (i)) &; " "Next iText1.Text = Dis_Array ‘接收到的數據送顯示。
在程序的讀寫過程中,一次最大可以讀寫222個字節,目前給出的數據讀寫為整數格式。
數據類型Str_ Read(27)S 04HSM 05HI 81HQ 82HM 83HV 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 的數據時,就可以一次讀出這組連續的數據,減少數據的分次頻繁讀取。
當修改設定值等數據時,進行寫數據的通訊操作。
更多信息:http://www西門子S7-200 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協議。