组态软件实现组件间通信的一种典型技术
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) 功能可控性好
这里的可控性是指开发人员在使用一种技术时,能否有效地控制这种技术的运用。例如,开发人员在选用一种技术时,如果这种技术作了过多的封装,虽然应用简单,但要实现自己的灵活控制时就会处处受缚。
相关文章
- 2023-06-16新型的二维压电移动机构
- 2023-05-30干井式温度校验器校准方法研究
- 2022-01-03CXT智能变送器原理与应用
- 2022-07-22提高高速压电倾斜镜应用带宽的方法
- 2023-10-04低温气液两相流数值计算分析
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。