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