基于PLC自由口通信的应用.doc_第1页
基于PLC自由口通信的应用.doc_第2页
基于PLC自由口通信的应用.doc_第3页
基于PLC自由口通信的应用.doc_第4页
基于PLC自由口通信的应用.doc_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于PLC自由口通信的应用2008-12-9 9:57:00高丽华 齐向东 孙江 焦凤娇供稿摘要:介绍了在VisualBasic6.0环境下工控机与S7-200PLC自由口通信的实现方法,并结合水位实时检测控制系统的开发实例,分析了VisualBasic6.0与PLC通信的关键技术,该方法在几乎不增加设备开支的情况下实现了上位机与PLC的通信和监控。 关键词:PLC;通信;VB6.0;上位机ApplicationofCommunicationBasedonPLCsFreeportGAOLihuaQIXiangdongJIAOFenjiaoAbstract:Inthispaper,thewayofcommunicationbetweenindustrialPCandS7-200PLCisintroduced.Thekeytechnologyofthecommunicationmethodisalsoanalysedthroughanexampleofwater-levelreal-timedetectioncontrolsystem,themethodrealizesthecommunicationsandmonitorbetweentheuppercomputerandPLCwithoutincreasetheequipmentexpense.Keywords:PLC;communication;vb6.0;uppercomputer1引言在工业控制中,作为工厂自动化的三大支柱之一的可编程控制器PLC(ProgrammableLogicController),由于其安全可靠、功能齐全、应用灵活、操作维修容易和稳定可靠等特点而得到广泛应用。但它无法实时显示各种控制图表,人机交互性差。为弥补这方面的不足,工业控制中一般与计算机组成控制系统,将PLC作为下位机使用。本文就此以S7200PLC为例,通过VisualBasic6.0编程实现计算机作为上位机与PLC的通信,完成工业流程和工艺参数的显示以及控制参数的修改等功能。2系统简介本系统是一个水位实时检测和控制系统,整个系统分成2级;PLC控制级和上位机监控级。首先,通过PLC将水位传感器检测到的水位模拟量送至上位机进行显示;其次,上位机可发出起停泵、增减水位、手动自动切换等指令,并对上述指令信号动态采样,在上位机显示除了以上几部分外,系统还具备参数修改和报警、实时趋势显示、实时和历史数据报告等功能。3系统硬件组成系统主要由工控机、PLC、水泵和电气控制柜等组成。其中工控机作为上位机,通过RS-232接口与下位机相连,主要负责监控和管理功能;下位机选用SIEMENS公司的S7-200系列PLC,中央处理模块采用S7-200系列CPU226,该CPU在本体中集成了2个RS-485通讯口,其性价比高,满足本系统的所有要求,由于水位传感器的模拟量信号,本系统还需要模拟量扩展模块EM235。4上位机与PLC通信4.1PLC自由口通信方式工控机与PLC通讯,工控机为RS232串行接口,S7-200为RS485串行接口,他们之间不能直接相连使用,要实现PLC和PC之间的实时通讯,须进行电平转换,这种转换是通过带隔离型的RS232/485转换器来实现的。工控机与PLC自由口通讯如图1所示。图1工控机与PLC自由口通讯示意图本控制系统中采用了自由口通信方式实现与工控机的控制。自由口通信方式是S7-200PLC的一个很有特色的功能,他可以使通信的范围大大增加,使控制系统更加灵活、方便。通信协议完全由用户程序控制,通过设置特殊寄存器SMB30,SMB86,SMB87,SMB94等的控制字来确定通讯参数,通过使用接收中断、发送中断、发送指令和接收指令对通信口操作,通信协议完全可以由梯形图程序控制。本系统采用定时发送,通过中断查询的方式接收数据。PLC发送和接收的流程图如图2、图3所示。图2发送程序流程图图3接收程序流程图4.2MSComm控件VB6.0是一个可视化的窗口开发环境,微软公司在VB中提供了MSComm控件,该控件可以对串口状态、通信协议、数据的接收和发送进行设置。MSComm的工作方式有两种,一是查询方式,二是事件驱动方式。并且MSComm控件屏蔽了通讯过程中的底层操作,可以方便地实现PC与PLC之间的串行通讯。MSComm属性很多,实现通讯只要在程序中设置好几个重要的通讯属性即可,属性设置如表1。表1Mscomm控件属性4.3接口编程在实施过程中,上位机与下位机之间要进行数据传输,本系统中,PLC要向上位机传输多个参数:1个水位传感器压力信号、2个报警信号及手动/自动状态信号等,同时要求上位机向PLC传送开关控制信号、压力设定值信号及调节参数,并把手动/自动状态命令送入PLC中,组成一个带上位机的PLC智能控制系统。系统界面如图4所示。这里应当注意的是,由于采用的通讯方式是半双工的RS-485通讯,所以发送和接收指令不能同时使用。图4系统界面4.3.1PLC部分程序初始化:NETWORK1LDSM0.0/首次扫描MOVB16#05,SMB30/初始化自由通信NETWORK2MOVB16#B0,SMB87/初始化RCV信息控制字符MOVB16#0A,SMB89/设定信息结束字符MOVW+5,SMW90/设置空闲线超时时间为5msMOVB100,SMB94/设置最大字符数为100NETWORK3ATCHINT_0:INT0,23/接收完成事件连接到中断ATCHINT_2:INT2,9/发送完成事件连接到中断ENI/中断允许RCVVB100,0/端口指向接收缓冲区VB100中断程序INT_0/接收完成中断LDB=SMB86,16#20/接收状态显示接收到结束字符MOVB10,SMB34/连接一个10ms的时基中断,触发发送收到的信息字符ATCHINT_1:INT1,10CRETINOT/接收未完成RCVVB100,0/启动一个新的接收中断程序INT_1/定时中断LDSM0.0DTCH10/断开定时器中断XMTVB100,0/在端口0向用户回送信息中断程序INT_2/发送完成中断LDSM0.0RCVVB100,0/发送完成,允许另一个接收4.3.2VB部分通信程序PrivateSubMSComm1_OnComm()StaticSCOMSAsStringDimS1AsStringIfMSComm1.CommEvent=comEvReceiveThen如果接收到字符S1=MSComm1.Input把接收缓冲区内的数据赋值给临时变量S1If(S1=Chr(&H1B)And(Len(SCOMS)3)Then如果变量S1(接收缓冲区内的数据接收到起始字符&H1B,并且变量SCOMS中的字节数大于3),则SCOMS=ElseIfS1Chr(&HD)Then如果变量S1没有接收到结束字符&H0DSCOMS=SCOMS&S1ElseCallmySave(SCOMS)EndIfEndIfEndIfEndSub5结束语在工业控制过程中,常常需要PLC与其他设备的通讯,若采用厂方提供的复杂的通讯方式,必然会使系统的扩展性、灵活性和性价比大打折扣,在中小规模控制系统中采用自由口通讯,可以有效地解决以上问题。参考文献1范逸之.Vi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论