徐曉龍+++樊柄麟



摘 要: 傳統卷煙機通過各類總線連接工控機MLP和控制檢測系統,從而實現了設備內部通信和人機交互。文章提出嵌入式Linux操作系統的解決方案:對外加入B/S架構,保留原有的工控機MLP的C/S架構,建立WebServer,支持互聯網的接入;對內統計生產數據,建立嵌入式數據庫,最終實現信息平臺設計。
關鍵詞: 卷煙機; 信息化; 嵌入式; Linux系統
中圖分類號:TP312 文獻標志碼:A 文章編號:1006-8228(2016)05-62-04
Abstract: The traditional cigarette making machine is connected with the industrial control computer MLP and the control detection system through various kinds of bus, so as to realize the internal communication and human computer interaction. In this paper a solution based on embedded Linux operating system is proposed, in which, B/S architecture is added for the outside access, the Web Server is build to support Internet access while the original C/S architecture of industrial control computer MLP is retained; at the inside, the cigarette making machine's informatization platform is implemented by building an embedded database for production data statistics.
Key words: cigarette making machine; informatization; embedded; Linux system
0 引言
卷煙機電控系統通過各類總線連接工控機MLP和控制檢測系統,數據信息交換僅限于設備內部,設備與生產線之間無法通信。卷煙機信息化首先需建立信息化平臺,通過聯網消除設備間的“信息孤島”,進而為物聯網和大數據挖掘等提供支撐。
隨著嵌入式技術發展,嵌入式CPU處理速度越來越快、體積和功耗越來越小、功能日益強大,嵌入式操作系統運行穩定、兼容性好、應用軟件移植簡單,基于卷煙機主體因素的考慮,其設備不適合選擇大型服務器工作站。因此,本文選用低功耗小體積的嵌入式服務器搭建信息化平臺,加入功能模塊為拓展卷煙機信息化建設提供技術支撐。
1 系統總體架構設計
傳統的卷煙機電控系統架構由三層總線連接而成:分別是工廠總線,CAN總線和Profibus-DP總線[1]。它們之間的關系如圖1所示。
工控機MLP利用工廠總線與工廠級數采系統相連接;Profibus-DP總線用于PLC的高速數據傳送;CAN總線是卷煙機中最重要的總線,它連接工控機MLP與其他控制檢測系統,包括PLC、SRM、CIS、ORIS和HIP等[2]。
不同總線使用不同協議,數據信息交換僅限于設備內部,在盡可能保持功能和系統穩定性的前提下,本文設計了如下方案對原有架構做修改。
⑴ 用以太網總線取代CAN總線以解決CAN總線傳輸速率慢及基本站點限制的問題。
⑵ 在系統中加入小型交換設備,用于支持以太網總線的數據傳輸。
⑶ 由于工控機MLP的軟硬件系統從西門子公司定制,其系統的封閉性導致難以建立信息平臺。而嵌入式Linux系統具開源性,內核可裁剪,自帶TCP/IP協議棧,擁有龐大的系統應用,并且支持多種嵌入式處理器架構。因此,嵌入式Linux系統能夠很好地支持卷煙機信息平臺開發。
新的系統架構如圖2所示。
2 系統硬件設計
系統硬件主要包括核心板和主板兩部分。核心板是最小系統運行環境,包含CPU、RAM、ROM和外部晶振等;主板集成了所有外部硬件資源,包含以太網模塊和其他模塊,如:USB2.0的HOST和HUB、RS454和RS232的串口、電源,以及用來調試和燒寫程序的CPLD-JTAG接口。
2.1 處理器模塊
Exynos 4412是三星公司的一款基于ARM Cortex-A9的四核處理器,主頻1.5GHz,選用了32nm HKMG工藝和RISC指令集,具有低功耗和高性價比等特點,它廣泛應用于智能手機和平板等高端產品中。處理器RAM支持1G的DDR3內存,分頻頻率為400MHz,ROM支持16G大小的eMMC閃存。
2.2 以太網模塊
以太網模塊選用DAVICOM公司DM9000網卡芯片,自適應100/10M數據傳輸速度。DAVICOM公司提供了對應的網卡驅動程序,支持DM8900,DM9000,DM9000A等型號,只需要移植到Linux系統。
2.3 其他模塊
其他模塊按照對應的接口電路進行設計。系統包含:USB HOST的接口電路,并且支持USB HUB;UART1為RS454電平,UART2為RS232電平;CPLD-
JTAG接口用來燒寫CPLD固件程序;為了使系統在意外掉電后還能正常工作,電源模塊基于UPS電源設計,對外輸出為12V、5V和3.3V。
3 系統軟件設計
系統軟件設計分為:Linux系統移植、嵌入式WebServer設計和嵌入式數據庫設計三個部分。Linux系統移植包括Bootloader移植和Linux內核移植;嵌入式WebServer設計包括BOA與CGI的移植和服務器程序設計,基于安全性考慮,對外系統權限較低,選用B/S架構可以對卷煙機進行狀態監控和問題定位,而對內系統權限較高,保持工控機C/S架構用來修改卷煙機參數和操作數據庫;嵌入式數據庫設計包括SQLite3的移植和E-R圖設計,數據庫主要用來統計卷煙機的生產數據,從而對多種大數據分析算法提供支撐,工控機MLP通過SecureCRT訪問數據庫。
3.1 Linux系統移植
Bootloader選用U-Boot-4412,支持Exynos 4412。具體移植方法為:下載U-Boot-4412源碼,修改Makefile的配置文件和鏈接腳本,修改CONFIG_
EXYNOS4412、MLL鎖相環頻率參數、串口波特率,對CPU和單板相關的宏定義進行配置,修改支持DDR3和eMMC閃存。
Linux內核移植方法和Bootloader相似,內核版本為3.5.0,具體分為修改內核支持單板、修改MTD分區和移植根文件系統。Linux3.5.0內核自帶主要驅動程序,支持USB2.0、DDR3和eMMC閃存驅動,串口驅動注意修改波特率,DAVICOM公司已經提供DM9000相應驅動程序,Linux對其支持已經非常完善[3]。
3.2 嵌入式WebServer設計
3.2.1 BOA與CGI移植
基于BOA服務器對CGI的支持、功能強大且開源、適合移植,且卷煙機終端不需要進行多任務訪問,WebServer適合選用BOA服務器。首先需要對這BOA和CGIC庫進行移植配置:修改對應的Makefile文件,CC=arm-linux-gcc、AR=arm-linux-ar、RANLIB=
arm-linux-ranlib,修改對應的路徑,最后編譯優化[4]。
3.2.2 服務器程序設計
服務器設計上選用B/S和C/S混合架構。B/S架構用來顯示卷煙機狀態和問題跟蹤查詢,有利于專業技術人員遠程定位。基于安全性的考慮,C/S架構負責較高權限操作:修改卷煙機運行參數和操作數據庫。C/S客戶端上位機程序由西門子公司提供,在工控機MLP上運行,現主要對B/S服務器進行設計。
B/S服務器界面分為參數顯示區域、報告區域、窗口、導航欄、MLP信息、取樣信息等模塊。B/S服務器程序設計模式為MVC模式[5]:View為網頁界面,通過HTML和CSS進行顯示;Control為控制腳本,傳入用戶界面參數,根據具體業務調用數據處理程序,用Linux Bash Shell腳本實現;Model為數據處理程序,是最核心的部分,該部分通過應用程序接口從工控機MLP讀入需要的狀態和數據,工控機MLP直接與控制檢測設備交互。
⑴ View模塊HTML通過表單GET請求處理。
⑵ Control模塊Bash Shell主要代碼:
3.3 嵌入式數據庫設計
3.3.1 SQLITE3介紹和移植
基于嵌入式設備規模、實時性和硬件交互,嵌入式數據庫一般具有占用系統資源少、高實時性和高可靠性等特點。SQLite3數據庫是一款輕型開源數據庫,接口簡單,包含在一個相對較小的C庫中。由于第三方腳本文件支持,移植步驟大致為:獲取源碼;運行第三方KBuild腳本編譯;編譯完成后,運行第三方KConfig腳本,自動進行SQLITE3配置。工控機MLP通過SecureCRT的Telnet協議登錄至Linux系統,進而對數據庫進行操作[6]。
3.3.2 數據模型E-R圖設計
報告模塊是系統核心數據結構,數據庫的作用是可供對報告的數據進行查詢、設置和修改等,以及管理和分析卷煙機生產過程中的狀態、效果和運行情況。報告有LEVEL0到LEVEL3四個子集,分為信息、生產、質量、分析、取樣、設置和服務等部分。數據模型E-R圖設計如圖3所示。
4 系統測試結果
系統測試包括BOA服務器測試和SQLite3數據庫測試。測試結果達到預期效果:服務器程序能夠在任意網絡終端通過瀏覽器進行訪問,且各模塊功能正常;數據庫能夠對核心數據結構進行增刪改查和關聯等操作。圖4Windows平臺和嵌入式Linux平臺進行TCP/IP網絡連接,然后通過IE瀏覽器訪問服務器程序的網頁主界面;圖5工控機MLP通過Telnet登錄嵌入式Linux平臺,然后對SQLite3數據庫進行操作的截圖。
5 結束語
經過測試,當平臺接入互聯網時,遠程終端就能夠對其進行訪問,通過網頁顯示當前卷煙機信息,卷煙機的數據傳輸不局限于設備內部,而是在任何聯網設備之間,從而為物聯網技術提供支持;嵌入式數據庫的引入,使得卷煙機的核心生產數據不再以文件形式保存在上位機終端,而是利用數據庫對其進行整合歸納和排列組合,從而為數據挖掘算法乃至大數據技術提供很好的支撐環境。
參考文獻(References):
[1] 劉學海,韓東,王斌,范海震.基于IPC-PLC的PASSIM卷接機組電控系統設計[J].煙草科技,2013.11:25-28
[2] 王建萍.煙廠卷接機組PLC與工控機網絡的監控系統設計[J].機械工程與自動化,2014.2:176-177
[3] 宋寶華.Linux設備驅動開發詳解[M].人民郵電出版社,2014.
[4] 王靈芝,葉美霞,張建造.基于Zigbee及BOA服務器的嵌入式智能家居的設計[J].閩南師范大學學報(自然科學版),2014.3:69-73
[5] 楊宗德.Linux高級程序設計[M].機械工業出版社,2012.
[6] 王洪輝.嵌入式linux內核開發實戰指南[M].電子工業出版社,2011.