图4.4.1主函数处理流程 4.4.2协议转换设计
协议转换是指不同接口与以太网接口之间统一协议,具体是指将某一个接口接收到的数据,对数据进行处理分析提取有效部分数据,转换成统一的标准数据格式通过以太网接口输出,从而实现这一个接口与以太网接口之间的协议转换。通过协议转换功能的实现,进一步完成统一协议功能以便上层系统实现数据保存和界面表现。协议转换设计也采用模块化的方法,按照功能接口可以分为RS.232功能模块、RS-485功能模块、Modem功能模块、USB功能模块和以太网功能模块五个部分,每个模块负责处理对应接口接收到的数据。不同的接口模块具有不同的数据处理流程,基本上除以太网接口外,其余接口具有类似的处理流程:
(1)读取该接收队列的数据至一个临时数据中; (2)数据解析;
(3)转换成TCP/IP协议的数据转发到以太网接口上。
本系统所设计的TCP/IP协议的电梯数据帧如表4.4.1,数据转换的模型如图4.4.2。图4.4.2中是串口从具体某一台电梯采集到的电梯监控数据,通过协议转换,数据最终统一为TCP/IP协议的数据帧格式,通过以太网口发出。
莱电梯串口数据帧 TCP/IP协议数据赖
图4.4.2数据转换模型图
表4.4.1 TCP/IP协议的电梯数据帧 字节编号 传送信息
1-2 电压
3-4 电流 5-6 电机转速 7-8 电梯载重
9一10 电梯机箱温度
11-12 电梯当前楼层信息
13 备用 14 备用
15 bit0: 运行
bitl: 停止 bit2: 开门 bit3:关门
电梯运 bit4:开门到位 行状态 bitS:关I'-JN位
bit6:上升
信号 bit7:下降 16 bit0:机房门状态
bitl:通风 bit2:照明 bit3一bit7:备用
17 bit0:变频器故障
bitl: PLC故障 bit2: 门故障 bit3:极限故障
电梯运 bit4:井道故障 行故障 bitS:抱闸粘连故障
bit6:安全回路故障
信号 bit7:超载故障 18 备用
与前面几种接口不同,以太网接口可以接收到网内不同设备发送的数据,所以需要 根据发送方的IP地址、ID号来判断数据的发送设备。 4.5本章小结
本章是电梯终端控制器系统的软件设计,首先介绍了软件的开发环境,接着论述了软件设计的整体思想,并分类介绍了各个接口的驱动开发,同时详细阐述了协议转换的实现,在此基础上介绍了应用层函数的开发设计。
5多电梯远程监控系统监控软件的设计与实现
监控平台与电梯的终端控制器网络可以在以太网内部连接,也通过Intemet建立连接(连接结构图如图5.”。在监控平台,具体的监控统软件设计主要由两部分组成:一是动态数据交换,将从网络上接收到的数据转换成可被组态软件读取的DDE服务器机制。另
一个是对电梯状况的实时监控和管理.包括电梯运行状态显示、实时报警、事件记录及历史趋势曲线、Web发布功能等.
动态数据交换的DDE机制使用VB开发,监控界面是在力控Force。ontrol-V6.1环境下开发的。监控界面采用分模块的开发和整体组态相结合的方法.最终实现本系统对电梯的监控和管理的功能。
5.1力控ForeeeoatroI-V6.1介绍《3》
组态软件作为用户可定制功能的软件平台工具.是随着分布式控翩系统及计算机控制技术的日趋成熟而发展起来的.自20世纪80年代初期诞生至今,组态软件已有20年的发展历史。80年代中后期,随着个人计算机的普及和开放系统概念的推广,基于个人计算机的监控系统开始进入市场,并发展壮大。自1987年Wonderwate公司开发推出第一个将组态软件作为商品进行开发、销售的。基于晰ndows的工业及过程自动化领域的人机界面组态软件InTouch,并取得比较成功的应用以来,陆续有美国Intellution软件公司开发的Fix,德国西门子集团公司的WmCC,俄罗斯Adastra科技公司的Taeemode组态软件、U.S.Date公司的factorylink、IBM公司的Plantworks,美国GE公司的CimplMty,美国AB公司(RockweU自动化)的RSview等。我国组态软件的研究始于80年代末,到了1995年以后,我国组态软件的应用才逐渐得到普及。国内组态软件有亚控软件公司研制开发的“组态王’’,北京金佳诺软件公司开发的“世纪星”,北京昆仑通态自动化公司开发的MCSG、北京三维力控科技有限公司开发的力控组态软件等先后投放市场。成功的应用表明组态软件对经济发展起着越来越重要的作用。
虽然大多数组态软件拥有自身的优势但是在兼容性和网络发布上稍有不足,而力控Forceeontr01.V6.1在这方面具有相应具体解决方案,固本系统的监控界面采用其来进行组台开发。力控Forcecontr01.V6.1是三维力控根据当前的自动化技术发展趋势,总结多年的开发、实践经验和大量的用户需求,来进行设计与研发的,该产品主要定位于国内高端自动化市场及应用,是企业信息化的有力数据处理平台。力控Forcecontr01.V6.1在秉承力控5,0成熟技术的基础上,对历史数据库、人机界面、I/O驱动调度等主要核心部分进行了大幅提升与改进,重新设计了其中的核心构件,力控Forcecontr01.V6.1面向.NET开发技术,开发过程采用了先进软件工程方法:“测试驱动开发\,产品品质得到了充分保证。与力控早期产品相比,力控6.1产品在数据处理性能、容错能力、界面容器、报表等方面产生了巨大飞跃。有助于全面提升企业信
息化。主要指标如下:
方便、灵活的开发环境,提供各种工程、画面模板、大大降低了组态开发的工作量; 高性能实时、历史数据库,快速访问接口在数据库4万点数据负荷时,访问吞吐量可达到20000次/秒;
强大的分布式报警、事件处理,支持报警、事件网络数据断线存储,恢复功能; 支持操作图元对象的多个图层,通过脚本可灵活控制各图层的显示与隐藏;
强大的ACTIVEX控件对象容器,定义了全新的容器接口集,增加了通过脚本对容器对象的直接操作功能,通过脚本可调用对象的方法、属性; 全新的、灵活的报表设计工具:提供丰富的报表操作函数集、支持复杂脚本控制,包括:脚本调用和事件脚本,可以提供报表设计器,可以设计多套报表模板。 5.2监控软件系统设计
监控软件的开发为监控系统提供了一个全中文,图形化,动态化的监控界面,针对不同的用户、不同的管理权限,可以很轻松的对电梯运行情况进行实时监控,以便利于随时处理故障和进行检修。并且记录报警、故障信息和进行数据统计,对电梯总体运行情况进行掌控。
5.2.1监控软件总体设计
监控软件的主要作用是:按照实际工程的要求,实现电梯参数的配置;与电梯终端控制器进行通信,按照通信协议对采集到的数据进行解析,在错误检测后,实时显示电梯的运行状态。为了实现以上功能,将监控软件设计分成两部分:动态数据交换机制开发和监控界面设计。动态数据交换机制主要实现:数据通信、协议转换、信息处理、时间获取等功能;而监控界面,主要是实现电梯状态显示、实时报警、事件记录及历史趋势曲线、Web发布等功能,方便电梯监控参数的修改,增加软件的通用性。其中,监控软件的功能图如 图5.2.1:
图5.2.1监控软件功能图 5.2.2 DDE
组态软件在工业控制系统中得到越来越广泛的应用,在实际应用中,上层的监控组态软件与下层现场工业设备之间、各种不同的监控软件之间、甚至基于不同工业协议的工业设备之间的数据交互是系统运行的核心。目前Windows操作系统提供了几种标准来支持进程间的数据交换,其中组态软件中一般采用DDE和OPC两种方式与其他应用程序进行数据交互p2]。
本系统采用的就是基于Windows环境的组态软件基本都支持动态数据交换技术(DDE:Dynamic Data Exchange),该方法简单易行,适应性强,使得组态软件能够和其它支持DDE的应用程序(像VB、Word、Excel等)方便地交换数据。通过DDE,可以利用PC机丰富的软件资源来扩充组态软件的功能。 5.2.2.1 Windows的DDE原理
动态数据交换(DDE)是一种开放的与语言无关的基于消息的协议它允许多个程序实时的交换数据或命令。应用程序用DDE的链路不仅可进行一次数据传递,而且当数据更新时不需要用户参与就可自动进行数据交换。更重要的是,要实施DDE协议,应用程序仅需要与操作系统接口,而应用程序之间无需接口,这种灵活的特性使DDE成为Windows应用程序普遍支持的一种接口协议。Windows的DDE机制基于Windows的消息机制。两个Windows应用程序通过相互之间传递DDE消息进行DDE会话(Conversation),从而完成数据的请求、应答、传输。这两个应用程序分别称为服务器(Server)和客户(Client)。服务器是数据的提供者,客户是数据的请求和接受者。在应用程序中建立DDE,首先要建立DDE会话(DDEconversation),DDE会话包括DDE客户端程序和DDE服务器端程序。DDE客户端是对话的发起人或者说是请求者,而DDE服务器是对话请求的响应者。 DDE共有三层会话协议:
(1)应用程序名(Application)位于层次结构的顶层,用于指出特定的DDE月及务器应用程序名。每一种支持DDE的应用程序都有一个应用名用于建立会话的通道。 (2)主题名(Topic)是服务器端所能识别的数据单元,更深刻地定义了服务器应用程序会话的主题内容,服务器应用程序可支持一个或多个主题名。
(3)项目名(Item)可以讲它是一种“子主题“,更进一步确定了会话的详细内容,每个主题名可拥有一个或多个项目名。它是DDE会话中真正进行数据交换的部分,是所要链接数据的部分,所传输的数据可以是标准的或己注册的剪贴板格式。一旦客户端和服务器之间的DDE会话开始,在客户端和服务器端应用程序之间就建立了数据链接。通过该数据链接,应用程序之间就可以自动地进行数据交换。根据数据在链路上的交换方式不同,数据链接可以分为以下三种方式:
(1)手动链接:只有当客户应用程序请求时,服务器应用程序才发送数据;
(2)通知链接:建立了会话后,如果服务器应用程序的数据更新了,将发送一个消息 给客户应用程序; (3)自动链接:如果服务器应用程序的数据更新了,将自动将数据发送给客户应用程序。