编制和/或执行用于工业自动化系统的程序的装置和方法

文档序号:6307166阅读:296来源:国知局
专利名称:编制和/或执行用于工业自动化系统的程序的装置和方法
技术领域
本发明涉及一种对用于工业自动化系统的程序进行编制和/或执行的方法和装置。
背景技术
按照分类,根据权利要求1上位概念的对工业自动化系统进行编程的方法基于至少一个具有输入辅助装置、输出辅助装置、以及优选至少一个显示装置的计算机单元。利用输入辅助装置以及必要时利用显示装置模型化和/或建立分别代表自动化解决方案的子任务的组件和函数。可以利用输入辅助装置和显示装置为组件和函数分配模型信息和/或元信息。对这些组件和函数利用输入辅助装置以及必要时的显示装置来结构化并联网,从而形成至少一个分层树作为至少一个与机器无关的程序。
在传统的程序设计语言中,如Pascal或Fortran,数据、组件和函数是分开的。直到面向对象的范例中才将数据和函数组合为对象。偶尔也会将元数据分配给对象。元数据是关于其它信息的信息,例如关于现有对象的信息。这样的元数据虽然存在于整个系统或整个语境中,但其在自动化系统中既不物理地存在于对象中,也不包含关于要实现的用于工业设备的应用或要实现的过程的知识。
可编程自动化系统或MES系统,即用于控制和/或调节自动化过程或设备的系统,通常包含所谓的运行时系统,用于对机器或系统的自动化组件进行时间上的运行控制。此外这种系统还提供用于建立和编辑控制程序和设备函数的工程装置。借助工程装置建立的控制程序和设备函数在运行时系统中执行。
在属于尚未公开的现有技术的自动化系统中,这样对该自动化系统进行编程,在工程装置中,借助输入辅助装置和显示装置来模型化分别代表自动化解决方案的子任务的对象。对这种对象同样通过输入辅助装置和显示装置来分配模型信息以及元信息。然后将这些对象作为分层树来结构化和联网,从而提供至少一个与机器无关的程序。
根据现有技术,将每个借助工程装置产生的与机器无关的程序一级或多级地转换为用于自动化系统组件的与机器有关的自动化程序。这根据现有技术是由在程序设计时的可视化表达出发,将可视化表达翻译成命令的顺序的机器语言或机器代码。根据现有技术,将该顺序的机器代码为了执行而加载在自动化组件上,如存储可编程控制装置(SPS)。
因此,该命令的顺序的机器代码表现为现有技术中常见的与机器有关的自动化程序,该程序以这种方式装载在自动化系统的组件或自动化装置中。但以上述形式根据现有技术产生的自动化程序不灵活,因为其在运行时几乎不能改变。此外,这种自动化程序仅能用于自动化系统的、为其产生相应机器代码的特殊组件。由此使程序不能灵活地应用。

发明内容
因此,本发明要解决的技术问题在于,提供一种新型的对用于工业自动化系统的程序进行编制和/或执行的方法和装置。
该技术问题是通过具有权利要求1特征的本文开始所述的方法解决的。
按照本发明,每个与机器无关的程序以至少一个分层树的形式装载在自动化系统的相应组件中,其中,自动化系统的相应组件优选借助至少一个和与机器无关的程序对应的对象机来直接执行与机器无关的程序。与机器无关的程序优选以至少一个可执行分层对象树或者说运算符树的形式存在。
按照本发明的用于对工业自动化系统编程的装置由独立权利要求14定义。用于实现该方法或装置的计算机程序在独立权利要求23中定义。此外,本发明还涉及由独立权利要求24定义的数据处理装置,在该数据处理装置上安装了这样的计算机程序。
本发明的优选扩展由从属权利要求和以下的描述给出。


以下借助附图在不加以限制的情况下描述本发明的优选实施方式,图中示出图1示出具有三个控制层面的自动化装置的锥体,图2示意性示出工程装置、运行时系统和受控技术过程,
图3示意性示出一个对象,图4示意性示出一个程序,以及图5示意性示出图4中程序的树结构。
具体实施例方式
图1以原理图概括地示出三个控制层面,如其通常在制造企业处所常见的那样。通过锥体10表明,越向上信息被压缩了。
最上层是ERP层11(企业资源规划层)。在该ERP层11或企业领导层上通常规划和执行企业中的企业经济和营销任务,因而包括例如财政金融、销售、人力资源以及报告。但涉及到制造设备的逻辑任务,如材料管理,也在ERP层11上执行。例如SAPR/3系统是ERP系统,通常用于企业管理层。
图1中锥体最下面的层是所谓的自动化层12。在该层上通常将存储可编程控制装置(SPS)13结合可视系统和过程控制系统(PLS)一起使用。生产设备和/或制造设备的驱动装置15、执行器16和传感器17直接与自动化层12相关联。
连接ERP层11和自动化层12的是MES层18。因此MES层18的应用负责ERP层11和自动化层12之间的垂直集成。MES应用必须一方面对ERP层11的全局规划补充特定于生产设备的详细规划,并将其传递给自动化层12的系统,另一方面MES应用的任务是接收自动化层12的与生产相关的数据、对其进行处理并将其传递到ERP层11。除其它之外典型的MES应用是质量管理19、维护管理20、性能分析21、过程管理或者还有资产管理。
通过图1中的三个点分别表明,在一层中还可以有其它的元素或应用。
自动化层12、MES层18或者说MES设施或ERP层11或者说ERP设施通常包含所谓的运行时系统,用于对参与的组件(操作系统的子组件、模块、任务、过程等)进行时间上的运行控制。
此外这些层或设施中还设置了用于建立和编辑在运行时系统中执行的程序的所谓工程装置。
图2非常示意性地示出了工程装置22、运行时系统23和受控技术过程24。控制装置或自动化系统的运行时系统23与技术过程24之间的连接通过输入和/或输出连接26双向进行。在工程装置22中实现编程。工程装置22包含用于配置、编程和设计技术过程的工具,如工业设备。在工程装置22中产生的程序通过信息路径25传递到MES设施以及ERP设施或其它目标系统的运行时系统23中。
工程装置22通常包括具有图形显示屏、输入辅助装置(如键盘和鼠标)、处理器、工作存储器和辅助存储器的计算机系统、用于接受计算机可读介质如磁盘和CD的装置、以及用于与其它系统进行数据交换的连接单元。工程装置2包括用于对设备和控制装置进行模型化和编程的编辑器和图形工具。在非面向对象的工程装置中,借助图形连接图、功能图、串行功能图或连续功能图来产生与机器无关的程序。而在面向对象的工程装置中,程序的产生是借助于面向对象的技术的。面向对象的工程装置22尤其支持如对象的产生、类的产生、父类的产生以及继承关系的显示等面向对象的技术。
优选通过编辑器、掩膜输入或通过拖拽机制将数据组件、函数组件或对象与元信息相关联、结构化为分层树并将它们彼此联网。借助于这样的工程装置22产生的程序或控制装置或设备描述是与机器无关的。
最后,借助于工程装置22产生的程序必须在目标系统、如自动化系统的组件上执行,以便控制技术过程24。但在此之前,还需随后显示在产生该与机器无关的程序时的关系。
图3非常示意性地示出了具有对象接口28的对象27。这样的对象27可以用于所有类型的工程,如化学工程、制造工程、软件工程等。一般来说对象27是一个域或讨论范围的实体或元素。在面向对象的软件开发中,对象27是真实世界或想像世界的物体或事物、人员或概念的单个实例。对象27具有特定的定义的状态,并以定义的行为对其周围的环境作出反应。此外,对象27具有将其与所有其它对象区分开来的对象标识,该对象标识允许该对象对其它特定的对象进行访问。一个对象可以认识一个或多个其它对象。在相互认识的对象之间存在连接或分支或联网。对象27的状态由其数据或属性值以及与其它对象的相应连接来确定。对象的行为由其方法或操作的集合来定义。在面向对象的技术中,通过类来描述对象类型。由这些类型描述可以产生以后将表示具体的程序设计语言的对象的具体实例。对象及其连接可以借助于对象图来图形地显示。这样的用于对象图的编辑器是面向对象的工程装置的一部分。这样的图可由用户在这样的工程装置中进行编辑和处理。
在图3显示的左边部分示出了对象27通常包含的信息或元素。数据29例如可以是当前测量值或阈值。方法30表示在算法意义下的可执行动作,例如UND逻辑运算或控制算法。方法的集合定义了一个对象类或一个由该对象类实例化的对象的行为。对象的方法30可以由其它对象使用和调用。此外,对象27还可以包括所谓的子对象31,该子对象31是该对象实现方法30所需的。通过子对象31构成对象树。
在图3所示对象27的右侧,阴影部分示出所谓的容器32。通过这样的容器32实现用于保持元信息的机制和对元信息进行访问的机制。容器29表示为围绕对象27的封装层,所有对对象的访问均只通过接口28进行。通过接口28可以访问方法30和数据29以及对象27的元信息。因此,在对数据或方法进行访问时可以借助具体结构的元数据和数据功能的具体意义概括出使用该对象的服务。如已所述,所有访问都通过通用接口28实现。由此可使对象27具有可重用性和可替换性。因此就是在复杂的系统中也总是能以相同的方式访问对象27。尤其是所谓的容器32为所有类型的对象以统一的方式提供了如数据联网、数据存储和数据可视化的基础设施功能。容器32提供的基础设施功能例如包括跟踪功能,即关于谁使用对象27多长时间的信息。如已所述,容器32还包括对象27的元信息和自描述信息。
图4示出在工程装置22中显示的程序。图5示出对象树或者说运算符树形式的程序。因此将图4所示程序的组件和函数翻译成图5中的对象27,并且是以分层树33的形式。对象27以双圆圈表示。内圈表示图3意义下的对象的示意结构。对象27的左边部分又涉及数据29、方法30和子对象31。右边部分表示为对象提供元信息和基础设施信息的所谓容器32。容器32表示对象27的封装层。对对象的访问仅通过通用对象接口28进行。围绕对象的外圆圈将该对象嵌入系统的可选基础设施的情况可视化。可选基础设施提供如存储和加载的通用服务。基础设施的一方面是联网。对基础设施服务或相应功能的访问通过容器32实现,并且对分层树33中的所有对象27是相同的。因此对象27的外圆圈表示基础设施服务及基础设施功能的集合,其通过对象的容器29访问该对象。一次实现的基础设施服务可由所有对象27以相同的方式使用。
如已所述,图5以分层对象树33举例示出待实现的控制任务的与机器无关程序的结构,如该程序装载在自动化系统的组件中并在那里被处理的那样。树33的各个对象27对应于图4所示程序的组件和函数,如其在工程装置中被编辑那样。其直接接续图4和5中的程序元素的文本描述。图4示出了连接图和功能图。通过该等价结构可以保证程序的局部可改变性。通过对应于对象27的容器32的元数据可将运行的程序反馈映射(Rueckabbildbar)在工程显示中。
在本发明的意义下,优选在工程装置22上将通过对象27模型化及产生的与机器无关的程序33以分层树的形式装载到自动化系统的相应组件中,而不是象在现有技术中那样,首先将其转换为串行机器代码形式的与机器有关的自动化程序,然后再将其装载到自动化系统的相应组件或其它目标设备中。因此程序以对象树或者说运算符树的形式装载在SPS中或其它自动化设备中。这样的对象树或者说运算符树是所显示程序的1∶1映像。这样的运算符树是可运行程序,其包含用于该程序的全部工程数据。
自动化系统的相应组件执行该与机器无关的程序。将与机器无关的每个对象树或者说运算符树装载到自动化系统的相应组件上是采用与机器无关的该树的符号表达(例如以字节码的形式或以标记语言的形式)实现的。作为标记语言可以采用XML(扩展的标记语言)。
在将与机器无关的程序装载到自动化系统的组件时或在装载之后对运算符进行实例化。在此服务的是对象机或者还有实时对象机。对象机解析与机器无关的工程程序的分层树33的符号表达,并将符号地址转换为物理地址,构成或产生以可运行对象树或者说运算符树形式存在的可执行程序。该可执行程序在自动化系统的相应或每个组件上运行。
如已提到的,为了通过自动化系统的组件对程序实例化和执行,将该自动化系统的组件与实时对象机相对应。实时对象机提供例如运算符的对象。这些运算符是逻辑运算符,如AND逻辑运算、OR逻辑运算、NOR逻辑运算或XOR逻辑运算。运算符还可以是数学运算符,如用于基本类型运算的运算符、插值运算符或滤波器运算符。对象优选是数据对象或基本对象和控制对象。基本对象包括数据和特性。特性例如涉及最大执行时间、最大存储器需求或对象的事务处理能力。
可运行运算符树由运算符(即逻辑和/或数学运算符)和控制对象组成。控制对象例如是指令列表、事务容器、过程容器,等等。控制对象的输入数据对象同时也是其它运算符或控制对象的输出数据对象。为了执行运算符树要触发对象。当所有需要的输入数据对象都已被触发时,沿着对象的层次和/或网络对对象进行触发。然后,当数据对象的值改变或其触发器被触发时,数据对象触发。
通过将输入数据对象与传感器或执行器的输入连接,以及通过将输出数据对象与传感器或执行器的输出连接,将运算符树与真实的自动化领域相连接,并由此提供可执行的自动化程序。通过采用具有事务处理能力、实时能力和/或容错的对象可以实现可执行的运算符树,其本身也是具有事务处理能力、实时能力和/或容错的。
利用按照本发明的对工业自动化系统的程序进行编制和/或执行的方法及装置可以得到很多优点。借助本发明产生的程序可以在自动化系统的实施了对象机或者说实时对象机的所有组件上执行。可以在运行时改变该程序。因此,可以对作为可执行运算符树提供的程序的局部子树进行添加、修改以及删除。此外,当采用自描述的对象时,一个这样的程序是自描述的。由可执行的运算符树使得与机器无关的程序可视。由此可以省去用于程序的文档。此外,借助本发明可使工程时间缩短。程序设计完全通过词法和语法函数实现。不再需要产生和优化机器代码。在改变程序设计时仅需对改变的程序子树进行分析和加载。程序的其余部分可保持不变。将程序加载到自动化系统的组件可以增量地进行,即仅需加载被改变的程序部分而无需加载整个程序。
权利要求
1.一种对用于工业自动化系统的程序进行编制和/或执行的方法,其基于至少一个具有输入辅助装置、输出辅助装置以及优选至少一个显示装置的计算机单元,其中,利用输入辅助装置以及必要时利用显示装置模型化和/或建立分别代表自动化解决方案的子任务的组件和函数,其中,对这些组件和函数利用输入辅助装置以及必要时的显示装置来结构化并联网,从而该组件和函数形成至少一个分层树作为至少一个与机器无关的程序,其特征在于,这些与机器无关的程序以至少一个分层树的形式装载在自动化系统的相应组件中,以及该自动化系统的相应组件执行这些以至少一个分层树形式存在的、与机器无关的程序。
2.根据权利要求1所述的方法,其特征在于,借助至少一个与所述自动化系统的相应组件对应的对象机来执行在该相应组件中的与机器无关的程序。
3.根据权利要求1或2所述的方法,其特征在于,所述与机器无关的程序以至少一个分层对象树或者说运算符树的形式存储在自动化系统的相应组件中,并被解释地进行处理。
4.根据权利要求1至3之一所述的方法,其特征在于,所述与机器无关的程序以至少一个与在显示装置上的程序显示的结构相同或相似的对象树或者说运算符树的形式存在。
5.根据权利要求1至4之一所述的方法,其特征在于,采用所述分层树的与机器无关的符号表达来将所述与机器无关的程序装载到自动化系统的相应组件中。
6.根据权利要求5所述的方法,其特征在于,所述分层树的与机器无关的符号表达以字节码的形式或以标记语言的形式,尤其以XML(扩展的标记语言)的形式实现。
7.根据权利要求1至6之一所述的方法,其特征在于,所述对象机构成为具有确定响应时间和周期时间的实时对象机。
8.根据权利要求1至7之一所述的方法,其特征在于,所述对象机提供运算符以及对象,该运算符尤其是数学和逻辑运算符,该对象尤其是数据对象和控制对象,所述与机器无关的程序由这些运算符和对象以分层树的形式构成。
9.根据权利要求8所述的方法,其特征在于,在装载与机器无关的程序时或在装载之后对所述运算符进行实例化,并且将分层树的符号表达翻译为物理地址以产生可运行的程序。
10.根据权利要求1至9之一所述的方法,其特征在于,将所述对象机实现为封闭的函数单元,其在运行时对每个分层树进行处理。
11.根据权利要求1至9之一所述的方法,其特征在于,将所述对象机分布地实现为至少一个对象,其中,每个分层的对象树或者说运算符树进行自处理。
12.根据权利要求1至11之一所述的方法,其特征在于,利用输入辅助装置以及必要时的显示装置为所述组件和函数、尤其是对象分配模型信息和/或元信息。
13.根据权利要求1至12之一所述的方法,其特征在于,将以所述分层对象树或者说运算符树形式存在的与机器无关的程序的对象与基础设施服务或者说基础设施函数的集合相对应,这些基础设施服务或者说基础设施函数可以通用地访问该对象或分配给这些对象的元数据,从而使一个基础设施服务或者说基础设施函数可以由所有对象使用,并可用于所有具有元数据的对象。
14.一种对用于工业自动化系统的程序进行编制和/或执行的装置,其基于至少一个具有输入辅助装置、输出辅助装置以及优选至少一个显示装置的计算机单元,具有用于模型化和/或建立分别代表自动化解决方案的子任务的组件和函数的装置,以及具有用于对这些组件和函数进行结构化和联网的装置,从而形成至少一个分层树作为至少一个与机器无关的程序,其特征在于,具有将这些与机器无关的程序以至少一个分层树的形式装载在自动化系统的相应组件中的装置,其中,该自动化系统的相应组件执行这些以至少一个分层树形式存在的、与机器无关的程序。
15.根据权利要求14所述的装置,其特征在于,其具有至少一个与自动化系统的相应组件相对应的对象机,以执行所述与机器无关的程序。
16.根据权利要求14或15所述的装置,其特征在于,所述与机器无关的程序以至少一个与在显示装置上的程序显示的结构相同或相似的对象树或者说运算符树的形式存在。
17.根据权利要求15或16所述的装置,其特征在于,所述对象机构成为具有确定响应时间和周期时间的实时对象机。
18.根据权利要求14至17之一所述的装置,其特征在于,所述对象机提供运算符以及对象,该运算符尤其是数学和逻辑运算符,该对象尤其是数据对象和控制对象,所述与机器无关的程序由这些运算符和对象以分层树的形式构成。
19.根据权利要求14至18之一所述的装置,其特征在于,其具有为所述组件和函数分配模型信息和/或元信息的装置。
20.根据权利要求14至19之一所述的装置,其特征在于,将所述对象机实现为封闭的函数单元,其在运行时对每个分层树进行处理。
21.根据权利要求14至19之一所述的装置,其特征在于,将所述对象机分布地实现为至少一个对象,其中,每个分层的对象树或者说运算符树进行自处理。
22.根据权利要求14至21之一所述的装置,其特征在于,将以所述分层对象树或者说运算符树形式存在的与机器无关的程序的对象与基础设施服务或者说基础设施函数的集合相对应,这些基础设施服务或者说基础设施函数通过与该对象对应的容器来访问该对象,从而使一个基础设施服务或基础设施函数可以由所有对象使用。
23.一种计算机程序,其实施根据权利要求1至13之一所述的方法或根据权利要求14至22之一所述的装置。
24.一种数据处理装置,在其上装载有如权利要求23所述的计算机程序。
全文摘要
本发明涉及一种用于编制和/或执行用于工业自动化系统的程序的方法。利用输入辅助装置以及必要时利用显示装置模型化和/或建立分别代表自动化解决方案的子任务的组件和函数。对这些组件和函数利用输入辅助装置以及必要时的显示装置来结构化并联网,从而这些组件和函数构成至少一个分层树作为至少一个与机器无关的程序。按照本发明,这些与机器无关的程序以至少一个分层树的形式装载在自动化系统的相应组件中。该自动化系统的相应组件执行这些与机器无关的程序。
文档编号G05B19/418GK1806212SQ200480016918
公开日2006年7月19日 申请日期2004年5月4日 优先权日2003年6月18日
发明者埃尔马·瑟纳 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1