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