CN110392883A - 用于运行控制设备的方法和装置、计算机程序和用于生成计算机程序的方法 - Google Patents

用于运行控制设备的方法和装置、计算机程序和用于生成计算机程序的方法 Download PDF

Info

Publication number
CN110392883A
CN110392883A CN201880018446.3A CN201880018446A CN110392883A CN 110392883 A CN110392883 A CN 110392883A CN 201880018446 A CN201880018446 A CN 201880018446A CN 110392883 A CN110392883 A CN 110392883A
Authority
CN
China
Prior art keywords
task program
time slot
task
result
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880018446.3A
Other languages
English (en)
Other versions
CN110392883B (zh
Inventor
E.施洛特曼
S.苏巴拉迈亚
H.阿塔萨亚尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN110392883A publication Critical patent/CN110392883A/zh
Application granted granted Critical
Publication of CN110392883B publication Critical patent/CN110392883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

用于运行控制设备的方法,所述方法具有如下步骤:在由第一时隙构成的第一时间帧中实施第一任务程序,在由第二时隙构成的第二时间帧中实施第二任务程序,确定状态变量,所述状态变量说明所述第一任务程序的结果是否被准许,在当前的第一时隙中确定所述第一任务程序的结果并且在所述当前的第一时隙中将所述第一任务程序的结果传送给如下存储区,所述存储区被分配给所述第二任务程序,所述第二任务程序根据所述状态变量的值和所述第一任务程序的结果来确定第二结果,同样在所述当前的第一时隙中将所述状态变量的值传送给如下状态存储区,所述状态存储区被分配给所述第二任务程序,对所述第一任务程序的结果的确定和传送以及对所述状态变量的值的确定和传送都在所述第一任务程序的实施开始之后并且在所述第一任务程序的重新实施之前进行。

Description

用于运行控制设备的方法和装置、计算机程序和用于生成计 算机程序的方法
技术领域
本发明涉及用于运行控制设备、尤其是机动车中的控制设备的方法、用于执行该方法的计算机程序和计算机以及机器可读存储介质,在所述机器可读存储介质上存储有该计算机程序。本发明还涉及用于(自动地)生成该计算机程序的方法。
背景技术
在DE 10 2009 026 995 A1中描述了一种用于运行总线系统、尤其是CAN总线的方法。多个站能连接到该总线系统上。传输的消息具有标识符,其中始终只允许唯一的站使用特定的标识符(例如IDENT2)。这些站中的每个站都将传输的消息的标识符与由该站自己使用的标识符(例如IDENT2)进行比较。在一致时生成错误报告。
从DE 10 2014 216 381 A1中已知一种用于运行控制设备的方法,其中该控制设备具有至少一个构造为用于实施任务程序的实施单元,其中至少有时实施第一任务程序和第二任务程序,其中第一任务程序将通知发送给实施第二任务程序的实施单元,其中该通知向第二任务程序和/或实施第二任务程序的实施单元传送信令:第一任务程序准备好接收第二任务程序的数据。
发明内容
本发明的优点
具有独立权利要求1的特征的方法具有如下优点:即使计算分布在多个实施单元(例如处理器)上,也可以特别可靠地实现对任务程序的实施。
有利的扩展方案是从属权利要求的主题。
发明内容
在第一方面中,本发明涉及一种用于运行控制设备、尤其是用于机动车的控制设备的方法,其中该控制设备具有至少一个、优选地至少两个实施单元,其中所述实施单元尤其构造用于实施任务程序。在这种情况下,第一任务程序(英文:task(任务))在由第一时隙构成的第一时间帧中实施(因而这些第一时隙有利地彼此紧随并且在每个运行周期中都一样长)。此外,第二任务程序在由第二时隙构成的第二时间帧中执行(因而这些第二时隙有利地彼此紧随)。
在此,确定状态变量,该状态变量说明第一任务程序的结果是否被准许(freigeben)。第二任务程序根据状态变量的值和第一任务程序的结果来确定第二结果。
这例如可以在错误存储管理器的框架中实现,利用该错误存储管理器可以控制其它诊断的实施。在存在可以很快且没有前提条件地被实施的诊断(诸如在传感器处的电诊断)期间,存在对所检测到的值的合理性进行检查的其它诊断。但是,有利地,只有当事先确定了没有电故障时,才应该将合理性错误报告给错误存储管理器。
为了管理这些关系,可能的是使用所谓的FID分块矩阵(FID-Sperrmatrix),在该FID分块矩阵中,可以根据状态变量(在该示例中是进行电诊断)的值来设置对任务程序(在该示例中是合理性检查)的准许。
现在可能的是:在报告第一任务程序的新的结果(该示例中也即诊断结果)时直接确定分块关系。不过,传送状态变量的值的物理信号的运行时间在此未予考虑。
如果计算分布到至少两个实施单元上进行,则可形成如下问题:物理值分布得超过实施单元的极限并且超过时间计算间距。随着(在所谓的多核系统中)实施单元的数目提高,该分布增加,因为只有这样才可以最优地使用实施单元的资源。
现在,可以利用所谓的定时通信(Timed Communication)(也被称作逻辑执行时间(Logical Execution Time))来将第一任务程序的结果传递给第二任务程序。也就是说,可以规定:第一任务程序的结果在当前的第一时隙中被确定。接着,在该当前的第一时隙中,该第一任务程序的结果被传送给如下存储区,该存储区被分配给第二任务程序。
为了获得对状态变量的值的可靠的传送,可能的是:阻塞对第一任务程序的实施,直至传送了状态变量的值为止。不过,这可导致:第一任务程序的实时能力以及因此在固定的时间帧中的实施受干扰。
因而规定:状态变量的值同样在当前的第一时隙中被传送给如下状态存储区,该状态存储区被分配给第二任务程序,其中对第一任务程序的结果的确定和传送以及对状态变量的值的确定和传送都在第一任务程序的实施开始之后并且在第一任务程序的重新实施之前进行。
为了不需要对结果的多重管理,在一个扩展方案中可以规定:所述第一任务程序的结果的传送每个较长的时隙只进行一次,该较长的时隙由第一时隙和第二时隙构成,和/或所述状态变量的值的传送每个较长的时隙只进行一次,该较长的时隙由第一时隙和第二时隙构成。
如果较长的时隙的时长与较短的时隙的时长彼此呈整数倍,则对传送时间点的确定变得特别简单。
如果第一任务程序的结果和状态变量在传送给被分配给第二任务程序的状态存储区之前被存储在存储区的任意位置处,则可能的是:所述第一任务程序的结果和状态变量不能由实施单元在唯一一个复制过程中传送。视所使用的硬件而定,这可以例如在所述第一任务程序的结果和状态变量没有被存储在相同的存储库中时发生。有利地,因而可以规定:第一任务程序的结果和第一任务程序的状态变量被存储为使得它们可以同时被传送。这例如可以通过将它们存放在相同的存储库中来实现。
在另一方面中可以规定:存在和在第一任务程序与第二任务程序之间以及在第二任务程序与第三任务程序之间类似的关系。也就是说可以规定:确定第二状态变量,该第二状态变量说明第二任务程序的结果是否被准许,其中在当前的第二时隙中确定所述第二任务程序的结果并且在所述当前的第二时隙中将所述第二任务程序的结果传送给如下存储区,所述存储区被分配给第三任务程序,其中所述第三任务程序根据所述状态变量的值和所述第二任务程序的结果来确定第三结果,其中同样在所述当前的第二时隙中将所述第二状态变量的值传送给如下状态存储区,所述状态存储区被分配给所述第三任务程序,其中对所述第二任务程序的结果的确定和传送以及对所述第二状态变量的值的确定和传送都在所述第二任务程序的实施结束之后并且在所述第二任务程序的重新实施之前进行。
在这种关系链的情况下,尤其可以规定:第三任务程序在由相继的第三时隙构成的第三时间帧中被实施,其中所述状态变量的值的传送也每个较长的时隙只进行一次,该较长的时隙由第一时隙和第二时隙构成,并且所述状态变量的值的传送每个最长的时隙只进行一次,该最长的时隙由第一时隙和第二时隙和第三时隙构成。
如果这些关系以之前提到的FID分块矩阵的形式来管理,则实施这种方法的计算机程序的生成非常复杂,因为所提及的阻塞必须与传送结果和传送状态变量的值的时钟一致。
因而,在另一方面中提出了一种方法,利用该方法有可能自动地生成该计算机程序。在这种情况下规定:分块矩阵的结构不是平面地、而是分级地来构造。规定了:给其状态变量被传送的任务程序分派结构对象,使得汇总这些任务程序的结果和这些任务程序中的得以输入到相应的任务程序中的结果。因此,这些任务程序之间的关系在这些结构对象中被汇总。
因而可以规定:结构对象包含如下信息:第二任务程序的结果根据状态变量的值并且根据第一任务程序的结果来确定。该结构对象被分配给第一任务程序。
接着还规定:另一结构对象包含如下信息:第三任务程序的结果根据第二状态变量的值和第二任务程序的结果来确定。该另一结构对象被分配给第二任务程序。接着,该计算机程序根据该结构对象和该另一结构对象来确定。
这具有如下优点:在其中任务程序和状态变量的结果被传送的时间帧可以特别简单地自动地被确定。
在其它方面中,本发明涉及一种机器可读存储介质,在其上存储有所提到的计算机程序。还涉及一种计算机,该计算机被设立(也就是说相对应地被编程)为实施用于生成该计算机程序的方法,并且还涉及另一计算机(尤其是控制设备),该另一计算机被设立为实施所提到的方法。
附图说明
随后,本发明的实施方式参考随附的附图进一步予以阐述。在附图中:
图1示出了根据现有技术的FID分块矩阵;
图2示意性地示出了根据现有技术的流程图;
图3示意性地示出了按照本发明的一个实施方式的流程图;
图4示意性地示出了按照本发明的第二实施方式的流程图;
图5示意性地示出了按照本发明的第三实施方式的流程图。
具体实施方式
图1示出了根据现有技术的FID分块矩阵。依据这种分块矩阵来分配在机动车的实施单元上运行的任务程序,所述任务程序的诊断任务程序必须被执行,以便相对应的任务程序本身可以可靠地确定结果。行被分配给功能标记(英文:function identifier(功能标识符))FID1, FID2, FID3, ...,列被分配给诊断任务程序(英文:diagnostic faultcheck(诊断故障检查))DFC1, DFCT2, DFC3, DFC4, ...。在这种情况下,每个功能标记都明确地对应于一个任务程序。在这样展开的矩阵的域中,每个录入一个二元值。“1”表示相对应的诊断任务程序在执行任务程序之前应该成功地结束,“0”表示这不是必要的。如开头所描述的那样,这种矩阵的设立是复杂的过程。
图2示意性地示出了根据现有技术的流程图。在时间点t0开始第一任务程序210的实施。第一任务程序210确定结果x,该结果在该示例中取值255。在步骤S中,第一任务程序210检查结果x的确定是否可靠地进行。这里情况并非如此,因此全局状态变量DEM_Event在时间点t1被设置到值“失败(failed)”,这可以二元地例如用“0”来编码。
在时间点t2开始第二任务程序220的实施。在时间点t3,指令M将结果x的值复制都被分配给第二任务程序的存储区中。这以程序逻辑方式通过编制(Anlegen)新的变量x_c来实现,该新的变量现在在该示例中分配有经复制的值255。
在时间点t4重新开始第一任务程序210的实施,因为该第一任务程序周期性地重复被起动。该第一任务程序这次确定结果x = 10。在步骤S中,第一任务程序210再次检查结果x的确定是否可靠地进行。现在这里情况如此,因此状态变量DEM_Event在时间点t5被设置到值“通过(passed)”。最后,在时间点t6,第二任务程序220在步骤T中访问变量x_c,以便根据x_c来计算结果。为了检查变量x_c的值是否可靠,第二任务程序220检查状态变量DEM_Event的值。现在,该状态变量DEM_Event具有值“通过”,使得第二任务程序错误地假定变量x_c的值可靠。这可导致在程序运行中的错误。因而,一种可能性是:第二任务程序220阻止对全局变量DEM_Event的写访问,也即阻塞该变量,直至对x_c的访问结束。然而,这可能导致在第一任务程序210运行中的延迟。
因而,图3示意性地示出了按照本发明的第一实施方式的流程图。在该示例中,根据第一任务程序122的结果来实施第二任务程序112。
在时间标尺t上标出起始时间点t0,在该起始时间点,两个任务程序112、122起动新的运行周期。对于随后的描述来说,出发点是:给第二任务程序112分派10ms(毫秒)的时隙ZS1,也参见图3的利用花括号112'来标记的下方区域。因此,第二任务程序112的从时间点t0开始的第一运行周期延伸直至时间点t2,第二任务程序112的第二运行周期在时间点t2、t4之间延伸,等等。在相继的时隙之间的间隔限制或周期限制通过矩形R1来表示。
然而,如从图3、区域112'可见的那样,第二任务程序112并不是总是需要所分派的当前为10ms的时隙的整个周期时间或长度。更确切地说,在第一运行周期中对第二任务程序112的所有任务的处理已经在时间点t01发生,并且在第二运行周期中对第二任务程序112的所有任务的处理已经在时间点t21发生。换言之,在第一运行周期中,在第一任务程序112的处理的结尾与间隔限制R1之间存在时间间隔t2-t01,在该时间间隔中不存在任务程序112的活动,并且因此实施单元的针对10ms的总周期时间所保留的计算资源保持未被使用。
类似于第二任务程序112,给第一任务程序122同样分派长度恒定的、当前为5ms的时隙ZS2、ZS2',也参见图3的利用花括号122'来标记的垂直上方区域。因此,第一任务程序122从时间点t0开始的第一运行周期延伸直至时间点t1,第一任务程序122的第二运行周期在时间点t1、t2之间延伸,等等。第一任务程序122的在相继的时隙之间的间隔限制或周期限制通过矩形R2来表示。
然而,如从图3、区域122'可见的那样,第一任务程序122并不总是需要所分派的当前为5ms的时隙的整个周期时间或长度。更确切地说,在第一运行周期中对第一任务程序122的所有任务的处理已经在时间点t02发生,并且在第二运行周期中对第一任务程序122的所有任务的处理已经在时间点t11发生。
除了重现各个任务程序112、122的活动的区域112'、122'之外,在图3中还说明了被分派给第二任务程序112的第二存储区的使用略图114和被分派给第一任务程序122的第一存储区的使用略图124。
按照一个实施方式,在发送方任务122(第一任务程序)的第一存储区124中存在由发送方任务122例如基于输入参量所计算出的参量,所述参量应该被传输给接收方任务112(第二任务程序)。按照一个实施方式,如果发送方任务122已经结束了对所要输出的数据G的计算,并且同时接收方任务112完成了对在先前的周期中接收到的数据15的处理,则发生数据从发送方任务122至接收方任务112的传输14a、14b。
按照一个优选的实施方式,数据G也可以包括状态变量DEM_Event(参见图2)。如果数据G然后被传输到分配给第二任务程序112的存储区中,则将状态变量DEM_Event复制到在该所分配的存储区内的存储区中。
按照一个实施方式,一旦在实施内的计算已经结束,即最晚在接收方任务的周期结尾(参见图3中的时间点t01)处结束,则接收方任务112就将通知B发送给发送方任务122的实施单元。
在一个优选的实施方式中可以规定:实施另一任务程序140,在下文也被称作“通知任务”,在当前例如由也实施第一任务程序122的实施单元来实施该另一任务程序140,以便将数据从被分配给第一任务程序122(发送方任务)的存储区124传输到被分配给第二任务程序112(接收方任务)的存储区114中。该另一任务程序140尤其可以通过通知B来激活。
在此,在如今在汽车领域中常见的操作系统中,一旦不必实施具有更高优先级的其它任务并且早前被录入到具有相同优先级的实施单元的被激活任务的列表(“readyqueue(就绪队列)”)中的任务已经结束,则通知任务140例如可以被录入到同一列表中并且被实施。如上文已经描述的那样,发送方任务和接收方任务可以在相同或不同的计算核上被实施。
在一个实施方式中,在实施通知任务140内或者在发送方任务122结束时(视哪个事件较晚出现),将数据G传输给第二任务程序112(接收方任务)。
在一个实施方式中,只要在发送方任务122结束之前进行通知B,接着就可以在发送方任务122结束时、也就是说在时间点t11之后进行数据传输14a。在这种情况下,例如发送方任务122本身可以触发或实施数据传输14a。在一个实施方式中,只要在发送方任务122已经结束之后进行通知B',通知任务140就可以触发或实施将数据传送14b给接收方任务112。
在一个实施方式中,相对于发送方任务122确切地何时实施通知任务140取决于这两个任务的优先级。如果两个任务122、140具有同一优先级,则排除了任务122、140可能相互干扰,并且通知任务140可以要么在发送方任务122之前实施,要么在发送方任务122之后实施,视相对于发送方任务122的实施何时进行通知B、B'而定。
在另一有利的实施方式中规定:第二任务程序112和第一任务程序122具有不同的周期时间ZS1、ZS2,其中第二任务程序112的周期时间ZS1大于第一任务程序122的周期时间ZS2,并且其中在第二任务程序112的如下周期ZS2'内将数据从被分配给第一任务程序122的存储区124传输到被分配给第二任务程序112的存储区114中,所述周期ZS2'在时间上在第二任务程序112的周期结尾的区域中。
在一个有利的实施方式中规定如下算法,该算法保证了数据G从发送方122到接收方112的传输每个较慢的周期ZS1或时间间隔恰好进行一次。通过在发送方任务或接收方任务122、112内的计数器机制,保证了:只有在较慢的任务112的时间间隔ZS1内对“较快的”任务122的分别最后的实施1220触发(例如当接收方任务112具有更高的激活速率时,通过通知B)或者实施(当发送方任务122更频繁地被激活时)数据传输14a。为此,分别在较快的任务结束时使计数器增加。如果计数器状态对应于较慢的采样时间与较快的采样时间之比,则允许该数据传输并且将计数器置回到零。
在图3的示例中,相比于在接收方任务112情况下为10ms的激活速率,发送方任务122具有为5ms的更高的激活速率。因此,按照一个实施方式,只在每第二实施1220、1222的情况下执行数据传输14a、14b,但是不在实施1219、1221的情况下执行数据传输14a、14b。由此,有利地保证了在“逻辑执行时间(Logical Execution Time)”意义上的确定性行为。
图4示意性地示出了按照本发明的第二实施方式的流程图。在该示例中,也根据第一任务程序122的结果来实施第二任务程序112。
在时间标尺t上标出起始时间点t0,在该起始时间点,两个任务程序112、122起动新的运行周期。给第一任务程序122分派周期时间、也即时隙ZS2的长度,该周期时间是被分派给第二任务程序112的周期时间的两倍长。也就是说,不同于在图3中图解说明的实施例,第一任务程序122的周期时间比第二任务程序112的周期时间更长。
第二任务程序122执行诊断,在时间间距t中确定结果v(该结果被称作vt)并且还确定状态变量Event。在这种情况下,时间间距t表示第二任务程序122的运行周期。在该示例(参见区域122')中,第二任务程序122在时间点t0与t2之间的第一运行周期中执行对vt的计算,该计算失败。利用命令Dem_SetEventStatus,第二任务程序122在被分配给该第二任务程序的存储区中将变量vt的值设置到十六进制值“FF”,并且将状态变量Event的值设置到值False。利用对函数FIM_GetFuncPermission的调用,该任务程序检索该任务程序是否应该执行诊断功能。该许可取决于状态变量Event。因而,函数FIM_GetFuncPermission访问状态变量Event的值达时间间距t。利用函数FIM_GetFuncPermission还可以在时间间距t检索变量v的值。如在图3中所描述的那样,通知任务140在时间点t2之前将变量vt和Event的值复制到被分配给第一任务程序112的存储区中。在一个实施方式中,变量vt和Event被存放在被分配给第二任务程序122的存储区中,使得这些变量可以用唯一一个复制指令被共同复制。
在t0与t1之间的第一运行周期中,第一任务程序112利用函数FIM_GetFuncPermission来查询变量v和Event的值,这些变量位于被分配给第一任务程序112的存储区中。这些变量具有已由第二任务程序122在先前的运行周期t-1中确定了的那些值。因而,这些变量具有值vt-1和True(真)。
在第二任务程序122的接下来的运行周期、即时间间距t+1中,在时隙ZS2'中开始于时间点t2,第二任务程序122将结果vt+1确定成十六进制值“15”。因为计算没有失败,所以给状态变量Event分派值True。利用命令Dem_SetEventStatus来重新进行对变量值的所述分派。在稍后的时间点,通知任务140将这些值从被分派给第二任务程序122的存储区复制到被分派给第一任务程序112的存储区中。
在第一任务程序112的第三和第四运行周期中,函数FIM_GetFuncPermission可以访问变量v和状态变量Event的值,这些值存在于被分派给第一任务程序112的存储区中。这具有对应于时间间距t的值vt=$FF和Event=False(假)。
因此,相比于在图2中示出的方法,保证了第一任务程序112的一致的数据访问。
图5示意性地示出了本发明的第三实施方式的流程图。示出了任务程序FCT1,..., FCT5。对这些任务程序FCT1, ..., FCT5中的每个任务程序的实施都可以取决于一个或多个诊断功能DFC_FCT1, ..., DFC_FCT5的结果,所述一个或多个诊断功能检测机动车的组件是否正确地起作用。对结果和状态变量的传送通过虚线箭头来表示。
任务程序FCT1在具有其长度为2ms的时隙的时间帧中被执行,并且执行诊断功能DFC_FCT1。DFC_FCT1的结果和状态变量被传送给任务程序FCT2(通过到功能标识符(Function Identifier)FID_FCT2的箭头来表示)。任务程序FCT2的实施取决于DFC_FCT1的结果和状态变量。任务程序FCT2在具有其长度为10ms的时隙的时间帧中被执行,并且执行诊断功能DFC_FCT2A、DFC_FCT2B。结果和状态变量被输送给任务程序FCT3。任务程序FCT4在具有其长度为20ms的时隙的时间帧中被执行,并且执行诊断功能DFC_FCT4。结果和状态变量同样被输送给任务程序FCT3。任务程序FCT3的实施取决于诊断功能DFC_FCT2A、DFC_FCT2B和DFC_FCT4的结果和状态变量。任务程序FCT3在具有其长度为100ms的时隙的时间帧中被执行,并且执行诊断功能DFC_FCT3。结果和状态变量被输送给任务程序FCT5。任务程序FCT5的实施取决于DFC_FCT5的结果和状态变量。任务程序FCT5在具有其长度为200ms的时隙的时间帧中被执行,并且执行诊断功能DFC_FCT5。
为了生成实施这些任务程序的计算机程序,需要确定任务程序的正确的定时并且正确地(参见图1)建立分块矩阵。为此,在任务程序FCT1, ..., FCT5的输出端处定义结构对象CIO_FCT_1, ..., CIO_FCT_5,使得汇总该任务程序的诊断功能和这些任务程序中的得以输入到该任务程序中的诊断功能。
由此,一方面存在如下可能性:在图5中图解说明的树中的位于很后面的任务功能中自动地确定先前的诊断。此外,利用在哪个时间帧中执行哪个诊断功能以及哪个分块理由(Sperrgrund)在哪里被查询的信息可以计算对于数据流的定时信息,使得对分块关系的计算能够以与数据的物理交换相同的速度来实施。
以针对被分配给200ms帧的任务程序FCT_5的定时的正确计算为例,这应该被解释为:DFC_FCT_5由同一计算帧报告并且直接和立即地进入。DFC_FCT_3进入到CIO_FCT_3中,该CIO_FCT_3具有到100ms帧的时间分配。因此,DFC_FCT_3的状态必须利用定时通信转换从100ms帧转移到200ms帧。DFC_FCT_4进入到CIO_FCT_4中,该CIO_FCT_4又进入到FID_FCT_3中并且接着进入到CIO_FCT_3中。该CIO_FCT_4具有到20ms帧的时间分配。因此,DFC_FCT_4的状态必须利用定时通信转换从20ms帧转移到100ms帧并且然后从100ms帧转移到200ms帧。类似的情况适用于所有其它DFC。因此,DFC_FCT_1通过如下链来传递:2ms→10ms→100ms→200ms。

Claims (13)

1.用于运行控制设备、尤其是用于机动车的控制设备的方法,其中所述控制设备具有至少一个、优选地至少两个实施单元,
其中所述实施单元尤其构造用于实施任务程序,
所述方法具有如下步骤:
- 在由第一时隙(ZS2、ZS2')构成的第一时间帧中实施第一任务程序(122),
- 在由第二时隙(ZS1)构成的第二时间帧中实施第二任务程序(112),
- 确定状态变量(G),所述状态变量说明所述第一任务程序(122)的结果(G)是否被准许,
- 在当前的第一时隙(ZS2')中确定所述第一任务程序(122)的结果(G)并且在所述当前的第一时隙(ZS2')中将所述第一任务程序(122)的结果(G)传送给如下存储区(114),所述存储区被分配给所述第二任务程序(112),
- 所述第二任务程序(112)根据所述状态变量(G)的值和所述第一任务程序(122)的结果(G)来确定第二结果,
- 同样在所述当前的第一时隙(ZS2')中将所述状态变量(G)的值传送给如下状态存储区(114),所述状态存储区被分配给所述第二任务程序(112),
- 对所述第一任务程序的结果(G)的确定和传送以及对所述状态变量(G)的值的确定和传送都在所述第一任务程序(122)的实施(1220)开始之后并且在所述第一任务程序(122)的重新实施(1221)之前进行。
2.根据权利要求1所述的方法,其中所述第一任务程序(122)的结果的传送每个较长的时隙只进行一次,所述较长的时隙由第一时隙(ZS2、ZS2')和第二时隙(ZS1)构成。
3.根据权利要求1或2所述的方法,其中所述状态变量(G)的值的传送每个较长的时隙只进行一次,所述较长的时隙由第一时隙(ZS2、ZS2')和第二时隙(ZS1)构成。
4.根据权利要求2所述的方法,其中较长的时隙的时长与较短的时隙的时长彼此呈整数倍。
5.根据上述权利要求中任一项所述的方法,其中所述第一任务程序(122)的结果(G)和所述状态变量(G)在传送之前被存储在存储区(124)中,使得它们能够同时被传送。
6.根据上述权利要求中任一项所述的方法,其中所述第一任务程序(122)和/或所述第二任务程序(112)对机动车的组件的功能能力进行诊断。
7.根据上述权利要求中任一项所述的方法,其中确定第二状态变量,所述第二状态变量说明所述第二任务程序(112)的结果是否被准许,
其中在当前的第二时隙(ZS1)中确定所述第二任务程序(112)的结果并且在所述当前的第二时隙(ZS1)中将所述第二任务程序(112)的结果传送给如下存储区,所述存储区被分配给第三任务程序,
其中所述第三任务程序根据所述状态变量的值和所述第二任务程序的结果来确定第三结果,
其中同样在所述当前的第二时隙中将所述第二状态变量的值传送给如下状态存储区,所述状态存储区被分配给所述第三任务程序,
其中对所述第二任务程序的结果的确定和传送以及对所述第二状态变量的值的确定和传送都在所述第二任务程序的实施结束之后并且在所述第二任务程序的重新实施之前进行。
8.根据权利要求7所述的方法,其中在由相继的第三时隙构成的第三时间帧中实施所述第三任务程序,其中所述状态变量(G)的值的传送也每个较长的时隙只进行一次,所述较长的时隙由第一时隙(ZS2、ZS2')和第二时隙(ZS1)构成。
9.根据权利要求8和2所述的方法,其中所述状态变量(G)的值的传送也每个最长的时隙只进行一次,所述最长的时隙由第一时隙(ZS2、ZS2')和第二时隙(ZS1)和第三时隙构成。
10.用于生成计算机程序的方法,所述计算机程序被设立用于实施根据权利要求7至9中任一项所述的方法,其特征在于,被分配给第一任务程序的结构对象(CIO_FCT1, ...,CIO_FCT5)包含如下信息:第二任务程序的结果根据状态变量的值并且根据所述第一任务程序的结果来确定;并且被分配给所述第二任务程序的另一结构对象(CIO_FCT1, ...,CIO_FCT5)包含如下信息:第三任务程序的结果根据第二状态变量的值和所述第二任务程序的结果来确定,并且其中所述计算机程序根据所述结构对象和所述另一结构对象来确定。
11.计算机程序,所述计算机程序被设立为实施根据权利要求1至10中任一项所述的方法。
12.机器可读存储介质,在其上存储有根据权利要求11所述的计算机程序。
13.计算机,所述计算机被设立为实施根据权利要求1至10中任一项所述的方法。
CN201880018446.3A 2017-01-17 2018-01-05 用于运行控制设备的方法和装置、计算机程序和用于生成计算机程序的方法 Active CN110392883B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102017200669.2A DE102017200669A1 (de) 2017-01-17 2017-01-17 Verfahren und Vorrichtung zum Betreiben eines Steuergeräts, Computerprogramm und Verfahren zum Generieren des Computerprogramms
DE102017200669.2 2017-01-17
PCT/EP2018/050236 WO2018134061A1 (de) 2017-01-17 2018-01-05 Verfahren und vorrichtung zum betreiben eines steuergeräts, computerprogramm und verfahren zum generieren des computerprogramms

Publications (2)

Publication Number Publication Date
CN110392883A true CN110392883A (zh) 2019-10-29
CN110392883B CN110392883B (zh) 2024-07-09

Family

ID=

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005059450A1 (de) * 2005-12-13 2007-06-14 Volkswagen Ag Diagnose eines Sauerstoffsensors
JP2010122752A (ja) * 2008-11-17 2010-06-03 Fujitsu Ten Ltd 制御装置
JP2011118830A (ja) * 2009-12-07 2011-06-16 Denso Corp マルチタスクシステム、及び、プログラム
JP2011191806A (ja) * 2010-03-11 2011-09-29 Toyota Central R&D Labs Inc タスク実行制御装置及びプログラム
JP2014060477A (ja) * 2012-09-14 2014-04-03 Denso Corp 無線通信システム
CN104272255A (zh) * 2012-05-12 2015-01-07 大众汽车有限公司 功能可扩展的机动车控制器和用于补充机动车控制器的功能的方法
WO2015158594A1 (de) * 2014-04-16 2015-10-22 Volkswagen Aktiengesellschaft Verfahren zur diagnose eines kraftfahrzeugsystems, diagnosegerät für ein kraftfahrzeugsystem, steuergerät für ein kraftfahrzeugsystem und kraftfahrzeug
CN105373436A (zh) * 2014-08-19 2016-03-02 罗伯特·博世有限公司 控制设备和对此的运行方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005059450A1 (de) * 2005-12-13 2007-06-14 Volkswagen Ag Diagnose eines Sauerstoffsensors
JP2010122752A (ja) * 2008-11-17 2010-06-03 Fujitsu Ten Ltd 制御装置
JP2011118830A (ja) * 2009-12-07 2011-06-16 Denso Corp マルチタスクシステム、及び、プログラム
JP2011191806A (ja) * 2010-03-11 2011-09-29 Toyota Central R&D Labs Inc タスク実行制御装置及びプログラム
CN104272255A (zh) * 2012-05-12 2015-01-07 大众汽车有限公司 功能可扩展的机动车控制器和用于补充机动车控制器的功能的方法
JP2014060477A (ja) * 2012-09-14 2014-04-03 Denso Corp 無線通信システム
WO2015158594A1 (de) * 2014-04-16 2015-10-22 Volkswagen Aktiengesellschaft Verfahren zur diagnose eines kraftfahrzeugsystems, diagnosegerät für ein kraftfahrzeugsystem, steuergerät für ein kraftfahrzeugsystem und kraftfahrzeug
CN105373436A (zh) * 2014-08-19 2016-03-02 罗伯特·博世有限公司 控制设备和对此的运行方法
DE102014216381A1 (de) * 2014-08-19 2016-03-10 Robert Bosch Gmbh Steuergerät und Betriebsverfahren hierfür

Also Published As

Publication number Publication date
JP2020506465A (ja) 2020-02-27
WO2018134061A1 (de) 2018-07-26
US11500679B2 (en) 2022-11-15
US20200257563A1 (en) 2020-08-13
DE102017200669A1 (de) 2018-07-19

Similar Documents

Publication Publication Date Title
CN104170323B (zh) 基于网络功能虚拟化的故障处理方法及装置、系统
Elmenreich Sensor fusion in time-triggered systems
JP2001188765A (ja) 分散コンピューティング環境で複数の関係する障害を表す障害情報を参照する技法
CN111813582B (zh) Ice服务部署编排方法
US11500679B2 (en) Operating a controller in a motor vehicle according to different time slots
CN106250254B (zh) 一种任务处理方法及系统
CN106844055B (zh) 一种任务的执行方法和装置
Michailidis et al. Test front loading in early stages of automotive software development based on AUTOSAR
CN113395348B (zh) 一种车载芯片、功能故障检查方法及电子设备
CN112835598B (zh) 一种汽车ecu刷写方法及其系统、计算机可读存储介质
CN105493452B (zh) 将来自属于lin网络的从设备的响应帧传输到其它类型网络的控制方法和装置
Chen et al. Application of software watchdog as a dependability software service for automotive safety relevant systems
CN110392883B (zh) 用于运行控制设备的方法和装置、计算机程序和用于生成计算机程序的方法
SE536092C2 (sv) Fjärrdiagnostisering av fordon
CN115437761A (zh) 调度器的仿真方法、电子设备和存储介质
CN115220429A (zh) 故障诊断方法、装置、设备及存储介质
Stroop et al. Prototyping of automotive control systems in a time-triggered environment using flexray
Cabasino et al. Fault diagnosis of an ABS system using Petri nets
CN110471399A (zh) 基于ecu的车辆诊断方法、装置、系统及车辆
Mjeda Standard-compliant testing for safety-related automotive software
CN110457071A (zh) 用于激活操作系统中的任务的方法和装置
DE102017116081A1 (de) Verfahren und Vorrichtung zum Konfigurieren einer Ausführungseinrichtung und zum Erkennen eines Betriebszustands derselben
Niklas et al. AUTOSAR–A standard in the course of time
Al Hayani Modeling bus load on can
Kim et al. Node-based scheduling method for easy migration from CAN to FlexRay in in-vehicle networking systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant