【摘要】本文闡述了一種基于單片機的數控機床實現網絡通訊功能的改造方法,彌補了此類數控機床無法進行基于Internet遠程監控的缺陷。通過這種改造可以使單片機驅動網卡,實現數控程序或數控指令網絡間的相互傳遞;進而使此類數控機床具有網絡通訊和遠程監控的功能。
【關鍵詞】單片機;數控機床;網絡通訊;遠程監控
【中圖分類號】TS642 【文獻標識碼】A 【文章編號】1672-5158(2012)08—0130-01
1.引言
隨著計算機技術、網絡技術日益普遍的運用,智能化、開放式、網絡化成為當代數控機床發展的主要趨勢。對于生產企業來說,數控裝備的網絡化將極大地滿足生產線、制造系統、制造企業對信息集成的需求,也是實現新的制造模式的基礎單元。對數控機床本身來說,網絡化技術可以使其具有遠程監控功能;為用戶提供遠程在線技術咨詢,提供設備使用、維護方面的技術支持;對潛在的設備故障進行遠程的診斷、監測、維護,從而縮短設備維修服務的響應時間。所以,數控機床網絡化具有巨大的經濟效益和社會效益。
但是,由于數控系統的更新換代速度很快,導致目前在實際應用領域還遺存大量早期的數控機床。這些數控機床的數控系統基本都是以單片機為核心的,在功能上和自動化程度上較目前新型的、基于PC的數控設備相差很遠,在某種程度上已經不能滿足現代生產的實際需要;但這些數控機床從使用功能上還未達到其生命周期,仍然具有一定的使用價值,顯然大量淘汰這些數控設備不符合企業的經濟利益。所以,在現有的技術上對這些數控機床進行低成本的升級和改造就成了改善其功能、提高其自動化程度的最好選擇。
對數控機床的改造包含著許多的方面,比如在數控系統方面、數控設備當中的驅動設備、傳動設備方面,以及數控系統的網絡通訊方面都有進行改造的需求。本文既是對數控系統的網絡通訊方面進行改造的實踐總結。
2.單片機數控機床網絡通訊的硬件實現方法
實現數控機床基于Internet的網絡通訊,對基于PC數控系統的數控機床很容易。但是,對于以單片機為核心的數控機床就需要配備基于Internet的遠程通信模塊;而現有的、基于Internet的遠程通信模塊的造價相對比較高,從經濟性上考慮不適合裝配在這些早期的數控機床上。在改造實踐當中,采用單片機驅動網卡的形式實現單片機數控機床的網絡通訊功能,并給出了整個系統的設計原理和系統實現方案。
系統采用Winbond的W78E58B單片機作為CPU,采用EMP7128作為PCI接口的控制芯片。W78E58B是一款高性能低價位的8位單片機,包含32K的主ROM以及4K的輔助ROM,512字節的內部RAM,8位雙向數據和地址總線,3個16位時鐘計數器,支持8個中斷源。
EMP7128是Altera公司生產的MAX7000系列器件,是一種可由用戶自行設計、自行生產的大規模數字集成電路器件;它可利用計算機輔助設計,繪制出實現用戶邏輯的原理圖或編寫布爾方程、文本語言等多種形式,表述用戶的設計思想,然后經一系列編譯程序、自動布局布線、模擬仿真等過程,最后生成二進制文件直接裝入PROM中,在上電或命令控制下,自動配置FPGA器件,實現滿足用戶要求的專用數字集成電路。
本系統中,EMP7128里的控制寄存器映射單片機的外部存儲器RAM空間,同時又控制PCI總線上的RTL8029AS網卡,作為溝通單片機與PCI設備間的橋梁,實現了單片機與PCI網卡之間的數據可靠傳輸。其數據傳輸過程如下:通過配置本地端配置寄存器來將本地端的單片機讀寫指令和周期轉換成PCI端的讀寫指令及周期。也就相當于將PCI端網卡上的芯片及存儲器映射到本地端,與本地端的存儲器統一編址,這樣單片機只要能訪問本地端的內存,那么就能用來訪問PCI總線上的網卡。
系統中所用到的主要芯片除了有78E58單片機、EMP7128之外,還有用于串口電平轉換的MAX232、E2PROM24C02芯片,用于8位鎖存74HC373芯片和32K的RAM62256存儲芯片。使用外部RAM的目的有兩個,一是提高單片機的數據傳輸速度。二是外部的RAM也用作串行口的輸入輸出緩沖,以使單片機具有高速的吞吐數據能力。24C02是I2C總線的E2PROM,用來存儲用戶的一些設置。數據可以從串口輸入到單片機,單片機再把數據通過網卡發送出去。數據接收時,數據通過網卡傳給單片機,單片機再通過串口將數據發送給目的設備。
3.系統實驗測試
測試系統采用C/S(Client/Server)網絡結構。整個系統包括三個部分:安裝在遠程PC機上的監控端、安裝在服務器上服務器端、以及安裝在數控機床上的通信控制卡端。監控端主要負責解析和分析得到的數據,及向通信控制卡端發出控制指令;服務器端主要起到保存數據和用戶管理的作用、以及通信中轉站的作用;通信控制卡端主要負責接收遠程控制信息并發送給數控機床或者數控系統,以及獲得數控機床或數控系統的信息并發送給遠端的監控端等功能。
系統的基本工作過程是:監控端計算機輸入的數控程序或指令通過網絡傳送給通信控制卡,再由通信控制卡對數控機床實行遠程控制。反之,數控機床和數控系統的信息通過通信控制卡傳送到網絡上,監控端通過獲取該信息來完成對數控機床的監控。在上述過程中,并不需要配備中間計算機,也就是說,數控機床成為網絡中的一個獨立的節點,其自身即可實現各種信息與網絡之間的相互傳遞。
3.1 實驗環境
系統的實驗測試是在實驗室進行的,通過搭建一個硬件環境平臺來模擬機床。其硬件平臺是由用來模擬機床數控系統的單片機系統,以及用來模擬機床開關量的日光燈的“開/關”組成。
實驗過程中,服務器端軟件安裝在具有公共IP地址的服務器上。監控端安裝在局域網內的計算機上,局域網內的計算機通過網關連接到Internet上。通信控制卡和硬件實驗平臺放置在另外一個局域網內,通信控制卡可以通過網關連接到Internet上。
3.2 實驗內容
實驗內容是實現位于不同局域網內的Internet節點(服務器或數控機床)實現點對點的通信,測試通信控制卡能否實現網絡通信的各種協議,通過分析和處理網絡通信數據,實現預期的功能,以及監控端能夠實現與通信控制卡端進行點對點的通信。
主要包括XYZ三軸運動控制及主軸轉動控制指令,這里采用4個日光燈作為模擬。
3.3 實驗結果概述
在用戶端登陸服務器后,通過用戶端軟件與本地服務器建立連接。并成功連接接收端服務器,進而與接收端建立了連接。在此前提下,實現了如下功能:
(1)服務器單獨向某個用戶或者同時向多個用戶接發自定義信息;
(2)監控端查看通信控制卡端信息;
(3)監控端查看通信控制卡端在線信息;
(4)實現了監控端開、關燈的功能。
4.結論
通過上述的測試過程可以證明該系統的硬件結構是有效的,能夠實現單片機數控機床基于Internet的信息通訊功能。由于本系統的硬件結構具有較好的通用性,因此,可以在實踐中根據本方法對此類數控機床進行改造,對其功能進行有效的擴展和開發,實現對此類單片機數控機床基于Internet的遠程監控功能。