仪器仪表用户 文章编号:1671・1041 f2002)01‘0019-04 匣 盐!匦簦 匣 —使用VISUAL C++6.0实现DCS组态软件的设计 周述科 (新菪石河子市技工学校新疆石河子市832000) 梁坚 (清华大学自动化系北京市100081) 【摘要】组态软件是杂散控利系统的重要组成部分。本文将面向对象技术与传统的软件.垃计方法相结台,使用Visual c++ COM等先进的计算机编程技术.讨论了基于OPC技术的DCS组卷软件的醴计思想和方法。 【关键词】冀敲控制系统,组态,面向过程控制的对象链接与嵌人.组件对象模型.客户/服务器 中图分类号:TP31 1 52文献标识码:A The Design of DCS Configu ration Software with Visual C++6.0 Zhou shuke Liang Jian 【Abstract】The configuration software is an important component in the distributed eontml systems.1itfs paper combines the oriented-object technology and the traditional methods of software design.makes use of the advanced computer programming technologies such as Visual CH and COM introduces the design of DCS configuration software based o13.OPC 【Key wo 3】Dist ributed control systems,configu ration,OPC,COM,client/server 1引言 集散控制系统(DCS),是以微处理器为基础的 2 1组态软件设计的特点 (1)组态软件采用了面向对象的软件设计方 新型控制系统,综合了计算机、网络通讯、自动控 制,图形显示、冗余及诊断等先进技术.是目前我 国过程控制领域中应用最为广泛.实用灵活且可靠 性高的控制系统,在电力及石油化工等领域得到了 广泛的应用 法,利用信息封装,数据抽象、动态连接和继承等 拇 ,建立了组态软件面向对象分析(OOA)和面 向对象设计(OoD)模型; (2)以Windows9X/2000、Win NT为操作平 台,保证了组态系统的稳定可靠运行及清晰、友好 的人机界面: OLEDB、ActiveX,DCOM及OPC等软件 技术的出现,为工业控制软件解决分布式控制、控 (3)采用目前流行的客户,服务器(Clien 制网络与企业网络的集成等问题,提供了有效的途 t/Server)体系结构,按照OPC数据访问服务器接 径和手段 目前.利用这些最先进的软件技术.开 口标准要求,设计了基于OPC技术的组态软件数 发基于Windows操作系统的工业控制组态监控软 据访问服务器DCOM框架程序和用户编程接口: 件,已经成为当前工业控制领域发展的潮流 (4)根据系统分解原则并采用模块化建模的思 2 DCS组态软件的设计 想,将控制系统各控制环节划分为具有特定功能的 功能块模型,建立了控制系统功能块库: 【作者简介】周述抖,毋 1955年生,新疆石柯子市技工学校一级实习教师. 粱坚,男,1977年生,注华大学自动化幕硕士研究生 主要 事计算机控{B嘻的研宛。现在上海自但公司DCS分公碉实习,从事组悫软件 的研发工作 E-mail::liangiianOO@mags.tsinghua.edu.ca 【作者声明】 13骡将本文稿酬捐为 仪器仪表用户杂志爱心助学基盒”。 【收稿日期】2001・11・30 E-mini]来稿 欢迎订阅j睨迎撰稿欢迎发布产品广告信息 EIC Vo1.9 2002 No.1 19 维普资讯 http://www.cqvip.com
显避盐咂笺 匣 仪器仪表用户 (5)采用Visual c+_卜6.0语言编写组态程序, 控制策略 操作员和工程师界面,实现DCS的监 利用Visual c+_卜所提供的MFC类库、可视化编辑 控功能。为了实现过程控制所需控制功能,组态软 工具及强大的运算功能,实现了组态软件人机界 件建立了控制功能块库。组态工程师可根据需要调 用控制功能块库中的功能块,形成回路控制策略, 面、数据管理及控制算法的开发设计。 同时建立起调用功能块库FBDB。组态工程师利用 2.2组态软件的体系结构 本组态软件是基于OPC技术的开放式控制系 通用的画面制作软件生成监控画面的背景图象.通 统组态、仿真和在线监控工具,以工业PC为硬件 过调用动态点控件库中的相应控件生成需要的动态 平台.Windows9X/2C ̄0、win NT等实时多任务 点,从而生成工程师和操作员界面 (3)数据管理 操作系统为操作平台,能够满足Intranet日可代对工 画团垦 画图圈 业过程控制系统进行组态开发和监控运行所需通用 工具软件的需求。 组态软件主要由以下几个部分组成:OPC实 时数据库、功能块库 FB实时数据库、动态 控 件库、管理数据库、OPC实时数据库组态、OPC Client程序 控制策略组态 监控画面组态 数据 报表、调度程序。结构如图1所示。 JO娈 控制前略、监控画面 敷据苷理 图1组态软件的整体结构 2.3软件各部分关系及功能 (DUO驱动 IO驱动程序的主要功能是通过实时数据库组态 软件形成IO实时数据库,并根据实时数据库的组 态信息,通过OPC接口在网络上实现设备驱动任 务 实时数据库组态软件提供了实时数据库的组态 功能以及运行和监控环境 基于OPC接口的驱动 设计,使得该组态软件可 适用于任何厂家提供的 带有OPC服务器的控制设备:同时.通过所提供 的通用OPC数据访问服务器开发工具,可以很容 易地为任何旧有的控制系统或非OPC的硬件产品 提供OPC服务器接口.从而与本软件实现无缝集 成。 (2)控制策略和监控画面 通过对控制策略和监控画面的组态,建立回路 20 ElC Vo1.9 2002 No.1 数据管理部分的软件主要实现了数据报表功能 和数据共享机制,为用户提供了一个方便的数据报 圆圈 表定义,样式设计以及报表生成、预览和打印环 境,同时也实现了数据在监控软件和其它数据处理 软件的共享。本组态软件在FBDB的基础上使用关 面圈国 系数据库软件Access建立了管理数据库MDB,通 过Access数据库软件实现了各种报表功能和数据 共享。同时,OLEDB和ADO技术使得该数据库 适用于多种应用程序,并可在多种开发环境下进行 应用程序的设计。 (4)工程管理程序 工程管理程序必须为用户提供集成化的开发环 境和运行环境,开发环境能够为组态工程师提供项 目资源管理、IO组态、控制策略组态 监控画面 组态和数据报表设计的集成环境;运行环境能够为 控制工程师和操作员提供方便可靠的监控界面运行 环境。 2.4组态软件的设计实现 本组态软件既可实现仿真调试功能,也可实现 组态文件到现场仪表的下装。控制组态部分的设计 主要包括以下几个方面: (1)DCS系统中所使用的各种基本功能块的设 计: (2)仿真构成被控对象的典型对象块: (3)按组态要求,用功能块和对象块组态构成 控制回路,实现控制策略组态: (4)控制组态及仿真调试过程的组态界面: (5)控制组态与其它相关专题的接El 2.4、1功能块库的设计 功能块是以数据结构为核心的软件逻辑处理单 元,由输入 输出、算法和参数四大要素组成。功 能块使用工位号(TagName)进行标识,并定义了 输入(Input)、输出(Output)和内含(Containe 欢迎光II缶本刊网站http:/twww.eic.corn.cn 维普资讯 http://www.cqvip.com
墨 墨旦 堡 咂笺 鲤 e为模块基类,含有各类 d)三种参数。输入、输出为连接参数.用于功能块 几类对象。其中CModul之间的链接:内舍参数为功能块的私有数据,表征 功能块的基本信息并实现最基本的功能;CBlock 功能块的属性。功能块的输入、输出和控制功能由 为功能块基类,派生出基本的输入输出及控制功能 块:CobjUnit为被控对象基类,派生出基本的被 功能块算法实现。 功能块受进入功能块的输入事件激活并开始执 控对象:CcalcUnit为连续运算功能块基类,派生 出连续运算功能块;ClogUnit为逻辑运算功能块 行.包括以下三个阶段: (1)进行预处理,执行输入和输出参数的锁存 基类,派生出逻辑运算功自 块;由以上各功能块基 操作,以保证功能块内部的数据不受外界影响; (2)执行功能块算法,产生输出数据: (3)修改输出参数,并根据执行情况产生警报 或事件。 根据系统分解原则并采用模块化建模的思想, 本组态软件将控制系统各控制环节划分为具有特定 功能的功能块模型,采用Visual c++6 0编写各功 能块功能算法,使这些功能块与实际环节具有同样 的动态特性.并能实现与实际环节同样的功能。 目前.DCS组态软件的常用控制算法主要包 括应用于连续控制领域的功能块算法及应用于逻辑 控制领域的梯形图算法。在功能块划分过程中,考 虑了以下几个原则: (1)每个功能块应完成独立的物理功能.最好 与实际设备或者子系统相对应; (2)功能块应具有数学独立性,即数学上的相 互关联应在模块内部处理,各功能块之间不应该存 在耦合即内部参数的数学关联情况; (3)系统中的不同动态特性应该分离: (4)功能块划分必须使模块连接过程容易进 行,功能块必颓提供它与外界进行信息交换的边界 或接口。 根据以上原则,可将功能块划分为以下几类: (1)输入/输出功能块:包括AI,AO、 DI、DO等: (2)控制功能块:包括PID等核一D精制块: (3)连续运算功能块:包括加,减、乘、除等 基本的代数运算块; (4)逻辑运算功能块:包括与,或、非等基本 的逻辑运算块: (5)被控对象仿真功能块:包括用以仿真的一 阶、二阶 性环节等。这几类功能块构成了组态软 件中控制系统功能块库。 因此,可以为功能块库创建CModule、 CBIock、CObjUnit、CCalcUnit、CLogUrlit等 欢迎订阅欢迎撰稿欢迎发布产品广告信息 类.派生出最基本的功能块,并实现相应的控制与 运算功能 作为一个开放式的工业过程控制组态监控软 件,本组态软件还为用户提供了简便易用的编程接 口,通过该编程接口,用户能够建立自己的功能块 基本类库,或由功能块库原有的基类派生出用户所 需功能块。通过将功能块库设计成为DLL的形 式,以便于用户定义自己的算法模块并添加到组态 平台中,实现特殊的控制及运算功能。 2.4.2控制组态的设计 组态系统常用的组态方式包括填表式组态方 法、图形组态方法,组态语言系统及梯形图组态 等。目前,由国际电工委员会(IEC)所颁布实旋 的IEC~1131已经成为工业自动化控制领域的最新 国际标准,并且在IEC1131-3中提出了工业控制通 用组态所使用的5种标准编程语言:梯形图 (LD),功能块图(FBD)、顺序功能图 (SFC)、指令表(IL)和结构化文本(ST) 本软件主要采用了功能块图组态的方法。与传 统的填表式组态方法比较而言,功能块图组态更形 象,更方便灵活,便于直接体现工程师的组态思 想。 在使用本组态软件进行组态时,工程师在功能 块库中选取所需功能块,按照控制策略将各功能块 端口进行连接,搭接成所需的组态控制回路图,并 通过参数设置对话框为各功能块设置适当的控制参 数,从而完成控制组态。 图2为使用本组态软件所构造的串级控制回 路。 本组态软件可以实现两种功能:一是对各功能 块进行组态,仿真运行;二是对现场设备直接进行 控制。在控制系统仿真调试的情况下,AI功能块 的输入信号来自仿真对象,即仿真对象的输出端与 AI功能块的输入端连接;同时,AO功能块的输出 信号送给仿真对象,即仿真对象的输入端与AO功 ElC V01.9 2002 No.1 21 维普资讯 http://www.cqvip.com
匣避盐!匝笺 匣 能块的输出端连接。在对现场设备直接控制运行的 情况下,AI功能块根据组态信息,在每个控制蒯 期开始时,从OPC实时数据库读取相应的现场实 时数据:在进行控制回路运算后,再将AO功能块 的输出控制信号写入OPC实时数据库;OPC驱动 接VI程序定时将实时数据库中的输出数据,通过与 OPC数据服务器建立的连接,发送到OPC数据服 务器:OPC服务器将控制数据输出至控制设备, 从而实现对现场设备的控制。 3结束语 仪嚣仪表用户 综上所述.采用面向对象的软件设汁方法所开 发的DCS组态软件可以完成DCS组态的各项控制 功能:通过提供基于OPC接口的驱动程序,使得 本组态软件可适用于任何厂家提供的带有OPC服 务器的控制设备:通过OPC数据访问服务器开发 工具,可以为任何旧的控制系统或非OPC的硬件 产品提供OPC服务器接口;通过实时功能块库. 可以为控制系统提供丰富的控制算法并允许用户自 定义和添加控制算法:通过图形组态界面,为用户 提供了灵活方便的组态环境;此外,本组态软件设 计的特点也决定了它具有良好的可扩膪性。国 参考文献 1王锦标,方崇智.过程计算机控制.北京:清华 大学出版社,1992 2 oPc Foundation.Data Access Custorrl Interface Standard VCl"Sion 2 03 1999 圈2 读者黄力同志来信 尊敬的编辑老师: 见信好I 我作为贵刊一名忠实的读者,从心底里感谢贵刊对我生活、学习的陪伴与指导,她使我度过了 个叉一个充实而有意义 的日子.同时.也使我学到了更多的知识.许久 来.心里有一皤感慨想要表达,偶成小诗一首,今随函献上.敬请多指 正. fl射} ・心之声・ 轻轻地,您走近我 ——写给 仪器仪表用户 杂志 轻轻地.您走近我 带着-一路的征尘 轻轻地.您走近我 如一片温馨的花瓣 悄悄地靠近我的鼻端 散发出油墨馥郁的芬芳 洋溢着浓浓的现代生活气息 从此,我的心境不再荒芜 积蓄着编辑们的爱心 如雨如雾如露 滋润我那方贫瘠的土地 从此,人生曲折漫长的旅程 那片土地上常有我躬耕的身影 孤舟已找准了驶向彼岸的航线 四川蓬安]005信箱(630250) 黄力 200]年l2月25日 22 ElC Vo1.9 2002 No.1 欢迎光临本刊网站http://www.eic,corn.cn
因篇幅问题不能全部显示,请点此查看更多更全内容