当前位置: 首页 > news >正文

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 基本操作后,下一篇我们将正式编写车库门的核心控制逻辑——开门、关门与停止控制。

http://www.jsqmd.com/news/235430/

相关文章:

  • CoDeSys入门实战一起学习(五):CoDeSys V3 车库门控制编程全解析系列(手册基础第二篇)
  • 深度学习毕设项目推荐-基于python-CNN卷积神经网络的宠物行为训练识别
  • 格雷厄姆特价股票策略在不同数字监管沙盒环境中的表现
  • 巴菲特的创新能力评估:量子创新生态系统的价值网络分析
  • 强烈安利!10款AI论文写作软件测评:研究生科研写作全攻略
  • 【性能测试】4_性能测试基础 _流程(重点)
  • HuggingFace项目实战之填空任务实战
  • EDCA Admission Protocols 发布:AI 系统进入“可拒绝接入”时代
  • 【软件测试】5_性能测试 _常用性能测试工具对比
  • Alignment Protocol v3.0:定义 AI 系统的合法接入语义
  • 【计算机毕业设计案例】基于python-CNN卷积神经网络的宠物行为训练识别
  • 筑梦非洲:中国电建以实干绘就中非合作新图景
  • 【毕业设计】基于python-CNN卷积神经网络的宠物行为训练识别
  • 【课程设计/毕业设计】基于python-CNN卷积神经网络的宠物行为训练识别
  • AI 写论文哪个软件最好?深度测评:虎贲等考 AI 凭 “学术闭环” 登顶
  • 收藏学习!大语言模型全解析:原理、架构与应用
  • 企业虚拟服务平台AI能力落地实战:一线架构师的1个经典案例解析(附代码)
  • 【Python】【爬虫】复刻爬取豆瓣电影数据功能
  • 【必收藏】Java开发者转型大模型完全指南:从CRUD到AI,你的Java功底就是最大底气
  • 月薪从8K到40K:初级提示工程师→架构师的薪资跃迁指南,掌握这9个核心技能
  • 2026年大学生学习网络安全还有出路吗?
  • MCP:AI时代的“万能插座”,让大模型真正“动”起来
  • 【优化调度】基于遗传算法GA求解雾中任务调度计算附Matlab代码
  • 揭秘AI Agent:下一代人工智能的“全能管家”
  • 【图像加密】基于正弦 余弦混沌映射生成随机序列,对图像 RGB 三通道分别执行 “行移位 - 列移位 - XOR 异或” 操作实现图像加密解密附matlab代码
  • A.每日一题——85. 最大矩形
  • 云雀播放器 6.35.5| 高颜值音乐播放器 动画非常流畅 全球超1亿用户
  • springboot微服务框架中,a服务的aa方法中调用了b服务的bb方法,然后调用c服务的cc方法,由于bb方法会更新数据库,但是需要等到cc方法执行成功,才要把事务提交,如果cc方法不成功,就回滚
  • Manjaro 制作 Ventoy 多系统启动盘终极指南(避坑版)
  • springboot怎么将事务设置为pending,等另外一个请求ok了,再做commit