用于计算机辅助生成可执行控制程序的至少一部分的方法

文档序号:6507734阅读:476来源:国知局
用于计算机辅助生成可执行控制程序的至少一部分的方法
【专利摘要】本发明涉及一种用于计算机辅助生成可执行控制程序(2)的至少一部分的方法,所述控制程序用于控制具有至少一个电子计算机单元的控制系统(3),控制程序的功能至少部分以至少一个图形模型(S0)来描述并且该图形模型被分层地分为子模型(Si),一个层次的子模型(Si)可嵌套地被分为一个更低层次的子模型(Sj),为用于将图形模型编译为程序代码的选项(X)预给定值(x)并且在考虑选项(X)的值(x)的情况下由模型(S0)计算机辅助生成程序代码并且该程序代码被一同编译为可执行控制程序(2)。在该方法中,可有粒度地为用于将图形模型编译为程序代码和可执行控制程序的选项预给定值,同时自动避免冲突地预给定选项值。
【专利说明】用于计算机辅助生成可执行控制程序的至少一部分的方法
【技术领域】
[0001]本发明涉及一种用于计算机辅助生成可执行控制程序、尤其是测量、控制、调节和/或校准程序的至少一部分的方法,所述控制程序用于控制具有至少一个电子计算机单元的控制系统,其中,控制程序的功能至少部分以至少一个图形模型来描述并且该图形模型被分层地分为子模型,其中,一个层次的子模型可嵌套地被分为一个更低层次的子模型,其中,为用于将图形模型编译为程序代码的选项预给定值并且在考虑选项的值的情况下由模型计算机辅助生成程序代码并且该程序代码被一同编译为可执行控制程序。
【背景技术】
[0002]数年来所述类型的方法在控制系统开发中得到广泛应用和完善,因为它们可为大部分具有实时能力的控制系统提供可靠、便捷且自动化的代码生成(例如具有TargetLink的系列代码生成)。作为计算机单元通常使用(根据控制系统的复杂度)一个或多个部分或全部联网的控制设备,所述控制设备通常具有相应的I/O接口,以便能够在测量技术上检测待影响的物理技术系统的状态参数,并且能够通过输出确定的调整参数来影响物理技术系统。
[0003]这种方法的优点在于,可在抽象层面上借助图形模型、例如以框图的形式为所希望的控制程序的功能建模,所述框图能够以极其简单的方式和方法显示本身复杂的数学和结构关系。甚至I/o功能也可在这种图形模型的范畴中被显示和建模。通过使用所述方法原则上可为电计算机单元的极特殊的硬件生成程序代码,该程序代码可被编译(即kompiliert)为可执行控制程序并且在该特殊的目标硬件上被执行和测试。取消了控制思想到程序代码和因此最终到控制程序的易出错的手动实现,由此才能够例如在快速控制原型(Rapid-Control-Prototyping)或硬件在环仿真(Hardware-1n-the-Loop-Simulationeη)的范畴中实现如今常见的快速开发周期。
[0004]图形模型、尤其是框图的形式的图形模型特别适合于将一个功能分为不同的模型部分。一个层次内或上的模型部分在该层次中互补成一个总图形模型,其中,所述模型部分(仅基于许多图形模型的复杂度)由不同开发人员或开发小组来处理。在车辆中,模型部分例如可是驱动总成、传动系和车辆结构的模型,其中,每个模型部分可分解为另外的模型部分(子模型)。
[0005]通常,图形模型不仅可在一个层次内或上被分为模型部分、即被“水平”地分为互补的模型部分。更多地,一个层次的图形模型或该层次中的子模型分别可被分为子模型或者嵌套在不同层次的子模型中,其中,较低层次中的子模型通常仅以另一细化度示出次高级层次的位于其上的子模型的功能。图形模型在不同层次上嵌套的子模型因此“垂直”地展开并且以不同细化示出同一功能。不同层次上的子模型也适合于同时被不同开发人员分工处理。
[0006]很容易理解的是,在图形模型的不同部分或者嵌套的子模型之间存在相关性,其不仅涉及由图形模型的部分或者子模型生成程序代码而且在程序代码被进一步编译为可执行控制程序时加以考虑。
[0007]例如EP1522910A1公开了一种用于生成可执行控制程序的方法,在其中以简单的方式和方法可以独立于与硬件有关的目标硬件设置来配置图形模型的抽象数学部分。
[0008]EP2330469A1公开了另一种用于生成用于控制控制系统的可执行控制程序的方法,在其中通过适当地关联数据项集合中的数据项和图形模型部分无冲突地生成程序代码。
[0009]下面说明的发明所基于如下认识:由于子模型之间的相关性,图形模型向程序代码的转换可能有问题,尤其是在为用于图形模型编译为程序代码的选项预给定值时,所述值影响程序代码向可执行控制程序的编译并且这些预给定值例如在嵌套的子模型中是不同的。在此情况下成问题的是,如何解决有可能多义的选项预给定(例如涉及编译器指令),如何避免逻辑上有矛盾的预给定并且如何解决可能的冲突情况。

【发明内容】

[0010]因此,本发明的任务在于提出一种用于计算机辅助生成可执行控制程序的至少一部分的方法,在该方法中可有粒度地为用于将图形模型编译为程序代码和可执行控制程序的选项预给定值,同时自动避免为这些选项冲突地预给定值。
[0011]解决之前提出和说明的任务的根据本发明的方法的特征首先并且主要在于:为不同层次的至少两个嵌套的子模型预给定用于编译图形模型的选项值,并且在计算机辅助生成用于每个子模型的程序代码时考虑选项值,其中,较低层次的子模型的未被设置值的选项使用较高层次的子模型的对应选项值。
[0012]因此,根据本发明的方法的特征在于,总的来说提供了这样的可能性,即为不同层次的至少两个嵌套的子模型预给定用于编译图形模型的选项,其中根据本发明还设计为,较低层次的子模型中的用于程序代码生成和编译的未被预给定的选项值被较高层次的子模型的该选项的相应的预给定值采用。通过这种方式实现:为较低层次的子模型使用与在较高层次的子模型中相同的选项或相同的选项值来编译图形模型,由此至少在没有(在本地)为较低层次的子模型设置相应选项值的情况下,确保统一的操作。这种选项例如是编译器(Compiler)的优化指令(针对快速运行时间或小的内存占用优化代码)、控制系统的位宽度的值的预给定、关于存储器布局的预给定、对安全临界的选项的预给定(优化允许或不允许)等。
[0013]根据用于生成可执行控制程序的至少一部分的计算机辅助方法的一种有利的扩展方案设计为,较低层次上的选项的预给定值与较高层次上的对应选项的预给定值相比具有优先性,其中,仍指嵌套的子模型的层次。在为较低层次的选项设置值的情况下,该值覆盖在较高层次上所设置的选项,使得本地所设置的值与在上级分层中为相同选项所设置的值相比具有优先性。这种行为例如能够实现不同地设置嵌套的子模型中的优化选项,从而可在预给定选项值时形成希望的粒度。
[0014]在本方法的另一种优选的扩展方案中设计为,可为一个层次上的子模型的选项的预给定值说明较低层次的数量,在所述层次中有关选项的预给定值具有优先性。通过该措施在实践中可调节选项的预给定值的有效范围。尤其是设计为,在该所选数量的较低层次之后有关选项的值再次具有在较高层次中为该选项所设置的值。当选择零值作为用于预给定的较低层次的数量时,这意味着:有关选项的值仅在被设置该值的那一个层次上有效。根据该优选的行为方式,嵌套的子模型的次低层次中的值已经再次具有在嵌套的子模型的较高层次中所设置的该有关选项的值。也可在次低层次中再次存在为有关选项本地预给定值的可能性。
[0015]根据另一种有利的扩展方案,根据本发明的方法设计为,一个层次上的子模型的选项和/或最高层次上的模型的选项的预给定值被标记为不变的(即常量选项),使得较低层次上的该选项的值不再可变化,尤其是当在较低层次上为对应选项确定另一值时也不再变化。这例如对于必须跨越这些层次地被统一地设置的选项是有利的。当控制系统例如仅具有带有唯一的已知位宽度唯一的电子计算机单元时,根据本发明的扩展方案例如可为所有层次上的子模型统一地预给定待生成的代码的位宽度。
[0016]根据该方法的另一种有利的扩展方案,确定默认选项用于将图形模型编译为程序代码并且预给定默认值,该默认值尤其在未确定图形模型中的对应选项的值时用作最高层次上的模型的对应选项的预给定值。通过该措施可防止完全没有考虑必要的选项,并且也可避免未给这些选项设置值,这有可能以后妨碍成功地生成程序代码或将程序代码成功地编译为控制程序。
[0017]为了另一方面由方法的使用者强制预给定选项的值,在该方法的一种有利的扩展方案中设计为,一个层次上的子模型的至少一个选项和/或最高层次上的模型的至少一个选项和/或至少一个默认选项被标记为待在较低层次中被设置值的选项。尤其是设计为,当有关选项在图形模型被编译为程序代码的时刻未在较低层次中被赋值时,输出错误报告/警告。在错误报告的情况下图形模型的编译中断。在输出警告时图形模型的编译不中断,但使用者被提示注意:遗漏为所标记的选项预给定值。
[0018]在另一扩展方案中,一个层次上的子模型的至少一个选项和/或最高层次上的模型的至少一个选项和/或至少一个默认选项被标记为协调性选项,这意味着:最晚在图形模型被编译为程序代码的时刻检验所有层次中的协调性选项是否被协调地设置值,其中尤其是在识别出不一致的情况下输出至少一个报告、优选错误报告或警告报告。由于可将选项标记为协调性选项并且随后检验协调性选项的值是否协调,可确保维持强制的协调性条件。协调性选项的例子是目标系统的位宽度,位宽度至少必须针对每个计算机单元以及针对所有子模型(分配给该计算机单元和因此以后在其上被执行)被协调地设置(在此情况下这意味着值统一)。
[0019]根据该方法的第一种有利的变型方案,在识别出不一致的情况下中断图形模型到程序代码的编译或者将包含不一致的模型或子模型编译为无效的程序代码。在后一种情况下,虽然未中断图形模型到程序代码的编译,但在程序代码中在相应位置处生成检测到不一致的提示,该提示阻止程序代码到可执行控制程序的编译。同时现有无效的程序代码允许方法的使用者检查程序代码,这对开发目的而言是有利的。
[0020]在该方法的另一种替换的方案中,在识别出协调性选项被赋予不一致的值时在最高层次上为协调性选项所预给定的值自动地预给定为较低层次上的嵌套的子模型的预给定值。通过这一策略强制为协调性选项协调地赋值,从而至少产生有效的程序代码。
[0021]根据本发明方法的一种扩展方案总体上设置选项记录。在此总体、即全面和/或为每个层次而记录至少一个选项的名称和值,附加地带有关于该选项的所产生的值的来源和/或导出的信息,这在代码生成后提高了可跟踪性,因此确定的选项被赋予确定的值。尤其是在程序代码的对应部分中生成来源信息,其中,作为来源信息优选说明,有关子模型中的选项和/或选项的值是否在本地被预给定、或有关子模型中的选项和/或选项的值是否被较高的层次的子模型采用,或有关子模型中的选项和/或选项的值是否例如通过默认预给定被确定。来源信息的记录可以以完全不同的方式来实现。选项信息(包括来源信息)例如在所生成的程序代码的至少一部分和/或至少一个文件中作为注释和/或作为代码常量和/或作为预处理宏和/或单独在至少一个另外的数据存储器、尤其是文件或数据库中被记录和存储。
[0022]根据一种替换的选项信息记录设计为,选项信息(包括来源信息)与图形模型的编译分开地生成,尤其是检查所生成的记录的选项信息的错误,优选检查协调性选项或为协调性选项所预给定的值的兼容性。如果说选项信息与图形模型的编译分开地生成,这意味着:也可只记录选项信息,而不必将图形模型编译为程序代码。其优点在于,尤其是在接下来检查记录的选项信息时可极快地确定,图形模型到程序代码的编译或程序代码到可执行控制程序的编译是否可能因不适合的选项或选项未被适当设置值而失败或即将失败。在此应考虑,复杂图形模型到程序代码的编译(根据所基于的图形模型的大小)完全有可能需要数小时,使得通过根据本发明提出的基于对记录的选项信息的检查的似然性检验可在准备阶段中提前发现编译过程可能的失败。
[0023]根据一种替换的变型方案设计为,在程序代码本身中生成选项信息(包括来源信息),其中,通过适合的编译器指令在程序代码被编译为可执行控制程序时由编译器分析选项信息,尤其是关于协调性选项中预给定的值的协调性。
[0024]下面举例说明如何通过编译器(在此为C编译器)执行对选项信息的检验。在该例子中,图形模型“higher”包括子模型“ 1werl ”和“ lower2”。设置选项“BitWidth”,该选项说明目标处理器、即控制系统的位宽度。为子模型“丨冊虹广生成头文件“化冊^^^~该头文件在#define_指令的范畴中含有选项信息。由此,不仅记录了哪个选项(BitWidth)被设置到何值(32),而且也存储了来源信息、即通过前置项“L0WER1”。子模型“lowerf”也是如此,该子模型导致文件“lower2.h”的生成。很明显,针对两个子模型为选项“Bitwidth”设置不同的值。通过总模型“higher”实现的头文件“higher, h”的生成包含编译器指令,所述编译器指令可被编译器这样分析,即,检验记录的选项“Bitwidth”的值的相同性并且在不相同时输出错误报告。
[0025]lowerl.h
[0026]---------------------
[0027]#define L0WER1—BITWIDTH32
[0028]lower2.h
[0029]--------------------
[0030]#define L0WER2—BITWIDTH16
[0031]higher, h`[0032]--------------------
[0033]#include lowerl.h
[0034]#include lower2.h[0035]#define HIGHER_BITWIDTH16
[0036]#if not HIGHER_BITWIDTH==L0WERl_BITffIDTH==L0ffER2_BITffIDTH
[0037]#error〃code for different bit width cannot be mixecT
[0038]#endif
[0039]因此,在当前情况下为最高层次的图像模型生成程序代码,该程序代码含有指令,借助所述指令能够检查较低层次的子模型的用于程序代码到可执行控制程序的编译时间的选项的兼容性和协调性。
[0040]选项和选项的预给定值和可选地其分类(其作为常量选项、默认选项、协调性选项的标记)可存储于不同的位置上。根据第一种有利的变型方案,至少一个选项、其值和可选地其分类与图形模型一起存储于至少一个模型文件中,使得对于代码生成和编译而言重要的信息与图形模型本身结合。在此情况下,选项直接与其来源地直接结合。在一种替换的方案中,至少一个选项、其值和可选地其分类存储于一个单独的数据库或文件中并且在那里与相应的子模型关联,使得基于该关联在图形模型中存在与来源地的相关性(Zuordnung)。
[0041]上面提出的任务也通过一种计算机辅助开发环境来解决,在其中并且借助其执行之前所描述的方法。该开发环境因此用于计算机辅助生成可执行控制程序、尤其是测量、控制、调节和/或校准程序的至少一部分,所述控制程序用于控制具有至少一个电子计算机单元的控制系统,其中,控制程序的功能至少部分以至少一个图形模型来描述。该图形模型被分为子模型,此外,一个层次的子模型可嵌套地被分为一个更低层次的子模型。开发环境本身并非必须适合用于处理图形模型,但其必须至少能够接收关于图像模型的信息。开发环境允许为用于将图形模型编译为程序代码的选项预给定值。开发环境在考虑选项的值的情况下由图像模型生成程序代码,其中该程序代码被开发环境一同编译为可执行控制程序。控制程序本身可在控制系统上执行。通过根据本发明的开发环境可为不同层次的至少两个嵌套的子模型的用于编译图形模型的选项预给定值,其中在生成用于每个子模型的程序代码时通过开发环境考虑选项的值。开发环境识别较低层次的子模型的未被设置值的选项并且为该选项自动预给定较高层次上的子模型的对应选项的值,由此可自动实现补充选项的尚未进行的值预给定。相应地,建立开发环境,使得开发环境也可自动实施其它之前所描述的方法步骤,其中开发环境允许进行可能情况下必要的使用者输入。
【专利附图】

【附图说明】
[0042]具体而言,现在有许多可能性来设计和扩展根据本发明的用于生成可执行控制程序的至少一部分的方法。为此一方面参见权利要求1的从属权利要求,另一方面参见下述结合附图对实施例的说明。附图如下:
[0043]图1为用于实施用于生成控制程序的至少一部分的方法的部件和其作用关系的示意图;
[0044]图2为根据本发明的用于生成可执行控制程序的方法的第一方面;
[0045]图3为根据本发明方法关于预给定的有效范围的另一方面;
[0046]图4为常量选项在根据本发明的方法中的应用;
[0047]图5为默认选项在根据本发明的方法中的应用;
[0048]图6为待被强制赋值的选项在根据本发明的方法范畴中的应用;[0049]图7为协调性选项在根据本发明的方法中的应用;
[0050]图8为协调性选项在根据本发明的方法范畴中的应用方面的另一实施例;
[0051]图9为选项和选项值存储以便在本发明方法中使用的例子。
【具体实施方式】
[0052]图1示出为理解根据本发明的方法所需的部件。由开发环境I计算机辅助实施根据本发明的方法,其中,方法结果是可执行控制程序2的至少一部分,所述控制程序用于控制具有至少一个电子计算机单元4的控制系统3。控制系统3在当前指具有I/O接口的控制设备,控制系统3经由所述I/O接口与物理过程5相互作用,其中,控制系统3通过输出控制信号影响过程5并且通过在测量技术上检测过程5的状态参数获取关于过程5的信息,以便能够在当前情况下有针对性影响过程5。
[0053]控制程序2的功能至少部分以至少一个图形模型Stl来描述。在所示实施例中,图形模型Stl为常见的信号流图形式的框图。作为方块/三角/圆圈被显示的传输环节对信号进行数学运算。图形模型Stl被分为子模型S1、S2、S3,其通常又称为子模型Si。在当前例子中,子模型S1位于最高层次上并且嵌套在较低层次的子模型sn、s12中。较低层次的子模型的细分可递归地利用更低层次的子模型进一步执行,对于子模型S11来说这在图1中借助子模型S111示出。根据对子模型的这种理解,图形模型Stl也是一个子模型、即最高层次上的子模型。
[0054]子模型S2、S3与子模型S1位于相同的层次上,其中,图1并未详细示出子模型S2、S3的进一步分层。总图形模型Stl位于最高层次上。图形模型Stl被编译为在此未详细示出的程序代码。该程序代码就其而言随后被编译为可执行控制程序2。在当前情况下,由图形模型Stl生成C程序代码并且用C编译器将程序代码编译为控制程序2。
[0055]在编译过程之前,为用于将图形模型Stl编译为程序代码的选项X预给定值X。在所示实施例中,选项X被标记一个或多个大写字母A、B、C、D、E、F,并且选项X的值X相应地被标记一个或多个小写字母a、b、C、d、e、f。在考虑选项A、B、C、D、E、F的值a、b、c、d、
e、f的情况下,由模型Stl计算机辅助生成程序代码并且该程序代码被一同编译为可执行控制程序2。如果说程序代码被“一同”编译为可执行控制程序,则指控制程序2并非仅由基于图形模型Stl的程序代码生成,而是也可利用其它信息、如以所提供的其它也可加入控制程序中的程序代码的形式来描述控制程序的功能。
[0056]图2示出根据本发明的用于计算机辅助生成可执行控制程序2的至少一部分的方法的工作方式。根据本方法,可为不同层次的至少两个嵌套的子模型I (在当前实施例中为嵌套的子模型S1)的用于编译图形模型Stl的选项A、B、…等预给定值(在下面被称为%、Iv…、a1、b1、…等),其中,在计算机辅助生成用于每个子模型S1的程序代码时考虑选项A、B、…等的值aQ、bQ、…、…等。 [0057]针对较低层次的子模型S1的选项X (在根据图2的例子中这为选项B、C和F)未被设置值χ的情况,较低层次上的选项(在当前为B、C和F)设置到较高层次的子模型Stl的对应选项的值X,即较高层次的对应选项值在较低层次中被采用。在所示情况下,对子模型S1采用较高层次的子模型Stl的值Ivctl和通过可为不同层次上嵌套的子模型预给定不同的选项值,可有粒度并且由此更符合情况地为图形模型或图形模型的子模型的编译预给定选项。通过这些措施,即不为较低层次的选项设置值并且为此采用较高层次的值,可实现统一的行为方式,同时巧妙地实现避免错误。
[0058]图3示出上述计算机辅助自动实施的用于生成可执行控制程序的方法的两种进一步改进的行为方式。如在上述例子中,在此也提供选项A、一F并且其可被赋值a、…、
f。在最高层次的模型Stl中除选项C外所有其它选项A、B、D、E、F被赋值a(l、b0, d0, e0,为次低层次的子模型SpSpSm分别显示两行。最上一行说明为该子模型和各个选项主动设置了何值,下面一行分别说明,在应用根据本发明方法的规律后这些值在可选地被如何改变(分别通过指向下方的箭头来表示)。
[0059]首先应只观察选项B。针对最高层次的图形模型Stl为选项B设置值Iv针对次低层次的子模型S1为选项B设置值Iv在当前情况下,即在为嵌套的子模型S1S置不同的值Ivb1时,通过在此实现的方法在较低层次S1上保留为选项B预给定的值b1;因此值bi在较低层次S1上与在较高层次上的子模型Stl中为选项B所设置的值相比具有优先性。在最低层次的子模型S111中也可看到相同的行为。在此为选项B所设置的值bm与为次高层次上的子模型S11的选项B所设置的值匕相比具有优先性,使得保留子模型S111的值bm。如没有为子模型S111的选项B预给定值,则根据借助图2所描述的方法对于子模型S11有效的值h也必须用于子模型Sm。
[0060]借助图3可看到用于生成可执行控制程序2的方法的另一特殊特点。根据所示的方法变型方案,可为一个层次上的子模型(在所示例子中为子模型S1)的选项(在当前为选项A、D、E和F)的预给定值(在当前情况下为值&1、Cl1, θι和f\)说明较低层次的数量,在所述层次中有关选项的预给定值具有优先性。在所示实施例中,在该数量的较低层次之后有关选项的值再次具有较高层次的值。这种行为方式首先示例性地借助在子模型S1中为选项A设置的值来阐述。不仅为子模型S1设置值,而且值ai附加设置有其有效范围的信息,即关于在多少较低层次中该值也可被引入嵌套的子模型Sn、Sm中的说明。据此为子模型S1设置值&1(1)。根据选项的本地(即在子系统之内)所设置的值的上述优先性,该值B1(I)不被较高层次中的子模型Stl中所设置的选项A的值%覆盖,而是该值保留在子模型S1中。根据预给定,该值B1正好传递到一个较低层次、即传递直至子模型Sn。在子模型S11中,值的有效范围只有0,用符号ai (O)表示。由于有效范围在此用尽,所以选项A在次低层次的子模型S111中再次使用以前值%。子模型S1中的设置有有效范围的值C^e1和4示出对应的行为。
[0061]图4示出当一个层次上的子模型的选项的预给定值(和因此最高层次上的模型的选项的值)被标记为不变(即被标记为“常量选项”)时计算机辅助方法的行为。在图4所示的实施例中,圈出不变的选项值。在最上方的模型平面Stl上该值为选项D的值屯,另外在子模型S1中该值为选项B的值Iv在值匕和Cltl被标记为不变之后,所述值bpCltl也被较低层次上的嵌套的子系统Sn、Sm使用,更确切地说,在这些较低层次Sn、Sm之一上为对应选项B、D确定了另一值(参见子系统S1中的值Cl1 (I)和子系SS111中的值bm)时才使用。
[0062]在该方法的另一种扩展方案中(图5),至少一个默认选项Xd用于将图形模型Stl编译为程序代码并且为所述默认选项Xd分别预给定一个默认值xD。在当前例子中,使用默认选项Xd的默认值xD,使得在没有确定图形模型中对应选项的值时,所述默认值用作最高层次上的模型Stl的对应选项的预给定值 。在根据图5的例子中,对于模型Stl仅已知选项B、C、D、E、F,其中,仅为最高层次上的图形模型Stl中的选项B、C、D和F赋值Iv c0, d0和自动化方法(仍以向下指向的箭头表示)确保在选项未被设置值的情况下(这也涉及模型中尚未知的选项A)为这些选项自动设置默认值。由此,如值以前被统一确定为默认值,则须本地设置这些值。另外,也可确保在错过为确定选项赋值时中断编译过程,默认值在此用作返回位置(RilckfalIposition)。在一种优选的扩展方案中,选项的默认值也可在本地被覆盖。当例如在图5所示的变型方案中额外将选项C确定为具有默认值cD的默认选项Cd时,在图形模型Stl中设置的选项C的值Ctl覆盖默认值C(l。
[0063]图6示出本方法的一种扩展方案,在其中可标记选项,使得其必须在模型内或在子模型内或作为默认选项被赋值。在图6中分别通过方框将默认选项AD、选项C和选项E标记为待被强制赋值的选项。在未给如此标记的选项赋值的情况下,当有关选项在图形模型Stl被编译为程序代码的时刻未在较低层次中被赋值时输出错误报告或警告。在图6所示的例子中,标记为待被赋值的选项C在最高层次的模型Stl中被赋值Ctl,从而满足了强制性赋值的预给定。被标记为待被强制赋值的选项E采用默认选项Ed的默认值eD,使得在此情况下也满足强制性赋值的预给定。在待被强制赋值的默认选项Ad的情况下,没有为选项Ad具体预给定值a,使得输出警告。在一种未示出的变型方案中,在相同情况下以错误而中断。
[0064]图7说明协调性选项Xk的自动应用。图7所示的本方法特点允许将确定的选项X标记为所谓的协调性选项Χκ,这在所示情况下在子模型S1中涉及选项B,在那里该选项被标记为协调性选项Βκ。当如果针对不同的嵌套的子模型为选项做出不一致的预给定(尤其是其值不相同)而存在无法解决的冲突的高概率时,将一个选项标记为协调性选项Xk是有利的。这类选项的例子是目标硬件、即控制程序2应在其上运行的控制系统3的位宽度。选项B作为协调性选项的标记最晚在编译图形模型Stl的时刻触发对所有层次中该协调性选项的值的检验,其中,在识别出不一致的情况下输出警告报告或以错误报告进行中断。当协调性测试的结果为肯定时,生成程序代码和控制程序2。
[0065]图8示出借助图7说明的方法在处理协调性选项时的进一步扩展。初始情况与图7是相同的,区别仅在于所示自动方`法在识别不一致时的行为。当协调性选项Bk的不同值Idci和Id1不一致时,根据图8的方法不中断编译过程,而是将在最高层次中所设置的值(在当前为值bj用于协调性选项Bk,也用于较低层次上的所有子模型中,从而实现值统一性(Werteinheitlichkeit)意义下的协调性并且在此基础上最后生成控制程序。
[0066]在图9中示出,选项A、…、F和有关值a、…、f和其分类(例如默认选项、协调性选项或常量选项)与图形模型分开地存储于数据库6中,其中,在数据库6中额外存储与相应子模型S。S。Sn、S111的对应关系(Referenzen),使得数据与相应的子模型Sc^SpS1PS111关联。该关联在数据库6中通过调用相应的子模型Sp Sn、S111来实现。
【权利要求】
1.用于计算机辅助生成可执行控制程序(2)的至少一部分的方法,所述可执行控制程序尤其是测量程序、控制程序、调节程序和/或校准程序,所述控制程序用于控制具有至少一个电子计算机单元(4)的控制系统(3),其中,控制程序(2)的功能至少部分以至少一个图形模型(Stl)来描述并且所述图形模型(Stl)被分层地分为子模型(Si),其中,一个层次的子模型(Si)能嵌套地被分为一个较低层次的子模型(sp,其中,为用于将图形模型编译为程序代码的选项(X)预给定值(X)并且在考虑选项(X)的值(X)的情况下由模型(Stl)计算机辅助生成程序代码并且该程序代码被一同编译为可执行控制程序(2),其特征在于,为不同层次的至少两个嵌套的子模型(sp的用于编译图形模型(Stl)的选项(X)预给定值(Xj),并且在计算机辅助生成用于每个子模型(sp的程序代码时考虑选项(X)的值(\),其中,较低层次上的子模型(sp的未设置值(xp的选项(X)采用较高层次上的子模型(sp的对应选项(X)的值(Xj)。
2.根据权利要求1的方法,其特征在于,较低层次上的选项(X)的预给定的值UP与较高层次上的对应选项(X)的预给定的值up相比具有优先性。
3.根据权利要求1或2的方法,其特征在于,为一个层次上的子模型(Sp的选项(X)的预给定的值(xp说明跟随其的较低层次的数量,在所述层次中有关选项(X)的预给定的值(Xj)具有优先性,尤其是其中,在该数量的较低层次之后,有关选项(X)的值(\)再次具有较高层次的值(X)。
4.根据权利要求1至3之一的方法,其特征在于,一个层次上的子模型(sp的选项(X)和/或最高层次上的模型(Stl)的选项的预给定的值(xp被标记为不变(常量选项),使得较低层次上的选项(X)的值up不能再变化,尤其是当在较低层次上为对应选项(X)确定或已确定另一值(χΡ时也不能变化。
5.根据权利要求1至4之一的方法,其特征在于,确定默认选项(Xd)用于将图形模型(S0)编译为程序代码并且`预给定默认值(X11),所述默认值尤其是在未确定图形模型(Stl)中的对应选项(X)的值(X)时用作最高层次上的模型(Stl)的对应选项(X)的预给定值。
6.根据权利要求1至5之一的方法,其特征在于,一个层次上的子模型(Sp的至少一个选项(X)和/或最高层次上的模型(Stl)的至少一个选项(X)和/或至少一个默认选项(Xj)被标记为在较低层次中待设置值(X)的选项(X),其中,当有关选项(X)在图形模型(Stl)被编译为程序代码的时刻未在较低层次中被赋值(X)时,输出错误报告/警告。
7.根据权利要求1至6之一的方法,其特征在于,一个层次上的子模型(sp的至少一个选项(X)和/或最高层次上的模型(Stl)的至少一个选项(X)和/或至少一个默认选项被标记为协调性选项(χκ),其中,最晚在图形模型(Stl)被编译为程序代码的时刻检验有关嵌套的子模型(Sj.)的所有层次中的协调性选项(Xk)是否被协调地设置值(X),尤其是其中,在识别出不一致的情况下输出至少一个报告、优选错误报告或警告报告。
8.根据权利要求7的方法,其特征在于,在识别出不一致的情况下中断图形模型(Stl)到程序代码的编译,或者将包含不一致的模型(Stl)或子模型(sp编译为无效的程序代码。
9.根据权利要求7的方法,其特征在于,在识别出协调性选项(Xk)被赋予不一致的值时在最高层次上为协调性选项(Xk)预给定的值(X)也自动预给定为较低层次上的嵌套的子模型(S」)的预给定值(X )。
10.根据权利要求1至9之一的方法,其特征在于,记录至少一个选项(X)的名称和值(X),附加地具有关于该选项(X)的值(X)的来源的信息作为选项信息,尤其是在程序代码的对应部分中生成所述选项信息,其中,作为来源信息优选说明,有关子模型(Sp中的选项(X)和/或选项的值是否在本地被预给定、或有关子模型(sp中的选项(X)和/或选项(X)的值(X)是否被较高层次的子模型(sp采用,或有关子模型(sp中的选项(X)和/或选项(X)的值(X)是否通过默认预给定来设置。
11.根据权利要求10的方法,其特征在于,所记录的选项信息与图形模型(Stl)到程序代码的编译分开地生成,尤其是检查所生成的、所记录的选项信息的错误、尤其是检查协调性选项(Xk)的协调性。
12.根据权利要求10的方法,其特征在于,在程序代码中生成选项信息,其中,通过附加的编译器指令在程序代码被编译为可执行控制程序(2 )时由编译器分析选项信息并且因此检查选项,尤其是关于协调性选项(Xk)中预给定的值的协调性。
13.根据权利要求1至12之一的方法,其特征在于,至少一个选项(X)、其值(X)和可选地其分类(常量选项、默认选项、协调性选项)与图形模型(Stl) —起存储于至少一个模型文件中,和/或至少一个选项(X)、其值(X)和可选地其分类(常量选项、默认选项、协调性选项)存储于单独的数据库中并且在那里与相应的子模型(sp关联。
14.根据权利要求1至13之一的方法,其特征在于,至少一个选项(X)影响所生成的程序代码中的存储器布局指令和/或控制程序(2)的存储器布局,尤其是在考虑存储区域和控制系统的计算机单元的情况下。
15.根据权利要求1至14之一的方法,其特征在于,至少一个选项(X)使所生成的程序代码匹配控制系统(3)的计算机单元、尤其是其位宽度。
16.用于计算机辅助生成可执行控制程序(2)的至少一部分的装置,所述可执行控制程序尤其是测量程序、控制程 序、调节程序和/或校准程序,所述控制程序用于控制具有至少一个电子计算机单元(4)的控制系统(3),其中,所述装置包括如下模块,其配置为至少部分以至少一个图形模型(Stl)来描述控制程序(2)的功能并且分层地将所述图形模型(Stl)分为子模型(Si),其中,一个层次的子模型(Si)能嵌套地被分为一个较低层次的子模型(sp,其中,所述装置包括如下模块,其配置为,给用于将图形模型编译为程序代码的选项(X)预给定值(X)并且在考虑选项(X)的值(X)的情况下由模型(Stl)计算机辅助生成程序代码并且将该程序代码一同编译为可执行控制程序(2),其特征在于,所述装置包括如下模块,其配置为,给不同层次的至少两个嵌套的子模型(sp的用于编译图形模型(Stl)的选项(X)预给定值(xp,并且在计算机辅助生成用于每个子模型(sp的程序代码时考虑选项(X)的值(\),其中,较低层次上的子模型(sp的未设置值(\)的选项(X)采用较高层次上的子模型(Sj)的对应选项(X)的值(χ」)。
17.根据权利要求16的装置,其特征在于,较低层次上的选项(X)的预给定的值(Xj)与较高层次上的对应选项(X)的预给定的值up相比具有优先性。
18.根据权利要求16或17的装置,其特征在于,所述装置包括如下模块,其配置为,为一个层次上的子模型(sp的选项(X)的预给定的值(xp说明跟随其的较低层次的数量,在所述层次中有关选项(X)的预给定的值(xp具有优先性,尤其是其中,在该数量的较低层次之后,有关选项(X)的值(\)再次具有较高层次的值(χ)。
19.根据权利要求16至18之一的装置,其特征在于,所述装置包括如下模块,其配置为,将一个层次上的子模型(Sj)的选项(X)和/或最高层次上的模型(Stl)的选项的预给定的值(xp标记为不变(常量选项),使得较低层次上的选项(X)的值(xp不能再变化,尤其是当在较低层次上为对应选项(X)确定或已确定另一值(xp时也不能变化。
20.根据权利要求16至19之一的装置,其特征在于,所述装置包括如下模块,其配置为,确定默认选项(Xd)用于将图形模型(Stl)编译为程序代码并且预给定默认值(Xd),所述默认值尤其是在未确定图形模型(Stl)中的对应选项(X)的值(χ)时用作最高层次上的模型(S0)的对应选项(X)的预给定值。
21.根据权利要求16至20之一的装置,其特征在于,所述装置包括如下模块,其配置为,将一个层次上的子模型(Sj)的至少一个选项(X)和/或最高层次上的模型(Stl)的至少一个选项(X)和/或至少一个默认选项(XP标记为在较低层次中待设置值(χ)的选项(X),其中,当有关选项(X)在图形模型(Stl)被编译为程序代码的时刻未在较低层次中被赋值(χ)时,输出错误报告/警告。
22.根据权利要求16至21之一的装置,其特征在于,所述装置包括如下模块,其配置为,将一个层次上的子模型(Sj)的至少一个选项(X)和/或最高层次上的模型(Stl)的至少一个选项(X)和/或至少一个默认选项标记为协调性选项(Χκ),其中,最晚在图形模型(Stl)被编译为程序代码的时刻检验有关嵌套的子模型(sp的所有层次中的协调性选项(Xk)是否被协调地设置值(X),尤其是其中,在识别出不一致的情况下输出至少一个报告、优选错误报告或警告报告。
23.根据权利要求22的装置,其特征在于,所述装置包括如下模块,其配置为,在识别出不一致的情况下中断图形模型(Stl)到程序代码的编译,或者将包含不一致的模型(Stl)或子模型(Sj)编译为无效的程序代码。
24.根据权利要求22的装置,其特征在于,所述装置包括如下模块,其配置为,在识别出协调性选项(Xk)被赋予不一致的值时也自动将在最高层次上为协调性选项(Xk)预给定的值(χ)预给定为较低层次上的嵌套的子模型(Sp的预给定值(χ)。
25.根据权利要求16至24之一的方法,其特征在于,所述装置包括如下模块,其配置为,记录至少一个选项(X)的名称和值U),附加地具有关于该选项(X)的值(χ)的来源的信息作为选项信息,尤其是在程序代码的对应部分中生成所述选项信息,其中,作为来源信息优选说明,有关子模型(sp中的选项(X)和/或选项的值是否在本地被预给定、或有关子模型(sp中的选项(X)和/或选项(X)的值(χ)是否被较高层次的子模型(sp采用,或有关子模型(Sj)中的选项(X)和/或选项(X)的值(χ)是否通过默认预给定来设置。
26.根据权利要求25的装置,其特征在于,所述装置包括如下模块,其配置为,与图形模型(Stl)到程序代码的编译分开地生成所记录的选项信息,尤其是检查所生成的、所记录的选项信息的错误、尤其是检查协调性选项(Xk)的协调性。
27.根据权利要求25的装置,其特征在于,所述装置包括如下模块,其配置为,在程序代码中生成选项信息,其中,通过附加的编译器指令在程序代码被编译为可执行控制程序(2)时由编译器分析选项信息并且因此检查选项,尤其是关于协调性选项(Xk)中预给定的值的协调性。
28.根据权利要求16至27之一的装置,其特征在于,所述装置包括如下模块,其配置为,将至少一个选项(X)、其值(χ)和可选地其分类(常量选项、默认选项、协调性选项)与图形模型(S0)—起存储于至少一个模型文件中,和/或将至少一个选项(X)、其值(X)和可选地其分类(常量选项、默认选项、协调性选项)存储于单独的数据库中并且在那里与相应的子模型(SJ关联。
29.根据权利要求16至27之一的装置,其特征在于,所述装置包括如下模块,其配置为,至少一个选项(X)影响所生成的程序代码中的存储器布局指令和/或控制程序(2)的存储器布局,尤其是在考虑存储区域和控制系统的计算机单元的情况下。
30.根据权利要求16至27之一的装置,其特征在于,所述装置包括如下模块,其配置为,至少一个选项(X)使所生 成的程序代码匹配控制系统(3)的计算机单元、尤其是其位宽度。
【文档编号】G06F9/44GK103677793SQ201310353652
【公开日】2014年3月26日 申请日期:2013年8月15日 优先权日:2012年9月11日
【发明者】K·菲舍尔, T·皮奇, M·迈尔, W·特劳特曼 申请人:帝斯贝思数字信号处理和控制工程有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1