(1)控制要求
某車間有8個工作臺,送料小車往返于工作臺之間送料,如圖2.92所示。每個工作臺設有一個到位開關(SQ)和一個呼叫按鈕(SB)。具體控制要求如下。
①送料車開始應能停留在8個工作臺中任意一個到位開關的位置上。
②設送料車現暫停于m號工作臺(SQm為ON)處,這時n號工作臺呼叫(SBn為ON),當m>n時,送料車左行,直至SQn動作,到位停車。即送料車所停位置SQ的編號大于呼叫按鈕SB的編號時,送料車往左行,運行至呼叫位置后停止。
③當m<n時,送料車右行,直至SQn動作,到位停車。
④當,m=n,即小車所停位置等于呼叫號時,送料車原位不動。
⑤小車運行時呼叫無效。
⑥具有左行、右行指示,原點不動指示。
⑦用7段LED數碼管顯示小車行走位置。
圖2.92 呼叫小車示意圖
(2)I/O分配
根據控制要求確定該系統有16個輸入,11個輸出,其I/O接線圖如圖2.93所示。由于控制系統的輸出既有接觸器線圈,還有LED和指示燈,所以將輸出元件分成兩個電壓組別,一組是接觸器,采用AC220V供電,并且在外部電路中用接觸器的常閉觸點互鎖;另一組是LED和指示燈,采用DC24V供電。注意不要將兩組輸出的COM端連接在一起。
圖2.93 呼叫小車的I/O接線圖
(3)程序設計
呼叫小車的程序如圖2.94所示。
圖2.94 呼叫小車程序
步0~步21中LD>K2X0 K0,是指當呼叫信號組大于零,即只要有呼叫信號,X7~X0中有一個就為“1”,小車處于某一位置,即X17~X10中有一個為“1”時,將呼叫信息和位置信息分別存入D0和D10中。
步22利用比較指令CMP比較呼叫號和位置號的大小,以此確定小車的運行方向。若D0>D10,即呼叫號大于位置號,則M0 =1,小車右行;若D0<D10,即呼叫號小于位置號,則M2=1,小車左行。
步34中D0= D10說明,只要呼叫號等于位置號,小車不動,并對比較結果復位。
步44中,D0=K0說明假如沒有呼叫信號,則對以前的呼叫信息清零。
步60中ENCO編碼指令將小車的位置信息D10進行編碼后送入D11中。假設現在小車在圖2.92所示的第4個位置(從左至右的順序),則X17~X10為000 1000,即D10的低7位為000 1000,ENCO指令將D10中“1”所對應的位數“3”編制為二進制數011送入D11中,因為D10中的數位是從“0”開始的,所以要想顯示車的實際位置是“4”,必須用ADD加法指令再將D11中的數加“1”后送給Y17~Y10顯示。
(4)調試運行
①按圖2.93連接I/O接線圖。
②用GX軟件編寫圖2.94所示的梯形圖并將編譯無誤的控制程序下載至PLC中,將模式選擇開關撥至RUN狀態。
③按照系統操作要求調試程序,觀察程序能否達到控制要求。