在任务配置树的最顶端有条目“任务配置”。其中的内容是当前定义的任务,每个通过任务名代表。特定任务的 POUs 调用没有显示在任务配置树中。针对每个独立的任务可以对其进行执行的类型编辑及配置。包括固定周期循环、事件触发、自由运行和状态触发 4 种类型;

1) 固定周期循环-Cyclic
根据程序中所使用的指令执行与否,程序的处理时间会有所不同,所以实际执行时间在每个扫描周期都发生不同的变化,执行时间有长有短。通过使用固定周期循环方式,能保持一定的循环时间反复执行程序。即使程序的执行时间发生变化,也可以保持一定的刷新间隔时间。在这里,也推荐大家优先选择固定周期循环任务启动方式。例如,假设将程序对应的任务设定为固定周期循环方式,间隔时间设定为 10ms 时,如果程序实际执行时间在规定的固定周期循环设定时间内执行完,则空余时间用作等待。如应用中还有优先级较低的任务未被执行,则剩下的等待时间用来执行相对低优先级的任务。任务的优先级在后文会有详细的说明。
2) 自由运行-Freewheeling
程序一开始运行任务就被处理,一个运行周期结束后任务将在下一个循环中被自动重新启动。该执行方式不受程序扫描周期的影响。即确保每次执行完程序的最后一条指令后才进入下一个循环周期。否则不会结束该程序周期。 由于自由运行执行方式因为没有固定的任务时间,所以每次执行的时间可能都不一样。故不能保证程序的实时性,在实际的应用中选用此方式的场合较少。
3) 事件触发-Event
如果事件区域的变量得到一个上升沿,任务开始。
4) 状态触发-Status
如果事件区域的变量为 TRUE,任务开始。状态触发方式与事件触发功能类似,区别在于状态触发的触发变量只要为 TRUE程序就执行,为 FALSE 则不执行。而事件触发只采集触发变量的上升沿有效信号。 图 6-10 中针对事件触发和状态触发分别进行了比较,绿色实线为两种触发方式选择的布尔变量状态,