工业过程自动化系统的工程设计系统运行方法和控制程序与流程

文档序号:15270008发布日期:2018-08-28 22:18阅读:152来源:国知局

本发明涉及一种用于工业过程自动化系统的工程设计系统的运行方法和控制程序。



背景技术:

工业自动化系统用于监控、控制和调节技术过程,尤其是在制造自动化、过程自动化和建筑自动化领域,并且实现控制装置、传感器、机器和技术设备的基本上自主的运行。借助过程自动化系统可靠地提供监控、控制和调节功能的主要基础在于,在工程或规划系统中完整地并且准确地获取并映射工业过程自动化系统的元件。

借助工程设计系统尤其可以对自动化设备的控制程序进行规划,它们设置用于对技术设备或者复杂机器及其闭环控制或开环控制的映射进行可视化。在控制程序运行时或者说在运行时持续期间,通过自动化设备、如可编程逻辑控制器对技术过程进行开环或闭环控制。在运行时持续期间的过程监控的范畴内,操作员可以调取过程图像,以获得有关设备实时状态的概览并获知过程引导或操作。

在ep1166215b1中描述了一种用于从技术设备中自动地再次获取工程数据的方法,其中,通过一个统一的对象模型描述了工程设计和运行时对象。由此可以在对象层上确定工程设计对象与运行时对象之间的直接对应关系,从而不会因为将设备组件映射到对象模型上而产生信息损失。此外还可以在工程设计对象与运行时对象之间实现直接通信。

由ep2808749b1中已知一种用于在工业自动化系统的操作和观察设备之间交换控制信息的方法。根据控制信息,在相应的操作和观察设备的用户图形界面上,借助自动化设备闭环或开环控制的技术设备的至少部分映射被可视化。可视化的映射对应有代表技术设备的元件的、基于计算机的对象,这些对象通过在相应的操作和观察设备上建立的运行时间环境来提供。在不同的操作和观察设备处提供的所有对象类型按照一个统一的地址模式可提供给跨设备的访问。

us6063128涉及一种系统,其包括存储设备、第一和第二硬件或软件平台、永久的便携式数据模型和基于计算机的、与第一和第二平台相关的模型映射系统。每个平台都具有一个用于存储设备的端口并且提供与系统相关的服务。第一平台对应有第一运行系统类型以及第一计算机硬件类型,而第二平台对应有第二运行系统类型以及第二计算机硬件类型。便携式数据模型以独立于平台的格式存储在存储设备中并且包括永久性的组件-对象。此外,用于第一平台的、基于计算机的模型映射系统存储在存储设备的第一存储区域内,而用于第二平台的、基于计算机的模型映射系统存储在存储设备的第二存储区域内。每个基于计算机的模型映射系统都提供服务,用于从存储设备中调取便携式数据模型,数据模型通过添加和移除组件-对象来改变并且数据模型永久地存储在存储设备中。此外,每个基于计算机的模型映射系统都包括一个静态内核和一个动态的软件框架。内核在相应的平台上运行,并且构成用于对应的运行系统的和用于相应的计算机硬件的端口。软件框架在相应的平台上运行,并且构成用于对应的内核的端口并且分别提供一个独立于平台的用户图形界面。

在wo2010/037145a2中提出了一种用于在计算机系统中管理过程控制的方法,计算机系统用于对过程设备进行配置和监控。计算机系统提供用于管理过程设备中的多个对象的、互动的用户界面。在此,每个对象相当于过程设备中的一个物理或逻辑单元的多个对象。此外还建立了用于显示可选择的元素组的导航区域。可选择的元素组中的每个元素相当于一个相应的、由多个对象组成的对象。此外还建立了用于显示可选择的控制元素组的指令区域。来自可选择的控制元素组的每个控制元素都相当于一个任务,其应在过程设备中的多个对象的至少一个对象上执行。经由导航系统从可选择的元素组接收对一个元素的选择,与此同时经由指令区域从可选择的控制元素组接收对一个控制元素的选择。根据获得的选择来确定运行背景。当选择是元素选择时,运行背景相当于可以应用到选择上的动作组,或者,当选择是控制元素选择时,运行背景相当于可以应用到选择上的一组元素。导航区域或者指令区域按照运行背景进行调整。

至今的工程设计软件解决方案(西门子的comos)包括被称为工作层的虚拟区域,它们能够在生产环境下实现对工程设计数据的处理,而工作层中的工程设计数据的改变不会直接引起操作使用的生产数据改变。一个工作层仅仅包括现有工程设计数据的实际改变的实例(instanzen),但是却不包括所有生产数据的副本。在工作层中改变的工程设计数据可以在释放的范畴内转移给上级的工作层或者转移到生产数据中。在此,工程设计对象在客户端方面考虑等级相关性的情况下分开地释放,并且向数据库服务器传输多个更新请求。全面的释放过程因此非常耗费时间并且引起高的通信网络负载。



技术实现要素:

本发明的基本目的是,实现一种用于运行工业过程自动化系统的工程设计系统的高效方法,其能够为改变的工程设计数据实现明显加速的释放过程,并且提供一种用于其应用的控制程序。

按照根据本发明的、用于运行工业过程自动化系统的工程设计系统的方法,工业过程自动化系统的组件分别由工程设计系统内部的、基于计算机的对象代表,并且永久地存储在工程设计系统的、至少一个服务器侧的数据库中。在服务器侧,在分级的对象结构的内部利用多个等级层管理这些对象。在这里,对象结构包括对象之间的相关性。通过用户选择而预设的对象为了进行处理从数据库加载到至少一个处理存储区域中。在此,对象和处理存储区域分别对应一个授权访问用户。对应于对象和/或处理存储区域的授权访问用户例如可以是相应对象的或者处理存储区域的所有者。第一处理存储区域作为授权访问用户对应于第二处理存储区域,第一处理存储区域相对于第二处理存储区域是等级优先的。在优先的处理存储区域中的第一对象具有与后继的处理存储区域中的第二对象一样的对象标识符,第一对象是第二对象的前趋。

根据本发明,在客户端侧对加载到所选择的处理存储区域中的、要释放的对象开始用户释放时,检查所选择的处理存储区域是否对应于直接优先的处理存储区域。优选地,在开始客户端侧的用户释放时,对于所选择的处理存储区域递归地得出优先的处理存储区域。在负面检查结果的情况下,将加载到所选择的处理存储区域内的、要释放的对象写回到服务器侧的数据库中。相反,在积极的检查结果的情况下,为加载到所选择的处理存储区域内的可释放的对象优选地递归得出在优先的处理存储区域中的可释放的对象的直接前趋,它们具有与可释放的对象一致的授权访问用户。得出的前趋然后添加给可释放的对象。在可释放的对象中,根据用户输入将要释放的对象为了释放而标识。

此外,根据本发明,在可释放的对象中得出在分级的对象结构的内部处于要释放的对象的下级的对象,优选地递归得出,并且为了释放而对其进行标识。为了释放而标识的对象紧接着从优先的用户存储区域中删除。为了释放而标识的对象通过修改它们的对应关系从所选择的用户存储区域移动到优先的用户存储区域内,以结束客户端侧的用户释放。在后继的用户存储区域中根据客户端侧的用户释放,后继者例如可以由客户端侧的用户释放而释放的对象取代。

有利地,尤其可以将为了释放而标识的对象借助唯一的数据库操作从优先的用户存储区域中删除。相应地,为了释放而标识的对象可以借助唯一的数据库操作从所选择的用户存储区域移动到优先的用户存储区域中。于是,为了用户释放所需要的数据库操作次数基本上与要释放的对象的数量无关。确切地说,所需要的数据库操作次数仅仅与分级层的数量相关。客户端侧对服务器侧的数据库的访问于是可以减少到最小。因此,除了释放过程的显著加速以外(释放时长按照实际实验减少50到100因数)还实现通信网络负载的明显减少。

按照根据本发明的方法的一种优选的设计方案,只有通过用户选择而预设的、用于处理的对象才从数据库中以读和写的方式加载到至少一个处理存储区域中。此外在处理存储区域中能生成新的对象。此外,处理存储区域优选地分别对应有一个层信息,其中,对应于所选择的处理存储区域的层信息与对应于直接优先的处理存储区域的层信息以恰好一个级进行区分。与之相应地,在直接优先的处理存储区域中的第一对象具有与后继的处理存储区域中的第二对象一样的对象标识符和一致的授权访问用户,第一对象根据本发明的优选实施方式是第二对象的直接前趋。

按照根据本发明的方法的一种有利的设计方案,在客户端侧的用户图形界面上,加载到处理存储区域中的对象与存储在数据库中的对象重叠地示出。此外,在客户端侧的用户图形界面上,加载到后继的处理存储区域中的对象与加载到优先的处理存储区域中的对象以有利的方式重叠地示出。处理存储区域优选地分别在服务器侧可以为客户端侧提供访问。

根据本发明的、用于运行工业过程自动化系统的工程设计系统的控制程序可以加载到计算机的工作存储器中并且具有至少一个代码段,当在计算机中运行控制程序时,在执行代码段时执行先前的步骤。

附图说明

下面借助附图用实施例更详尽地阐述本发明。图中示出:

图1是用于释放在工程设计系统的处理存储区域中处理的工程设计对象的方法的流程图的第一部分,

图2是根据图1所示的流程图的第二部分,

图3是为了释放所利用的临时表格的结构示图,

图4是处理存储区域在用户图形界面上的重叠的示意图。

具体实施方式

通过为工业过程自动化系统建立在下面被称为工作层的、工程设计系统的处理存储区域,可以平行地由多个用户处理工程设计数据和设备对象。在工程设计系统内,工业过程自动化系统的组件分别由工程设计对象、作为基于计算机的对象代表,并且永久地存储在工程设计系统的、至少一个服务器侧的数据库中。在服务器侧,在分级的对象结构内部利用多个等级层管理这些工程设计对象。在此,对象结构包括对象之间的相关性。

在处理工作层中的工程设计对象时,除非另有告知,技术设备的原始数据基保持不变。在处理之后才利用原始数据基固化在释放过程的范畴内对工程设计对象作出的改变,并且将该改变释放到设备的、操作使用的现有生产数据中。

通过用户选择而预设的工程设计对象为了进行处理从工程设计系统的、服务器侧的数据库中以读和写的方式加载到至少一个工作层中。在此,工程设计对象和工作层分别刚好对应有一个授权访问用户或所有者。除了从数据库中加载的工程设计对象以外,还可以在工作层中生成新的工程设计对象。

工作层可以具有与其他的工作层的、分级的相关性。作为所有者对应于第二工作层的第一工作层在此相对于第二工作层是等级优先的。与之相应地,在优先的工作层中的第一工程设计对象具有与后继的工作层中的第二工程设计对象一样的对象标识符,该第一工程设计对象是第二工程设计对象的前趋。在所示实施例中,工作层分别对应有一个层信息。对应于所选择的工作层的层信息与对应于直接优先的工作层的层信息以恰好一个级进行区别。直接优先的工作层中的第一工程设计对象具有与后继的工作层中的第二工程设计对象一样的对象标识符和相同的所有者,该第一工程设计对象是第二工程设计对象的直接前趋。

在客户端侧对加载到所选择的工作层中的、要释放的工程设计对象开始释放过程时,根据图1中所示的流程图的步骤101,为了得出优先的工作层将workinglayerpredecessors表格初始化,该表格包括工作层的工作层标识符与优先的工作层的工作层标识符之间的对应关系。图3中示出了表格workinglayerpredecessors302,具有用于工作层标识符的其属性id_workinglayer和用于优先的工作层的工作层标识符的其属性id_workinglayer_pred。在此,这两个属性id_workinglayer和id_workinglayer_pred共同构成表格workinglayerpredecessors302的主键。

表格workinglayerpredecessors302利用来自表格workinglayers301的信息初始化,后一表格包括在工作层标识符与相应工作层的所有者的所有者标识符之间的对应关系。为此,表格workinglayers301作为属性具有用于工作层标识符的id_workinglayer和用于所有者标识符的id_workinglayerowner。额外地,表格workinglayers301作为属性包括用于层信息的workinglayer_level,层信息对应于工作层。属性id_workinglayer构成表格workinglayers301的主键。

首先,表格workinglayerpredecessors302填入有来自表格workinglayers301的、关于直接的工作层所有者的信息。在此可能发生的是,首先得出其他的工作层作为工作层所有者,然而没有真正意义上的用户。表格workinglayerpredecessors302的初始化例如可以借助以下的sql-statements实现。

根据步骤102和103递归地填写表格workinglayerpredecessors302,直到得出所有的优先的工作层为止,从而由此可以推导出完整的所有者链。对表格workinglayerpredecessors302的这种递归式填写例如可以借助以下的sql-statements实现。

因此,在客户端侧对加载到所选择的工作层中的、要释放的工程设计对象开始释放过程时,可以检查所选择的工作层是否对应有直接优先的工作层。在负面的检查结果的情况下,也就是不存在直接优先的工作层时,将加载到所选择的工作层内的、要释放的对象写回到服务器侧的数据库中。相反,在积极的检查结果的情况下,为加载到所选择的工作层中的、可释放的工程设计对象得出在优先的工作层中的、可释放的工程设计对象的直接前趋,它们具有与可释放的工程设计对象相同的所有者。为此,根据图1中所示的流程图的步骤104,首先将表格engineeringobjectslisttorelease初始化,该表格包括所选择的工作层的所有可释放的工程设计对象以及从所选择的工作层角度看的可释放的工程设计对象的完整所有者链。该表格尤其包括在工程设计对象标识符、工作层标识符和与相应的可释放的工程设计对象对应的所有者标识符之间的对应关系。

根据图3,表格engineeringobjectslisttorelease304作为属性具有用于工程设计对象标识符的id_engineeringobject、用于工作层标识符的id_workinglayer和用于所有者标识符的id_engineeringobject_owner。额外地,表格engineeringobjectslisttorelease304作为属性包括dorelease,其对设置用于释放的工程设计对象进行标识。属性id_engineeringobject构成表格engineeringobjectslisttorelease304的主键。

首先,利用关于所选择的工作层的工程设计对象的实例的所有参考对表格engineeringobjectslisttorelease304进行初始化,它的标识符在所示实施例中是@id_workinglayertorelease。工程设计对象的实例在表格engineeringobjects303中被管理,该表格作为属性包括用于工程设计对象标识符的id_engineeringobject、用于工作层标识符的id_workinglayer和用于工程设计对象的所有者标识符的id_engineeringobject_owner。额外地,表格engineeringobjects303包括一个或者多个属性property_1、property_2、…、property_n,以用于确定相应工程设计对象的具体特性。表格engineeringobjectslisttorelease304的初始化例如可以借助以下的sql-statements实现。

根据步骤105和106,递归地填写表格engineeringobjectslisttorelease304,直到得出加载到所选择的工作层中的、可释放的工程设计对象的所有前趋为止。为此,为原始的可释放的工程设计对象以及为对应于这些工程设计对象的所有者得出在所有者链中更多的工程设计对象的实例,并且将实例输入到表格engineeringobjectslisttorelease304中。借助表格workinglayerspredecessors302,首先排除不能对应于所选择的工作层的所有者链中的任何工作层的所有实例。从保留的实例中借助表格workinglayers301确定在所选择的工作层的下一个处或者包含在其中的实例。原则上其分别是具有所对应的层信息的最大值的实例,其由表格workinglayers301中的属性workinglayer_level映射。随后,以这种方式识别的实例被添加给可释放的工程设计对象的列表中。表格engineeringobjectslisttorelease304的递归式填写例如可以借助以下的复杂的sql-statements实现。

在根据步骤105和106递归地填写表格engineeringobjectslist-torelease304以后,利用步骤200和步骤100完成从图1中所示的、流程图的第一部分到图2中所示的、流程图的第二部分的过渡。根据步骤201,在表格engineeringobjectslisttorelease304中首先在可释放的工程设计对象中按照用户输入将要释放的工程设计对象为了释放而标识。以这种方式确定了所有子树的根,子树应当是工作层释放的内容。在本实施例中,子树的根通过@id_rootobject_1、@id_rootobject_2、…、@id_rootobject_n识别。对应当是工作层释放的内容的子树的限定例如可以借助以下的sql-statements实现。

随后,根据步骤202和203在可释放的工程设计对象中得出在分级的对象结构内处于要释放的工程设计对象的递归下级的工程设计对象,并且对该工程设计对象在表格engineeringobjectslisttorelease304中为了释放而标识。这例如可以借助以下的sql-statements实现。

update[t1]

set[t1].[dorelease]=[t2].[dorelease]

from[engineeringobjectslisttorelease][t1]

innerjoin[engineeringobjectslisttorelease][t2]

on[t1].[id_engineeringobject_owner]=[t2].[id_engineeringobject]and[t1].[dorelease]=0and[t2].[dorelease]=1

接下来根据步骤204从直接优先的工作层中删除为了释放而标识的工程设计对象,从而使得它们随后可以由来自所选择的工作层的、被释放的工程设计对象所取代。这例如可以借助以下的sql-statements实现。

随后根据步骤205,为了释放而标识的工程设计对象通过修改它们的对应关系从所选择的工作层中移动到直接优先的工作层中,以结束释放过程。这例如可以借助以下的sql-statements实现。

因此根据本实施例,为了释放而标识的工程设计对象借助唯一的数据库操作从直接优先的工作层中删除,并且借助唯一的数据库操作从所选择的工作层中移动到直接优先的工作层中。优选地,在释放过程的范畴内,被释放的工程设计对象的在后继的工作层中的后继按照被释放的工程设计对象被取代。

根据在图4中示意性示出的、工作层402、403在用户图形界面404上的重叠,加载到所选择的工作层403中的工程设计对象o1“、o4“、o5‘、o7、o8‘一方面相对于存储在服务器侧的数据库中的现有生产数据o1-o4、o6、o8-o9重叠地示出。另一方面,这些工程设计对象o1“、o4“、o5‘、o7‘、o8‘相对于加载到优先的工作层402中的工程设计对象o2‘、o4‘、o5、o6‘、o7、o9‘重叠地示出。在用户图形界面404上按照图4中所示的实例最终能够看到工程设计对象o1“、o2‘、o3、o4“、o5‘、o6‘、o7‘、o8‘、o9‘。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1