用于影响控制设备的控制程序的方法_4

文档序号:9793945阅读:来源:国知局
…、FlN上并且在没有操作控制程序STP的二进制代码的情况下也能够实现,而在图1中示出的服务例程S1AE、S2AE必须已经实现在控制程序STP的源代码中或者必须通过操作控制程序STP的二进制代码事后地嵌入到控制程序STP中。
[0060]图3的示图示出根据本发明的方法的第三实施形式。下面仅仅阐述与图1和图2中的示图的区别。管理实例构造为在控制设备ECU外部安装的并且可与控制设备ECU电路连接的监控单元GSI。监控单元GSI的功能相应于在图2中示出的管理程序MONl的功能。也就是说,监控单元GSI构造为用于借助处理器CPU的数据接口来探测第一函数FlA通过第一计算核心的调取、结束或正在进行的执行,并且所述监控单元此外优选构造为用于探测对控制程序STP的变量Vl、…、VN的存储器地址Al、…、AN的写访问和读访问。在此,监控单元执行如下的程序例程,所述程序例程的功能相应于在图2中示出的管理程序MONl。在此,在一种可能的实施形式中,程序例程可以通过构建在监控单元GSI中的计算核心来执行。在另一可能的实施形式中,程序例程在监控单元GSI上作为硬件地实现,例如通过FPGA。
[0061 ] 特别优选地,监控单元GSI构造为接口单元,所述接口单元允许控制设备ECU与设置在控制设备ECU外部的计算机系统连接,例如与PC或者与快速原型硬件连接,并且控制设备ECU由所述计算机系统控制或者影响。
[0062]图4的示图借助时间线阐明根据本发明的方法步骤。根据示出的时间轴T从左向右地在时间上排布控制设备ECU中的事件,即在示图中事件越靠右布置,所示出的事件就越迟地发生。在随后的描述中,根据其在时间轴上的位置以字母的顺序标记事件。因此,在示图中其在字母方面的分类相应于其时间上的顺序,具有相同的字母标记的事件根据其时间顺序以数字进行分类。
[0063]例如,具有标记B的事件比具有标记A的事件更迟地发生,并且具有标记A2的事件比具有标记Al的事件更迟地发生。
[0064]第一计算核心Pl执行具有第一函数FlA的控制程序STP,而第二计算核心P2执行第二函数F2A。控制程序STP在时刻A写第一变量Vl,即所述控制程序将新值写入到第一变量Vl的存储器地址Al中。此外,在所述控制程序在时刻D调用第一函数FlA之前,所述控制程序在时刻B写第四变量V4并且在时刻C写第二变量V2。与第一函数FlA的调用同时地,借助触发信号TR开始第二函数F2A通过第二计算核心P2的执行。
[0065]不仅第一函数FlA而且第二函数F2A在不同的时刻E、F读取作为输入变量的变量V2的值。此外,第一函数FlA在时刻G读取作为输入变量的变量Vl的值,并且第二函数F2A在时亥IjH读取作为输入变量的变量V4的值。随后,两个函数给变量V3配属值。第一函数FlA在第一时刻I将变量V3的第一值写入到存储器地址A3中。在时刻J,实现从第一函数FlA的回跳,即第一函数FlA结束并且通过第一计算核心Pl继续控制程序STP的执行。在时刻K,第二函数F2A将用于变量V3的第二值写入到变量V3的存储器地址A3中并且由此覆写由第一函数FlA写入的值。在时刻L,控制程序读取变量V3的通过第二函数F2A写入的第二值。
[0066]在所示出的示图中,变量V2是不仅用于第一函数FlA而且用于第二函数F2A的输入变量。为了维持数据一致性,管理实例必须因此确保,两个函数F1A、F2A对于变量V2读取相同的值。此外,管理实例必须确保,时刻K位于时刻I之后但位于时刻L之前,因此控制程序STP在时刻L读取用于第三变量V3的由第二函数F2A配属的第二值。
[0067]图5的示图以另一时间图示出相应于在图1中示出的实施形式的方法步骤。下面仅仅阐述与图4中的示图的区别。第一计算核心Pl直接在第一函数FlA的执行之前执行第一服务例程S1AS,并且所述第一计算核心紧随第一函数FlA的执行之后执行第二服务例程S1AE。此外设置缓冲区域BU,其用于存储变量V1、V4的第一或第二值。在时刻Cl,第一计算核心开始第一服务例程SlAS的执行,所述第一服务例程随后读取第二函数F2A的输入变量V2、V4的值并且将其存储在缓冲区域BU中。在时刻C2,所述第一服务例程从存储器地址A2读取第一变量V2的值并且紧随其后在时刻C3将所述第一输入变量的值写入缓冲区域BU中。在时刻C4,所述第一服务例程从存储器地址A4读取第二变量V4的值并且紧随其后在时刻C5将所述第二输入变量的值写入缓冲区域BU中。在时刻F,第一服务例程SlAS借助触发信号TR开始第二函数F2A通过第二计算核心P2的执行。紧随其后,实现从第一服务例程SlAS的回跳,并且第一计算核心Pl开始第一函数FlA的执行。因此,第一函数FlA和第二函数F2A实际上同时开始并且随后并行地执行。
[0068]第二函数F2A在时刻Fl和H从缓冲区域BU读取其输入变量V2、V4的值,随后给变量V3配属第二值并且在时刻Hl将所述第二值写入缓冲区域BU中。第一函数FlA在时刻I将用于变量V3的通过第一函数FlA配属的第一值写入存储器地址A3中。在时刻J,第一函数FlA结束,并且第一计算核心开始第二服务例程SlAE的执行。所述第二服务例程在时刻K读取通过第二函数F2A存储在缓冲区域BU中的用于变量V3的第二值并且将所述第二值在时刻Kl写入到变量V3的存储器地址A3中。随后,第二服务例程SlAE在时刻K2结束,并且第一计算核心Pl继续控制程序STP的执行,所述控制程序在时刻L从变量V3的存储器地址A3读取用于第三变量V3的通过第二服务例程SlAS存储的、通过第二函数F2A配属的第二值。
[0069]图6的示图示出用于在先前示图中没有示出的另一实施例的时间图,其中,管理实例通过由可与控制设备电路连接的监控单元GSI和以服务例程SlAE形式的附加程序部分的组合实现。优选地,监控单元GSI构造为接口单元,并且服务例程SlAE借助监控单元GSU和通过所述监控单元GSI与控制设备ECU电路连接的计算机整合到控制程序STP的二进制代码中。下面仅仅阐述与图4和5的区别。
[0070]监控单元GSI构造为用于探测控制程序STP对变量V1、...、V4的写访问以及第一函数F1A、…、FlN通过第一计算核心的调用。控制程序STP对变量在时刻A、B和C的所有写访问被探测出并且变量的相应新值存储在监控单元GSI的内部存储器中,从而在监控单元GSI的内部存储器中在每一个时刻存储控制程序STP的所有变量V1、...,V4的当前映射。在时刻COl,第一计算核心调用第一函数F1A。第一函数FlA的所述调用通过监控单元GSI探测。在监控单元探测出了函数FlA的调用之后,监控单元直接中断变量ν?、...、ν4的新值在其内部存储器中的存储并且在时刻E和Fl将第二函数F2A的输入变量V2、V4的当前值写入缓冲区域BU中。在第二函数F2A的所有输入变量V2、V4的值存储在缓冲区域BU中之后,监控单元GSI借助触发信号TR开始第二函数F2A通过第二计算核心P2的执行。第二函数F2A在时刻HOl和H02从缓冲区域BU读取其输入变量V2、V4的值。第一函数FlA和第二函数F2A通过这种方式对于共同使用的输入变量V2读取相同的值。
[0071]在另一可能的实施中,监控单元GSI将第二函数F2A的每一个输入变量V2、V4的值紧随控制程序对输入变量V2、V4的每一次写访问之后写入到缓冲区域BU中并且紧随第一函数FlA的调用之后中断输入变量V2、V4的值到缓冲区域中的写入,从而在缓冲区域BU中直至调用第一函数FlA在每一个时刻存在第二函数F2A的输入变量V2、V4的当前映射。
[0072]第二函数F2A给变量V3配属第二值并且将所述第二值在时刻Hl写入到缓冲区域BU中。在时刻K,服务例程SlAE读取第二值并且将其在时刻Kl写入变量V3的存储器地址A3中。在此,所述服务例程覆写在时刻I由第一函数FlA写入的第一值。
[0073]图7的示图以另一时间图示出相应于在图3中示出的实施形式的方法步骤。下面仅仅阐述与图4至6中的示图的区别。管理实例通过监控单元GSI构造。第二函数F2A在时刻Hl将变量V3的第二值写入到缓冲区域BU中。监控单元GSI探测所述写访问并且将变量V3的存储在缓冲区域BU中的第二值的映射写入其内部存储器中。在时刻I,第一函数FlA将变量V3的第一值写入到变量V3的存储器地址A3中。监控单元GSI也探测所述写访问并且紧随在第一函数FlA将变量V3的第一值写入到了存储器地址A3中之后将所述变
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1