plc串行通信在油管智能检测控制中应用

plc串行通信在油管智能检测控制中应用

ID:5274288

大小:217.38 KB

页数:3页

时间:2017-12-07

上传者:U-1387
plc串行通信在油管智能检测控制中应用_第1页
plc串行通信在油管智能检测控制中应用_第2页
plc串行通信在油管智能检测控制中应用_第3页
资源描述:

《plc串行通信在油管智能检测控制中应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

《电气自动化}2011年第33卷第2期可编程序控制器应用PLCApplicatiOnsPLC串行通信在油管智能检测控制中的应用马磊张杰(1.中国海洋石油能源发展监督监理有限公司,湛江524059;2.中国石油塔里木油田公司,塔里木841000)摘要:为实现油管智能化检测,使用PLC串行通信技术完成油管检测数据的自动采集。介绍了松下FP—X型PLC的通信协议,阐述了计算机与PLC之间串行通信的方法,在VB中构建了通信程序,并成功的应用到油管智能检测控制中。关键词:PLC串行通信油管检测VB[中图分类号]TP274+.5;TP39[文献标识码]B[文章编号]1000—3886(2011)02-0070-03ApplicationofPLCSeriesCommunicationinIntelligentOilTubeDetectingSystemMaLeiZhangJie(1.CNOOCEnergyTechnology&ServicesLtdSupervision&TechnologyCompany,ZhanjiangGuangdong524059,China;2.TarimOilfieldCompany,TalimuXinjing841000,China)Abstract:PLCseriescommunicationtechnologyisadoptedtorealizeintelligentdetectingofoiltube.ThecommunicationprotocolofPanasonicFP—XPLCisintroduced.TheserialcommunicationmethodbetweencomputerandPLCisexplained.AcommunicationprogramisdevelopedwithVB,whichusedsuccessfullyinintelligentoiltubedetectingsystem.Keywords:PLC,serialcommunication,oiltubedetecting,VBO前言和PLC之间交换。油管检测系统用于对油管损伤缺陷进行检测。油管采取直1.2指令和响应的形式线运动通过检测机构的方式实现对油管管体的扫描检测。为实1.2.1指令信息现油管的智能化检测,需要油管在到达检测位时开始采集数据,在文本部分写入指令所需项目,指定PLC地址后发送。指并在油管离开检测位时停止采集数据。油管位置信号通过光电令信息格式如下所示:开关获取,采用松下FP—x型PLC实时监测光电传感器的状态。通过与PLC的串行通信,计算机获得油管位置信号,根据油管的位置控制数据采集。计算机与PLC的串行通信在MicmsoftVisu—alBasic6.0环境下开发完成。瞪,终B端三代c码——-、1}1松下PLC通信协议{oI{考cs小lf}CR1.1计算机链接通信松下FP—X型PLC通过USB端口可以实现计算机链接通信功能。连接在PLC上的计算机拥有信息传送权。计算机向PLC发出指令(指令信息)后,PLC按照指令作出响应(响应信息)。一计算机和PLC之间的数据交换使用MEWTOCOL—COM通信协议。对于由计算机发出的指令,PLC会自动地做出响应回复,在始端代码:在信息的开始处必须写入%;PLC侧不需要有关通信的程序。PLC地址:写入指令接收方PLC的地址,默认地址为“O1”,针对PLC的指令称作“指令”,从计算机向PLC发出;从PLC该地址可通过系统寄存器设置;返回到计算机的信息称作“响应”。PLC收到指令后,自行处理文本:内容随着指令种类而不同;指令后作出响应。计算机侧可以通过返回的响应确认指令的执BCC校验码:采用横向奇偶进行错误检测,用“”代替行结果。通信以会话形式进行,指令和响应以ASCII代码发送。BCC时,可以省略BCC;最初的发送权在计算机侧,发送权在每次信息发送时,在计算机终端代码:在信息终端必须写入“CR”。收稿日期:2010—07—0970ElectricaIAutomation 《电气自动化)2011年第33卷第2期可编程序控制器应用PLCApplications——1.2.2响应信息Setting:string。string是一个包含四部分的字符串,第一部分为收到上述指令的PLC把处理结果发送给计算机。PLC返回波特率;第二部分为奇偶校验:N表示不校验,E表示偶校验,O给计算机的“响应”信息格式如下所示:表示奇校验,S表示空格校验,M表示符号校验;第三部分为数据位长度,其可选值为4,5,6,7,8;第四部分为停止位长度,其可选值为1,1.5,2。Setting属性的缺省值为“9600,N,8,1”。Po~Open属性设置并返回通信端口的状态,也可以打开和关闭端口。Input属性从接收缓冲区返回和删除字符,该属性在运行时为只读。InputLen属性设置并返回每次Irtput属性从接收缓冲区读取的字%Ol$RCOc符数,InputLen属性的缺省值为0,设置InputLen为0时,Input将—L⋯读取接收缓冲区的全部内容。Output属性向传送缓冲区写数据,要传送的数据为文本数据或二进制数据J。—_于旨令名(针对2.2VB中通信程序的实现2.2.1串口初始化Mscomm.CommPo~=3设定通信端口文本:内容随着指令的种类而不同,未正常处理时记录错误Mscomm.Settings=”115200,0,8,1”波特率为115200bps,代码,可以确认异常内容;奇校验,8位数据位,1位结束位其他各项与指令信息定义相同。Mscomm.InBuferSize:1024设置接收数据缓冲区部分常用指令代码如表1所示。Mscomm.OutBuferSize=512设置发送数据缓冲区表1部分常用指令代码一览表Mseomm.InputMode=0设置以字符串形式接收数据Mscomm.InputLen=0不限制一次读取的字节长度指令功能描述Mscomm.InBuferCount=0清空接收缓冲区RCS读取单个触点的状态信息Mseomm.Po~Open=True打开串行口WCS写入单个触点的状态信息Mscomm.InBufferCount=0RCP读取多个触点的状态信息Mscomm.PortOpen=False关闭串行口WCP写入多个触点的状态信息RD读取数据寄存器值2.2.2数据发送与接收WD写入数据寄存器值Mscomm.InBuferCount=0清空接收缓冲区RT读取PLC当前状态Mscomm.Output=Command发送指令信息RP读取程序Forin=lTo100WP写入程序Forn=1To1500stepstr=Mscomm.Input读取串行口的数据2VB中构建计算机与PLC通信程序IfLen(stepstr)>0ThenExitForNextn2.1Mscomm介绍respresp&stepstrVB提供了串行端口控件Mscomm为应用程序提供串行通Nextm[]信。该控件屏蔽了通信过程中的底层操作,程序员应用时只需设置、监视Mscomm控件的属性和事件即可完成对串行口的初始化3PLC串行通信在油管智能检测控制中的实现和数据的输入输出工作。Mscomm控件的主要属性如下:3.1油管检测系统Commport属性设置并返回通信端口号,例如:Mscomm.Corn—油管检测系统示意图如图1所示。油管在辊轮带动下,匀速report=1,即设置当前通信端口为COM1。Setting属性设置并返通过检测机构接受检测。当油管到达检测位时开始采集数据,当回波特率、奇偶校验、数据位长度、停止位长度,格式为:Mseomm.油管离开检测位时停止采集数据。检测位置的识别由安装在检构凸凸图1油管检测系统示意图ElectricaIAutomation71 《电气自动化)2011年第33卷第2期可编程序控制器应用PLCApplications测机构前方的光电开关完成,采用松下FP—x型PLC实时监测Mscomm.Output=”%01#RCSR0001”+””+Chr光电传感器的状态。通过与PLC的串行通信,计算机获得油管(13)读取R1状态指令位置信号,从而根据油管的位置控制数据采集。Form:1To10O3.2计算机链接通信环境设定Forn=1To1500PLC采用将USB作为虚拟的串行端口进行通信的方式,因stepstr=Mscomm.Input读取串行口的数据此认为由USB所连接的FP—X型PLC是由计算机通过COM端IfLen(stepstr)>0ThenExitFor口进行连接的。计算机链接的通信设置要通过编程工具FPWINNextnGR来进行。在PLC系统寄存器设置中设置如下内容:respresp&stepstrNo.411站号(PLC地址):可从1~99进行设定;NextmNo.412通信模式设置为计算机链接;在端口选择中,选择IfMid(resp,l,9)=”%01$RC120”Then判断RO状态Datalogger“内置USB”;_on开始数据采集No.414(COM2端口用)传送格式的设定:数据长度8bit,奇EndIf偶校验为奇校验,停止位1bit,终端代码CR(固定),始端代码无IfMid(resp,l1,9)=”%01$RC120”Then判断R1状态DataloggerSTX(固定);—of停止数据采集No.415速率的设定:速率固定为115200bps。EndIf3.3VB通信程序的开发EndSub在检测台正前方装有光电开关用来感应油管是否到达检测”%01#RCSR0000”+””+Chr(13)代表发送的命令位,其对应的PLC输入端子为X0。采用中间继电器R0存储X0为%01#RCSR0000CR,RCS代表通信指令为读取单个触点的的上升沿,R1存储X0的下降沿。梯形图程序如图2所示。状态信息,R0000代表R0。PLC收到该指令,会根据RO位的状态回复。若为“1”,则响应信息为:%Ol$RC120CR,RC表示触点状态读取,“1”为触点状态,“20”为不使用BCC校验时的输出字符;若为“0”,则响应信息为:%01$RC021CR。4结论在MicrosoftVisualBasic6.0环境下开发了基于松下通信协议MEWTOCOL—COM的通信程序,实现了计算机与FP—x型PLC的串行通信,并应用到油管智能检测控制中。经现场长期使用,该系统运行稳定可靠。PLC通信技术可广泛应用于其他智能控制领域。图2梯形图程序参考文献[1]松F电工(中国)有限公司,可编程控制器FP—X用户手册[z].当油管进入检测机构时,R0为1并保持1S,此时开始数据采[2]松下电工(中国)有限公司,松下电工FP系列可编程控制器通信协集;当油管离开检测机构时,R1为1并保持1s,此时停止数据采议MEWTOCOL.集。R0和R1的状态通过指令RCS读取。由于系统要反映PLC[3]MSDNLibraryVisualStudio6.0.数据区的实时变化,所以在控件Timerl(1OOms执行一次)里编写[4]刘正国,刘唯.计算机与松下FP系列PLC串行通信的实现[J].微发出和接收指令的代码:计算机信息,2006,22:8~1.PrivateSubTimerl_Timer()Mscomm.InBufferCount=0清空接收缓冲区【作者简介】马磊(1982一),男,汉族,本科,完井监督,主要研究方向为Mscomm.Output=”%01#RCSR0000”+””+Chr完井测试工程。张杰(1985一),男,汉族,本科,工程师,主要从事设备管理和石油钻具的无损检测工作。(13)读取RO状态指令r一一一⋯⋯⋯⋯⋯⋯一⋯⋯⋯⋯⋯—l地球是我家,绿化靠大家;:i森林是氧气的制造工厂:}⋯⋯⋯一⋯⋯⋯⋯一一⋯⋯⋯一⋯一⋯一⋯一⋯⋯⋯l一—l,嚏,。;72ElectricalAutomarion

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭