博途SCL编程—单通气缸功能块封装

百科   2025-02-08 07:30   山东  

功能块编程思路梳理

在构思该单通气缸功能块程序时,可按以下思路逐步展开:

1. 明确控制目标

确定要实现对单通气缸的精确控制,包括使其能在手动和自动模式下分别完成回原位与去工作位的动作。同时,要对气缸的运行状态进行监测,及时发现异常并报警,最终将控制信号准确输出以驱动电磁阀。

2. 分析输入信号

考虑到不同的操作需求和安全条件,梳理出所需的输入信号:

  • 操作模式信号:如自动模式 bAuto_Mode、手动模式 bHome_Mode,用于区分当前的操作模式,以便执行相应的控制逻辑。


  • 操作按钮信号:HMI 上的手动回原位按钮 bHmi_ToHPos、手动去工作位按钮 bHmi_ToWPos,以及自动运行时的回原位 bAuto_ToHPos 和去工作位 bAuto_ToWPos 条件信号,这些信号决定了气缸的动作指令。


  • 安全与复位信号:急停信号 bEstop 用于在紧急情况下立即停止气缸动作;复位信号 bReset 用于消除报警状态;安全信号 bSafety_1 和 bSafety_2 确保在满足安全条件时气缸才能动作。

  • 位置信号:原点到位信号 bHome_Signal 和工作位到位信号 bWork_Signal,用于判断气缸是否到达指定位置。


3. 规划输出信号

确定需要输出的信号以实现对气缸的控制和状态反馈:

  • 电磁阀控制信号:单通电磁阀输出信号 staOut,直接控制电磁阀的通断,进而控制气缸的动作;并将其赋值给外部输出信号 bOut 用于实际硬件控制。

  • 位置就绪信号原点位置就绪 bHPos_Ready 和动点位置就绪 bWPos_Ready,用于向其他程序模块反馈气缸是否已到达相应位置。

  • 报警信号:报警信号 bAlarm,在检测到气缸运行异常时发出报警。

4. 设计控制逻辑

  • 复位逻辑:构思当复位信号有效时,将报警信号清零的逻辑,使系统能恢复正常状态。

  • 手动操作逻辑:思考如何根据 HMI 手动按钮信号以及急停信号,控制电磁阀输出,实现手动模式下气缸的位置控制。

  • 自动运行逻辑:规划在自动模式下,结合各种条件信号(如自动操作按钮、急停、安全信号等),控制气缸自动回原位或去工作位的逻辑。

  • 到位信号检测逻辑:设想利用定时器对位置信号进行滤波处理,准确判断气缸是否稳定到达指定位置,并输出相应的就绪信号。

  • 报警逻辑:分析气缸可能出现的异常情况(如位置信号异常、电磁阀输出与位置信号不匹配等),设计相应的报警触发条件和逻辑。


5. 模块化与结构规划

将上述不同功能的逻辑分别划分到不同的程序区域(如复位、HMI 手动操作、自动运行等区域),使程序结构清晰,便于后续的调试、维护和扩展。

单通气缸功能块源码

bHMI_ToHPos---手动回原位触发压缩空气

bHMI_ToWPos---手动去动点位“单通电磁阀”

bAuto_ToHPos---自动回原位

bAuto_ToWPos---自动去动点位

1、自动运行时,手动操作需要锁定

2、自动运行时,需要联锁安全信号

3、手动操作不联锁安全信号

//单通气缸功能块气缸动作受联锁信号互锁、安全条件不满足气缸无法动作;//电磁阀得电,气缸去动点(和现场不同,可以改变气管方向);//急停锁定时气缸无法动作;//自动运行时可以在HMI完成操作按钮锁定
REGION 复位 IF #bReset THEN #bAlarm := FALSE; END_IF; END_REGIONREGION HMI手动操作 IF #bHmi_ToHPos AND NOT #bHmi_ToWPos AND #bEstop THEN #staOut := FALSE; END_IF; IF #bHmi_ToWPos AND NOT #bHmi_ToHPos AND #bEstop THEN #staOut := TRUE; END_IF; END_REGION
REGION 自动运行 // 当满足自动回原位条件、急停条件、处于自动模式且安全信号满足时,使气缸回原位 IF #bAuto_ToHPos AND NOT #bAuto_ToWPos AND #bEstop AND #bAuto_Mode AND #bSafety_1 AND #bsafety_2 THEN #staOut := FALSE; //回原位 END_IF; // 当满足自动去工作位条件、急停条件、处于自动模式且安全信号满足时,使气缸去工作位 IF #bAuto_ToWPos AND NOT #bAuto_ToHPos AND #bEstop AND #bAuto_Mode AND #bSafety_1 AND #bsafety_2 THEN #staOut := TRUE; //工作位 END_IF; END_REGION
REGION 气缸到位信号 #IEC_Timer1(IN:=#bHome_Signal, PT:=#Filter_Time); #staHPos_Ready := #IEC_Timer1.Q; #bHPos_Ready := #staHPos_Ready; // 原位到位延时输出 #IEC_Timer2(IN:=#bWork_Signal, PT:=#Filter_Time); #staWPos_Ready := #IEC_Timer2.Q; #bWPos_Ready := #staWPos_Ready; // 动点到位延时输出 END_REGION
REGION 气缸报警 #IEC_Timer3(IN:=(NOT #staHPos_Ready AND NOT #staWPos_Ready) //1、动点和原点都没信号; OR (#staHPos_Ready AND #staWPos_Ready) //2、动点和原点都有信号; OR (#staOut = TRUE AND NOT #staWPos_Ready) //3、动点电磁阀输出时,规定时间内未检测到动点信号; OR (#staOut = FALSE AND NOT #staHPos_Ready), //4、原点电磁阀输出时,规定时间内未检测到动点信号: PT:=#Alarm_Time); IF #IEC_Timer3.Q THEN #bAlarm := TRUE; END_IF; END_REGION
REGION 线圈输出 #bOut := #staOut; END_REGION


图片

加入知识星球智能制造与自动化,加入会员可下载此公众号发布文章中的相关资料(行业报告、MES、数字化技术方案、自动化教程、自动化行业标准化资料VASS\SICAR\戴姆勒等、C#上位机开发、node-red开发、人工智能教程等)。

图片会员下载区

今天的文章,如果你感觉有价值,请记得一键三连:点赞加关注,留言,转发朋友圈,分享收藏,点击在看之后,一定记着加我个人微信:ZIDHXB。

往期精彩回顾




汽车行业Sicar控制标准资料有偿获取
SiCar标准常用FB功能块说明
博途PLC与FactoryIO联合仿真教程限时分享
PLC程序动态加密—分级催款可远程授权程序与授权软件分享
SIEMENS/西门子杯,六部十层电梯程序分享
FactoryIO与博途联合三色物料气缸分拣站程序分享
多台排水泵按累计运行时间切换和先启先停切换多模式控制PLC程序分享
倍福PLC视频教程及资料免费分享(36G)
三菱PLC编写的贪吃蛇与俄罗斯方块程序分享
库卡EthernetKRL备选软件包分享(版本V3.1.3)
精美博途Wincc界面程序模板分享
TIA_Portal_v18虚拟机分享
西门子博途V19全家桶与最新授权下载
大众VASS05标准Step7v5.5软件虚拟机分享
TIA_Portal_v19虚拟机分享
西门子SCL编程实例—扫雷游戏分享
西门子TIA博途软件入门到精通教程免费分享
西门子S7-1500博途PLC(基础+高级)视频教程分享
西门子TIA博途-SCL高级编程多套视频资料免费分享-限时删除
西门子TIA博途高级语言SCL视频资料分享
三菱FX3U系列plc精讲视频分享(40讲+240讲) 49GB
西门子smart200视频教程分享
两套西门子WinCC视频教程分享(9.5G)
PLC、触摸屏工控小游戏样例合集分享
EPLAN电气设计制图视频教程分享-限时删除
都有哪些好用电工仿真软件?学习电路图变得如此简
67本自动化书籍免费领取啦!!!
最新西门子授权工具EKB2022版分享
立体仓库穿梭车程序分享
威纶触摸屏视频教程(66讲)分享
博途TIA V16-V17全套软件与组件分享
标准化编程之-博途TIA程序设计编程规范
西门子SCL编程练习:排水泵根据运行时间先起先停控制
如何使用C#编写程序读写西门子PLC?
VASS标准—PLC安全程序架构讲解
VASS05标准—KUKA机器人培训课件
大众VASS_05标准——PLC程序架构
大众VASS05生画面遇到的问题总结
SEW_MOVIPRO变频器在VASS05标准中的应用
SEW_MOVIFIT变频器在VASS05标准中的应用
KUKA机器人高级编程(下)第3-4章(计时器\运动编程)
西门子博途SCL案例_仓储系统出料优先级控制程序实战练习
西门子TIA博途SCL高级教程—伺服V90速度控制
西门子TIA博途SCL高级教程—伺服V90定位控制
西门子TIA博途SCL高级视频教程—模拟量在工程中的应用
博途TIA Portal——SCL间接寻址PEEK和POKE指令的使用案例
西门子SCL高级语言教程—冒泡排序和选择排序
西门子SCL编程实例—字与位的转换Word_To_Bit
西门子博途WINCC脚本VBS教程4_脚本操作画面内对象的属性
如何使用C#编写程序读写西门子PLC?
C#上位机通过TCP/IP协议和KUKA机器人通讯
不外传的28条PLC编程规范及建议,赶紧收藏
win10家庭版安装西门子博途软件时提示“管理员已阻止你运行此应用”解决方法
西门子SCL编程-数据堆栈存储与操作在项目中的使用
博途实现程序动态加密—分级催款密钥授权管理系统程序实现
分享几个PROFINET网络故障诊断与分析案例
工控的面向对象编程
SiCar自动化标准平台架构
特斯拉EPLAN 电气图纸和结构标准
SICAR标准-VALVE_1_TO_8_3POS_FB夹具控制功能块
西门子PLC信号分析软件Winplc Analyzer 使用方法
PROFINET设备的GSD文件及其描述语言GSDML
大众标准VASS06软件环境设置
ABB机器人编程与应用中级篇
PLC编程算法—FIFO堆栈程序的实现
大众VASS06 项目库标准程序结构.
C#利用S7netplus读写西门子PLC数据
吉利KUKA_KRC4系列机器人现场应用规范和技术要求
TESLA特斯拉—PLC 逻辑编程规范
TESLA特斯拉—SCADA 设计规范
多台排水泵按累计运行时间切换和先启先停切换多模式控制PLC程序分享
西门子S7-200SMART编码器线速度测量算法
西门子S7-200SMART一阶RC低通滤波算法原理与实现
博途S7-1500SCL与FactoryIO仿真实现一阶RC低通滤波器皮带机速度平滑控制
Node-Red与ModbusTCP设备通信——写数据
Node-Red与ModbusTCP设备通信——读数据
大众汽车PLC-VASS05标准视频教程
你知道制造业10大系统集成:SCADA、MES、PLM、ERP、SCM、WMS、APS、QMS、CRM、EAM的关系吗?
西门子S7-300 SCL编程实现数组队列搜索、插入、删除、改动功能

智能制造与自动化
每天学习一点点,时间会给你一个不可思议的礼物。定期分享智能制造与自动化知识点,分享比收获更让人幸福。 智能制造、自动化、数字化、机器人、工业互联网 PLC\x5cMES\x5cSCADA\x5cEPLAN\x5c 西门子\x5c三菱\x5c施耐德\x5cKUKA\x5c
 推荐账号,扫码关注
推荐账号二维码
 最新文章