基于Web服務(wù)的PDA生產(chǎn)管理系統(tǒng)應(yīng)用開發(fā)(20201207201259)_第1頁
基于Web服務(wù)的PDA生產(chǎn)管理系統(tǒng)應(yīng)用開發(fā)(20201207201259)_第2頁
基于Web服務(wù)的PDA生產(chǎn)管理系統(tǒng)應(yīng)用開發(fā)(20201207201259)_第3頁
基于Web服務(wù)的PDA生產(chǎn)管理系統(tǒng)應(yīng)用開發(fā)(20201207201259)_第4頁
基于Web服務(wù)的PDA生產(chǎn)管理系統(tǒng)應(yīng)用開發(fā)(20201207201259)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于Web服務(wù)的PDA生產(chǎn)管理系統(tǒng)應(yīng)用開發(fā)王鑫摘要:引言:1、任務(wù)要求結(jié)合一汽生產(chǎn)管理系統(tǒng)軟件及數(shù)據(jù)庫,開發(fā)移動 PDA 設(shè)備,主 要實(shí)現(xiàn)以下功能:通過掃描條形碼讀取零件信息通過調(diào)用 web 服務(wù)讀寫數(shù)據(jù)庫2、開發(fā)環(huán)境2.1 硬件立象 PT90 (WinCE 6.0、WIFI )、PC 機(jī)、數(shù)據(jù)線2.2 軟件VS2008、SQL2008、WM設(shè)備中心、IIS管理器、PT-90驅(qū)動程序、PT90_CE600 SDK、 Device Emulate 設(shè)備仿真器 /管理器 本機(jī)的操作系統(tǒng)為 64 位 Win7 家庭版,經(jīng)升級后安裝 IIS 服務(wù), 在本機(jī)上配置虛擬服務(wù)器: 4:

2、80812.3 語言C#、 .NET 3.53、系統(tǒng)設(shè)計(jì)3.1系統(tǒng)框架基于PC機(jī)的生產(chǎn)管理數(shù)據(jù)庫局域網(wǎng)基于PC機(jī)的Web服務(wù)無線WIFI基于PDA的數(shù)據(jù)采集系統(tǒng)c掃描|明細(xì)報(bào)工1設(shè)置系統(tǒng)主要由數(shù)據(jù)庫、web服務(wù)和PDA采集系統(tǒng)三個部分組成。 PDA通過掃描零件條形碼獲得加工過程卡號,通過無線WIFI連接遠(yuǎn)程Web服務(wù)調(diào)用數(shù)據(jù)庫查詢功能,對數(shù)據(jù)庫進(jìn)行查詢獲得零件相 關(guān)信息,返回PDA界面。同時,用戶可以通過修改 PDA界面相關(guān) 信息,以同樣的方式實(shí)現(xiàn)對數(shù)據(jù)庫的讀寫操作。3.2系統(tǒng)功能PDA系統(tǒng)主要分為四個模塊:掃描、明細(xì)、報(bào)工、設(shè)置。掃描模塊可以實(shí)現(xiàn)加工過程卡號的錄入(掃描條形碼或者手動輸 入)

3、、清空、讀取、退出等功能。明細(xì)模塊列出所對應(yīng)加工過程卡號 零件的工序列表、制造令號、工件名稱等信息,并設(shè)計(jì)返回和報(bào)工 功能。報(bào)工模塊由明細(xì)模塊轉(zhuǎn)入,列出明細(xì)模塊工序列表中相應(yīng)工 序所對應(yīng)的具體信息,包括零件生產(chǎn)狀態(tài)、檢驗(yàn)狀態(tài)、投入及合格數(shù)量、不合格清單,并設(shè)計(jì)保存修改和返回功能。設(shè)置模塊主要實(shí)現(xiàn)是對服務(wù)器的選擇及保存服務(wù)器IP信息功能。4、系統(tǒng)實(shí)現(xiàn)與用戶界面4.1 Web服務(wù)ServiceClassf WebService1 Methodsv Get DataSetV GetDSInvalid7 lnserlnvalid:* Servicev UpdateDataV Llpdateinvali

4、dWeb服務(wù)中共建立了五個操作數(shù)據(jù)庫的服務(wù)項(xiàng):查詢整體信息(GetDataSet)、查詢不合格明細(xì)(GetDSInvalid )、更新整體信息(UpDateData)、修改不合格數(shù)量 (Updatelnvalid )、插入不合格數(shù)量(Inserlnvalid )。涉及到生產(chǎn)管理數(shù)據(jù)庫 plmplat中的WSPROCESSOPER WSPROCESSHEADVSOPERINVALIDPIECE個數(shù)據(jù)表。編寫好相應(yīng)代碼后生成解決方案,并將Web服務(wù)發(fā)布到本機(jī)所配置的虛擬服務(wù)器所對應(yīng)的目錄中。4.2 PDA 4.2.1掃描frm_aileCbfis 沖 RannA Fields-Methods詐 b

5、irttonil_Click(object sender Event Args e): void 屮 burttn2_Clickpbject sender EventArgs e) : vid birttonSClickCobject iendec EvehtArgs e) void瀘 button4_Click(objert sender, EventArgss e): void f* Dispose(bool disposing: widV frmJcateOfrm_Scale_Artivated(ahject sender EveirtArgs e): void 屮 frm.Scale.

6、Deactivatet&bject sender, EventArgs e:旳 id 丈 frrn_Scale_loa(l(object 注門ders ErentArgs e : void 詐natialkeCci mponentQ : void 滬 ScainO - void 亭 text BMtl_lK.eyDown(object serxler. KeyEvtntArgs e): void用戶打開客戶端后系統(tǒng)自動打開掃描界面,并將光標(biāo)定位在文本 框中,PT90打開掃描程序后,對條形碼按掃描鍵后條碼信息會顯示光標(biāo)位置,以“回車”為結(jié)束字符,通過textBox1_KeyDown()函數(shù)捕捉掃

7、描結(jié)束信息,調(diào)用 Web服務(wù)GetDataSet方法查詢數(shù)據(jù)庫,返回Dataset并傳給自動跳轉(zhuǎn)到的明細(xì)界面。如果是手動輸入,在輸入 加工過程卡號結(jié)束后可按設(shè)備“ ENT ”鍵,或者點(diǎn)擊界面“讀取” 按鈕,即可跳轉(zhuǎn)到明細(xì)界面。界面底部設(shè)置狀態(tài)欄,在讀取數(shù)據(jù)庫時顯示提示延遲信息。設(shè)置 按鈕關(guān)聯(lián)設(shè)置界面。清空按鈕擇負(fù)責(zé)清空文本框信息。422明細(xì)frm_DetailClass+Form- FwldsMethods滬 buttcnl.Clickfobjert sender Event Args e): void$ buttcn3_Click_lfobject st nder, Event Args 和

8、 void辭 dataGridl_DcudleCli: voidFrmlnrtialD ; oidIniriailizcCijmiponcntO : w&id rTJumerkUpLtonS.ValweChangfidfobject seer EventArgs e)! void $ FlurTiiritcUpDi4wrJi3_VdluChAfJig4d(fihjtowri4ValidChanged(ob)ect sflnder, EvtntArgs e) : void 芒 ftdmericUpDowri5_ValuaChariged(fiibjet 刖.Evente) : gid .卜 ni

9、jm?rKUpDwni_V4li?Changtd(Dbjicct 5nd?r Eve-ntArgs c) : void K FKimericUpDo 丹 n/.YdueCharigEdgb/Kt aefider. Event Args e): void報(bào)工界面上半部分四個控件的填充信息由明細(xì)界面的數(shù)據(jù)表獲 得,其中生產(chǎn)和檢驗(yàn)狀態(tài)根據(jù)數(shù)據(jù)庫查詢出的整型數(shù)據(jù)轉(zhuǎn)換為對應(yīng) 的文字信息并填充。下半部分為某工序編號所對應(yīng)的不合格清單, 在窗體載入過程中單獨(dú)調(diào)用 Web 服務(wù) GetDSInvalid 方法查詢數(shù)據(jù)庫 獲得。當(dāng)用戶修改控件數(shù)據(jù)點(diǎn)擊保存后,分兩部分進(jìn)行保存。投入數(shù)量 和合格數(shù)量通過調(diào)用 Web

10、 服務(wù) UpDateData 方法更新數(shù)據(jù)庫即可。 不合格列表則根據(jù)用戶修改控件狀態(tài)以及數(shù)據(jù)庫存儲狀態(tài)分成兩種 情況:當(dāng)用戶修改了不合格控件并且數(shù)據(jù)庫中有該項(xiàng)時,視為“修 改”,此時調(diào)用 Web 服務(wù) UpdateInvalid 方法更新數(shù)據(jù)庫;當(dāng)用戶修 改了不合格控件并且數(shù)據(jù)庫中沒有該項(xiàng)時,視為“保存” ,此時調(diào)用 Web 服務(wù) InserInvalid 方法插入數(shù)據(jù)庫。點(diǎn)擊返回按鈕后界面跳轉(zhuǎn)到 明細(xì)界面以便重新選擇工序。此外,在用戶修改各個控件數(shù)量時,根據(jù)規(guī)則設(shè)置約束。若出現(xiàn) 合格數(shù)量與不合格數(shù)量之和大于投入數(shù)量的情況,則彈出提示對話 框,并返回到未修改之前的狀態(tài)。若合格數(shù)量與投入數(shù)量相同

11、且狀 態(tài)標(biāo)記都為“完成”,則將不合格清單中的各個控件 Enable屬性設(shè)置 為“false”。若在操作數(shù)據(jù)庫過程中出現(xiàn)異常,則彈出“操作數(shù)據(jù)失 敗”對話框提示用戶檢查數(shù)據(jù)庫連接和服務(wù)器連接狀態(tài)。順利保存 各項(xiàng)后彈出“保存成功”對話框。4.2.4 設(shè)置設(shè)置服務(wù)器ip:ijClass耳 FieldsW buttanl; Button button2 : Button 匚omboBoxl : ComboBox CDrnpcnerrts : I Container labell: Label maiinMenul: MainMenu* strSerwr: string二i Methods上中 butt

12、Qnl_Click(object sender EventArgis e): void 護(hù) button2_Click(olbject sender. EventArgs,e) void 盧 Dhpa$e(bool deposing): voidM frm.Setfl frm_Set_L&ad(object lendtr. Eve nt Ar gi e) ; void 沖 InitializeCamponeritQ : void設(shè)置界面由掃描界面的設(shè)置按鈕連接,ComboBox控件中給出了常用的服務(wù)器IP列表,用戶可以在選擇某一地址后點(diǎn)擊保存按鈕, 將服務(wù)器IP傳入主系統(tǒng)中以便調(diào)用,同時關(guān)閉當(dāng)

13、前界面。默認(rèn)按鈕 擇用來復(fù)位系統(tǒng)默認(rèn)地址。5、系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)5.1 PDA對 Web服務(wù)的動態(tài)引用在實(shí)際應(yīng)用中,PDA所應(yīng)用的 Web服務(wù)的服務(wù)器地址很可能隨 工作環(huán)境的變換而發(fā)生改變,因此要求實(shí)現(xiàn)對 Web服務(wù)的動態(tài)引用。本系統(tǒng)在設(shè)置界面中確定所要調(diào)用的Web服務(wù)器IP地址,然后保存到公共字符串參數(shù) strServer并傳入掃描和報(bào)工界面。當(dāng)用戶需 要調(diào)用Web服務(wù)時,使用以下代碼傳入?yún)?shù):Service sv = new Service (strServer)然后即可調(diào)用sv服務(wù)的各個方法,實(shí)現(xiàn)相應(yīng)功能。這種方法要求 有兩個前提條件:一是所選擇服務(wù)器目錄下需要有與默認(rèn)服務(wù)器相 同的 S

14、ervice.asmx 文件;二是更新 PDA 設(shè)備中 Web 引用后需要在 reference.cs文件中修改 public Service(string url)構(gòu)造函數(shù)為:this.Url = url 。5.2 WinCE 系統(tǒng) DataGrid 控件的數(shù)據(jù)寄存從數(shù)據(jù)庫查詢出結(jié)果后,可以直接將DataSet填充DataGrid控件和調(diào)用DataSet中的數(shù)據(jù)填充其他控件,但是考慮DataGrid要求僅顯示工序名稱和工序內(nèi)容兩個字段,本系統(tǒng)采用了修改表格樣式中 列寬值為“ -1”的方法隱藏其他字段,達(dá)到了未顯示字段但能調(diào)用 的數(shù)據(jù)寄存目的。設(shè)置表格樣式隱藏“過程編號”字段的部分代碼 如下:

15、/定義表格樣式DataGridTableStyle ts = new DataGridTableStyle() ;ts.MappingName = dtMain.TableName;/定義列樣式DataGridColumnStyle gcs = new DataGridTextBoxColumn ();gcs.MappingName = PROCESSID;gcs.HeaderText = 過程編號 ;gcs.Width = -1;ts.GridColumnStyles.Add (gcs);/填充 DataGridthis.dataGrid1.TableStyles.Add (ts);this

16、.dataGrid1.DataSource = dtMain;5.3 WinCE 系統(tǒng)多控件操作數(shù)據(jù)庫的方法報(bào)工界面中涉及保存多個不合格控件數(shù)值的問題,而且如 4.2.3中所述要求有多種規(guī)則約束。本系統(tǒng)定義了四個數(shù)組分別存放不同標(biāo)志,然后根據(jù)不同情況執(zhí)行修改、插入操作,實(shí)現(xiàn)了預(yù)期功能。 關(guān)鍵代碼如下:/數(shù)據(jù)庫包含標(biāo)志List KeyList = new List (); /控件更改狀態(tài)標(biāo)志List ChangeList = new List (); /所需操作控件NumericUpDown Nus = new NumericUpDown .; /控件對應(yīng)的不合格名稱 string keyNam

17、e = new string 工廢, 料廢, 回用, 試驗(yàn)件, 返修 ;/執(zhí)行for (int listNO = 1; listNO 6; listNO+)decimal amount = Nus listNO - 1.Value;/修改if (KeyList.Contains (listNO) & ChangeList.Contains (listNO)sv.UpdateInvalid (Convert.ToInt32 (amount), listNO, Convert.ToInt32 (strPorId) ;/插入else if (KeyList.LastIndexOf (listNO) 0 & ChangeList.Contains (listNO) & amou

溫馨提示

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

評論

0/150

提交評論