设为首页|收藏本页|用户反馈|网站地图
今天是:
您现在的位置: 中华管理在线 >> 论文 >> IT类论文 >> 正文
单片机与组态王软件通讯的解决方案
作者:佚名    论文来源:本站整理    更新时间:2007-9-21

  中华论文1.引言
  
  组态王软件作为一种工业控制组态软件在国内已得到了非常广泛的应用。其具有强大的硬件支持能力,对国内外绝大多数PLC、变频器、板卡、模块、仪器仪表都编写了相应的驱动程序,使用起来相当方便快捷。在“农水实验田环境监测”项目中,我们使用的硬件设备包括日本三菱PLC、台湾研华亚当模块及自行开发的基于单片机的分析仪器,我们选择的软件开发平台是组态王软件。因此,实现单片机与组态王的数据通讯是一个必须解决的问题。
  
  2.单片机与组态王软件通讯的解决方案
  
  2.1两种通讯解决方案
  
  单片机与组态王软件通讯的解决方案有两种,其一是直接编写支持单片机的驱动程序,就象组态王支持PLC一样;其二是利用组态王软件和VisualBasic都支持DDE的特点,以VB为开发平台,写一个数据通讯应用程序,一方面实现与单片机的连接,另一方面实现与组态王的动态数据交换。
  
  2.2两种方案的比较
  
  第一种方案的优点是程序结构比较紧凑,数据通讯效率较高;缺点是必须由对组态王软件内核比较清楚的程序员开发,开
  
  发周期较长。第二种方案可由一般的程序员开发,缺点是数据通讯效率较低。在本项目中,我们采用了第二种方案。
  
  3.基于DDE方案的实现
  
  3.1DDE的概念
  
  DDE是WINDOWS平台上的一个完整通信协议,它使应用程序能彼此交换数据和发送指令。DDE过程可以比喻为两人对话,一方向另一方提出问题,然后等待回答。提问的一方称为“客户”,回答的一方称为“服务器”。一个应用程序可以同时是“客户”和“服务器”,当它向其他程序中请求数据是,它充当的是“客户”,若有其他程序向它提供数据,它又成了“服务器”。
  
  3.2通讯程序的数据流向
  
  用VB编写的数据通讯程序作为中间者传递组态王与单片机之间的数据。当组态王需要向单片机发送控制命令时,组态王充当服务器向VB通讯程序提供数据,VB通讯程序再通过串口实现对单片机的远程控制;当组态王需要向单片机采集数据时,组态王充当客户向VB通讯程序请求数据。组态王与单片机通讯的数据流向如图1。
  
  图1组态王与单片机通讯的数据流向
  
  3.3代码实现
  
  1.组态王的DDE设置
  
  组态王的DDE对话的内容是通过三个标识名来约定的。
  
  应用程序名(application):进行DDE对话的双方名称
  
  主题(topic):被讨论的数据域
  
  项目(item):被讨论的特定数据对象
  
  为了建立DDE连接,需要在组态王的数据词典里建立一个DDE变量,并登记三个标识名。组态王运行系统的程序名是“VIEW”,主题规定为“TAGNAME”,项目是在定义DDE变量时定义的项目名称。
  
  2.VB通讯程序中的DDE设置
  
  在VB中DDE的连接是通过控件的属性和方法来实现的。当VB充当服务器时,需要设置LinkTopic和LinkMode属性;当VB充当客户时,需要设置LinkTopic,LinkItem和LinkMode属性。例如,VB通讯程序作为服务器时的设置如下:
  
  SubForm_Load()
  
 

[1] [2] 下一页

延伸阅读:
[165博客] [社区讨论] [打印此文] [责任编辑:小林]
更多>>
娱乐图文精彩推荐
更多>>
中华健康每日推荐
更多>>
中华财经创业
今日财经要闻
股市大盘
创业指南
管理学论文
经济学论文