《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 基于iFIX高速公路隧道監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于iFIX高速公路隧道監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來(lái)源:電子技術(shù)應(yīng)用2011年第12期
蔡曉霞1,趙丹兵2,錢新標(biāo)3
1.紹興職業(yè)技術(shù)學(xué)院 通信與信息工程系,浙江 紹興312000; 2.諸暨市市政管理處,浙江 諸暨311800; 3.杭州銀界科技有限公司,浙江 杭州310013
摘要: 高速公路及隧道監(jiān)控系統(tǒng)中,沒有現(xiàn)成可用的I/O驅(qū)動(dòng),無(wú)法直接通過(guò)組態(tài)軟件的I/O驅(qū)動(dòng)獲取數(shù)據(jù),只能通過(guò)用戶編寫大量復(fù)雜的通信程序與之進(jìn)行數(shù)據(jù)交換。為降低開發(fā)難度、提高開發(fā)效率,提出在組態(tài)軟件腳本語(yǔ)言環(huán)境下運(yùn)用API函數(shù)實(shí)現(xiàn)系統(tǒng)的通信設(shè)計(jì)。該系統(tǒng)以iFIX組態(tài)軟件為平臺(tái),開發(fā)上位機(jī)監(jiān)控系統(tǒng)軟件,系統(tǒng)硬件部分搭建了以光纖作為傳輸介質(zhì)的PLC冗余環(huán)網(wǎng)。運(yùn)行結(jié)果表明,該系統(tǒng)占用資源小、維護(hù)方便、通信穩(wěn)定且數(shù)據(jù)傳輸率高。
中圖分類號(hào): TP27
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)12-0022-03
Design and realization of freeway tunnel monitoring system based on iFIX
Cai Xiaoxia1,Zhao Danbing2,Qian Xinbiao3
1.Department of Communication and Information Engineering, Shaoxing Vocational & Technical College, Shaoxing 312000,China; 2.Zhuji Management Office, Zhuji 311800,China; 3.Hangzhou Silver Bounded Technology Co., Hangzhou 310013,China
Abstract: Freeway and tunnel monitoring system has no ready available I/O drive,cannot access data directly by configuration software I/O drive. They can only exchange data in the way users write plenty of complicated communication programs. In order to reduce the difficulty of development and raise the development efficiency,using API function to realize the communication design under the condition that configuration software script language is put forward.The system regards iFIX configuration software as platform to develop PC monitoring system software; The system hardware part built PLC redundant nets whose transmission mediumis is optical. It is proved on the running spot that the designed program occupies less resource,maintains more conveniently, stable and high rate of data transmission.
Key words : freeway tunned;monitor system;data communication;iFIX;API function


    隨著我國(guó)高速公路隧道里程的日益增長(zhǎng),高速公路隧道的高效、安全運(yùn)行面臨著嚴(yán)峻的挑戰(zhàn)[1]??焖?、安全、可靠的高速公路隧道監(jiān)控系統(tǒng),是指揮車輛有序通行、實(shí)時(shí)掌控交通流參數(shù)值、車輛運(yùn)行環(huán)境指標(biāo)和現(xiàn)場(chǎng)設(shè)備運(yùn)行狀況、減少和及時(shí)處理交通事故的主要保障措施[2]。
    在高速公路隧道監(jiān)控系統(tǒng)開發(fā)方面,國(guó)內(nèi)有許多案例采用Windows下通用的軟件開發(fā)平臺(tái)(如VC++、VB、DELPHI)進(jìn)行開發(fā)。由于高速公路隧道監(jiān)控系統(tǒng)是一個(gè)典型的系統(tǒng)集成工程,現(xiàn)場(chǎng)設(shè)備的接口形式和數(shù)據(jù)類型多樣,數(shù)據(jù)量和集成難度大[3],尤其在使用大量PLC的場(chǎng)合,實(shí)現(xiàn)監(jiān)控系統(tǒng)與PLC的通信比較困難。因此,使用通用軟件開發(fā)平臺(tái),其開發(fā)難度大、周期長(zhǎng)、調(diào)試?yán)щy。由于所開發(fā)的監(jiān)控系統(tǒng)是非開放的軟件,后期的維護(hù)難度更大。
    而目前廣泛使用的組態(tài)軟件,能夠更好地解決這個(gè)問題[4]。組態(tài)軟件作為專業(yè)的工控軟件,在系統(tǒng)界面設(shè)計(jì)、數(shù)據(jù)接口、功能組合等方面的開發(fā)非常方便和穩(wěn)定,可以很容易地實(shí)現(xiàn)和完成監(jiān)控層的各項(xiàng)功能[5]。此外,由于組態(tài)軟件的開放性,系統(tǒng)管理人員可以輕松維護(hù)系統(tǒng)。因此最近幾年,組態(tài)軟件開始被系統(tǒng)設(shè)計(jì)人員應(yīng)用到高速公路隧道監(jiān)控系統(tǒng)的開發(fā)中。
    由于組態(tài)軟件采用腳本語(yǔ)言,提供給用戶的編程開發(fā)的功能相對(duì)較弱。在缺少I/O驅(qū)動(dòng)的情況下,如在使用組態(tài)王的案例中,還需使用通用開發(fā)平臺(tái)編寫通信程序,并為組態(tài)軟件提供OPC服務(wù)器功能;在與情報(bào)板這類可變長(zhǎng)度數(shù)據(jù)、非實(shí)時(shí)刷新的設(shè)備交換數(shù)據(jù)時(shí),組態(tài)軟件同樣存在困難。針對(duì)以上問題,本文的設(shè)計(jì)思路是利用組態(tài)軟件及其腳本語(yǔ)言,實(shí)現(xiàn)與所有設(shè)備的通信時(shí)無(wú)需再借用OPC技術(shù)開發(fā)通信程序,以減少數(shù)據(jù)的交換次數(shù),提高系統(tǒng)的運(yùn)行效率,同時(shí)提高系統(tǒng)的完整性和開放性。
    本文介紹了高速公路隧道監(jiān)控系統(tǒng)的結(jié)構(gòu)及實(shí)現(xiàn)方法,針對(duì)現(xiàn)場(chǎng)數(shù)據(jù)采集和執(zhí)行設(shè)備的接口形式多樣、數(shù)據(jù)集成難度大等問題,既有針對(duì)PLC使用的穩(wěn)定可靠的I/O驅(qū)動(dòng),也有大量使用API函數(shù)設(shè)計(jì)的通信程序,并使用腳本語(yǔ)言直接完成實(shí)時(shí)數(shù)據(jù)與情報(bào)板的通信。通過(guò)系統(tǒng)實(shí)際調(diào)試運(yùn)行驗(yàn)證了該設(shè)計(jì)方案的可行性。
1 監(jiān)控系統(tǒng)的構(gòu)成
    某高速公路的一個(gè)機(jī)電標(biāo)段中包含多條隧道,每個(gè)隧道采用了7~8套OMRON公司CS1D-S系列的PLC,并配有以太網(wǎng)模塊。這些PLC負(fù)責(zé)車道指示器、汽通門、風(fēng)機(jī)、照明燈、水泵等開關(guān)量的輸入/輸出,照度、一氧化碳(CO)、能見度(VI)、風(fēng)速(TW)等模擬量的輸入。該機(jī)電標(biāo)段,還包含了雷達(dá)車輛檢測(cè)儀28臺(tái),各種規(guī)格的情報(bào)信息標(biāo)志35套,還有3套能見度檢測(cè)儀和3套氣象數(shù)據(jù)檢測(cè)儀。所有這些設(shè)備分布在大約200 km高速公路沿線收費(fèi)站和服務(wù)區(qū)的附近路段,并且通過(guò)RS-232接口,先用光纖傳輸?shù)骄徒母鱾€(gè)收費(fèi)站或者服務(wù)區(qū)的機(jī)房?jī)?nèi),再接入串口服務(wù)器,然后進(jìn)入由光纖構(gòu)成的以太網(wǎng)。其網(wǎng)絡(luò)結(jié)構(gòu)框圖如圖1所示。

    這些現(xiàn)場(chǎng)設(shè)備通常不采用標(biāo)準(zhǔn)的MODBUS協(xié)議,無(wú)法通過(guò)組態(tài)軟件的I/O驅(qū)動(dòng)獲取數(shù)據(jù),只能通過(guò)用戶編寫通信程序與其進(jìn)行數(shù)據(jù)交換。
2 監(jiān)控系統(tǒng)軟件設(shè)計(jì)
    本文采用iFIX2.6的浙大中控OEM版Sview2.6,該軟件的腳本語(yǔ)言是Microsoft VBA6.0,與VB6.0相比,Sview2.6除了不能編譯成獨(dú)立的可執(zhí)行程序外,其他的編程語(yǔ)法、語(yǔ)句及調(diào)試方法等功能兩者基本相同。
2.1 實(shí)時(shí)數(shù)據(jù)庫(kù)的建立
    運(yùn)行iFIX軟件,打開Sview數(shù)據(jù)庫(kù)管理器。從菜單欄選擇“驅(qū)動(dòng)器”,打開“OMF”,對(duì)驅(qū)動(dòng)程序進(jìn)行設(shè)置和添加PLC站點(diǎn),并為每個(gè)站點(diǎn)定義數(shù)據(jù)塊。驅(qū)動(dòng)程序以數(shù)據(jù)塊的形式與PLC交換數(shù)據(jù),這是一種高效的通信方式;同時(shí),在PLC編程時(shí),對(duì)于要組態(tài)的數(shù)據(jù),盡量集中存放,避免過(guò)多的數(shù)據(jù)塊。在數(shù)據(jù)庫(kù)中添加標(biāo)簽,要注意“I/O地址”的輸入格式,如圖2所示。

2.2 建立控制系統(tǒng)主畫面
    在iFIX工作臺(tái)中,建立所需要的各個(gè)畫面,并鏈接動(dòng)畫。如果需要報(bào)警,則在建立實(shí)時(shí)數(shù)據(jù)庫(kù)時(shí),設(shè)置好報(bào)警條件,然后在畫面中增加報(bào)警控件;如果需要曲線,則啟動(dòng)歷史定義程序,定義好要儲(chǔ)存的歷史數(shù)據(jù),并在后臺(tái)啟動(dòng)歷史儲(chǔ)存程序,然后在畫面中增加曲線顯示控件[6]。到此,作為一般性的組態(tài)任務(wù)基本完成。
    考慮到通信程序必須和監(jiān)控軟件始終同時(shí)運(yùn)行,而且腳本程序通常是畫面文件的一部分,因此在畫面設(shè)計(jì)時(shí),做成了上(占12%)、下(占88%)兩部分。其中上部是始終運(yùn)行,下部則可以通過(guò)上部的切換按鈕,進(jìn)行畫面切換。上部畫面稱之為“主菜單”,并在此畫面的代碼中編寫通信程序,如圖3所示。

2.3 實(shí)時(shí)通信的實(shí)現(xiàn)
    微波車輛檢測(cè)器設(shè)置為每分鐘自動(dòng)發(fā)送一幀數(shù)據(jù);氣象和能見度檢測(cè)則先發(fā)送命令,然后讀取數(shù)據(jù)。所有的串口服務(wù)器,在監(jiān)控計(jì)算機(jī)上映射為虛擬的串口。微軟的MSComm控件是被廣泛應(yīng)用于串口通信的控件,但由于MSComm控件只能支持最多16個(gè)串口,故不適合在本系統(tǒng)的環(huán)境中使用。為此,本系統(tǒng)嘗試使用API函數(shù)實(shí)現(xiàn)串口通信。API函數(shù)的聲明是:可以使用VB的API文本瀏覽器,復(fù)制到iFIX項(xiàng)目中。使用API初始化串口步驟如下:
    (1)調(diào)用CreateFile創(chuàng)建句柄,如果結(jié)果大于0,可以進(jìn)入下一步,否則中止。
    (2)調(diào)用GetCommState取得設(shè)備參數(shù),根據(jù)實(shí)際需要修改其中部分參數(shù)(如波特率、校驗(yàn)、數(shù)據(jù)位和停止位等)。
    (3)調(diào)用SetCommState設(shè)置修改后的設(shè)備參數(shù)。
    (4)調(diào)用SetCommTimeouts設(shè)置超時(shí)參數(shù),其中ReadIntervalTimeout須設(shè)置為-1(即為16進(jìn)制FFFFFFFF)。
    (5)調(diào)用SetupComm設(shè)置輸入/輸出緩沖區(qū)大小。
    至此,串口的初始化完成,然后可以定時(shí)接收(ReadFile)和發(fā)送(WriteFile)數(shù)據(jù)了。CloseHandle則用于關(guān)閉串口。串口初始化和能見度、氣象儀程序流程圖如圖4所示。

 

 

    能見度和氣象儀共6套,利用一個(gè)500 ms定時(shí)器,輪流進(jìn)行數(shù)據(jù)收發(fā),數(shù)據(jù)刷新周期為3 s。采用的通信方式是先接收,對(duì)數(shù)據(jù)長(zhǎng)度和頭尾幾個(gè)字節(jié)進(jìn)行校驗(yàn),若校驗(yàn)符合,則進(jìn)行數(shù)據(jù)處理,然后發(fā)送讀命令。能見度接收數(shù)據(jù)長(zhǎng)度為22 B,其中15 B~18 B為單精度浮點(diǎn)數(shù)。數(shù)據(jù)處理采用API函數(shù)CopyMemory,采用傳遞地址的方式,把字節(jié)數(shù)組中的內(nèi)容復(fù)制到一個(gè)單精度變量中(如按照IEEE 754標(biāo)準(zhǔn)進(jìn)行換算,但計(jì)算紛繁復(fù)雜),然后把這個(gè)單精度變量的內(nèi)容寫到iFIX實(shí)時(shí)數(shù)據(jù)庫(kù)標(biāo)簽中(標(biāo)簽的I/O地址采用SIM驅(qū)動(dòng)器的地址空間)。
2.4 情報(bào)信息標(biāo)志通信的實(shí)現(xiàn)
    考慮到情報(bào)信息標(biāo)志為非實(shí)時(shí)刷新,因此采用Access數(shù)據(jù)庫(kù)來(lái)保存每塊信息標(biāo)志有關(guān)的內(nèi)容。當(dāng)程序打開時(shí),自動(dòng)讀取數(shù)據(jù)庫(kù)中的所有記錄,并把其中的關(guān)鍵信息添加到“選擇對(duì)象”ComboBox中。當(dāng)用戶在復(fù)合框選擇一塊信息標(biāo)志時(shí),程序從數(shù)據(jù)庫(kù)中讀取該信息標(biāo)志的有關(guān)信息及上次發(fā)送的內(nèi)容,并顯示給用戶。當(dāng)用戶成功下載內(nèi)容到信息標(biāo)志時(shí),把相關(guān)內(nèi)容更新到數(shù)據(jù)庫(kù)中。
    在VBA中處理漢字的方法是:一個(gè)漢字為一個(gè)字符,可以使用MID()函數(shù)截取一個(gè)字符,然后用ASC()函數(shù)取得該字符的值,如果是漢字,則該值為負(fù)數(shù),否則為正數(shù)。該負(fù)值加65 536,得到該漢字的雙字節(jié)機(jī)內(nèi)碼,整數(shù)除256得到高字節(jié),取模256得到低字節(jié)。
    如圖5所示,畫面右下角的“高級(jí)功能”按鈕用于啟動(dòng)情報(bào)信息標(biāo)志設(shè)備廠家專用軟件。雖然設(shè)備廠家軟件功能齊全,但從使用結(jié)果來(lái)看,本文開發(fā)的系統(tǒng)響應(yīng)速度快,一個(gè)請(qǐng)求過(guò)程平均耗時(shí)在0.1~0.6 s之間(包括數(shù)據(jù)庫(kù)的處理時(shí)間、通過(guò)日志記錄的數(shù)據(jù)計(jì)算),而情報(bào)信息標(biāo)志設(shè)備廠家專用軟件正常情況下處理時(shí)間需10 s左右,有時(shí)還有錯(cuò)誤的響應(yīng)(如網(wǎng)絡(luò)不通),但顯示狀態(tài)仍為正常等現(xiàn)象。

    以iFIX為平臺(tái)開發(fā)的高速公路及其隧道項(xiàng)目數(shù)據(jù)監(jiān)控系統(tǒng)已投入正常運(yùn)行,并取得了比較滿意的效果,系統(tǒng)運(yùn)行穩(wěn)定可靠、占用資源小、維護(hù)方便。使用組態(tài)軟件開發(fā)隧道監(jiān)控系統(tǒng),能夠充分發(fā)揮組態(tài)軟件靈活多樣的組態(tài)功能;同時(shí)使用大量的VBA6.0腳本語(yǔ)言編寫通信程序,解決了組態(tài)軟件數(shù)據(jù)集成難度大的問題,提高了系統(tǒng)運(yùn)行效率,降低了系統(tǒng)的開發(fā)成本。
參考文獻(xiàn)
[1] 王志偉,楊超.高速公路隧道監(jiān)控系統(tǒng)的現(xiàn)狀與發(fā)展[J]. 現(xiàn)代隧道技術(shù),2009,46(6):8-16.
[2] 趙忠杰,陳井偉,朱斌.基于PLC網(wǎng)絡(luò)的公路隧道測(cè)控系統(tǒng)實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(1):43-44.
[3] 袁向陽(yáng),鄭宏,孟峰.基于PLC的高速公路隧道監(jiān)控系統(tǒng)及其數(shù)據(jù)集成[J].電氣應(yīng)用,2006,8(4):34-39.
[4] 周曉軍,劉洪亮,胡康.WinCC及S7-300在電封閉交流傳動(dòng)測(cè)試臺(tái)中的應(yīng)用[J].控制工程,2010,17(5):655-657.
[5] 鐘路,戴遠(yuǎn).城市隧道監(jiān)控系統(tǒng)的集成設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào),2010,32(15):119-122.
[6] 浙大中控.Sview2.6電子手冊(cè)[Z].2003.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。