基于自由口通信的应用_第1页
基于自由口通信的应用_第2页
基于自由口通信的应用_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、基于 PLC 自由口通信的应用2008-12-9 9:57:00华 齐向东 孙江 焦凤娇 供稿摘 要:介绍了在Visual Basic 6.0 环境下工控机与S7-200PLC 自由口通信的实现方法,并结合水位实时检测系统的开发实例,分析了Visual Bas c 6.0 与 PLC 通信的,该方法在几乎不增加设备开支的情况下实现了上位机与PLC 的通信和。:PLC;通信;VB6.0;上位机Application of Communication Based on PLCs FreeportGAO Lihua QI Xiangdong JIAO FenjiaoAbstract:In this

2、paper, the way of communication between industrial PC and S7-200 PLC is introduced. The key technology of the communication method is also analysed through an example of water-level real-time detect on control system, the method realizes the communications and monitor between the upper computer and

3、PLC w thout increase the equipment expense.Key words: PLC;communication;vb6.0;upper computer1 引言www PLCworld cn在工业中,作为工厂自动化的三大支柱之一的可编程器 PLC(Programmable Logic Controller),由于其安全可靠、功能齐全、应用灵活、操作维修容易和稳定可靠等特点而得到广泛应用。但它无法实时显示各种图表,人机交互性差。为弥补这方面的不足,中一般与计算机组成系统,将PLC 作为下位机使用。本文就此以 S7200 PLC 为例,通过 Visual Basic

4、 6.0 编程实现计算工业机作为上位机与 PLC 的通信 ,完成工业流程和工艺参数的显示以及参数的修改等功能。2 系统简介本系统是一个水位实时检测和系统,整个系统分成 2 级;PLC级和上位机级。首先,通过 PLC 将水位传感器检测到的水位模拟量送至上位机进行显示;其次,上位机可发出起停泵、增减水位、手动自动切换等指令,并对上述指令信号动态采样,在上位机显示除了以上几部分外,系统还具备参数修改和、实时趋势显示、实时和历史数据报告等功能。3 系统硬件组成系统主要由工控机、PLC、水泵和电气柜等组成。其中工控机作为上位机,通过RS-232 接口与下位机相连,主要负责和管理功能;下位机选用SIEME

5、NS 公司的S7-200 系列 PLC,处理模块采用S7-200 系列 CPU226,该CPU 在本体中集成了 2 个RS-485通讯口,其性价比高,满足本系统的所有要求,由于水位传感器的模拟量信号,本系统还需要模拟量扩展模块EM235。4 上位机与 PLC 通信4.1 PLC 自由口通信方式工控机与 PLC 通讯,工控机为 RS 232 串行接口,S7 - 200 为 RS 485 串行接口,他们之间不能直接相连使用,要实现 PLC 和 PC 之间的实时通讯,须进行电平转换,这种转换是通过带型的 RS 232/485 转换器来实现的。工控机与PLC 自由口通讯如图 1 所示。图 1 工控机与

6、PLC 自由口通讯示意图。自由口通信方式是 S7 - 200 PLC 的一个很有特色的功能,他可以使通信的范本系统中采用了自由口通信方式实现与工控机的围大大增加,使系统更加灵活、方便。通信协议完全由用户程序,通过设置特殊寄存器 SMB30,SMB86,SMB87,SMB94 等的字来确定通讯参数,通过使用接收中断、中断、指令和接收指令对通信口操作,通信协议完全可以由梯形图程序。本系统采用定时发送,通过中断的方式接收数据。PLC和接收的流程图如图 2、图 3 所示。www PLCworld cn图 2程序流程图www PLCworld cn图 3 接收程序流程图4.2 MSComm 控件VB 6

7、.0 是一个可视化的窗口开发环境,微软公司在VB 中提供了 MSComm 控件,该控件可以对串口状态、通信协议、数据的接收和发送进行设置。MSComm 的工作方式有两种,一是方式,二是驱动方式。并且 MSComm 控件了通讯过程中的底层操作,可以方便地实现 PC 与 PLC 之间的串行通讯。MSComm 属性很多,实现通讯只要在程序中设置好几个重要的通讯属性即可,属性设置如表 1。表 1 Mscomm 控件属性4.3 接口编程在实施过程中,上位机与下位机之间要进行数据传输,本系统中,PLC 要向上位机传输多个参数:1 个水位传感器信号、2 个信号及手动/自动状态信号等,同时要求上位机向 PLC

8、 传送开关信号、设定值信号及调节参数,并把手动/自动状态命令送入 PLC 中,组成一个带上位机的PLC 智能系统。系统界面如图 4 所示。这里应当注意的是,由于采用的通讯方式是半双工的RS-485 通讯,所以发送和接收指令不能同时使用。www PLCworld cn图 4 系统界面4.3.1 PLC 部分程序初始化:NETWORK 1LD SM0.0 /首次扫描MOVB 16#05, SMB30 /初始化自由通信NETWORK 2MOVB 16#B0, SMB87 /初始化 RCV 信息字符MOVB 16#0A, SMB89 /设定信息结束字符MOVW +5, SMW90 /设置空闲线超时时间

9、为 5msMOVB 100, SMB94 /设置最大字符数为 100NETWORK 3ATCH INT_0:INT0, 23 /接收完成连接到中断ATCH INT_2:INT2, 9 /完成连接到中断ENI /中断RCV VB100, 0 /端口指向接收缓冲区VB100www PLCworld cn中断程序INT_0 /接收完成中断LDB= SMB86, 16#20 /接收状态显示接收到结束字符MOVB 10, SMB34 /连接一个 10ms 的时基中断,触发收到的信息字符ATCH INT_1:INT1, 10CRETINOT /接收未完成RCV VB100, 0 /启动一个新的接收中断程序

10、INT_1 /定时中断LD SM0.0DTCH 10 /断开定时器中断XMT VB100,0 /在端口 0 向用户回送信息中断程序INT_2 /完成中断LD SM0.0RCV VB100, 0 /完成,另一个接收4.3.2 VB 部分通信程序Private Sub MSComm1_OnComm()Stat c SCOMS As StringDim S1 As StringIf MSComm1.CommEvent = comEvReceive Then 如果接收到字符S1 = MSComm1.Input 把接收缓冲区内的数据赋值给临时变量"S1"If (S1 = Chr(&a

11、mp;H1B) And (Len(SCOMS) >w3w)wTPhLeCnwo如rl果d c变n量"S1"(接收缓冲区内的数据接收到起始字符&H1B,并且变量"SCOMS"中的字节数大于 3),则SCOMS = ""ElseIf S1 <> Chr(&HD) Then 如果变量"S1"没有接收到结束字符&H0DSCOMS = SCOMS & S1ElseCall mySave(SCOMS)End IfEnd IfEnd IfEnd Sub5 结束语在工业过程中,常常需要PLC 与其他设备的通讯,若采用厂方提供的复杂的通讯方式,必然会使系统的扩展性、灵活性和性价比大打折扣,在中小规模系统中采用自由口通讯,可以有效地解决以上问题。参

温馨提示

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

评论

0/150

提交评论