浙林龙哥

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
【摘要】
本文通过“工控组态软件”项目的开发,着重讨论实时系统与信息系统的集成。近年来,国内外的组态软件取得了很大的发展,已广泛应用于企业生产。组态软件以实时数据库作为核心技术,综合了工控、网络、图形处理与数据库访问接口等技术,是技术含量较高的一类软件产品,具有良好的应用前景和市场潜力,因此,有多家信息技术公司都在开发工业组态软件。
我有幸参与了该项目,在该项目中担当了分析与设计的部分任务,该软件采用Windows 2000操作系统,主要采用VC6.0进行开发。以下本文将从我所开发的组态软件的特征、软件的体系结构设计、实时数据库设计、可扩充性与可维护性设计以及项目实施管理等几方面加以论述。
【正文】
工业控制组态软件在工业界有着相当广泛的应用,此类软件允许用户在图形界面下对控制系统的各种采样点、过程输出点、设备、生产车间、控制回路、文件报警、生产报表、控制策略、网络设备和生产工艺画面进行定义与组态。使用该类软件时,用户甚至可以不写一行程序就能够构成自己的控制系统,有些功能强大的组态软件还可提供与网络、Internet、数据库访问接口等的连接功能,使现场控制系统能相对方便地和企业的信息管理系统加以集成,某信息技术公司决定开发新的具有一定通用性的工业组态软件,作为技术骨干,我在该项目中担当了分析与设计的部分任务,该软件采用了Windows 2000操作系统,主要采用VC6.0进行开发。
本文将从我们所开发的组态软件的基本特征、软件的体系结构设计、实时数据库设计、可扩充性与可维护性设计以及项目实施管理等几方面加以论述。
l. 我所从事开发的组态软件的基本特征
通过分析国内外的组态软件的特点和当前的技术发展情况,我认为我们着手开发的组态软件应当突出下述三个特征:
(1)“实时与可靠”是此类软件赖以生存的应用前提,但是目前还是有很多的组态软件做不到这一点。
(2)具备良好的网络连网能力与分布功能。
(3)有效地采用ODBC(开放的数据库连接),便于和其他信息系统集成。
这个项目在技术上,应着重于组态软件的体系结构设计与实时数据库的设计上需求分析则应着重分析国内外同类软件的功能,通过比较与鉴别,才能产生真正优秀的软件。
2. 组态软件的系统体系结构
本软件采用的是三层体系结构,设计结构时要具有开放性和良好的可扩充性。
(1)软件的底层是硬件访问控制层。这一层所采用的是前几年才推出来的OPC(OLE for Process Control)技术,采用该技术的好处是OPC是微软参与制定的标准接口技术,有众多的硬件厂商支持,所采用的OLE技术使软件具有良好的适应性和扩展能力。
(2)中间层是实时数据库。该层是整个系统的核心,在设计上除了具有一般实时数据库具有的特性之外,应当为应用层提供了两类接口:一是应用编程接口API(比如以DLL的方式实现),二是ODBC接口,该接口使系统具有很好的开放性,便于系统集成。
(3)上层是应用程序层。在该层通过ODBC接口访问实时数据库,可以通过SQL语句查询数据库的数据。
3、本项目涉及到实时数据库设计
在设计时,我们着重考虑了以下的四个方面:
(1)实时数据库的基本功能:实时数据库完成实时数据库的采集、输出、报警文件等的管理,也进行历史数据的管理。
(2)实时性设计:由于本系统所采用的操作系统是Windows 2000.它的实时性较差,因此要求任务管理定时器必须具有良好的实时性,在系统设计时,我们采用了抢占式服务的高精度定时器,在一定程度上保证了系统具有良好的实时性。
(3)任务调度:其目标主要是使系统在各时间段达到较理想的负荷任务的均衡性。
(4)ODBC接口设计:即开发相应的驱动程序,实现ODBC功能,使之完全遵守SQL约定,这样能允许应用程序的开发手段和开发工具多样化,允许可以采用VC、VB或Delphi等作为开发语言,也使数据库具有很好的开放性。但SQL语句不能实现数据发生时间方面的选择,影响了实时性,因此,系统自动给每个数据库加上时戳,SQL可以通过时戳进行时间控制来选择(读取)数据,从而满足了实时性方面的基本要求。
4. 本系统的可扩充性与可维护性设计
组态软件综合了多种技术,其体系结构与数据结构都较为复杂,再加上我们又希望能适应的实际应用场景有着复杂多变性,因此要求系统必须具有良好的可扩展性与对维护性,以满足功能与性能上不断变化的要求。在系统的设计技术上,我们大量地采用组件技术,如OPC,COM/DCOM与3D图形控件等,组件技术的采用使系统具有了良好的可扩展性与可维护性,降低了系统的复杂度。而且也使我们较方便地获得第三方支持,例如,请经验丰富的图形处理专家编写图形处理控件,就能加快软件开发的进度。
5. 本项目中软件项目实施和管理
组态软件的需求在当前工业控制领域中是较成熟的,基本能满足一般用户的功能上需求,通过比较多家组态软件,可以发现:在它们之间有80%的功能是相同的或雷同的,由于我们项目开发的起步较晚,在自控领域里,我们处于劣势,因此我们提出了“重技术分析,轻需求分析”的思路,即把重点放在组件设计与体系结构的实现上。
在人员的配备上则根据组态软件的技术组成特点,组织一批在自控、网络、组件、实时系统设计和硬件上各有所长的VC高手组成一支精干高效的队伍。
在开发进度上则反复强调“质量第一,进度第二”的原则。
在我们的项目实施中,可靠性作为设计的首要原则,要求项目组成员养成良好的编程习惯,每天必须完成认真的工作日志,每周要写工作总结,完成一段程序代码之后,即应自己先进行从里到外的测试,只有从基础抓起,才能保证组态软件的质量。
通过本项目的开发成功,我深切地体会到要使组态软件在企业实时控制与信息系统集成中发挥其应有的作用,必须注意以下各点:先进的体系结构;支持ODBC的实时数据库;强大的网络功能;功能日益强大的脚本语言等。我期待着本人通过在这个领域中的辛勤耕耘,将会结出更多更丰硕的IT成果。
评注:
本文抓住了企业实时控制与信息系统集成中的一类关键软件——组态软件项目的开发,进行了较有条理的讨论,思路很清晰。
由于项目在一定程度上的“通用性”,未能结合具体的应用背景论述;但本文的一个缺点是未能给出开发与应用的实际效果例子,也未能对开发中遇到的困难与问题展开深入的探讨。(本文主要参考了广东王启飘等人的论文)

2004年4月29日 10:10

posted on 2004-07-12 23:25  浙林龙哥  阅读(288)  评论(0编辑  收藏  举报