news 2026/2/13 7:44:34

CoDeSys入门实战一起学习(五):CoDeSys V3 车库门控制编程全解析系列(手册基础第三篇)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CoDeSys入门实战一起学习(五):CoDeSys V3 车库门控制编程全解析系列(手册基础第三篇)

第三篇:编程基础篇——变量声明与 FBD 核心逻辑入门

完成工程配置后,就进入核心的编程环节。在 CoDeSys 中,所有输入/输出信号、中间逻辑变量都需要先进行声明,才能在程序中使用。本文就带大家完成变量声明,并入门 FBD(功能模块图)的基本操作,为后续控制逻辑编程打下基础。

一、变量声明:全局变量列表创建与 I/O 定义

本次项目我们使用“全局变量列表”声明变量(全局变量可在整个工程中使用,适合传递传感器、执行器信号),具体步骤如下:

1. 创建全局变量列表:右键点击对象树中的“应用程序”图标,选择“添加对象→全局变量列表”,命名为“仿真信号”(便于后续手动仿真测试)。

2. 变量分类与声明:根据车库门控制需求,变量分为“输入变量”(传感器、控制按钮)和“输出变量”(执行器),所有变量均为布尔类型(BOOL,取值为真/假)。具体声明如下:

变量类型

变量名

含义说明

输入变量

DoorOpen

门开传感器(检测门是否完全打开)

DoorClosed

门闭传感器(检测门是否完全关闭)

DoorOverloaded

过载传感器(检测门运行是否过载)

Actuation

控制按钮(触发门的开关切换)

输出变量

DoorUp

升门驱动(控制门打开)

DoorDown

降门驱动(控制门关闭)

Lighting

顶灯驱动(控制顶灯开关/闪烁)

3. 变量声明验证:完成后保存全局变量列表,可在“仿真信号”列表中查看所有变量,确保无拼写错误(变量名区分大小写,后续编程需严格匹配)。

二、FBD 编程基础:功能块与操作符使用

FBD 是基于“功能块”和“连接线”的可视化编程方式,核心逻辑通过“功能块+操作符”的组合实现。本次项目将用到的核心元素如下:

1. 核心功能块:

  • RS 功能块:置位-复位功能块,用于实现信号的闭锁(保持),有 2 个输入端(S:置位,R:复位)和 1 个输出端(Q:结果);

  • TON 功能块:延时通定时器,输入端 IN 为真时开始计时,达到预置时间 PT 后,输出端 Q 变为真;
  • TOF 功能块:延时断定时器,输入端 IN 从真变假时开始计时,达到预置时间 PT 后,输出端 Q 变为假。

2. 核心操作符:

  • AND 操作符(2 输入/多输入):所有输入端为真时,输出才为真;
  • OR 操作符(2 输入/多输入):任意一个输入端为真时,输出就为真;
  • 沿检测:分为上升沿(信号从假变真)和下降沿(信号从真变假),点击输入前的标记,通过工具栏图标切换。

3. FBD 基本操作:

  • 添加功能块/操作符:从右侧工具箱中选中对应元素,拖拽到编辑器的“Start here”位置;
  • 功能块实例化:在功能块上部“???”处输入实例名(如“RS_OpenDoor”),按回车键自动打开变量声明对话框,点击“OK”即可完成声明;
  • 变量连接:点击功能块/操作符的输入端/输出端,输入变量首字母,通过智能输入列表选择对应变量(或按 F2 打开在线帮助选择);
  • 删除无用管脚:部分功能块的输出端(如 TON 的 ET 消逝时间)若无需使用,可选中后按 Del 键删除。

掌握变量声明和 FBD 基本操作后,下一篇我们将正式编写车库门的核心控制逻辑——开门、关门与停止控制。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/11 16:03:40

MCP:AI时代的“万能插座”,让大模型真正“动”起来

你是否曾想过,让AI不仅能聊天、写文章,还能直接帮你订机票、发邮件、控制家里的智能灯泡,甚至管理复杂的企业数据库? 这听起来像是科幻电影里的场景,但随着**MCP(Model Context Protocol,模型上…

作者头像 李华
网站建设 2026/2/3 22:45:47

揭秘AI Agent:下一代人工智能的“全能管家”

你是否厌倦了繁琐的重复性工作?是否幻想拥有一个能听懂需求、自主决策、帮你搞定一切的私人助理? AI Agent(人工智能代理)的出现,正在将这个幻想变为现实。如果说大语言模型(LLM)是拥有了丰富知…

作者头像 李华
网站建设 2026/2/10 8:15:38

深度学习计算机毕设之基于python-CNN卷积神经网络的宠物行为训练识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/4 7:11:02

大数据领域Hive在零售行业的数据处理应用

Hive在零售行业的数据处理应用:从痛点到解决方案的全流程实践 引言:零售行业的“数据焦虑”与Hive的救赎 1. 零售人的痛点:当数据量超过“Excel极限” 作为零售行业的数据分析师,你是否遇到过这样的场景? 月底统计全国…

作者头像 李华
网站建设 2026/2/7 2:15:10

springboot怎么将事务设置为pending,等另外一个请求ok了,再做commit

在Spring Boot中实现跨请求的事务管理是一个复杂的需求,因为HTTP协议是无状态的,而数据库事务通常绑定在一个请求的上下文中。不过,有几种方案可以实现类似的效果:方案1:使用编程式事务 状态存储(推荐&…

作者头像 李华