盧滿懷
摘要:本文將先進的激光多址編碼、RF無線射頻、CAN總線、動漫與光機電控制等技術結合在一起,實現(xiàn)射擊游藝過程的有效互動,大大滿足消費者參與式的游樂追求。
關鍵詞:射擊;無線射頻;CAN總線
引言
隨著人們生活水平的提高,人們愈來愈追求多樣化和個性化的休閑娛樂方式,除了“求新、求奇、求特、求異”之外,大家更加注重體驗參與式的游藝活動,為了應對這種消費需求偏好的改變,提升企業(yè)自身競爭力,本系統(tǒng)將先進的激光多址編碼、RF無線射頻、CAN總線、動漫與光機電控制等技術相結合,設計一種基于光機電與動漫結合的新型交互式射擊游藝系統(tǒng)??刂葡到y(tǒng)的設計與實現(xiàn)
系統(tǒng)主要由中心調度分系統(tǒng)、游藝小車通信分系統(tǒng)、區(qū)域道具動作機電控制分系統(tǒng)、車載PLC運動控制分系統(tǒng)、動漫效果與光機電控制分系統(tǒng)組成,如圖1所示。
中心調度分系統(tǒng)
通過CAN總線與區(qū)域道具動作機電控制分系統(tǒng)進行雙向數(shù)據(jù)通信實現(xiàn)計分與道具機電動作控制;與游藝小車通信分系統(tǒng)采用基于無線射頻模塊nRF905的主從式雙向數(shù)據(jù)通信實現(xiàn)動漫效果與光機電控制,實現(xiàn)射擊過程的實時計分顯示、動漫場景與光機電動作協(xié)調控制。中心調度分系統(tǒng)接收/處理各區(qū)域控制分系統(tǒng)計分和檢測開關狀態(tài)、車載分系統(tǒng)初始化等信號;顯示車載系統(tǒng)各車子網(wǎng)絡連接狀態(tài);通過人工方式向車載分系統(tǒng)發(fā)送啟動、停車等控制指令;自動向車載分系統(tǒng)發(fā)送實時分數(shù)信息;控制播放數(shù)字化動漫影音信息,并向車載分系統(tǒng)發(fā)送控制信號(該信號由各車子行走控制系統(tǒng)解釋并執(zhí)行車子動作);處理分數(shù)排行及歷史紀錄、用戶信息管理等;下客區(qū)顯示屏播放即時分數(shù)、候客區(qū)顯示屏播放歷史紀錄、預演區(qū)顯示屏播放游戲短片及解說、區(qū)域控制區(qū)內(nèi)投影機播放數(shù)字化動漫影片;能控制至少8個區(qū)域控制分系統(tǒng)(共110個控制點)。
游藝小車通信分系統(tǒng)
通過人工觸發(fā)玩具手槍內(nèi)的紅外激光發(fā)射模塊,向區(qū)域道具動作機電控制分系統(tǒng)發(fā)射多址編碼信息,模擬射擊過程,完成游客與現(xiàn)場道具的交互過程。接收/處理中心調度分系統(tǒng)的分數(shù)信息并顯示,接收中心控制分系統(tǒng)的啟動、停止和動作指令,并通過RS232數(shù)字接口通道透明地傳輸給車載PLC控制分系統(tǒng);接收車載PLC控制分系統(tǒng)信息并發(fā)送給中心調度分系統(tǒng);實時顯示對應車號座位打中靶模分數(shù);實現(xiàn)叩動扳機或按鈕音效、其它動作音效。
車載PLC運動控制分系統(tǒng)
通過西門子的S7_200 PLC控制伺服電機,控制游藝小車的行走、旋轉、定位、防撞等動作,自動探測位置實現(xiàn)防碰撞、自動上報游藝小車當前運行狀態(tài)等。
動漫效果與光機電控制分系統(tǒng)
由中心調度分系統(tǒng)通過CAN控制總線下發(fā)動漫播放控制指令,接收區(qū)域控制器輸出的道具控制信號控制機電動作效果,執(zhí)行道具相應特定的聲光電效果;實現(xiàn)各場景機電控制動作。
區(qū)域道具動作控制分系統(tǒng)
接收/處理車載通信分系統(tǒng)發(fā)射的紅外激光編碼信息;通過CAN總線向中心調度分系統(tǒng)發(fā)送計分信息,接收中心調度分系統(tǒng)的控制指令;響應區(qū)域控制器輸出信號的動作及燈光特效、音響效果;每個區(qū)域能容納至少各20個輸入輸出I/O口(I口光電隔離,O口繼電器)。
通信網(wǎng)絡的組成
本系統(tǒng)有機地將CAN總線與RF無線通信有機結合在一起,實現(xiàn)射擊過程的有效互動。
基于nRF905主從式無線局域網(wǎng)通信
系統(tǒng)由一個中心控制設備(中心調度分系統(tǒng)主通信模塊)及8個節(jié)點設備(游藝小車)組成,中心設備PC機使用全雙工USB—UART串口與主模塊通信,主模塊與各節(jié)點模塊傳輸無線數(shù)據(jù)。根據(jù)網(wǎng)絡協(xié)議,數(shù)據(jù)傳輸采用半雙工的點對點方武或廣播的方式。節(jié)點模塊可根據(jù)接收的數(shù)據(jù)進行相應的顯示、控制操作,并可通過UART與下位機PLC進行通信,如圖2所示。
為此,定義用戶數(shù)據(jù)內(nèi)容如下:用戶數(shù)據(jù)包括4位的狀態(tài)字X和Data數(shù)據(jù):狀態(tài)字X的高兩位用于控制數(shù)據(jù)發(fā)送方向,如X高兩位為00表示中心控制設備向節(jié)點設備發(fā)送顯示數(shù)據(jù),此時低兩位為屏幕ID,用于進行分屏顯示,顯示內(nèi)容為Data數(shù)據(jù);如X高兩位為01,低兩位備用,表示中心控制設備向節(jié)點設備發(fā)送控制數(shù)據(jù)Data,節(jié)點設備可通過UART將Data數(shù)據(jù)送至下位機PLC;如X高兩位為10,低兩位備用,表示節(jié)點設備向中心控制設備發(fā)送來自下位機PLC串口的Data數(shù)據(jù)。
基于CAN總線的道具動作多址通信
如圖3所示,CAN總線通信網(wǎng)絡中每個道具作為獨立的CAN節(jié)點,通過PIC18F4580的CAN接口掛在CAN總線上,CAN總線各個節(jié)點與主控器連成一體,利用CAN通信協(xié)議實現(xiàn)各節(jié)點間分區(qū)域的數(shù)據(jù)交換與信息處理。
中心調度程序的設計與實現(xiàn)
中心調度程序采用面向對象的設計方法,開發(fā)語言使用Visual Basic,后臺數(shù)據(jù)庫使用SQL-SERVER2000,如圖4所示。
根據(jù)系統(tǒng)功能要求不同,分為射擊分數(shù)顯示客戶端程序、動漫播放控制客戶端程序,中心調度服務器程序和后臺數(shù)據(jù)庫。程序之間通過Winsock進行局域網(wǎng)數(shù)據(jù)通信,CAN總線和nRF905無線射頻的主控制器通過UART—USB模塊與調度中心程序進行數(shù)據(jù)通信。
基于Winsock的網(wǎng)絡通信程序設計
使用Winsock控件時可以使用兩種協(xié)議:TCP協(xié)議和UDP協(xié)議,本系統(tǒng)采用TCP協(xié)議,分別建立客戶應用程序和服務器應用程序。
在創(chuàng)建客戶應用程序時,必須知道服務器計算機名或其IP地址(存于RemoteHost屬性)、及服務器計算機進行偵聽的端口(存于RemotePort屬性),然后調用Connect方法。
創(chuàng)建服務器應用程序時,就應相應設置一個偵聽端口(LocalPort屬性)并調用Listen方法。當客戶機需要連接時(connect),就會發(fā)生ConnectionRequest事件。由于系統(tǒng)有多個客戶端,因此要動態(tài)管理客戶端的各個連接請求,參考如下程序設計(略)。
為了完成連接,在Connection Request事件中調用Accept方法。建立連接后,任何一方計算機都可以發(fā)送、接收對方數(shù)據(jù)。發(fā)送數(shù)據(jù)時,需調用SendData方法。當接收到數(shù)據(jù)時,會發(fā)生Data Arrival事件,調用Data Arrival事件中的Get Data方法就可以獲得對方傳送的數(shù)據(jù)。
基于MSComm的串口通信程序設計
MSComm通信控件提供了一系列標準通信命令的接口,它允許建立串口連接,可以連接到其他通信設備、還可以發(fā)送命令、進行數(shù)據(jù)交換以及監(jiān)視和響應在通信過程中可能發(fā)生的各種錯誤和事件,從而可以用它創(chuàng)建全雙工的、事件驅動的、高效實用的通信程序。
在程序加載過程中,由于可能存在無線和CAN兩種通信方式,所以在Form_Load事件中要進行初始化處理,參考程序(略)。
在數(shù)據(jù)接收過程中,MSComm提供了兩種處理通信問題的方法,一是事件驅動方法,一是查詢法。本系統(tǒng)采用事件驅動方法,當有新字符到達或端口狀態(tài)改變,或發(fā)生錯誤時,MSComm控件將觸發(fā)OnComm事件,而應用程序在捕獲該事件后,通過檢查MSComm控件的CornmEvent屬性可以獲知所發(fā)生的事件或錯誤,從而采取相應的操作。
當需要發(fā)送數(shù)據(jù)時,通過調用MSComm的Output方法實現(xiàn)。
結論
本系統(tǒng)由中山市金馬游藝機有限公司和電子科技大學中山學院聯(lián)合開發(fā)并于2008年下半年成功交付使用。本系統(tǒng)是集多項先進技術于一體,突破游藝和動漫原有的產(chǎn)業(yè)邊界,在傳統(tǒng)游藝機項目的基礎上首創(chuàng)性地將動漫與機電控制、有線與無線組網(wǎng)等技術有機地結合在一起,設計完成一種新型交互式射擊游藝控制系統(tǒng)。