西门子PLC程序模板:气缸功能块 FB_AirCylinder 实战拆解
西门子PLC程序模板气缸功能块 FB_AirCylinder 实战拆解邓工 · 2026-07-04 · #西门子PLC #S7-1500 #FB_AirCylinder #气缸功能块 #TIA Portal所有气缸统一调用FB_AirCylinderFB6020归属 03Valve 功能段。标准化封装优点接口固定、逻辑复用、维护集中、跨项目拷贝。层级划分UNIT工站→EM设备模块→CM控制模块。FB_AirCylinder 属于 CM 层ST_AirCylinder结构体传 Cmd/Sts上层只管调。一、接口一览方向变量说明InputManual_Auto手自动切换Switch_Initial缩回传感器Switch_Target伸出传感器Switch_Initial_Disable缩回传感器屏蔽Switch_Target_Disable伸出传感器屏蔽超时报警时间动作最大允许时间信号消抖时间传感器消抖时长原位动作时间缩回定时屏蔽时用限位动作时间伸出定时屏蔽时用调试模式启用后手动直接映射IOOutputSolenoid_Target伸出电磁阀Solenoid_Initial缩回电磁阀InOutAirCylinderST_AirCylinder 结构体二、ST_AirCylinder 结构体Cmd 和 Sts 严格分开HMI 写 Cmd程序读 Sts不混。成员说明xCmdSafety / xCmdReset安全信号 / 复位xCmdAutoInitial / xCmdAutoTarget自动模式缩回 / 伸出xCmdManualInitial / xCmdManualTarget手动模式缩回 / 伸出xStsInitialDone / xStsTargetDone缩回完成 / 伸出完成xStsErrorInitial / xStsErrorTarget缩回报警 / 伸出报警三、6 个关键设计手自动分离Manual_Auto 选择命令源自动只响应 xCmdAuto手动只响应 xCmdManual互不干扰命令自复位检测上升沿 → 驱动电磁阀 → 到位或超时后自动关输出电磁阀不长期带电到位消抖传感器稳定到位超过设定时间才置位完成信号机械振动误信号不触发传感器屏蔽Switch_Disable 使能时按动作时间定时控制不等传感器反馈。部分工站无传感器时屏蔽位常真调用接口不变超时报警命令发出超设定时间未到位 → 置位 xStsError 自动关闭电磁阀调试模式直接映射 IO调试打开后手动命令直接走电磁阀绕过消抖和互锁四、多重背景 DB 块调用所有气缸实例集中放DB_AirCylinderDB3040多重背景 DB按工艺命名D001_取托盘升降气缸 D001_取托盘横移气缸 D001_托盘进料阻挡气缸 D002_取料吸盘·旋转气缸 ...IO 只出现在块调用FB 内部不引用 IO 地址。IO 变化无需改 FB 源码跨项目接口兼容直接复用。块调用参数FB: FB_AirCylinder Instance: 取托盘升降气缸-1 Manual_Auto : %I0.2 // 手自动切换 Switch_Initial : %I0.7 // 缩回传感器 Switch_Target : %I1.0 // 伸出传感器 Switch_Initial_Disable : FALSE // 缩回传感器屏蔽 Switch_Target_Disable : FALSE // 伸出传感器屏蔽 超时报警时间 : T#6000ms // 动作最大允许时间 信号消抖时间 : T#10ms // 传感器消抖时长 原位动作时间 : T#6000ms // 缩回定时屏蔽时用 限位动作时间 : T#6000ms // 伸出定时屏蔽时用 调试模式 : FALSE // 启用后手动直接映射IO Solenoid_Target : Q_升降气缸_伸出 // 伸出电磁阀 Solenoid_Initial : Q_升降气缸_缩回 // 缩回电磁阀 AirCylinder : DB_AirCylinder.取托盘升降气缸五、HMI 映射结构体统一HMI 不需要为每个气缸单独建变量指示灯动画绑定DB_AirCylinder.气缸名_xStsTargetDone 按钮按下事件 DB_AirCylinder.气缸名_xCmdManualTargetHMI 工程师记住一个 DB 命名规则所有气缸画面复制改实例名即可。六、并行开发流程IO 表定了 → 硬件接线 写程序同步进行电气出 IO 地址分配表程序员按 FB 接口对 IO 地址联调时两边基本同步**前提**FB 接口必须提前定好定好就别改。新需求加新 FB不加老接口。七、要点总结FB 接口完善冗余是首要的。参数宁可多不可少接口定好就不改。内部逻辑可以逐步完善接口变了影响全局。完整 SCL 源码(* FB 名称FB_AirCylinder 功能描述双作用气缸通用控制块 - 手动/自动双模式原位/限位双方向 - 到位信号消抖 动作超时报警 - 调试模式跳过定时器直接读传感器 - 命令自复位 默认安全值 作者邓工 适用平台西门子 S7-1200/1500TIA Portal *) // 1. 手动模式 IF #AirCylinder.xCmdManualInitial AND NOT #AirCylinder.xCmdManualTarget AND #AirCylinder.xCmdSafety AND NOT #Manual_Auto THEN #Solenoid_Initial : TRUE; #Solenoid_Target : FALSE; END_IF; IF #AirCylinder.xCmdManualTarget AND NOT #AirCylinder.xCmdManualInitial AND #AirCylinder.xCmdSafety AND NOT #Manual_Auto THEN #Solenoid_Initial : FALSE; #Solenoid_Target : TRUE; END_IF; // 2. 自动模式 IF #AirCylinder.xCmdAutoInitial AND NOT #AirCylinder.xCmdAutoTarget AND #AirCylinder.xCmdSafety AND #Manual_Auto THEN #Solenoid_Initial : TRUE; #Solenoid_Target : FALSE; #AirCylinder.xCmdAutoInitial : FALSE; END_IF; IF #AirCylinder.xCmdAutoTarget AND NOT #AirCylinder.xCmdAutoInitial AND #AirCylinder.xCmdSafety AND #Manual_Auto THEN #Solenoid_Initial : FALSE; #Solenoid_Target : TRUE; #AirCylinder.xCmdAutoTarget : FALSE; END_IF; // 3. 到位检测 IF #调试模式 FALSE THEN #Time[0](IN : #Solenoid_Initial AND ((#Switch_Target_Disable FALSE AND NOT #Switch_Target) OR #Switch_Target_Disable TRUE), PT : #原位动作时间); #Time[1](IN : (#Switch_Initial_Disable FALSE AND #Switch_Initial) OR (#Switch_Initial_Disable TRUE AND #Time[0].Q), PT : #信号消抖时间); #AirCylinder.xStsInitialDone : #Time[1].Q; #Time[2](IN : #Solenoid_Target AND ((#Switch_Initial_Disable FALSE AND NOT #Switch_Initial) OR #Switch_Initial_Disable TRUE), PT : #限位动作时间); #Time[3](IN : (#Switch_Target_Disable FALSE AND #Switch_Target) OR (#Switch_Target_Disable TRUE AND #Time[2].Q), PT : #信号消抖时间); #AirCylinder.xStsTargetDone : #Time[3].Q; END_IF; IF #调试模式 TRUE THEN #AirCylinder.xStsInitialDone : #Switch_Initial; #AirCylinder.xStsTargetDone : #Switch_Target; END_IF; // 4. 超时报警 IF #调试模式 FALSE THEN #Time[4](IN : #Solenoid_Initial AND #AirCylinder.xStsInitialDone FALSE, PT : #超时报警时间); #AirCylinder.xStsErrorInitial(缩回报警) : #Time[4].Q; #Time[5](IN : #Solenoid_Target AND #AirCylinder.xStsTargetDone FALSE, PT : #超时报警时间); #AirCylinder.xStsErrorTarget(伸出报警) : #Time[5].Q; END_IF; // 5. 命令自复位 #Time[10](IN : #AirCylinder.xCmdAutoInitial OR #AirCylinder.xCmdAutoTarget OR #AirCylinder.xCmdManualInitial OR #AirCylinder.xCmdManualTarget, PT : T#10ms); IF #Time[10].Q THEN #AirCylinder.xCmdAutoInitial : FALSE; #AirCylinder.xCmdAutoTarget : FALSE; #AirCylinder.xCmdManualInitial : FALSE; #AirCylinder.xCmdManualTarget : FALSE; END_IF; // 6. 默认安全值 #AirCylinder.xCmdSafety : TRUE;作者邓工项目多工站自动装配线控制平台西门子 S7-1514SP-2 PN TIA Portal

相关新闻

GoogLeNet 与 VGG-16 对比:参数量减少 12 倍背后的 Inception 模块效率分析

GoogLeNet 与 VGG-16 对比:参数量减少 12 倍背后的 Inception 模块效率分析

GoogLeNet 与 VGG-16 深度对比:Inception 模块如何实现 12 倍参数压缩当我们在资源受限的环境中部署深度神经网络时,模型效率往往成为关键考量。2014年ImageNet竞赛中,GoogLeNet以仅700万参数量实现Top-5错误率6.7%,而同期VGG-16的…

2026/7/6 13:14:00 阅读更多 →
Java计算机毕设之基于前后端分离的病毒靶点药物关系数据采集系统的设计与实现 基于 SpringBoot 的生物医药多源数据采集与归档系统(完整前后端代码+说明文档+LW,调试定制等)

Java计算机毕设之基于前后端分离的病毒靶点药物关系数据采集系统的设计与实现 基于 SpringBoot 的生物医药多源数据采集与归档系统(完整前后端代码+说明文档+LW,调试定制等)

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

2026/7/6 13:11:59 阅读更多 →
ICM-42688-P与PIC24HJ256GP610在运动控制中的高效协同

ICM-42688-P与PIC24HJ256GP610在运动控制中的高效协同

1. ICM-42688-P与PIC24HJ256GP610的黄金组合解析在工业自动化和机器人控制领域,传感器与微控制器的协同工作能力直接决定了系统性能的上限。ICM-42688-P作为TDK InvenSense推出的6轴MEMS运动传感器,与Microchip的PIC24HJ256GP610微控制器形成的技术组合&…

2026/7/6 13:07:53 阅读更多 →

最新新闻

Obsidian 同步方案避坑:2026怎么同步性价比最高

Obsidian 同步方案避坑:2026怎么同步性价比最高

一、先说结论:不想花钱,也要计算“隐形成本”很多人问 Obsidian 同步时,会加一句:有没有免费的?不想花钱。这个需求很正常。但同步方案里的成本不只是钱,还包括:学习成本;配置成本&a…

2026/7/6 14:00:52 阅读更多 →
终极指南:如何使用BotW Save Manager轻松实现Switch与WiiU存档互转

终极指南:如何使用BotW Save Manager轻松实现Switch与WiiU存档互转

终极指南:如何使用BotW Save Manager轻松实现Switch与WiiU存档互转 【免费下载链接】BotW-Save-Manager BOTW Save Manager for Switch and Wii U 项目地址: https://gitcode.com/gh_mirrors/bo/BotW-Save-Manager 你是否曾经在Switch和WiiU之间切换玩《塞尔…

2026/7/6 14:00:52 阅读更多 →
Linux系统基础2:Windows 连接嵌入式设备 + 状态查看完整教程

Linux系统基础2:Windows 连接嵌入式设备 + 状态查看完整教程

Windows 连接Linux 设备主要有两种方式,我会从硬件接线到命令操作逐步骤拆解,每个命令都结合嵌入式场景举例说明:串口调试连接:兜底基础方式,无网络也能连,适合首次调试、看启动日志、配置网络SSH 网络连接…

2026/7/6 13:58:51 阅读更多 →
Linux系统基础1:Linux 命令超详细逐成分拆解教程

Linux系统基础1:Linux 命令超详细逐成分拆解教程

近期使用Linux系统下的QT,所有经常用到Linux 命令,从最底层逻辑讲起,每个例子都逐字符拆解:这部分是什么、为什么要这么写、不写 / 写错会怎么样,完全从新手视角出发,帮助理解命令的设计逻辑,而…

2026/7/6 13:58:51 阅读更多 →
第38篇:数据组织(一):数据所有者的角色与责任

第38篇:数据组织(一):数据所有者的角色与责任

从“交出数据”到“守护数据”——DISC-DAMA数据所有者的职责重定义 一、一个数据所有者的困惑 老孙是某制造企业的销售总监。在公司的数据治理章程里,他的另一个身份是“客户数据”和“销售数据”的数据所有者。这个头衔挂了三年,但他一直不太清楚它具…

2026/7/6 13:56:49 阅读更多 →
LinkSwift:9大网盘直链下载助手完整使用指南与优化方案

LinkSwift:9大网盘直链下载助手完整使用指南与优化方案

LinkSwift:9大网盘直链下载助手完整使用指南与优化方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…

2026/7/6 13:56:49 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻