加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线18475208684

SIEMENS西门子伺服电机(授权)代理商-广东揭阳一级代理商

更新时间
2024-11-02 08:00:00
价格
请来电询价
PLC触摸屏代理商
西门子代理商
伺服电机驱动电缆
西门子一级代理商
变频器直流调速器
西门子一级总代理商
联系电话
13922889745
联系手机
18475208684
联系人
向小姐
立即询价

详细介绍

PLC程序,总共5个工位,判断首先去哪个工位接料

简述现场情况:现场总共有5条生产线,2台RGV,一条汇总输送线(生产线的料需要运到汇总输送线上),目前只写了一台RGV程序,RGV与总控是通过无线通讯,所以,我把生产线的请求接料信号进行了编号,例如,1号线请求接料位号=10,2号线请求接料位号=20.........,回到空闲工位为60, 以此为例,排好序后,做程序逻辑判断(PLC采用汇川AM403)。

这里我采用的计数的方法,利用一秒定时器,每过一秒进行加一,然后比较那条线计数Zui大,那首先去那条线。

首先,创建一秒逻辑定时器:

FB_1S定时器(IN:=(NOT FB_1S定时器.Q) , PT:= T#1S, Q=> , ET=> );

然后,根据逻辑判断,假如此条线有请求接料信号,用if语句,进行累计:

IF hb_1出垛输送请求接料 THEN

    IF FB_1S定时器.Q THEN

        vd_1号线请求接料计数        := vd_1号线请求接料计数+1;

    END_IF

ELSE

vd_1号线请求接料计数 := 0;

END_IF

首先判断那条线的计数Zui大,此处我采用Zui大值函数,先求出Zui大值:

vd_5条工位计数Zui大值  := MAX(vd_1号线请求接料计数, vd_2号线请求接料计数,vd_3号线请求接料计数,vd_4号线请求接料计数,vd_5号线请求接料计数);

得出Zui大值后,在来判断Zui大值与那条线的计数相等,等于的就可以判断该去那条线接料,程序如下:

IF (hi_模式选择 =30) THEN            //模式等于10,只负责5、4、3、2、1五个工位  AND (hi_2号RGV运行状态 =30)

IF (vd_5条工位计数Zui大值 = vd_1号线请求接料计数)  AND (vd_1号线请求接料计数 >0) THEN

hi_判断前往工位 := 10;

ELSIF  (vd_5条工位计数Zui大值 = vd_2号线请求接料计数) AND (vd_2号线请求接料计数 >0) THEN 

hi_判断前往工位 := 20;

ELSIF  (vd_5条工位计数Zui大值 = vd_3号线请求接料计数) AND (vd_3号线请求接料计数 >0) THEN 

hi_判断前往工位 := 30;

ELSIF  (vd_5条工位计数Zui大值 = vd_4号线请求接料计数) AND (vd_4号线请求接料计数 >0) THEN 

hi_判断前往工位 := 40;

ELSIF  (vd_5条工位计数Zui大值 = vd_5号线请求接料计数) AND (vd_5号线请求接料计数 >0) THEN 

hi_判断前往工位 := 50;

ELSIF (vd_1号线请求接料计数 = 0) AND (vd_2号线请求接料计数 = 0) AND (vd_3号线请求接料计数 = 0) AND (vd_4号线请求接料计数 = 0) AND (vd_5号线请求接料计数 = 0) THEN 

hi_判断前往工位 := 60;      //模式等于60时,小车回到2号线位置

END_IF

END_IF

注意:在if语句中,“(vd_5条工位计数Zui大值 = vd_1号线请求接料计数)  AND (vd_1号线请求接料计数 >0) ”,把条件“(vd_1号线请求接料计数 >0)”放进去,是为了防止当计数都等于0时,Zui大值也是0,在if elsif语句中,只要第一个满足,就不会判断后面的逻辑,所以得限制判断逻辑。


相关产品

联系方式

  • 电  话:13922889745
  • 经理:向小姐
  • 手  机:18475208684
  • 微  信:18475208684