基于CNC系統(tǒng)的嵌入式PLC組件的設(shè)計(jì)與實(shí)現(xiàn)
點(diǎn)擊:1626
A+ A-
所屬頻道:新聞中心
0 前言
發(fā)展柔性結(jié)構(gòu)體系的數(shù)控制造裝備及系統(tǒng),是實(shí)現(xiàn)在快速多變而不確定市場(chǎng)環(huán)境中對(duì)用戶驅(qū)動(dòng)的市場(chǎng)需求做出靈活、快速響應(yīng)的關(guān)鍵。但是,中國(guó)的國(guó)情決定目前還不可能拋棄仍在大量使用的剛性生產(chǎn)線,在這樣的前提下,本文提出一種介于剛性生產(chǎn)線和柔性生產(chǎn)線之間的生產(chǎn)模式準(zhǔn)柔性生產(chǎn)線,也就是充分利用CNC系統(tǒng)的運(yùn)動(dòng)控制模組和靈活的PLC控制模塊去整改剛性生產(chǎn)線。
對(duì)CNC系統(tǒng)的運(yùn)動(dòng)控制功能和PLC的順序邏輯控制準(zhǔn)柔性生產(chǎn)設(shè)備所必須具備的功能。本文以自行研發(fā)的LGCNC系統(tǒng)(以DSP運(yùn)動(dòng)控制芯片為核心、以嵌入式結(jié)構(gòu)PC為平臺(tái)的全閉環(huán)機(jī)床數(shù)控系統(tǒng),具有良好的動(dòng)態(tài)性能和較高的控制精度)為開(kāi)發(fā)平臺(tái),開(kāi)發(fā)了一種具有一定開(kāi)放性的PLC組件,將其融合在CNC系統(tǒng)中,由同一個(gè)CPU控制。下面著重介紹嵌入式PLC的設(shè)計(jì)與實(shí)現(xiàn)方法。
1 嵌入式PLC的設(shè)計(jì)規(guī)劃
嵌入式PLC應(yīng)能充分借助CNC系統(tǒng)的全部硬件資源,具備友好的界面接口,便于用戶編程和操作。用嵌入式PLC和高級(jí)語(yǔ)言C++編程,采用}自}向組件的設(shè)計(jì)方法,使該組件結(jié)構(gòu)開(kāi)放、開(kāi)發(fā)和升級(jí)更易進(jìn)行,從而有效地減少開(kāi)發(fā)周期,并日_提供簡(jiǎn)單豐富、層次多樣的開(kāi)發(fā)接口,還可作為一個(gè)獨(dú)立的組件嵌入其他的CNC系統(tǒng)中。
PLC組件采用與“LGCNC”系統(tǒng)共用同一個(gè)CPU的方案。雖然單獨(dú)使用一個(gè)CPU,使得PLC用戶程序與CNC程序同時(shí)運(yùn)行,在一定程度上占用了CNC程序的執(zhí)行時(shí)間,但是對(duì)基于PC的CNC系統(tǒng),CPU運(yùn)行速度的增加完全可以彌補(bǔ)PLC所占用的時(shí)間,同時(shí)使得PLC組件的軟件程序簡(jiǎn)單化,而日_便于擴(kuò)充PLC功能。
1.1 PLC的工作原理
PLC采用循環(huán)掃描方式工作,一個(gè)循環(huán)工作過(guò)程包括系統(tǒng)初始化、輸入點(diǎn)采樣、執(zhí)行用戶梯形圖程序和輸出點(diǎn)的刷新幾個(gè)階段。(1)系統(tǒng)初始化:在巡回執(zhí)行梯形圖時(shí),首先要執(zhí)行系統(tǒng)的初始化,包括參數(shù)的輸入,數(shù)據(jù)表以及一些計(jì)數(shù)器、定時(shí)器初值的設(shè)置。(2)輸入點(diǎn)的采樣:每次執(zhí)行梯形圖時(shí),要對(duì)輸入點(diǎn)進(jìn)行采樣,然后放入I/O緩沖區(qū)中,以備后面程序查詢(xún)。(3>執(zhí)行用戶梯形圖程序:執(zhí)行用戶程序,就是CPU從首地址開(kāi)始按次序逐個(gè)掃描所有存儲(chǔ)器地址,按梯形圖的順序邏輯動(dòng)作逐個(gè)執(zhí)行。(4)輸出點(diǎn)的刷新:執(zhí)行完用戶程序后,所有的運(yùn)算結(jié)果都存放在輸出單兒狀態(tài)表中,要實(shí)現(xiàn)PLC控制,就必須將要控制的信號(hào)從狀態(tài)表里送到執(zhí)行兒件,該動(dòng)作稱(chēng)為輸出點(diǎn)的刷新。PLC根據(jù)梯形圖的動(dòng)作級(jí)別,決定輸出點(diǎn)的刷新時(shí)間。對(duì)于需要快速響應(yīng)的,要隨時(shí)輸出;對(duì)于不必快速響應(yīng)的,每執(zhí)行一個(gè)循環(huán),就執(zhí)行一遍輸出點(diǎn)的刷新。
PLC控制作為順序邏輯控制,它的控制對(duì)象大都是變化緩慢的信號(hào),機(jī)械動(dòng)作更是如此。而PLC每次掃描輸入和邏輯運(yùn)算的時(shí)間僅為毫秒級(jí),甚至微秒級(jí)Cal,在邏輯運(yùn)算過(guò)程中,即使輸入信號(hào)的狀態(tài)發(fā)生了變化,也不會(huì)影響機(jī)械動(dòng)作的效果。因此,這種輸入采樣、輸出刷新的循環(huán)方式能夠符合實(shí)際的工作狀態(tài)。
1.2 PLC組件的軟、硬件結(jié)構(gòu)
PLC組件與LGCNC數(shù)控系統(tǒng)硬件資源共享,具有60個(gè)輸入點(diǎn)和56個(gè)輸出點(diǎn),其中有12個(gè)高速輸入點(diǎn),4個(gè)定時(shí)時(shí)鐘中斷。PLC組件的軟件主要由初始化參數(shù)設(shè)置模塊、與CNC系統(tǒng)相連的接口模塊、PLC集成編輯系統(tǒng)、PLC程序仿真模塊以及PLC程序執(zhí)行模塊組成,如圖1所示。
圖1 嵌入式PLC組件的軟件結(jié)構(gòu)
2 嵌入式PLC的軟件實(shí)現(xiàn)
2.1 嵌入式PLC的集成編輯系統(tǒng)
梯形圖編程語(yǔ)言是從繼電器邏輯控制(RLC)演變而來(lái)的,工程技術(shù)人員利用梯形圖編程語(yǔ)句來(lái)表不各設(shè)備之間的邏輯控制關(guān)系。在編輯狀態(tài)下,操作者一在編輯窗口可任意查看和編輯梯形圖的內(nèi)容。本系統(tǒng)采用日本FANUC的PMC指令系統(tǒng)助記符,包括12條基本指令和33條功能指令。本組件采用面向?qū)ο蟮脑O(shè)計(jì)方法來(lái)完成,以下為梯形圖顯示和階梯上觸點(diǎn)的存儲(chǔ)和顯示對(duì)應(yīng)的類(lèi)結(jié)構(gòu)定義。
2.2 嵌入式PLC用戶程序的運(yùn)行
(1)PLC運(yùn)行程序數(shù)據(jù)結(jié)構(gòu)的定義。在系統(tǒng)內(nèi)存中首先開(kāi)辟1K的存儲(chǔ)區(qū)域,用于存放PLC的I/O信號(hào)狀態(tài),這些信號(hào)包括由機(jī)床向PLC的輸入信號(hào)XO一X63,由PLC向機(jī)床的輸出信號(hào)Y64~Y127,由CNC向PLC的輸入信號(hào)F128~F227,由PLC向CNC的輸出信號(hào)6228~6299,內(nèi)部繼電器8800~R1023,保持型存儲(chǔ)器的數(shù)據(jù)D300~D799。其中保持型存儲(chǔ)器由20個(gè)內(nèi)部定時(shí)器D300~D399,20個(gè)內(nèi)部計(jì)數(shù)器D400~D499,44個(gè)保持繼電器D500~D543和占用256個(gè)字節(jié)的數(shù)據(jù)表組成,內(nèi)部定時(shí)器和計(jì)數(shù)器各占5個(gè)字節(jié)。對(duì)這個(gè)區(qū)域按位或字節(jié)刁一址來(lái)實(shí)現(xiàn)I/O狀態(tài)的掃描和控制。例如,可以用如下指令開(kāi)辟一塊1K字節(jié)的內(nèi)存區(qū)。
char } PLC IOSTATE; PLC IOSTATE=(char、)mallocC 1024;
為了加強(qiáng)軟件的靈活性和可移植性,可用宏定義的方法來(lái)實(shí)現(xiàn)各種信號(hào)起始點(diǎn)對(duì)應(yīng)定位置的定義。然后,定義兩個(gè)字符類(lèi)型的全局變量PLC ST和PLC STO,其中PLC ST相當(dāng)于一個(gè)堆棧,PLC STO用于存放每個(gè)階梯的最終執(zhí)行結(jié)果。
內(nèi)部計(jì)數(shù)器/定時(shí)器采用軟件的方法實(shí)現(xiàn),它們是PLC內(nèi)部非常重要的中間資源。一個(gè)內(nèi)部計(jì)數(shù)器在I/O狀態(tài)表內(nèi)占據(jù)連續(xù)的5個(gè)字節(jié)空間,第1,2字節(jié)存放計(jì)數(shù)器的預(yù)置值,第3,4字節(jié)用于計(jì)數(shù),第5字節(jié)的第0位用于檢測(cè)上升沿,實(shí)現(xiàn)脈沖計(jì)數(shù),其他位保留。
(2)基本指令的實(shí)現(xiàn)方法。PLC用戶程序在系統(tǒng)內(nèi)部以一定的二進(jìn)制格式存放,每條指令占用4個(gè)字節(jié),用于存放該指令的功能以及相應(yīng)的參數(shù)。利用C語(yǔ)言,根據(jù)PLC指令集建立一個(gè)用戶函數(shù)庫(kù),則執(zhí)行程序的編寫(xiě)就如同對(duì)PLC編程一樣。
輸入和輸出單兒的刷新同樣利用一個(gè)函數(shù)來(lái)實(shí)現(xiàn),最后通過(guò)輸出口送出控制量,實(shí)現(xiàn)PLC控制,嵌入式PLC的基本功能也就完成了。采用時(shí)鐘中斷不斷調(diào)用執(zhí)行的方式,實(shí)現(xiàn)PLC的循環(huán)往復(fù)執(zhí)行。
3 結(jié)束語(yǔ)
本文開(kāi)發(fā)的嵌入式PLC組件已初步和LGCNC系統(tǒng)融合在一起,充分利用基于PC的CNC系統(tǒng)豐富的軟、硬件資源,實(shí)現(xiàn)了和CNC系統(tǒng)的有機(jī)結(jié)合。該P(yáng)LC系統(tǒng)可完成的功能主要有:主軸正、反轉(zhuǎn)和停止的控制,主軸的轉(zhuǎn)速控制,自動(dòng)換刀,冷卻液開(kāi)關(guān),定時(shí)潤(rùn)滑控制等。它的成功開(kāi)發(fā)為準(zhǔn)柔性生產(chǎn)設(shè)備的大量生產(chǎn)提供了條件。
(審核編輯: 智匯張瑜)
分享