象,每个组件都通过标准的接口同其它组件交流,可以轻易地用相同接口的新组件来替代原有组件,在不必重新编译整个系统的情况下实现系统的升级,极大实现了系统性能的扩展,并缩短了软件的开发周期。目前主流的组件技术标准有:Microsoft公司的COM,OMG组织的COBRA以及Sun公司的EJB,它们相互借鉴相互竞争,各有利弊。COM的发展过程是先有主导产品后成为标准,以使用性强为特点,产品具有较好的一致性,并且是作为Microsoft开发专利创建的,因而在Windows32平台上采用COM规范实现分布组件应该是首选的。
近年来,组态软件基本上以PC/Windows为开发平台,国内外的一些商业化组态软件公司开始注意自己软件的灵活性,纷纷采用COM技术构建自己的软件框架,例如iFix软件采用了动态显示、报警、趋势、控制策略、控制网络通信等组件,提供了一个友好的用户界面,使用户在不需要编写大量代码的情况下便可以生成自己需要的应用软件;而组态王采用COM组件编写的驱动程序与外围设备进行数据交换,提高了软件的灵活性。在此,本文针对监控组态软件在分析其框架的基础上,把其分解成许多小的组件进行单独开发。
1)软件设计流程
基于COM的监控组态软件的设计就是从监控组态框架中抽取组件模型,进行单独开发而后集成系统。流程如图2-5所示。
图2-5 基于COM 组态软件的设计流程
2)监控组态软件的框架剖析
监控系统主要指工厂生产自动化运行系统、智能楼宇监控系统,以及与此相似的由传感器、执行机构、PLC、电缆、PC、通信网络组成的基于个人计算机,能够采集现场信号并执行控制指令的数字系统。其组织形式分为决策管理层、监视操作层、现
场控制层。监控组态软件一般工作于监视操作层或者管理层,根据其任务特点,可以划分为三个部分:数据I/O、过程逻辑、人机界面。其框架如图2-6所示。
若图片无法显示请联系QQ752018766,先进控制在组态软件中的扩展与应用系统免费,转发请注明源于www.youerw.com
图2-6监控组态软件的框架图
监控组态软件通过前置通信模块从现场设备获取实时数据,对数据进行必要的加工后,一方面以图形的方式直观地显示在计算机屏幕上;另一方面按照组态要求和操作人员的指令将控制数据传送给现场设备,对执行机构实施控制或调整控制参数。对监控组态软件进行进一步的剖析,得出其具体的实现包括如下模块:
实时数据库模块:能够完成I/O设备的数据采集与回送、输入输出处理、报警处理、保存历史数据、存储数据等功能。
监控画面模块:首先生成一个图元库,然后采用图元组件制作画面。当系统运行时,画面通常需要动态实时的显示各种采集信号的数据和状态,因此需要图元组件具有与数据库动态的连接属性。
控制模块:包括控制算法、算法参数等。
通信模块:包括用于和I/O设备通信的驱动程序等。
图表模块:包括图表的数据源、颜色、坐标、实时趋势曲线和历史趋势曲线。
报表模块:配置报表的数据源、报表数据的统计方法、格式、打印方式等。
3) 监控组态的组件化实现
组件的提取应遵守以下规则:组件应尽可能简单,便于复用;接口设计既要满足信息隐藏的要求,又要符合互操作的要求;应有较高的通用性和灵活性,满足不同系统的要求。依据以上准则,从组态框架中抽取所需的组件,如数据库访问的数据组
件、通信组件、控制组件、报表组件、图表组件和图元组件等。
在设计相应组件的模型时,应该合理考虑组件本身的可复用性和移植性及系统的可扩充性和兼容性,因此设计时关键是定义哪些属性是对用户公开的,哪些是封装的。
4) 组态软件的组件集成
利用COM技术开发出各种各样的功能专一的软件“积木块”(组件),在设计中只要保证接口的规范性,然后将它们按照需要“搭”起来,就构成基于COM组件的组态软件,如图2-7 所示。在应用框架中,各个组件之间通过接口相互通信,而组件之间的程序不相互干扰,可以大大提高软件的可靠性,并且组件功能可以扩展,保证了软件的灵活性。
图2-7 基于COM构架的组态软件
利用COM组件二进制兼容性、平台独立性,可以将多软件平台开发的COM组件对象融合在一起,不仅加快了软件的开发进程,而且便于软件的升级更新,开发试验表明这一技术的引进对于加快分布式通用型组态软件的设计开发,保证必要的软件生命周期十分有利。
2.4 基于DDE技术的组态软件扩展方法
动态数据交换(Dynamic Date Exchange)是Windows进程间的一种通讯方法。进程间的通讯(IPC)包括进程之间及同步事件之间的数据传递。在Windows环境下,DDE是应用程序之间实时交换数据的有效方法,它是不同应用程序之间共享数据的一一个协议。DDE应用程序分为四类:客户程序、服务程序、客户/服务器程序、监视器。客户程序与服务器程序之问的数据交换称为会话,发起会话者称为客户程序(Client),它从服务器获得数据.响应者称为服务器程序(Server),它文护其他应用程序可能使用的数据,客户/服务器程序表示既是客户程序也是服务程序。监视器主要用于调试。当客户程序向服务器程序请求数据时,客户程序发送一条称为WM—DDE—INITIATE的消息给当前运行的所有Windows应用程序,这条消息不但包含了它所需要的服务器名(Service)和主题名(Topic),而且指明了它所希望的数据类型。其中服务器名标识了客户程序希望建立的会话对象,一般是不带扩展名的可执行文件名。例如:MATLAB的服务器名是MATLAB;而主题则定义了会话的题目,例如: MATLAB支持的两个主题是System和Engine;主题所支持的数据类型称为项目(Item),一般一个主题至少支持一个项目或者更多。收到WM—DDE—INITI—ATE消息的应用程序通过判别服务器名和会话主题决定是否应答。
交换数据的方法常常和连接方式有关。由客户申请数据、服务器发送数据的这种方式称为冷链(cold link)。服务器的数据有变化时,服务器通知客户。再由客户来取数据,这种方式称为温链(warm link)。服务器的数据有变化时,服务器直接把数据送给客户,由客户对这些数据进行处理,这种方式称为热链(hot link)。
以组态软件InTouch和MATLAB之间的DDE通信为例。
1)InTouch和MATLAB的DDE接口
InTouch和MATLAB都提供了标准的DDE接口,通过DDE接口,可以方便地实现它们之间直接的通讯。动态数据交换DDE是进程间的通讯方法。进程间的通讯( IPC)包括进程之间及同步事件之间的数据传递。DDE使用共享内存来实现进程之间的数据
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>