碧波液压网 欢迎你,游客。 登录 注册

组态软件实现组件间通信的一种典型技术

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 引言

  组态软件作为用户可定制功能的软件平台工具,目前已经在各个行业和领域得到了广泛应用。组态软件伴随着dcs及计算机控制技术的发展而逐渐成熟进来,组件化、分布式已经成为组态软件的基本特征。优秀的组态软件大多将它的实时数据库、hmi、i/o服务器、数据服务器等几个主要部分设计成分别可独立运行的组件。这些组件可以同时运行在一台计算机内,也可以分布式地运行在不同的计算机内,通过网络等方式实现组件间的通信。这种体系结构可以让用户灵活地配置自己的系统,合理地分配各个服务器的运算负荷。

  但实现组件化同时也带来了软件设计上的复杂性。特别是如何实现组件间的高效、实时、可靠地通信成为一个关键问题。

  2 组件间通信技术

  组件间在实现通信过程时,包括两种方式:本地方式和远程方式。在设计时,可以考虑将本地方式作为远程方式的基础。或者说,实现了本地通信,也就实现了远程通信。因为可以将组件间交换的数据通过远程方式,传送到目的机后,再通过本地方式与远程组件通信。下面我们分别讨论如何实现组件间的本地通信和远程通信。

  3 本地通信

  组件间实现本地通信时,在底层上要解决的本质问题上是进程间通信问题。进程间通信是一种与os密切相关的技术。本文所介绍的方法是以微软的windows 操作系统为基础的。windows各个版本的操作系统都提供了丰富的进程间通信手段。从早期版本提供的管道、邮件槽、dde技术,到后来推出的com技术,以及目前最新的“.net”中提供的全新方法等。本文介绍的技术属于“传统”技术,它的基础是windows的消息传递功能,同时辅助内存文件映射和信号量技术。笔者认为这种方法有以下几个优点:

  (1) 实现简便

  因为涉及的技术都不很复杂,因此实现起来比较容易。

  (2) 实时性高

  这种方法使用的都是os的底层技术,中间环节少,运行效率高,可以实现快速数据通信。

  (3) 移植性好

  因为采用的是os底层技术,这种方法受os版本升级的影响很小,也很容易移植到非windows操作系统上。而某些进程间通信技术,如dde,在新版的 windows操作系统上已经不再被支持。其它一些技术也因os升级在接口形式和实现方法上发生了很大变化,使应用程序受到影响。

  (4) 功能可控性好

  这里的可控性是指开发人员在使用一种技术时,能否有效地控制这种技术的运用。例如,开发人员在选用一种技术时,如果这种技术作了过多的封装,虽然应用简单,但要实现自己的灵活控制时就会处处受缚。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论