您现在的位置:机电论文网>> 工控与编程>> 正文内容

动态数据交换在工业自动控制组态系统中的应用

作者: 来源: 发布时间:2006/6/19 12:25:03  点击数:5065

出处:(上海交通大学电子信息学院,上海 200030)作者:卢秋红 张国伟 颜国正

【关键词】动态数据交换,组态系统,自动控制

【论文摘要】DDE(动态数据交换)是WINDOWS平台上一个标准的通信协议。本文主要介绍在工业自动控制系统中,将支持DDE的高级语言程序和组态软件链接,相互传递数据,扩展组态软件的功能,实现既定的控制要求的方法。


1 引言  
  在工业自动生产系统中,可以利用组态软件实现系统实时监控。工业现场的温度、压力、流量、胶层厚度、纠偏信息等一系列物理量需经数据采集卡传输到计算机中,变频器、步进电机、阀门、报警灯等则由I/O卡或串行口输出信号进行控制。在这许多模拟量和数字量的采集、处理及输出过程中,必须控制各IO口按照控制要求对数据进行操作。采用现成的组态软件可以很方便地做出完全动感的实时仿真控制界面,实现大部分的控制功能。但当工业现场的信号控制流程复杂,单纯用组态软件不能实现控制功能时 ,用VB等高级语言编写的服务程序与组态软件进行DDE(Dynamic Data Exchange)链接,实现精确的控制,将是一个非常好的选择。本文将结合硝化纤维自动涂布系统的控制实例,介绍目前常用的组态软件———“组态王(Kingview)”与用VB等高级语言编写的DDE应用程序链接的具体技巧和方法。
2 动态数据交换概述  
  动态数据交换即DDE(Dynamic Data Exchange)是WINDOWS平台上的一个完整的通信协议,它使应用程序能彼此交换数据和发送指令。DDE过程可以比喻为两个人的对话 ,一方向另一方提出问题,然后等待回答。提出问题的一方即申请告知信息的应用程序,称为顾客(CLIENT),回答的一方即提供信息的应用程序,称为服务器(SERVER)。一个应用程序可以同时是顾客和服务器:当它向其他程序请求数据时,它充当的是顾客;若有其它程序需要它提供数据,它又成了服务器。但就某一确定的时间而言,一个应用程序只能充当顾客或服务器[1]。
  DDE对话的内容是通过3个标识进行约定的:
    · 服务器名(Service Name):DDE源的每个应用程序有一个唯一的服务器名,通常为不带后缀的可执行文件名;
    · 话题(Topic):对源程序有意义的一些数据单元即对话的议题,许多应用程序将文档名称作为DDE会话的话题;
    ·项目(Item):DDE会话中,两应用程序间真正传递的数据。
    建立DDE之前,客户程序必须填写服务程序的3个标识名。
  DDE链接有3种类型:  
    · 自动链接(Automation):服务器发送专门为DDE对话而设定项目中的数据,当这些数据发生变化时,链接将实时动作,自动更新数据;
    · 手动链接(Manual):当数据发生变化时,客户必须明确地提出更新要求,数据才会被更新;
    · 通知链接(Notify):服务器在数据发生变化时,通知客户,客户根据自己的要求决定是否更新数据。
3 VB编写的客户程序与组态王软件的DDE链接  
  自动涂布系统中,采用组态软件通过A/D卡采集现场的烘道温度、车间温度、胶层厚度以及纸走偏量等信息,将采集回来的数据和用户在组态界面上输入的要求值用DDE方式传输到VB应用程序,在VB中用传统的PID控制算法得到调节控制信号,再用DDE方式在组态界面上显示,同时通过I/O卡的数字输出端口(或串行口)驱动或调节现场的阀门、步进电机及报警灯等。工程中可以用组态软件直接控制端口,也可以只用它做显示,而用VB控制端口。
3.1 Visual Basic的DDE链接属性
  VB中只有窗体(Form)、多文档窗体(MDIForm)可作为DDE服务器,而标签(Lable)、文本框(Text)、图片框(Picture box)等可以作为客户。在VB中关于DDE链接的属性有4个:
  (1)LinkMode:设置DDE链接方式,并允许服务器、客户窗体启动DDE会话。
    语法:object.linkmode=number  
    number的取值如表3—1。
   

    (2)LinkTopic:设置DDE链接主题,对于服务器只需写出主题,不用写服务器名和项目,对于客户控件用来设置服务器名和主题:Service name|Topic;
  (3)LinkItem:设置DDE链接项目,指示通过DDE链接传输的实际数据,只对客户设置LinkItem属性;
  (4)LinkTimeout:设置DDE链接超时,设置等待DDE响应消息的时间,若该时间内不能建立DDE链接,将产生一个运行错误。
3.2 VB客户程序与Kingview的DDE链接
  VB作为客户程序从“Kingview”中获取数据。VB的可执行程序名:vbControl.exe,窗体设计如表3—2。表中的TxtTemp1~3为3个文本框,用来接收烘道的温度值。烘道的温度由传感器经温度变送器转换为电压值,再通过12位的数据采集卡传到“Kingview”的界面上实时显示。在“Kingview”的数据词典中添加3个变量 :温度1,温度2和温度3,参数设置如表3—3所示。
                  
                
    VB中的3个文本框的DDE链接属性如下:
    Private Sub Form-Load()

                    
                  
End Sub
  运行“Kingview”的“TouchView”和VB的“vbCon-trol.exe”,自动进行DDE链接,vbControl.exe的运行窗口和“Kingview”的运行环境“TouchView”中将同时显示出烘道的温度。用同样的DDE方法VB从“Kingview”中可得到用户实时输入的温度的上下限值,程序计算出偏移量,发出控制信号,驱动阀门调节气体流量,进而改变烘道温度,以使之接近要求指标。  
    图3—1和图3—2是运行结果。这里为了直观,将两个简化的运行界面一起列出。实际设计时,将vbControl的frmControl的visiable属性设为“false”,在Kingview的工程管理器中“文件|命令语言|应用程序命令语言|启动时”下写入“StartApp(“d:\涂布机\vbContol”)”,即可在启动Kingview时同时启动vbControl,并且vbControl的运行窗口是不可见的,它将在后台工作,实现控制功能。
                                 
                             
3.3 VB服务器程序与Kingview的DDE链接  
    类似地可以将VB的控制信号发给“Kingview”,在其动态界面上显示,并可通过它完成实际的控制功能。
  使VB成为“服务器”很简单,只需在“Kingview”中设置服务器程序的3个标识名 ,并把VB应用程序中提供数据的窗体的LinkMode属性设置为1就可实现。例如工程中用vbServer.exe作为服务程序,窗体frmServer向Kingview传递驱动信号,则可以通过在“Kingview”中定义DDE设备。双击“设备|DDE|新建”图标,通过“设备配置向导”配置DDE设备,如图3—3所示。
                         
4 结束语  
    在工程上应用时应注意以下几点:
  (1)项目中主要用组态王完成数据的采集和发送。也可以利用VB开发服务程序,完成数据采集、报表、打印、多媒体声光报警等功能。因为VB没有直接对I/O口操作的函数,所以必须调用动态链接库(DLL)利用VB编写板卡驱动程序实现对I/O口的读写 。DLL一般可以向板卡供应商索取,也可以用Visual C++编写。
  (2)若VB从“Kingview”中获取数据,而“Kingview”的相关数据来自于其他应用程序,则该数据的连接设备为一个DDE设备,在VB中控件的链接项目LinkItem=“项目名”;若该数据是来源于外设,则LinkItem=“连接设备名.寄存器名”。文中的例子是后一种情况。
  (3)通过DDE,用户可以很方便地在支持动态数据交换的应用程序间交换数据,利用PC机丰富的软件资源来扩充组态软件的功能。比如可以用“电子表格(Excel)”程序从“Kingview”的数据库中读取数据,对生产作业执行优化计算,然后“Kingview”再从电子表格程序中读取结果来控制各个生产参数。
                    
  在实际中,VB应用程序常常作为驱动程序与下位机进行通信,通过下位机将生产现场的数据采回到VB中,送入组态王,或将组态王中的数据送入VB应用程序,再送入下位机控制现场生产设备。如图4—1所示数据流向。
  本文结合实际的涂布生产系统论述了目前常用的组态软件———Kingview、Visual Basic、Miscroft Excel等程序之间的动态数据交换。实际中的应用会更灵活,只要是支持DDE的应用程序,就可以使用DDE链接,包括一些数据库程序、人工智能程序、专家系统等。总之,利用DDE可以实现应用程序间的通信,大大扩充系统的控制功能,在工业自动控制领域发挥着重要作用。


  [参考文献]


[1]组态王5.1使用手册[M].北京亚控自动化软件科技有限公司.
[2]金伟正.温湿度检测系统的研制[J].电子与自动化,2000(2)  
[3]李志蜀,李薇.培养过程通用微机监控系统的设计与实现[J].工业仪表与自动化装置,2000(5).

更多
字体:【】-【】-【】【关闭此页

上一篇:苇湖梁热网调度监控系统'   下一篇:自动测温装置在铜熔炼熔体温度测量中的'


特别声明:机电之家(http://www.jdzj.com )所共享的机电类资料,机电论文、机电类文章、机电企业类管理制度、机电类软件都来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。购买的论文都出自原创,保证作者的原创的版权的转让,任何纠纷由法律解决。