近年來(lái),隨著計(jì)算機(jī)和網(wǎng)絡(luò)通訊為代表的信息技術(shù)的飛速發(fā)展和廣泛應(yīng)用,制造業(yè)無(wú)論是觀念,還是技術(shù)都發(fā)生了很大的變化。傳統(tǒng)的以相對(duì)固定的機(jī)器和生產(chǎn)場(chǎng)所為中心,由上至下進(jìn)行管理控制的大批量制造生產(chǎn)模式正逐步向以人為中心,基于技術(shù)的先進(jìn)制造生產(chǎn)模式轉(zhuǎn)變。 全球制造的思想就是利用異地的資源(設(shè)備、知識(shí)、人力)來(lái)制造市場(chǎng)所需產(chǎn)品,從而加工單元的遠(yuǎn)程監(jiān)控技術(shù)就成為它的重要組成部分。要實(shí)現(xiàn)加工單元的遠(yuǎn)程監(jiān)控,首要解決的問(wèn)題是數(shù)控機(jī)床的網(wǎng)絡(luò)通訊和控制技術(shù)問(wèn)題。
本項(xiàng)目就是解決傳統(tǒng)經(jīng)濟(jì)型的數(shù)控機(jī)床的網(wǎng)絡(luò)通訊和控制技術(shù)問(wèn)題,通過(guò)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)NC程序的中央服務(wù)器集中管理及網(wǎng)絡(luò)通訊。從而適應(yīng)現(xiàn)代先進(jìn)制造技術(shù)的發(fā)展。
1、需求分析
1.1 傳統(tǒng)經(jīng)濟(jì)型數(shù)控機(jī)床存在的問(wèn)題
傳統(tǒng)經(jīng)濟(jì)型的數(shù)控加工設(shè)備按數(shù)控系統(tǒng)分類(lèi)主要有:FANUC系統(tǒng)(其中包括3T、7M、HC-6、6MB等)、AB公司系統(tǒng)、國(guó)產(chǎn)3B線切割系統(tǒng)等:按數(shù)控程序輸入/輸出通訊接口類(lèi)型分有三類(lèi):一類(lèi)為僅有RS232/RS422串行口,二類(lèi)為僅有紙帶閱讀機(jī)8/5單位并行口,三類(lèi)同時(shí)包括前兩類(lèi)接口。這三類(lèi)機(jī)床同時(shí)還存在同樣的問(wèn)題就是:內(nèi)存容量較小,不適應(yīng)復(fù)雜、大型面、高精度、長(zhǎng)程序零件的加工:它們的對(duì)外接口能力差,沒(méi)有DNC功能,不能實(shí)現(xiàn)在線加工以及網(wǎng)絡(luò)控制等問(wèn)題。
1.2 希望的解決方案
本著滿(mǎn)足最基本的應(yīng)用需求、且留有一定的可擴(kuò)充性及性能提高的潛力的前提,來(lái)改善數(shù)控加工技術(shù)應(yīng)用環(huán)境。就此提出了以下解決方案:機(jī)床通訊接口的硬件改造,針對(duì)各類(lèi)機(jī)床設(shè)計(jì)相應(yīng)的通訊接口板卡:通訊控制軟件的開(kāi)發(fā),以實(shí)現(xiàn)各機(jī)床的單機(jī)通訊功能:開(kāi)發(fā)其它輔助功能(如:數(shù)控程序中加工信息的提取、數(shù)控程序圖形模擬、長(zhǎng)程序的在線加工等),彌補(bǔ)和增強(qiáng)原數(shù)控系統(tǒng)功能:網(wǎng)絡(luò)體系的選擇與通訊協(xié)議的定義及網(wǎng)絡(luò)系統(tǒng)控制軟件的開(kāi)發(fā),實(shí)現(xiàn)數(shù)控程序的中央服務(wù)器集中管理和網(wǎng)絡(luò)通訊。
2、系統(tǒng)結(jié)構(gòu)
2.1 網(wǎng)絡(luò)系統(tǒng)構(gòu)成及功能
整個(gè)網(wǎng)絡(luò)系統(tǒng)是由中央服務(wù)器、網(wǎng)絡(luò)接口、雙向數(shù)據(jù)轉(zhuǎn)換器、現(xiàn)場(chǎng)服務(wù)器、1分N口并行數(shù)據(jù)收發(fā)器、數(shù)據(jù)接收器以及經(jīng)濟(jì)型數(shù)控機(jī)床等組成。
中央服務(wù)器是整個(gè)網(wǎng)絡(luò)的中樞部分,它主要完成的是對(duì)各級(jí)服務(wù)器的整體控制。它采用后臺(tái)中斷工作模式,不需要人的干預(yù),而且其前臺(tái)還可以進(jìn)行其他工作。
現(xiàn)場(chǎng)服務(wù)器是客戶(hù)端,既擔(dān)任起數(shù)控服務(wù)器的功能,又具有強(qiáng)大的網(wǎng)絡(luò)通訊功能,它接受中央服務(wù)器下達(dá)的各項(xiàng)任務(wù):從網(wǎng)絡(luò)上獲取由中央服務(wù)器傳來(lái)的數(shù)控加工程序的數(shù)據(jù)信息,并把這些數(shù)據(jù)信息傳送到NC文件庫(kù):將已加工過(guò)的數(shù)控程序反饋到中央服務(wù)器。能從系統(tǒng)的NC文件庫(kù)中提取相應(yīng)的數(shù)控代碼,并從中提取有關(guān)的加工零件數(shù)據(jù)和信息,對(duì)其進(jìn)行處理,實(shí)現(xiàn)NC程序的圖形模擬等工作。另外,對(duì)需用長(zhǎng)程序的零件加工,現(xiàn)場(chǎng)服務(wù)器還完成長(zhǎng)程序的在線加工任務(wù)。
現(xiàn)場(chǎng)服務(wù)器可同時(shí)服務(wù)于多臺(tái)數(shù)控設(shè)備,根據(jù)需要在車(chē)間一定的空間范圍內(nèi)(比如:一個(gè)小的工作間,一個(gè)小的局部區(qū)域)設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn),放置一臺(tái)PC機(jī)作為現(xiàn)場(chǎng)服務(wù)器,一臺(tái)服務(wù)器根據(jù)實(shí)際需要靠選用1分N口并行數(shù)據(jù)收發(fā)器來(lái)服務(wù)于多臺(tái)數(shù)控設(shè)備。
2.2 系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu)及通信協(xié)議的選擇
系統(tǒng)中的各種信息都是通過(guò)網(wǎng)絡(luò)來(lái)傳輸?shù)?。在?jì)算機(jī)網(wǎng)絡(luò)發(fā)展上,影響較大的網(wǎng)絡(luò)體系主要有:OSI七層參考模型和TCP/IP體系結(jié)構(gòu)模型。OSI參考模型是ISO7498國(guó)際標(biāo)準(zhǔn)。TCP/IP體系結(jié)構(gòu)是當(dāng)前流行的Internet網(wǎng)絡(luò)所使用的體系結(jié)構(gòu),盡管它不是國(guó)際標(biāo)準(zhǔn),但在計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)中卻占有非常重要的地位。這是因?yàn)殡m然OSI的體系結(jié)構(gòu)從理論上講比較完整,其各層協(xié)議也考慮得很周全,但事實(shí)上,完全符合OSI各層協(xié)議的商用產(chǎn)品卻極少進(jìn)入市場(chǎng),遠(yuǎn)遠(yuǎn)不能滿(mǎn)足各種用戶(hù)的需求。然而使用TCP/IP協(xié)議的產(chǎn)品卻大量涌入市場(chǎng),幾乎所有的工作站都配有TCP/IP協(xié)議,并已成為計(jì)算機(jī)網(wǎng)絡(luò)事實(shí)上的標(biāo)準(zhǔn),通稱(chēng)“工業(yè)標(biāo)準(zhǔn)”。為此,我們?cè)跀?shù)控機(jī)床的網(wǎng)絡(luò)通訊系統(tǒng)中,采用的是TCP/IP的網(wǎng)絡(luò)體系結(jié)構(gòu),該體系把計(jì)算機(jī)網(wǎng)絡(luò)分為四層,即應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和網(wǎng)絡(luò)接口層。
TCP/IP體系結(jié)構(gòu)為傳輸層制定了兩種協(xié)議即:傳輸控制協(xié)議(TCP)和用戶(hù)數(shù)據(jù)包協(xié)議(UDP),UDP為用戶(hù)提供進(jìn)程無(wú)連接的數(shù)據(jù)報(bào)協(xié)議,數(shù)據(jù)包以獨(dú)立包的形式傳送,服務(wù)不提供無(wú)錯(cuò)保證,數(shù)據(jù)可能丟失、重復(fù)或失序:數(shù)據(jù)包的長(zhǎng)度也受一次處理最大長(zhǎng)度的限制(默認(rèn)值為8192字節(jié),最大值為32768字節(jié)),不進(jìn)行包的拆分和重組操作:而TCP協(xié)議是一個(gè)可靠的全雙工的字節(jié)流的面向連接的協(xié)議,TCP和UDP相比傳輸可靠、數(shù)據(jù)無(wú)差錯(cuò)、無(wú)重復(fù),可按發(fā)送順序接收,數(shù)據(jù)為字節(jié)流,其長(zhǎng)度不受限制,為用戶(hù)提供虛電路服務(wù),并為數(shù)據(jù)的可靠傳輸提供檢驗(yàn)。根據(jù)數(shù)控加工的特點(diǎn),盡管數(shù)據(jù)包在傳輸量小于2048個(gè)字節(jié)時(shí)UDP可靠性更好,但數(shù)據(jù)包服務(wù)是單包、無(wú)序傳送,而系統(tǒng)的網(wǎng)絡(luò)通信顯然不能保證所有傳輸?shù)男畔⒍夹∮?048個(gè)字節(jié),因此,只能選用TCP作為系統(tǒng)的傳輸層協(xié)議。
應(yīng)用層的通訊協(xié)議的選擇既要考慮到數(shù)控加工的特點(diǎn)又要具備實(shí)時(shí)性、可靠性以及數(shù)據(jù)傳輸量大等特點(diǎn)。本系統(tǒng)另行開(kāi)發(fā)了基于TCP/IP協(xié)議族的相應(yīng)協(xié)議,制定了應(yīng)用進(jìn)程之間傳輸?shù)男畔⒌奶厥夂x。
2.3 通訊協(xié)議的實(shí)現(xiàn)
系統(tǒng)協(xié)議,就是保證客戶(hù)端和服務(wù)器端的應(yīng)用線程之間能相互準(zhǔn)確、及時(shí)、有序地傳送信息,并能彼此毫無(wú)差錯(cuò)地對(duì)信息進(jìn)行語(yǔ)法分析和解釋。
對(duì)于網(wǎng)絡(luò)控制系統(tǒng),其傳輸信息有自己獨(dú)特的含義。在客戶(hù)端和中央服務(wù)器間傳遞的信息,主要有客戶(hù)端的請(qǐng)求信息、數(shù)據(jù)信息和中央服務(wù)器端的狀態(tài)信息。 客戶(hù)端的控制信息又分為兩種:網(wǎng)絡(luò)控制信息和加工控制信息:服務(wù)器端的狀態(tài)信息也分為兩種:連接狀態(tài)信息和客戶(hù)端的狀態(tài)信息。
在系統(tǒng)的協(xié)議中,這些信息都規(guī)定了相應(yīng)的格式規(guī)范,客戶(hù)端的網(wǎng)絡(luò)控制信息主要用于與服務(wù)器連接的建立、維持和釋放。加工控制信息由控制命令字、控制參數(shù)組成。網(wǎng)絡(luò)通訊協(xié)議格式為:“cmd,1byte命令代碼,1byte命令長(zhǎng)度,命令參數(shù),4字節(jié)的校驗(yàn)碼(XC)”?!甤md’為命令引導(dǎo)碼,用以標(biāo)識(shí)命令的開(kāi)始:‘命令長(zhǎng)度’只包括命令參數(shù)及校驗(yàn)碼的長(zhǎng)度。若無(wú)命令參數(shù),則為4,校驗(yàn)碼將無(wú)意義也不被檢驗(yàn),但還是必須發(fā)送。
傳輸?shù)臄?shù)據(jù)包的末尾4字節(jié)為校驗(yàn)碼。前3字節(jié)為該包的所有字節(jié)的和,第4字節(jié)為所有字節(jié)的異或值。若發(fā)送過(guò)程中有數(shù)據(jù)發(fā)生錯(cuò)誤,則第4字節(jié)的校驗(yàn)碼一定不正確。因此,靠監(jiān)測(cè)第4字節(jié)校驗(yàn)碼來(lái)保證通訊數(shù)據(jù)的可靠性。
3、硬件設(shè)計(jì)原理
系統(tǒng)在服務(wù)器端使用2/4/8口RS422A接口卡進(jìn)行轉(zhuǎn)接,進(jìn)入現(xiàn)場(chǎng)后采用RS-422/RS-485雙向數(shù)據(jù)轉(zhuǎn)換器轉(zhuǎn)接至現(xiàn)場(chǎng)服務(wù)器。2/4/8口RS422A接口卡與RS-422/RS-485雙向轉(zhuǎn)換器均采用工業(yè)控制標(biāo)準(zhǔn)接口板卡。
當(dāng)現(xiàn)場(chǎng)服務(wù)器服務(wù)于多臺(tái)數(shù)控機(jī)床時(shí),采用“1分N口并行數(shù)據(jù)收發(fā)器”分接于多臺(tái)機(jī)床?!皵?shù)據(jù)接收器”是專(zhuān)門(mén)針對(duì)僅有紙帶閱讀機(jī)8/5單位并行口的機(jī)床(如線切割機(jī))而設(shè)計(jì)的。它完成機(jī)床與PC機(jī)的通訊以及實(shí)現(xiàn)數(shù)控程序的在線加工。使用數(shù)據(jù)接收器時(shí),在機(jī)床接線上要作相應(yīng)改動(dòng),即:在原紙帶閱讀機(jī)的輸出信號(hào)線上通過(guò)三態(tài)門(mén)并入相應(yīng)的3B代碼數(shù)據(jù)信號(hào),將原系統(tǒng)發(fā)送給紙帶閱讀機(jī)的步進(jìn)信號(hào)作為控制系統(tǒng)寫(xiě)入數(shù)據(jù)的定時(shí)信號(hào)。系統(tǒng)設(shè)計(jì)時(shí),設(shè)置了控制開(kāi)關(guān),用于選擇使用原紙帶閱讀機(jī)還是使用數(shù)據(jù)接收器。
4、軟件開(kāi)發(fā)原理
系統(tǒng)的軟件由兩部分組成,一是網(wǎng)絡(luò)控制系統(tǒng)的控制軟件,再一個(gè)就是現(xiàn)場(chǎng)服務(wù)器與各類(lèi)機(jī)床的通訊軟件。
網(wǎng)絡(luò)控制系統(tǒng)控制軟件的開(kāi)發(fā)原理
網(wǎng)絡(luò)控制系統(tǒng)的控制軟件安裝于中央服務(wù)器中,其設(shè)計(jì)原理是:中央服務(wù)器不停地接收并分析從各端口送來(lái)的請(qǐng)求、命令、信息等數(shù)據(jù)包。當(dāng)一個(gè)數(shù)據(jù)包接收完畢后,它將首先通過(guò)包中的校驗(yàn)碼進(jìn)行驗(yàn)證該包在傳送過(guò)程中是否出錯(cuò)。若出錯(cuò),它將發(fā)出“重發(fā)”命令給原發(fā)客戶(hù)端:若正確則進(jìn)行相應(yīng)的處理。
現(xiàn)場(chǎng)服務(wù)器與各類(lèi)機(jī)床的通訊軟件開(kāi)發(fā)原理
針對(duì)各類(lèi)機(jī)床與現(xiàn)場(chǎng)服務(wù)器的通訊,軟件開(kāi)發(fā)的基本原理是:要將數(shù)控程序傳入數(shù)控機(jī)床,首先將數(shù)控程序轉(zhuǎn)換為機(jī)床能識(shí)別的代碼EIA碼或ISO碼,然后以數(shù)據(jù)包的方式讀入現(xiàn)場(chǎng)服務(wù)器內(nèi)存,再逐字節(jié)地向數(shù)控機(jī)床控制系統(tǒng)發(fā)送,同時(shí)計(jì)算機(jī)不停地監(jiān)測(cè)機(jī)床接口的狀態(tài)寄存器的狀態(tài)。從機(jī)床傳出數(shù)據(jù),通訊控制軟件總是從其程序代碼的末端開(kāi)始至常規(guī)內(nèi)存的頂端(0A0000H)作為接收數(shù)據(jù)的緩沖區(qū)。