系统数据库之间转发数据系统的制作方法

文档序号:6283670阅读:320来源:国知局

专利名称::系统数据库之间转发数据系统的制作方法
技术领域
:本发明涉及一种数据转发系统,具体涉及一种系统数据库之间的转发数据系统。
背景技术
:在自动化程度较高的生产企业中通常运行着SCADA系统(SupervisoryControlAndDataAcquisition监控与数据采集系统),用于对流水线或工艺过程进行自动控制。SCADA系统监控终端计算机上运行的上位机软件(或称上位机控制系统)通常称作组态软件(或称组态系统),其通过图形化方式直观地显示生产流程和主要设备的运转状态。同时也可以通过人机交互方式对现场设备进行控制。组态系统在采集和显示现场控制设备的实时数据的同时,还可以按照一定的间隔时间对数据进行采样并保存到SCADA数据库中。图1说明了生产企业SCADA系统的典型结构。如图1所示,SCADA系统中的PLC(ProgrammableLogicController可编程逻辑控制器)、DCS(DistributedControlSystem分散控制系统)和组态系统之间通过以太网、现场总线进行通信。为了保证SCADA系统的稳定安全运行,通常需要为SCADA系统建立一个比较封闭的网络环境,在SCADA系统的网络与置有应用系统(软件)的行政办公网络、因特网之间进行某种方式的隔离,以防范病毒、网络入侵等风险因素。常用的隔离措施包括物理断开、分配不同IP子网段、安装硬件防火墙等。在生产企业中通常还会运行其他应用软件,例如资产管理软件、运行报表管理软件、风险状态监管软件等。这些软件系统需要实时或者不定期地获得SCADA系统采集的数据,以便完成某些管理职能。例如资产管理系统(EAM,EnterpriseAssetManagement)需要获.得设备的累计运行时间数据,以便制订设备的检查和保养计划。运行报表管理系统需要获得不同时刻的设备开停机、故障与否等数据,以便产生设4备运行统计报表。政府环境监测部门的应用系统(软件)需要获得工厂在不同时刻排放污染物的数量、浓度等数据。此外,数据挖掘与运行决策支jf软件、设备故障在线诊断软件等应用软件系统都需要获得SCADA系统采集的数据。但是因为SCADA系统的通信网络相对封闭,使得满足这种需要变得困难。同时期中出现过一些从SCADA系统向其他应用系统(软件)转发数据的方式,比较广为人知有OPC(OLEforProcessControl用于流程控制的OLE)标准、DDE(DynamicDataExchange动态数据交换)技术。由于DDE技术的性能和可靠性非常低,在工业级应用中已极少采用。OPC标准以微软公司的OLE技术为基础,它通过提供一套标准的OLE/COM接口为基于Windows的应用程序和现场过程设备建立信息桥梁。软件厂商按照OPC标准开发OPC客户端程序,通过OPC接口访问硬件厂家或第三方提供的OPC服务器程序,即可实现与硬件设备的通信,避免了为不同的硬件分别编写驱动程序。图2A和图2B说明了通过OPC技术获取SCADA系统中数据的两种方式。图2A是在SCADA系统中置有数据转发程序的监控计算机,在监控计算机内OPC客户端连接到OPC服务器,OPC服务器与PLC连接,位于行政办公网路中的应用系统直接与SCADA系统中监控计算机内的数据转发程序进行数据交流。图2B是位于行政办公网路中应用系统内OPC客户端同行政办公网路中的OPC服务器连接,OPC服务器与位于SCADA系统内的PLC直接进行数据交流。OPC技术的优点是实现了一种标准化的接口方式,屏蔽了与不同厂家生产的现场控制设备的通信协议细节,使软件易于实现一种通用的数据采集接口。但是OPC技术也有一些不足之处。从图2A和图2B可以得知,OPC技术要求数据采集软件直接访问SCADA网络,对SCADA系统的网络安全存在不利影响。通过OPC接口访问现场控制设备还会显著增大SCADA网络的通信流量,在现场控制设备信号点数量较多的情况下,有时会造成网络通信拥堵。此外,如果需要采集来自不同厂家的现场控制设备的数据,需要釆购和安装多种专门的OPC服务器软件和现场控制设备进行通信接口,不仅增加成本,也加大了整体的复杂性。
发明内容本发明的目的是提供一种从SCADA系统获取并转发数据的系统,可以克服OPC技术对SCADA系统的网络安全和通信流量的不利影响。能适应SCADA系统平台中不同的组态系统、现场控制设备,而不需要为数据转发另行购买专门的硬件通信接口软件。在简化数据转发过程的同时,提高从SCADA系统采集数据的效率。为了达到上述的目的,所采取的技术方案是提供一种系统数据库之间转发数据系统,包括控制与数据采集系统,位于控制与数据采集系统内的监控计算机,置于监控计算机内的组态系统,与组态系统相连接的源数据库和可编程逻辑控制器;应用网络,位于应用网络内的应用系统和目标数据库;中间计算机,置于中间计算机内的数据转发系统以及置于中间计算机上的两个网卡;数据转发系统通过一个网卡与源数据库网络通信联接;数据转发系统通过另一个网卡与目标数据库网络通信联接;所述位于应用网络内的应用系统通过中间计算机内的数据转发系统获取源数据库中的数据信息;源数据库中的数据信息通过中间计算机内的数据转发系统转送到应用系统并存储到目标数据库内。如上述的结构,本发明使用一中间计算机运行数据转发系统(软件),中间计算机配备了两个网卡,分别联接到SCADA系统网络的网段和应用网络的网段。为了提高网络安全性,在中间计算机上可安装防火墙,只开放数据转发所必需的端口。数据转发系统(软件)从SCADA系统的源数据库(SCADA数据库)中按照一定的时间间隔读取由组态系统(软件)保存的现场控制设备的相关数据,转发系统按照数据转发规则将这些数据转发到应用系统并保存到目标数据库(应用系统数据库)中。所述的数据转发系统同源(SCADA)数据库和目标(应用系统)数据库之间的联接基于标准的数据库联接方式,如包括ODBC(OpenDatabaseConnectivity开放数据库连接)等。数据转发过程只在两个数据库之间进行,不会在现场控制设备和最终需要数据的应用系统(软件)之间形成直接的数据流。数据转发系统(软件)的转发时间间隔可以调整,以适应不同的数据使用要求。数据转发系统(软件)还可以进行数据比较,6只传送发生变化的数据,以便减少网络数据流量和数据存储量。图1为现有技术中SCADA系统通过以太网与行政办公网络中应用系统数据交流的示意图2A和图2B为现有技术中通过OPC技术获取SCADA系统中数据的两种方式示意'图3为本发明转发数据系统一实施例的结构示意图;图4为数据转发过程中所有相关数据表;图5为置于中间计算机内数据转发系统(软件)一实施例的结构示意图6为数据库数据转发模块一实施例的结构示意图;图7为数据库数据转发模块的流程图。具体实施例方式下面结合附图及实施例进一步说明本发明转发数据系统的结构特征。'图3是本发明系统数据库之间转发数据系统一实施例的结构示意图。如图3所示,本发明转发数据系统包括SCADA(控制与数据采集系统)系统30,位于控制与数据采集系统30内的监控计算机301,置于监控计算机301内的组态系统(组态软件)302,与组态系统302相联接的PLC(可编程逻辑控制器)304和源数据库(或称SCADA数据库)303;包括应用网络32(在本实施例中,为行政办公网络),位于应用网络32内的应用系统(软件)321和目标数据库(或称应用系统数据库)322;包括中间计算机31,置于中间计算机31内的数据转发系统(或称数据转发软件)311;置于中间计算机31上的两个网卡312、313;所述数据转发系统311通过网卡312与SCADA系统30内的源数据库303网络通信联接;数据转发系统311通过网卡313与目标数据库(应用系统数据库)322网络通信联接。如上述的结构,从源数据库采集并转发数据的数据转发系统,由于源数据库中数据记录表通常具有相似的结构,根据配置信息可以识别源数据记录表的字段构成,并和目标测点的定义进行匹配,以确定数据转发的目的表,即测点数据记录表。数据转发系统按照可设置的时间间隔定时扫描源数据记录表,读取其最新记录,并筛选出已经发生变化的字段数据,写入测点数据记录表。图4为数据转发过程中所包括的相关数据表。所述源数据库303中包括N^l个源数据记录表3031。如图4所示,包括A、B、…、N等多个源数据记录表3031。如图4所示,所述目标数据库322中包括数据库表,数据库表包括站点定义表3221、测点定义表3222和N^1个测点数据记录表3222。所述站点定义表3221中每一条记录分别描述了源(SCADA)数据库中某个源数据记录表3031的字段特征信息。所述测点定义表3222的每一条记录对应现场设备的一个测点。所述N^1个(多个)测点数据记录表3222,每个表存放现场设备的一个测点的全部历史数据。所述数据转发所需的配置信息存放在站点定义表3221和测点定义表3222中。表l是源数据库(SCADA数据库)303中源数据记录表3031的一个典型实施例。表l增量流水号记录时间进入流量压力温度1温度2IDRecTimeFlowlnPr6ssur6Temp1Temp210022007-02-2214:45:3524.400.247121.6129.310032007-02-2214:46:3525.800.312124.9128.810042007-02-2214:47:3526.270.465126.4125.7…如表1所示,它的结构特征是有一个增量流水号字段作为主键,有r个字符或者日期时间类型的字段用于记录数据采集时间,其他每个字段代表一个现场控制设备的测点数据。组态系统(软件)每隔一定时间向该表插入一条记录,并将各个测点的瞬时数据填写到测点对应的字段。表2是目标数据库322中站点定义表3221的一个典型实施例。表2<table>tableseeoriginaldocumentpage9</column></row><table>如表2所示,它的结构特征是有一个表名称字段,记录了对应源数据记录表3031的名称。有一个记录时间字段名称字段,对应源数据记录表3031的记录时间字段的名称。有一个增量流水号字段名称字段,对应源数据记录表3031的增量流水号字段的名称。、表3是目标数据库322应用系统数据库中测点定义表3222的一个典型实施例。表3<table>tableseeoriginaldocumentpage9</column></row><table>如表3所示,它的结构特征是有一个测点编号字段作为主键。有一个测点代码字段,其值等于源数据记录表3031中某个测点字段的名称。有一个记录时间字段,记录数据最后更新时间。有一个数值字段,记录测点最新数值。表4是目标数据库322应用系统数据库中测点数据记录表3223的一个典型实施例。表4流水号数据记录时间数值IDDataDT/3lU643502007-02-2214:45:3524.4043512007-02-2214:46:3525.8043522007-02-2214:47:3526.27如表4所示,测点数据记录表3223是数据转发的目标表,其结构特征是表名称为一个固定前缀加上某个测点编号。有一个自增流水号字段作为主键。有一个数据记录时间字段,记录数据插入时间。有一个数值字段,记录测点数值。每一个测点数据记录表3223都和测点定义表3222中的某行记录对应,两者的关联是测点编号。图5是所述的数据转发系统(软件)311—实施例的结构示意图。如图5所示,所述数据转发系统311包括4个模块。包括定时调度模块3111,与定时调度模块3111相联接的数据库数据转发模块3112和OPC数据转发模块3113,与数据库数据转发模块3112和OPC数据转发模块3113相联接的日志模块3114。所述定时调度模块3111用于定时启动数据库数据转发模块3112(数据库数据转发模块3112的具体结构如图6所示)或OPC数据转发模块3113;OPC数据转发模块3113采用OPC技术设计。日志记录模块3114用于记录转发过程中的各种信息。如上述的结构,运行时,定时调度模块3111按照预先设定的时间间隔触发,启动数据库数据转发模块3112或OPC数据转发模块3113,通常数据转发系统311默认启动的是数据库数据转发模块3112。但数据库数据转发10模块3112和OPC数据转发模块3113两者的作用是等效的。数据库数据转发模块3112(或OPC数据转发模块3113)从目标数据库322的站点定义表3221和测点定义表3222中读取数据转发所需的配置信息,从源数据库303的源数据记录表3031中读取数据,根据配置信息的指导对数据进行解析,插入目标(应用系统)数据库322中对应的测点数据记录表3223中。如果因受到限制而无法使用数据库数据转发模块3112,允许设定系统启动OPC数据转发模块3113,通过OPC技术采集并转发数据。数据库数据转发模块3112和OPC数据转发模块3113的功能是等效的,只是采用的技术不同,以适应不同的网络环境。所有的转发过程中各种信息记录(存储)在日志模块3112中。.,图6是图5中数据库数据转发模块3112的详细结构。如图6所示,所述数据库数据转发模块3112包括与源数据库303网路通信连接和与定时调度模块3111连接的源数据库査询子模块31121,与目标数据库322网络通信联接和与定时调度模块3111连接的配置信息査询子模块31122,分别与源数据库查询子模块3111相联接的模拟量数据转发子模块31123和开关量数据转发子模块31124,模拟量数据转发子模块31123和开关量数据转发子模块31124均与目标数据库322阿络通信联接。如上述的结构,定时调度模块3111启动配置信息査询子模块31122从目标数据库322中读取站点定义表3221和测点定义表3222的记录,合成为源数据记录表3031的字段构成信息,传递给源(SCADA)数据库査询子丰莫块31121。源数据库査询子模块31121从源(SCADA)数据库303中的源数据记录表3031中査询最新记录,传递给模拟量数据转发子模块31123和开关量数据转发子模块31124。模拟量数据转发子模块31123和开关量数据转发子模块31124分别将两类数据插入目标数据库322中不同的测点数据记录表3222内。所述的模拟量指连续变化的信号,如电流、流量、压力等。开关量指不连续变化的信号,如水泵起停、阀门开合等。模拟量的变化率较高,通常要求按照固定采样频率连续记录。而开关量变化率较低,通常采用变化后存储的方式,以减少存储空间。对模拟量和开关量按照不同的规则进行转发,可以提高转发速度,同时又能节省数据存储空间。图7是数据库数据转发模块3112的流程图。在步骤1101和1102中,配置信息查询子模块31122从目标数据库内的站点定义表3221和测点定义表3222中读取配置信息;步骤1103根据配置信息在源(SCADA)数据库中找到源数据记录表3031,并分析其字段结构,判断每个字段和目标数据库中测点数据记录表3223的对应关系;在步骤1104通过对源数据记录表3031的自增数字字段选择最大流水号方式,取得其中的最新记录;步骤1105和1106对该记录逐字段循环;步骤1107检查每个字段的数据是否变化,主要是根据测点定义表3222的每个测点的前次数据比对字段当前数据;如果数据变化则在步骤1108中由模拟量数据转发子模块31123和开关量数据转发子模块31124将数据插入到目标应用系统数据库322中对应的测点数据记录表3223。上述的流程按照设定周期自动触发,持续从源数据库303中转发数据到目标数据库322中。尽管本发明是针对最佳实施例进行描述的,但是本发明并不限于该实施例。在本发明精神范围之内的各种修改对于本领域的技术人员来说将是显而易见的。本发明的范围将由权利要求书所限定。权利要求1.一种系统数据库之间转发数据系统,包括控制与数据采集系统,位于控制与数据采集系统内的监控计算机,置于监控计算机内的组态系统,与组态系统相联接的源数据库和可编程逻辑控制器;应用网络,位于应用网络内的应用系统和目标数据库;其特征在于包括中间计算机,置于中间计算机内的数据转发系统以及置于中间计算机上的两个网卡;数据转发系统通过一个网卡与源数据库网络通信联接;数据转发系统通过另一个网卡与目标数据库网络通信联接;所述应用系统通过中间计算机内的数据转发系统获取源数据库中的数据信息;源数据库中的数据信息通过中间计算机内的数据转发系统转送到应用系统并存储到目标数据库内。2.根据权利要求1所述的系统数据库之间转发数据系统,其特征在于置于中间计算机内的数据转发系统包括定时调度模块,与定时调度模块相联接的数据库数据转发模块和OPC数据转发模块,与数据库数据转发模块和OPC数据转发模块相联接的日志模块。3.根据权利要求2所述的系统数据库之间转发数据系统,其特征在于,数据库数据转发模块和OPC数据转发模块的功能是等效的,可以使用两者之中的任何一个模块进行数据转发。4.根据权利要求1或2所述的系统数据库之间转发数据系统,其特征在于所述数据库数据转发模块包括与源数据库网路通信连接和与定时调度模块连接的源数据库查询子模块,与目标数据库网络通信联接和与定时调度模块连接的配置信息查询子模块,分别与源数据库査询子模块相联接模拟量数据转发子模块和开关量数据转发子模块,并且模拟量数据转发子模块和开关量数据转发子模块均与目标数据库网络通信联接。5.根据权利要求l所述的系统数据库之间转发数据系统,其特征在于所述源数据库中包括N^l个源数据记录表。6.根据权利要求l所述的系统数据库之间转发数据系统,其特征在于所述目标数据库中包括数据库表,数据库表中包括站点定义表、测点定义表和N^l个测点数据记录表。7.根据权利要求6或5所述的系统数据库之间转发数据系统,其特征在于所述站点定义表内包含一个表名称字段,记录了对应源数据记录表的名称,一个记录时间字段名称字段,对应源数据记录表的记录时间字段的名称,一个增量流水号字段名称字段,对应源数据记录表的增量流水号字段的名称。8.根据权利要求6或5所述的系统数据库之间转发数据系统,其特征在于所述站点定义表内包含一个表名称字段,记录了对应源数据记录表的名称,一个记录时间字段名称字段,对应源数据记录表的记录时间字段的名称,一个增量流水号字段名称字段,对应源数据记录表的增量流水号字段的名称。全文摘要一种系统数据库之间转发数据系统,它包括控制与数据采集系统,位于控制与数据采集系统内监控计算机内的源数据库;位于应用网络内的应用系统和目标数据库;置于中间计算机内的数据转发系统和两个网卡。数据转发系统通过一个网卡与源数据库网络通信联接;通过另一个网卡与目标数据库网络通信联接。应用系统通过数据转发系统获取源数据库中的数据信息,源数据库中的数据信息通过数据转发系统发送到应用系统并存储到目标数据库中。源和目标两数据库之间通过数据转发系统进行数据转发,不会形成直接的数据流,转发数据比较安全可靠。避免了从控制与数据采集系统获得数据时需要使用专门的硬件通信接口软件的不便利。文档编号G05B19/418GK101477364SQ20081020808公开日2009年7月8日申请日期2008年12月29日优先权日2008年12月29日发明者胡文青申请人:上海昊沧系统控制技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1