



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