集散控制系统操作员站内存数据库结构存储的同步方法

文档序号:6290234阅读:206来源:国知局
专利名称:集散控制系统操作员站内存数据库结构存储的同步方法
技术领域
本发明涉及集散控制系统和计算机领域,尤其涉及一种集散控制系统操作 员站内存数据库结构存储的同步方法。
技术背景工业生产中,应用效益最直接、最明显的系统应当是工业控制系统,特别 是集散控制系统。集散控制系统是一种集中管理和分散控制系统,是融合计算 机技术、控制技术和通信网络技术为一体的高级控制系统,系统的管理、控制、数据采集等功能分散在系统的不同计算机中。在传统的常驻磁盘数据库DRDB 中,事务处理涉及耗时的磁盘IO,无法胜任实时应用。集散控制系统是一个 实时控制系统,目前采用DRDB结合内存缓冲区的方法,通过缓冲技术和调 度算法减少磁盘10,向上层应用程序提供实时数据服务。这种方法基本上可 满足一般的实时应用,但由于还需要耗时的磁盘IO,因此无法应用于实时性 要求较高的复杂系统。随着第四代集散控制系统的出现,系统的控制功能从传 统的现场仪表层,扩展至控制装置单元层,车间调度层,进而与企业管理层融 合,系统规模增大,复杂度增加,实时性要求不断提高。作为集散控制系统各 功能模块数据交换中心的实时数据库已无法满足应用的要求,开发面向集散控 制系统的内存数据库是解决这一技术难题的有效技术。内存数据库MMDB的主数据库常驻内存,由于事务处理无需进行磁盘访 问,使基于MMDB的应用系统实时响应性能得到极大的提高。迄今有关内存 数据库的专利 一种内存数据库主备同步的方法(ZL200410006155.2)、对移 动中通信设备中内存数据库定时监控的方法(ZL200410015178.X)、 一种全内 存数据库的数据存放方法(申请号200710106102.1)等,其应用背景涉及金融、 通信两大行业。随着内存价格的急剧下降,CPU和操作系统64位时代的到来, 阻碍内存数据库在工业控制领域应用的经济技术瓶颈己不复存在。 发明内容本发明的目的是提供一种集散控制系统操作员站内存数据库结构存储的 同步方法。集散控制系统操作员站内存数据库结构存储的同步方法中的集散控制系 统由挂接在控制网络上的现场控制站、操作员站和工程师站三个基本子系统组 成,操作员站以操作组态文件为数据字典,在操作员站共享RAM内存中
建立内存数据库,操作组态文件存储在Flash内存中,数据结构与数据分 开存储,在操作员站实时监控平台上实现对工业现场的监控;针对操作员 站内存数据库数据更新方式单一的特点,采用读写双指针结合读写信号量技术 达到内存数据库的同步;针对操作员站运行模式的特点,采用多级指针的存储 结构,将内存数据库表示为一个指向实际数据的指针集合。将操作组态文件 采用后台线程定时转存基于磁盘的外部数据库,工业现场数据由控制站写入外 部磁盘数据库,操作员站内存数据库的恢复通过控制网络读入磁盘数据库完 成。所述的针对操作员站运行模式的特点,采用多级指针的存储结构将内存 数据库关系元组表示为一个指向实际数据的指针集合,而非键值本身,第一级 指针与操作员站的不同画面一一对应,相当于关系数据库中的表;第二级指针 与指定的操作画面一一对应,相当于关系数据库中的记录;第三、四级指针与 构成指定操作画面的元素一一对应,相当于关系数据库中的字段;其中第四级 指针的内容是操作画面元素的地址,即键值地址,因此,工业现场数据在内存 数据库中只需存储一次。所述的针对操作员站数据更新方式单一的特点,采用读写双指针结合读写 信号量技术达到内存数据库同步方法步骤如下1) 初始化读写信号为零;2) 工业现场数据更新时,启动内存数据库写操作线程,写信号量置l,写 指针加1并模N, N为该数据在内存数据库中的存储量;写线程完毕,则写 信号量置0;读取读信号量,读信号量若为0,则读指针复制写指针,否则直 接结束写操作线程,此时操作员站的其他线程仍依据读指针所指地址从内存数 据库读取数据;3) 操作员站显示操作画面读取数据时,启动内存数据库读操作线程,读 信号置l,读线程完毕则读信号置0;读取写信号量,写信号量若为0,则读指 针复制写指针,否则直接结束读操作线程。本发明与现有技术相比,具有的有益效果是本发明采用读写指针结合读写信号量技术,有效解决了操作员站读写任务 时数据冲突所引起的数据完整性和一致性问题;与现有内存数据库的锁机制同 步策略相比,读写双指针结合读写信号量技术充分考虑了操作员站数据存取的 特点,实现技术简单,占用资源较少。采用多级指针存储结构,数据库不再被 视为大量存储文件而被视为内存中可寻址的大量数据,从而具有直接地址访问 数据的高效率特性,同时满足操作员站内存数据库变字长字段的特殊要求,而
且工业现场数据在内存数据库中只需存储一次。操作员站内存数据库对实时性无特殊需求的操作员操作记录等数据存入Flash内存,采用后台线程定时转存 基于磁盘的外部数据库。内存数据库的恢复机制通过集散控制系统控制站的外 部磁盘数据库资源实现。操作员站内存数据库的恢复机制摒弃常用的日志技 术,充分利用集散控制系统软硬件体系本身的技术潜力,工业现场数据由控制 站写入外部磁盘数据库,操作员站内存数据库的恢复通过控制网络读入磁盘数 据库完成。


图l是集散控制系统结构简图;图2是工程站离线IO组态的模拟量输入屏幕编辑器示意图; 图3是操作员站合成氨MDEA脱碳工艺图; 图4是工艺流程图动态参数和相关图元素的组态界面; 图5是操作员站内存数据的存储结构图; 图6是操作员站内存数据库同步的流程图。
具体实施方式
集散控制系统操作员站内存数据库结构存储的同步方法中的集散控制系 统由挂接在控制网络上的现场控制站、操作员站和工程师站三个基本子系统组 成,操作员站以操作组态文件为数据字典,在操作员站共享RAM内存中 建立内存数据库,操作组态文件存储在Flash内存中,数据结构与数据分 开存储,在操作员站实时监控平台上实现对工业现场的监控;针对操作员 站内存数据库数据更新方式单一的特点,采用读写双指针结合读写信号量技术 达到内存数据库的同步;针对操作员站运行模式的特点,采用多级指针的存储 结构,将内存数据库表示为一个指向实际数据的指针集合。将操作组态文件 采用后台线程定时转存基于磁盘的外部数据库,工业现场数据由控制站写入外 部磁盘数据库,操作员站内存数据库的恢复通过控制网络读入磁盘数据库完 成。所述的针对操作员站运行模式的特点,采用多级指针的存储结构将内存 数据库关系元组表示为一个指向实际数据的指针集合,而非键值本身,第一级 指针与操作员站的不同画面一一对应,相当于关系数据库中的表;第二级指针 与指定的操作画面一一对应,相当于关系数据库中的记录;第三、四级指针与 构成指定操作画面的元素一一对应,相当于关系数据库中的字段;其中第四级 指针的内容是操作画面元素的地址,即键值地址,因此,工业现场数据在内存 数据库中只需存储一次。 所述的针对操作员站数据更新方式单一的特点,采用读写双指针结合读写 信号量技术达到内存数据库同步方法步骤如下1) 初始化读写信号为零;2) 工业现场数据更新时,启动内存数据库写操作线程,写信号量置l,写指针加1并模N, N为该数据在内存数据库中的存储量;写线程完毕,则写 信号量置0;读取读信号量,读信号量若为0,则读指针复制写指针,否则直 接结束写操作线程,此时操作员站的其他线程仍依据读指针所指地址从内存数 据库读取数据;3) 操作员站显示操作画面读取数据时,启动内存数据库读操作线程,读 信号置l,读线程完毕则读信号置0;读取写信号量,写信号量若为0,则读指针复制写指针,否则直接结束读操作线程。如图1所示,集散控制系统由挂接在控制网络上的现场控制站、操作员站 和工程师站三个基本子系统组成。工程师借助离线组态软件的专用屏幕编辑器,在工程师站上完成控制系统IO、控制方案、报警、操作画面、报表等组 态,经控制网络下载的操作组态文件存储在操作员站内置的Flash内存中。操 作员站以操作组态文件为数据字典,在操作员站共享RAM内存中建立内 存数据库,数据结构与数据分开存储,在操作员站实时监控平台上实现对 工业现场的监控。针对操作站内存数据库数据更新方式单一的特点,采用读 写双指针结合读写信号量技术达到内存数据库的同步;采用多级指针的存储结 构,将内存数据库表示为一个指向实际数据的指针集合。工程师站对集散控制 系统的系统状态进行实时监视、故障分析、信号调校;现场控制站采集处理现 场信号,进行实时控制和历史数据库存储,历史数据存储在外部磁盘数据库中, 可用于集散控制系统内存数据库的恢复。如图2所示,工程师通过填表方式完成IO组态,控制方案组态与此类似。 现场控制站下载IO组态文件并存储在控制站Flash内存中,现场控制站运行信 号采集处理和控制软件时读取IO组态文件,根据IO组态文件的要求采集和处 理现场信号,并经控制网站上传至操作员站和工程师站。如图3所示,操作员站操作画面包括系统总貌、流程图、控制分组、调整 画面、趋势图、报警一览表、数据一览表等。大多数情况下,操作员是通过操 作员站的工艺流程图界面来了解现场情况。工程师通过离线组态软件中的流程 图制作工具软件,绘制个性化工艺流程图,并在流程图上定义所需显示的动态 参数。工程师站以图元格式存储流程图,以便工程师的再次修改;操作员站则 以静态图形(位图格式)结合动态参数的格式存储流程图,便于操作员站内存 数据库的存取和管理。动态参数和相关的图形元素需要与现场的检测量(数据
位号变量)或控制装置关联,实时反映现场检测量(数据位号变量)的变化。动态参数和相关图形元素的组态界面如图4所示。如图5所示,操作员站内存数据库采用四级指针存储结构,内存数据库关 系元组用指向实际数据的指针集合描述,而非键值(数据)本身,因此工业现 场数据在内存数据库中只需存储一次。现结合图5详细描述直接地址访问数据 的机理。若操作员选择流程图1,则通过MMDBHead进入流程图Head、控制 分组Head……趋势图Head指针组,按需选取流程图Head,并进入二级指针 组;按需选择流程图1指针,经第三级指针组获取第四级指针;通过静态图指 针读取相关的位图,通过模拟量指针读取内存数据库按时间顺序存储的相关模 拟量。操作员站进入流程图1显示时,由指针管理模块确定一至三级指针值, 应用程序读入后在流程图1显示时不再变动;第四级指针由指针管理模块管理, 根据现场数据的更新同步刷新。因此本案例中的流程图Head相当于关系数据库中的表,即操作站内存数 据库由流程图、控制分组……趋势图等表组成。流程图指针组相当于关系数据 库表中的记录;构成流程图动静态元素的指针则相当于关系数据库表中的记录 字段的地址。控制分组……趋势图与此类似。如图6所示,针对操作员站数据更新方式单一的特点,采用读写双指针结 合读写信号量技术达到内存数据库同步,具体步骤如下步骤一,初始化读写信号为零步骤二,工业现场数据更新时,启动内存数据库写操作线程,写信号量置 1,写指针加1并模N (N为该数据在内存数据库中的存储量);写线程完毕, 则写信号量置0;读取读信号量,读信号量若为0,则读指针复制写指针,否 则直接结束写操作线程,此时操作员站的其他线程仍依据读指针所指地址从内 存数据库读取数据。步骤三,操作员站显示操作画面读取数据时,启动内存数据库读操作线程, 读信号置量l,读线程完毕则读信号量置0;读取写信号量,写信号量若为0, 则读指针复制写指针,否则直接结束读操作线程。仅当读写信号量均为零时,读指针才复制写指针,确保了内存数据库的同 步,数据的完整性和一致性。操作员站内存数据库运行在操作系统平台上,无论是Windows、还是Unix 或Linux,均具有多线程多任务并发特性。操作员站运行时,报警和人机交互 事件具有高优先级,因此内存数据库读写进程发生冲突是不可避免的。采用读 写双指针结合读写信号量技术较现有的锁机制同步策略,不但实现技术简单, 而且节省资源。
权利要求
1.一种集散控制系统操作员站内存数据库结构存储的同步方法,其特征在于集散控制系统由挂接在控制网络上的现场控制站、操作员站和工程师站三个基本子系统组成,操作员站以操作组态文件为数据字典,在操作员站共享RAM内存中建立内存数据库,操作组态文件存储在Flash内存中,数据结构与数据分开存储,在操作员站实时监控平台上实现对工业现场的监控;针对操作员站内存数据库数据更新方式单一的特点,采用读写双指针结合读写信号量技术达到内存数据库的同步;针对操作员站运行模式的特点,采用多级指针的存储结构,将内存数据库表示为一个指向实际数据的指针集合。将操作组态文件采用后台线程定时转存基于磁盘的外部数据库,工业现场数据由控制站写入外部磁盘数据库,操作员站内存数据库的恢复通过控制网络读入磁盘数据库完成。
2. 根据权利要求1所述的一种集散控制系统操作员站内存数据库结构存储 的同步方法,其特征在于所述的针对操作员站运行模式的特点,采用多级指针 的存储结构将内存数据库关系元组表示为一个指向实际数据的指针集合,而 非键值本身,第一级指针与操作员站的不同画面一一对应,相当于关系数据库 中的表;第二级指针与指定的操作画面一一对应,相当于关系数据库中的记录; 第三、四级指针与构成指定操作画面的元素一一对应,相当于关系数据库中的 字段;其中第四级指针的内容是操作画面元素的地址,即键值地址,因此,工 业现场数据在内存数据库中只需存储一次。
3. 根据权利要求1所述的一种集散控制系统操作员站内存数据库结构存储 的同步方法,其特征在于所述的针对操作员站数据更新方式单一的特点,采用 读写双指针结合读写信号量技术达到内存数据库同步方法步骤如下1) 初始化读写信号为零;2) 工业现场数据更新时,启动内存数据库写操作线程,写信号量置l,写 指针加1并模N, N为该数据在内存数据库中的存储量;写线程完毕,则写 信号量置0;读取读信号量,读信号量若为0,则读指针复制写指针,否则直 接结束写操作线程,此时操作员站的其他线程仍依据读指针所指地址从内存数 据库读取数据;3) 操作员站显示操作画面读取数据时,启动内存数据库读操作线程,读 信号置l,读线程完毕则读信号置0;读取写信号量,写信号量若为0,则读指 针复制写指针,否则直接结束读操作线程。
全文摘要
本发明公开一种集散控制系统操作员站内存数据库结构存储的同步方法。操作组态文件存储在操作员站内置的Flash内存中,以操作组态文件为数据字典在操作员站共享RAM内存中建立内存数据库,数据库结构与数据分开存储,在实时监控软件平台上监控。采用多级指针存储结构,将内存数据库关系元组表示为一个指向实际数据的指针集合;针对操作员站数据更新方式单一的特点,采用读写双指针结合读写信号量技术实现内存数据库的同步。本发明有效解决了操作员站读写任务时数据冲突所引起的数据完整性和一致性问题;多级指针存储结构,具有直接地址访问的高效率,适用于操作员站内存数据库变字长字段的特殊要求,且工业现场数据在内存数据库中只需存储一次。
文档编号G05B19/418GK101158871SQ20071015668
公开日2008年4月9日 申请日期2007年11月12日 优先权日2007年11月12日
发明者吴明光, 安庆敏, 李化东 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1