一个DCS系统软件体系的设计.doc_第1页
一个DCS系统软件体系的设计.doc_第2页
一个DCS系统软件体系的设计.doc_第3页
一个DCS系统软件体系的设计.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一个DCS系统软件体系的设计(二)系统数据库的设计The Design of Software Architecture in DCS System郑宗汉摘要:本文叙述一个DCS系统数据库的设计,说明了系统数据库的组成及其关系模式,系统中分布式数据库的建立、分布式数据库中实时数据的刷新方法,以及内存中实时数据库的组织。关键词: DCS系统,分布式数据库Abstract:The paper describes the design of DCS system databases,explains componentand relational mode of system databases, illustrations how to build the distributed databases in system,and refresh mechanism of real-time data in the distributed databases,and scheme of real-time databases in memory。Keyword: DCS system, distributed database 1 系统数据的组织DCS系统的运行,包括系统组态和系统监控两大部分。系统组态牵涉到系统配置、过程控制组态、工艺流程图生成和报表生成等多项内容,而系统监控要按照所组态的要求和条件,进行控制、监视和操作。所有这些,牵涉到成千上万个数据,这些数据,分布在各个监控级和过程级设备之中。如何组织这些数据和操作这些数据,便成了分散型系统设计的一个重要内容。系统的一切活动,实际上是对这成千上万个数据进行操作。可以把它们统一在一个数据库里进行,按照关系数据库模式来组织和建立它们。例如,过程控制组态这一项目,包含了对模拟量输出入、数字量输出入等数十个项目的组态。而对模拟量输入,必须规定它们的上下限量程、工程单位、采样周期、信号处理方式、报警处理方式和报警范围等等。对此,可以定义如下一个数据结构: 字段名称 数据类型 字段属性 字段说明 其他 ID I4 DU 全局标识 (略) ST B DU 状态字 ALT I6 DU 最后报警时间 RU I DU 当前码值 FRU F DU 当前工程值 CZ B CFC 操作字 AS B CFC 报警级别及屏敝 UT I CF 工程单位 SU F CF 量程上限 SD F CF 量程下限 EV F CFC 仿真操作值 FT I CF 滤波方式 CT I CF 转换类型 CC I CF 转换系数 CJ I CF 冷端补偿 IL F CFC 变化率限制值 IS F CFC 变化率不灵敏区 AH F CFC 上限报警值 AHH F CFC 上上限报警值 AL F CFC 下限报警值 ALL F CFC 下下限报警值 AD F CFC 报警不灵敏区 SF I CF 采样周期 CN I CF 通道号 PI I CF 分布式数据库点序 RS I CF 刷新周期 NAME S CF 工位号 DS S CF 描述 由此,确定了模拟量输入AI文件的文件结构。AI文件的每一个记录,由上述所有字段组成。其中,字段属性标记为DU的字段,是必须实时刷新的字段;标记为CF的字段,是必须组态的字段;标记为CFC 的字段,是必须组态且可以由操作人员操作的字段,如此等等。于是,在这个结构里,定义了对模拟量所可能进行的各种操作,以及进行相应处理所必要的参数。类似于此,对系统的所有过程点和控制点,定义它们的数据结构。组态时,按数据结构建立各类过程点和控制点的相应文件。于是,在整个系统中,建立了由这些文件所组成的全局数据库。2 数据库的构成把系统数据库划分为系统配置库SYSB、算法程序库ALGB、过程对象库PROB、运算控制库CTRB、画面操作库DISB和日常维护库MAIB等等,按照关系模式来建立它们。系统配置库SYSB由系统配置文件,模板配置文件等等组成,其中的每一个元素称为一个配置点,它描述系统各种软硬件部件的配置,其内容包括该配置点的全局标识、外部名称、状态及有关的事务操作及参数。算法程序库ALGB由各种运算控制子程序组成,每一个子程序称为一个算法模块。它主要由系统提供,用户也可通过系统,定义自己的算法模块。算法库由二部分组成,一部分是由算法模块本身组成的子程序库,一部分是描述算法模块的算法描述文件。它说明算法名称、参数描述、入口、估计最坏的运行时间等等。过程对象库PROB由模拟量输出入文件AI、AO、数字量输出入文件DI、DO、脉冲量输入文件PI等等组成。它描述过程对象的构成及操作的有关所有信息,其中的每一个元素称为一个过程点。其内容包括该过程点的全局标识、外部名称、状态及有关的事务操作及参数。运算控制库CTRB由报警监视块文件、运算控制块文件、顺序控制块文件、计算块文件等等组成,它描述系统的控制策略。其中的每一个元素称为一个监控点,其内容包括该监控点的全局标识、外部名称、状态(包括运算结果)、所引用的算法模块名称、输入源、控制参数等等。画面操作库DISB由操作组文件、趋势组文件、工艺流程图文件、各种细目文件等组成,它描述人对系统的监控操作事务。其中的每一个元素称为一个显示操作点,其内容包括该点的全局标识、外部名称、状态,有关的事务操作及参数。日常维护库MAIB,由各种报表文件、报表定义文件、历史数据文件、历史数据定义文件、实时趋势文件、实时趋势定义文件、及运行日记文件等等组成,它们描述系统的各种日常维护和操作事务。其中的每一个元素分别称为报表文件点,历史数据点、实时趋势点等等,其内容包括全局标识、外部名称、状态、及有关的事务操作和参数。上述数据库除MAIB外,均以内存数据库形式存放于带电池后备的RAM 中,而原始数据库和MAIB则存放在磁盘。3 分布式数据库的建立上述数据文件,分布于系统的各个节点之中,以上数据库中的所有文件,它们之中的每一个元素,都赋予一个全局标识,它由节点号,文件代码及记录序号组成。于是,元素的全局标识,构成元素在全系统中的名字空间。系统中的数据操作,以此全局标识为基础进行。操作的最大粒度为一个记录,最小粒度为记录中的一个字段。如果记局部于节点Pi所建立的数据库,标以下标i,记Di = SYSBi,PROBi,CTRBi *Di = Di,ALGB 则 *Di为局部于节点Pi的数据库,它是局部于节点Pi的所有配置点、过程点、监控点、以及算法库文件的集合。则D = D1,D2, *D = D,DISB,MAIB 为系统的全局数据库。在操作站中建立系统的全局数据库,而在过程控制站中,建立局部于该节点的局部数据库。于是,在系统中建立了一个分布式的数据库。3 投影数据库的建立为了便于和加快系统中实时数据的刷新,在各个节点中建立投影数据库。如果记Adui为过程站节点i 中A 数据库所有实时数据的投影,其中,A可以为SYSB、PROB、CTRB等,记Ddui = SYSBdui,PROBdui,CTRBdui i=1,2为过程站Pi的一个数据库,它是数据库Di中,所有实时数据的投影,在过程站及其通信控制器的共享存储器中,建立Ddui。同样,记Ddu = Ddu1,Ddu2.为操作站的一个数据库,它是数据库D 中所有实时数据的投影,在操作站及其通信控制器的共享存储器中建立Ddu。系统组态时,对数据库中的每一个元素,组态其刷新事务的周期。按刷新周期Tj,在过程站建立若干个刷新队列LSQj,和周期刷新任务LSTj,在操作站建立若干个刷新队列SQj、 和周期刷新任务STj。 按周期Tj启动过程站的任务LSTj,把过程站数据库Di中周期为Tj的所有的元素的实时数据,拷贝到Dduj,同时向通信控制器发出命令,把这些内容通过网络广播出去,从而刷新其他站Ddui及操作站Ddu的有关内容,同样在操作站,以周期Tj/2启动任务STj,从Ddu中把周期为Tj的所有实时数据拷贝到D,于是实现了系统数据库的刷新。4 内存数据库的组织把数据库建立在内存中,才能适应过程控制的实时要求,而大容量存器的出现,为建立内存数据库提供了条件。为了对数据库中数据项的访问,能尽可能快地进行定位,系统中所有文件,赋予一个内部文件代码,作为该文件的文件内部标识。文件中的每一个记录,以工位号(或记录名称)作为该记录的外部名称,而以记录的ID字段,作为该记录的内部标识。记录的ID字段,由节点号、文件代码、记录序号组成,它组成了该记录在全系统中的名字空间。对每一个节点,建立一个文件目录索引表,用于描述该节点中每一个文件的信息。表中每一个项目,由如下内容组成:FLID 文件内部代码FLNAME 文件名字FLTYPE 文件类型RECORDN 文件记录个数RECORDL 文件记录长度FILEDN 文件中每一个记录的字段个数FLSTRUCTP 文件的文件结构指针FLADDR 文件起始地址指针分散型控制系统内部的文件,可分为两大部分,一部分是用于过程控制及监视的文件,如模拟量输入文件AI、模拟量输出文件AO、数字量输入文件DI、数字量输出文件DO、运算控制块文件BC、工艺流程图文件EW、报表格式文件RF等等。它们有确定的文件格式,除工艺流程图文件EW、报表格式文件RF等外,它们分布于系统中的各个节点。另一部分虽有确定的文件格式,也用于过程监控,但一般存放于局部操作站,如背景位图、历史数据等等。第三部分是用户随机建立的,一般和过程控制无关,它们不是系统所固有的,没有确定的文件格式。系统仅对第一部分,在内存建立它们的数据库。由于它们有确定的文件格式,给每一个文件赋予一个文件内部代码,并按自然数序列生成。于是,用有序表建立各个节点的文件目录索引表,用文件内部代码作关键字,便可十分迅速地定位该文件的起始地址及其他参数。每一个文件的文件记录个数RECORDN ,限定了每一个文件的长度,也限定了内存数据库的大小。可用它来判断内存数据库所需的存储容量。系统初启时,置为缺省值,在系统配置组态时,根据实际使用的过程控制点和其他有关内容的点数,来改变RECORDN值,从而改变内存数据库的规模。文件中记录的字段个数FILEDN,确定每一个记录中所包含数据项的数目。文件结构指针FLSTRUCTP 指向该文件的文件结构。文件结构中的每一个项目FILDS,说明记录中每一个字段的具体属性,FILDS包含如下内容:FILID 字段序号FILNAME 字段名字FILTYPE 字段数据类型FILAT 字段属性FILOFF 字段相对于记录起址的偏移位置FILSELP 字段的输入选择指针FILCHP 字段的输入范围检查指针于是,可用如下形式来组织内存中的数据库:由此,给定一记录的全局标识ID和字段序号L,便可由ID中包含的节点号I、文件内部代码J及记录序号K,从节点I目录索引表的第J个目录,确定该文件的起址FLADDR、该文件每一个记录的长度RECORDL、及字段L相对于记录起址的偏移量FILOFF,假定记录从零开始排序,则该记录的位置RECOREAD,可由下式确定 RECORDAD = FLADDR + ( K - 1 ) * RECORDL而字段的位置FILEDAD,可由下式确定:FIELDAD = FLADDR + ( K - 1 ) * RECORDL + FILOFF = RECORDAD + FILOFF参考文献:1Foxblo Inc:I/A Series Integrated Control Software Concepts。2Westinghouse Inc:WDPF Engineers Console Users Guide。3ABB Process Automa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论