摘 要:生產(chǎn)線智能監(jiān)控系統(tǒng)是企業(yè)現(xiàn)在迫切需要快速、準確、高效的服務,而監(jiān)控系統(tǒng)中監(jiān)控數(shù)據(jù)的傳輸是其重要的研究內(nèi)容?,F(xiàn)以沖壓自動化生產(chǎn)線為智能監(jiān)控系統(tǒng)的研究背景,采用Linux操作系統(tǒng),監(jiān)控終端作為服務器,中央監(jiān)控系統(tǒng)作為客戶端,將上位機采集到生產(chǎn)線上各個傳感器監(jiān)控的數(shù)據(jù),再通過工業(yè)以太網(wǎng)將監(jiān)控數(shù)據(jù)匯總至中央服務器,采用套接字編程的方法,實現(xiàn)監(jiān)控終端與中央監(jiān)控系統(tǒng)之間的網(wǎng)絡通信,完成了網(wǎng)絡通信的低成本高效率解決方案。
關鍵詞:智能監(jiān)控系統(tǒng);監(jiān)控終端;中央監(jiān)控系統(tǒng);工業(yè)以太網(wǎng)
1 概述
沖壓成形是我國現(xiàn)工業(yè)制造生產(chǎn)中最普遍的生產(chǎn)工藝,所以沖壓設備被廣泛使用,其中鈑金件的90%是靠沖壓成形。但是沖壓自動化生產(chǎn)線集成沖壓設備和沖壓機器人等諸多設備,其復雜性也大大增加,所以故障率也大大增加。這種形勢下,對整個金屬零部件沖壓自動化生產(chǎn)線的生產(chǎn)過程進行監(jiān)控,才可以保證整條沖壓生產(chǎn)線能夠連續(xù)正常生產(chǎn)。智能監(jiān)控系統(tǒng)可采用嵌入式設備的遠程網(wǎng)絡通信來顯示和處理數(shù)據(jù)。作者設計的應用于嵌入式設備的網(wǎng)絡通信解決方案,其程序簡單,使用靈活方便,成本相當?shù)土S迷诠I(yè)生產(chǎn)線上可提高沖壓生產(chǎn)的工藝水平、制造質(zhì)量及生產(chǎn)效率,降低生產(chǎn)成本。
2 硬件結(jié)構(gòu)
沖壓自動化生產(chǎn)線智能監(jiān)控系統(tǒng)的實現(xiàn)是監(jiān)控終端通過485總線,與壓機、上下料機械臂等自動沖壓線的各種裝備進行通訊,匯總統(tǒng)計各項生產(chǎn)監(jiān)控數(shù)據(jù)。然后與中央監(jiān)控系統(tǒng)進行通訊,將采集到的沖床數(shù)據(jù)經(jīng)以太網(wǎng)傳入中央監(jiān)控系統(tǒng)進行顯示和處理。如圖1所示。
根據(jù)系統(tǒng)要求,監(jiān)控終端可采用以嵌入式處理器為核心的嵌入式設備,硬件架構(gòu)采用核心板加底板的方式,可方便進行功能擴展。底板上不同功能電路分模塊處理,且配備了多種通訊接口,使沖壓生產(chǎn)線設備與各個模塊可以靈活組合,增加系統(tǒng)的靈活性。
2.1 處理器選擇
本設計采用的是三星推出的一款適用于智能手機和平板電腦等多媒體設備的應用處理器——S5PV210,S5PV210又名“蜂鳥”(Hummingbird)。具有低成本、低功耗、高性能、可擴展性強的特點。以S5PV210處理器為硬件平臺的核心采用了ARM CortexTM-A8內(nèi)核,ARMV7指令集,主頻可達1 GHZ,性能強大,可以實現(xiàn)2億條指令集/秒的高性能運算能力,具有強大的硬件編解碼功能。
DM9000AEP是由臺灣DAVICOM公司推出的一款完全集成的和符合成本效益高速以太網(wǎng)芯片,集成10/100M自適應收發(fā)器。48腳LQFP封裝,可支持8位或16位工作模式,工作電壓3.3V/5V,低功耗、高性能。
2.2 網(wǎng)絡通信硬件設計
本設計的硬件平臺即監(jiān)控終端主要包含核心板和擴展板兩部分,核心板含有S5PV210微處理器、DDR2芯片和FLASH芯片。擴展板主要擴展了兩個串口、以太網(wǎng)口、USB HOST接口、LCD接口、SD卡接口、調(diào)試接口以及多個電路模塊等等,可根據(jù)需要的功能采用電路模塊。如圖2所示。
3 軟件平臺
文章軟件平臺的設計采用C/S(客戶端/服務器)模式,以中央監(jiān)控系統(tǒng)即任意一臺PC機為客戶端,以帶有S5PV210處理器的監(jiān)控終端為服務器。當客戶端需要查看數(shù)據(jù)時,就向服務器發(fā)送請求,服務器就會將信息通過網(wǎng)絡傳給客戶端。下面討論通信系統(tǒng)軟件的具體設計與實現(xiàn)。
3.1 開發(fā)環(huán)境搭建
因為嵌入式設備的處理器與PC機上處理器有著不同的架構(gòu),即前者的運算能力和存儲能力有限,因此需要使用交叉編譯工具在PC機上構(gòu)建出一個交叉編譯環(huán)境以便在PC機上編譯出能在嵌入式設備處理器架構(gòu)上運行的程序。所以文章采用的交叉編譯器為arm-linux-gcc,開發(fā)時在宿主機上的進行交叉編譯生成可執(zhí)行文件,然后,把可執(zhí)行文件下載到目標機上運行。文章以PC機為宿主機,采用Linux操作系統(tǒng),嵌入式硬件設備為目標板,目標機和宿主機之間通過網(wǎng)絡完成數(shù)據(jù)傳輸?shù)热蝿?,宿主機與目標機開發(fā)模式。如圖3所示。為了支持宿主機/目標機這種嵌入式開發(fā)模式,宿主機/目標機需要安裝相應的軟件并進行相應功能的配置,在進行嵌入式系統(tǒng)的開發(fā)過程中,使用的配置如表1所示。
3.2 操作系統(tǒng)移植
建立嵌入式開發(fā)的交叉編譯環(huán)境之后,進行BootLoader的移植。BootLoader是在操作系統(tǒng)內(nèi)核運行之前運行,可以初始化硬件設備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適狀態(tài),以便為最終運行操作系統(tǒng)內(nèi)核、運行用戶應用程序準備好正確的環(huán)境。BootLoader有很多種,ARM平臺上有ARMboot、StrongARM、vivi、U-Boot等。本平臺選擇的是U-Boot,U-Boot的全稱為Universal Boot Loader,是遵循GPL條款的開放源碼項目。
一個完整的嵌入式Linux系統(tǒng)除了引導加載程序以外,還需要包括Linux內(nèi)核、必要的設備驅(qū)動程序、以及文件系統(tǒng),這是嵌入式Linux系統(tǒng)移植重要的部分。
進行Linux內(nèi)核移植,首先進行初步配置,利用內(nèi)核中已經(jīng)存在的三星官方針對S5PV210處理器的監(jiān)控終端進行配置,之后針對嵌入式系統(tǒng)硬件平臺的不同以及移植過程中出現(xiàn)的問題,分別對網(wǎng)卡DM9000AEP、Nand flash、LCD等外設進行配置與移植,使得嵌入式Linux能夠在嵌入式系統(tǒng)上運行。
進行嵌入式Linux的根文件系統(tǒng)的構(gòu)建,先選擇BusyBox進行構(gòu)建嵌入式Linux根文件系統(tǒng)的工具集,進行BusyBox的配置與移植。之后再編譯與安裝后的BusyBox中進行建立一些目錄,進行根文件系統(tǒng)的構(gòu)建。同時建立一些腳本供BusyBox使用以及設置嵌入式Linux系統(tǒng)的環(huán)境變量。
3.3 Linux系統(tǒng)下網(wǎng)絡通信
套接字,英文名字socket,是一種雙向的通信端口。網(wǎng)絡程序設計全靠套接字接受和發(fā)送信息。套接字是一種使用標準UNIX文件描述符。套接字可以看作是處于不同主機之間的兩個程序的通信連接端點。一方面程序?qū)⒁獋鬏數(shù)男畔懭胩捉幼种校硪环矫鎰t通過讀取套接字內(nèi)的數(shù)據(jù)來獲得傳輸?shù)男畔ⅰ?/p>
常用的TCP/IP協(xié)議有三種套接字類型。
(1)流套接字(SOCK_STREAM)
(2)數(shù)據(jù)報套接字(SOCK_DGRAM)
(3)原始套接字(SOCK_RAW)
本設計選擇TCP(The Transmission Control Protocol)協(xié)議,使用流套接字實現(xiàn)網(wǎng)絡通信,即客戶端向服務器發(fā)送服務請求,服務器根據(jù)該請求提供相應的服務。
為了實現(xiàn)服務器與客戶機間的通信,服務器與客戶機都必須創(chuàng)建套接字。服務器在創(chuàng)建套接字后,需要指定監(jiān)聽的端口來等待客戶機,因此,還有綁定端口號的操作。之后,服務器將處于監(jiān)聽狀態(tài),等待客戶機來連接指定端口。當接收到客戶機的連接請求后, 服務器調(diào)用accept函數(shù)來建立與客戶機間的通信。在成功建立通信后,就可以通過read函數(shù)或write函數(shù)進行通信??蛻舳颂幍牧鞒膛c服務器相比,簡單一些??蛻舳嗽趧?chuàng)建套接字后,調(diào)用connect函數(shù)去連接服務器指定的端口。在服務器接收連接后,客戶機與服務器之間就可以通過write函數(shù)和read函數(shù)實現(xiàn)數(shù)據(jù)通信了。
3.4 網(wǎng)絡通信測試
在宿主機上的Ubuntu 12.04編輯出服務器與客戶端的程序。sever.c為服務器端的實現(xiàn)。client.c為客戶端程序,使用編譯工具gcc編譯客戶端程序client.c生成可執(zhí)行文件clt_inet。使用交叉編譯工具arm-linux-gcc編譯服務器端程序sever.c生成可執(zhí)行文件srv_inet,并復制到/home/nfs文件中。
在PC機上打開minicom環(huán)境,連接Serial-COM2,再啟動監(jiān)控終端,在minicom中則會顯示BootLoader信息和linux內(nèi)核的啟動過程。待啟動完成后,按“Enter”鍵即可進入Linux的命令模式。注意給監(jiān)控終端配置IP時,監(jiān)控終端的IP地址要和與之通信的中央監(jiān)控系統(tǒng)的IP地址在同一網(wǎng)段。然后使用mount命令來掛載目標板,將服務器的可執(zhí)行文件srv_inet拷貝到監(jiān)控終端中/mnt/nfs文件中。
在監(jiān)控終端/mnt/nfs目錄中運行服務器的可執(zhí)行文件并給該通信分配端口號8000,執(zhí)行命令./srv_inet 8000。如圖5所示。
在PC機linux環(huán)境下打開終端作為客戶端的測試窗口,進入客戶端可執(zhí)行文件clt_inet所在的目錄中,執(zhí)行命令./clt_inet 172.20.11.6 8000,即客戶端向服務器請求建立連接,其中172.20.11.6是該服務器的IP地址,客戶端向服務器發(fā)出測試信息,服務器收到信息后作出判斷處理,將字符串中所有的小寫字母轉(zhuǎn)變成大寫字母,其他信息不變,然后將處理后的信息再發(fā)送給客戶端。
如圖5所示,測試結(jié)果表明,通信正常,程序反應速度較快,達到了預期的設計目標。也證明了客戶端可以根據(jù)每個服務器的IP地址進行連接通信,也可以實現(xiàn)在工業(yè)中一個監(jiān)控系統(tǒng)的能顯示生產(chǎn)線上多個監(jiān)控點的數(shù)據(jù)。
4 結(jié)束語
文章提出了沖壓自動化生產(chǎn)線智能監(jiān)控系統(tǒng)基于S5PV210平臺的網(wǎng)絡通信系統(tǒng)的設計和實現(xiàn),介紹了監(jiān)控終端與中央監(jiān)控系統(tǒng)通信所需的硬件,并介紹了在Linux操作系統(tǒng)下運用socket編程實現(xiàn)了服務器與客戶端之間的通信。最后的實驗結(jié)果證明:可以成功地實現(xiàn)客戶端和服務器之間的通信,從而完成了基于S5PV210網(wǎng)絡通信的研究與實現(xiàn)。也為沖壓自動化生產(chǎn)線監(jiān)控系統(tǒng)的實現(xiàn)打下了堅實基礎。
參考文獻
[1]LixinChen.Application of Industrial robot in the automatic stamping production line[J].MachineryDesignManufacture,2010,(10):94-96.
[2]周玉林,張志強.沖壓線機器人與壓機動作協(xié)調(diào)方法[J].制造技術與機床,2013,1(2):23-24.
[3]楊賽女,裘君.遠程視頻監(jiān)控系統(tǒng)的研究與設計[J].集成技術,2014,3(5):97-103.
[4]歐軍,吳清秀,裴云,等.基于socket的網(wǎng)絡通信技術研究[J].網(wǎng)絡安全,2011(7):19-21.
[5]曹慶年,趙博,孟開元.基于ARM9的嵌入式Linux網(wǎng)絡通信系統(tǒng)設計與實現(xiàn)[J].西北大學學報,2009,39(1):47-51.