隨著數(shù)控設備的普及,無論是從事數(shù)控設備的制造還是數(shù)控設備維修的專業(yè)人員,對PLC控制程序的特點和應用都需要熟練的掌握。在這里,我們對國內(nèi)目前常用的發(fā)那科0i、西門子802D、華中08 軟件三種數(shù)控系統(tǒng),在PLC編程中各自的特點、區(qū)別及應用,作一個簡單的介紹。
1 三種數(shù)控系統(tǒng)PLC指令的特點
PLC編程常用的位操作、定時、計數(shù)、比較、運算、傳送、賦值、跳轉等指令在三種系統(tǒng)中的作用及功能都大致相同。而發(fā)那科和華中08 軟件系統(tǒng),為了便于機床PLC編程簡化,增加了不少的功能指令。比如說發(fā)那科和華中系統(tǒng)中就提供了專門為刀庫或刀架選刀控制的ROT旋轉功能指令,在PLC程序中,運用ROT功能指令,就很方便地實現(xiàn)捷徑選刀功能,相比西門子系統(tǒng)編寫的捷徑選刀判斷程序簡化了許多。另外,在發(fā)那科系統(tǒng)中,還應用了PMC 與CNC之間讀、寫窗口數(shù)據(jù)的讀寫指令WINDR(W),PMC 不僅能很方便地讀取CNC的一些信息(如當前日期),而且可通過PMC向CNC 寫入更多的窗口信息(如參數(shù)、宏變量等)。
應用舉例:發(fā)那科0i 系統(tǒng),通過編寫PLC程序讀取系統(tǒng)當前的時間。
其中D500為數(shù)據(jù)地址,它存放功能代碼。如果本程序要讀取當前系統(tǒng)時間,則將D500 寫入系統(tǒng)當前時間的功能代碼151,并在數(shù)據(jù)表中,將D500 對應的參數(shù)設為0,類型設為1,數(shù)據(jù)設為5,D510 的對應的參數(shù)設為0,類型設為1,數(shù)據(jù)設為100。當ACT=1 時,執(zhí)行WINDR 功能后,數(shù)據(jù)表中的D510,D512,D514 的數(shù)據(jù)將會分別更新為當前系統(tǒng)的年份、月份和日期。
華中08 軟件系統(tǒng)中的PLC指令基本上與發(fā)那科一致,只不過是功能指令比發(fā)那科少了許多。
2 三種數(shù)控系統(tǒng)PLC程序的結構特點
西門子PLC程序分主程序、子程序塊,在主程序塊中編寫調(diào)用各子程序塊,在子程序中可采用局部變量進行編程。而發(fā)那科和華中系統(tǒng),將PLC程序劃分為第一級(優(yōu)先)和第二級優(yōu)先順序兩級程序,第一級優(yōu)先執(zhí)行,掃描時間比第二級短。一般要求第一級程序盡可能短,否則將延長整個程序的執(zhí)行時間。特別是對于華中08軟件系統(tǒng),在盡量縮短第一級程序的同時,應將需要高速處理的信號和程序段必須放在第一級程序段進行處理。比如機械手刀庫中機械手扣刀位、停止位等一些短暫信號的程序段,必須要放到第一級程序中,否則會引起誤動作。
3 PLC程序?qū)代碼的處理
三種系統(tǒng)在PLC 程序中對執(zhí)行M 代碼的處理方式完全不同。西門子系統(tǒng)由于程序執(zhí)行M代碼時,對應的PLC變量只保持一個PLC周期,如果在PLC程序中對執(zhí)行M代碼不作處理,運行程序會在執(zhí)行M指令后,不管M代碼指定的動作是否執(zhí)行,都將繼續(xù)往下執(zhí)行程序。所以,對于西門子系統(tǒng)PLC 在接到執(zhí)行M指令時,必須對系統(tǒng)作一個進給保持和禁止讀入處理,只有在M 指令指定的動作執(zhí)行完之后,才能取消進給保持和禁止讀入,否則,程序會一直往下執(zhí)行。而對于發(fā)那科系統(tǒng),M代碼的執(zhí)行,是通過PLC 程序中的譯碼指令功能來獲得的,如果運行程序執(zhí)行了M 指令后,沒有從PMC中得到M指令完成信號(G4.3),程序會一直停在M指令上。所以PLC 程序在處理M 指令時,一定要在M 指令指定的動作完成后,向系統(tǒng)發(fā)出一個M 指令完成信號(G4.3),告知系統(tǒng)M 指令已經(jīng)完成,驅(qū)動系統(tǒng)繼續(xù)往下執(zhí)行程序。對于華中08軟件系統(tǒng),與發(fā)那科系統(tǒng)一樣,也需要得到一個M指令完成信號來結束執(zhí)行M指令,但這個完成信號不是由PLC 程序給出,而是通過在系統(tǒng)畫面上填寫輔助功能表格的內(nèi)容來完成的。具體操作如下:系統(tǒng)設置———輔助功能,在這個畫面上的表格中,填寫M 指令,在對應的“等待信號”欄中填寫的信號地址就是M指令完成信號的地址。不需在PLC程序中作處理。
應用舉例:西門子802D系統(tǒng)執(zhí)行M54(刀庫前進)的程序
4 運行程序與PLC信息的交流
數(shù)控設備中經(jīng)常需要加工程序或宏程序與PLC 交換信息。比如換刀宏程序中,要讀主軸上是否有刀,即PLC中一個變量的狀態(tài)。發(fā)那科系統(tǒng)在處理類似問題時,通常都是通過系統(tǒng)的變量來完成的。其中程序中使用的變量#1000-#1031(只讀)對應PLC 程序中的G54.0-G55.7,#1100-#1131(讀/寫)對應PLC 程序中的F54.0-F55.7。華中系統(tǒng)此功能與發(fā)那科系統(tǒng)基本一致。西門子系統(tǒng)除采用一些特定的系統(tǒng)變量外,在系統(tǒng)中還設立了一組公共存儲器變量V49000000-V490000512,它對應于程序中的$A-DBB [0]-$A-DBB[512]的值。此外,還可通過程序中H(H1、H2、H3)值的變化,從PLC 程序中讀出對應變量的變化(V25000012.0-V25000012.2)。注意程序中每執(zhí)行一次H 值的改變,對應的PLC變量只保持一個PLC 周期。
應用舉例:在西門子802D 系統(tǒng)PLC 程序中,ATC=1 時,將值2 賦值給VB49000010。如果程序中執(zhí)行到“IF SA_DBB[11]= 2 GOTOB _W_ACK”這條指令時,會自動跳轉到“_W_ACK”程序段。
5 結束語
PLC的強大功能,為我們編寫各種控制程序提供了保障。只要我們對PLC 編程的特點、指令功能及應用技巧等方面具備較為熟練的掌握,運用起來就迎刃而解了。
(審核編輯: 滄海一土)
分享