当前位置:自动化网>Wonderware北京代表处门户>应用案例>一种基于VB和InTouch的通信软件实现

一种基于VB和InTouch的通信软件实现

发布时间:2003-05-24 12:14   类型:应用案例   人浏览

一种基于VB和InTouch 的通信软件实现
  A Kind of Communication software based on Vb and Intouch
  (430074 武汉华中理工大学控制工程系) 严丽霞 瞿坦
  【摘要】 本文讲述了在计算机分布式计算机控制系统中如何使用VB和InTouch利用DDE动态数据交换方式来实现上位机、下位机之间的数据通信。
  关键词:VB、InTouch、DDE、NETDDE
  
  AbstractUsing the theory of DDE,How to realized the comm-unication in the distributed computer system through Vb and InTouch is discussed in this article .
  Key wordsVB、InTouch、DDE、NETDDE
   1、 前言
  本文是以笔者参与的某啤酒厂的监控系统实现的项目为背景。由于现场的PLC或单片机控制系统的资源、功能有限,不能长期保存数据,人机界面差,因此一般采用工控机作为上位机,把现场数据通过数据采集站送入上位机,这样组成一个测控系统。上位机丰富的资源可以对采集到的数据进行分析,存盘,运算、打印、报警并进行各种相应显示。上位机形象的人机界面可使操作员更直观,全面的了解现场的情况。采用Intouch、VB来实现上、下两层的通信,简单、明了。
  2、 系统结构
  笔者参与的监控系统呈两层分布式体系结构:数据采集层和监控层。数据采集层主要采用数据通信标准接口;监控层属于局域网,遵循局域网的协议标准。数采层进行数据的采集、处理将数据传递到上一层;监控层共享数采层传来的数据。
  该系统的数采层由多台测控装置组成。这些测控装置采用RS-485标准总线与数采管理站通信。在软件方面采用VB来实现测控装置数采程序,它主要完成上位机与测控装置之间的数据通信和所采集数据的DDE(动态数据交换)转换功能。
  在工控机上的人机界面则采用监控平台软件来实现。目前较为流行的监控平台软件有Heuristics公司的ONSPEC、Intellution公司的FIX和Wonderare公司的InTouch等。InTouch监控软件作为一个实时的人机界面实用程序生成器,可以产生在管理级别上的监控和数据采集程序。它具有开发周期短、可以生成复杂的、友好的交互式图形界面,组态灵活的优点,是目前工业控制领域中简便易用的“快速应用程序生成器”。但它必须采用DDE的数据交换方式与DDE服务器连接来获得数据。此时用户编制的运行于数采站上的VB应用程序充当DDE服务器,如图一所示。将VB和Intouch结合起来,协同工作,可以发挥各自优点。
  3、 系统DDE实现
  该啤酒长系统在Windows环境下以动态数据交换机制实现系统的实时数据共享。如图2所示:
  首先,数采层采集处理后的数据送到数采管理站,转换成DDE型数据;然后,借助于NETDDE机制,数采管理站把实时数据送至工程师站。工程师站作为NT域控制器,再借助于NETDDE机制实现与其他各监视站之间的动态数据交换。由于各站之间建立了“热连接”链路,作为服务器一方总是在数据变化时主动发送数据给客户方。即当数采管理站采集的数据发生变化时自动反应到工程师站。在现场实时数据的传送上,工程师站既作为数采管理站的客户,又作为其它各监视站的服务器。
  

  系统的动态数据交换实现分为三个方面:
  ① 采管理站的DDE数据类型的数据产生。
  ② 监控层应用程序的DDE组态。
  ③ 构造NETDDE应用程序。
  3、1 用VB 编制DDE程序VB 是开发Windows应用程序的一种面向对象程序设计语言,他支持Windows环境下的DDE通信机制。VB提供了动态数据交换的Link Topic连接主题,Link Item连接项,Link Timeout连接等待时间和Linkmode(连接模式)四项属性。在应用程序编制时,根据DDE原理,把应用程序的可执行文件名去掉EXE后缀,则成为DDE中的Topic。Linkmode有Manual手工,Notify通知,和Automatic自动三种方式。在这个系统中我们采用Automatic自动方式。数采管理站的巡测数采程序的流程图如下: 
  

  测控装置采用RS-485接口标准,因此某一时刻只能有一个站发送数据,其余站只能接口。在该测控装置的通信协议中,由主机以召唤方式向测控装置发送送数命令和相应机号,只有与主机发送的机号一致的测控装置才允许发送数据。
  此VB程序作为DDE服务器,在VB中只有窗体可以作为服务器,在程序的初始化部分应进行DDE设置,程序段如下:
  form1.linkmode=1
  form1.linktopic=form1
  在窗体上放置了mscomm控件用于控制串行端口传输和接受数据,为应用程序提供串行通信功能。
  Mscomm1.comport=2
  Mscomm1.settings='9600n81'’设定该通信口的波特率、奇偶校验、数据位、停止位
  Mscomm1.inputlen=0 '使用Input将使Mscomm控件读取接收缓‘冲区中全部的内容
  Mscomm1.Portopen
  窗体上的定时器控件timer1,用于定时两秒,当定时到时,发送FE命令,要求测控装置发送数据。其程序实现如下:
  mscomm1.output=″fe″+chr$13 '输出FE命令
  mscomm1.output=″tank″ ’tank为机号
  当数据由测控装置送到数采站时将触发mscomm控件的oncomm事件,在此事件处理句柄中完成读入数据的功能。
  Bufferstring=mscomm1.input '读入缓冲区内容
  If Bufferstring<>'ff' then
  Text2.text= Bufferstring+text2.text
  这样读入的数据就显示在Text2文本框中。
  3.2监控层应用程序的DDE组态
  监控层应用程序主要执行InTouch中的WonderViewer,而InTouch正是借助DDE与其它软件联合工作。
  InTouch是用于建立人机接口的一种软件包。它包括WonderViewer和WonderMaker两大部分。使用InTouch软件只需建立一个标记名字典,再利用WonderMaker的图形功能把被控对象形象的画出来,在PC机上就可以把整个对象描绘出来。InTouch只需在标记名字典中指明标记名为DDE特性,同时指定应用程序的服务名和话题名,WonderViewer可自动执行获取数据点的全部操作。
  InTouch既可以作为客户又可以作为服务器。通过NETBIOS DDE的网络接口,可使机制建立起3个层次,因此监控层应用程序的DDE组态分为两大部分:
  ① 工程师站的DDE组态
  DDE用项名、主题名、应用程序名三个层次来标识客户与服务器之间传递的数据单位,通常表示为:应用程序名|主题名!项名;对于客户,应按三个层次去连接相应的数据。工程师站作为数采站的DDE客户。在InTouch的标签库中,提供了DDE设置框,使得DDE组态简便、易行。
  工程师站中的层次标识为:\\shucai\dde1|form1text2.text 数采站的节点,dde1为数采站上的VB应用程序名。
  ② 其它各监视站的DDE组态
  这主要是建立各监视站与工程师站的DDE 连接。此时工程师站作为DDE服务器,其它各监视站作为客户从工程师站上取数据。建立DDE连接的过程与上述类似。
  4、 结论
  VB是一种优秀的面向对象程序设计语言,采用它编制Windows环境下的上位机串行通信软件,程序实现简单,减轻了软件开发的工作。用InTouch监控程序软件完成复杂的图形截面,方便快捷。VB应用程序一方面作为DDE服务器同InTouch进行数据交换,另一方面通过Windows提供的串行通信设备驱动程序与低层的测控装置进行串行通信。对于用户只与InTouch友好人机界面打交道。实际运行证明该通信软件可靠,操作方便。
  参考文献
  1、 瞿坦,数据通信及网络通信, 华中理工大学 
  2、 张鑫,计算机散控制系统,水利电力出版社





















































本文地址:http://ca800.com/apply/d_1nrutga2kvvsa_1.html

拷贝地址

免责声明:本文仅代表作者个人观点,与中国自动化网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容!

留言反馈
  • 评价:

  • 关于:

  • 联系人:

  • 联系电话:

  • 联系邮箱:

  • 需求意向:

  • 验证码:

    看不清楚?

  • 在线咨询