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

文档序号:9793945阅读:373来源:国知局
用于影响控制设备的控制程序的方法
【技术领域】
[0001]本发明涉及一种根据权利要求1的前序部分所述的用于影响控制设备的控制程序的方法。
【背景技术】
[0002]控制设备大量用在技术的多种领域中。特别重要的应用领域此外可能是汽车中的马达控制、传动控制和行驶机构控制以及飞机中的驱动机构的控制。通常必需的是改变存储在已编程的且有运行能力的控制设备上的程序代码,例如用于以测试方式地通过具有改变的或扩展的功能的第二程序例程替换存储在所述程序代码中的第一程序例程。如果不存在程序代码的源代码,则为此必需的是对存储在控制设备上的二进制代码加以影响。为此的方法由文献DE 10 2004 027 033 Al已知。
[0003]—种已知的方法在于,第二程序例程这样整合到控制程序中,使得所述第二程序例程由也实施第一程序例程的同一处理器核心实施。所述方法的不利是,由于处理器核心的额外负荷使控制程序的处理减速。
[0004]另一已知的方法在于,第二程序例程能由设置在控制设备外部的第二处理器核心实施,例如在与控制设备连接的影响设备中。能够实现第二程序例程的并行执行。所述方法的不利是对于其实现所必需的附加的硬件耗费和在第二程序例程和控制程序之间的数据交换中的较高的延迟。
[0005]此外,学术文章“Operat1n am offenen Herzen”(Elektroniknet.de,2008年 10月6 日,http://www.elektroniknet.de/automotive/technik-know-how/test-entwicklungstool s/article/1129/0/0perat1n_am_offenen_Herzen/)提及第二程序例程在具有多个处理器核心的控制设备中的控制设备内部的并行实施的可能性。
[0006]专利US8 074 118 B2描述了用于快速覆写控制设备中的变量的可能性。
[0007]由现有技术已知的用于影响控制设备的控制程序的方法的普遍缺点在于,为了其实施需要在控制程序的源代码方面或者在其机器代码方面改变控制程序。
[0008]控制程序大多模块化地构造,即其由预先产生的函数组成,所述函数特别是根据图形化编程的原理结合成控制程序。与此相应,不仅第一程序例程而且第二程序例程大多理解为一个函数或多个函数的结合。

【发明内容】

[0009]在此背景下,本发明的任务是,说明一种影响控制设备的控制程序的方法,所述方法进一步扩展现有技术。
[0010]所述任务通过具有权利要求1的特征的用于影响控制设备的控制程序的方法来解决。有利的实施方案是从属权利要求的主题。
[0011]根据本发明的第一主题,提出一种用于影响控制设备的控制程序的方法。所述控制设备具有用于容纳控制程序的第一存储器,而控制程序具有多个第一函数,其中,所述第一函数中的至少一个第一函数构造用于控制执行器。此外设置多个变量,其中,给所述变量中的每一个变量配属一个存储器地址并且在变量和第一函数之间构造预给定的配属。控制设备具有至少一个处理器,其中,控制设备的处理器整体具有多个计算核心并且在第一计算核心中实施具有第一函数的控制程序。根据本发明,在实施控制程序期间在控制设备的第二核心中执行第二函数,其中,第一函数给在确定的存储器地址处的变量配属第一值并且将所述第一值在第一时刻写入到变量的存储器地址中,第二函数给相同的变量配属第二值,在较迟的第二时刻以第二值覆写变量,并且在更迟的第三时刻,控制程序访问变量的经改变的值。
[0012]在此,第二函数至少部分具有与第一函数不同的程序代码。根据本发明设置管理实例,所述管理实例使对变量的存储器地址通过控制程序并且通过第二程序的访问、即对变量的控制器地址的读访问与写访问这样在时间上彼此协调,使得第一时刻位于第二时刻之前并且第二时刻位于第三时刻之前。
[0013]管理实例理解为以下控制例程:所述控制例程使第二函数通过第二计算核心的实施在时间上与控制程序通过第一计算核心的执行相协调。管理实例可以实现为硬件、软件或两者的组合。第二函数的执行在预给定时刻的开始特别是属于所述管理实例的任务,从而第一函数和第二函数的执行至少部分地并行进行,特别是与第一函数的执行的开始同时,以便确保数据一致性。为了确保数据一致性,管理实例至少构造用于使变量以第二值的覆写这样在时间上与控制程序通过第一计算核心的执行相协调,从而变量以第二值的覆写在时间上在第一函数的对变量的最后写访问之后进行,但是在在第一程序的执行后控制程序对变量的第一读访问之前。本发明的有利实施方案规定用于通过管理实例来确保数据一致性的其他措施,特别是这样使得管理实例确保不仅由第一函数而且由第二函数读取并且利用的变量或者作为参数(Argument)传递给两个函数的变量以统一的值传递给两个函数。
[0014]根据本发明的优点是,所述方法一方面能够以小的硬件耗费实现,因为第二函数的执行通过控制设备内部的处理器资源实现,而另一方面由于第二函数在第二处理器核心上的并行执行使控制程序通过第一处理器核心的执行仅仅最小地减速。在此不重要的是,第二计算核心是否自始没有加载控制程序的执行或者在实施根据本发明的方法之前是否这样相应地操作控制设备。
[0015]例如,首先计算核心可以加载控制程序的由于安全原因实现的冗余实施,所述冗余实施在开发过程期间变得不必要并且因此在开发过程的范畴内阻碍实施根据本发明的方法。
[0016]在本发明的一种进一步扩展方案中,管理实例至少部分通过管理程序实现,所述管理程序在不同于第一计算核心的其它计算核心上相对于控制设备的控制程序并行地实施。在此,所述其它计算核心可以涉及控制设备的计算核心或者涉及设置在控制设备外部的计算核心、例如在与控制设备电路连接的监控单元或接口单元中设置的计算核心。
[0017]在本发明的另一进一步扩展方案中,所述管理实例至少部分通过附加程序部分实现,所述附加程序部分补充地整合到控制程序的程序代码中并且由第一处理器核心实施,特别是通过至少一个补充地嵌入到控制程序中的服务例程实施。在此不重要的是,所述附加程序部分是已经在控制设备的初始程序化时在源代码层面上实现还是事后通过由现有技术已知的方法嵌入到控制程序的二进制代码中。就此而言,附加程序部分无论如何不是控制程序的以下部分:控制程序在没有附加程序部分的情况下也是有运行能力的且能运转的。
[0018]在本发明的另一进一步扩展方案中,所述管理实例至少部分通过与控制设备电路连接的监控单元实现,特别是通过构造为接口单元的监控单元实现。接口单元理解为以下单元:所述单元构造用于建立在控制设备与其它计算机系统、例如用于编程或配置控制设备的PC之间的数据连接。
[0019]如果管理实例没有以附加程序部分的形式实现,则其必须构造为用于在执行控制程序时监控第一计算核心,以便第二函数的执行在时间上与控制程序的执行相协调。所述管理实例优选构造为用于通过处理器的数据接口来监控第一处理器核心的运行。数据接口理解为处理器的以下接口:所述接口可以通过第二计算核心或监控单元读取并且其所输出的数据允许对通过第一计算核心当前处理的存储器地址进行推断,特别是用于监控程序计数器的接口、追踪接口或调试接口。
[0020]在本发明的一种扩展方案中,所述管理实例构造为用于通过处理器的数据接口探测控制程序的函数的调用或结束并且与第一函数同时地开始第二函数,从而实现第一函数和第二函数的并行执行。
[0021]在另一扩展方案中,所述管理实例构造为用于通过数据接口探测控制程序的函数的正在进行的执行。例如可能的是,数据接口的传输速率过小而不能精确探测第一函数的调用的时刻。如果处理器例如仅仅构造为用于通过数据接口通知控制程序的每隔九个存储器地址的处理,则对于管理实例而言不能求取调用确定的第一函数的准确时刻。但是,如果是通过第二计算核心开始第二函数的执行的情形,所述管理实例可以确定是否已经在所处理的最后十个存储器地址内调取了第一函数。此外可能的是,管理实例根据与函数明确联系的事件识别出控制程序的函数的正在进行的执行,例如根据对变量的访问,对所述变量仅仅通过所述函数访问,或者根据执行程序代码中的位置的到达来识别控制程序的函数的正在进行的执行,在所述程序代码处在控制设备的存储器中存储有函数。
[0022]在本发明的一个构造方案中,管理实例构造为用于识别第一函数的结束并且在第一函数结束之后引
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1