您现在所在的是:

仪器仪表

回帖:1个,阅读:467 [上一页] [1] [下一页]
719
zhongrui02
文章数:54
年度积分:50
历史总积分:719
注册时间:2012/11/3
发站内信
发表于:2012/12/11 15:00:07
#0楼
组态软件与仪表设备的通讯
仪表组件间在实现通信过程时,包括两种方式:本地方式和远程方式。在设计时,可以考虑将本地方式作为远程方式的基础。或者说,实现了本地通信,也就实现了远程 通信。因为可以将组件间交换的数据通过远程方式,传送到目的机后,再通过本地方式与远程组件通信。下面我们分别讨论如何实现组件间的本地通信和远程通信。
本地通信
      仪表组件间实现本地通信时,在底层上要解决的本质问题上是进程间通信问题。进程间通信是一种与OS密切相关的技术。本文所介绍的方法是以微软的 Windows操作系统为基础的。Windows各个版本的操作系统都提供了丰富的进程间通信手段。从早期版本提供的管道、邮件槽、DDE技术,到后来推 出的COM技术,以及目前最新的“.NET”中提供的全新方法等。本文介绍的技术属于“传统”技术,它的基础是Windows的消息传递功能,同时辅助内存文件映射和信号量技术。笔者认为这种方法有以下几个优点:  
(1)实现简便。因为涉及的技术都不很复杂,因此实现起来比较容易。
(2)实时性高。这种方法使用的都是OS的底层技术,中间环节少,运行效率高,可以实现快速数据通信。
(3)移植性好。因为采用的是OS底层技术,这种方法受OS版本升级的影响很小,也很容易移植到非Windows操作系统上。而某些进程间通信技术,如DDE,在新版的Windows操作系统上已经不再被支持。其它一些技术也因OS升级在接口形式和实现方法上发生了很大变化,使应用程序受到影响。
(4)功能可控性好。这里的可控性是指开发人员在使用一种技术时,能否有效地控制这种技术的运用。例如,开发人员在选用一种技术时,如果这种技术作了过多的封装,虽然应用简单,但要实现自己的灵活控制时就会处处受缚。
(5)可靠性易控。这一点与上面提到的可控性是相关的。操作系统越是底层的技术,可靠性就越强。封装得越多的技术,其可靠性就越无法控制。
(6)对系统环境的适应能力强。这个问题可以用一个简单的例子说明:用过基于COM/DCOM技术开发的软件产品(如:OPC类软件)的用户,很多人都经历过因不同系统环境而必须面对COM/DCOM复杂配置的困惑。  
本地通信在计算模式上仍然属于C/S结构。主要问题是如何实现多个Client与Server之间快速、并发式的数据交换。下面结合实例进行说明。
     假设Client和Server是采用这种技术的客户端和服务器端程序,它们都是基于窗口的独立进程。每次进行数据交换时Client向Server发送一个请求报文,Server收到请求报文后,再向Client回复一个应答报文,如此不断往复。
因为可能有多个Client与同一Server同时进行快速数据交换,因此上述交互过程必须采用异步方式方能保证可靠性和并发性。为了实现方便,需要抽象一个专用于进程通信的中间件ICom以供各个Client同时调用。ICom提供3个最基本的接口:

(1)Open()。在这个接口里ICom实现的功能包括:初始化用于数据交换的内存映射文件、创建上行(Client到Server)和下行 (Server到Client)事件通知的信号量对象、创建用于防止共享冲突的信号量对象,启动服务线程,同时Client向Server发送消息进行身 份认证和注册。(2)Close()。Client在关闭进程或断开与Server的通信时调用该接口。这个接口ICom要释放在执行Open()方法时创建的对象资源,同时Client向Server发送消息执行注销操作。
(3)SendMessage()。Client向Server发送报文时调用该接口。
专业生产压力校验仪,压力校验台,智能压力校验仪,全自动压力校验台等仪器仪
www.jszrkj.com
-35
luosiji2012
文章数:119
年度积分:-160
历史总积分:-35
注册时间:2012/10/10
发站内信
发表于:2012/12/11 17:02:20
#1楼
过来看看那

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002