CoDeSys入门实战一起学习(二十六):功能块(FBD)运算块与EN/ENO指令精讲及计数控制案例

函数及功能块调用

如要实现函数或功能块的调用就要用到运算块,运算块可以代表所有的 POU ,包括功能块、函数甚至包括程序。功能块如计时器,计数器等。可以在FBD,LD的节中插入。运算块可以有任意的输入,任意输出。函数及功能块的图形符号。

与接点和线圈一起,用户也可以插入功能块和程序。在网络中,它们必须有带布尔值的一个输入和一个输出,并可在相同位置上像接点那样使用,也就是说在 LD 网络的左侧。

一、运算块与EN/ENO指令核心原理

功能块图(FBD)以运算块为核心,运算块可代表函数、功能块、程序等所有POU,EN/ENO为运算块的条件执行接口,用于实现功能块的启动控制和状态反馈,是FBD复杂逻辑控制的核心指令。

1. 运算块分类及基础规则

  • 标准运算块:无EN/ENO接口,前端能流满足条件时自动执行,执行结果直接传递至下游,适用于无需条件控制的基础运算(如普通定时器、计数器)。
  • 带EN/ENO的运算块 :含EN(执行使能)和ENO(执行反馈)两个接口,仅当EN为TRUE时,运算块执行运算;执行完成后ENO同步为TRUE,反馈执行状态;EN为FALSE时,运算块不执行,ENO同步为FALSE。
  • 空运算块:需手动输入功能块/函数名,适用于熟悉指令的用户,可快速调用自定义功能块,支持带EN/ENO和标准两种模式。

2. EN/ENO指令关键特性

EN与ENO为布尔型接口,遵循"执行-反馈"闭环逻辑:

  1. EN为执行前提,优先级高于运算块内部逻辑,即使内部参数满足,EN为FALSE时仍不执行。
  2. ENO为执行结果反馈,仅当运算块正常执行(无故障)时为TRUE,可用于触发下游逻辑(如联动其他功能块)。
  3. 若将EN接口接常数TRUE,带EN/ENO的运算块与标准运算块功能一致,可灵活切换控制模式。

二、实操案例:带使能的工件计数控制(包装生产线)

1. 控制需求

包装生产线中,需对 passing 工件计数:① 计数使能信号(bCountEnable)有效时,工件检测传感器(bPartDetect)每触发一次(上升沿),计数器加1;② 计数达到设定值(PV=100)时,触发报警信号(bCountAlarm);③ 通过ENO接口反馈计数器执行状态(bCountRunning)。

2. 变量声明

|----------------------------------------------------------------------------|
| |

3. FBD程序及指令应用解析

  1. 运算块选择:选用带EN/ENO的CTU加计数器功能块(fb_CTU),实例名fb_CTU作为唯一标识,块内标注功能块类型CTU,输入接口CU接bPartDetect,PV设为100。
  2. EN/ENO指令应用:EN接口接bCountEnable,当bCountEnable为TRUE时,计数器启动,检测bPartDetect的上升沿并计数;ENO接口接bCountRunning,计数器正常执行时bCountRunning为TRUE,反馈计数状态。
  3. 计数逻辑:每检测到一次bPartDetect上升沿,fb_CTU.CV(当前计数值)加1;当CV≥PV时,fb_CTU.Q变为TRUE,触发bCountAlarm线圈通电,发出报警信号。
  4. 停止逻辑:当bCountEnable为FALSE时,EN为FALSE,计数器停止计数,ENO变为FALSE,bCountRunning同步置FALSE,即使bPartDetect触发,CV也保持不变。
相关推荐
尽兴-15 小时前
企业业务系统架构选型与渐进式演进
运维·系统架构·devops
通信小小昕15 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
壮哥_icon16 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
RD_daoyi16 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
chase。16 小时前
【学习笔记】PointWorld:迈向通用机器人操控的3D世界模型
笔记·学习·机器人
电商API_1800790524716 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
张小姐的猫16 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
xexpertS16 小时前
分布式系统过载治理:如何通过较小服务控制请求节奏
微服务·自动化
小稻穗17 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
AOwhisky17 小时前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko