你现在位置:首页>技术论文>软件知识>正文
组态软件实现组件间通信的一种典型技术
日期:2006-8-8 22:22:32 来源:本站整理  
点击: 作者:未知
点击【】放大字体.
   组态软件实现组件间通信的一种典型技术 
WWW_P※LCJS_COM-PLC-)技.术_网

   
W1WW_P4LCJS_COM-PLC-技.术_网

  
WW.W_PLC※JS_C,OM-PL,C-技.术_网

    1 引言
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

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

    但实现组件化同时也带来了软件设计上的复杂性。特别是如何实现组件间的高效、实时、可靠地通信成为一个关键问题。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

    
WWW_P※LCJS_COM-PLC-)技.术_网

    2 组件间通信技术
WWW_P※LCJS_CO※M-PLC-技-.术_网

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

    
WWcW_PLCJS_COM-PLC-技.术_网

    3 本地通信
WWW.PLCJS.COM——可编程控制器技术门户

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

    1)、实现简便。因为涉及的技术都不很复杂,因此实现起来比较容易。
WWcW_PLCJS_COM-PLC-技.术_网

    2)、实时性高。这种方法使用的都是OS的底层技术,中间环节少,运行效率高,可以实现快速数据通信。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    3)、移植性好。因为采用的是OS底层技术,这种方法受OS版本升级的影响很小,也很容易移植到非Windows操作系统上。而某些进程间通信技术,如DDE,在新版的Windows操作系统上已经不再被支持。其它一些技术也因OS升级在接口形式和实现方法上发生了很大变化,使应用程序受到影响。
——可——编——程——控-制-器-技——术——门——户

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

    5)、可靠性易控。这一点与上面提到的可控性是相关的。操作系统越是底层的技术,可靠性就越强。封装得越多的技术,其可靠性就越无法控制。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    6)、对系统环境的适应能力强。这个问题可以用一个简单的例子说明:用过基于COM/DCOM技术开发的软件产品(如:OPC类软件)的用户,很多人都经历过因不同系统环境而必须面对COM/DCOM复杂配置的困惑。
WWW_PL※CJS_COM-PLC-技.术_网

    本地通信在计算模式上仍然属于C/S结构。主要问题是如何实现多个Client与Server之间快速、并发式的数据交换。下面结合实例进行说明。
plcjs.技.术_网

    假设Client和Server是采用这种技术的客户端和服务器端程序,它们都是基于窗口的独立进程。每次进行数据交换时Client向Server发送一个请求报文,Server收到请求报文后,再向Client回复一个应答报文,如此不断往复。
WWW.PLCJS.COM——可编程控制器技术门户

    因为可能有多个Client与同一Server同时进行快速数据交换,因此上述交互过程必须采用异步方式方能保证可靠性和并发性。为了实现方便,需要抽象一个专用于进程通信的中间件ICom以供各个Client同时调用。ICom提供3个最基本的接口:
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    1)、Open()。在这个接口里ICom实现的功能包括:初始化用于数据交换的内存映射文件、创建上行(Client到Server)和下行(Server到Client)事件通知的信号量对象、创建用于防止共享冲突的信号量对象,启动服务线程,同时Client向Server发送消息进行身份认证和注册。

本新闻共2页,当前在第11 2  
WWcW_PLCJS_COM-PLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行