西门子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中。
- 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協議。