范例示意如圖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倍后再取整,目的是方便監控。