在电气项目中,我们经常遇到双工位同时做料,那么设备CT如何算呢?
双工位设备CT是有重复的时间,如果各自CT加起来/2,算的CT又偏小,如何使我们的设备CT更精准呢?
下面分享2种编程方法:
使用接通延时指令说明:
(1)D502为1工位入料流程,D502=370为1工位出料流程。
(2)D505为2工位入料流程,D505=370为2工位出料流程。
(3)D24为2工位在做产品数量。
(4)D48为实时CT,D50-58为存储5个产品CT时间。
1:使用流程比较指令,左右产品进入组装时,进入组装前1工位流程步=40下降沿寄存器D24+1。
2:1工位自动流程D502=370H和D505=370处于出料等待下一步状态,或者D240,赋值D24=0。
3:出料一个,在做产品D24-1。
4:如果在做产品D240,开始计时,数值存储在D48,并实时传输到D50,这样中转到D50保证延时条件断开数据不会丢失。
5:当D502=360或D505=360,更新5产品CT,并对计时清理,解决2工位重叠问题。
双工位CT梯形图编程
使用PLC时间指令说明:
(1)AutoLeftFeedUnitStep为1工位入料流程,=100为1工位出料流程。dateLeftSraet为产品进入组装开始时间,dateLeft为产品开始出料时的时间。dateLeftSraetS为转换后产品进入组装时的秒单位数,dateLeftS为转换后产品开始出料时的秒单位数。
(2)AutoRighttFeedUnitStep为2工位入料流程,=100为2工位出料流程。dateRightSraet为产品进入组装开始时间,dateRight为产品开始出料时的时间。dateRightSraetS为转换后产品进入组装时的秒单位数,dateRightS为转换后产品开始出料时的秒单位数。
(3)DATERD为读取PLC当前时间指令。DATE2SEC_U,时间转换成秒单位。
//1工位入料上升沿F_TRIG_3(CLK:=(AutoRighttFeedUnitStep=100ORTES0009)ANDg_Mode__Mode);//2号工位出料DATERD(R_TRIG_13.QORF_TRIG_3.Q,dateLeftSraet);//读取1工位CT//R_TRIG_14(CLK:=(AutoRighttFeedUnitStep=40ORTES0009)ANDg_Mode__Mode);//2产品开始组装时的时间,去除重叠时间F_TRIG_2(CLK:=(AutoRighttFeedUnitStep=100ORTES0009)ANDg_Mode__Mode);DATERD(x_LocalDI002,dateRight);//产品出料时时间IFdateRightSraet[0]0THENDATE2SEC_U(TRUE,dateRightSraet,dateRightSraetS);//时间转换成秒END_IF;IFdateRight[0]0THENDATE2SEC_U(TRUE,dateRight,dateRightS);//时间转换成秒END_IF;IFg_Mode__ModeTHENg_w_HMITT0R:=dateRightS-dateRightSraetS;//所用的时间CTEND_IF;IFF_TRIG_2.QTHENFMOV(TRUE,K0,K7,dateRightSraet[0]);//开始时间清零dateRightSraetS:=0;FMOV(TRUE,K0,K7,dateRight[0]);//开始时间清零dateRightS:=0;END_IF;
总结:
以上是计算双工位CT的编程方法,方法一种是梯形图利用时间接通延时指令,一种是ST语言利用时间指令。你更喜欢哪一个呢?第二种方法比较方便和准确些,你觉得呢?
免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系