陳 超,朱 翔
(佑圖物理應(yīng)用科技發(fā)展(武漢)有限公司,湖北 武漢 430056)
吊掛系統(tǒng)用來(lái)對(duì)舞臺(tái)設(shè)備如燈光、吊桿等進(jìn)行上下升降以及組合某些設(shè)備共同運(yùn)動(dòng),以達(dá)到一定的舞臺(tái)效果,它是舞臺(tái)的重要系統(tǒng)設(shè)備之一。當(dāng)前,眾多投入使用的吊掛系統(tǒng)功能單一,控制手段有待改善,比如按鈕電動(dòng)式上升或者下降,沒(méi)有人機(jī)操作界面或者人機(jī)操作功能還需改進(jìn)。根據(jù)目前吊掛使用情況和客戶提出的新要求,在原有的技術(shù)基礎(chǔ)上,項(xiàng)目組采用新的設(shè)計(jì)思想和技術(shù),開(kāi)發(fā)出新的吊掛系統(tǒng)。針對(duì)控制軟件部分,提出以功能強(qiáng)大、實(shí)時(shí)性好、技術(shù)成熟的.NET平臺(tái)下VC++為開(kāi)發(fā)工具。為了縮短開(kāi)發(fā)周期,利用微軟提供的WINSOCK控件來(lái)封裝TCP/IP通訊,具有速度快、編程容易等特點(diǎn)。在GUI設(shè)計(jì)方面,友好的人機(jī)互動(dòng)界面能使軟件更受歡迎和易用。鑒于此,系統(tǒng)軟件采用Autodesk提供的WHIP控件來(lái)輔助開(kāi)發(fā)GUI部分,WHIP控件能對(duì)CAD工程圖進(jìn)行平移、縮放以及二次繪圖開(kāi)發(fā),可以較好地實(shí)現(xiàn)新吊掛系統(tǒng)的圖形化操作要求。
吊掛系統(tǒng)的上位機(jī)控制分為三大部分:PDA、控制臺(tái)、PC服務(wù)器,其中,PC服務(wù)器存儲(chǔ)有數(shù)據(jù)庫(kù)提供給整個(gè)控制系統(tǒng)使用,并且是控制權(quán)分配服務(wù)器。其他均為控制終端。三者都可以開(kāi)啟進(jìn)行監(jiān)視,但是不能同時(shí)控制,同一時(shí)間只能由一方執(zhí)行控制指令。PC可以分配控制權(quán)給其他控制終端,控制終端也可以向服務(wù)器申請(qǐng)控制權(quán)。監(jiān)控指令通過(guò)以太網(wǎng)和HUB輸出到N-NET轉(zhuǎn)換器,轉(zhuǎn)換器將TCP/IP數(shù)據(jù)包轉(zhuǎn)換為CAN數(shù)據(jù)包發(fā)送到CAN總線中。連接到CAN總線的設(shè)備主要有變頻矩陣柜和馬達(dá)控制箱。二者都可以收到上位機(jī)發(fā)送的指令,并根據(jù)網(wǎng)絡(luò)協(xié)議執(zhí)行相應(yīng)規(guī)定的指令,最終實(shí)現(xiàn)控制電機(jī)的動(dòng)作和速度。同時(shí),在動(dòng)作過(guò)程中的任何數(shù)據(jù)和警報(bào)信息都會(huì)通過(guò)總線返回給上位機(jī)。系統(tǒng)控制組成結(jié)構(gòu)圖如圖1。
根據(jù)整個(gè)系統(tǒng)的設(shè)計(jì)要求,軟件設(shè)計(jì)重點(diǎn)開(kāi)發(fā)以下主要功能:
(1)系統(tǒng)能通過(guò)監(jiān)視界面,監(jiān)視吊桿和電機(jī)的工作狀態(tài)、報(bào)警信息、負(fù)重信息等。
(2)顯示所有連接設(shè)備的在線信息,包括單點(diǎn)提升機(jī)、水平吊機(jī)、上收纜吊機(jī)、變頻器等等。
(3)監(jiān)視變頻器的工作及參數(shù)情況。
(4)能通過(guò)圖形/表格界面對(duì)吊桿進(jìn)行選桿、控制操作??刂品绞桨ㄓ校?jiǎn)慰亍⒔M控、集控。
(5)程序自動(dòng)選擇空閑變頻器,可以最大化節(jié)約資源。
(6)變速運(yùn)行和自動(dòng)運(yùn)行以滿足不同的需求。
吊掛監(jiān)控軟件的流程圖如圖2所示,啟動(dòng)軟件后出現(xiàn)用戶登錄框以核對(duì)用戶信息,如果正確則賦予用戶相應(yīng)的操作權(quán)限。權(quán)限分為兩種:操作者和管理員。如果是操作者權(quán)限則用戶無(wú)權(quán)對(duì)方案設(shè)計(jì)和單點(diǎn)提升機(jī)組及水平吊桿設(shè)計(jì)功能進(jìn)行操作。如果需要對(duì)對(duì)象進(jìn)行控制,則有三類執(zhí)行對(duì)象可以被控制:?jiǎn)吸c(diǎn)提升機(jī)、水平吊機(jī)、上收攬吊機(jī)。其中,對(duì)單點(diǎn)提升機(jī)的控制必須以有變頻器為前提,即控制端、單點(diǎn)提升機(jī)、變頻器三者之間共同通信才能完成對(duì)此對(duì)象的控制。而其他控制對(duì)象只需要控制端和控制對(duì)象間通信即可完成控制。
本軟件主要包含9大功能模塊,如圖3所示,分別為:用戶管理、設(shè)備信息管理、方案設(shè)計(jì)、單點(diǎn)提升機(jī)控制、變頻器設(shè)置、單點(diǎn)提升機(jī)組控制、水平吊桿控制、上收纜吊機(jī)控制、設(shè)備報(bào)警記錄。
用戶管理主要包括新增用戶、刪除用戶兩大功能。
設(shè)備信息管理是對(duì)購(gòu)買設(shè)備的信息進(jìn)行數(shù)據(jù)添加錄入,以便在設(shè)備查詢功能里查看到編組設(shè)備的相應(yīng)信息。
方案設(shè)計(jì)提供給用戶可以設(shè)計(jì)多種吊掛控制方案功能,以便根據(jù)演出要求切換不同的方案從而產(chǎn)生不同的演出效果。
單點(diǎn)提升機(jī)控制如圖4,提供了對(duì)現(xiàn)場(chǎng)所有提升機(jī)的單個(gè)控制以及選擇多臺(tái)進(jìn)行集控的功能。每一次控制之前,程序會(huì)自動(dòng)搜索所有的空閑變頻器并從中隨機(jī)選擇一臺(tái)或多臺(tái)來(lái)和提升機(jī)配對(duì)以完成一次控制。由于單點(diǎn)提升機(jī)帶有高度和重量傳感器采樣,所以,單點(diǎn)提升機(jī)控制界面提供了對(duì)傳感器的標(biāo)定功能。對(duì)于高度傳感器標(biāo)定方法為:按下“清零”按鈕對(duì)下位機(jī)的高度脈沖進(jìn)行清零,并用標(biāo)尺測(cè)量吊掛物體實(shí)際高度,填寫在“下限”文本框中。發(fā)送單點(diǎn)提升機(jī)運(yùn)行指令到達(dá)任一高度,再次用標(biāo)尺測(cè)量吊物的實(shí)際高度,填寫在“全程高度”文本框中,并按下“校準(zhǔn)”按鈕完成本次高度標(biāo)定,標(biāo)定數(shù)據(jù)會(huì)被寫入數(shù)據(jù)庫(kù)并同時(shí)發(fā)送給下位機(jī)。而重量傳感器的標(biāo)定則采用了最小二乘法來(lái)計(jì)算,方法為:準(zhǔn)備10組標(biāo)準(zhǔn)重量的重量塊,如50 kg、100 kg、150 kg……依次用單點(diǎn)提升機(jī)提升上述重量塊,并將對(duì)應(yīng)的系統(tǒng)顯示值和標(biāo)稱值填寫到相應(yīng)的文本框中。點(diǎn)擊“確定”按鈕系統(tǒng)完成本次重量標(biāo)定,標(biāo)定數(shù)據(jù)也被寫入到數(shù)據(jù)庫(kù),同時(shí),軟件界面會(huì)給出一次多項(xiàng)式擬合函數(shù)關(guān)系。
變頻器設(shè)置能讀取對(duì)應(yīng)變頻器的相應(yīng)設(shè)置參數(shù),包括啟動(dòng)時(shí)間、停車時(shí)間、保護(hù)時(shí)間等。同時(shí),可以根據(jù)需要對(duì)上述參數(shù)進(jìn)行設(shè)置,以達(dá)到最佳的效果。如果變頻器出現(xiàn)異常,還能用復(fù)位指令進(jìn)行復(fù)位。
單點(diǎn)提升機(jī)組控制、水平吊桿控制、上收纜吊機(jī)控制主要針對(duì)編組完成的提升機(jī)和水平吊桿進(jìn)行組控。組控包括兩大方式:指令上升或者下降動(dòng)作以及自動(dòng)運(yùn)行。兩者共同點(diǎn)是都可以調(diào)速運(yùn)行,不同點(diǎn)在于自動(dòng)運(yùn)行可以由用戶設(shè)定目標(biāo)高度,系統(tǒng)會(huì)自動(dòng)判斷運(yùn)動(dòng)的方向及停止時(shí)刻,而不需要人為的干預(yù)。
設(shè)備報(bào)警記錄可以對(duì)設(shè)備運(yùn)行過(guò)程中所有產(chǎn)生的報(bào)警通知進(jìn)行記錄,并在界面實(shí)時(shí)通知用戶。用戶可以查看所有記錄,以便統(tǒng)計(jì)出設(shè)備損壞的情況。對(duì)于運(yùn)行過(guò)程中發(fā)生的重大報(bào)警,軟件會(huì)給所有設(shè)備發(fā)送緊急停止指令以保護(hù)設(shè)備不讓其進(jìn)一步損壞??梢匀炕蛘卟糠謩h除掉不需要的以往記錄。
WHIP(Windows High Performance)是Autodesk公司推出的DWF控件,由于其簡(jiǎn)單易用、功能強(qiáng)大而被廣泛應(yīng)用。
WHIP控件的主要功能有:在視圖中查看DWF工程圖文件;可使用實(shí)時(shí)平移和縮放功能;在DWF文件中進(jìn)行圖形繪畫、文字注釋、顏色改變等;可以單獨(dú)打印DWF文件;查看存儲(chǔ)在DWF文件中的已命名的視圖;使用X、Y坐標(biāo)指定視圖;在圖層之間進(jìn)行切換等。
在需要使用WHIP控件的視圖頭文件中導(dǎo)入控件的頭文件并定義一個(gè)CWhip類的指針變量,在視圖的程序文件OnCreate方法中調(diào)用CWhip類的create方法。BEGIN_EVENTSINK_MA和END_EVENTSINK_MAP之間主要調(diào)用WHIP控件的3個(gè)事件:OnMouseMoveWhipc trl,OnMouseDownWhipctrl和OnMouseUpWhipctrl。在這些事件中可以完成圖形化鼠標(biāo)操作的大部分功能。利用SetCursorMode()方法完成類似CAD軟件對(duì)圖形的縮放、平移、比例放大等功能如圖5。此外,控件還提供了畫線、顏色、字體等功能,可以完成定制的圖形化視圖。本系統(tǒng)軟件利用以上功能在視圖中導(dǎo)入了用戶提供的場(chǎng)地工程圖,并在DWF文件中完成了對(duì)吊掛設(shè)備的二次繪圖、連線、注釋、變色等功能。
采用基于.NET下的VC++作為開(kāi)發(fā)平臺(tái),利用MSWINSOCK控件快速實(shí)現(xiàn)TCP/IP通訊,并通過(guò)CAN-NET轉(zhuǎn)接完成協(xié)議數(shù)據(jù)的轉(zhuǎn)換,幾者融合一起開(kāi)發(fā)出了吊掛控制系統(tǒng)。本系統(tǒng)利用了AUTODESK公司開(kāi)發(fā)的WHIP控件強(qiáng)大的圖形功能,完成了軟件的圖形化操作功能。經(jīng)過(guò)現(xiàn)場(chǎng)測(cè)試驗(yàn)證,控制系統(tǒng)操作方便,人機(jī)界面友好,功能較為完善。