范例示意如图11-1所示。
图11-1 范例示意
【控制要求】
(1)流水线作业中,生产管理人员需要对流水线的速度进行实时监控,流水线正常运行目标速度为1.8m/s。
(2)电动机与多齿凸轮同轴转动,凸轮上有10个凸齿,电动机每旋转一周,接近开关接收到10个脉冲信号,流水线前进0.325m。电动机转速(r/min)=接近开关每分钟接收到的脉冲数/10,流水线速度=电动机每秒旋转圈数×0.325 =(电动机转速/60)×0.325。
(3)流水线速度低于0.8m/s时,速度偏低灯亮;当流水线速度在0.8~1.8m/s之间时,速度正常灯亮;当流水线速度高于1.8m/s时,速度偏高灯亮。
(4)显示出流水线的速度以进行监控。
【元件说明】
元件说明见表11-1。
表11-1 元件说明
【控制程序】
控制程序如图11-2所示。
图11-2 控制程序
【程序说明】
(1)利用SPD指令测得接近开关的脉冲频率(D0)来计算出电动机的转速。电动机转速(r/min)=每分钟内测得的脉冲数目/10=(脉冲频率×60)/10= (DO×60) /10。
(2)再利用测得的频率D0计算出流水线速度
式中 v-流水线速度,m/s;
N-电动机转速,r/min;
D0-脉冲频率。
假设SPD指令测得的脉冲频率D0=K50,则根据上式可计算出流水线速度=50/10×0.325m/s=1.625m/s。
(3)计算流水线当前速度时运算参数含有小数点,所以需用二进制浮点数运算指令来实现。
(4)通过DEZCP指令来判断流水线当前速度与上下限速度的关系,判断结果反应在M0~M2。
(5)程序中计算流水线速度涉及到整型数和浮点型数的混合运算,在执行二进制浮点数运算指令之前各运算参数均需转换成二进制浮点数,若不是,需用FLT指令转换,然后才能用二进制浮点数指令进行运算。
(6)程序最后将当前速度扩大1000倍后再取整,目的是方便监控。