.

任务配置

.

在任务配置中,定义一个或多个任务来控制和执行控制器中的应用程序。每个应用程序必须包含一个任务配置对象。

任务是IEC程序中基于时间的流程单元。您可以使用名称、优先级和类型来定义任务,这将确定触发任务启动的条件。您可以通过时间(循环间隔、自由移动)或内部或外部事件的发生来定义此条件,以处理任务。事件的例子有全局工程变量的上升沿或控制器的中断事件。

任务调用一个或多个程序块(POUs)。这些程序可以是特定于应用程序的(在设备树中应用程序下面的对象),也可以是特定于项目的(在POU窗口中可用的对象)。对于特定于项目的程序,应用程序实例化项目全局程序。如果CODESYS在当前周期中处理任务,则程序将在一个周期内执行。

通过结合优先级和条件,可以定义处理任务的顺序。您可以为每个任务配置看门狗,并且可以将启动、停止和重置直接链接到项目块的执行。

.已定义任务的处理顺序规则:

  • 如果满足任务条件,则CODESYS处理任务。
  • 如果多个任务同时满足处理条件,则CODESYS首先处理优先级最高的任务。
  • 如果多个具有相同优先级的任务同时满足处理条件,则CODESYS首先处理等待时间最长的任务。
  • 程序调用按照它们在任务的配置对话框中出现的顺序进行处理。
  • 如果被调用的程序在应用程序的设备树和POU窗口中的库或项目全局变量中具有相同的名称,则使用该应用程序。

注意

所有任务共享一个流程图。原因如下: 当每个任务都有自己的单独流程图时,性能就会受到影响。然而,流程映射只能与一个任务保持一致。在创建项目时,必须确保应用程序将输入和输出数据复制到安全位置,以防冲突。诸如SysSem库等模块提供了解决一致性和同步问题的能力。

在访问其他全局对象(如全局变量或块)时,也可能出现一致性问题。如果多个任务对一个变量进行读写,就会出现一致性问题。模块,例如库SysSem是可用的解决方案。