确定应用程序的执行时间的制作方法

文档序号:17123385发布日期:2019-03-16 00:03阅读:215来源:国知局
确定应用程序的执行时间的制作方法

本发明涉及自动化设备的用于确定应用程序的执行时间的控制单元以及相对应的方法和计算机程序产品。该控制单元尤其处在自动化技术和工业4.0的技术领域。



背景技术:

这种控制单元从现有技术中公知。例如,控制单元可以构造为存储器可编程控制器(sps、plc)或者现场总线耦合器。该控制单元通常经由数据传输通道、如现场总线与自动化设备中的其它系统模块连接。该控制单元还可经由现场总线与其它系统模块交换数据并且通过应用程序来进行操控、例如进行接通或切断。

在此,该控制单元尤其适合于在工业环境下的对时间要求严格的自动化任务并且针对实时运行来设计。例如,该控制单元可借助于传感器来识别人机之间的安全是否受到威胁。例如,没有遵守极限值。关于这一点,该控制单元必要时可以通过执行应用程序来切断自动化设备并且因此将该自动化设备转变到安全状态下。为了执行应用程序或应用,该控制单元需要确定的时长,该时长在下文被称作应用程序的执行时间、运行时间或周期时间。

在此需要遵守应用程序的时间上的要求。该遵守通常在于使用者或自动化技术人员的责任,该使用者或自动化技术人员使自动化代码或者应用程序的源代码生效。能看到困难在于:从周期的时间既不恒定又不能事先计算的意义上来说,周期的时间不是确定性的。

然而,传统的工程系统只向使用者提供用于监控应用程序的执行时间的辅助功能。这些辅助功能可以在仿真中以及在真正的控制中在调试方面被应用。在此,例如检测和显示最小执行时间、最大执行时间和平均执行时间。最大执行时间是在监视中出现的最长时间,而最小执行时间是在监视中出现的最短时间。

然而,在计算机上的仿真中计算出并且显示的值并没有关于在真正的自动化设备中使用时的要求方面给出足够的提示,因为sps硬件(例如处理器、存储器、运行环境)可能与仿真环境的pc硬件显著不同。尤其是,在执行时间期间在真正的控制单元上测量到的值不能直接被转用于其它硬件变型。因此,并不能从中推断出应用程序将如何在性能更低的或者更高的硬件上表现。所测量到的值还与情况有关,也就是说应用程序可根据自动化设备的情况在时间上表现得强烈不同。

还从现有技术中公知工程系统。该工程系统是一种程序,在该程序中,程序员创建应用程序以及可以获悉控制的状态。然而,已知的工程系统并不提供具体地估计应用程序的最大执行时间的功能。这些工程系统还不充分保证相对应的时间限制被遵守。

对执行时间的估计和对这些限制的遵守例如在选择正确的控制硬件方面是重要的。使用者可以在性能高的控制单元与性能低的控制单元之间进行选择。该选择尤其可以基于控制单元的估计来实现。例如,优选地选择性能足够高但是没有过多未被使用的性能裕量的控制单元。

因而,本发明提出了如下任务:提供自动化设备的控制单元,该控制单元可以高效地估计针对任意控制单元的应用程序的执行时间。



技术实现要素:

按照本发明,上面提到的任务通过自动化设备的用于确定应用程序的执行时间的控制单元来解决,该控制单元具有:

第一时间确定单元,

其中所述第一时间确定单元在第一运行模式下确定该控制单元和/或其它控制单元的执行时间,

其中对执行时间的确定考虑至少一个边界条件,而且

其中对执行时间的确定考虑关于控制单元的应用程序的指令的运行时间的统计学数据或者控制单元的实时时间的线性表示。

与此相应地,本发明针对的是自动化设备的控制单元、尤其是存储器可编程控制器(sps)。替代地,也可以使用其它控制单元。如更上面已经解释的那样,该控制单元通常执行应用程序。该应用程序习惯上也被称作主程序并且具有用于不同或相同功能的指令或命令的序列,例如用于操控工业设备或自动化设备的控制指令。在sps的情况下,该应用程序相对应地具有sps指令。

该应用程序为了执行而需要的时长被称作执行时间或运行时间,如更上面已经限定的那样。执行时间由各个指令的时长组成。根据指令的数量、规模或时长等等,执行时间可更长或更短。不同于执行时间,系统时间是在执行应用程序期间不断变化的时钟时间。

执行时间通过第一时间确定单元来确定。程序可以一次或多次被执行。在第一种情况下,针对正好一次执行来确定执行时间,其方式是所有单个指令的时间需求被合算。在其中该程序非常频繁被调用的第二种情况下,应考虑不同的情况并且执行该程序的不同部分。因此,这里可以在统计学上考虑最小执行时间、平均执行时间或最大执行时间。

通过确定执行时间,可以监控时间限制。在上面的示例中、即在确定最大执行时间的情况下,可以估计应用程序在最差的情况下(“worstcase”)将运行多久。换言之,执行时间是虚构的时间并且针对每个指令假定最差可能的时间。因此可以估计应用程序在这种情况下最多将需要多久。

一方面,当前的控制单元的执行时间可以利用集成的时间确定单元来确定。

与此相应地,例如当前的控制单元的最大执行时间可以利用集成的时间确定单元来确定。换言之,可以借助于该集成的时间确定单元来估计:当前的控制单元在运行时将表现得如何以及该当前的控制单元在最差的情况下将需要多久来成功地结束该应用程序。由此,控制单元的在最差的情况下的性能(“worst-case-performance”)可以被估计,并且也可以确定当前的控制单元是否足以满足确定的要求。因此,由此可以确定当前的控制单元是应该被更换还是应该做出其它判断。

例如,当前的控制单元与性能较高的控制单元相比性能较低等等,并且性能较低的控制单元是否满足所希望的要求是成问题的。替代地,该控制单元的任何其它特征都可以用作判断基础。

另一方面,替代地或附加地,可以确定其它控制单元的执行时间,与该其它控制单元是否具有时间确定单元无关。因此,例如可以利用集成的时间确定单元来确定现有的控制单元的执行时间或其它统计学数据并且将其用作确定其它控制单元的执行时间的基础。

在自动化设备的sps的情况下,高效地并且精确地确定该sps或其它sps的应用程序的sps指令的执行时间。由此,同样可以通过sps更好地监控对自动化设备的控制。

在此,在遵守至少一个边界条件的情况下并且在第一运行模式下确定该控制单元或其它控制单元的执行时间。对一个或多个边界条件的遵守关于执行时间方面确保了应用程序在控制单元上的无错误的并且高效的运行以及确保了关于执行时间方面的确定。有利地,可以不中断地执行应用程序。

在一个设计方案中,第一时间确定单元是虚拟时钟。与此相应地,该虚拟时钟完全集成到该控制单元中并且因此是该控制单元的固定组成部分。优选地,该虚拟时钟的时间进展与真实时钟无关地进行并且因此没有确定真实的时钟时间(也称作实时时间)。

在另一设计方案中,该至少一个边界条件是系统条件、存储器占用、网络负载或硬件资源。与此相应地,边界条件是对控制单元或其它控制单元的硬件或软件的要求或限制,对该控制单元或其它控制单元或上一级工程系统的应用程序的硬件或软件的要求或限制,该上一级工程系统可包括该控制单元或其它控制单元和/或其它系统组件。通过遵守,能够实现程序在该控制单元或其它控制单元上的顺利并且高效的运行并且尤其是能够实现对该控制单元或其它控制单元的应用程序的执行时间的确定。由此,从一开始就拦住故障并且相对应地避免花费高的、费时并且复杂的事后故障处理措施。

在另一设计方案中,第一时间确定单元可以从第一运行模式变换到第二运行模式,尤其是借助于开关从第一运行模式变换到第二运行模式。与此相应地,第一时间确定单元可以从第一运行模式转换到第二运行模式。该转换例如可通过软件来实现,该软件由该控制单元或其它控制单元来执行,例如系统软件。因此,该转换不是应用程序的功能。

在另一设计方案中,第一时间确定单元还影响该控制单元或其它控制单元的应用程序,尤其是在考虑所确定的执行时间的情况下影响该控制单元或其它控制单元的应用程序。与此相应地,第一时间确定单元在一个步骤中确定该控制单元或其它控制单元的应用程序的执行时间。在另一步骤中,该执行时间通过第一时间确定单元来进一步处理。例如,第一时间确定单元可以在另一步骤中相对于实时时间影响系统时间并且例如使系统时间加快或变慢。由此,有利地,模拟执行的加快或变慢,因为对于执行应用程序需要更多或更少的系统时间。换言之,在时间确定单元与应用程序之间进行实时时间方面的动态反馈。

在另一设计方案中,第一时间确定单元与实时时间无关地和/或在该控制单元上执行应用程序期间确定执行时间。与此相应地,第一时间确定单元、尤其是虚拟时钟与真实时钟及其实时时间无关地确定该控制单元或其它控制单元的应用程序的执行时间。替代地或附加地,第一时间确定单元在该控制单元上执行应用程序期间实施该确定。因而,不仅该确定而且执行应用程序并行地被实施。有利地,该控制单元借此可以在不中断的情况下运行并且不发生在运行时的时间浪费或者各个程序的执行时间的延迟。

在另一设计方案中,第一运行模式是时间确定模式,和/或第二运行模式是正常模式。与此相应地,上述对执行时间的确定在时间确定模式下实施并且时间确定单元是活跃的。不同于此,上述对执行时间的确定在正常模式下没有实施并且该时间确定单元因此是不活跃的。由此,有利地,不干扰正常运行。此外,其它模式也是可设想的。

在另一设计方案中,该控制单元还具有第二时间确定单元、尤其是实时时钟。

在另一设计方案中,第二时间确定单元在第二运行模式下确定系统时间并且该第二时间确定单元可从第二运行模式变换到第一运行模式。

与此相应地,该控制单元除了第一时间确定单元之外还具有第二时间确定单元。第二时间确定单元是用于检测系统时间的实时时钟或真实时钟。在正常模式下,系统时间对应于实时时间并且实时时钟是活跃的。而系统时间在时间确定模式下可能不同于实时时间。在两种运行模式之间可以任意地进行变换,双向地进行变换。

在另一设计方案中,所确定的执行时间被进一步处理。与此相应地,确定的结果、即执行时间可以被进一步处理。例如,可以执行实际值/理论值比较。相对应地,可以将执行时间与理论值(预先确定的极限值)进行比较。性能低的控制单元的所确定的执行时间可以与极限值、例如这里是最大执行时间进行比较。在超过最大执行时间时,可以做出判断。在这种情况下,可以做出用性能更高的控制单元来更换性能低的控制单元以便使执行时间最小化的判断。换言之,可以检查:当前的控制单元基于所确定的执行时间是否应该被性能更高的、性能更低的、更适宜的等等的控制单元更换。除了实际值/理论值比较之外或者替代于实际值/理论值比较,还可应用其它算法或方法步骤。

本发明还涉及一种用于确定应用程序的执行时间的方法。

本发明还涉及一种具有计算机程序的计算机程序产品,所述计算机程序产品具有用于当所述计算机程序在程序控制装置上执行时实施上面描述的方法的装置。

计算机程序产品、诸如计算机程序装置例如可以作为存储介质(诸如存储卡、usb记忆棒、cd-rom、dvd)或者也可以以从网络中的服务器的能下载的文件的形式来提供或者供应。这例如可以在无线通信网络中通过传输具有计算机程序产品或者计算机程序装置的相对应的文件来实现。尤其考虑控制装置,诸如工业控制pc或存储器可编程控制器或可编程逻辑控制器(programmablelogiccontroller,简称plc)或者智能卡的微处理器或者诸如此类的,作为程序控制装置。

附图说明

在如下详细的描述中,本发明的优选的实施方式参考如下附图进一步予以描述。

图1示出了自动化设备的按照本发明的用于确定(a)在正常模式下和(b)在时间确定模式下应用程序的执行时间的控制单元。

图2示出了按照本发明的一个实施方式的(a)在正常模式下和(b)在时间确定模式下的时间图。

具体实施方式

在下文,本发明的优选的实施方式参考附图予以描述。

图1示出了按照本发明的用于实施对应用程序的执行时间的确定的控制单元1。如所示出的那样,第一时间确定单元10作为一个组成部分集成到控制单元1中。第一时间确定单元10例如是虚拟时钟。此外,实时时钟作为第二时间确定单元20集成到控制单元1中。虚拟时钟10的时间进展可以与实时时间无关地进行。

此外,控制单元1执行应用程序30并且执行时长或执行时间是应用程序30为了执行而需要的时长。该执行时间以及因此应用程序30的可察觉到的执行速度可以借助于虚拟时钟10来检测。为此,针对应用程序的每个当前执行的指令来确定:该指令的执行时间在所希望的应用情况下是多大,例如平均时间、线性缩放值、最差情况值或该指令在其它控制装置上的统计学执行时间。所确定的时间被加到虚拟时钟的值。在结束程序运行(周期)之后,可以在虚拟时钟上确定执行时间。

如在常见的控制单元1中那样,相对于控制单元1的系统时间来执行应用程序30。该时间可以被用于检测时间戳并且被用于触发时间控制的事件。控制单元1可以以两个不同的模式或运行方式来实施,也就是第一运行模式42、即正常模式和第二运行模式44、即时间确定模式。控制单元1可以通过开关40在这两个运行模式42、44之间任意地来回变换或转换。在此,该开关可以是软件。

在正常模式44下,控制单元1的实时时钟20规定系统时间。因此,系统时间与实时时间22一致。正常模式44对应于在传统的控制单元1中的正常的执行机制。

在时间确定模式42下,虚拟时钟10可以替代在控制单元1中的实时时钟20并且确定控制单元1(示出)和/或其它控制单元(未示出)的系统时间。换言之,在时间确定模式42下实施按照本发明的确定。因而,在这种情况下,系统时间可以区别于实时时间22。因此,应用程序30不再“尽可能快地”实时地运行,而是基于虚拟时钟10更快地或更慢地进展。因而,应用程序30仍然可以相对于实时时间22以相同的速度运行,因为只是系统时间的进展被改变。

例如,虚拟时钟10可以实施如下功能,以便利用虚拟时钟10(示出)或其它控制单元(未示出)来确定控制单元1的执行时间。为了简化地描述如下工作原理,控制单元1也被称作第一控制单元,而其它控制单元被称作第二控制单元。

在一个实施方式中,可以借助于统计学运行时间数据来模拟最大执行时间。依据事先收集的关于当前类型的控制单元的指令的运行时间的统计学数据,虚拟时钟可以确定执行时间。在此,各个被执行的指令的运行时间根据其最大时长人工地被延长,并且在此使系统时间相对于实时时间加快。因此,有效地模拟了执行的变慢,因为需要更多系统时间来执行程序。所得到的运行时间对应于对当前的控制单元的“最差性能”的估计。

在一个实施方式中,可以借助于统计学运行时间数据来模拟第二控制单元中的最大执行时间。首先,收集关于第一控制单元的sps指令的运行时间的统计学数据。然后,虚拟时钟可以基于这些统计学数据根据第一控制单元的各个sps指令的执行时间的最大时长来确定第二控制单元的针对第一控制单元的各个sps指令的执行时间。因此,系统时间根据第二控制单元的性能有效地加快,例如对于较慢的sps来说加快,或者变慢,例如对于较快的控制单元来说变慢。那么,所得到的运行时间对应于第二控制单元的特性。

在一个实施方式中,第二sps的性能可以借助于相对性能因子来模拟。与此相应地,该虚拟时钟可以将系统时间确定为实时时间的线性表示,例如针对第二控制单元并且基于相对于第一控制单元的相对应的性能因子来将系统时间确定为实时时间的线性表示。斜率例如是相对性能因子的倒数。因此,相对于实时时间产生系统时间的线性加快、例如对于较慢的控制单元来说的线性加快,或者产生系统时间的线性变慢,例如对于较快的控制单元来说的线性变慢。系统时间上的变化对应用程序的执行有影响。例如,时间控制功能在系统时间加快(或变慢)的情况下关于真实时间更频繁地(或更少地)被激活,并且这将导致后台过程的更频繁的(或更少的)中断,对在性能较低的(或性能较高的)控制单元中的执行的模拟对应于相对性能因子。与此相应地,相对性能因子反映了如下预期:例如具有高出50%时钟速率的设备例如快25%或者具有八核处理器的设备是具有双核处理器的设备的两倍那么快。

在本发明的另一实施方式中,集成的虚拟时钟可以与应用程序的执行并行地确定第一和/或第二控制单元的执行时间。替代地,应用程序的执行也可以中断,例如在确定时间段内中断,以便满足其它功能或者转换到休眠状态和因此第三运行模式下。第三状态也被称作freezemode(冻结模式),并且用于检查状态和故障探测等等。

有利地,对线性表示的确定与很低的计算机花费相关联并且完全没有或者不显著地影响总执行时长。而根据事先收集的统计学数据的时间确定可能导致执行时间更长。有利地,然而在这种情况下只根据已知的数据来确定系统时间的时间值。因而,不需要花费高的并且费时的测量。通过权衡相应的优点和缺点以及相应的应用目的,可以任意地选择相对应的功能。在此,对系统时间的相对应的计算与在确定期间应用程序的实际时长无关,并且为此所需的执行时间对结果没有影响。

在本发明的另一实施方式中,通过虚拟时间相对于实时时间的变慢和加快可以仿真:应用程序30会在性能较低的或性能较高的控制单元1上如何表现。因为时间相关的任务(定时器、唤醒报警等等)可以基于虚拟时间来启动并且可以使程序执行不改变地进展,所以可以测试较慢的或较快的处理器的效果。该测试回答了:周期时间是否受损以及并行的过程是否可以足够快地被处理完。

在本发明的另一实施方式中,可以进一步分析所确定的执行时间。该进一步分析可以通过控制单元或者通过工程系统来实现。为此,控制提供了如下可能性:设定执行时间确定的各个参数并且自动化地询问结果(执行时间)。于是,利用所获得的值可以执行其它统计学计算(平均值、最小值和最大值、标准差、长时间曲线等等)。为此,工程系统本身可以提供功能,或者可以使用软件或其它应用。例如,对在工程系统中的应用程序的时间要求的满足可按照针对该应用程序所拟定的时间配置来监控。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1