高原+高姍姍
摘? 要:作為現(xiàn)代城市自動化發(fā)展的基本組成部分,自動售票機控制系統(tǒng)的應用對改善鐵路車站運輸系統(tǒng)的運行效率具有重要作用。首先介紹了自動售票機控制系統(tǒng)的關鍵開發(fā)技術,然后具體探討了自動售票機控制系統(tǒng)的設計,以期為相關技術人員和研究人員提供參考。
關鍵詞:自動售票機;控制系統(tǒng);數(shù)據(jù)庫;界面編程
中圖分類號:U293.221;TP273???? 文獻標識碼:A?? ????????????文章編號:2095-6835(2014)23-0143-02
作為AFC系統(tǒng)的關鍵終端裝置,自動售票機可支持硬幣或紙幣等支付方式,利用觸摸屏等接收乘客提供的信息,通過擴展化的線路模式和地圖模式引導乘客購票。當前,國內的自動售票機在硬幣裝置、紙幣錢箱、電磁離合、硬幣識別等技術方面發(fā)展程度較低,產品性能可靠性較差,難以滿足現(xiàn)代城市工作現(xiàn)場和環(huán)境的要求。因此,加強有關自動售票機控制系統(tǒng)的設計研究,對提升自動售票機控制系統(tǒng)的設計質量具有重要的意義。
1? 系統(tǒng)的關鍵開發(fā)技術
1.1? SQLite數(shù)據(jù)庫
SQLite是一類開源型嵌入式關系數(shù)據(jù)庫,其優(yōu)良的設計可大幅降低應用程序管理數(shù)據(jù)的開銷。SQLite引擎并非各程序與其通信的單獨進程,而是與程序連接組合成它的一個重要組塊。因此,關鍵的通信協(xié)議是在編程語言內的直接API調用,這對于簡化整體結構具有重要作用。SQLite數(shù)據(jù)庫的基本特征有:數(shù)據(jù)處理效率高,可用于管理每天載荷高達100 000次點擊率的Web站點,且能處理10倍以上數(shù)目的負載;存在數(shù)據(jù)庫級鎖定,不包含網(wǎng)絡服務器,僅需較少的內存空間,且可移植性較高;數(shù)據(jù)庫權限僅嵌入在文件系統(tǒng)中,不存在用戶賬戶的概念;可支持大部分的SQL92標準,可在主要操作系統(tǒng)上工作,且能調用大量計算機語言。
1.2? GTK界面編程
GTK是一類可在多平臺運行的圖形工具包,依照LGPL許可協(xié)議發(fā)布。GTK起初被用于GIMP程序,但現(xiàn)在已被開發(fā)成一種界面良好、功能多樣的通用圖形庫。GTK本質上是一種物件導向應用軟件程式設計軟件,它雖采用C語言編程,但主要利用回調函數(shù)和類理念開發(fā)設計。因此,可認為GTK是一種由多個庫組合的集合,并支持創(chuàng)建基于GUI的應用程序。對于設計者來說,GTK可通過圖形界面的模式指導研發(fā)者開展界面設計,具備較高水平的靈活性、可移植性和可擴展性。
1.3? 多類別編程技術
多線程和多進程編程通常用于改善服務器具體運行過程中存在的線程操作、通信、管理等并發(fā)訪問問題。并發(fā)進程通信是完成多進程間相互同步和協(xié)作的基本前提,是操作系統(tǒng)內核層的關鍵部分。消息隊列、套接口、套管、共享內存、信號量是當前進程間通信主要采用的通信方法。
文件系統(tǒng)編程一般是指文件管理、讀寫和各類文件I/O操作等。Linux的文件編程通常采用C語言的標準I/O庫函數(shù)和系統(tǒng)內嵌API函數(shù)。
網(wǎng)絡編程的開發(fā)通常是以Socket為基礎。Socket接口可定義多種例程和函數(shù),屬于TCP/IP網(wǎng)絡的API,可用于TCP/IP網(wǎng)絡應用程序的直接開發(fā)。
2? 自動售票機控制系統(tǒng)的設計
2.1? 設備驅動層
自動售票機控制系統(tǒng)的設備驅動層主要包含讀卡器接口、紙幣模塊接口、出票機構接口、硬幣模塊接口、輔助設備接口等硬件接口包。
2.1.1????????? 單程票處理模塊驅動
依據(jù)單程票處理模塊通信協(xié)議,驅動程序應能實現(xiàn)補充單程票、單程票控制器設置查詢、出票至讀寫區(qū)、設置單程票處理器參數(shù)、自檢、單程票計數(shù)器查詢等功能。單程票處理模塊驅動類依賴于已有的CTicketTransmpl接口,協(xié)同驅動層共用通訊類完成鏈路層通訊。其驅動封裝的指令有:TicketToWastebin,將票由讀寫區(qū)移送至廢票箱,開啟廢票閘口間隔固定時間后進行復位;ToTicketBuffer,將移送至暫存區(qū),開啟讀寫閘口并間隔固定時間以確保單程票送至暫存區(qū),隨后復位;HopperSelfTest,票箱或儲票漏斗自檢。
2.1.2????????? 紙幣模塊驅動
依據(jù)紙幣模塊通信協(xié)議,驅動程序應能實現(xiàn)紙幣接收、退幣、初始化、接收單種面額紙幣等功能。因紙幣模塊的提供廠商所具有的指令集驅動各異,所以設計的紙幣模塊驅動接口類應對驅動常用方法進行定義。其常用指令有:EnBuf,將紙幣由傳送裝置移送至暫存器中;CanceWork,關閉紙幣接收狀態(tài)。
2.2? 業(yè)務邏輯層
2.2.1? 現(xiàn)金支付模塊
現(xiàn)金支付模塊主要由紙幣支付和硬幣支付兩個單元構建形成。采用CCash類,該類組合CCoin類和CNotes類,它們均源于CComponent部件類,前者主要對硬幣處理器封裝,后者主要對紙幣處理器封裝。
2.2.2? 工作狀態(tài)監(jiān)控模塊
當設備在不同操作模式下工作時,在乘客顯示屏和狀態(tài)顯示屏上會有基本的提示信息。在普通操作狀態(tài)下,該模塊可促進完成現(xiàn)金發(fā)售單程票、硬幣找零等功能。如果設備中出現(xiàn)模塊故障且高出系統(tǒng)設置參數(shù)值時,該模塊會自行跳入至對應的功能受限操作模式。
2.2.3? 出票模塊
出票模塊通常包含單程票讀寫器和單程票傳送機構兩部分。采用CTicket類,將CTicketReader和CTicketTransport整合,以用于單程票讀寫和傳送。CTicketReader類中需選用一類重讀寫策略,以盡量降低誤廢票率;CTicketTransport類主要選用出票至讀寫區(qū)、單程票計算與回收、當前票數(shù)查詢等方法。
2.2.4? 數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊包含了數(shù)據(jù)庫操作的各類方法,對外提供由數(shù)據(jù)庫對應表中獲取各種交易記錄、參數(shù)、日志記錄等接口。系統(tǒng)初始化過程中會讀取數(shù)據(jù)庫中的多種參數(shù)文件,由此完成各模塊配置和日志記錄。
3? 結束語
自動售票機控制系統(tǒng)的設計質量直接關系著鐵路車站運輸系統(tǒng)的運行效率,因此,相關技術人員和設計人員應加強有關自動售票機控制系統(tǒng)的設計研究,總結系統(tǒng)設計的模塊方法和關鍵技術要點,以逐步拓寬自動售票機控制系統(tǒng)的應用范圍。
參考文獻
[1]崔鵬巍.自動售票機軟件的設計與實現(xiàn)[D].北京:北京交通大學,2012.
[2]楊光輝.地鐵自動售票機軟件系統(tǒng)的設計與實現(xiàn)[D].北京:北京交通大學,2012.
[3]朱嘉斌.自動售檢票系統(tǒng)的可靠性設計[J].鐵路計算機應用,2011,13(14):74-75.
〔編輯:劉曉芳〕
Design for the Automatic Ticket Machine Control System
Gao Yuan, Gao Shanshan
Abstract: As a fundamental part of modern urban development of automation applications automatic ticket machine control system to improve the operational efficiency of the railway station transport system plays an important role. First introduces the key technologies developed automatic ticket machine control system, and then discusses the design of automatic ticket machine control system to provide a reference for relevant technical staff and researchers.
Key words: vending machine; control system; database; interface programming