彭愛泉,曲行達
(貴州交通職業技術學院機械電子工程系,貴州貴陽,550000)
LabVIEW 是一種圖形化編程語言,編輯語言G 編寫程序,產生的程序是框圖的形式,它廣泛地被各界所接受,視為一個標準的數據采集和一起控制軟件。
本設計,用戶可以根據出發時間、出發起始站和目的站選擇需要購買的列車班次,用戶在選擇購買的班次后輸入用戶的個人信息,系統根據用戶輸入的信息,提示用戶可以選擇的鋪位是哪種(上、中、下鋪),用戶根據提示選擇票種,點擊確定完成此次購票。基于LabVIEW 軟件對列車臥鋪鋪位自主選票系統進行開發設計,以便更好的運用在群眾中,使得購票系統的結構完整化、智能化,解決網上訂票系統不能自主選擇鋪位的問題。
根據乘車用戶提供的身份信息和所選擇的目的地、班次及鋪位,設計一個列車自主選鋪程序,完成程序設計、畫面制作、系統運行調試。
第一次使用自動購票系統需要注冊賬號信息,將自己的姓名和身份證號碼錄入系統。用戶信息的注冊界面如圖1 所示[1]。

圖1 用戶信息注冊界面
注冊成功后則可以登錄購票系統,登錄界面如圖2 所示。

圖2 登錄界面
登錄進系統以后,用戶操作過程有四個步驟:車票查詢、列車信息列表、選擇列車信息和選擇乘客。操作過程如圖3所示。

圖3 操作過程
列車自主選鋪這個系統,核心要解決的問題是網上售票。涉及到2 個角色使用該系統:用戶、鐵道部。用戶的核心訴求是查詢余票、購票;鐵道部的核心訴求是售票。購票和售票其實是一個場景,對用戶來說是購票,對鐵道部來說是售票。因此,我們要設計一個在線的網站系統,解決用戶的查詢余票、購票,以及鐵道部的售票這3 個核心訴求。看起來,這3 個場景都是圍繞火車票展開的。
查詢余票:用戶輸入出發地、目的地、出發日三個條件,查詢可能存在的車次,用戶可以看到每個車次經過的站點名稱,以及每種座位的余票數量。購票:購票分為訂票和付款兩個階段。一張票的核心信息包括:出發時間、出發地、目的地、車次、座位號。持有票的人就擁有了一個憑證,該憑證表示持有它的人可以坐某個車次的某個座位號,從某地到某地。
系統啟動以后獲取用戶信息,并將信息引入while loop 函數中,此時loop 函數中會有數據分析對比,將按照年齡的大小來進行對應鋪位的分析,如果說輸入的信息被判定為老年人,則系統在后面推薦的鋪位里面會提示是否優先選擇下鋪;若輸入的信息被判定為年輕人,則系統在后面推薦的鋪位里面會提示是否優先選擇上鋪,其次是中鋪;若輸入的信息被判定為兒童,則系統在后面推薦的鋪位里面會提示不能購票,需要添加成人信息,合并購票。
系統提示是否開始購票,選擇購票以后系統獲取用戶信息,索引數組列出車票信息,最后選擇購票人并確認購票提示信息,即購票成功。系統實際流程框圖如圖4 所示。

圖4 系統設計流程框圖
根據現有網上購票系統用戶購買臥鋪的方式,本列車自主選鋪系統,用戶可以根據出發時間、出發起始站和目的站選擇需要購買的列車班次,用戶在選擇購買的班次后輸入用戶的個人信息,系統根據用戶輸入的信息(身份證號碼、殘疾人證、縣級以上醫院開具的 傷病證明等),提示用戶可以選擇的鋪位是哪種(上、中、下鋪),用戶根據提示選擇票種,點擊確定完成此次購票。用戶還可以根據購買時輸入的個人信息查詢到所購買的車票的基本信息,如果用戶取消出行,可以選擇退票模塊進行退票操作,用戶同時可以根據目的站和出發站和出發時間查詢到當天此條線路的列車的發車時間,票價和余票數等。
根據要求進行Labview 程序設計,首先打開開發環境,進入項目瀏覽器,在項目瀏覽全球窗口,建立新項目,然后在我的電腦-新建-VI,新建VI 后,彈出兩個窗口,即前面板和程序面板,保存VI 并左右兩欄顯示[2]。
新建文件以后添加程序,獲取乘車用戶的座次信息跟列次信息并引入WhileLoop,在whileloop 中添加兩個布爾開關,一個為確認購票,一個為放棄購票,再次從whileloop 中套用Eventsteucture,當用戶點擊放棄購票后則退出Eventsteucture,通過單按鈕對話框函數檢測用戶確認點擊放棄后返回主頁面直接顯示余票及座次信息;點擊確認購票后進入下一個條件循環:檢測是否選擇好出發地、目的地及張數,若沒有選擇好出發地、目的地及張數則通過連接字符串彈出單按鈕對話框提醒乘客進行選票,若已選好,則根據索引數組計算出票價并進入下一條件結構判斷乘車用戶選擇的行程是否在該列車內及是否還有余票,若已選好,則通過列次信息、剩余票用二維數組轉置、替換數組子集、刪除數元素、索引數組及十進制數字符串至數值轉換等函數計算出乘車用戶所選擇的行程是否在該列車行程內,如果不在該行程內,則通過連接字符串彈出單按鈕對話框提醒乘車用戶重新選擇,若乘車用戶選擇的行程在該次列車內,通過十進制索引數組、分數/指數字符串至數值轉換、數值至十進制數字符串轉換、替換數組子集等函數所得數值引入ForLoop 判斷出余票數是否少于所需,若沒有余票則通過雙按鈕對話框函數計算并提示用戶沒有余票需重新選擇起點站、終點站或張數;或者查看余票庫,若還有余票則根據錄入信息,通過條件結構劃分乘客中是否存在老、弱、病、殘、孕等特殊人群,若存在,則該特殊人群優先選擇下鋪,若無特殊人群,則通過隨機數根據余票隨機分配座次,并檢查該座次是否一直無人,將所得數值引入下一條件結構,更新座次,用0 表示該座次已被訂購,最后將所有數據通過連接字符串函數匯總后,彈出雙按鈕對話框提醒乘車用戶確認購票信息,一個為確認信息,一個為重新編輯,若乘車用戶點擊重新編輯則對話框關閉,乘車用戶重新填寫信息,若點擊確認信息,則購票成功,并返回主頁面顯示車票信息。
用戶先注冊信息,然后根據注冊的信息登錄系統,選擇購票選項后,輸入出發地和目的地,選擇好出發時間以后點擊查詢車票,在車票列表中選擇合適的車次,最后添加乘車人以后就可以確認購票了。這樣基于Labview 的自動選座系統設計完成。點擊退出按鈕,系統即可退出運行。