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