一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于执行面向事件的控制程序的执行环境的制作方法

2022-06-30 02:05:12 来源:中国专利 TAG:


1.本发明涉及一种用于执行可编程逻辑控制器的面向事件的控制程序的执行环境和一种用于执行可编程逻辑控制器的面向事件的控制程序的方法。


背景技术:

2.可编程逻辑控制器在自动化技术中用于控制自动化过程和机器流程。为此,可编程逻辑控制器通常与传感器连接,传感器采集自动化过程的状态并且将代表过程状态的传感器信号传输给控制器。然后,控制器基于所读取的传感器信号的逻辑关联产生用于控制执行器的输出信号,其中执行器基于输出信号影响自动化过程的状态。传感器例如可以是位置传感器、旋转传感器、开关、光栅等,而执行器例如可以是驱动器、继电器或接触器。
3.用于处理读取的传感器信号和用于产生输出信号的逻辑关联通常是可编程逻辑控制器的控制程序的组成部分,该控制程序存储在控制器的存储器模块中。为了执行控制程序,可编程逻辑控制器通常包括执行环境,该执行环境以预先给定的顺序执行控制程序的控制指令。附加地,执行环境可以管理执行控制命令所需的工作存储器和/或协调传感器信号的读取以及输出信号的输出。
4.为了确保对自动化过程的可靠控制,执行环境通常必须被配置为,在读取传感器信号之后,在预定义的反应时间内提供输出信号。这种系统也被称为实时控制系统。在此,执行环境必须确保与系统的负载和控制程序的设计无关地、例如与可能的编程错误无关地遵守预定义的反应时间。在超过反应时间的情况下,执行环境可以启动适当的错误反应。在预定义的反应时间内提供输出信号例如也可以是自动化过程的安全定向的控制的先决条件。
5.通常,具有实时能力的控制系统借助周期的执行环境来实现。在这种执行环境中,对于传感器信号的读取、输出信号的计算和输出信号的输出,在每个周期内定义固定的时间窗,其中,各个时间窗在多个周期上依次周期性地重复。然后,时间窗也定义了控制系统的最大反应时间。因此,在周期的控制系统的情况下,为了监控反应时间,在每个处理周期结束时检查是否存在所有需要的输出数据就足够了。
6.除了周期的控制程序和执行环境之外,在自动化技术中还使用事件控制的控制程序,例如在标准iec 61499中定义的控制程序。这种控制程序包括多个功能模块,其中,传感器信号的读取、读取的传感器信号的逻辑关联或输出信号的输出分别通过各个功能模块和附加的用户定义的程序文本(代码)的组合来实现。在此,功能模块的执行以事件控制的方式在出现分别与各个功能模块相关联的激活事件时进行,其中,在执行之前的功能模块时产生随后要执行的功能模块的激活事件。
7.此外,事件控制的执行模型适用于分布式控制系统,但由于缺乏预定义的处理周期,因此不能够确保在执行时间内遵守预定义的反应时间。为了降低超过反应时间的概率,在事件控制的控制器中的计算能力通常被大大地过度设计,例如超过50%。由此降低了在高负载的情况下不再有足够的计算能力用于及时执行功能模块的概率,然而其中仍然不能
确保对预定义的执行时间的遵守。


技术实现要素:

8.本发明要解决的技术问题是,提供一种具有改进的实时能力的、用于执行面向事件的控制程序的执行环境和用于执行面向事件的控制程序的方法。
9.上述技术问题通过根据本发明的用于执行面向事件的控制程序的执行环境和用于执行面向事件的控制程序的方法来解决。本发明还给出了扩展方案。
10.提出了一种用于执行可编程逻辑控制器的面向事件的控制程序的执行环境,其中,该控制程序包括多个要依次执行的功能模块。在此,执行环境被设计为,在发生分别与各个功能模块相关联的激活事件时事件控制地执行功能模块,其中,要依次执行的功能模块的各个激活事件形成事件链。执行环境包括用于监控事件链的功能模块的执行持续时间的监控模块,其中,监控模块被设计为,检查执行持续时间是否超过预先给定的持续时间。
11.在本发明的范围内已经认识到,即使在面向事件的控制程序的情况下,也能够通过以下方式实现对预先给定的执行持续时间的遵守,即分别形成要依次执行的功能模块的事件链并且监控执行各个事件链所需的时间。在超过预先给定的持续时间的情况下,然后可以进行预定义的反应、例如停止控制程序的执行,和/或触发超过反应、例如将受控的机器转移到安全状态中。这尤其能够实现,也使用面向事件的控制程序来实现实时应用,在实时应用中,必须在预先给定的持续时间内进行对由控制器接收的传感器信号的反应。
12.控制程序的功能模块可以分别包括至少一个逻辑关联,其中,各个功能模块的逻辑关联的执行分别通过与各个功能模块相关联的激活事件触发。各个功能模块的逻辑关联例如可以是相关的功能模块的算法的相应的组成部分。控制程序的要依次执行的功能模块可以分别被设计为,在其执行时产生激活事件,激活事件触发事件链的分别紧接着随后要执行的功能模块的执行。就此而言,事件链的功能模块例如通过事件连接这样相互连接,即每个后续的功能模块的激活事件在执行直接在前面执行的功能模块时产生。在此,事件连接可以分别定义激活事件在各个功能模块之间的关系。控制程序例如可以满足标准iec 61499的规定,并且功能模块例如可以是在该标准中定义的功能块(function block)。
13.通常,事件链可以分别包括所有的激活事件,激活事件基于预先给定的开始事件产生,以便触发要依次执行的功能模块的执行,直至要作为事件链的最后一个功能模块执行的终止模块。开始事件例如可以是外部激活事件,外部激活事件在激活执行环境的外部输入接口时被提供。外部输入接口例如可以是与控制单元的对执行环境进行执行的执行资源的接口。特别地,外部输入接口可以是执行控制程序的设备的外部接口,例如传感器输入端。
14.例如,可以基于通过控制单元接收到的传感器信号来提供开始事件,例如在通过控制单元接收到传感器信号时或在通过控制单元接收到的传感器信号的状态变化时。通过开始事件作为第一功能模块而激活的开始模块例如可以是根据iec 61499配置为应答器功能块(responder function block)的服务接口功能块(service interface functionblock)。
15.终止模块通过事件链的最后一个功能模块来定义,在执行终止模块之后不再产生用于执行控制程序的其他功能模块的激活信号。终止模块例如可以是如下的功能模块,该
功能模块被设计为,通过执行环境的外部输出接口输出用于执行器的输出信号。终止模块例如可以是根据iec 61499配置为请求者功能块(requester function block)的服务接口功能块(service interface functionblock)。终止模块也可以是如下的功能模块,该功能模块被设计为,在其执行时改变控制器的内部状态或者存储数据值以用于进一步使用,例如用于在执行控制程序期间进一步使用。
16.预先给定的持续时间例如可以定义控制器对输入信号的反应时间。输入信号例如可以触发事件链的开始模块的激活。事件链例如可以包括通过经由输入接口接收传感器信号而触发的所有激活事件,这些激活事件依次产生,直到已经执行了基于传感器信号执行的终止模块,并且例如通过输出接口输出基于传感器信号产生的输出信号,或者基于传感器信号改变状态,或存储基于传感器信号产生的数据值。
17.在控制程序的执行时间和/或在事件链的各个功能模块的执行时间,检查执行持续时间是否超过预先给定的持续时间。监控模块可以与执行环境的执行模块分开地构造,所述执行模块执行事件链的各个功能模块。这种执行模块例如可以包括调度器。执行模块例如可以管理事件队列,在事件队列中存储还要执行的激活事件。执行环境或执行模块例如可以被构造用于,借助fifo方法(fifo:first-in-first-out,先进先出)或lifo方法(lifo:last-in-first-out,后进先出)处理存储在队列中的激活事件。
18.控制程序例如可以包括多个事件链,并且执行环境可以被设计为,彼此相继地或并行地执行各个事件链。监控模块于是可以被设计为:分别检查各个事件链的功能模块的执行持续时间是否超过针对各个事件链分别单独预先给定的持续时间。在此,针对各个事件链分别单独预先给定的持续时间可以是相同的或者也可以至少部分或完全彼此不同。
19.执行环境可以包括多个可彼此分开执行的子环境,其中,各个子环境被构造为,在控制器的分开的执行资源上执行。执行资源例如可以是任务、处理器等。例如,执行资源可以是iec 61499中定义的资源。
20.通常,执行资源可以通过控制器的一个或多个逻辑单元提供,例如通过cpu或微处理器提供。在此,执行资源可以提供允许在逻辑单元上执行控制程序的机制和上下文信息。在此,各个逻辑单元可以被构造用于并行地并且彼此独立地提供多于一个、例如两个执行资源。
21.通过监控模块对执行持续时间的监控例如可以限制于在相同的执行资源上或在相同的子环境中执行的功能模块。因此,例如当在不同的子环境中执行不同优先级的程序部分或事件链时,可以在监控中考虑各个功能模块的不同执行优先级。通常,控制程序的各个事件链可以分别仅包括功能模块,所述功能模块分别在可编程逻辑控制器的相同执行资源上执行。替换地,事件链中的至少一个也可以包括在不同的执行资源上执行的功能模块。
22.监控模块可以被设计为,根据时间戳确定已经经过的执行持续时间,所述时间戳指示执行持续时间的开始。在此,监控模块可以将时间戳与当前时间进行比较,以便确定已经经过的执行持续时间。监控模块也可以被配置为借助周期脉冲发生器确定已经经过的执行持续时间,其中监控模块被配置为对由脉冲发生器产生的脉冲进行计数,并且从脉冲的数量中确定已经经过的执行持续时间。
23.所监控的执行持续时间可以以事件链的第一功能模块的执行开始来开始。替换地,所监控的执行持续时间也可以从开始事件的生成开始,以考虑在开始事件的生成与第
一功能模块或事件链的开始模块的执行的开始之间的延迟。
24.所监控的执行持续时间还可以包括在产生开始事件之前经过的附加的延迟时间。附加的延迟时间例如可以包括如下时间段,该时间段自对开始事件的产生进行触发并且在执行环境之外出现的外部起源事件以来已经过去,例如自产生或采集对事件链的执行进行触发的传感器信号以来已经过去。延迟时间也可以包括死区时间,死区时间在通过数据连接、例如通过现场总线连接读取传感器信号时出现。
25.监控环境可以被设计为,通过检查执行环境的事件队列的填充水平来确定执行持续时间。在此,执行环境或执行模块可以针对每个事件链或针对每个开始事件管理单独的队列。当队列为空时,到达执行持续时间的结束。
26.执行环境或执行模块可以被构造用于执行事件控制的时间序列控制(eventtriggered scheduling,事件触发的调度)。执行环境也可以被构造用于,将可编程逻辑控制器的可用的计算能力根据预先给定的标准例如均匀地分配到控制程序的各个功能模块上(fair scheduling,公平调度)。为此,执行环境可以实现周期的时间序列控制。例如,执行环境可以周期地查询功能模块的所有实例的未发生的激活事件(cyclic scan approach,周期扫描方法)并且根据预先给定的顺序处理未发生的激活事件。
27.执行环境或执行模块可以被设计为,周期地处理针对各个功能模块存在的激活事件。在此,监控模块可以被设计为,通过如下方式确定执行持续时间,即,监控模块在每个周期结束时检查:是否已经执行了所有通过相关的周期的激活事件触发的功能模块。超过预先确定的持续时间于是可以例如通过如下方式来确定,即在结束一个处理周期之后还存在结束的处理周期的尚未发生的、未处理的激活事件。监控模块例如可以被构造为,在每个处理周期之后聚合事件链的各个功能模块的未发生的激活事件。
28.执行环境或执行模块可以被构造为,例如借助功能模块分别分配的队列和/或借助标记将各个激活事件分别分配给预定的、例如当前的处理周期。各个队列或标记在此可以分别仅包含或显示各个功能模块的激活事件。
29.监控模块可以被配置为,用于在执行事件链的最后一个功能模块之后一次地检查执行持续时间是否超过预先给定的持续时间。这能够实现对执行持续时间的资源节约的监控。
30.监控模块也可以被配置为,用于分别在执行与事件链相关联的各个激活事件的功能模块之后检查执行持续时间是否超过预先给定的持续时间。由此,已经可以在处理事件链期间及时地确定超过预先给定的持续时间并且启动相关联的超过反应。同时,用于监控执行持续时间的计算开销保持得较低。
31.监控模块例如可以被配置为,用于周期性地检查执行持续时间是否超过预先给定的持续时间。
32.监控模块例如可以与执行模块并行地执行,例如作为单独的任务来执行。监控模块也可以包括定时器、例如硬件定时器,其与执行模块并行地执行。定时器一到期就能产生中断。
33.例如,定时器可以以预先给定的持续时间初始化并且在事件链的执行开始时开始,以及在事件链的执行结束时结束。监控模块于是可以通过以下方式确定超过预先给定的持续时间:定时器在执行事件链期间到期。
34.定时器也可以以周期持续时间初始化,在该周期持续时间之后应当检查:是否已经执行了事件链的所有功能模块以及是否已经超过了预先给定的持续时间。定时器可以在事件链执行开始时启动。如果监控模块在定时器到期之后确定事件链的所有功能模块还没有被执行,但是也还没有超过预先给定的持续时间,则定时器可以重新以周期持续时间初始化并启动。
35.执行环境也可以包括统计模块,所述统计模块被配置为用于例如分别在各个功能模块的执行之后,统计地分析经过的执行持续时间。例如,统计模块可以确定各个激活事件在其处理时的寿命的统计参量,例如最小值和/或最大值和/或平均值。借助这种统计模块,可以在处理事件链时简单地定位触发超过预先给定的持续时间的延迟。
36.各个激活事件的寿命可以是自执行持续时间开始以来经过的时间段。例如可以在相关的激活事件在前面的功能模块的事件输出端处提供时和/或在相关的激活事件在相关的功能模块的事件输入端处输入时和/或在相关的激活事件通过相关的功能模块的执行算法处理时计算各个激活事件的寿命。各个激活事件的寿命例如可以根据至少一个表示执行持续时间的开始的时间戳来计算。
37.在执行环境的一种实施方式中,事件链的第一激活事件形成在执行环境的外部输入接口激活时产生的开始事件,和/或要依次执行的功能模块中的最后一个形成用于引起系统反应的终止模块。作为执行持续时间,因此可以监控在输入接口的激活与基于输入接口的激活进行的系统反应之间的反应时间。这实现了对经由输入接口接收的输入信号的反应时间的有效监控。
38.系统反应例如可以包括激活执行环境的外部输出接口。替换地或附加地,系统反应也可以包括执行环境的内部状态的改变,例如在执行环境内管理的对象的内部状态的改变。替换地或附加地,系统反应也可以包括存储数据值以供进一步使用。
39.控制程序的各个事件链可以分别被定义为使得各个事件链的开始模块分别通过激活执行环境的外部输入接口来激活,并且各个事件链的终止模块分别触发执行环境的系统反应。例如,可以针对由这种开始模块和这种终止模块构成的每个组合定义自己的事件链。
40.根据一种实施方式,执行环境被配置为用于产生指示执行持续时间的开始的时间戳,并且监控模块被配置为用于通过将时间戳与当前时间进行比较来确定执行持续时间。这种时间戳能够以简单的方式确定在任意后续时间点已经经过的执行持续时间。此外,当事件链的激活事件在执行环境的多个不同的子环境中被处理时,例如通过在执行环境的各个子模块之间的事件连接上传输时间戳,这样的时间戳使得能够可靠地确定执行持续时间。
41.时间戳例如可以指示开始执行事件链的开始模块的时间点。替换地或附加地,时间戳还可以指示创建开始事件的时间点。由此,可以在检查执行持续时间时考虑开始事件的创建与开始模块的执行之间的延迟。
42.时间戳还可以考虑创建开始事件之前的附加延迟时间。延迟时间可以包括由于非确定性数据处理和/或非确定性数据传输、例如传感器信号的非确定性数据传输而出现的、在创建开始事件之前的延迟。特别地,延迟时间可以包括用于传感器信号经由总线系统的数据传输的死区时间。
43.监控模块可以被配置为用于分别通过将当前时间与相应执行的功能模块的激活事件的时间戳进行比较来检查执行持续时间。该检查例如可以分别在执行各个功能模块之后一次地进行,或者也可以在其执行期间进行。监控模块可以被配置为用于分别仅在事件链的各个功能模块执行之后将时间戳与当前时间进行比较。监控模块也可以在执行事件链的各个功能模块期间将时间戳与当前时间进行比较,例如多次或周期性地进行比较。
44.执行环境例如可以被构建为用于将相同的时间戳与事件链的所有激活事件相关联。
45.根据一种实施方式,执行环境被配置为用于首先将时间戳与事件链的触发第一功能模块的执行的开始事件相关联。在执行各个功能模块时,分别建立用于随后要执行的功能模块的激活事件,并且将相应执行的功能模块的激活事件的时间戳与随后要执行的功能模块的激活事件相关联。由此使得能够在控制程序的运行时间期间迭代地将时间戳与事件链的所有激活事件相关联。
46.执行环境可以例如在控制程序的运行时间期间和/或在其创建时将时间戳与开始事件相关联。随后,在控制程序的运行时间期间和/或在其相应创建时,执行环境也可以将时间戳与事件链的所有随后基于开始事件创建的激活事件相关联,例如通过复制相应执行的功能模块的时间戳。用于随后要执行的功能模块的激活事件可以分别在各个功能模块的执行期间或结束时产生。
47.根据一种实施方式,用于执行功能模块的执行环境包括多个可彼此分开执行的子环境,其中,子环境可以在控制器的分开的执行资源上执行。事件链包括由事件链的开始事件触发并且在第一子环境中执行的第一功能模块和由事件链的时间上紧接着的后续事件触发并且在第二子环境中执行的第二功能模块。此外,监控模块包括第一子模块和第二子模块,其中,第一子模块被配置为用于监控在第一子环境中的执行持续时间,并且其中,第二子模块被配置为用于监控在第二子环境中的执行持续时间。
48.基于监控模块的子模块也可以实现跨资源地监控执行持续时间是否超过预先给定的持续时间。在此,子模块可以通过通信连接彼此连接,其中,通过通信连接交换用于确定已经经过的执行持续时间的信息。例如可以通过通信连接将关于在执行期间在第一子环境中经过的执行持续时间的信息从第一子模块传输到第二子模块。通信连接例如可以通过总线系统、例如现场总线系统在第一与第二执行资源之间实现。
49.所传输的信息例如可以直接包括执行期间已经在第一子环境中经过的子执行持续时间或者由子执行持续时间构成。第二子环境则可以在监控执行持续时间时考虑子执行持续时间,例如通过其将子执行持续时间与在第二子环境中确定的另外的子执行持续时间相加。
50.所传输的信息可以包括执行持续时间的开始的时间点或者由该时间点构成。例如,所传输的信息可以包括包含执行持续时间的开始的时间戳或者由这种时间戳构成。例如,时间戳可以例如通过连接第一和第二子环境的事件连接从第一执行环境传输到第二执行环境。然后,在第二子环境中,时间戳可以与事件链的在第二子环境内创建的第一激活事件相关联。附加地,还可以将时间戳分与在第二执行环境上创建的所有其他激活事件相关联。如果第二子环境被构建为用于根据与各个激活事件相关联的时间戳来确定执行持续时间,则可以在创建要在第二子环境中执行的第一功能模块的激活事件的时间戳时考虑子执
行持续时间。
51.根据一种实施方式,执行环境被配置用于通过通信连接将指示所监控的执行持续时间的开始的时间戳从第一子环境传输到第二子环境。由此,第二子模块可以通过如下方式以简单的方式确定执行持续时间:将所传输的时间戳与当前时间进行比较。
52.就此而言,所传输的时间戳表示用于确定在执行期间已经在第一子环境中经过的执行持续时间的上述信息。为了确定当前时间,第一和第二子环境可以包括彼此同步的时间基础。
53.根据一种实施方式,执行环境包括第一与第二子环境之间的通信信道,其中,执行环境被配置为用于经由通信信道将通过第二子模块确定的、超过预先给定的持续时间传输给第一子模块。由此也使得第一子模块能够触发通过超过预先给定的持续时间触发的超过反应。
54.例如,执行事件链的功能模块的所有设备都可以执行超过反应,尤其是在不同设备上实现的子模块的情况下。
55.用于传输所确定的超过预先给定的持续时间的通信信道也可以称为超过信道。超过信道可以实施为两个子环境之间的双向通信信道。
56.除了第一和第二子环境之外,执行环境可以包括第三子环境,并且监控模块可以包括第三子模块。第三子环境和第三子模块能够在控制器的自身的执行资源上执行或者在控制器的自身的执行资源上执行。控制程序可以包括多个相继执行的另外的功能模块,所述另外的功能模块形成另外的事件链。另外的事件链的第一另外的功能模块在此可以在第一子环境中执行,并且第二另外的功能模块在此可以在第三子环境中执行。
57.第一子环境和第三子环境可以通过另外的通信信道彼此连接。执行环境可以被配置用于,通过另外的通信信道将通过第二子模块确定的并且通过通信信道传输给第一子模块的、对预先给定的持续时间的超过传输给第三子模块。接收经由另外的通信信道传输的对预先给定的持续时间的超过于是可以触发第三子模块的超过反应。
58.通常,在超过用于执行事件链的预先给定的持续时间的情况下,可以在执行事件链的功能模块中的一个的所有执行资源中触发超过反应。超过反应也可以附加地在所有执行资源中触发,所述执行资源执行与事件链相关联的另外的事件链的功能模块。与事件链相关联的另外的事件链例如可以是包含至少一个功能模块的所有事件链,所述功能模块在与事件链的功能模块中的一个相同的子环境中执行。
59.与事件链相关联的另外的事件链也可以是用于控制通过控制程序控制的设备的设备部分和/或子功能的所有事件链。替换地或附加地,与事件链相关联的另外的事件链也可以包括与设备的预先给定的外围设备组,例如预先给定的传感器和/或执行器(例如驱动器、电动机等)组和/或io通道相关联的所有事件链,例如用于分析和/或控制外围设备组。由此,超过反应的执行可以被限制在事件链和所有与该事件链相关联的另外的事件链上,以及因此例如限制在对设备部分或所控制的设备的子功能上。
60.对于与事件链相关联的另外的事件链中的各个事件链,可以触发执行相关的另外的事件链的执行资源的不同的超过反应。例如,对于所述另外的事件链的一部分可以执行到安全状态中的转移作为超过反应,对于所述另外的事件链的另外的部分可以执行通过用户程序控制的停止。为此,可以在用于创建控制程序的编程环境中定义所属的事件链,例如
各个设备部分的事件链。此外,关联的事件链之间的关系可以是可定义的。
61.为了激活要在第二子环境中执行的功能模块,第一子环境可以通过事件信道与第二子环境连接。在此,在执行第一子环境中的最后一个功能模块之后,经由事件信道传输用于激活第二子环境中的第一功能模块的激活事件。与激活事件一起,也可以经由事件信道传输相关联的时间戳。
62.事件信道和/或超过信道例如可以通过将第一执行资源与第二执行资源连接的通信连接、例如总线系统来实现。通过第二子模块确定的、对预先给定的持续时间的超过可以通过超过信道借助超过消息传输给第一子模块。
63.在两个子环境之间可以设置多个事件信道,用于传输多个激活事件、例如用于传输多个事件链的激活事件。相应地,也可以在两个子环境之间设置多个超过信道。替换地,也可以在两个子环境之间设置仅一个单独的超过信道,例如当第一子环境在所有超过针对各个事件链的执行分别预先给定的持续时间的情况下分别触发相同的超过反应时。
64.第一子环境在通过第二子环境确定的超过预先给定的持续时间的情况下执行的第一超过反应可以不同于第二子环境在确定超过预先给定的持续时间的情况下执行的第二超过反应。
65.通常,在执行环境的所有实施方式中,所执行的超过反应可以由用户来配置。超过反应例如可以包括输出信号的输出。超过反应也可以触发单独的控制程序的执行或者向并行执行的另外的控制程序,例如向非安全导向的标准控制程序的输入。所述超过反应可以分别引起通过控制器控制的机器到安全状态中的转移。
66.此外,超过反应可以包括在执行环境的至少一个子环境中或者也在执行环境的所有子环境中中断控制程序的执行。然而,在超过预先给定的持续时间的情况下,控制程序也可以在至少一个子环境中或在所有子环境中继续执行。
67.经由超过信道,除了超过消息之外,还可以将诊断信息从第二子环境传输到第一子环境。诊断信息例如可以包括子环境的标志,在所述子环境中已经确定超过预先给定的持续时间。所述标志例如也可以是执行资源或控制器的执行子环境的子装置的标志。在第一子环境将通过第二子环境确定的超过预先给定的持续时间转发给另外的子环境的情况下,第一子环境可以将标志连同超过消息一起转发。在这些情况下,也可以在另外的子环境中确定,在哪个子环境中已确定超过预先给定的持续时间。
68.各个子环境可以被构造用于,评估所传输的标志并且根据所传输的标志执行超过反应,例如在不同的所传输的标志的情况下执行不同的超过反应。
69.附加地,诊断信息还可以附加地包括事件标志,其中,事件标志说明如下激活事件,在该激活事件的执行时已确定超过预先给定的持续时间。
70.替换地或附加地,各个子模块也可以被构造用于,直接存储诊断信息,例如存储在执行相应的子模块的子装置上或存储在经由数据连接而连接到各个子装置的中央装置上。
71.根据一种实施方式,执行环境包括通过通信信道与多个另外的子环境连接的子环境,其中,与多个另外的子环境连接的子环境被设计为,将通过通信信道之一接收到的超过预先给定的持续时间,通过其余的通信信道传输给所有其余的通过通信信道连接的子环境。这能够实现根据点对点原理轻松转发超过消息。
72.与多个另外的子环境连接的子环境可以被设计为,存储关于通信信道的信息,通
过所述通信信道接收到超过预先给定的持续时间,例如以便能够在稍后的时间点将所述信息提供给执行环境的评估模块。与多个另外的子环境连接的子环境可以被设计为,将诊断信息传输给所有其余的通过通信信道连接的子环境。因此,根据点对点原理不仅分布超过消息,而且还分布诊断信息。
73.在执行环境的一种实施方式中,控制程序包括至少两个事件链,所述至少两个事件链包括用于激活至少一个共同的功能模块的激活事件,其中,控制程序被设计为,在执行共同的功能模块之后产生第一事件链的第一激活事件,并且替换地或累积地产生第二事件链的第二激活事件。监控模块于是被设计为,检查第一事件链的功能模块的执行持续时间是否超过预先给定的持续时间,并且检查第二事件链的功能模块的执行持续时间是否超过另外的预先给定的持续时间,或者不执行检查第二事件链的功能模块的执行持续时间。
74.通过针对第一事件链的所有自执行共同的功能模块以来产生的激活事件和针对第二事件链的所有自执行共同的功能模块以来产生的激活事件,以不同的方式,尤其根据不同的预先给定的持续时间来监控超过预先给定的持续时间,可以灵活地适配对各个事件链的执行持续时间的监控,例如适配于在执行各个事件链时的不同的优先级或安全要求。
75.可以给第一激活事件和第二激活事件例如在它们在执行控制程序期间的产生中、例如以与相关的激活事件相关联的附加信息或属性的形式,分配不同的优先级或预先给定的持续时间。然后可以针对所有基于第一激活事件或基于第二激活事件产生的后续事件采用所述优先级或持续时间。由共同的功能模块产生的激活事件与第一和第二事件链的关联性或者第一和第二激活事件的优先级或预先给定的持续时间例如可以存储在控制程序中,并且例如在建立控制程序期间已经被分配。
76.共同的功能模块例如可以包括算法或逻辑关联,所述算法或逻辑关联产生中间信息。该中间信息于是可以由第一事件链的功能模块用于对执行器进行时间关键的和/或安全关键的控制,而第二事件链的功能模块在非时间关键的和/或非安全关键的功能的范围内进一步处理中间信息,例如存储中间信息以用于随后的分析。在这些情况下,针对第一事件链预先给定的持续时间可以不同于针对第二事件链预先给定的持续时间,或者可以仅检查第一事件链的执行持续时间是否超过预先给定的持续时间,而不检查第二事件链的执行持续时间。
77.在执行环境的一种实施方式中,监控模块被设计为,检查是否超过针对事件链的多个功能模块的执行预先给定的总持续时间。总持续时间也可以针对事件链的所有功能模块的执行被预先给定。通过针对执行事件链的多个或所有功能模块预先给定了总持续时间,可以通过快速执行其它的功能模块来补偿在执行各个功能模块时的延迟,而不会过早地确定超过预先给定的持续时间。
78.在执行环境的一种实施方式中,监控模块被设计为,检查是否超过针对事件链的各个功能模块的执行预先给定的单个持续时间。这能够实现,提前确定即将超过对于执行事件链的所有功能模块所允许的总持续时间。
79.在此,针对在执行环境的不同的子环境中执行的功能模块的单个持续时间可以预先给定不同的单个持续时间。在此,单个持续时间能够分别统一地针对所有在相应的相同的子环境中执行的功能模块预先给定。然而,也可以针对事件链的每个单独的功能模块单独地预先给定自己的单个持续时间。对于不同的单个持续时间中的至少一个,例如对于每
个单独的单个持续时间,也可以分别预先给定一个不受限制的持续时间。
80.监控模块可以被构造为,一旦确定超过单个持续时间中的一个,那么执行超过反应。超过反应可以分别与所超过的单个持续时间或超过了其单个持续时间的功能模块有关。
81.可以为监控模块预先给定各个功能模块,在执行所述功能模块时,例如在控制器的初始化期间暂停检查是否超过相关联的预先给定的单个持续时间。替换地或附加地,也可以预先给定子环境,暂停检查所执行的功能模块是否超过相关联的预先给定的单个持续时间。
82.在执行环境的一种实施方式中,监控模块被设计为,分别监控多个事件链的执行持续时间是否超过预先给定的持续时间,其中,分别根据触发各个事件链的开始事件来预先给定针对各个事件链预先给定的持续时间。这能够实现,在预先给定持续时间时,在各个开始事件之间进行区分,并且例如给时间关键的和/或安全关键的开始事件、例如基于时间关键的和/或安全关键的传感器信号的开始事件分配与时间非关键的和/或安全非关键的开始事件相比不同的持续时间、例如更短的持续时间。
83.在执行环境的一种实施方式中,监控模块被设计为,在超过预先给定的持续时间时触发超过反应、例如报警消息,和/或控制反应、例如用于将借助控制程序控制的机器转移到安全状态中的控制反应。超过反应尤其可以是安全反应。
84.监控模块可以被设计为,监控事件链的执行持续时间是否超过预先给定的持续时间并且附加地监控是否超过另外的预先给定的持续时间,并且在超过预先给定的持续时间时和在超过另外的预先给定的持续时间时触发不同的超过反应。例如,该另外的预先给定的持续时间可以短于该预先给定的持续时间,并且在超过另外的预先给定的持续时间时触发的另外的超过反应可以是面临超过预先给定的持续时间和随后被触发的超过反应的危险的预信息。
85.另外的超过反应例如可以是警告消息、例如警报或诊断消息,并且超过反应于是可以是控制反应、例如用于将借助控制程序控制的机器转移到非关键的和/或受控的和/或安全的状态中。
86.超过模块可以被设计为,一旦所监控的执行持续时间超过预先给定的持续时间,那么中断通过执行模块对功能模块的执行。在这些情况下,执行模块可以执行用于控制超过反应的超过程序,而不是事件链的功能模块。
87.在执行环境的一种实施方式中,监控模块被设计为,分别在执行与事件链的各个激活事件相关联的功能模块之后检查执行持续时间是否超过预先给定的持续时间。在监控模块的这种设计方案中,相对于例如连续监控执行持续时间,限制用于监控执行持续时间所需的计算能力。执行持续时间可以分别仅在执行与事件链的各个激活事件相关联的功能模块之后检查是否超过预先给定的持续时间。
88.在执行环境的一种扩展方案中,监控模块被设计为,在执行事件链的各个功能模块期间检查执行持续时间是否超过预先给定的持续时间。这能够实现对超过预先给定的持续时间的特别及时的反应。
89.此外,说明了一种用于执行可编程逻辑控制器的面向事件的控制程序的方法,其中,控制程序包括多个要依次执行的功能模块,并且其中,在发生分别与各个功能模块相关
联的激活事件的情况下以事件控制的方式执行功能模块。在此,该方法包括以下步骤:
[0090]-由要依次执行的功能模块的激活事件形成事件链;
[0091]-监控事件链的功能模块的执行持续时间;
[0092]-检查执行持续时间是否超过预先给定的持续时间。
[0093]
该方法可以是计算机实现的方法。该方法尤其可以借助所说明的执行环境来执行。相反地,执行环境可以被设计为,在控制器上执行时执行所说明的方法的各个或所有步骤。就此而言,结合执行环境公开的所有效果和扩展方案也涉及所说明的方法,反之亦然。
[0094]
由激活事件形成事件链例如可以在控制程序执行之前对控制程序进行分析时进行。对控制程序的分析例如可以借助用于创建控制程序的编程环境来执行。在形成事件链时,可以确定从开始模块开始依次为了执行终止模块而被执行的所有功能模块,并且在事件链中概括相关联的激活事件。类似地,可以针对起始模块和终止模块的所有可能的组合分别形成单独的事件链。
[0095]
此外,说明了一种具有存储器模块的可编程逻辑控制器,其中,在存储器模块中存储有所说明的用于由控制器执行的执行环境。控制器可以提供多个执行资源。在此,执行资源可以至少部分分布地布置在控制器的不同的子装置中。子装置可以通过通信连接、例如无线和/或有线连接彼此连接。通信连接例如可以是现场总线系统。子装置可以分别包括自身的、彼此分开构造的存储器模块,并且在存储器模块中可以分别存储有执行环境的要由相关的子装置执行的子环境。
[0096]
此外,说明了一种非易失性的计算机可读的介质,在非易失性的计算机可读的介质上存储有用于执行所说明的方法的各个或所有步骤的或用于实现所描述的执行环境的指令。计算机可读的介质例如可以被构造为物理介质、例如cd或dvd,或者被构造为通过数据连接、例如因特网可访问的数据存储位置。所述介质例如可以被构造为在线软件存储库或云数据存储器。
附图说明
[0097]
下面,根据附图示例性地说明本发明。在此,分别以示意图:
[0098]
图1示出了具有用于执行事件驱动的控制程序的控制器的机器;
[0099]
图2示出了控制程序的功能模块;
[0100]
图3示出了用于由控制器执行控制程序的执行环境;
[0101]
图4示出了控制程序的事件链;
[0102]
图5示出了预先给定持续时间的超过在控制器的执行资源之间的传输;
[0103]
图6示出了预先给定持续时间在控制器的执行资源之间的进一步超过的传输;
[0104]
图7示出了执行环境的另一实施方式;
[0105]
图8示出了执行环境的另一实施方式;
[0106]
图9示出了执行环境的另一实施方式;
[0107]
图10示出了执行环境的另一实施方式;
[0108]
图11示出了执行环境的另一实施方式;
[0109]
图12示出了执行环境的另一实施方式。
具体实施方式
[0110]
图1示出了机器1,机器1示例性地构造用于处理工件195。机器1包括输送机186和夹持器181,在输送机186上输送工件195,工件195借助夹持器181被输送机186接收并且随后被放置在其他位置。为了使夹持器181移动,机器1包括由第一执行器183驱动的横向运动机构182和由第二执行器185驱动的高度运动机构184。输送机186由第三执行器187驱动。执行器183、185、187在此分别被构造为电驱动装置。
[0111]
除了执行器183、185、187之外,机器1还包括测量夹持器181与输送机186上的各个工件195的距离的面向安全的传感器188和另一非面向安全的传感器189,传感器189被构造为用户接口并且可以通过其预先给定工件195的特征数据。
[0112]
机器1还包括可编程逻辑控制器5,可编程逻辑控制器5通过被构造为现场总线的通信连接60与执行器183、185、187和传感器188、189连接。可编程逻辑控制器5包括第一子设备310和第二子设备320,第一子设备310和第二子设备320彼此分开地连接到通信连接60上。通过通信连接60,将输入信号从传感器188、189传输到控制器5的子设备310、320,并且将输出信号从子设备310、320传输到执行器183、185、187。
[0113]
控制器5具有面向事件的控制程序10,其中,控制程序10的第一子程序11存储在第一子设备310的存储器模块中,并且控制程序10的第二子程序12存储在第二子设备320的存储器模块中。控制程序10包括用于经由通信连接60读取传感器信号、用于借助所读取的传感器信号的逻辑关联产生输出信号以及用于经由通信连接60将输出信号输出的所有指令。
[0114]
为了执行控制程序10,控制器5包括执行环境100,执行环境100具有在第一子设备310上执行的第一子环境101和在第二子设备320上执行的第二子环境102。执行环境100的子环境101、102分别包括用于执行控制程序10的执行模块120和用于由可编程逻辑控制器5监控控制程序10的执行持续时间的监控模块110的子模块111、112。在此,监控模块110的第一子模块111是第一子环境101的组成部分,并且监控模块110的第二子模块112是第二子环境102的组成部分。
[0115]
在执行控制程序10时,必须确保用于使夹持器181移动的执行器183、185在预先给定的持续时间内对经由面向安全的传感器188读取的输入信号作出反应,该输入信号用于指示夹持器181接近工件195。否则,存在夹持器181不受控制地与工件195碰撞并使工件195损坏的危险。就此而言,由面向安全的传感器188提供的输入信号是安全关键的输入信号。
[0116]
相反,通过传感器189读取的工件195的参数仅用于使夹持器181的移动最佳地匹配于工件195的惯性。为此,所读取的参数在执行控制程序10时用于产生用于执行器183、185的匹配的输出信号。匹配的输出信号的产生是控制程序10的非面向安全的一部分,该部分不受时间要求的约束。
[0117]
监控模块110被设计用于监控控制程序10的如下程序部分的执行持续时间是否超过预先给定的持续时间,该程序部分控制夹持器181对由安全关键的传感器188提供的输入信号的反应,并且在超过预先给定的持续时间时,作为超过反应,触发用于将使机器1转移到安全状态、即用于使夹持器181和输送机186停止的安全反应。例如当基于传感器189的传感器信号的匹配的输出信号的持续产生例如由于控制程序10的编程错误而没有被及时中断时,可能出现这样的在对传感器188的输入信号作出反应时超过预先给定的持续时间。
[0118]
控制程序10根据标准iec 61499的规定执行并且包括多个构造为根据iec 61499
的功能块的功能模块。在图2中示例性地示出了这些功能模块20中的两个。各个功能模块20分别通过事件连接80和数据连接82相互连接。在此,各个事件连接80分别将前面的功能模块84的事件输出与后续的功能模块85的事件输入连接。各个功能模块20通过事件输入接收激活事件,激活事件触发各个功能模块20的执行。各个功能模块20在其一侧通过事件输出提供激活事件,激活事件使得执行后续的功能模块85。在功能模块20之间经由数据连接82传输执行各个功能模块20所需的数据。
[0119]
图3示出了执行环境100在可编程逻辑控制器5的子设备310、320上的实现。为了执行控制程序10,第一子设备310提供第一执行资源311和第二执行资源312。第二子设备320提供第三执行资源321和第四执行资源322。执行环境100包括借助第一执行资源311执行的第一子环境101和借助第三执行资源321执行的第二子环境102。执行环境100的另外的子环境104相应地借助第二和第四执行资源312、322来执行。
[0120]
控制程序10包括第一应用15、第二应用16和第三应用17。应用15、16、17分别包括通过事件连接和数据连接相互连接的功能模块20,其中,第一和第二应用15、16分别包括开始模块21以及分别与相关的应用15、16的开始模块21连接的第一和第二终止模块27、28。第三应用17仅包括一个与开始模块21连接的终止模块27。在此,各个终止模块27、28可以分别经由在图3中未示出的附加的功能模块20与其各自的开始模块21连接。此外,各个应用15、16、17可以分别具有多于一个的开始模块21。开始模块21分别是根据iec 61499构造为应答器功能块的服务功能块。
[0121]
在执行控制程序10时,从各个开始模块21出发,依次执行所有通过事件连接彼此连接的功能模块20,直至执行各个终止模块27、28。第一应用15以分布式的方式在第一子环境101中借助第一执行资源311执行并且在第二子环境102中借助第三执行资源321执行。在此,使得执行第一终止模块27的程序部分完全在第一子环境101中执行,并且使得执行第二终止模块28的程序部分一部分在第一子环境101中并且一部分在第二子环境102中执行。第二应用16完全在借助第二执行资源312执行的另外的子环境104中执行,第三应用17分布在第二子环境102和借助第四执行资源322执行的另外的子环境104中。
[0122]
在所示出的控制程序10中,开始模块21的执行相应地通过外部起源事件45来触发,外部起源事件45包括通过传感器188、189检测到传感器信号132。传感器信号132经由通信连接60传输到控制器5的子设备310、320,并且经由与通信连接60连接的外部输入接口131由执行环境100的接口模块130读取。在执行终止模块27、28时,分别产生用于机器1的执行器183、185、187的输出信号134,输出信号134经由接口模块130的外部输出接口133和与输出接口133连接的通信连接60传输到执行器183、185、187。
[0123]
如果借助不同的执行资源311、312、321、322来执行彼此相继的功能模块20,则相关的功能模块20之间的事件连接和数据连接,通过将执行资源311、312、321、322相互连接的通信连接来执行,例如在执行资源311、312、321、322在不同的子设备310、320上实现的情况下通过在图1中示出的现场总线60,或者在执行资源311、312、321、322在同一子设备310、320上实现的情况下通过各个子设备310、320的内部总线系统。
[0124]
监控模块110被设计为用于监控控制程序5的用于执行各个终止模块27、28的程序部分的执行持续时间。为此,分别形成事件链,其中,各个事件链分别检测如下功能模块20的所有激活事件,作为对输入信号132中的一个的反应而依次执行这些功能模块20,直至执
行终止模块27、28中的一个为止。在此,针对输入信号132中的一个和基于相关的输入信号132执行的终止模块27、28中的一个的每个组合,形成一个自己的事件链。
[0125]
在图4中示例性地示出了第一事件链31,第一事件链31包括所有功能模块20的如下激活事件40,从第三应用17的开始模块21开始依次产生这些激活事件40,直至执行第三应用17的终止模块27为止。第一事件链31包括用于激活开始模块21的开始事件41以及用于顺序地激活两个另外的功能模块20和终止模块27的三个后续事件43。
[0126]
此外,在图4中示出了第二事件链32和第三事件链33,第二事件链32包括所有功能模块20的如下激活事件40,从第一应用15的开始模块21开始产生这些激活事件40,直至执行第一应用15的第一终止模块27为止,第三事件链33具有所有功能模块20的如下激活事件40,从第一应用15的开始模块21开始产生这些激活事件40,直至执行第一应用15的第二终止模块28为止。
[0127]
第二和第三事件链32、33分别通过相同的外部起源事件45或者通过相同的输入信号132触发。它们分别包括用于激活如下开始模块21的开始事件41,该开始模块21形成第二和第三事件链32、33的共同的功能模块24。此外,它们分别包括用于激活另一共同的功能模块24的后续事件43。在执行该另一共同的功能模块24之后,产生用于激活第一后续模块25的第一激活事件51和用于激活第二后续模块26的第二激活事件52。第一激活事件51是第二事件链32的一部分,并且第二激活事件52是第三事件链33的一部分。
[0128]
在第一激活事件51之后,第二事件链32还包括用于激活第一应用15的第一终止模块27的后续事件43。通过第二激活事件52激活的第二功能模块26同时形成第一应用15的第二终止模块28,从而第三事件链33在第二激活事件52之后不再包括另外的激活事件40。
[0129]
对于在图3中示出的控制程序10,最后也还产生在图4中未示出的第四和第五事件链。第四和第五事件链包括如下功能模块的所有激活事件,从第二应用16的开始模块21出发依次执行这些功能模块,直至执行第二应用16的第一或第二终止模块27、28为止。
[0130]
监控模块110被构造为用于执行第一检查95,在第一检查95中,检查第一事件链31的功能模块20的第一执行持续时间201是否超过第一预先给定持续时间。如果第一执行持续时间201超过第一预先给定持续时间,则监控模块110执行第一超过反应。
[0131]
第一执行持续时间201以触发第一事件链31的执行的起源事件45开始,并且以第一事件链31的终止模块27的执行的终止而结束。为了检查第一执行持续时间201,监控模块110产生第一时间戳,第一时间戳包含起源事件45的时间点。为此,监控模块110将产生触发开始模块21的开始事件41的时间点与如下的附加的延迟时间相加,自起源事件45起并且在经由数据连接60传输输入信号132期间经过该延迟时间。在产生后续事件43时复制时间戳,并且分别与后续事件43一起通过事件连接在功能模块20之间进行传输。
[0132]
与第一执行持续时间201的第一检查95类似,监控模块110被构造为用于执行第二检查96和第三检查97,第二检查96检查第二事件链32的功能模块20的第二执行持续时间202是否超过第二预先给定持续时间,并且第三检查97检查第三事件链33的第三执行持续时间203是否超过第三预先给定持续时间。在超过第二预先给定持续时间时,执行第二超过反应,并且在超过第三预先给定持续时间时,执行第三超过反应。
[0133]
因为借助第四执行资源322执行第一事件链31的终止模块27,因此第一检查95通过借助第四执行资源322执行的监控模块110的子模块来进行。第二检查96通过借助第三执
行资源321执行的监控模块110的子模块来进行,并且第三检查97通过借助第一执行资源311执行的监控模块110的子模块来进行。
[0134]
图5示出了在执行第一事件链31时在第四执行资源322上确定的第一预先给定持续时间的超过90,从第四执行资源322到第三执行资源321的传输。
[0135]
第三和第四执行资源321、322通过第二子设备320的内部通信连接61、例如内部总线连接来连接。通过内部通信连接61实现通信信道62,通过该通信信道将在第四执行资源322上确定的第一预先给定的持续时间的超过90传输到第三执行资源321处。基于所传输的超过90,监控模块110的在第三执行资源321上执行的子模块触发自身的超过反应。通过内部通信连接61附加地也传输用于激活第一事件链31的后续模块25之一的激活事件40。
[0136]
在替换的实施方式中,第三和第四执行资源321、322可以在控制器5的分开的子设备310、320上执行。在这种情况下,通信信道62也可以通过连接这两个子设备310、320的外部通信连接、例如通过现场总线60来执行。
[0137]
图6示出了对在通过通信连接60执行第二或第三事件链32、33时第二和第三预先给定的持续时间的超过90的传输。在此,示出了执行环境100的变型,在该变型中,第一应用15的第一终止模块27和第二终止模块28都在第三执行资源321上执行。
[0138]
为了传输在执行第二事件链32时第二预先给定的持续时间的超过90,并且为了传输在执行第三事件链33时第三预先给定的持续时间的超过90,通过通信连接60分别设置单独的通信信道62。通信信道62通过通信数据来实现,根据所述通信数据可以区分第一或第二执行持续时间202、203是否已经超过其各自的预先给定的持续时间。这使得能够根据执行持续时间202、203已经超过其预先给定的持续时间的事件链32、33来匹配在第一执行资源311中触发的超过反应。
[0139]
在替换的实施方式中,也可以通过单个通信信道62传输第一和第二预先给定的持续时间的超过90,使得传输的数据量减少。在这种情况下,在第一执行资源311中无法区分哪个事件链32、33超过了其预先给定的持续时间,并且总是执行相同的超过反应。
[0140]
图7示出了执行环境100的一种实施方式,其中,第二和第三事件链32、33的终止模块27、28在分开的执行资源中,即在第三执行资源321和另外的执行资源323中执行。在此,第一和第三执行资源311、321以及另外的执行资源323分别在控制器5的分开的子设备上实现,其中,子设备通过现场总线60彼此连接。在该实施方式中,在各个执行资源中确定的预先给定的持续时间的超过90也通过通信信道62在现场总线60上传输。
[0141]
在图8中示出了执行环境100的一种实施方式,其中,在第三执行资源321上执行的第二子环境102通过通信信道62不仅与第一子环境101连接,而且与另外的子环境104连接。附加地,第一子环境101和/或另外的子环境104在其方面通过通信信道62与执行环境100的另外的子环境104连接。
[0142]
监控模块110的在各个子环境101、102、104中执行的子模块分别被构造为,经由通信信道62将在执行事件链本身时确定的、预先给定的持续时间的超过转发到所有连接的子环境101、102、104和监控模块110的在其中执行的子模块。附加地,监控模块110的在各个子环境101、102、104中执行的子模块分别被构造为,将经由通信信道62之一接收到的超过,经由有其余的通信信道62转发。
[0143]
在图9中示出了执行环境100的一种实施方式,其中,仅检查第三事件链33的执行
持续时间203是否超过预先给定的持续时间,但是不检查第二事件链32的执行持续时间是否超过预先给定的持续时间。为此,在控制程序10中存储有如下信息,即,用于传输第一激活事件51的事件连接与执行持续时间不被检查的事件链32相关联,并且存储有另外的信息,即,用于传输第二激活事件52的事件连接与执行持续时间被检查的事件链33相关联。
[0144]
在控制程序10的运行时间期间创建激活事件51、52时,所存储的信息然后可以用于触发对第三事件链33的执行持续时间的检查并且禁止对第二事件链32的执行持续时间的检查。所述信息例如可以存储为与各个事件连接相关联的属性。一般地,对于控制程序10的每个事件连接可以存储如下信息:通过相应的事件连接所传输的激活事件是否是事件链的组成部分,所述事件链的执行持续时间是否被监控。
[0145]
在结合前述附图所描述的执行环境100的实施方式中,仅在执行终止模块27、28之后分别检查各个事件链31、32、33的执行持续时间是否超过预先给定的持续时间。在执行环境100的替换的实施方式中,也可以分别在执行各个功能模块20之后检查事件链31、32、33的执行持续时间是否超过预先给定的持续时间。
[0146]
这种替换的实施方式在图10中示出。在此,在执行第二功能模块20之后执行的检查95中已经确定了超过90预先给定的第一持续时间105,并且触发了超过反应。因此,与结合图1至图9描述的实施方式相比,在该实施方式中,在预先给定的持续时间150结束之后直到检查模块110确定预先给定的持续时间150结束之前经过更少的时间。
[0147]
如在图11中所示,对是否超过90预先给定的持续时间的检查95也可以在各个功能模块20的执行期间进行,例如以周期性的间隔进行。在这种实施方式中,是否超过90预先给定的持续时间被近乎即时地确定。
[0148]
图12示出了执行环境100的一种实施方式,其中,事件链31的执行持续时间通过以下方式检查是否超过预先给定的持续时间,即,监控用于执行事件链31的各个功能模块20的各个执行持续时间是否超过预先给定的各个持续时间220。与图12所示不同的是,用于执行各个功能模块20的预先给定的各个持续时间220在此也可以不一样长。在替换的实施方式中,附加地也可以检查事件链31的整体执行持续时间是否超过总持续时间,例如以周期性的时间间隔在功能模块20的执行期间和/或分别在各个功能模块20的执行之后和/或仅在终止模块27的执行之后进行检查。
[0149]
结合图9至图12描述的执行环境100的变型方案可以一起或单独地类似地存在于结合图1至图8描述的实施方式中。
[0150]
附图标记列表
[0151]
1 机器
[0152]
5 可编程逻辑控制器
[0153]
10 控制程序
[0154]
11 第一子程序
[0155]
12 第二子程序
[0156]
15 第一应用
[0157]
16 第二应用
[0158]
17 第三应用
[0159]
20 功能模块
[0160]
21 开始模块
[0161]
24 共同的功能模块
[0162]
25 第一后续模块
[0163]
26 第二后续模块
[0164]
27 第一终止模块
[0165]
28 第二终止模块
[0166]
31 第一事件链
[0167]
32 第二事件链
[0168]
33 第三事件链
[0169]
40 激活事件
[0170]
41 开始事件
[0171]
43 后续事件
[0172]
45 外部起源事件
[0173]
51 第一激活事件
[0174]
52 第二激活事件
[0175]
60 通信连接
[0176]
61 内部通信连接
[0177]
62 通信信道
[0178]
80 事件连接
[0179]
82 数据连接
[0180]
84 前面的功能模块
[0181]
85 后续的功能模块
[0182]
90 超过
[0183]
95 第一检查
[0184]
96 第二检查
[0185]
97 第三审查
[0186]
100 执行环境
[0187]
101 第一子环境
[0188]
102 第二子环境
[0189]
104 另外的子环境
[0190]
105 预先给定的持续时间
[0191]
110 监控模块
[0192]
111 第一子模块
[0193]
112 第二子模块
[0194]
120 执行模块
[0195]
130 接口模块
[0196]
131 外部输入接口
[0197]
132 输入信号
[0198]
133 外部输出接口
[0199]
134 输出信号
[0200]
181 夹持器
[0201]
182 横向运动学
[0202]
183 第一执行器
[0203]
184 高度运动学
[0204]
185 第二执行器
[0205]
186 输送机
[0206]
187 第三执行器
[0207]
188 安全定向传感器
[0208]
189 传感器
[0209]
195 工件
[0210]
201 第一执行持续时间
[0211]
202 第二执行持续时间
[0212]
203 第三执行持续时间
[0213]
220 单个持续时间
[0214]
310 第一子设备
[0215]
311 第一执行资源
[0216]
312 第二执行资源
[0217]
314 另外的执行资源
[0218]
320 第二子设备
[0219]
321 第三执行资源
[0220]
322 第四执行资源
[0221]
323 另外的执行资源。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献