Visual Basic实现Intouch与PLC通信

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Visual Basic实现Intouch与PLC通信
蒋昊;张寿明
【摘要】对于某些特殊型号PLC或者某些特殊型号仪表,现有驱动无法很好的支持其与Inouch等上位机软件的通信,因此介绍Visual Basic通过DDE和串口通信编程实现Intouch与PLC通信的方法,应用该法能够将PLC从现场采集的数据传送到上位机进行显示,也能从上位机向下位机发送控制指令,并保证上下位机的稳定通信.【期刊名称】《江西科学》
【年(卷),期】2010(028)006
【总页数】4页(P814-816,827)
【关键词】Visual Basic;Intouch;PLC;DDE;串口通信
【作者】蒋昊;张寿明
【作者单位】昆明理工大学信息技术与自动化学院,云南,昆明,650051;昆明理工大学信息技术与自动化学院,云南,昆明,650051
【正文语种】中文
【中图分类】TP273+.5
由于现场的 PLC或单片机控制系统的资源、功能都有限,无法长期保存数据,人机交互功能差,所以一般采用工业 PC机作为上位机,把现场控制站、现场数据采集站连接上网,组成一个测控系统。

上位机丰富的资源和强大的功能可以对采集到的数据进行分析运算、存盘、打印、上下限报警,以及进行各种相应的显示。

这样,采集到的数据不但可以被作为历史数据保存下来。

而且可以通过上位机丰富的人机界面显
示出来,从而使操作员更直观、全面了解现场的情况[1]。

目前 Intouch与欧姆龙 PLC通信可使用驱动软件 I/O Server,其配置简单方便,但
是无法完全支持某些特殊型号 PLC或者某些特殊型号仪表[2],因此本文将介绍通过vb编程实现 Intouch与 PLC通信的方法,该方法相当于利用 vb自行编写对应驱动来连接上位机与下位机。

1.1 Intouch
Intouch是工业过程控制中广泛使用的组态软件,它是美国 WONDERWARE公司
的产品,曾连续多年被国际过程控制协会评为最佳软件。

该软件功能强大、组态方
式灵活,是当前工控领域中简便易行的“快速应用程序生成器”。

特别是在生产过
程参数的监控中,更显示出它的巨大优点[3]。

1.2 VisualBasic
VisualBasic是微软公司提供的一种可视化应用程序开发工具,它能使开发人员快速方便的开发出友好的用户界面,是工业控制软件开发中编制图形界面较流行的方法。

使用 Visual Basic编写DDE通信程序简单易懂,同时 vb中附带有串口通信控件,使用控件进行开发能够大大缩短开发周期,对编程人员的要求也能相应降低。

以下简
称 vb[4]。

1.3 动态数据交换 (DDE)
动态数据交换 (Dynamic Data Exchange简称DDE)是一种开放的、与语言无关的、基于消息的协议,它是应用程序通过共享内存进行进程间通信的一种形式。


务器程序与客户程序之间的数据交换被称做为一个“会话”,其中客户程序是初始
化链接和发送数据请求的应用程序,而服务器程序则是通过执行自身的命令或发送
数据来响应客户程序的应用程序。

DDE协议将控制通信对象划分为应用程序名(Application)、主题名 (Topic)和项目名 (Itcm)。

每次 DDE会话由应用程序名和
主题名唯一确定。

客户应用程序可以通过DDE协议和服务器应用程序的一个或多
个项目建立数据链接[5]。

2.1 原理概述
本文中上位机使用 Intouch7.0进行界面组态与显示,下位机使用欧姆龙 PLC对生产过程进行控制,上位机 Intouch通过 DDE与 vb进行数据交换,vb通过 RS232串口发送上位机链接命令获取PLC中内存地址的控制数据,从串口获取的 PLC数据经vb处理通过 DDE方式发送到 Intouch的相应标记名中,并在 Intouch中显示和控制,以此实现 Intouch与 PLC之间通信,如图 1。

2.2 实现步骤
以下通过某厂矿企业电热前床自动控制系统中 Intouch与欧姆龙 PLC通信的实例来对具体的实现方法进行阐述。

2.2.1 Intouch与 vb的 DDE配置
(1)Intouch作为 DDE客户端,vb程序作为服务器。

(2)在 Intouch中新建若干欲通过 DDE连接的标记名变量,类型为 I/O型。

(3)新建访问名 vb1,其应用程序名为 vb_dde server,主题名为 Form1,使用协议为DDE。

(4)将访问名与标记名对应,设置项目名为vb中支持 DDE的控件名称,如 Text1。

(5)新建一个 vb标准 exe工程,设置工程名称为 vb1,窗体名称为 Form1,窗体的LinkMode属性为 1-Source,即使用窗体作为服务器源。

(6)直接生成 exe程序,程序名为 vb_ddeserver.exe。

(7)同时运行 Intouch运行界面和 vb_ddeserver.exe程序即可开始 DDE通信。

2.2.2 vb与 PLC串口通信的配置
(1)向 vb1工程中添加 Comm控件和 T imer控件,基本窗体界面如图 2。

(2)编写相应程序代码,其主要编程思想为:通过串口每 0.5 s向 PLC发送一次读相应PLC内存区命令,得到 PLC从串口回传的响应命令后,从响应命令的指定字节位读取
PLC数据并经处理后显示到 Text控件中,再经 Text控件通过 DDE发送到 Intouch 中的相应标记名变量。

(3)为了正确实现 vb与 PLC串口通信,必须熟练掌握 PLC上位机链接命令,命令格式举例如图 3,响应结束代码含义如表 1。

详细命令功能与使用方法请见 PLC编程手册的上位机链接命令章节。

(4)关键代码:(A)程序初始化:
′初始化程序:主要完成对串口的设置,包括选择串口、设置波特率、设置数据格式、打开串口等。

′注意:在程序开始之前,必须清空发送和接收缓冲区,以免出错。

Private Sub For m_Load()
MSComm1.Settings="9600,e,7,2" ′设置波特率和发送字符格式
mPort=1 ′设置通讯串口
MSComm1.Inpu tLen=0 ′设置或返回一次从接收缓冲区中读取字节数,0表示一次读取所有数据
MSComm1.InBufferSize=512 ′设置接收缓冲区512Byte
MSComm1.InBufferCount=0
MSComm1.OutBufferSize=512 ′设置发送缓冲区 512Byte
MSComm1.OutBufferCount=0
MSComm1.Por tOpen=True ′打开串口
Timer1.Enabled=True
Timer1.Interval=500 ′每 0.5秒刷新 Text控件显示值
End Sub
(B)延时:
在现场调试过程中,Intouch与 vb的 DDE通信以及 vb与 PLC的串口通信稳定可
靠,实时性好,完全能够达到生产工艺要求。

本文所用通信方法采用 vb开发,不仅能够缩短开发周期,而且程序代码通俗易懂,应用此法还可进行各种支持DDE的软件与 PLC的通信,以及支持 DDE的软件与各种检测仪表的通信等,相信该方法对于广大工程技术人员的开发工作将会十分有益。

【相关文献】
[1] 宋伯生.PLC编程理论·算法及技巧[M].北京:机械工业出版社.2009.
[2]OMRON.欧姆龙 PLC CQM1H编程手册 [Z].1999,9:426-459.
[3] 刘健,高奇峰.InTouch和 VB之间的 DDE接口方法[J].微计算机信息,2007,23(4):108-109.
[4] 严丽霞,瞿坦.一种基于 InTouch和 VB的通信软件实现[J].工业控制计算机,2001,14(3):30-31.
[5]顾安双.利用 DDE实现数据共享[J].中国科技信息,2009,(12):116,118.。

相关文档
最新文档