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