任务

控制器允许您使用多个任务,可根据标准进行规划并排定程序执行的优先顺序。该多任务功能可为应用的各种操作分配控制器处理时间:
  • 控制器每次只执行一个任务。
  • 一个任务可以中断另一个任务的执行,并根据其优先级取得控制权。
  • 可以在任何给定的任务中使用多个程序。但每次只会有一个程序执行。
  • 您可以根据需要在 Controller 或 Logical Organizer 视图中显示任务。
小贴士:
大量的任务使系统很难得到优秀的调节效果。
控制应用中的任务
下图显示了控制应用程序中的任务。
控制器项目管理器和逻辑管理器中的任务
下图显示了控制器项目管理器和逻辑管理器中的任务。
任务为一组一个或多个程序提供调度和优先级信息。使用 Task Properties 对话框将任务配置为 continuous、periodic 或 event 任务。
配置任务类型
下图显示了如何在 Task Properties 对话框中配置任务。
该表介绍了可配置的任务类型。
任务类型和执行频率
任务类型
任务执行
说明
Continuous
持续执行
连续任务在该背景下运行。任何未分配给其他操作(如运动和其他任务)的 CPU 时间都用于执行连续任务中的程序。
  • 连续任务持续运行。连续任务完成全部扫描后将会立即重启。
  • 项目不需要使用连续任务。若要使用,也只能使用一个连续任务。
Periodic
以设置的时间间隔(例如每 100 ms)执行
周期性任务以一定间隔执行一项功能。
  • 当周期性任务的时间间隔到达后,该任务将中断所有低优先级的任务并自行执行一次,然后将控制权返回给原先被中断的任务。
  • 时间间隔的配置范围可为 0.1…2,000,000.00 ms。默认值为 10 ms。该时间间隔还取决于控制器和配置。
Event
事件发生后立即执行
事件(触发器)发生后,事件任务随即执行功能。以下触发器可触发事件任务:
  • 模块输入数据状态改变
  • 消费型标签触发
  • 事件指令
  • 轴触发
  • 运动事件触发器
您可为错过的事件触发器配置可选的超时间隔,所以事件任务即使在没有触发器的情况下也能执行。为任务设置 Check the Executed Task If No Event Occurs Within <超时期限> 复选框
控制器最多支持 32 个任务。其中只有一个任务可以是连续的。
一个任务可以有多达 1000 个程序,每个程序都有其自身的可执行例程和程序范围标签。某一任务触发(激活)后,分配给该任务的程序将按照其分组顺序执行。程序只能在控制器项目管理器中显示一次,且无法由多个任务共享。

Compact 5000 I/O 模块的事件任务

小贴士:
Compact 5000® I/O
安全输入模块无法触发事件。
有些
Compact 5000® I/O
数字量输入模块可以触发事件任务。例如,完成这些步骤以配置通过 5069-IB16F 模块的输入状态更改来触发事件的事件任务。
  1. 配置 5069-IB16F 输入模块以触发事件任务。需要以下任务。
    1. 使用 5069-IB16F 模块定义中的 Data with Events 连接类型。
    2. 启用事件
    3. 选择模块上的至少一个点参与到事件中。
    4. 定义事件的构成,例如,状态从关更改为开。
    5. 选择由事件的哪个边沿触发事件。即上升沿、下降沿或两者都可以触发事件。 
    您还可以锁定事件并启用独立点触发。
    使用 5069-IB16F 模块定义中的 Data with Events 连接类型。启用事件 选择模块上的至少一个点参与到事件中。定义事件的构成,例如,状态从关更改为开。选择由事件的哪个边沿触发事件。即上升沿、下降沿或两者都可以触发事件。您还可以锁定事件并启用独立点触发。
  2. 在项目中创建事件任务。
  3. 配置事件任务。您必须选择事件触发器。例如,可以选择模块输入数据状态更改作为触发。将该任务链接到模块上的相应 Event Input 标签。

任务优先级

控制器中的每个任务都有一个优先级。在触发多个任务时,操作系统使用优先级确定要执行的任务。优先级别高的任务会中断任何优先级别低的任务。连续任务的优先级最低,周期性任务或事件任务均可将其中断。
您可将周期性任务和事件任务的执行优先级配置为 15(最低优先级)到 1(最高优先级)。任务优先级在 Task Properties 对话框中配置。
设置任务优先级。
下图显示了如何在 Task Properties 对话框中配置任务优先级。
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal