徐楚橋 孫文磊
(新疆大學(xué)機(jī)械工程學(xué)院,新疆 烏魯木齊 830047)
?
基于物聯(lián)網(wǎng)的數(shù)控車間集成通訊系統(tǒng)的設(shè)計(jì)*
徐楚橋?qū)O文磊
(新疆大學(xué)機(jī)械工程學(xué)院,新疆 烏魯木齊 830047)
設(shè)計(jì)實(shí)現(xiàn)了一種基于物聯(lián)網(wǎng)的數(shù)控車間集成通訊系統(tǒng)的解決方案,針對(duì)國(guó)內(nèi)企業(yè)目前使用的主流數(shù)控機(jī)床,從不同數(shù)控系統(tǒng)的通訊方式和通訊協(xié)議出發(fā),提出了數(shù)控車間無線組網(wǎng)方案,利用Java語言,開發(fā)了對(duì)車間內(nèi)多臺(tái)不同數(shù)控系統(tǒng)機(jī)床進(jìn)行集成管理和通訊的系統(tǒng)軟件。在一定程度上解決了離散車間的集成化問題和DNC軟件在通用性上的問題,并于實(shí)際運(yùn)用中取得良好效果。
物聯(lián)網(wǎng);通訊;集成性;通用性; Java
隨著互聯(lián)網(wǎng)的發(fā)展,促進(jìn)制造裝備的控制技術(shù)得到極大的提高,使制造裝備向網(wǎng)絡(luò)化、智能化階段邁進(jìn)。制造技術(shù)與信息技術(shù)深度融合,是當(dāng)前制造產(chǎn)業(yè)發(fā)展的最大趨勢(shì)。如:德國(guó)推出工業(yè)4.0、美國(guó)提出智能制造、日本提出的“智能制造系統(tǒng)計(jì)劃”等 。中國(guó)科技部高新司先進(jìn)制造與自動(dòng)化處在先進(jìn)制造技術(shù)領(lǐng)域“十三五”戰(zhàn)略研究中也提出了基于“互聯(lián)網(wǎng)+”,通過融合制造物理系統(tǒng)與信息系統(tǒng),實(shí)現(xiàn)生產(chǎn)制造的智能化和互聯(lián)化,依靠科技創(chuàng)新,培育中國(guó)制造業(yè)的“智慧企業(yè)”,打造中國(guó)版的“工業(yè)4.0”和“工業(yè)互聯(lián)網(wǎng)”,走符合我國(guó)制造產(chǎn)業(yè)特色的自主發(fā)展之路的戰(zhàn)略部署。而就目前中國(guó)制造企業(yè)車間層的生產(chǎn)現(xiàn)狀,大部分都還停留在人工拷貝程序,機(jī)床、NC代碼、工程圖紙文檔管理混亂,這就迫切需要建立基于物聯(lián)網(wǎng)的車間集成通訊系統(tǒng),保證系統(tǒng)之間的信息交互和流通,這也是實(shí)現(xiàn)“無紙化”、數(shù)字化制造,打造網(wǎng)絡(luò)化、智能化企業(yè)的基礎(chǔ)和先決條件。
由于目前中國(guó)大多數(shù)企業(yè)車間內(nèi)機(jī)床新舊不一、系統(tǒng)不一,有可能一個(gè)企業(yè)車間內(nèi)有多種不同數(shù)控系統(tǒng)的機(jī)床,這就對(duì)系統(tǒng)的集成性和通用性提出了要求,所以就要求集成通訊系統(tǒng)囊括目前使用的不同數(shù)控系統(tǒng)的所有通訊模式,才能將整個(gè)車間的所有機(jī)床集成到一起進(jìn)行通信和管理,也就是實(shí)現(xiàn)通用性和集成性。本文在對(duì)目前國(guó)內(nèi)使用的主流數(shù)控機(jī)床的通訊方式和協(xié)議進(jìn)行系統(tǒng)分析的基礎(chǔ)上,提出了基于物聯(lián)網(wǎng)的數(shù)控車間集成通訊系統(tǒng)的物理組網(wǎng)方案以及利用Java語言實(shí)現(xiàn)軟件開發(fā)的方法。
目前,中國(guó)企業(yè)使用的數(shù)控系統(tǒng)基本為FANUC、SIEMENS、華中數(shù)控、廣州數(shù)控。其通信模式可分為兩類:一類為早期的FANUC系列、廣州數(shù)控980TD系列、廣州數(shù)控928TA系列、華中數(shù)控3.0系列和華中數(shù)控4.0系列等都是應(yīng)用RS-232串口來實(shí)現(xiàn)機(jī)床與計(jì)算機(jī)之間代碼的傳輸;另一類為后期的帶有網(wǎng)卡的數(shù)控系統(tǒng),其機(jī)床上直接帶有RJ45以太網(wǎng)口 ,利用機(jī)床自身以太網(wǎng)絡(luò)通信。
1.1主要硬件
所需要的主要硬件有串口服務(wù)器或智能終端、無線網(wǎng)橋、無線AP、以太網(wǎng)交換機(jī)等。
其中,串口服務(wù)器簡(jiǎn)單的說就是一種網(wǎng)絡(luò)通訊接口轉(zhuǎn)換設(shè)備,它能夠?qū)⑽覀兂R姷腞S-232、RS-485、RS-422串口轉(zhuǎn)換成TCP/IP網(wǎng)絡(luò)接口,實(shí)現(xiàn)RS-232、RS-485、RS-422串口與TCP/IP網(wǎng)絡(luò)接口的數(shù)據(jù)雙向透明傳輸,使得常規(guī)的串口設(shè)備能夠立即具備TCP/IP網(wǎng)絡(luò)接口功能,從而達(dá)到連接網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信、實(shí)現(xiàn)網(wǎng)絡(luò)化管理和遠(yuǎn)程控制的目的。
無線AP(access point)即無線接入點(diǎn),它是用于無線網(wǎng)絡(luò)的無線交換機(jī),它主要是提供無線工作站對(duì)有線局域網(wǎng)和從有線局域網(wǎng)對(duì)無線工作站的訪問,在訪問接入點(diǎn)覆蓋范圍內(nèi)的無線工作站可以通過它進(jìn)行相互通信。其有AP無線接入點(diǎn)模式、Repeater中繼模式、Bridge with AP橋模式Multi-SSID模式以及AP client接入點(diǎn)客戶端模式。這里選用的是AP client接入點(diǎn)客戶端模式,可以和其他AP進(jìn)行無線連接,延展網(wǎng)絡(luò)的覆蓋范圍。
1.2組網(wǎng)方案
將車間帶串口的數(shù)控機(jī)床的RS-232 串口接到串口服務(wù)器或智能終端上轉(zhuǎn)換為RJ45以太網(wǎng)口,將轉(zhuǎn)換后的網(wǎng)口連接到無線連接器上,帶有網(wǎng)口的機(jī)床和觸摸屏則直接將其RJ45以太網(wǎng)口接到無線連接器上,無線連接器可采用Passive PoE網(wǎng)線供電,讓AP擺脫電源接入點(diǎn)的限制,使無線接入器直接粘貼在數(shù)控機(jī)床身上,然后通過無線接入器的AP client接入點(diǎn)客戶端模式,和其他AP進(jìn)行無線連接,將車間內(nèi)所有機(jī)床以及觸摸屏通過設(shè)定固定IP地址及MAK地址連接到總的無線AP上,最后再將總的無線AP通過以太網(wǎng)交換機(jī)連接到數(shù)據(jù)庫服務(wù)器以及其他計(jì)算機(jī)上,如圖1所示。
以上物理組網(wǎng)方案不僅可以實(shí)現(xiàn)車間所有數(shù)控機(jī)床及觸摸屏與上層服務(wù)器和客戶機(jī)之間的聯(lián)網(wǎng)通訊,而且這里利用無線連接和Passive PoE網(wǎng)線供電,既解決了傳輸距離的問題,又極大地節(jié)省了空間,減少了線路,特別適合企業(yè)車間這種線路繁多的復(fù)雜環(huán)境。
軟件部分主要在建立好的物理連接網(wǎng)絡(luò)基礎(chǔ)上,對(duì)所有數(shù)控機(jī)床進(jìn)行系統(tǒng)的集成管理,實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多的通信交互及整體管理,以使企業(yè)的管理者和決策層能不在車間內(nèi)而對(duì)車間內(nèi)的數(shù)控機(jī)床進(jìn)行管理和及時(shí)通信,從而大大地減少了人力、節(jié)省了時(shí)間,提高了軟件的通用性。圖2為系統(tǒng)軟件主界面。
2.1語言的選擇
集成性和通用性是貫穿本系統(tǒng)的重要理念和中心思想,用Java語言編寫的程序,可以運(yùn)行在任何平臺(tái)和設(shè)備上,如跨越IBM個(gè)人電腦、MAC蘋果計(jì)算機(jī)、各種微處理硬件平臺(tái),以及Windows、UNIX、OS/2、MAC OS等系統(tǒng)平臺(tái),真正實(shí)現(xiàn)“一次編寫,到處運(yùn)行”,且語言簡(jiǎn)潔,可靠性高,可移植性好,非常適用于企業(yè)網(wǎng)絡(luò)和Internet環(huán)境。所以選擇Java語言編寫本系統(tǒng),利用基于Java開源類庫RXTX提供的Windows,Linux,Mac OS X,Solaris操作系統(tǒng)下的兼容javax.comm串口通訊包API實(shí)現(xiàn)對(duì)數(shù)控機(jī)床串口操作和通信。
2.2機(jī)床參數(shù)的設(shè)置
在軟件“機(jī)床參數(shù)設(shè)置”界面中設(shè)置的參數(shù),必須與機(jī)床的串口參數(shù)保持一致,才能與機(jī)床進(jìn)行連接和通信。只需第一次添加機(jī)床時(shí)進(jìn)行設(shè)置,即可將機(jī)床信息和參數(shù)保存在數(shù)據(jù)庫中,當(dāng)數(shù)控機(jī)床參數(shù)發(fā)生變動(dòng)時(shí),也可及時(shí)在軟件中進(jìn)行修改。機(jī)床參數(shù)設(shè)置界面如圖3所示,主要參數(shù)說明如下:
“XON--DC”:軟件握手方式下,接收的一方在代碼傳輸?shù)倪^程中,用該字符控制發(fā)送方開始發(fā)送的動(dòng)作信號(hào)。
“XOFF--DC”:軟件握手方式下,接收的一方在代碼傳輸?shù)倪^程中,用該字符控制發(fā)送方暫時(shí)停止發(fā)送的動(dòng)作信號(hào)。
“波特率”:數(shù)據(jù)傳送速率,表示每秒鐘傳送二進(jìn)制代碼的位數(shù),它的單位是位/秒。常用的波特率為4800、9600、19200、38400。
“數(shù)據(jù)位”:串口通信中單位時(shí)間內(nèi)的電平高低代表一位,多個(gè)位代表一個(gè)字符,這個(gè)位數(shù)的約定即數(shù)據(jù)位長(zhǎng)度。一般位長(zhǎng)度的約定根據(jù)系統(tǒng)的不同有:5位、6位、7位、8位幾種。
2.3機(jī)床的集成管理
利用機(jī)床樹將存放在數(shù)據(jù)庫中的所有數(shù)控機(jī)床的名稱、類型、分組、參數(shù)等信息進(jìn)行有條理、系統(tǒng)地展現(xiàn)和管理,如圖2左側(cè)所示。以便于對(duì)所有機(jī)床信息在數(shù)據(jù)庫中的保存和讀取,更加簡(jiǎn)單方便地對(duì)所有機(jī)床進(jìn)行整體、系統(tǒng)的管理。并針對(duì)不同型號(hào)的機(jī)床通信協(xié)議的不同和參數(shù)的不同,設(shè)置不同的連接方式,對(duì)機(jī)床樹上的每臺(tái)數(shù)控機(jī)床都可打開其對(duì)應(yīng)的通信模式和窗口,以使得真正對(duì)車間所有機(jī)床的整體、集成管理。
2.4串口機(jī)床通信的流程與方法
不同數(shù)控系統(tǒng)的機(jī)床擁有其各自不同的通信協(xié)議,這就要求針對(duì)不同通信方式的機(jī)床系統(tǒng)編寫不同的通信程序語句,才能實(shí)現(xiàn)與所有機(jī)床的通信,真正達(dá)到通用性和集成性。如華中數(shù)控系統(tǒng),就有其特殊的通信協(xié)議,要求通信程序在發(fā)送文件代碼的正文前發(fā)送特殊的十六進(jìn)制程序頭,大小為46個(gè)字符,共92位,必須寫滿,否則程序代碼將發(fā)送失敗。
在此以華中數(shù)控機(jī)床為例介紹串口機(jī)床通信軟件的設(shè)計(jì)流程與方法。圖4為華中數(shù)控十六進(jìn)制程序頭,第一行“52”代表需要機(jī)床接收文件,“30”代表要發(fā)送普通文件,“3F”代表要機(jī)床做好接收準(zhǔn)備,“49 41 00”為固定標(biāo)識(shí)符,“4F 31 32 33 34”標(biāo)識(shí)發(fā)送計(jì)算機(jī)上文件名稱為“1234”的文件,后面的“00 00 00 00 00”及第二行、第三行的 6 組“00”都是填位用的(文件名共 32 位)。第三行中間標(biāo)記處“31 38 01 00”為文件大小(共 4 位)。其后“3F 49 41 00”又為固定標(biāo)識(shí)符,再其后開始全部為所要發(fā)送的文檔內(nèi)容。在編寫程序的過程中,就必須按照華中的協(xié)議格式傳輸。其他不同數(shù)控系統(tǒng)的串口機(jī)床雖通信協(xié)議與此不盡相同,但通信原理上都是一致的,只需在編寫語句時(shí),針對(duì)不同的數(shù)控系統(tǒng)加上與之對(duì)應(yīng)的通訊協(xié)議的頭文件,在此就不再贅述。發(fā)送與接收程序的設(shè)計(jì)流程如圖5所示:
利用基于Java開源類庫RXTX提供的javax.comm串口通訊包實(shí)現(xiàn)以上流程和對(duì)數(shù)控機(jī)床串口的操作和通信,關(guān)鍵程序代碼如下:
portId = (CommPortIdentifier) portList.nextElement();
//遍歷所有機(jī)床串口列表
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL){
//選取發(fā)送文件的機(jī)床串口
try{……// 參數(shù)初始化
serialPort = ( SerialPort ) portId.open( "SerialReader", timeout);
// 打開端口
serialPort.addEventListener( this );
serialPort.notifyOnDataAvailable( true );
catch ( PortInUseException e )
{e.printStackTrace(); }}}
public void serialEvent(SerialPortEvent event) {
switch (event.getEventType()) {
ase SerialPortEvent.DATA_AVAILABLE://獲取到串口返回信息
readComm();
break;}}
public void readComm() {
//讀取串口返回信息方法
byte[] readBuffer = new byte[1024];
try { inputStream = serialPort.getInputStream();
//從線路上讀取數(shù)據(jù)流
int len = 0;
while ((len = inputStream.read(readBuffer)) != -1) {
//多次讀取,將所有數(shù)據(jù)讀入緩存區(qū)
System.out.println(new String(readBuffer, 0, len).trim()+new Date());
test += new String(readBuffer, 0, len).trim();//讀出緩存區(qū)文件并釋放緩存
break; }
}catch (IOException e) {
e.printStackTrace();}}
2.5網(wǎng)卡機(jī)床通信的流程與方法
機(jī)床的網(wǎng)絡(luò)模塊與PC機(jī)網(wǎng)卡的工作模式類似,由硬件和軟件組成。硬件指網(wǎng)卡及網(wǎng)卡驅(qū)動(dòng)程序,軟件就是機(jī)床的網(wǎng)絡(luò)通信模塊。
帶網(wǎng)卡的機(jī)床和車間觸摸屏由于其自帶網(wǎng)卡和網(wǎng)卡驅(qū)動(dòng),在建立好的數(shù)控機(jī)床與服務(wù)器之間的局域網(wǎng)中,其與上層服務(wù)器之間可以通過訪問各自的IP地址下的共享文件來實(shí)現(xiàn)通信與文件的交互。但是同樣在面對(duì)繁多的機(jī)床,如何進(jìn)行集成管理,如何精準(zhǔn)地點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多地與欲連接機(jī)床實(shí)現(xiàn)通信和交互,以及如何將此種通信模式和諧地、更好地融入到軟件界面中,結(jié)合機(jī)床的通信規(guī)則,機(jī)床與服務(wù)器的通信原理,我們提出的解決方案如下:
首先,數(shù)控機(jī)床默認(rèn)訪問的路徑是C盤(不是操作系統(tǒng)所在盤)目錄下的PROG文件夾,因此我們必須將服務(wù)器中的所有的通信文件放在C盤目錄下的PROG文件夾中來集中管理,并將此PROG文件夾設(shè)置共享,再在服務(wù)器主機(jī)上創(chuàng)建FTP服務(wù)器, FTP服務(wù)器可以由客戶端通過協(xié)議訪問,上傳或下載文檔??蛻舳藦囊粋€(gè)任意的非特權(quán)端口N(N>1024)連接到FTP服務(wù)器的命令端口,也就是21端口,然后客戶端開始監(jiān)聽端口N+1,并發(fā)送FTP命令“port N+1”到FTP服務(wù)器。接著服務(wù)器會(huì)從它自己的數(shù)據(jù)端口(20)連接到客戶端指定的數(shù)據(jù)端口(N+1)。服務(wù)器發(fā)起到客戶的連接時(shí),當(dāng)客戶端通知服務(wù)器它處于被動(dòng)模式時(shí)才啟用。然后在軟件中編寫“連接機(jī)床”窗口,訪問對(duì)應(yīng)的IP地址下的數(shù)控機(jī)床(每臺(tái)數(shù)控機(jī)床對(duì)應(yīng)著不同的IP地址),讀取機(jī)床數(shù)據(jù),同時(shí)打開服務(wù)器中PROG文件夾中的文件數(shù)據(jù)。本地上傳、下載文件可以采用鼠標(biāo)拖拽方式,將機(jī)床窗口 List 內(nèi)文件與服務(wù)器 List 窗口中文件相互拖拽。車間觸摸屏通信原理亦如此。通過網(wǎng)卡與服務(wù)器連接,加載網(wǎng)絡(luò)成功后的機(jī)床端如圖6所示。
本文介紹了基于物聯(lián)網(wǎng)的數(shù)控車間集成通訊系統(tǒng)的設(shè)計(jì)方案與軟、硬件的實(shí)現(xiàn)方法,針對(duì)不同類型數(shù)控機(jī)床的通信方式和通訊協(xié)議的不同,覆蓋了國(guó)內(nèi)主流數(shù)控機(jī)床的通訊方法,能將車間所有機(jī)床集中在一個(gè)軟件界面內(nèi)進(jìn)行管理和通訊。該系統(tǒng)在新疆大學(xué)工程訓(xùn)練中心數(shù)控車間(含華中、FANUC等帶串口、網(wǎng)卡機(jī)床)內(nèi)經(jīng)過測(cè)試,運(yùn)行正常。不僅在一定程度上解決了離散車間的集成化問題和DNC軟件在通用性上的問題,而且為后續(xù)的MES系統(tǒng)的開發(fā)與完善以及實(shí)現(xiàn)生產(chǎn)制造的智能化和互聯(lián)化奠定了基礎(chǔ)和先決條件。
[1]楊叔子,吳波,胡春華,等.網(wǎng)絡(luò)化制造與企業(yè)集成[J].中國(guó)機(jī)械工程,2000,11(2):45-49.
[2]錢志鴻,義君. 物聯(lián)網(wǎng)技術(shù)與應(yīng)用研究[J ].電子學(xué)報(bào),2012,40(5):1023-1029.
[3]諶鵬. 基于PC機(jī)的DNC傳輸軟件的開發(fā)[J].機(jī)床與液壓,2009,37(2):126-129.
[4]陳明澤. 數(shù)字化車間DNC網(wǎng)絡(luò)管理系統(tǒng)的研究[D].長(zhǎng)沙:湖南師范大學(xué)工程與設(shè)計(jì)學(xué)院,2011.
[5]王建勝. 基于DNC的數(shù)控機(jī)床聯(lián)網(wǎng)方案[J].成組技術(shù)與生產(chǎn)現(xiàn)代化,2012,29,(4):41-44,49.
[6]Bruce Echel. Java編程思想[M].3版.北京:機(jī)械工業(yè)出版社,2005.
[7]胡伏湘,雷軍環(huán). Java程序設(shè)計(jì)實(shí)用教程[M].北京:清華大學(xué)出版社,2005.
[8]孫靜,李晶皎,李海朋,等. 基于Java的串口通信技術(shù)應(yīng)用[C].2006中國(guó)控制與決策學(xué)術(shù)年會(huì)論文集,2006:779-781,786.
物聯(lián)網(wǎng)的車間制造執(zhí)行系統(tǒng)的研究。
(編輯譚弘穎)
如果您想發(fā)表對(duì)本文的看法,請(qǐng)將文章編號(hào)填入讀者意見調(diào)查表中的相應(yīng)位置。
Design of intergrated communication system in CNC workshop based on IOT
XU Chuqiao,SUN Wenlei
(School of Mechanical Engineering, Xinjiang University, Urumqi 830047,CHN)
An intergrated communication system in CNC workshop based on IOT was designed and realized,which has proposed a solution of wireless network in CNC workshop and developed an application software to communicate with CNC machine tools with different system by Java, considering the different communication protocols and methods from different CNC system used by current Chinese factory.The question in intergrating the discretized workshop and improving the universality of the DNC software has been solved to some extent and good effect has been gained during actual operation.
internet of things (IOT); communication;integration;commonality; Java
TG659;TP393.1
B
徐楚橋,男, 1992年生,碩士,從事基于
2015-08-18)
160428
*新疆科技重點(diǎn)專項(xiàng)項(xiàng)目(201130110);新疆科技支疆項(xiàng)目(2013911032)