实现控制站与第三方数据库数据共享的方法及计算机程序产品与流程

文档序号:13207801阅读:196来源:国知局
本发明涉及工业控制
技术领域
:,特别涉及一种控制站的组态数据与第三方数据库实现数据共享的方法。
背景技术
::在工业控制
技术领域
:中,目前iap软件架构中无法与关系型数据库进行对接,因此较难实现控制层与应用管理层的对接。技术实现要素:本发明要解决的技术问题,在于提供一种控制站的组态数据与第三方数据库实现数据共享的方法,以数据库作为中转实现上层应用系统与底层控制之间的数据交互,即可实现与异构系统之间的数据交互。本发明方法是这样实现的:一种控制站的组态数据与第三方数据库实现数据共享的方法,其特征在于:以搬迁任务作为运行单元,每个搬迁任务中包括两张表,其中一张为面向数据库的表,另一张为面向控制站的表,其中面向控制站的表中的数据均为数值型的数据;且这两张表由搬迁的搬迁任务类型来决定其中一张作为源数据表,另一张作为目标数据表,其中目标数据表的数据始终由数据源表的数据来填充,而负责“源数据表→目标数据表”的数据类型的转化则由用户自己编译生成的映射函数来完成。进一步的,每个搬迁任务由一个线程负责执行;搬迁任务主要分为两种类型,一类是从“数据库→控制站”的搬迁任务,则所述面向数据库的表为源数据表,所述面向控制站的表为目标数据表,另一类是从“控制站→数据库”的搬迁任务,则所述面向控制站的表为源数据表,所述面向数据库的表为目标数据表。进一步的,允许用户在某个搬迁任务下配置下io:触发io,用于通过触发信号来触发数据的搬迁;回写io,用于完成搬迁后回写给控制站的一次触发信号;控制io,包括搬迁任务控制io和执行周期控制io,分别控制搬迁任务的数据搬迁状态和数据搬迁周期。进一步的,其特征在于:该方法具体包括如下步骤:步骤s1、创建数据源,包括数据库数据源和控制站数据源;步骤s2、创建io变量,用于配置所述触发io、回写io、控制io、以及用于配置离散数据表;步骤s3、创建数据表,包括面向控制站的数据表和面向数据库的数据表;步骤s4、创建映射函数,用于控制站数据表和数据库数据表之间的数据转换;步骤s5、创建搬迁任务,填写搬迁任务名称和选择搬迁任务类型;步骤s6、启动搬迁任务,所述搬迁任务会按照设定的周期时间或者监听来自控制站的触发信号;从数据源中获取数据;并利用定义的映射函数的算法,将从数据源数据表获取的数据转化为目标数据表的数据格式;然后将转化后得到的表数据以行为单位把数据发送到目标数据库指定的数据表中或发送到目标控制站指定的偏移地址中。进一步的,所述步骤3中,面向控制站的数据表是在控制站源下创建;面向数据库的数据表需要在数据库源下创建。进一步的,所述步骤3中,所述控制站的数据表分为连续io链接数据表和离散io链接数据表,连续io链接是指数据表的目标控制站为连续的io地址段;离散io链接是指数据表的每个字段以指定的io点地址为目标进行的搬迁。进一步的,允许用户配置控制站对搬迁任务的控制,包括搬迁任务的执行周期、搬迁任务的启用/挂起以及搬迁任务执行的触发信号。本发明还提供一种计算机程序产品,用于实现控制站的组态数据与第三方数据库实现数据共享的方法,以数据库作为中转实现上层应用系统与底层控制之间的数据交互,即可实现与异构系统之间的数据交互。本发明计算机程序产品是这样实现的:一种计算机程序产品,包括计算机程序指令,其中所述计算机程序指令用于实现本发明上述的控制站的组态数据与第三方数据库实现数据共享的方法。本发明具有如下优点:通过配置数据源(控制站或数据库)、行数据的映射算法,可创建控制站与关系型数据库之间的相互数据搬迁,来实现控制站数据与数据库中的数据之间的共享。从而实现了控制层与应用管理层之间数据对接,从一定程度上通过数据的搬迁共享来实现了一种跨平台的应用。由于控制站数据类型为简单的数值类型,而关系型数据库多为复杂数据类型,本发明可通过自定义的映射算法实现数值类型与复杂数据类型之间的转化,有着较高的自由度和适应性。除此之外,可配置允许控制站对搬迁任务的控制,如搬迁任务的执行周期、搬迁任务的启用/挂起、搬迁任务执行的触发信号。附图说明下面参照附图结合实施例对本发明作进一步的说明。图1为本发明方法的系统框图。图1a为本发明方法中从控制站到数据库的数据搬迁流程框图。图1b为本发明方法中从数据库到控制站的数据搬迁流程框图。图2为实现本发明方法的共享平台的一主界面图例。图3a至图3f为本发明方法创建数据库源过程的配置窗口界面图例。图4a至图4c为本发明方法创建控制站源过程的配置窗口界面图例。图5a至图5c为本发明方法创建io变量过程的配置窗口界面图例。图6a至图6f为本发明方法创建面向控制站的数据表过程的配置窗口界面图例。图7a至图7e为本发明方法创建面向数据库的数据表过程的配置窗口界面图例。图8a至图8b为本发明方法创建映射函数过程的配置窗口界面图例。图9a至图9c为本发明方法创建搬迁任务过程的配置窗口界面图例。图10a至图10c为本发明方法启动搬迁任务过程的配置窗口界面图例。具体实施方式如图1所示,本发明的控制站的组态数据与第三方数据库实现数据共享的方法,是以搬迁任务作为运行单元,每个搬迁任务中包括两张表,其中一张为面向数据库的表,另一张为面向控制站的表,其中面向控制站的表中的数据均为数值型的数据;且这两张表由搬迁的搬迁任务类型来决定其中一张作为源数据表,另一张作为目标数据表,其中目标数据表的数据始终由数据源表的数据来填充,而负责“源数据表→目标数据表”的数据类型的转化则由用户自己编译生成的映射函数来完成。如图1至图10c所示,本发明还提供一种计算机程序产品,来实现本发明的方法,该计算机程序产品,该计算机程序可存储在计算机可读存储介质中,并包括计算机程序指令,其中所述计算机程序指令用于实现本发明上述的控制站的组态数据与第三方数据库实现数据共享的方法。每个搬迁任务由一个线程负责执行;搬迁任务主要分为两种类型,一类是从“数据库→控制站”的搬迁任务,则所述面向数据库的表为源数据表,所述面向控制站的表为目标数据表,另一类是从“控制站→数据库”的搬迁任务,则所述面向控制站的表为源数据表,所述面向数据库的表为目标数据表。允许用户在某个搬迁任务下配置下io:触发io,用于通过触发信号来触发数据的搬迁;回写io,用于完成搬迁后回写给控制站的一次触发信号;控制io,包括搬迁任务控制io和执行周期控制io,分别控制搬迁任务的数据搬迁状态和数据搬迁周期。该方法具体包括如下步骤:步骤s1、创建数据源,包括数据库数据源和控制站数据源;步骤s2、创建io变量,用于配置所述触发io、回写io、控制io、以及用于配置离散数据表;步骤s3、创建数据表,包括面向控制站的数据表和面向数据库的数据表;面向控制站的数据表是在控制站源下创建;面向数据库的数据表需要在数据库源下创建;所述控制站的数据表分为连续io链接数据表和离散io链接数据表,连续io链接是指数据表的目标控制站为连续的io地址段;离散io链接是指数据表的每个字段以指定的io点地址为目标进行的搬迁;步骤s4、创建映射函数,用于控制站数据表和数据库数据表之间的数据转换;步骤s5、创建搬迁任务,填写搬迁任务名称和选择搬迁任务类型;步骤s6、启动搬迁任务,所述搬迁任务会按照设定的周期时间或者监听来自控制站的触发信号;从数据源中获取数据;并利用定义的映射函数的算法,将从数据源数据表获取的数据转化为目标数据表的数据格式;然后将转化后得到的表数据以行为单位把数据发送到目标数据库指定的数据表中或发送到目标控制站指定的偏移地址中。具体分以下两种情况:1、如图1a所示,从控制站到数据库的数据搬迁步骤如下:a)按照设定的周期时间或者监听来自控制站的触发信号;b)根据配置的控制站地址区域,从控制站中获取数据;c)利用定义的映射函数的算法,将从控制站中获取的数据转化为在数据库中存储的数据格式(转化以表的形式以行为单位执行),将转化后得到的表数据提交到数据库指定的数据表中。2、如图1b所示,从数据库到控制站的数据搬迁步骤:a)按照设定的周期时间或者监听来自控制站的触发信号;b)根据配置的sql语句从数据库中获取数据;c)利用定义的映射函数的算法,将从数据库中获取的数据表转化为能够被控制站识别的数值型数据表(转化以表的形式以行为单位执行);将转化后得到的表数据以行为单位,将数据发送到控制站指定的偏移地址中。如图2至图9c所示,本发明还提供对应所述步骤1至步骤6的配置模块,包括数据源配置模块、数据库数据表创建与配置模块、控制站数据表创建与配置模块、映射函数编译器和搬迁任务创建与配置模块,使步骤1至步骤6均通过用户配置的方式实现。步骤s1、创建数据源,包括数据库数据源和控制站数据源;数据源包括数据库数据源和控制站数据源,创建数据源即是为了创建与数据库或控制站的连接字符串。创建方式可对图2左边树结构中【数据源】或【数据库】或【控制站】节点右键菜单选项中进入,创建好的数据将保存在datasourcetableinfo.xml文件中。(1)创建数据库数据源(配置一个sqlserver连接为例):选中【数据库】节点,鼠标右键弹出如图3a所示的菜单,然后点击“新建数据源”,弹出如图3b所示的配置窗,再点击“...”按钮,将弹出数据链接属性框,如图3c所示,并选中对应的驱动(这里选中sqlserver的驱动),如图3d所示,切换到连接选项,配置sql数据库所在的服务器名称(可用ip地址)、登录数据库的用户名和密码、选择要连接的数据库名,测试连接成功后即可点击确定。正确配置后,如图3e所示得到数据源路径,然后对数据源进行命名后点击确定即可。成功后将在“数据库”节点下出现刚创建的数据库数据源,如图3f所示。(2)创建控制站源(配置一个iapsimu连接为例)选中【控制站】节点,鼠标右键弹出如图4a菜单,点击“新建数据源”,填写数据源名称、选择对应的控制站类型、填写控制站的ip地址和端口号(对于iapsimu由于固定了端口,因此这里的端口号随便填一个即可)。弹出如图4b的配置窗;点击确定后,如图4c所示,将在“控制站”节点下出现刚创建的数据源名称,步骤s2、创建io变量,创建io变量是为了在配置触发io、回写io、控制io、以及配置离散数据表时使用,当然,如果搬迁任务不需要这些单独的io点,则可不配置。创建io变量的方式如图5a和图5b所示,确定后,如图5c即可在“io变量集”节点下看到刚创建的io变量点。步骤s3、创建数据表,数据表包括面向控制站的数据表和面向数据库的数据表。(1)面向控制站的数据表需在控制站源下创建,创建成功后,该表将作为控制站->iapdbcom的数据接收表或iapdbcom->控制站的数据发送表。控制站数据表又可分为连续io链接数据表和离散io链接数据表,连续io链接是指数据表的目标控制站为连续的io地址段;离散io链接是指数据表的每个字段以指定的io点地址为目标进行的搬迁。其中,创建连续io链接表过程如图6a和图6b所示,创建成功后,如图6c所示,在对应“数据表集”中将看到刚创建的表名称。创建一个离散io链接表过程如图6d和图6e所示,其中,在io变量管理窗口可通过鼠标右键弹出菜单选项,对io变量进行增、删、改操作;如图6f所示,创建成功后,在对应“数据表集”中将看到刚创建的表名称。(2)面向数据库的数据表需要在数据库源下创建,创建成功后,该表将作为数据库->iapdbcom的数据获取表(事实上以执行的sql语句返回的表为主,该表字段定义主要用于数据转化时用,需与sql执行语句返回的表字段一致)或iapdbcom->数据库的数据提交表。其中图7a至图7c为创建一个读取数据库表内容的数据表的过程,其中图7d至图7e为创建一个写入数据库的数据表,创建成功后,配置数据将保存到datasourcetableinfo.xml文件中。步骤s4、创建映射函数,映射/转换函数主要应用于控制站数据表和数据库数据表之间的数据转换,因此在编写函数的时候需要知道源数据表结构和目标数据表结构(即表字段名),如对之前配置的testtable2和testtable_select表建立函数,在函数内部的代码实现中,始终是有asourcedataset的字段数据赋值给adestdataset表的对应字段。创造过程如图8a和图8b所示。步骤s5、创建搬迁任务,在以上步骤完成之后,创建新搬迁任务配置,如图9a所示,选择新建搬迁任务,填写搬迁任务名称(仅用于本软件内显示使用)、选择搬迁任务类型(即搬迁的方向)、界面如图9b和图9c的所示。步骤s6、启动搬迁任务,创建完搬迁任务后,在主界面中点击启动按钮,程序将会启动被标记为“启用”的搬迁任务,或点击如图10a中的“启动搬迁任务”。如需要查看搬迁任务搬迁数据,如图10b和图10c所示,可点击【搬迁任务】->【搬迁任务数据监控】进行查看。虽然以上描述了本发明的具体实施方式,但是熟悉本
技术领域
:的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1