课程中心
HOME
课程中心
正文内容
plc气缸分拣编程 「PLC进阶」如何通过编写SCL语言程序实现物料分拣?
发布时间 : 2025-03-18
作者 : 小编
访问数量 : 23
扫码分享至微信
Scan me!

「PLC进阶」如何通过编写SCL语言程序实现物料分拣?

01、前言

SCL作为IEC61131-3编程语言的一种,由于其高级语言的特性,特别适合复杂运算、复杂数学函数应用的场合。本文以FactoryIO软件中的物料分拣案例作为硬件基础,介绍如何通过SCL来实现编程。

图1-1物料分拣设备场景

图1-2设备IO信号分配

02、功能描述

该设备有四条输送线,分别是进料输送线1、出料输送线1、进料输送线2、出料输送线2,在进料输送线末端各有一个视觉传感器,用于识别产品的型号,在出料输送线的首端分别有两个气缸,用于产品的分拣。

其动作流程如图所示:

图1-3设备动作流程图

03、项目案例功能实现

该项目按照新建FacotyIO任务场景,导出变量表,新建博图项目、导入变量,新建SCL功能块,编写SCL程序,设备仿真调试几个步骤进行。

1.新建Factory IO任务场景;

图1-4新建物料分拣场景

本案例中使用的FactoryIO场景是V2.5.0版本,使用的是其自带的分拣工作站场景。

2.选择驱动器类型为西门子S7-PLCSIM并导出变量表;

图1-5导出场景变量表

图1-6导出标签(变量表)

3.新建博图项目,并导入变量表;

图1-7导入变量表

注意:新建的项目使用FactoryIO提供的工程模板。

4.新建SCL功能块;

图1-8新建SCL功能并在OB1中调用

5.编写SCL程序

图1-9设备模式程序

图1-10自动控制程序

图1-11 设备停止及信号输出

图1-11关联PLC变量

6.设备仿真调试,先将PLC进行仿真,Factory IO再连接仿真器调试。

图1-12启动博图PLCSIM仿真

图1-13Factory IO连接PLCSIM

注意:连接成功后,在状态栏中会有一个绿色对勾的标识,之后可以在场景视图中进行仿真调试了。

PART 04、总结

此案例是基于FactoryIO仿真硬件,使用SCL语言编写的控制程序。通过此案例,可以让初学者掌握SCL的基本操作、编程思路和编程方法。

由于篇幅有限,无法事无巨细讲解完毕,更多关于本案例的操作步骤、编程方法、软件资料,请观看技成培训网2022年10月14日的S7-1200进阶直播课堂。

技成培训网原创,作者:刘郴;未经授权禁止转载,违者必究!

小编推荐:

电气热门软件,可领~

分拣设备的编程思路的具体操作方法(内含程序)

哈喽,大家晚上好呀!

上次给大家分享了我们的学员陆冯在智控教育阶段性的学习的分享,广受好好评~今天我们继续带来他的技术分享第二篇。大家一起来学习吧!

常州智控教育成长营——阶段学习分享2

【技术分享】 作者:陆冯

主要内容:

注意:本文是只针对(智控教育新北校区的分拣设备)的技术总结,不针对其它设备。

1.分拣设备的硬件认知

2.分拣设备的编程思路和具体操作方法

3.机构简化、暂停、预停、信号锁存、产品计数、预设产量—等等一招鲜战术的原理

各位同学大家好!

很荣幸用word文档形式来进行技术分享,这也次我首次进行word版本的项目工程讲解,如有错误之处,请各位指正!

(设备总体视图)

首先我们明确一点,我们要做的,是让这个设备安全、正确、高效地运作起来。这是我们的唯一目的!那么为了这个目的去进行PLC编程调试。一个好的电气工程师编写出来的程序,应当具有:安全性、正确性、高效性、移植性和扩展性。

PLC程序其实就是人的意志的延伸,你的思维和意识基本决定了这台设备是个傻瓜,还是聪慧过人,当然,这个世界上不可能有完美的程序.......

1.分拣设备的硬件认知

硬件包括所有机械部分、电气部分,工作原理和工作现象,是你必须要搞清楚的。

(电磁阀视图)

本设备重点要说的,是上图这7个电磁阀,其中有一个备用;那么剩下的6个,其中有4个(蓝色的)是具有弹簧复位功能的单电控电磁阀:

说白了,给电就是气缸伸出,不给电就是气缸缩回,没电弹簧就推回去了,这个很好理解;

但是,有2个(红色的)电磁阀,是没有弹簧复位的双电控电磁阀:

PLC I/O表中 也是使用了 4个输出,才控制住了这 2个电磁阀。

说白了,左边给电一次,就跑左边不回家了,右边给电一次就跑右边不回家了,左右两家哪家给电,往哪家跑。有趣的解释:【它是一个“热爱电的家伙”,且“极度轻浮”,比如:左边电磁线圈只要给一次电,就可以把它骗回来,并且不需要一直给电;但是,如果此时右边来给了电,而此时,恰巧左边又没在给电,那么它就会跑到右边..】

重点:我们的“摆动气缸”和“移动气缸”,就是两个没有弹簧复位的双电控电磁阀!

我们在实际操作中出现了很多不一样的初始状态,摆动气缸和移动气缸分别具有两种位置,从而可以得出,我们所有同学,只可能出现4种初始位置状态(都是正确的):

1.移动气缸取料位(左边)+摆动气缸取料位(左边);

2.移动气缸取料位(左边)+摆动气缸放料位(右边);

3.移动气缸放料位(右边)+摆动气缸取料位(左边);

4.移动气缸放料位(右边)+摆动气缸放料位(右边);

当然,我们的单电控带弹簧复位电磁阀的初始位置也很重要,一般我们认为断电状态下,它所处于的位置为“初始位置”。

那么搞清楚了以上电磁阀的硬件认知,很多人就应当知道自己错在了哪里,被这个搞昏头的不少吧?我当年也被搞过,搞不清楚或者是无法正确控制它的初始位置,所谓的后面的自动运行程序,就是没有一楼的二楼!

除了上面的这个难点,你还要搞清楚,各个传感器分别检测的是哪个执行机构的哪个位置,我们这个项目里其实就是:6个气缸的各自的2个端部磁性开关。

装在任何一个气缸上的2个传感器,必然只可能有1个得电——因为气缸,只存在两个工作位置中的一个,它不可能既在左限位,又在右限位。

那么,到这里,这台分拣设备编程之前所要了解的,已经基本说完了。

2.分拣设备的编程思路和具体操作方法

解决了上面的硬件认知问题,我们在程序编写过程中就胸有成竹了!

下面介绍第一种 编程方式:

启动后自动运行--单流程循环程序--能够启动、停止、复位,三位互锁。

首先,建议大家如果没有多少编程经验,请不要贸然使用FB\FC的形参和实参调用。其实在主程序里面,哪怕3000行程序,只要你实现了功能,就是王道。

我那天下午刚接完线,用时不到10分钟,就完成了:“启动按钮按下一次,搬运并且分拣一个工件”的单周期不循环流程。其实用的就是主程序+PLC I/O变量表,没有任何FC、FB、DB,不需要嵌套、调用、形式参数的间接寻址,可以有效避开很多不必要的,因为对软件不熟悉而产生的错误。

(流程图)

这张流程图,基本阐述了这个设备最基本功能的流程框架

注意:以上流程图中的任何一个方框都在步态存储器中有自己独立的数字(就是状态),至少是单独的一步,甚至是多步。提醒各位不要在一个步里面想干太多的事情,简单点,一步就干一件事情,然后检测一下干完没有,如果ok就去下一步,多写几步而已,可以避免好多信号不保持,而带来的离奇错误。

提示:

IF (“First scan”=1) THEN

{

步态存储器”:=1;

}

END_IF;

IF (“步态存储器”=1) THEN

{

复位程序”:=1;

IF (“复位完成”=1)THEN

{

步态存储器”:=2;

}

END_IF;

}

END_IF;

所有运行程序必须被关在,步态存储器的笼子里!!!想换笼子,只能是主令电器/上位机的指令。

流程解析:

上电之后,1200 PLC会在第一个扫描周期内置位Firstscan系统标志位,我们用它来进行系统复位。

复位程序:

关闭所有单电控电磁阀的输出,并且将双电控电磁阀设置在一边有电、一边没电的状态,将设备初始位置设为自己想要的那个位置。

如果已经执行复位程序成功,那么这台设备,6个气缸,都应当拥有的自己的传感器信号输出了,比如升降气缸应当是上升到位,而双电控电磁阀控制的气缸上面,是哪个传感器得电,就得看你选的设备初始位置是什么了。

然后,我们如果满足(所有传感器常开触点串联)这个条件,那么我们将进入复位完成状态,等待启动按钮的启动。

而接下来的自动程序,无非是,顺序控制。你用SET\RST成对配合也好,还是MOVE+比较指令也好,都是一样的。

步态条件满足——去执行什么——执行好了——去下一步。

很容易就能实现程序的单流程循环自动运行。

当然,停止按钮和复位按钮,是怎么分配权限的?我们一般这么干:

1.停止按钮高于一切,任何情况下按下停止,都将进入停止状态;

2.启动按钮按下时,必须在设备复位完成状态,在设备初始位置时,才有效;

3.复位按钮按下时,设备必须处于停止状态,才有效,才会去执行复位程序;

(就算用三个开关量表示设备状态,这事也很简单)

三位互锁——设备3个状态只能存在于1种状态中,遵循以上原则。

上面所描述的这种,单流程循环+三位互锁的运行方式,不涉及大量的标志位调用,不需要什么多深的编程思想和工程经验,甚至不考虑设备运行节拍,完全是巷子里面扛木头,直来直去。

但是这是基础,是每个人必须去走的一关,没有一步登天,没有功德圆满。

启动-保持-停止,6个“字”已经讲完了PLC。可是——何时启动?何时保持?何时停止?如何启动?如何保持?如何停止?这6个“问”,你能回答为:“启动-保持-停止”这6个字吗???

当遇到,某位操作员按着启动按钮不放、手动模式下按启动、设备启动中按复位、复位中按停止或者启动、手动模式下已经改了很多机构的初始位置----再切换为自动,等等等等,你的程序能经受住考验吗?

唯有把程序关进“设备状态的笼子”里面,才有回答上面这些问题的“可能性”!

下面介绍第二种 编程方式:

(流程图)

看到这里,突然发现,多了“选择结构”和“并行结构”。我水平有限,也说不清楚。但是还是尝试着解释一下吧!解释如下:

手/自动切换会自动进入设备复位程序,引起设备自动复位(当然你可以设置为进入停止状态,等人工按下复位按钮,进行复位);这样就确保了手/自动切换,无论哪种进入哪种模式,最开始的那一刻,设备均处于“初始位置状态”,不会因为手动模式下的操作被保留,带回到自动模式下。

也就是保证了,设备会因为“模式切换”,而进行自我归零,不产生累计误差。

至于并行架构,我是这么理解的:

供料部分说:我只负责供料,只要放料位没料了,我就去取料;并且我会告诉分拣部分,我这次抓的是什么料(SET料识别标志位);而且要是我发现没料了,我就不干了,然后大声说:“没料了,人类来给我加料!”(SET缺料标志位,而人加完料,按下启动按钮后,会RST缺料标志位);

运料部分说:我只负责运料,只要供料部分把料送到了(料送到的信息是靠电容传感器),我就去抓取,然后送给分拣部分,但是!我在把料给分拣部分时,我得问他一下,他准备好了没有?如果没有,可不能给他(这里是指检查分拣部分准备完成标志位);

分拣部分说:我只根据供料部分SET的料识别标志位,决定我咋干,如果是金属的,我就把它放在左边,如果不是,就把它放在右边;对了,我还要给运料部分那个兄弟说一声:我已经准备好了(SET分拣部分准备完成标志位);

这很像美国的总统制度,三只狗互相制约。

好了,我想我已经说的很形象了.........

我给我女朋友讲故事,都没这么形象。

3.机构简化、暂停、预停、信号锁存、产品计数、预设产量—等等一招鲜战术的原理

首先给各位普及相关思想,这些玩意儿都是建立在之前的基础上,这些功能,说实话只是“一片叶子”,没有合适的程序架构和遵守相关原则,是做不出来的。我们的树干,必须又粗又壮,这“叶子”才会多,这些吸引人眼球的的“一招鲜”,才能被展现出来。

一个个讲过去吧!

A.机构简化:

双电控电磁阀和单电控电磁阀,在程序中如果比较的话,为了不出错,基本上,双控会比单控多一行程序,因为双电控电磁阀要用两个输出,那么这个时候想办法啊!怎么把它变成和单电控电磁阀一样,一行搞定,还不出错???

FC块不带参调用 就是答案。

把SET/RST配合起来,变成一个块调用,方便、快速、还正确。

B.暂停:

暂停功能,其实就是记住当前设备状态,按下停止之后设备不再动,保持当前位置,再次按下启动,继续去执行未完成的任务。

很简单,做到本文第2点讲的,并且程序中每一个动作都与传感器条件相关联;禁止使用普通线圈,必须只使用SET/RST指令进行顺序控制编程;禁止使用定时器(信号滤波除外);必须使用IO映射,并且分为监视机构和执行机构两种,在暂停按钮按下,暂停标志位启动时,执行机构的IO映射:=NOT(“暂停标志位”)就行了。启动按钮复位暂停标志位就OK了。

C.预停:

停止按钮按下时,置位预停标志位,在自动流程,最后一步时,设置选择结构,是回第一步,还是停止(根据预停标志位决定),如果停止,顺便把预停标志位自己也RST掉,以便于下次使用。

D.信号锁存、产品计数、预设产量

其实,在我们这套设备里面,供料机构分辨的“料识别标志位”,就是信号锁存,因为我检测的时候,我的分拣机构就能迅速完成料的分拣吗?不是,而是等待运料部分把料给搬运过来,典型的“秋后算账程序”,我记住你是“金属的”,还是“塑料的”,然后过了一段时间,才依靠信号锁存下来的“证据”,决定把你放到哪个仓库。

产品计数就不用说了,上面这说的内容后面加个计数器,或者ADD,或者INC指令,操作一个DINT类型的数字就行,这叫“记账本”,但是记住,为了准确,通常用上升沿来做这些加法指令/加法计数器的EN(使能)条件。

预设产量,说白了就是触摸屏设定了一个值,然后把这个值和产品计数的数值比较,当设置的数量到了之后,程序最后一步做一个选择结构,如果数量到了——进入停止程序。

当然除了这些,还有缺料报警、放料完成后按启动继续运行什么的,基本都是这个套路,本人不在赘述。

感谢各位观看,谢谢各位!

相关问答

电磁阀的应用及原理是什么?它是如何与PLC配合使用的?

我是矿山电气小东,分享电气知识。电磁阀的应用及原理是什么?它是如何与PLC配合使用的?电磁阀在我们的生产中应用十分广泛,我们先对电磁阀有个初步的认识,矿...

从事PLC三年了,感觉工资也上不去,是不是该往其他方面也发展一些?

能独立设计项目吗?能独立编程吗?能独立知道安装调试吗?如果不能,仅仅是会做个plc程序,可替代性太高!比如,如果你是乙方就是设备厂,天天出差调试,干的苦...工...

生产线自动润装置的组成及主要特点是什么?

自动生产线的组成及其特点:一、自动生产线由安装在铝合金导轨式台面上的供料单元、加工单元、装配单元、输送单元和分拣单元5个单元组成。其中,每一工作单元...

富士康因不加班工资低导致离职潮,劳动密集工厂的工人,会不会被机器人代替?

虽然想告诉你暂时不会被替代。但事实是劳动力密集工厂,未来一定会被机器人替代。但是包括富士康,比亚迪,捷普绿点,甚至包括服装厂都在大量的使用工业机器人...

你们知道一台口罩机需要哪些触摸屏和伺服电机配件吗?该如何搭配?

可...而伺服在口罩生产线的使用主要还是速度控制,调速电机,步进电机,变频电机都是可以满足使用的,何况还是伺服,只是一个功率选型问题,基本都是小型750W左右就...

 石墨盘根  九亭小学 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部