下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一个分布式监控系统的软件设计于恒春 杜世伟 汤冬谊 杨 丽 时间:2009年05月04日 字 体: 大 中 小关键词:监控系统冗余设计软件设计TCP/IP双机摘要: 讨论了一个分布式监控系统的软件设计。给出了系统结构、冗余设计及软件设计要点。关键词: 分布式系统 网络通信 ActiveX自动化1 系统结构系统结构见图1,这是一个两级分布式监控系统。在现场级两台互为热备的现场计算机通过现场总线与现场设备相连,实时采集现场数据并向现场设备传送监控级发来的控制指令,同时把各种实时信息发送到监控级。在监控级,各监控计算机通过TCP/IP以太网与各现场计算机相连以获取现场数据,并提供GUI以便操作人员监
2、视及控制现场设备。2 冗余设计对于可靠性要求较高的系统,常常采用冗余设计以提高可靠性。本系统的现场计算机为双机热备,监控级计算机也可根据需要进行双机热备。双机热备必须解决故障识别和状态镜象两个问题,但为实现快速切换,应尽量简化算法,同时尽量减少交换信息,因此如果状态信息不是很重要,则不必随主备信息一起传送。基于上述思想,定义的主备机报文格式见图2,各字段的含义如下:(1)信息标识:标识报文类型,共定义了三种报文:a)普通报文:由主备机正常进行交互用的报文,称主机发往备机的报文为请求报文,备机发往主机的报文为应答报文。b)切换报文:当主机想转为备机时,发送此报文。该报文是非常必要的,一种情况是当
3、现场计算机与现场设备失去联系时,就需要主动进行切换。c)退出报文:当某一台机器退出时,应发送此报文,否则对方将认为该机故障。(2)主备标志:指示本站是否为主机,“1”表示主机,“0”表示备机。(3)判决标志:当主备机的主备标志一致,即两者同时为主机或同时为备机时,应根据判决标志进行切换,该标志可以预先设定为一个值,也可以取IP地址或启动时间作为判决标志。判决条件可以取大于或小于。具体实现方法为:主机定时向备机发送请求报文,备机收到后就发一个应答报文;同时另设一定时器,当收到对方的一个报文就把该定时器清0,与此同时定时器定时加1。若定时器溢出,则表示对方故障,否则表示对方正常。程序包括定时发送、
4、故障检测及接收处理三部分,它们是并行工作的,流程图见图3。通过对发送定时器及检测定时器定时间隔及检测次数的设定,可以决定切换时间。3 软件设计系统软件分为现场级与监控级两部分,其中监控级包括人机接口及监控级自动化服务器两部分,见图4。下面讨论一下软件设计中的关键问题。3.1 数据传输方式及通信可靠性本系统的网络操作系统为Windows NT,网络通信协议为TCP/IP,采用Windows Socket进行通信程序的设计。Windows Socket有流式与数据报两种。前者为面向连接服务,后者为无连接服务。考虑到监控系统的数据量较小,而对实时性要求较高,因此采用数据报方式。采用数据报方式的另一点
5、考虑是,它可以广播。在本系统中,现场工控机采用定时广播的方式传输数据,这种方式有如下优点:1) 解决了主备机之间的数据镜像问题。2) 不需设置IP地址。这有两层含义,一方面发送方不需知道接收方的地址,因为IP广播地址是个固定地址;另一方面,各监控计算机也不必知道各现场计算机的IP地址,因为当它收到广播后,就可以获得发送方的IP地址,然后把它存在一张地址表中,以后向该现场计算机发送指令时就可以直接从地址表中取出其IP地址。这种处理方法有点类似于TCP/IP协议地址解析中的动态联编1。但数据报方式的可靠性不如流式高。对于现场计算机,因为数据定时广播,这种可靠性的差别并无大碍。但对监控计算机而言,它
6、发出一个请求,必须知道该请求是否被响应。因此采用了异步确认机制(见图5),处理过程为:在发送端设一张表,当发送一个请求时为该请求分配(或预先分配)一个标识,然后把该标识随同请求一起发出去,同时启动超时定时器;接收端响应该请求后,发回一个含有请求标识的应答报文;若接收端收到该应答报文,则删除表中的请求标识,同时定时器停止,否则将发生超时,表示请求未被响应。3.2 系统信息的处理监控系统中主要包括如下三种数据:(1) 现场数据:包括现场信号测量值、设备运行状态、报警信息及其它由现场计算机产生的数据。(2) 控制指令:如控制数字量输出、模拟量输出及现场设备等的控制字。(3) 系统信息:主要是一些系统
7、管理信息,如控制权限,监控计算机登录状态等。这些信息要么由现场计算机采集或产生,要么由监控计算机写入现场计算机,但最终还是要存入现场计算机并向外定时广播。前两种信息由于直接产生于或作用于现场,因此存于各自的现场计算机。但系统信息是全局信息,是所有站共享的信息,这样存在着如下问题:当监控计算机写入系统信息(如登录)时,应把它发向哪个现场计算机呢?如果向所有站广播,就存在着一致性问题。正确的做法是:把一台现场计算机作为系统服务器,系统信息都写入该服务器中,然后由它向其它站广播。那么应选择哪个现场计算机,并且使所有站(包括现场级与监控级)都选择同一个现场计算机?本系统采取一种动态算法实现了这种选择,
8、并且当该现场计算机故障时自动转移到另外的现场计算机。具体方法参见图6:设一张表及一个定时器组,当收到一个站的信息时就把该站的IP地址存入该表中,同时把相应的定时器清0;若定时器溢出,则将该站的IP地址置为无效值。当各计算机寻找系统服务器时,就顺序搜索该表,找到第一个有效IP地址,就把它作为系统服务器。3.3 监控级自动化服务器的设计监控级软件主要是为操作人员提供人机界面,但它同时还要与现场计算机进行通信,为把界面设计分离开来,我们采用了Microsoft ActivX自动化技术实现了这一设计思想。这样,界面设计人员可以采用目前流行的各种可视化开发工具集中精力进行界面设计,而且可以根据需要设计不
9、同的界面,在我们的系统中就有两种界面。自动化技术是Microsoft ActiveX组件技术中的一种,它包括自动化服务器和自动化控制器两种,其中自动化控制器是指使用和操纵自动化服务器的应用程序(如VBA),自动化技术通常是指自动化服务器。另一种最为常用的组件技术是ActiveX控件,但一个ActiveX控件只能提供一个IDispatch接口,而一个自动化服务器可以提供多个IDispatch接口。通过IDispatch接口,客户程序可以访问该接口的属性和方法。对于VBA客户程序来说,访问IDispatch接口的语法与访问VBA 对象的语法是一样的,因此,对于VBA客户程序而言,一个IDispat
10、ch接口就相当于一个对象。自动化服务器通常采用层次结构来组织对象,Microsoft的许多自动化服务器都是这样组织的,如数据访问对象DAO。本系统的自动化服务器也采用了这样一种结构,见图7, 其中Workstation是指监控级各站,Station是指现场级各站,这只是个示意图。这种结构一方面体现了对象间的层次及包含关系,另一方面对象的创建、删除及组织也比较方便,整个服务器只需一个ProgID来标识。客户程序创建服务器的过程为:首先利用ProgID创建顶层对象(Application),然后利用该顶层对象提供的方法创建各集合并向其中添加元素,对集合的操作类似于VBA中的collection对象,主要有Count(),Item(),Add()等几种。应当指出,上面所讨论的对象层次结构及集合的概念只是一种设计思想,并非有现成的设计工具,我们采用VC+ 6.0设计了自己的集合类及自动化服务器,客户端采用VB 6.0。本系统是按照分布式的思想进行设计的。分布式的特点就在于各节点是平等的,在数据传输方式、冗余设计及系统服务器的选择等处理上都体现了这一思想。本文给出的冗余设计,是基于网络的一种方法,其实现不依赖于操作系统、编程语言,是一种比较通用的方法。组件技术是软件发展的方向,本系统利用自动化技术将界面设计与底层设计分离开来,各自进行独立设计,充分体现了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 色素课程设计解读
- 2024至2030年中国意式木铝复合窗行业投资前景及策略咨询研究报告
- 2024年中国红外夜视半球型摄像机市场调查研究报告
- 漫画服饰课程设计教案
- 2024年小功率电源防雷器项目可行性研究报告
- 2024至2030年中国埋入式固体润滑轴承行业投资前景及策略咨询研究报告
- 2024至2030年中国可燃性气体报警器行业投资前景及策略咨询研究报告
- 2024至2030年中国卧式双级活塞推料离心机数据监测研究报告
- 2024至2030年中国不锈钢内六角螺钉数据监测研究报告
- 中国食品营养强化剂市场发展格局分析及需求前景剖析研究报告(2024-2030版)
- 年回收30万吨废塑料PET破碎清洗线建设项目可行性研究报告
- 初中语文大单元汇报课件1
- MOOC 科技英语写作-西安电子科技大学 中国大学慕课答案
- 24春国家开放大学《离散数学》大作业参考答案
- 鲨鱼知识课件
- 2023-2024年天原杯全国初中学生化学竞赛复赛试题(含答案)
- (高清版)TDT 1047-2016 土地整治重大项目实施方案编制规程
- 自然教育行业的行业分析
- 《肿瘤学概论概论》课件
- 探析机械电子工程行业现状分析及未来发展趋势
- 机电一体化生涯发展报告
评论
0/150
提交评论