CN109074279B - 实时环境及可编程逻辑控制器 - Google Patents
实时环境及可编程逻辑控制器 Download PDFInfo
- Publication number
- CN109074279B CN109074279B CN201780025087.XA CN201780025087A CN109074279B CN 109074279 B CN109074279 B CN 109074279B CN 201780025087 A CN201780025087 A CN 201780025087A CN 109074279 B CN109074279 B CN 109074279B
- Authority
- CN
- China
- Prior art keywords
- time
- function
- watchdog
- auxiliary
- monitoring function
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1134—Fieldbus
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
具有预定义任务运行时间的至少一个任务在实时环境中执行,其中应在预定义任务运行时间内处理具有不确定功能运行时间的至少一个辅助功能。为了处理所述功能,开始时间监视功能,所述功能在预定义任务运行时间内定义所述功能的终止时间,且接着所述功能被执行。所述时间监视功能监视功能运行时间,且如果过了预定义终止时间,则启动所述功能的终止。随后结束时间监视功能。
Description
技术领域
本发明关于实时环境以及可编程逻辑控制器。
背景技术
生产系统的致动器和传感器的控制通常藉助于可编程逻辑控制器(PLC)来完成,所述PLC可以作为外部器件和软件PLC存在。PLC通过合适的通信接口(例如现场总线)控制各个致动器和传感器。
致动器和传感器的控制在PLC上以所谓的任务形式进行。这些任务通常是循环地执行。为了更快地处理,PLC还可以跨处理器的多个核心或多个处理器分配任务。PLC在控制致动器和传感器的中心任务是与实际生产过程同步。
为了实现实时控制,必须确保要执行的任务在指定的最大时间内(例如,在一个循环可用的时间内)完全处理。此外,必须在没有时间波动(抖动)和在可预测的响应时间(延迟)的情况下完成任务的循环执行。
从EP 2 568 346 B1中已知,如果任务的运行时间长于指定的最大运行时间,则终止任务。如果由于超时而未执行任务,则输入变量将作为任务的输出变量输出。
另外,DE 102 43 856 B4还描述了一种具有功能块的控制器,其中功能块可以包含实时功能。如果所需的处理时间超过预定义的参考时间,则终止实时功能。
DE 10 2009 055 752 A1进一步公开了一种方法,其中可以中断任务以支持另一任务。
US 7,207,045 B2公开了使用分配给任务的时间窗来监视任务的运行时间。
除了使用PLC控制的致动器和传感器之外,生产工厂中通常还存在多个其他系统,需要由PLC将所述多个其他系统的功能与生产过程及其控制器同步。
因此,例如,视觉系统是现代生产设施的必要部分。它们用于物体检测、表面检查、测量或识别。在视觉系统中,必须执行多个图像处理和图像分析操作,这应该优选地与生产过程同步地执行。
与生产过程同步的另一个辅助功能是状况监视,其中通过反映生产过程当前状态的机器参数的测量和分析来完成定期或永久地检测和评估生产系统的状况。机器学习是另一个期望辅助功能与生产过程同步的领域。这同样适用于数字控制,其中程序代码被转换成机器的操作或移动顺序。
所提到的视觉系统和其他辅助系统(即状况监视),通常以与PLC分开的独立的软件组件的形式提供机器学习和数字控制。在视觉系统中,通常使用单独的图像处理计算器或智能相机,它们通过通信介质(例如通过以太网、I/O或现场总线)连接到PLC,以便将计算结果传送到PLC。
如果视觉功能在图像处理计算器上运行,则连接的相机将图像或图像区域发送到图像处理计算器,然后图像处理计算器执行问题特定的图像分析。但是,视觉功能也可以直接在相机上执行。相机还可以有自己的专用I/O,以便在适当配置后直接与生产系统的致动器和传感器通信。然后,生产系统的致动器和传感器具有用以触发相机撷取图像或通过硬件触发器激活照明的设备。
当使用软件PLC时,可以使用相同的硬件进行控制和图像处理。当使用智能相机时,除了视觉功能外,软件PLC也可以在相机上运行,但这通常会进一步限制智能相机的处理能力。因此,这种方法仅适用于简单的控制和视觉任务。
为了将图像分析的计算结果从视觉组件传输到PLC,通常在视觉组件的软件运行的普通用户环境和PLC的实时环境之间进行数据传输。但这意味着在数据传输中接着需要耗时的通信和同步步骤。此外,图像分析所需的计算是在PLC的实时环境之外进行的,因此也与生产过程不同步。
EP 1 312 990 A2描述了一种数据处理方法,利用该方法,与机器的运动顺序相关的图像和音频数据可以链接到机器的运动和驱动控制器的数据。为了这个目的,所述图像和音频数据被提供为具有由所述运动和驱动控制器生成的时间戳。然后可以进一步处理或显示与机器的运动和驱动控制器的数据时间同步的图像和音频数据。
辅助功能(例如所述视觉系统的那些辅助功能)与生产过程的同步中的主要问题在于它们的运行时间被输入数据严重影响的事实。在所述视觉系统的图像分析的情况下,这可能的原因是,例如,在检测到相关结构之后的后续处理、根据收敛标准的迭代应用算法、替代搜索策略、或者图片中具有可变大小的所谓感兴趣区域。接着可以在可变时间点得到计算结果。然而,这与PLC的以下要求相矛盾:在没有时间波动(抖动)和在可预测的响应时间(延迟)的情况下确保任务的循环执行,这避免将视觉功能简单集成到PLC的实时环境中。
这同样适用于其他上述辅助功能。在状态监视的情况下,通常使用迭代方法分析时间序列,其运行时间取决于质量标准的达到。在机器学习中,例如,训练和使用分类器或函数逼近器所需的计算时间在很大程度上取决于输入数据。在数字控制中,使用复杂的迭代优化算法,其运行时间变化。
US 2014/304709A1公开了一种实时环境,其中除了时间关键的实时任务之外,还可以执行非时间关键任务,因此可以执行具有不确定功能运行时间的附加功能。具有不确定功能运行时间的附加功能的执行以这样的方式完成:在实时环境中执行定义附加功能的开始时间的时间监视功能。辅助功能的运行时间由另外的中止标准确定。在辅助功能的运行期间,仍然可以重置时间监视功能。
发明内容
本发明的目的是提供一种实时环境以及可编程逻辑控制器,其使具有不确定的功能运行时间的辅助功能能够集成到实时环境中。
这个目的通过如权利要求1所述的实时系统和如权利要求11所述的可编程逻辑控制器来实现。优选的扩展在从属权利要求中规定。
根据本发明,在实时环境中,利用预定义的任务运行时间执行至少一个任务,其中至少一个功能将在指定的任务运行时间内被处理。通过启动时间监视功能来执行功能,所述时间监视功能在指定的任务运行时间内定义功能的终止时间点,接着执行所述功能。所述时间监视功能监视功能运行时间,其中若超过预定义的时间点,则功能被中止。随后终止所述时间监视功能。
通过提供所述时间监视功能,辅助功能的执行被设计成使得功能运行时间可以作为在当前任务循环中仍然可用的处理时间的函数而被控制。
因此,所述辅助功能可以直接在PLC的实时环境中执行。可以省略所述实时环境之外的辅助功能的任何数据处理以及相关的通信和同步步骤。此外,获得所述辅助功能与生产过程的定时的精确定时耦合。
所述实时环境还提供了一个中止功能,如果功能运行时间超过了预定义的时间点,则呼叫所述中止功能以执行所述中止功能。在这种方法中,在超过中止时间之后,以精确定时的方式终止要在预定义的任务运行时间内处理的所述辅助功能。
或者,所述辅助功能可以包括中止条件,其中止所述辅助功能的执行且如果功能运行时间超过预定义的时间点则送回处理结果。这种方法将确保受控的功能中止。接着在中止时间可以继续使用所述辅助功能的结果而没有限制。
时间监视功能可以将呼叫时的预定义中止时间确定为当前时间加上最大允许时间间隔的总和。接着可以动态地确定并灵活地调整中止时间点。
再者,在终止时,所述时间监视功能可以输出表示已完成的功能执行的比例的特征参数。可选地或额外地,所述特征参数可以指出累积的函数元素的数量。所述特征参数提供了对所述辅助功能的相应计算结果的信任度的测量。所述特征参数也可用于执行对所述辅助功能的调整。
所述功能可以具有多个函数元素,其中在时间监视功能的终止上的特征参数输出指出函数元素完成执行的累积比例。通过这种方法,可结合函数元素以共同监视它们的运行时间。例如,也很容易地可以包括在运行时间监视中迭代地呼叫函数元素的循环。接着,累积计算各个函数元素的运行时间监视的所述特征参数到整个监视时间段的总体结果。
此外,在终止时,所述时间监视功能可以输出指出当前时间和预定义的中止时间之间的时间差的时间值。此确定的剩余时间可用于例如优化实时环境中所述辅助功能的执行。另外,可以想到通过实时系统的其他组件在剩余时间的长度中使用处理时间间隔。
在终止时,所述时间监视功能还可以输出错误代码,所述错误代码反映所述时间监视功能的执行中的错误条件。
所述时间监视功能可以具有至少一个从属时间监视函数元素,其定义在时间监视功能的中止时间之前的预定义任务运行时间内的分配功能的中止时间。使用这种嵌套时间监视函数元素,辅助功能的各个函数元素(即诸如循环的程序代码部分)可以相对于它们的运行时间被单独监视。
使用堆栈管理时间监视功能。所述堆栈提供了一种通过在堆栈上的适当定位来形成各个时间监视函数元素的层级的简单方法。
可编程逻辑控制器通过现场总线连接到生产系统的致动器和传感器。所述可编程逻辑控制器包括前述形式的实时环境,其任务是用于控制致动器和传感器,其中功能的执行通过时间监视功能与控制器同步。
所述可编程逻辑控制器可以连接到用于图像获取的功能单元,以将其图像数据发送到所述实时环境,其中所述功能是用于处理和/或分析图像数据的视觉功能。
附图说明
将参考附图更详细地解释本发明。
图1示出了根据本发明的用于生产系统的可编程逻辑控制器的配置的示意图,所述生产系统具有致动器、传感器以及图像获取单元。
图2示出了时间监视功能的数据结构的配置,所述时间监视功能在根据本发明的实时环境中执行。
图3示出了具有时间监视功能的堆栈的配置。
图4示出了用于启动时间监视功能的可能的程序流程图,所述时间监视功能在根据本发明的实时环境中执行。
图5示出了用于执行视觉功能的可能的程序流程图,所述视觉功能在根据本发明的实时环境中执行。
图6示出了用于启动时间监视功能的可能的程序流程图,所述时间监视功能在根据本发明的实时环境中执行。
图7示出了当执行多个嵌套时间监视功能时的剩余时间的传播的示例。
具体实施方式
在生产系统中,可编程逻辑控制器(PLC)3是用于控制多个传感器1和多个致动器2,且如图1所示,PLC 3是通过现场总线4连接到多个传感器1和多个致动器2。如图1所示,可以例如以工业PC 5的形式将所述PLC体现为独立的数据处理单元,或者另外在所述生产系统的现有单元上作为软件PLC运行。作为现场总线4的替代,针对所述传感器1和致动器2与所述PLC 3之间的数据交换可以使用不同设计的通信连接。
来自或用于所述传感器1和致动器2的数据的处理在所述PLC 3上以称为任务的单元的形式进行。用于控制所述传感器1和致动器2的任务通常被循环地执行,其中必须确保保证在指定的最大时间内(例如在一个循环可用的时间内)处理任务。此外,必须保证任务的循环执行而没有时间波动(抖动)和具有可预测的响应时间(延迟)。对所述PLC 3的这些要求由实时环境实现。
除了所述致动器2和传感器1之外,生产系统通常还包括多个附加系统,其功能必须由所述PLC 3通过所述传感器1和致动器2与生产过程及其控制器同步。多个视觉系统代表这样的辅助系统。多个视觉系统可用于例如进行物体检测、表面检查、测量或识别。为了完成这些任务,所述多个视觉系统必须执行多个图像处理和图像分析操作。这样的图像处理和图像分析操作可以包括例如滤波器、阈值、形态算子、几何变换、颜色空间变换、分割过程、轮廓搜索以及用于纹理和形状分析的方法。
根据本发明,如图1所示,所述PLC 3已经扩展到以下效果,即用于图像获取的功能单元6(例如所述视觉系统的相机)的图像数据直接访问所述PLC 3的存储空间。用于图像获取的所述功能单元6在下文中也称为图像获取单元6。在图1所示的使用以太网7作为所述图像获取单元6和所述PLC 3之间的通信介质的示例实施方式中,来自所述图像获取单元6的以太网分组被直接从网络适配器发送到所述PLC 3的实时环境。在所述PLC 3的实时环境中,所述以太网分组的协议特定处理被执行,以在视觉功能的帮助下接着处理和分析所述实时环境中的图像数据。代替使用以太网7进行图像数据传输,也可以使用其他数据总线系统。
在视觉功能中,功能运行时间主要取决于存在的数据量。因此,用于识别作为拓扑结构分析(例如轮廓搜索)的一部分的相关结构的处理时间可以变化很大。取决于收敛标准的算法的迭代应用(例如迭代滤波器或子像素优化)可导致变动的功能运行时间。这同样适用于替代的搜索策略的使用,例如,如果第一部分算法不成功,则尝试第二部分算法。此外,具有可变大小的所谓感兴趣区域导致不同的功能运行时间。因此,各个功能操作的结果可在不同时间获得。然而,这与所述PLC 3的实时环境的要求相矛盾,其必须在没有时间波动(抖动)和在可预测的响应时间(延迟)的情况下保证任务的循环执行。
必须通过所述PLC 3与生产过程及其控制器同步的其他辅助功能至所述PLC 3的实时环境中的集成也受到未知功能运行时间的阻碍。这种辅助功能是状态监视的功能,其中通过反映生产过程当前状态的机器参数的测量和分析来执行对生产系统状况的定期或永久检测和评估。在状况监视的情况下,经常使用用于分析所获取的数据的迭代方法,其中运行时间取决于质量标准的达到,因此运行时间不是预先固定的。在机器学习和数字控制以及将与生产过程同步的其他辅助功能的领域中,功能运行时间也会变化。
为了使具有不确定功能运行时间的辅助功能被集成到实时环境中,其中至少一个任务以预定义的任务运行时间执行,根据本发明,提供时间监视功能,所述时间监视功能定义在预定义任务运行时间内功能的中止时间。如果要在预定义的任务运行时间内处理功能,则启动所述时间监视功能。接着,所述时间监视功能监视功能运行时间,其中如果超过预定义的时间点,则中止所述功能。
通过提供所述时间监视功能,所述辅助功能的执行被设计成使得所述功能运行时间可以作为在当前任务循环中仍然可用的处理时间的函数而被控制。所述辅助功能可以直接在所述PLC 3的实时环境中执行,因为藉助于所述时间监视功能,可以以可预测的响应时间保证任务的循环执行。另外,获得了由辅助功能执行的算法与生产过程的定时的精确定时耦合。
在下文中,将使用视觉功能的示例来解释本发明。注释也可以应用于其他辅助功能,但是,特别是应用于上述附加辅助功能。
所述时间监视功能(以下也称为看门狗)可以配置为包裹所述辅助功能的包裹功能。因此,所述时间监视功能被执行作为围绕功能软件的程序代码。作为包裹器的所述时间监视功能的配置提供了容易地扩展所述辅助功能的软件的可能性,而无需对所述辅助功能的程序代码进行广泛的干预。然后所述辅助功能的程序代码在所述时间监视功能的程序代码内运行。
看门狗可以先发制人地和协作地实施。在先发制人看门狗中,在超过中止时间之后,将在预定义的任务运行时间内处理的辅助功能是以精确定时的方式终止。在这种情况下,看门狗确保持续监视所述功能运行时间。如果所述功能运行时间超过了预定义的中止时间,则启动中止功能来执行功能的中止。为此目的,在看门狗和相应的辅助功能之外,可以配置中断程序,所述中断程序在中止时间执行。或者,中止功能也可以是看门狗的一部分,如果所超过的指定中止时间满足中止条件,则看门狗程序代码将分支到所述看门狗中。
例如,可以通过中断来实现辅助功能的执行的中止。例如,在先发制人看门狗中,在启动时启动定时器,所述定时器在到期时触发中断,所述中断中止要监视的辅助功能。在先发制人看门狗中,辅助功能通常在所述辅助功能中的未知程序位置中止,因此所述辅助功能可以处于未定义状态,这意味着在中止时间所述辅助功能的结果通常是仅限制地使用。
与先发制人看门狗相比,协作看门狗功能允许受控制的功能终止。为此目的,优选地通过插入附加条件来扩展辅助功能的程序代码,例如在功能特定的中央处理循环上。辅助条件检查在指定时间点(例如在相关处理循环结束时)辅助功能的算法消耗的处理时间。如果检查结果是功能运行时间超过了中止时间,则退出辅助功能的相关处理循环。
可使用辅助功能已经存在的结果,因为所述辅助功能通过在处理循环结束时分支而以受控制的方式中止。然而,与先发制人看门狗相比,协作看门狗中的辅助功能的取消通常较不精确地定时,因为取消仅在所述辅助功能所指定的时间发生。
当被称为当前时间tcurrent和最大允许时间间隔Δtmax之总和时,时间监视功能可以确定预定义的中止时间tAbort。所述当前时间tcurrent可以与当前任务循环的开始相关:
tAbort=tcurrent+Δtmax (1)
根据等式(1)动态确定其中止时间的看门狗在下文中也被指明为时间间隔看门狗。
此外,在终止时,所述时间监视功能可以输出特征参数,所述特征参数指出完成的功能执行的比例。来自所述时间监视功能的数值可以用作特征参数,所述数值反映与辅助功能f的完整处理相关的已经执行的处理步骤的比例af。所述特征参数的计算取决于所述辅助功能f的算法。
用于计算作为辅助功能的视觉功能的比例af的示例性变型是
等式(2)适用于依序处理感兴趣区域(ROI)的所有像素的算法,其中所述ROI还可包括整个图像。所使用的算法可以是例如简单卷积滤波器或阈值运算器。等式(2)也适用于更复杂的算法,例如用于计算比例af的标记或轮廓搜索。
等式(3)的应用领域尤其是迭代算法,其中继续执行附加迭代直到实现期望的精确度。在这种情况下的可以例如通过要在算法的两次连续迭代之间优化的一个或多个变量的变化的绝对大小来指定精确度。
等式(4)适用于根据结果执行替代处理策略的复杂算法。例如,用于标签识别的算法可以首先尝试识别数据矩阵码,如果失败,则执行QR码的进一步搜索,然后在必要时进行一维条形码的搜索。
可以想到上述等式的组合以用于确定视觉功能的比例af。除了辅助功能的计算结果之外,还可以获得确定的特征参数,所述特征参数指明当功能被中止时完成的功能执行的比例。在这种情况下,特征参数表示对相应计算结果的信任度的测量。例如,基于与辅助功能f的完整处理相关的已经完成的处理步骤的相应比例af,可以从进一步处理中排除不太可信赖的计算结果或者以低权重将其并入其中。
或者,表示功能中止时完成的功能执行的比例的所述特征参数也可用于执行所述辅助功能的调整。例如,通过在下一个任务循环中调整图像获取参数或处理策略,可以增加视觉功能中较低的处理比例af。所述特征参数的输出使得所述PLC的程序员有机会即使在运行的任务循环期间检测所述辅助功能的执行中的问题,并且通过应用随后的修改来防止将来的超时和视觉功能的失败。
作为包裹功能的时间监视功能可以在视觉功能之前和之后立即被直接呼叫。可能的指令结构是:
err=StartWatchdog(tAbort)
VisionFunction();
(n,a,ΔtRest,err)=StopWatchDog()
tAbort指明相对于当前任务循环的中止时间。err表示错误代码,其值用于指出运行时间监视功能时的错误条件。在可能的实施方式中,err=0可以表示在运行时间监视功能期间没有发生错误,而err≠0指示错误。
元组(n、a、Δtrest、err)的元素n指明辅助功能的所执行函数元素的数量。函数元素的含义将在后面结合图2进行说明。
此外,在元组(n、a、Δtrest、err)中,除了处理比例a(百分比)之外,从当前时间tcurrent到中止时间tAbort的时间差ΔtRest也由下式给出:
ΔtRest=tAbort-tcurrent (5)
如果辅助功能(在示例中为视觉功能)过早终止,则0%≤af<100%且ΔtRest≤0。如果辅助功能完全执行,因此在到达中止时间tAbort之前终止,则af=100%且ΔtRest>0。
除了指明当功能中止时完成的功能执行的比例的特征参数af,由看门狗确定的剩余时间ΔtRest也适合于优化实时环境中的辅助功能的执行。特别地,剩余时间ΔtRest可以用于评估当前任务之外的软件组件对辅助功能的执行。例如,作为实时环境的附加任务的一部分的PLC程序可以查询由看门狗确定的剩余时间ΔtRest,以便确定所述辅助功能的执行实际消耗了可用计算时间的比例。如果未使用的计算时间可用,则可以为其他时间要求较不严格的任务动态地分配此计算时间,例如将图像从视觉功能输出到实时环境之外的人机界面。
通过将看门狗例如以包裹器指令结构的形式实现为辅助功能的补充函数元素,看门狗可以以标准化方式构造,这使得能够进行简单的修改和调整。因此,可以在不改变辅助功能本身和/或其功能参数的情况下调整特定辅助功能(例如视觉功能)的时间行为的监视。
用于看门狗200的可能数据结构如图2所示。看门狗数据结构具有多个数据字段,其包含看门狗参数。这些的第一数据字段210可以指出看门狗类型。看门狗类型可以指出,例如,正在使用的是先发制人看门狗或协作看门狗。作为另一个数据字段220,看门狗数据结构包含中止时间tAbort。另外,为累积的函数元素的数量n提供数据字段230,为累积的处理比例提供数据字段240,以及为累积的剩余时间提供数据字段250。
图2中所示的看门狗数据结构使得能够在辅助功能中实现监视较大的程序代码段,包括下面指定为函数元素的循环和分支。在这种情况下有利的是,在所述辅助功能的每个函数元素的执行开始时检查是否已经超过中止时间tAbort。如果是这种情况,则停止进一步函数元素的处理。将不支持部分处理的函数元素输入到计算中,处理比例为af=0%或af=100%。
如果被监视的辅助函数元素的结果在很大程度上彼此独立,则累积的处理比例可以近似地计算为被呼叫的所有函数元素的处理比例的增量平均值,其中af指明处理比例。当前函数元素f和n以前称为函数元素的数量:当前函数元素f的处理比例和先前呼叫的函数元素的数量n:
相比之下,如果监视的辅助功能的函数元素的计算结果是累积的,则用于计算所计算比例的等式(6)为累积的计算比例提供过于乐观的值,因为当前的函数元素只能参考前述函数元素的结果的成功计算出的比例。在这种情况下,乘法计算是合适的,如下面的等式(7)所规定的:
作为等式(6)和(7)的替代,用于确定累积处理比例的其他计算方法也是可能的。在每一种特定情况下应该使用哪种类型的计算可以通过选择相关的看门狗类型来决定。例如,WatchdogTypeA可以使用等式(6)确定累积的处理比例而WatchdogTypeB使用等式(7)。例如,可以藉助于用于开始和停止的指令来选择要使用的看门狗。因此,指令StartWatchdogTypeA和StopWatchdogTypeA可用于启动和停止类型A的看门狗,以及指令StartWatchdogTypeB和StopWatchdogTypeB可用于开始和停止类型B的看门狗。
此外,时间监视功能(看门狗)可具有至少一个从属时间监视函数元素,在下文中也称为子看门狗,子看门狗定义了在时间监视功能的中止时间之前的预定义任务运行时间内辅助功能的中止时间。通过使用这种嵌套,看门狗可以形成层级,这能够达到所述辅助功能的更精确时间监视。
在嵌套过程中,在看门狗的执行期间,可以使用开始和停止指令呼叫一个或更多个子看门狗。用于启动看门狗的先前执行的指令的数量指定了个别看门狗的层级,其中尚未发生用来停止看门狗的相对应指令。
可能的实施方式可以是,例如,LIFO(后进先出),也称为堆栈,如图3所示。
在图3的示例中,堆栈有两个看门狗,其中母看门狗是A类看门狗,子看门狗是B类看门狗。要监视的时间行为是具有三个函数元素VisionFunction1 VF1、VisionFunction2VF2以及VisionFunction3 VF3的视觉功能。在图3左侧显示了使用两个嵌套的看门狗来监视视觉功能的程序序列,而在图3右侧显示与各个程序步骤平行的堆栈中的当前激活的看门狗。
在程序开始之后,在程序步骤100中,使用指令StartWatchdogTypeA启动类型A的母看门狗。类型A的看门狗是时间间隔看门狗,其根据等式(1)从当前时间tcurrent和最大允许时间间隔Δtmax(其为例如5000μs)确定中止时间。启动类型A看门狗后,呼叫视觉功能,接着连续执行视觉函数元素VisionFunction1 VF1、VisionFunction2 VF2以及VisionFunction3 VF3。
接下来,在程序步骤200中的视觉函数元素VisionFunction1 VF1和VisionFunction2 VF2之间,使用指令StartWatchdogTypeB启动子类型B看门狗。子类型B看门狗再次被配置为时间间隔看门狗,当被呼叫时其从当前时间tcurrent和最大允许时间间隔Δtmax(其为例如4000μs)的总和确定中止时间。所述子类型B看门狗用于监视视觉函数元素VisionFunction2 VF2和VisionFunction3 VF3的功能运行时间。此后,在程序步骤300中,使用指令StopWatchdogTypeB停止所述子类型B看门狗。然后,在程序步骤400中,母类型B看门狗也用指令StopWatchdogTypeA终止。
在图3中亦示出的看门狗堆栈中,示出了用于各个程序步骤的各自激活看门狗。利用程序步骤100中的指令StartWatchdogTypeA,母类型A看门狗被存储在看门狗堆栈中并保持激活直到程序步骤400中的StopWatchdogTypeA指令。在带有指令StartWatchdogTypeB的程序步骤200中,子类型B看门狗接着被置于看门狗堆栈中的激活母类型A看门狗上。子类型B看门狗在母类型A看门狗之上保持激活,直到程序步骤300中的指令StopWatchdogTypeB。
使用看门狗堆栈和其中包含的嵌套看门狗,辅助功能的各个函数元素(即,例如循环的程序代码部分)可以相对于它们的运行时间各别被监视。在图3所示的程序流程图中,子类型B看门狗监视视觉函数元素VisionFunction2 VF2和VisionFunction3 VF3的时间行为,而母类型A看门狗监视整个视觉功能(包括在子类型B看门狗启动之前执行的视觉函数元素VisionFunction1 VF1)的时间行为。
在实时环境中,支持看门狗的每个任务都会收到自己的堆栈。个别看门狗的层级由看门狗在堆栈上的位置表示。出于效率的原因,接着可以仅使用最顶层,并且因此任务的堆栈中所排列最高等级的看门狗用于所述辅助功能的时间监视。然而,在替代实施方式中,还可以检查堆栈上所有看门狗的中止时间。
在看门狗的嵌套中,可以一起计算各个看门狗的处理比例。在可能的实施方式中,可以调整堆栈上所有看门狗的处理比例。然而,除了所执行的计算中可能的冗余之外,例如,对于各种看门狗的累积处理比例的不同计算规则,例如在等式(6)和(7)中给出的那些,这样的实施方式可能导致不一致的结果。
或者,计算也可以用以下方式被配置,即只调整堆栈上最顶层的看门狗的处理比例,从而调整堆栈上分级最高的看门狗的处理比例。接着,当呼叫用来停止看门狗的指令时,所述辅助功能的累积函数元素的数量n和累积的处理比例被传播到基础的并且因此分级较低等级的看门狗。以这种方式,避免了所述辅助功能的各个函数元素的处理比例的多个且可能不同的计算。
所累积处理比例的传播可以类似于处理比例的计算来执行,如等式(6)和(7)中所规定的。在所累积处理比例从看门狗W1到更高级别并因此分级级别更高的看门狗W2的传播中,调整W2的所累积处理比例,例如如下:
或
记法WX.Y指明看门狗WX的数据字段Y。等式(8)等效于类似于等式(6)的计算,等式(9)等效于类似于等式(7)的计算。
除了处理比例的传播之外,所累积函数元素的数量n也可以从看门狗W1传播到基础的和因此分级等级较低的看门狗W2:
W2.n=W2.n+W1.n (10)
所述累积剩余时间可以包含堆栈中各种层级的看门狗的所收集未使用计算时间。当呼叫用来停止看门狗W1的指令时,由给出的剩余时间可被传播到基础层级的看门狗W2。从看门狗W1到看门狗W2的剩余时间的传播可以如下进行:
对于时间间隔看门狗,当被呼叫时将中止时间确定为当前时间和最大允许时间间隔的总和,然而这种类型的计算是不够的,因为先前执行的看门狗的时间节省被自动输入到下列时间间隔看门狗的中止时间点tAbort的计算中,如从上面的等式(1)中显而易见的。因此,对于时间间隔看门狗,必须明确收集先前看门狗的剩余时间。这可以使用以下规则来完成从时间间隔看门狗W1到看门狗W2的传播:
图4至图6示出了具有看门狗堆栈的时间监视功能的可能程序流程图,所述看门狗堆栈作为针对视觉功能的包裹器功能执行,并且所述看门狗堆栈使用已经用指令err=StartWatchdog(tAbort);VisionFunction();(n、a、ΔtRest、err)=StopWatchdog()说明的指令结构。在程序流程图中,椭圆表示控制点,例如开始和停止,矩形表示程序步骤,菱形是其中必须做出决定的分支步骤。另外,箭头表示程序和分支步骤之间的连接。此外,在图4至6中|S|代表看门狗堆栈上的看门狗的数量,以及WS代表看门狗堆栈上最顶层的看门狗。
图4示出了指令err=StartWatchdogTypeA(tAbort)的示例程序流程图,其中看门狗类型A的看门狗W将作为看门狗堆栈的一部分而被启动。
在第一个程序步骤SP1中,看门狗W初始化在图2所示的其数据结构。这样做之后,看门狗W(它是一个时间间隔看门狗)从当前时间tcurrent和最大允许时间间隔Δtmax确定中止时间tAbort。另外,所累积的函数元素的数据字段数n、累积的处理比例和累积的剩余时间被设置为0。
在第一判定步骤SZ1中,接着确定在看门狗堆栈中看门狗是否已为激活的。
如果查询结果是看门狗已经激活,那么|S|>0,在第二判定步骤SZ2中,检查看门狗W的中止时间是否小于或等于看门狗堆栈中最顶层看门狗WS的中止时间。
如果是这样,则在第二个程序步骤SP2中,看门狗W将自己放在看门狗堆栈的顶部。
可选地,如果它是先发制人看门狗,则看门狗W接着在第三程序步骤SP3中准备中止功能。
接着,在第四程序步骤SP4中,设置错误代码err=0,以指出在程序执行期间没有发生错误。
如果在第一判定步骤SZ1中确定看门狗堆栈中没有看门狗被激活,则|S|=0,程序分支绕过第二判定步骤SZ2并直接继续到第二程序步骤SP2。
如果在第二判定步骤SZ2中确定看门狗W的中止时间大于看门狗堆栈中最顶层看门狗WS的中止时间,换句话说,看门狗堆栈中最顶层看门狗WS的中止时间是位于将要启动的看门狗W的中止时间之前,处理程序外的分支,并且在第五程序步骤SP5中设置错误代码err=1,以指出在看门狗启动中发生了错误。
在设置了错误代码err=0的第四程序步骤SP4或者设置了错误代码err=1的第五程序步骤SP5之后,指令err=StartWatchdog(tAbort)的程序处理被终止。
图5示出了用于视觉函数元素VisionFunction的执行和时间监视的指令VisionFunction()的程序序列的示例,其在指令err=StartWatchdog(tAbort)之后被呼叫,其程序序列如图4所示。
在VisionFunction()指令的程序序列中,在第一程序步骤VP1中执行初始化,其中处理比例af被设置为0并且中止时间tAbort被设置为无限大。
在随后的第一判定步骤VE1中,接着检查看门狗堆栈中是否已存在激活的看门狗。
如果查询结果确定看门狗是激活的,则|S|>0,在第二判定步骤VE2中,检查当前时间tcurrent是否比看门狗堆栈中最顶层激活看门狗WS的中止时间tAbort更早。
如果是这样,则在第二程序步骤VP2中,将中止时间tAbort设置为最顶层激活看门狗WS的中止时间tAbort。
接着,随后执行视觉函数元素VisionFunction的视觉算法VA。作为其一部分,在视觉算法的每个循环结束时,在判定步骤VA1中检查相应的循环条件。同时,将当前时间tcurrent与中止时间tAbort连续比较。执行视觉算法直到满足循环条件或直到当前时间等于中止时间。
如果激活看门狗是先发制人看门狗,当视觉算法VA的运行时间超过中止时间时,则呼叫中止功能以中止视觉算法VA。在协作看门狗作为激活看门狗的情况下,所述视觉算法VA的程序代码被扩展为包括附加条件。在判定步骤VA1中,附加条件将当前时间tcurrent与每个处理循环结束时的中止时间tAbort进行比较。如果作为比较的结果,发现已经超过中止时间,则退出处理循环并且因此以受控制的方式终止所述视觉算法VA。
如果视觉函数元素VisionFunction的视觉算法VA的执行被终止,则在第三判定步骤VE3中再次检查激活看门狗是否位于看门狗堆栈中。
如果是这种情况,则在第三程序步骤VP3中确定视觉函数元素VisionFunction的处理比例af。计算规则由视觉算法VA定义,其中例如,可以使用等式(2)、(3)或(4)。
然后在第四程序步骤VP4中利用看门狗堆栈中累积的所述处理比例计算所述处理比例af,从而可以针对整个视觉功能确定处理比例,其中,例如,可以使用等式(8)或(9)。接着终止VisionFunction()指令的处理。
如果在第一判定步骤VE1中确定没有激活的看门狗,因此|S|=0,则处理直接转移到视觉函数元素VisionFunction的视觉算法VA的执行。由于接着没有执行使用看门狗的时间监视,原始初始化的中止时间保持无限大,并且在执行期间仅检查循环条件。
如果在第二判定步骤VE2中确定当前时间tcurrent在时序上晚于看门狗堆栈中最顶层激活看门狗WS的中止时间tAbort,则不执行所述视觉函数元素VisionFunction的视觉算法VA,且使用第四程序步骤VP4继续程序处理。接着使用看门狗堆栈中累积的处理比例计算初始化的处理比例af=0,然后终止VisionFunction()指令的程序处理。
如果在第三个判定步骤VE3中确定看门狗堆栈中不包含其他激活看门狗,则程序分支并立即终止VisionFunction()指令的程序处理。
图6示出了指令(n、a、ΔtRest、err)=StopWatchDogTypeA()的程序序列的示例,其中看门狗W由类型A看门狗再次终止。在VisionFunction()指令之后呼叫指令(n、a、ΔtRest、err)=StopWatchDogTypeA(),其程序流程图显示于图5中。
在第一判定步骤EE1中,检查看门狗堆栈中是否存在要终止的看门狗。
如果从查询确定看门狗堆栈中的看门狗是激活的,则在第二判定步骤EE2中测试它是否是类型A的看门狗。
如果确定看门狗堆栈中的激活看门狗Ws是这种类型A的看门狗,则在第一程序步骤EP1中将所述看门狗从堆栈中移除。
在第二程序步骤EP2中,接着更新从堆栈中移除的看门狗W的数据结构。在所述过程中,处理比例a被设置为在VisionFunction()指令的程序序列的第四程序步骤VP4中所确定的值,如参考图5所描述的。剩余时间ΔtRest是使用等式(5)确定,其确定从当前时间tcurrent到中止时间tAbort的时间差。
如果所述看门狗W是先发制人看门狗,则接着在第三程序步骤EP3中也移除中止功能。
在第三个判定步骤EE3中,接着在移除所述看门狗W之后检查所述看门狗堆栈中是否存在其他看门狗。
如果在所述第三判定步骤EE3中确定在所述看门狗堆栈中其他看门狗是激活的,则因此|S|>0为真,接着在第四程序步骤EP4中,将看门狗W的累积剩余时间设置为在第二程序步骤EP2中所计算的剩余时间ΔtRest。
然后,在第六程序步骤EP6中,设置错误代码err=0,以指出在程序执行期间没有发生错误。
如果在第一判定步骤EE1中确定在所述看门狗堆栈中没有激活看门狗,因此|S|=0,则接着程序分支并且在第七程序步骤EP7中设置错误代码err=1以指出在看门狗停止中发生了错误。
如果在第二判定步骤EE2中确定所述看门狗堆栈的顶部的激活看门狗Ws不是类型A的看门狗,则程序处理也继续第七程序步骤EP7,其将错误代码err设置为1以指出执行错误。
如果在第三判定步骤EE3中确定在所述看门狗堆栈中不再有激活看门狗,因此|S|=0,则接着执行第6程序步骤EP6,并设置错误代码err=0。
在设置错误代码err=0的第六程序步骤EP6之后或指定错误代码err=1的第七程序步骤EP7之后,指令(a、ΔtRest、err)=StopWatchdogTypeA()的程序处理被终止。
图7示出了具有五个看门狗701至705的看门狗堆栈中的剩余时间的传播的示例,所述五个看门狗分布在三个层级1、2、3上,其中在任何给定的时间在每个层级上不超过一个看门狗是激活的。在图7的实例中,在Y轴上绘制了三个层级1、2、3。分层最低层级1包含看门狗701。在下一个更高层级2中,设置了看门狗702、看门狗703和看门狗705。最高层级3包含看门狗704。
图7中的x轴示出看门狗堆栈中五个看门狗701至705的时间顺序。看门狗的编号对应于每个看门狗的开始时间。从较低层级到下一个较高层级的箭头示出每种情况下看门狗的过程调用。从较高层级到下一个较低层级的箭头示出了看门狗的终止。
位于层级1中的看门狗701在时间0ms开始并在时间100ms终止其执行。位于层级2中的看门狗702在时间10ms开始并在时间20ms终止其执行。位于层级2中的看门狗703在时间40ms开始并在时间70ms终止其执行。位于层级2中的看门狗705在时间80ms开始并在时间90ms终止其执行。位于层级3中的看门狗704在时间50ms开始并在时间60ms终止其执行。
五个看门狗701至705的每一个是时间间隔看门狗,其中在图7中,看门狗的实际运行时间是从指明的开始和停止时间获得的并且通过要被监视的相关函数元素的功能运行时间而确定。所述看门狗702具有15ms的中止时段,所述看门狗703具有11ms的中止时段,所述看门狗704具有37ms的中止时段并且所述看门狗705具有18ms的中止时段。因此,这使所述看门狗702的剩余时间为5ms,对于所述看门狗703为7ms,对于所述看门狗704为1ms,对于所述看门狗705为8ms。
如果要执行剩余时间的传播,例如,在65ms的时间,其如图7中的虚线所示,这由于看门狗704导致在层级3上1ms的时间节省,并且通过看门狗702导致直接在下面的层级2上5ms的时间节省,使得如果剩余时间在65ms时传播,则累积的剩余时间是6ms。
Claims (12)
1.一种用于操作实时环境的方法,包括:
在可编程逻辑控制器(PLC)上以预定义任务运行时间执行至少一个任务,所述任务是处理系统的数据,所述系统包括由所述可编程逻辑控制器控制的传感器和致动器,其中由所述可编程逻辑控制器控制且具有不确定功能运行时间的至少一个辅助功能将在所述预定义任务运行时间内通过时间监视功能处理,所述辅助功能包括处理辅助系统的数据,其中所述辅助功能和所述时间监视功能形成在所述实时环境中执行的程序代码;
开始所述时间监视功能,所述时间监视功能定义所述预定义任务运行时间内所述辅助功能的终止时间,所述终止时间具有预定义中止时间点;
执行所述辅助功能,其中所述时间监视功能监视所述辅助功能的运行时间,并且如果超过所述预定义中止时间点则启动功能中止;以及
终止所述时间监视功能,
其中所述时间监视功能被配置为包裹器功能,在所述辅助功能的所述程序代码之前和之后立即呼叫所述包裹器功能,且因此所述包裹器功能包围附加功能的所述程序代码,使得所述辅助功能的所述程序代码在所述时间监视功能的所述程序代码内运行。
2.根据权利要求1所述的方法,其中提供中止功能,如果所述功能运行时间超过所述预定义中止时间点,则呼叫所述中止功能以执行所述中止功能。
3.根据权利要求1所述的方法,其中所述辅助功能包括中止条件,所述中止条件中止所述辅助功能的执行,并且如果所述功能运行时间超过所述预定义中止时间点,则所述中止条件送回处理结果。
4.根据权利要求1所述的方法,其中所述时间监视功能在呼叫的时间将所述预定义中止时间点定义为当前时间和最大允许时间间隔的总和。
5.根据权利要求1所 述的方法,其中在终止时,所述时间监视功能输出特征参数,所述特征参数指出已完成的功能执行的比例。
6.根据权利要求5所述的方法,其中所述辅助功能具有多个函数元素,并且其中在终止所述时间监视功能时输出的特征变量指出所累积函数元素的数量和/或所述函数元素的已完成执行的所累积比例。
7.根据权利要求1所述的方法,其中在终止时,所述时间监视功能输出时间值,所述时间值指出当前时间与所述预定义中止时间点之间的时间差。
8.根据权利要求1所述的方法,其中在终止时,所述时间监视功能输出错误代码,所述错误代码指出所述时间监视功能的所述执行中的错误条件。
9.根据权利要求1至8任一项所述的方法,其中所述时间监视功能具有至少一个从属时间监视函数元素,所述至少一个从属时间监视函数元素在所述时间监视功能的所述中止时间之前定义所述预定义任务运行时间内的分配辅助功能的中止时间。
10.根据权利要求9所述的方法,其中使用堆栈来管理所述时间监视功能。
11.一种可编程逻辑控制器(3),所述可编程逻辑控制器(3)通过现场总线(4)被连接到生产系统的多个致动器(2)和多个传感器(1),其中所述可编程逻辑控制器(3)包括:
根据权利要求1至10任一项所述的实时环境,其中以预定义任务运行时间执行至少一个任务,所述可编程逻辑控制器(3)的任务是用于控制多个致动器(2)和多个传感器(1),
具有不确定功能运行时间的至少一个辅助功能,所述辅助功能用于处理辅助系统的数据,
其中通过所述时间监视功能,所述辅助功能的执行与所述控制器同步,以及
其中所述时间监视功能具有至少一个从属时间监视函数元素,所述至少一个从属时间监视函数元素在所述时间监视功能的所述中止时间之前定义所述预定义任务运行时间内的分配辅助功能的中止时间。
12.根据权利要求11所述的可编程逻辑控制器(3),所述可编程逻辑控制器(3)被连接到功能单元(6)以用于图像获取,以将其图像数据发送到所述实时环境中,其中所述辅助功能是用于所述图像数据的处理和/或分析的视觉功能。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016107527.2 | 2016-04-22 | ||
DE102016107527.2A DE102016107527A1 (de) | 2016-04-22 | 2016-04-22 | Echtzeitumgebung und speicherprogrammierbare Steuerung |
PCT/EP2017/059185 WO2017182467A1 (de) | 2016-04-22 | 2017-04-18 | Echtzeitumgebung und speicherprogrammierbare steuerung |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109074279A CN109074279A (zh) | 2018-12-21 |
CN109074279B true CN109074279B (zh) | 2022-02-25 |
Family
ID=58640840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780025087.XA Active CN109074279B (zh) | 2016-04-22 | 2017-04-18 | 实时环境及可编程逻辑控制器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10782667B2 (zh) |
EP (1) | EP3446216A1 (zh) |
CN (1) | CN109074279B (zh) |
DE (1) | DE102016107527A1 (zh) |
WO (1) | WO2017182467A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6781191B2 (ja) * | 2018-05-24 | 2020-11-04 | ファナック株式会社 | プログラマブルコントローラ及び機械学習装置 |
DE102018133058A1 (de) | 2018-12-20 | 2020-06-25 | Beckhoff Automation Gmbh | Verfahren zum steuern eines automatisierungsprozesses in echtzeit |
CN111708670B (zh) * | 2020-06-10 | 2023-05-09 | 中国第一汽车股份有限公司 | 实时操作系统中任务时间参数的确定方法、装置及车辆 |
US11904399B2 (en) * | 2020-11-30 | 2024-02-20 | Metal Industries Research & Development Centre | Online prediction method of tool-electrode consumption and prediction method of machining accuracy |
CN114879593B (zh) * | 2022-05-07 | 2023-03-14 | 科东(广州)软件科技有限公司 | 实时系统运行plc控制器的方法、装置、设备及存储介质 |
JP7221465B1 (ja) * | 2022-06-15 | 2023-02-13 | 三菱電機株式会社 | 制御システム、プログラマブルロジックコントローラ、可視化方法及びプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4215399A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Special function control system for a dual microprocessor programmable process control system |
DE19648422C2 (de) | 1996-11-22 | 2000-03-30 | Hans Beckhoff | Verfahren und Vorrichtung zum Implementieren eines echtzeitfähigen Steuerprogramms in einem nicht-echtzeitfähigen Betriebsprogramm |
FR2818769B1 (fr) * | 2000-12-21 | 2004-06-18 | Eads Airbus Sa | Procede et systeme d'exploitation temps reel multitaches |
DE10148160A1 (de) | 2001-09-28 | 2003-04-24 | Siemens Ag | Verfahren und Einrichtung zur Bereitstellung von Daten |
US7310803B2 (en) * | 2001-10-19 | 2007-12-18 | 419638 Canada Inc. | Method and system for executing multiple tasks in a task set |
DE10243856B4 (de) | 2002-09-20 | 2004-09-30 | Siemens Ag | Regler und Verfahren zum Betreiben eines Reglers |
TWI220700B (en) * | 2003-08-20 | 2004-09-01 | Delta Electronics Inc | Programmable logic controller with an auxiliary processing unit |
ATE408178T1 (de) | 2004-04-08 | 2008-09-15 | Festo Ag & Co Kg | Bilderfassungsvorrichtung für automatisierungsgeräte |
DE102005048037A1 (de) * | 2005-10-07 | 2007-04-12 | Robert Bosch Gmbh | Verfahren zur Steuerung/Regelung wenigstens einer Task |
ATE522862T1 (de) * | 2008-05-13 | 2011-09-15 | Dspace Gmbh | Verfahren zur ausführung von tasks zur berechnung eines zu simulierenden signals in echtzeit |
DE102009055752A1 (de) | 2009-11-25 | 2011-05-26 | Robert Bosch Gmbh | Verfahren zum Ermöglichen einer sequentiellen, nicht blockierenden Abarbeitung von Anweisungen in nebenläufigen Tasks in einer Steuereinrichtung |
EP2568346B1 (en) | 2011-09-06 | 2015-12-30 | Airbus Operations | Robust system control method with short execution deadlines |
US9135062B2 (en) * | 2013-04-09 | 2015-09-15 | National Instruments Corporation | Hardware assisted method and system for scheduling time critical tasks |
US10782668B2 (en) * | 2017-03-16 | 2020-09-22 | Siemens Aktiengesellschaft | Development of control applications in augmented reality environment |
-
2016
- 2016-04-22 DE DE102016107527.2A patent/DE102016107527A1/de active Pending
-
2017
- 2017-04-18 CN CN201780025087.XA patent/CN109074279B/zh active Active
- 2017-04-18 EP EP17720035.9A patent/EP3446216A1/de active Pending
- 2017-04-18 WO PCT/EP2017/059185 patent/WO2017182467A1/de active Application Filing
-
2018
- 2018-09-28 US US16/146,757 patent/US10782667B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3446216A1 (de) | 2019-02-27 |
CN109074279A (zh) | 2018-12-21 |
US10782667B2 (en) | 2020-09-22 |
WO2017182467A1 (de) | 2017-10-26 |
US20190033814A1 (en) | 2019-01-31 |
DE102016107527A1 (de) | 2017-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074279B (zh) | 实时环境及可编程逻辑控制器 | |
EP3104235A1 (en) | Control device | |
JP2018077878A (ja) | 動的環境を監視及び/又は制御するための方法、装置、及びシステム | |
US11301294B2 (en) | Control device, control method, and control program | |
JP4840455B2 (ja) | フィールド制御システム | |
JP6406466B1 (ja) | 制御装置、制御方法および制御プログラム | |
EP3582036B1 (en) | Control device | |
US20040268335A1 (en) | Modulo scheduling of multiple instruction chains | |
EP3995912A1 (en) | Control system, setting device, and computer program | |
CN113841119B (zh) | 控制装置及分散处理方法 | |
EP4130899A1 (en) | Control device, program, and control method | |
JP2009048358A (ja) | 情報処理装置及びスケジューリング方法 | |
EP3879366A2 (en) | Production system, control method, and program | |
JP6659260B2 (ja) | Plcプログラムの最適化機能を備えた制御装置及び機械学習器 | |
US6941175B2 (en) | Method of operating an industrial controller | |
US6978190B2 (en) | Programming of cyclical machines | |
JP6988773B2 (ja) | 制御システムおよび制御装置 | |
CN114340855A (zh) | 机器人行动计划系统、机器人系统、机器人作业验证系统及机器人行动计划方法 | |
JP7305052B2 (ja) | 遅延量更新装置、処理システム及びプログラム | |
US20210286343A1 (en) | Production system, data transmission method, and information storage medium | |
EP4296856A1 (en) | Computer system and method for executing an automotive customer function | |
CN117149345A (zh) | 用于在第二计算单元中模拟第一计算单元的方法 | |
JP3638505B2 (ja) | シミュレーション装置及びマイクロプロセッサ用ソフトウェアシミュレーション方法 | |
JPH03273342A (ja) | タスク・スケジューリング方式 |
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 | ||
GR01 | Patent grant |