[摘要]機床PLC控制程序采用模塊化編程,通過編制不同功能的子程序完成了PLC對機床順序動作的控制,通過利用PLC的應用指令和內部特殊繼電器實現了加工計數器和計時器功能程序段的設計,并編制了機床報警自診斷程序,通過利用時間繼電器實現了檢測開關在電磁閥動作后一定時間內的動作是否到位檢測,確定開關有故障而發(fā)出報警信號。
[關鍵詞]機床數控化 PLC 控制程序
中圖分類號:TP2文獻標識碼:A文章編號:1671-7597(2009)0420015-01
一、控制主程序和子程序的總體思路
機床PLC控制程序編制的總體思路如下:采用模塊化編程方式,分別編制不同控制功能的子程序塊,如:手動點動程序塊、自動循環(huán)程序塊等,在機床處于不同的操作狀態(tài)時執(zhí)行相應的功能子程序,縮短了程序運行時的掃描執(zhí)行時間并且使得程序在編制調試和故障診斷時變得簡單易于查找。在控制PLC程序開頭有一個負責調度管理的主程序,該程序沒有具體的動作控制功能,只是不斷根據外部的選擇輸入條件來執(zhí)行數據傳送和調用功能子程序完成相應的控制任務。主程序內的調用子程序的標號指針(P)可以在P0-P62,P64-P127之間任意指定,當調用條件滿足時執(zhí)行調用子程序指令CALL,程序流程向子程序標號指向的步跳轉,執(zhí)行完子程序后通過執(zhí)行SRET指令程序流程返回上一級跳轉的位置完成調用。子程序的標號及程序內容要在主程序結束指令FEND之后進行編寫??梢詧?zhí)行子程序內的嵌套子程序調用,最多可達到5級嵌套子程序調用。
本程序采用在主程序下編寫幾個并列的功能子程序來執(zhí)行不同的操作,如:P0為機床狀態(tài)及夾具操作程序塊用于機床狀態(tài)的邏輯監(jiān)控;P4為機床輸出管理程序塊,負責部分輸出點的輸出控制,在機床電源開信號給上以后就開始執(zhí)行調用。
二、設定加工計時器
在P0子程序中設置了零件加工時間計時器,當機床運行標志M107接通時,開始以M8013(內部固定秒脈沖)對計數器C101進行脈沖計數,直到運行標志M107斷開或復位。C101中的當前值單位是秒,要以分/秒顯示則要進行二進制除法運算[DIV C101 K60 D110],該指令表示將C101中的16位數據除以常數60,將結果商數存入16位數據寄存器D110中,將余數存入16位寄存器D111中。在顯示面板調用D110,D111中的數據就可以看到加工時間節(jié)拍。C101的最大設定計數值為999,若當前值超過999時,C101常開點閉合將當前值復位置零。同時在每次啟動加工時M103將接通脈沖執(zhí)行型[P],數據傳送指令[MOVP K0 C 101],該指令只在M103從OFF→ON的第一個掃描周期內執(zhí)行將常數0送入C101,將加工計時器內的當前值清零,在以后的程序掃描周期內即使M103保持ON也不執(zhí)行任何傳送操作。
三、設定加工計數器
累計加工計數器DD202可在每次全機運行結束M133置“1”時,對32位數寄存器D202,D203使用[DINCP D202]指令加1,該脈沖執(zhí)行型指令只在M133從,“0→1”時執(zhí)行一次,以后的程序掃描中即使M133為“1”該指令也不執(zhí)行。32位寄存器的正數數值范圍為1 -2,147,483,647,足以滿足機床壽命周期內加工計數的需求,不需要在使用中間置零。每日加工計數器則需要在第二天的加工開始之前清零。
每日加工計數器使用16位字單元D201,使用脈沖執(zhí)行型二進制加一指令[INCP D201 ]對其進行數值累加。使用PLC內的內置時鐘的日期保存寄存器D8016,將D8016的日期數值傳送到字單元D204當中作為程序執(zhí)行時的日期,然后使用當前日期時間D8016與程序上次執(zhí)行時間D204進行數據比較[CMP D8016 D204 M204],將數據比較結果按照“>、=、<”,三種狀態(tài)輸出到M204,M205,M206。
當D8016>D204時,M204=1,M205=0,M206=0;
當D8016=D204時,M204=0,M205=1,M206=0;
當D8016 在程序中使用M205常閉觸點,若當前日期與上次程序執(zhí)行日期不相等時,對每日加工計數寄存器D201執(zhí)行數據傳送指令[MOV KO D201],將常數K0送入D201當中對其進行清零,之后進行新的一天的加工計數。 四、編制報警診斷程序 機床的運行狀態(tài)自診斷程序在子程序P21中編制,主要監(jiān)控夾具開關的通斷狀態(tài)是否及時,主軸功率及主軸皮帶斷裂監(jiān)控,油壓及高壓冷卻等輔助系統(tǒng)的運行狀態(tài)。在夾具開關的通斷狀態(tài)監(jiān)控中,采用內部時間繼電器在驅動電磁閥動作后開始計時,如果相應的檢測開關未在時間繼電器規(guī)定的時間內發(fā)訊,則發(fā)出報警,提示該開關損壞或電磁閥輸出回路有問題或液壓系統(tǒng)有問題。在皮帶斷裂和功率監(jiān)控報警設計中,因為這種報警是非常危險的,即使在運行中偶爾發(fā)生一次,控制系統(tǒng)也要馬上對該報警自保并立即停止加工循環(huán),由維護人員進行檢查確認后才能按復位按鈕消除報警。在油壓監(jiān)控中,對壓力繼電器的常開觸點進行監(jiān)控,當實際壓力低于壓力開關設定值時觸點動作,但并不馬上報警,而是有一個時間延時,如果在規(guī)定時間內壓力恢復則不發(fā)出報警,這是為了防止有些大流量的液壓元件動作時造成系統(tǒng)油壓突然波動降低而出現誤報警。 在程序內機床的報警分為一般故障報警和嚴重故障報警,一般故障報警不影響本次加工循環(huán)的運行,可以在加工結束后再進行處理,嚴重故障報警一旦發(fā)生,馬上中斷當前的加工運行停下來等待故障處理后才能啟動繼續(xù)加工。例如油泵空開異常報警,說明油泵的主回路空氣開關可能斷開,此時油泵可能沒有電源導致液壓系統(tǒng)沒有了油壓,工件的夾緊被釋放,如果此時繼續(xù)加工將產生嚴重的后果,因此必須強制結束加工循環(huán)退回原位等待檢查。在程序內兩個滑臺的運行基本上是獨立的,其中一個伺服系統(tǒng)的故障不會影響到另一個系統(tǒng)的運行,也可以在手動情況下選擇一/二頭單獨進行加工循環(huán)。由于電氣系統(tǒng)必須建立坐標系后才能運行,在機床送電之后首先不能執(zhí)行任何操作,必須等待兩個滑臺都完成原點歸復建立坐標系后才能進行其余操作。機床的夾具操作必須在滑臺都處在原位時才能進行,否則不能進行任何夾具的動作操作。當機床出現緊急情況要復位程序時,按“復位”按鈕清除加工程序,并終止機床的加工循環(huán),按“返回”按鈕使滑臺返回原位;“急?!卑粹o只能切斷外部的直流24V電源,機床加工程序不能清除。 參考文獻: [1]何景瓷、許建平,PLC控制程序的模塊化設計,機床電器,2004(5):32-33. [2]彭道剛、楊平、楊艷華,現場總線技術的現狀與展望,機電一體化,2004(2):6-10. 作者簡介: 王紫東,男,天津人,本科,天津工業(yè)大學計算機技術與自動化學院自動化051,研究方向:自動化。