北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章536 浏览8302550

西门子SCL编程实例——气缸控制函数块

气缸是工业现场使用较多的一种执行器,它使用压缩空气作为动力,有两个进气孔,通过控制进气与排气,推动气缸往复运动。一些安全系数较高的气缸还配有抱闸。默认情况下抱闸闭合,气缸不能运动。在通入压缩空气后抱闸打开,气缸可自由运动。今天这篇文章我们来编写一个用于控制气缸往复运动的函数块——FB5022_Cyclinder,它也可用于液压缸的类似场合。

cover.png

函数块FB5022_Cyclinder有如下一些特点:

  • 支持自动模式和维护(手动)模式。在自动模式下,气缸会运动某个指定的时间,直到时间到达或者触发前进/后退到位反馈信号;在维护(手动)模式下,气缸运动跟随按钮信号,按下按钮运动,松开按钮停止;

  • 气缸运动时会使能抱闸松开信号;

  • 当同时触发前进/后退请求或者前进/后退的到位信号时,会报告错误;

下面我们来编写函数。

打开博途开发环境,新建函数块FB5022_Cyclinder,添加变量如下图所示:

variables.png

其中:

①输入参数:

  • release:布尔型, 1=使能函数块;

  • reqForward:布尔型 ,在自动模式下请求前进;

  • reqBackward:布尔型,在自动模式请求后退;

  • btnForward:布尔型,维护(手动)模式下请求前进;

  • btnBackward:布尔型,维护(手动)模式下请求后退;

  • timeForward:时间型,自动模式下前进的最长时间;

  • timeBackward:时间型,自动模式下后退的最长时;

  • mainMode:布尔型,1=维护/手动模式;

  • feedbackForward:布尔型,前进到位反馈信号;

  • feedbackBackward:布尔型,后退到位反馈信号;

②输出参数:

  • forward:布尔型,前进;

  • backward:布尔型,后退;

  • brake:布尔型,抱闸输出控制(1=松开);

  • error:布尔型,错误(1=有错误)

③静态变量和临时变量:

  • IEC_Timer_TP_Forward和IEC_Timer_TP_Backward是添加定时器指令时自动生成的多重背景数据块变量;

  • 其它变量请看图中解释;


为了便于阅读,我将代码分成了三个区域:自动、维护(手动)和控制,请看下面的图片:

comments.png

region_auto.png

region_maintMode.PNG

region_control.png

在OB1中调用该函数块进行测试,如下图所示:

OB1.png

如果你有任何问题,欢迎留言。

下面是西门子SCL编程的文章归档链接:

》》西门子SCL编程入门到精通文章归档《《

我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》从硬件到软件,比较详细的介绍了SCL语言的编程,感兴趣的话可以扫描下面的二维码查看:

西门子SCL编程实例——气缸控制函数块

来源:本站|   大小:511 KB|   下载次数:783次

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论