当前位置: 首页 > 网络知识

CODESYS 新建工程、任务调用、编译、调试

时间:2026-01-29 09:26:20

一.新建工程

1.打开软件(我用的版本是CODESYS V3.5 SP14,后续文章都会基于这个版本)。点击新建工程。

2.选择工程模板–填写工程名字–选择工程存储位置–点击确定

3.选择设备(有设备需要添加设备描述文件,没有设备仿真的话就选默认即可)–选择编程语言–点击确定

4.然后就进入到工程中,可以进行编程操作

工程管理栏包括:
PLC_PRG:程序由结构化文本编辑;
任务配置:用来定义控制 PLC_PRG 程序的“MainTask”;
库管理器:包含“I/O Standard.library”及“Standard.library”;“I/O Standard.library”用来进行 I/O 配置;“Standard.library”提供所有符合 IEC 61131 3 标准的所有函数和功能块,作为 IEC 编程系统的标准 POUs。

二:编写程序
1.设置
  Codesys是支持中文编程的,我们点击“工程工程设置编译选项勾选标识符允许非编码字符”点击确定,就可以支持自定义中文变量名。

实例:声明了INT类型,变量名为输入;声明了INT类型,变量名为input;

2.新建程序组织单元(POU)
  程序组织单元(Program Organization Unit, POU)由声明区和代码区组成,是用户程序的最小软件单元,它相当于传统编程系统中的块(Block),按功能程序组织单元(POU)可分为函数(FUN)、功能块(FB)、程序(PRG)。

(1)函数

(2)功能块

(3)对比

(4)程序

(5)创建原则

(6)命名

右键Application添加对象POU

确定程序名选择类型选择实现语言(ST语言)点击打开

3.任务配置

一个应用程序只允许有一个任务配置,一个任务配置可以通过配置多个不同优先级的任务来调用不同的程序。

新建的程序要想运行,需要添加到任务配置
右键任务配置添加对象任务

确定任务名称点击打开

设置优先级设置类型设置间隔

a.任务的优先级

  在任务优先级等级分配时,请勿分配具有相同优先级的任务。
a.1不同任务不同优先级不同循环时间分析

  结论:实时性要求越高,优先级越高,时间间隔越小。
b.任务的执行类型有循环、惯性滑行、事件、状态。

c.1循环时间间隔设置(固定周期循环)

  固定周期循环可以保持一定的循环时间反复执行程序,即使程序的执行时间发生变化,也可以保持一定的刷新间隔时间。 如果程序实际执行时间在规定的固定周期循环设定时间内执行完,则空余时间用作等待。如应用中还有优先级较低的任务未被执行,则剩下的等待时间用来执行相对低优先级的任务。
c.2惯性滑行

  该执行方式因为没有固定的任务时间,所以每次执行的时间可能都不一样,不能保证程序的实时性。
d.看门狗
  看门狗是一种控制器硬件式的计时设备,看门狗的主要功能是监控程序执行时出现的异常或内部时钟发生的故障。当程序进入死循环时,看门狗计时器就会对系统发出重置信号或停止PLC当前运行的程序。

  遵循如下时间设定关系以保障程序执行的稳定性和实时性:
  看门狗触发时间>固定周期循环时间>程序最大循环时间
  注:Codesys采用多任务的方式来执行用户程序的“任务”,而每个“任务”分配了不同的执行周期,有些全局变量可能要在不同的POU之间被访问和修改,于是需要对全局变量进行交互同步,也是在任务的“时间对准点”进行的,在设置循环类型的任务的周期时,呈整数倍数的关系。
f.多子程序的调用
  在实际的工程项目中,通常可以将程序按控制流程或者按照设备的对象分割成很多子程序,可以按照各处理单元分别进行编程,这样做主要是使主程序条理更清晰,而且方便今后的调试。

右键Test_Task添加对象程序调用

4.掉电保持变量(一个工程只能添加一个)

右键Application添加对象persistent变量

确定变量名为PersistentVars,点击打开。

三:编译

3.1无控制器,仿真情况下测试

点击编译,确保程序没有报错

在线–点击仿真

点击登录到

结果显示

3.2下载到控制器中运行

四:调试

通过点击单循环、跳过、跳入(单步,快捷键F8)、跳出实现逐行调试;



上一篇:CODESYS 三角函数等应用实例
下一篇:VS打开Qt的ui界面几秒后闪退(ui无法打开文件)的解决办法
CODESYS
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素