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

西门子S7-GRAPH编程语言连载(4)——示例

前面的文章介绍了S7-Graph语言的顺控器和动作,今天这篇文章我们用Graph语言来编写一个简单应用。

cover.png

假设有一个全自动砂轮切割机,它的任务是当工件固定好以后对其进行切割。根据控制要求,将工艺过程分为如下一些步骤:

S1 【初始步骤】
↓ (转换条件T1=开机)
S2 【切割机就绪】
↓(转换条件T2=按下启动按钮)
S3 【工件夹紧】
↓(转换条件T3=接近开关S1触发延时)
S4 【开始切割】
↓(转换条件T4=接近开关S3触发延时)
S5 【切割完成】
↓(转换条件T5=接近开关S4触发延时)
S6【工件松开】
↓(转换条件T6=接近开关S2触发延时)
跳转到S2

说明:

  • 接近开关S1用于检测工件夹紧是否到位,为了防止抖动,做延时处理;

  • 接近开关S2用于检测工件松开是否到位,为了防止抖动,做延时处理;

  • 切割机在切割过程会上下移动。上方为基本位置,用接近开关S4检测。下方为工作位置,到位后用接近开关S3检测。为了防止信号抖动,均做延时处理;

在博途中新建项目,使用CPU 1515-2PN为控制器。在程序中添加全局数据块dbX1。为了便于模拟,在数据块中添加控制所需要的点位,如下图所示:

dbX1.png

新建Graph语言函数块seqControl1,顺控器总览如下图所示:

seqControl1-顺控器.png

顺控器中各步的跳转条件及动作如下图所示:

seqControl1-顺控器-细节.png

其中:

  1. 步3(夹紧)激活后会启动定时器timerClamp,时间2秒。T3跳转条件中该定时器时间到达后,才会跳到步4(切割);

  2. 为了防止抖动,所有接近开关的信号均进行延时处理(示例未给出具体延时代码,需自行编写);

在主程序中调用seqControl1如下图所示:

OB1.png

通过手动更改跳转条件的值,可以模拟流程运行。比如,下面的图片显示顺控器处于工件夹紧的步骤:

example.png

这是一个Graph语言的简单示例,还有一些不完善的地方,比如没有错误处理。将在后续的例程介绍中逐步完善。

下面是西门子S7-GRAPH语言编程的文章归档链接:

》》西门子S7-GRAPH编程语言文章归档《《

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

西门子S7-GRAPH编程语言连载(4)——示例

来源:本站|   大小:590 KB|   下载次数:385次

取消

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

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

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

发表评论