CODESYS 任务配置介绍

引言

在工业自动化领域,CODESYS 作为一种通用的开发环境,被广泛应用于 PLC(可编程逻辑控制器)和 PAC(可编程自动化控制器)编程中。任务配置是 CODESYS 中的一个重要功能。本文将详细介绍如何在在线模式下监视任务状态和相关统计信息,理解和设置任务属性,以及创建和配置任务,以确保系统高效运行和满足实时性要求。这些知识对于从事自动化控制和系统开发的工程师尤为重要。

任务配置简介

任务配置用于定义和显示任务的基本设置。注意每个应用程序中只能包含一个任务配置对象。

1.1 监视

在在线模式下,可以监视任务状态和统计信息(如平均周期时间、最大周期时间和抖动数据),这些信息对于检测任务执行超时很有帮助。若任务的平均周期时间超出其周期循环时间,则需要调整周期以避免错误。对于实时性任务,除了监控平均周期时间外,还应检查最大周期时间和抖动,确保它们满足实时性要求。一般来说,实时性任务的平均周期时间和最大周期时间应低于任务循环周期,抖动应尽可能小。如果平均周期时间超过任务周期的60%,建议增加周期时间。如下图:

图片

1.2  属性

本页面展示了当前控制器支持的任务属性,包括任务的最大数量、循环任务的最大数量、自由任务的最大数量、事件任务的最大数量等。不同品牌的控制器可能会有所不同,具体显示内容会根据所用控制器而异。

图片

2  任务特性

双击任务配置下的任务名称,可以打开对应的任务配置页面。在该页面中,可以设置任务的优先级、类型、间隔以及任务中调用的程序,如下图。

图片

2.1  优先级(Priority)

优先级用于决定任务的执行顺序。高优先级任务优先执行,低优先级任务则在高优先级任务完成后继续执行。在低优先级任务运行时,如果有高优先级任务满足条件,会中断低优先级任务,先执行高优先级任务。官方文档中,优先级范围是0到31,其中0代表最高优先级,31代表最低优先级。但不同控制器的范围可能不同,例如0-10或0-15。

2.2  任务类型

  • 循环(Cyclic):按指定周期循环执行的任务,任务的循环周期由“间隔”指定,单位可以设为 ms 或 us。这是最常用的任务类型。

  • 状态(Status):由指定的 BOOL 变量触发运行的任务。

  • 惯性滑行(Freewheeling):以连续循环的方式再次自动开始处理任务,无限循环。

  • 事件(Event):在输入域 Event 中定义的全局变量出现上升沿时执行任务一次。

  • 外部事件(External):输入字段 Event 中定义的事件出现时,系统立即开始执行任务。

2.3  程序调用

在某个任务配置完成后,可以指定在该任务中运行的程序。任务中有多个程序时,程序调用的先后顺序与程序在任务中排列的先后顺序相同。

3  创建一个任务

3.1  创建程序

首先,我们需要在 CODESYS 中创建一个程序。具体步骤如下:

  1. 选择您的应用程序对象。

  2. 右键点击应用程序对象,打开上下文菜单。

  3. 选择“添加对象”,在子菜单中选择“POU...”。

在弹出的对话框中,选择创建新的 POU 的类型为“程序”,并为该程序起一个名称。选择实现语言。如下图:

图片

3.2  定义任务

接下来,我们在程序中定义变量,并编写简单的控制逻辑。

  1. 双击编辑模块,打开编辑器窗口。

  2. 在编辑器窗口的上半部分中定义我们的第一个变量,名称为“counter”,数据类型为 INT,并用值“0”初始化这个变量。

  3. 编写程序逻辑:每当调用程序时,对变量“counter”实现+1。

  • VAR
  •         counter : INT := 0;
  • END_VAR
  •  
  • counter := counter + 1;

3.3  选择对象

为了调用程序,我们需要插入一个具有“任务配置”类型的对象。

  1. 插入“任务”对象,此对象会自动创建一个类型为任务的子对象。

  2. 双击任务对象进行配置。

  3. 选择“添加调用”,然后选择您已经创建的“程序”对象,点击确定。

3.4  设置任务时间间隔

任务时间间隔是指控制器调用并运行程序对象的频率。默认情况下,任务时间间隔设置为 25 ms,这意味着控制器将每 25 ms 调用并运行一次程序。

参考文章第二部分。

总结

通过本文的介绍,您应该已经掌握了在 CODESYS 中进行任务配置的基本方法。创建程序、定义任务、选择对象以及设置任务时间间隔是任务配置的关键步骤。通过掌握这些知识,工程师可以更好地管理自动化系统中的任务,确保系统的实时性和稳定性,从而提高系统的整体性能和可靠性。希望本文能够帮助您更好地理解和应用 CODESYS 中的任务配置功能。

往期回顾

CODESYS 的简介及环境安装

在 CODESYS 平台,创建你的第一个项目

介绍 CODESYS 编程软件中的变量

CODESYS 编程软件基本语法和运算符介绍

CODESYS 的ST语言实战 - 主备切换及保养提示解决方案

CODESYS 中的字符串及其基本操作

PLC 数组处理难?看这一篇就够了

CODESYS 中的特殊数据类型 - 指针

CODESYS 实战:单开关量传感器实现旋转速度计算

CODESYS 实战:实现随机数生成功能

图片

2024年09月

Tags: