塑料擠出機(jī)控制系統(tǒng)實(shí)現(xiàn)與運(yùn)行_第1頁(yè)
塑料擠出機(jī)控制系統(tǒng)實(shí)現(xiàn)與運(yùn)行_第2頁(yè)
塑料擠出機(jī)控制系統(tǒng)實(shí)現(xiàn)與運(yùn)行_第3頁(yè)
塑料擠出機(jī)控制系統(tǒng)實(shí)現(xiàn)與運(yùn)行_第4頁(yè)
塑料擠出機(jī)控制系統(tǒng)實(shí)現(xiàn)與運(yùn)行_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、塑料擠出機(jī)控制系統(tǒng)實(shí)現(xiàn)與運(yùn)行本文對(duì)塑料擠出機(jī)專(zhuān)家控制系統(tǒng)的實(shí)現(xiàn)做詳細(xì)地介紹,主要包括開(kāi)發(fā)環(huán)境的搭建、系統(tǒng)開(kāi)發(fā)、系統(tǒng)運(yùn)行和系統(tǒng)測(cè)試與分析四個(gè)部分。1開(kāi)發(fā)環(huán)境搭建開(kāi)發(fā)環(huán)境的搭建是開(kāi)發(fā)系統(tǒng)的首要條件,本文開(kāi)發(fā)的系統(tǒng)是要運(yùn)行在ARM嵌入式開(kāi)發(fā)板中的,開(kāi)發(fā)板中運(yùn)行的是Linux系統(tǒng),由此可知環(huán)境搭建的工作內(nèi)容。1.1編程環(huán)境搭建 (1)PC虛擬機(jī)與嵌入式開(kāi)發(fā)板的通信 本文系統(tǒng)軟件開(kāi)發(fā)過(guò)程中,將不斷地對(duì)系統(tǒng)界面和功能進(jìn)行測(cè)試與修改,從而完善功能,這些是需要在開(kāi)發(fā)板的Linux系統(tǒng)中運(yùn)行才能測(cè)試的,而每一次的修改都要修改開(kāi)發(fā)板的文件系統(tǒng)和重新編譯內(nèi)核,這太繁瑣,本文采用將虛擬機(jī)中的文件系統(tǒng)通過(guò)NFS服務(wù)器掛

2、載到嵌入式內(nèi)核中的方式,實(shí)現(xiàn)二者文件系統(tǒng)的共享。 (2)PC機(jī)與虛擬機(jī)文件共享在Linux系統(tǒng)中對(duì)文件進(jìn)行編輯一般使用的是vim文本編輯器,它的使用操作很復(fù)雜,需要對(duì)應(yīng)的執(zhí)行命令來(lái)實(shí)現(xiàn)文本的修改,它是基于命令的文本編輯器,這很大的限制了開(kāi)發(fā)效率。在PC端Windows操作系統(tǒng)有一些好用基于圖形的本文編輯程序如U1traEdit,可是虛擬機(jī)中的Linux文件系統(tǒng)和PC機(jī)并不能直接訪問(wèn),需要通過(guò)samba服務(wù)器來(lái)實(shí)現(xiàn)PC機(jī)與虛擬機(jī)文件系統(tǒng)的共享。如圖1所示。 圖1 PC與虛擬機(jī)Linux系統(tǒng)共享目錄1.2相關(guān)程序移植 本文開(kāi)發(fā)所需要用到的程序都是可以在Linux下運(yùn)行的,但是ARM開(kāi)發(fā)板中的Lin

3、ux系統(tǒng)和PC中Linux系統(tǒng)的編譯器是不同的,所以就需要將程序重新編譯、移植到ARM開(kāi)發(fā)板中去,包括Boa服務(wù)器、CGIC庫(kù)和S QLite數(shù)據(jù)庫(kù)的移植。 (1) Boa服務(wù)器移植 a)配置編譯Boa:下載源碼解壓后,需要修改makefile文件中的編譯工具鏈,把其中變量CC的值改成arm-linux-gcc, LD改成arm-linux-ld,然后make就可以生成Boa應(yīng)用程序了。將Boa程序、生成的庫(kù)文件和服務(wù)器的配置文件放入到開(kāi)發(fā)板的文件系統(tǒng)中相應(yīng)的文件目錄中去。 b)修改boa.conf配置文件:其中,日志路徑和錯(cuò)誤日志路徑分別存放的是服務(wù)器正常執(zhí)行和出錯(cuò)信息的文件地址;web根目

4、錄路徑和CGI腳本目錄路徑分別表示的是服務(wù)器執(zhí)行中尋找web界面和CGI程序的路徑;默認(rèn)首頁(yè)則是用戶訪問(wèn)服務(wù)器出現(xiàn)的首頁(yè)界面。 c)測(cè)試,為了確保Boa的正常運(yùn)行,利用簡(jiǎn)單的測(cè)試程序測(cè)試Boa的運(yùn)行情況.在web根目錄下建立index.html文檔(默認(rèn)首頁(yè)),其內(nèi)容為: This is boa 在開(kāi)發(fā)板中運(yùn)行BOA服務(wù)器,通過(guò)IE瀏覽器輸入開(kāi)發(fā)板的IP地址連接到運(yùn)行Boa的嵌入式系統(tǒng),若頁(yè)面顯示This is boa,說(shuō)明Boa移植成功。 (2)CGIC庫(kù)移植 本文編寫(xiě)CGI程序使用的是C語(yǔ)言,因此將對(duì) CGIC庫(kù)進(jìn)行移植,過(guò)程如下: a)從CGIC站點(diǎn)上下載軟件包; b)在虛擬機(jī)中執(zhí)行命令

5、將軟軟件包解壓到當(dāng)前文件目錄; c)執(zhí)行cd cgic205命令進(jìn)入解壓后的文件目錄中,修改M akefile文件,找到CC=gcc,將其改成CC=arm-linux-gcc,找到AR=arm,將其改成AR=arm-linux-ar,找到RANLIB=ranlib,將其改成RANLIB=arm-linux-ranlib,執(zhí)行make命令進(jìn)行編譯,將得到的libcgic.a庫(kù)文件拷貝到開(kāi)發(fā)板的lib/(庫(kù)文件目錄)中。 d)測(cè)試,在虛擬機(jī)中寫(xiě)一個(gè)簡(jiǎn)單的C程序,主要是輸出一個(gè)簡(jiǎn)單的HTML頁(yè)面,在虛擬機(jī)中利用編譯好的CGIC庫(kù)和交叉工具鏈編譯這個(gè)程序,命令行如下:arm-linux一gcc -L/

6、cgic205/-lcgic -I ./cgic205/ test.c -o test.cgi將得到的test.cgi程序拷貝到開(kāi)發(fā)板中文件系統(tǒng)中服務(wù)器設(shè)置好的CGI腳本目錄C cgi-bin)中去,在IE瀏覽器中輸入,若輸出的界面正確,則移植成功。 (3) S qlite數(shù)據(jù)庫(kù)移植 (a)在S QLite官網(wǎng)中下載sqlite-.tar.gz軟件包,在虛擬機(jī)Linux系統(tǒng)中進(jìn)行解壓;(b)進(jìn)入解壓后的文件目錄中,修改編譯配置文件中的交叉工具鏈(arm-linux)和編譯后存放的目錄(/usr/local/Sqlite )。(c)接著執(zhí)行make和make install命令即可完成程序的重新

7、編譯。在/usr/local/Sqlite目錄下生成bin,lib,include目錄; (d)將編譯好的程序和庫(kù)文件拷貝到開(kāi)發(fā)板中,具體為將bin目錄下的sqlite3拷貝到開(kāi)發(fā)板文件系統(tǒng)/bin目錄下,將lib目錄下所有文件拷貝到開(kāi)發(fā)板文件系統(tǒng)/lib目錄下;(e)測(cè)試:在開(kāi)發(fā)板中執(zhí)行命令行sqlite3 test.db,查看運(yùn)行情況。如果出現(xiàn)如圖2所示的結(jié)果,則說(shuō)明移植成功。 圖2 Sqlite3移植測(cè)試結(jié)果2系統(tǒng)開(kāi)發(fā)本節(jié)將對(duì)系統(tǒng)各個(gè)部分的功能進(jìn)行開(kāi)發(fā)實(shí)現(xiàn)。2.1接口實(shí)現(xiàn)本文接口也就是網(wǎng)頁(yè)界面設(shè)計(jì)開(kāi)發(fā),使用的是HTML, CSS和JavaScript語(yǔ)言,它們都可以使用普通的編輯器進(jìn)行編

8、寫(xiě),只需要將文件的后綴名改為“.html”和.js”即可。實(shí)現(xiàn)了開(kāi)發(fā)板文件系統(tǒng)與虛擬機(jī)中文件目錄的共享、PC機(jī)與虛擬機(jī)Linux文件系統(tǒng)目錄共享,即可以通過(guò)PC機(jī)直接進(jìn)入嵌入式開(kāi)發(fā)板的文件系統(tǒng)中去。因此我們可以在Boa服務(wù)器設(shè)置的根目錄(/web/目錄)下面新建一些.html和.js文件,如圖3所示,通過(guò)進(jìn)行網(wǎng)頁(yè)編寫(xiě)和接口功能的實(shí)現(xiàn),如圖4所示。 圖3 Boa服務(wù)器根目錄 圖4 ultraedit編輯器代碼編寫(xiě)界面 (1)登錄界面實(shí)現(xiàn) 在編寫(xiě)代碼之前應(yīng)該從實(shí)現(xiàn)界面基本功能和頁(yè)面優(yōu)化兩方面對(duì)登錄界面的布局進(jìn)行整體設(shè)計(jì)。從功能考慮,需要設(shè)計(jì)的是一個(gè)登錄界面,它要實(shí)現(xiàn)賬號(hào)輸入、密碼輸入、登錄、注冊(cè)賬

9、號(hào)的功能,同時(shí),本頁(yè)面也應(yīng)該有本系統(tǒng)的標(biāo)志,可以通過(guò)系統(tǒng)名文字顯示來(lái)顯式的表明,這些功能的實(shí)現(xiàn)分別對(duì)應(yīng)著HTML中不同的標(biāo)簽。從頁(yè)面優(yōu)化考慮,系統(tǒng)名應(yīng)該放在較突出的位置,比如說(shuō)頁(yè)面的首部,為了讓頁(yè)面看起來(lái)比較有整體感,可以同時(shí)設(shè)定一個(gè)頁(yè)腳,將登錄界面的各個(gè)功能標(biāo)簽放在頁(yè)首和頁(yè)腳之間,居中顯示。用HTML編寫(xiě)出的標(biāo)簽實(shí)現(xiàn)了基本功能,可是對(duì)于每個(gè)標(biāo)簽的背景、字體格式、字體大小等都是通過(guò)CSS來(lái)標(biāo)記的,可以將各個(gè)標(biāo)簽將要用到的格式(CSS樣式表)放到HTML的標(biāo)簽中,在具體頁(yè)面編寫(xiě)時(shí)直接調(diào)用即可,這樣有利于后期的維護(hù)升級(jí)。點(diǎn)擊登錄按鈕時(shí),會(huì)將我們的賬號(hào)密碼以表單的POST方式提交給Boa服務(wù)器中的C

10、GI程序,程序會(huì)將提交的數(shù)據(jù)以標(biāo)準(zhǔn)輸入的方式提取出來(lái),再和數(shù)據(jù)庫(kù)中普通用戶數(shù)據(jù)表和工程師用戶數(shù)據(jù)表中的的賬號(hào)、密碼對(duì)比,如果錯(cuò)誤,則提示密碼錯(cuò)誤,請(qǐng)重新輸入,并返回到初始登錄界面;如果正確則進(jìn)入相應(yīng)的菜單頁(yè)面(普通用戶和工程師的頁(yè)面是不同的)。當(dāng)用戶沒(méi)有賬號(hào)的時(shí)候,就需要點(diǎn)擊“注冊(cè)賬號(hào)”超鏈接,可以進(jìn)入到注冊(cè)界面。 (2)注冊(cè)界面實(shí)現(xiàn) 注冊(cè)界面的實(shí)現(xiàn)基本和登錄界面的相同,只是分為了兩個(gè)部分,一個(gè)是普通用戶的注冊(cè),直接輸入用戶名和密碼;二是工程師注冊(cè),需要驗(yàn)證碼,因?yàn)楣こ處熡脩舻馁~號(hào)是直接對(duì)知識(shí)庫(kù)進(jìn)行修改的,必須謹(jǐn)慎。當(dāng)點(diǎn)擊登錄按鈕時(shí),一樣是以POST表單方式提交到CGI程序中,程序根據(jù)用戶類(lèi)型

11、在數(shù)據(jù)庫(kù)中建立普通用戶和工程師用戶的賬號(hào)數(shù)據(jù)表。當(dāng)注冊(cè)密碼和確認(rèn)密碼不匹配或者工程師注冊(cè)驗(yàn)證碼不對(duì)時(shí)會(huì)提示出錯(cuò),并返回注冊(cè)界面。最后完成注冊(cè)后可以點(diǎn)擊頁(yè)腳的“返回登錄界面”超鏈接進(jìn)入登錄界面。 (3)密碼修改界面實(shí)現(xiàn) 密碼修改界面的實(shí)現(xiàn)和注冊(cè)、登錄的界面是類(lèi)似的,只有功能的不同。它的功能就是提供給用戶一個(gè)修改賬戶密碼的接口,首先要通過(guò)原始密碼的驗(yàn)證,證明是本人操作,以防止別人通過(guò)其他方式進(jìn)入此頁(yè)面篡改密碼,再輸入新的密碼,保存修改即可。點(diǎn)擊“保存修改”按鈕,就會(huì)將表單內(nèi)的原始密碼、新設(shè)密碼以及確認(rèn)密碼的數(shù)據(jù)提交給數(shù)據(jù)庫(kù)的CGI程序,程序提取出數(shù)據(jù)后先判斷新設(shè)密碼與確認(rèn)密碼是否匹配,如果不匹配就

12、顯示“新設(shè)密碼和確認(rèn)密碼不匹配”的錯(cuò)誤信息,并返回密碼修改界面。再將原始密碼與數(shù)據(jù)庫(kù)中的密碼比對(duì),若找不到符合的數(shù)據(jù)項(xiàng)就顯示“原始密碼錯(cuò)誤”并返回密碼修改界面,如果找到符合的數(shù)據(jù)項(xiàng)則進(jìn)行密碼的修改操作,再跳轉(zhuǎn)回到菜單界面,以待用戶即進(jìn)行其它的操作。 (4)菜單界面實(shí)現(xiàn) 如同登錄界面的實(shí)現(xiàn)一樣,也需要先布局,再編寫(xiě)實(shí)現(xiàn)。從功能上看,菜單的功能是進(jìn)行系統(tǒng)的導(dǎo)航作用,是進(jìn)入各個(gè)功能的接口。根據(jù)前面內(nèi)容的設(shè)計(jì)可以知道對(duì)于普通用戶來(lái)說(shuō)包括五個(gè)功能模塊:生產(chǎn)目標(biāo)設(shè)定模塊、工藝參數(shù)推理模塊、參數(shù)推理解釋模塊、一鍵啟動(dòng)機(jī)組模塊和密碼修改模塊;對(duì)于工程師來(lái)說(shuō)包括兩個(gè)模塊:知識(shí)庫(kù)更新和密碼修改模塊。而且這些功能模

13、塊的導(dǎo)航需要在每個(gè)模塊的部分都有,以便在各個(gè)模塊界面間靈活的跳轉(zhuǎn)。再將登錄界面的頁(yè)頭和頁(yè)腳加入進(jìn)來(lái),可以在頁(yè)腳中加入登錄界面的超鏈接,以便讓用戶可以直接返回登錄界面。當(dāng)鼠標(biāo)指向?qū)Ш街懈鱾€(gè)模塊界面的按鈕時(shí),會(huì)變色,點(diǎn)擊后就會(huì)跳轉(zhuǎn)到其它各個(gè)模塊的界面了。 (5)生產(chǎn)目標(biāo)設(shè)定界面的實(shí)現(xiàn) 生產(chǎn)目標(biāo)設(shè)定界面的功能是為用戶提供系統(tǒng)生產(chǎn)目標(biāo)設(shè)定的接口,用戶可以通過(guò)它來(lái)設(shè)置需要生產(chǎn)優(yōu)化的塑料擠出機(jī)組的機(jī)型、物料、最大擠出量、片材厚度和片材寬度。整體的頁(yè)面結(jié)構(gòu)與前面的界面類(lèi)似,只是功能標(biāo)簽的不同,這里不再贅述。由于每個(gè)機(jī)型適用的材料、最大擠出量、片材的寬度和厚度是有限制的,為了便于用戶填寫(xiě)生產(chǎn)目標(biāo),專(zhuān)門(mén)設(shè)計(jì)了一

14、個(gè)表單,用于用戶查詢機(jī)型的基本信息。第二個(gè)表單就是所設(shè)定的生產(chǎn)目標(biāo)了,它還是包括那五項(xiàng):機(jī)型、材料、片材的寬度和厚度。界面顯示效果在后面系統(tǒng)運(yùn)行小節(jié)中,如圖10所示。首先,用戶可以在第一個(gè)表單中選擇機(jī)型,點(diǎn)擊查詢按鈕后會(huì)將機(jī)型信息提交給服務(wù)器中相應(yīng)的CGI程序,CGI程序訪問(wèn)數(shù)據(jù)庫(kù)進(jìn)行查詢,將得到的機(jī)型信息輸出到新的界面,返回到瀏覽器中。然后用戶在第二個(gè)表單中根據(jù)不同機(jī)型的特點(diǎn),選擇機(jī)型、材料,填寫(xiě)最大擠出量和片材的厚度、寬度,最后點(diǎn)擊保存設(shè)定按鈕,就將這些信息提交到服務(wù)器中相應(yīng)的CGI程序進(jìn)行推理。CGI程序得到生產(chǎn)目標(biāo)后就會(huì)進(jìn)行推理操作,將推理結(jié)果和推理過(guò)程存儲(chǔ)在各個(gè)緩存數(shù)據(jù)表中,以待后面

15、用戶咨詢所用。 (6)工藝參數(shù)推理界面實(shí)現(xiàn) 工藝參數(shù)推理界面的功能是向用戶顯示推理得到30個(gè)工藝參數(shù)的具體數(shù)值,用戶可以根據(jù)自己的需要對(duì)推理得到的參數(shù)值進(jìn)行修改。用戶可以先點(diǎn)擊“參數(shù)推理”按鈕,會(huì)將表單提交給服務(wù)器中相應(yīng)的CGI程序,CGI檢測(cè)到輸入的表單為空,就會(huì)查詢參數(shù)推理緩存數(shù)據(jù)表,將其中的參數(shù)一個(gè)一個(gè)的取出輸出到工藝參數(shù)推理界面對(duì)應(yīng)的位置上去。然后,用戶可以根據(jù)自己的需求來(lái)自行修改各個(gè)參數(shù)值,修改完后確認(rèn)無(wú)誤的情況下可以點(diǎn)擊“參數(shù)確定”按鈕,就會(huì)將確定的生產(chǎn)工藝參數(shù)(修改后的)提交給服務(wù)器中相應(yīng)的CGI程序中去。CGI檢測(cè)到輸入表單有數(shù)據(jù),就先進(jìn)行自動(dòng)更新的操作,將修改的參數(shù)保存到參數(shù)

16、修改數(shù)據(jù)表中,然后再將這30個(gè)工藝參數(shù)一個(gè)一個(gè)的通過(guò)RS232發(fā)送到塑料擠出機(jī)組的嵌入式觸摸屏控制器中。 (7)參數(shù)推理解釋界面實(shí)現(xiàn) 參數(shù)推理解釋界面的功能是向用戶解釋各個(gè)參數(shù)的推理過(guò)程和推理由來(lái),界面中將30個(gè)參數(shù)列成一個(gè)拖拉菜單,用戶可以選擇自己需要咨詢的參數(shù),界面顯示效果在后面系統(tǒng)運(yùn)行小節(jié)中,如圖12所示。點(diǎn)擊“保存設(shè)定”按鈕后,會(huì)將咨詢的參數(shù)以表單的形式提交給服務(wù)器中相應(yīng)的CGI程序,CGI程序檢索推理解釋緩存數(shù)據(jù)表,將相應(yīng)參數(shù)的推理值、推理過(guò)程和推理解釋輸出到參數(shù)解釋界面的相應(yīng)位置。 (8)啟動(dòng)流程推理界面實(shí)現(xiàn) 啟動(dòng)流程推理界面的功能主要是將推理得到的塑料擠出機(jī)組的啟動(dòng)流程展現(xiàn)給用戶

17、,界面顯示效果在后面系統(tǒng)運(yùn)行小節(jié)中,如圖14所示。用戶先點(diǎn)擊“啟動(dòng)流程推理”按鈕,之后瀏覽器會(huì)將表單傳給服務(wù)器中相應(yīng)的CGI程序,CGI程序檢測(cè)到表單為空就會(huì)將啟動(dòng)流程從啟動(dòng)流程緩存數(shù)據(jù)表中取出并輸入到啟動(dòng)流程推理界面相應(yīng)的位置。用戶可以觀看、修改、檢查無(wú)誤后點(diǎn)擊“啟動(dòng)流程確定”按鈕,CGI程序檢測(cè)到有數(shù)據(jù)傳入后會(huì)將啟動(dòng)流程通過(guò)RS232發(fā)送到塑料擠出機(jī)組的嵌入式觸摸屏控制器中。 (9)知識(shí)庫(kù)更新界面實(shí)現(xiàn) 知識(shí)更新界面的功能是為工程師提供一個(gè)修改知識(shí)庫(kù)中知識(shí)規(guī)則的接口,工程師可以通過(guò)它查詢、修改和添加知識(shí)。界面顯示效果在后面系統(tǒng)運(yùn)行小節(jié)中,如圖5-15所示。界面設(shè)計(jì)了3個(gè)表單,分別對(duì)應(yīng)知識(shí)查詢

18、、修改和添加,每個(gè)表單中都有5個(gè)塑料擠出機(jī)固有參數(shù)和可調(diào)參數(shù)的數(shù)據(jù)表,工程師可以根據(jù)機(jī)型和每個(gè)數(shù)據(jù)表的行號(hào)進(jìn)行查詢、修改。當(dāng)工程師點(diǎn)擊“提交查詢”按鈕時(shí),會(huì)將表單中相應(yīng)的機(jī)型和數(shù)據(jù)表行號(hào)提交到服務(wù)器相應(yīng)的CGI程序中,CGI會(huì)查詢相應(yīng)的數(shù)據(jù)表,將數(shù)據(jù)取出輸出到知識(shí)更新界面相應(yīng)的位置上。當(dāng)工程師點(diǎn)擊“保存修改”按鈕時(shí),會(huì)將表單中的機(jī)型、數(shù)據(jù)表行號(hào)和具體修改內(nèi)容提交到服務(wù)器相應(yīng)的CGI程序中,CGI會(huì)查詢相應(yīng)的數(shù)據(jù)表,更改相應(yīng)的數(shù)據(jù),如果輸入修改的知識(shí)格式不對(duì),就提示錯(cuò)誤并返回知識(shí)更新界面。當(dāng)工程師點(diǎn)擊“保存添加”按鈕時(shí),會(huì)將表單中的機(jī)型和具體添加內(nèi)容提交到服務(wù)器相應(yīng)的CGI程序中,CGI會(huì)更新相

19、應(yīng)的數(shù)據(jù)表,將新的知識(shí)添加進(jìn)去,如果輸入添加的知識(shí)格式不對(duì),就提示錯(cuò)誤并返回知識(shí)更新界面。2.2知識(shí)庫(kù)實(shí)現(xiàn) 知識(shí)庫(kù)的實(shí)現(xiàn)就是數(shù)據(jù)庫(kù)的實(shí)現(xiàn),前面在搭建開(kāi)發(fā)環(huán)境的時(shí)候己經(jīng)將S QLite數(shù)據(jù)庫(kù)移植到了開(kāi)發(fā)板中了,S QLite數(shù)據(jù)庫(kù)為C語(yǔ)言開(kāi)法程序提供了接口,在編寫(xiě)CGI程序的時(shí)候只需要將S QLite數(shù)據(jù)庫(kù)的接口加入到頭文件中去,即可使用相關(guān)API對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表進(jìn)行增刪改查的操作,API接口函數(shù)如下:還有一些其它的操作都是類(lèi)似的,為了便于數(shù)據(jù)表的操作,將各個(gè)機(jī)型名用相應(yīng)的“標(biāo)識(shí)”表示,如立式單層片材機(jī)組用“VS”表示,根據(jù)前文設(shè)計(jì)中的生產(chǎn)知識(shí)關(guān)系表,在CGI程序中可以依次創(chuàng)建出如下的數(shù)據(jù)表

20、圖5 固有參數(shù)數(shù)據(jù)表 圖6 啟動(dòng)流程數(shù)據(jù)表 圖7 知識(shí)規(guī)劃數(shù)據(jù)表 圖 8 知識(shí)規(guī)則條件數(shù)據(jù)表 圖9 知識(shí)規(guī)則結(jié)論數(shù)據(jù)表2.3推理機(jī)實(shí)現(xiàn) 推理機(jī)是本文實(shí)現(xiàn)的核心,它的實(shí)現(xiàn)包括兩部分,分別是知識(shí)推理實(shí)現(xiàn)和知識(shí)解釋實(shí)現(xiàn)。 (1)知識(shí)推理實(shí)現(xiàn) 推理的過(guò)程是在CGl程序中通過(guò)c語(yǔ)言編寫(xiě)實(shí)現(xiàn)的,CGl程序根據(jù)生產(chǎn)目標(biāo)設(shè)定值進(jìn)行推理,將推理結(jié)果存儲(chǔ)在緩存數(shù)據(jù)表中,這其中包括參數(shù)推理緩存數(shù)據(jù)表和啟動(dòng)流程緩存數(shù)據(jù)表等,當(dāng)用戶需要查看推理后的工藝參數(shù)和啟動(dòng)流程時(shí)可以將數(shù)據(jù)從緩存數(shù)據(jù)表中取出顯示在接口中,根據(jù)前文設(shè)計(jì)的流程圖,可進(jìn)行編程,部分代碼如下。2.4知識(shí)更新實(shí)現(xiàn) (1)專(zhuān)家修改實(shí)現(xiàn) 專(zhuān)家修改是為工程師等專(zhuān)業(yè)

21、人員提供的用來(lái)對(duì)知識(shí)庫(kù)中己有的規(guī)則進(jìn)行更新的接口。工程師等專(zhuān)業(yè)人員可以通過(guò)知識(shí)庫(kù)更新界面先對(duì)想要更新的知識(shí)庫(kù)中的規(guī)則進(jìn)行查詢,再根據(jù)自己的需要對(duì)相應(yīng)的規(guī)則進(jìn)行更新,不過(guò)在修改的過(guò)程中不能破壞己有的知識(shí)結(jié)構(gòu),在添加的時(shí)候要在大類(lèi)知識(shí)條目下結(jié)合相應(yīng)的知識(shí)結(jié)構(gòu)進(jìn)行操作,不然無(wú)法在后臺(tái)程序中實(shí)現(xiàn)數(shù)據(jù)庫(kù)的更新操作,在專(zhuān)家提交修改結(jié)果后,系統(tǒng)自動(dòng)更新己有目標(biāo)設(shè)定數(shù)據(jù)表。 (2)自動(dòng)更新實(shí)現(xiàn)自動(dòng)更新機(jī)制是需要通過(guò)一定的算法來(lái)實(shí)現(xiàn)的,前面章節(jié)己經(jīng)對(duì)它進(jìn)行了詳細(xì)地設(shè)計(jì),本節(jié)將根據(jù)設(shè)計(jì)的流程圖,用C語(yǔ)言來(lái)編寫(xiě)。在工藝參數(shù)推理界面中,當(dāng)用戶點(diǎn)擊“參數(shù)設(shè)定”按鈕時(shí)會(huì)將所有的工藝參數(shù)都傳入到相應(yīng)的CGI程序中,腳本程序

22、會(huì)將傳入的數(shù)據(jù)和緩存數(shù)據(jù)庫(kù)中的數(shù)據(jù)作對(duì)比,把用戶修改的數(shù)據(jù)存入一個(gè)修改更新的數(shù)據(jù)表中。部分代碼如下。3系統(tǒng)運(yùn)行3.1運(yùn)行準(zhǔn)備 在前面搭建開(kāi)發(fā)環(huán)境的時(shí)候我們己經(jīng)實(shí)現(xiàn)了Boa服務(wù)器、cGlc庫(kù)、s QLite數(shù)據(jù)庫(kù)的移植,為了開(kāi)發(fā)的方便,把ARM嵌入式開(kāi)發(fā)板的文件系統(tǒng)使用NFS從虛擬機(jī)的Linux系統(tǒng)掛載的方式,當(dāng)所有的系統(tǒng)程序開(kāi)發(fā)完后,就需要將文件系統(tǒng)掛載到嵌入式開(kāi)發(fā)板中,讓嵌入式開(kāi)發(fā)板可以獨(dú)立運(yùn)行開(kāi)發(fā)的系統(tǒng)程序。 (1)系統(tǒng)程序啟動(dòng)設(shè)置在實(shí)際運(yùn)行的時(shí)候本系統(tǒng)程序是運(yùn)行在開(kāi)發(fā)板Linux系統(tǒng)后臺(tái)中的,這就要求本文的系統(tǒng)程序(服務(wù)器)在嵌入式開(kāi)發(fā)板啟動(dòng)的同時(shí)也自動(dòng)的加載啟動(dòng),是不需要控制臺(tái)來(lái)控制的

23、。Linux的啟動(dòng)流程可知,etc/inittab是系統(tǒng)在啟動(dòng)的時(shí)候需要加載的文件,將服務(wù)器的啟動(dòng)添加到這個(gè)文件中即可,添加后的etc/inittab代碼如下: (2)文件系統(tǒng)制作 本文根據(jù)嵌入式開(kāi)發(fā)板的特性,使用mkyaffs2image將前面配置好的掛在在虛擬機(jī)中的開(kāi)發(fā)板文件系統(tǒng)目錄rootfs制作成一個(gè)yaffs映像文件,和內(nèi)核一起燒寫(xiě)到開(kāi)發(fā)板中即可。3.2普通用戶登錄運(yùn)行 將開(kāi)發(fā)板連接到路由器中,讓現(xiàn)場(chǎng)的嵌入式觸摸屏控制器也連接到同一個(gè)路由中,啟動(dòng)開(kāi)發(fā)板,通過(guò)控制器系統(tǒng)中的瀏覽器即可進(jìn)入系統(tǒng)程序,進(jìn)行各種操作了。 (1)登錄注冊(cè):在瀏覽器中輸入開(kāi)發(fā)板的IP地址,即可進(jìn)入登錄界面,首先需

24、要注冊(cè)一普通用戶的賬號(hào)注冊(cè)完后點(diǎn)擊“返回登錄界面”即可進(jìn)行登錄了。 (2)生產(chǎn)目標(biāo)設(shè)定:如圖10所示,先查詢機(jī)型信息,再根據(jù)信息和自己的需要進(jìn)行設(shè)定即可,最后保存。圖10 生產(chǎn)目標(biāo)設(shè)定界面(3)工藝參數(shù)推理:如圖11所示,點(diǎn)擊“參數(shù)推理”按鈕會(huì)顯示所有推理得到的參數(shù)信息,如需修改,直接修改相應(yīng)參數(shù)即可數(shù)確定”按鈕,就會(huì)將數(shù)據(jù)發(fā)送給嵌入式工業(yè)控制器。界面刷新后就最后點(diǎn)擊“參數(shù)確定”按鈕,就會(huì)將數(shù)據(jù)發(fā)送給嵌入式工業(yè)控制器。 圖 11 工藝參數(shù)推理界面(4)參數(shù)推理解釋:如圖12和13所示,選擇壓輥轉(zhuǎn)速和網(wǎng)后壓力參數(shù)點(diǎn)擊“保存設(shè)定”即可查詢到這兩個(gè)參數(shù)的推理路徑和推理解釋。 圖 12 壓輥轉(zhuǎn)速參數(shù)解

25、釋界面 圖13 網(wǎng)后壓力參數(shù)解釋界面(5)啟動(dòng)流程推理:如圖14所示,進(jìn)入啟動(dòng)流程界面理”按鈕,頁(yè)面刷新后就會(huì)顯示根據(jù)開(kāi)發(fā)目標(biāo)生成的啟動(dòng)流程定”按鈕,就會(huì)將數(shù)據(jù)發(fā)送給嵌入式工業(yè)控制器。 圖14 啟動(dòng)流程推理界面(6)密碼修改:輸入舊密碼和新密碼即可完成。3.3工程師登錄運(yùn)行 工程師的登錄操作和普通用戶的一樣,進(jìn)入系統(tǒng)以后就可根據(jù)自己的需要對(duì)知識(shí)庫(kù)中的固有參數(shù)數(shù)據(jù)表、啟動(dòng)流程數(shù)據(jù)表、規(guī)則數(shù)據(jù)表、條件數(shù)據(jù)表和結(jié)論數(shù)據(jù)表進(jìn)行修改,如圖15所示。密碼修改和普通用戶的類(lèi)似。 圖15 知識(shí)庫(kù)更新界面4系統(tǒng)測(cè)試與分析 系統(tǒng)測(cè)試的目的是為了驗(yàn)證本文設(shè)計(jì)的專(zhuān)家系統(tǒng)能否達(dá)到企業(yè)的功能和性能要求,以便能夠及時(shí)的發(fā)現(xiàn)

26、系統(tǒng)設(shè)計(jì)中存在的問(wèn)題,趁早解決并優(yōu)化。本文對(duì)專(zhuān)家系統(tǒng)的測(cè)試在功能上測(cè)試其推理得到參數(shù)值和啟動(dòng)流程的正確率,性能上測(cè)試其推理過(guò)程所花費(fèi)的時(shí)間。為了計(jì)算推理時(shí)間,需要在推理機(jī)的CGIC程序中加入時(shí)間計(jì)算函數(shù),計(jì)算每次推理的時(shí)間并打印保存到文本文件中。對(duì)每次推理得到的參數(shù)值和啟動(dòng)流程進(jìn)行處理,根據(jù)工程師、老工人的知識(shí)經(jīng)驗(yàn)和產(chǎn)品的說(shuō)明書(shū)來(lái)判定推理得到的數(shù)據(jù)是否正確,把推理正確的參數(shù)個(gè)數(shù)除以所有推理的參數(shù)個(gè)數(shù),就得到了一次推理的正確率了。(1)相同生產(chǎn)目標(biāo)推理測(cè)試相的生產(chǎn)目標(biāo)推理測(cè)試就是對(duì)每次設(shè)定一樣的生產(chǎn)目標(biāo)(最大擠出量、物料、厚度、寬度)不變進(jìn)行多次推理,在推理的過(guò)程中伴隨著人工修改參數(shù)值的過(guò)程,推理次數(shù)有很多,本文只列舉12次的數(shù)據(jù),得到的數(shù)據(jù)如表1所示。將其處理后可得到如圖16所示的統(tǒng)計(jì)圖。表1 相同生產(chǎn)目標(biāo)測(cè)試結(jié)果統(tǒng)計(jì)表圖16 相同生產(chǎn)目標(biāo)測(cè)試結(jié)果統(tǒng)計(jì)圖 從統(tǒng)計(jì)圖中可以看出,第一次測(cè)試所耗費(fèi)的時(shí)間最長(zhǎng),正確率最低,之后隨著測(cè)試次數(shù)的增多,正確率逐漸增加,耗費(fèi)時(shí)間逐漸平穩(wěn)。這是符合專(zhuān)家系統(tǒng)推理機(jī)制的,在第一次測(cè)試時(shí),所輸入的生產(chǎn)目標(biāo)是新的,在己有生產(chǎn)目標(biāo)設(shè)定數(shù)據(jù)表中時(shí)沒(méi)有本次推理結(jié)果的,需要借助于推理機(jī)進(jìn)行整個(gè)推理過(guò)程,再將得到的推理結(jié)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論