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