1概述
在應(yīng)用程序的開發(fā)中,腳本語(yǔ)言是一種簡(jiǎn)單快速的編程語(yǔ)言。一般來說,腳本語(yǔ)言語(yǔ)法結(jié)構(gòu)簡(jiǎn)單,采用解釋執(zhí)行,并以文本方式存儲(chǔ)和轉(zhuǎn)發(fā),因此使用起來要比C、C++、JAVA等語(yǔ)言要方便容易的多。近年來,很多軟件都為用戶開放了腳本接口,使得腳本語(yǔ)言不僅用于開發(fā),同時(shí)可以讓用戶配置和定義個(gè)性化的應(yīng)用和服務(wù),而開發(fā)者也不需要再為每次增加新功能而重新編譯發(fā)行應(yīng)用程序。
腳本語(yǔ)言同樣可以用于通信設(shè)備的網(wǎng)管維護(hù)操作中,維護(hù)人員根據(jù)維護(hù)和業(yè)務(wù)需求,自行編寫流程及邏輯處理腳本,通過腳本執(zhí)行環(huán)境與設(shè)備進(jìn)行人機(jī)對(duì)話,靈活地實(shí)現(xiàn)跨設(shè)備查詢、配置和自維護(hù)等功能。
在眾多的腳本語(yǔ)言中,Lua是一個(gè)輕量級(jí)的腳本語(yǔ)言,其DLL只有136K,支持面向過程編程和面向?qū)ο缶幊?、自?dòng)內(nèi)存管理,提供包括數(shù)組、鏈表、集合、字典、散列表等豐富的數(shù)據(jù)結(jié)構(gòu)。因其強(qiáng)大的擴(kuò)展性,Lua被廣泛應(yīng)用于自動(dòng)化交易系統(tǒng)、網(wǎng)絡(luò)游戲等應(yīng)用軟件中。
Lua的IO庫(kù)可以用來實(shí)現(xiàn)輸入及輸出功能,而第三方通信庫(kù)如luasocket則給予lua網(wǎng)絡(luò)通信的能力,因此,讀者可以利用lua的上述庫(kù)編寫具有通信能力的交互式腳本。
作者的做法是在腳本和設(shè)備接口之間編寫一個(gè)中間程序,其作為宿主程序讀取和執(zhí)行用戶編寫的腳本,并與各個(gè)局向、不同機(jī)型設(shè)備的人機(jī)接口進(jìn)行通信,相當(dāng)于在腳本和設(shè)備之間架設(shè)了一個(gè)溝通的橋梁。這樣可以將與設(shè)備間的通信細(xì)節(jié)在程序中實(shí)現(xiàn),以此降低腳本編寫的復(fù)雜程度。該程序命名Uiplus,使用Visual C++2005編譯,目前可與華為的CC08、Softx3000、SDC9300、阿朗的S12等程控交換設(shè)備進(jìn)行聯(lián)機(jī)。 2.1功能框圖
Uiplus的功能結(jié)構(gòu)如下圖所示:
Uiplus按照功能劃分為IO和NET兩個(gè)模塊,分別說明如下:
在Uiplus的腳本環(huán)境下編寫腳本很容易,腳本編寫人員使用Uiplus開放的函數(shù)進(jìn)行與設(shè)備的通信、讀取用戶輸入、輸出提示信息,遵循lua語(yǔ)言的編程規(guī)范進(jìn)行流程邏輯的編寫。由于在腳本編寫過程中經(jīng)常需要對(duì)結(jié)果報(bào)告進(jìn)行分揀,因此編寫人員應(yīng)熟練掌握lua的string函數(shù)庫(kù)。腳本可分多個(gè)文件存儲(chǔ),擴(kuò)展名為“. lua”,根腳本需要命名為“root.lua”。
下面以一個(gè)根據(jù)邏輯號(hào)碼查詢物理號(hào)碼對(duì)應(yīng)的設(shè)備號(hào)的例子來編寫一段交互式腳本:這段腳本首先讀取用戶輸入的邏輯號(hào)碼,然后向SDC1局向設(shè)備發(fā)送查詢邏輯號(hào)碼命令,分揀返回報(bào)告獲得物理號(hào)碼;再向物理號(hào)碼所在局向879局發(fā)送顯示物理號(hào)碼命令,分揀返回的報(bào)告獲取物理號(hào)的模塊和設(shè)備地址,并將地址顯示出來,以下是腳本及解釋。
除了設(shè)備數(shù)據(jù)的查詢配置等功能外,還可以使Uiplus實(shí)現(xiàn)更多的實(shí)用功能,如網(wǎng)管監(jiān)控、電子工單、局?jǐn)?shù)據(jù)維護(hù)等等。下圖是網(wǎng)管監(jiān)控腳本效果,腳本周期性地用指令取模塊局板件的環(huán)境狀態(tài)信息,實(shí)現(xiàn)了簡(jiǎn)單實(shí)用的網(wǎng)管監(jiān)控功能。
4.2Uiplus的拓展
腳本編寫人員還可以利用lua的數(shù)據(jù)庫(kù)、COM等插件,使腳本能夠訪問數(shù)據(jù)庫(kù)、web、ole等等各類應(yīng)用接口,增強(qiáng)腳本語(yǔ)言的功能。另外,通過增加Uiplus網(wǎng)絡(luò)模塊的功能,Uiplus可提供更多專業(yè)設(shè)備的連接,包括交換機(jī)路由器等數(shù)通設(shè)備、傳輸設(shè)備等等,大大拓展Uiplus的應(yīng)用領(lǐng)域。
隨著集中維護(hù)模式的推廣,通信設(shè)備的維護(hù)人員在一臺(tái)計(jì)算機(jī)前,就可以利用集中網(wǎng)管系統(tǒng)對(duì)不同廠家、不同地點(diǎn)的設(shè)備進(jìn)行管理,這也為腳本語(yǔ)言的應(yīng)用提供了必要的軟硬件支持。如果各類網(wǎng)管和支撐系統(tǒng)能夠開放腳本接口,為維護(hù)人員提供靈活配置和自由發(fā)揮的腳本運(yùn)行平臺(tái),必將減少重復(fù)勞動(dòng)帶來的效率低下和失誤,提高勞動(dòng)生產(chǎn)率,提升通信設(shè)備的管理維護(hù)水平。