LonWorks 現(xiàn)場(chǎng)總線的一種應(yīng)用方法
三.應(yīng)用方法:
目前LonWorks現(xiàn)場(chǎng)總線技術(shù)已經(jīng)在國(guó)內(nèi)開(kāi)始應(yīng)用。但多采用網(wǎng)絡(luò)變量的方式進(jìn)行數(shù)據(jù)通信,其主要優(yōu)點(diǎn)在于:軟件編程方便、可采用標(biāo)準(zhǔn)的網(wǎng)絡(luò)變量便于今后和其它標(biāo)準(zhǔn)的LonWorks設(shè)備進(jìn)行通信。但采用網(wǎng)絡(luò)變量通信是要用LONMAKER軟件進(jìn)行網(wǎng)絡(luò)變量的現(xiàn)場(chǎng)綁定(BIND),必須要在現(xiàn)場(chǎng)配備一臺(tái)PC機(jī)進(jìn)行網(wǎng)絡(luò)變量綁定,對(duì)于只有幾個(gè)節(jié)點(diǎn)的控制對(duì)象來(lái)說(shuō),勢(shì)必要增加設(shè)備的投資。如果在設(shè)備運(yùn)行過(guò)程中遇到節(jié)點(diǎn)損壞需要更換節(jié)點(diǎn)時(shí),又要重復(fù)做一遍節(jié)點(diǎn)的網(wǎng)絡(luò)變量綁定。這就要對(duì)最終用戶的維修人員進(jìn)行培訓(xùn),教會(huì)他們用LONMAKER軟件進(jìn)行網(wǎng)絡(luò)變量的現(xiàn)場(chǎng)綁定。對(duì)于技術(shù)水平不高的用戶,只好由開(kāi)發(fā)人員親自到現(xiàn)場(chǎng)進(jìn)行維護(hù)。這大大提高的控制設(shè)備的維護(hù)成本。
在LonWorks的應(yīng)用過(guò)程中,可采用兩種通信方式即網(wǎng)絡(luò)變量通信和顯形報(bào)文通信。根據(jù)各自通信特點(diǎn)我們選用顯形報(bào)文通信方式。采取顯形報(bào)文通信方式最大的好處在于系統(tǒng)安裝配置時(shí)不需要綁定,便于現(xiàn)場(chǎng)用戶的安裝和維護(hù)。顯形報(bào)文通信的數(shù)據(jù)包和長(zhǎng)度可以由用戶定義,就可以突破LonWorks關(guān)于每個(gè)控制節(jié)點(diǎn)不能超過(guò)63個(gè)網(wǎng)絡(luò)變量的限制。通過(guò)顯形報(bào)文還可以在不同的網(wǎng)絡(luò)之間進(jìn)行協(xié)議和路由的轉(zhuǎn)換。但采取顯形報(bào)文通信也有其不足之處:控制網(wǎng)絡(luò)系統(tǒng)成了封閉系統(tǒng),不能和其他LonWorks產(chǎn)品進(jìn)行互連,另外軟件的編制過(guò)程也較為復(fù)雜,要增加相應(yīng)的用戶協(xié)議。
下面是利用顯形報(bào)文進(jìn)行數(shù)據(jù)塊傳送的一個(gè)例子:
msg_tagmotor;
#defineMOTOR_ON0
typedefenum{
MOTOR_FWD,
MOTOR_REV
}motor_dir;
struct{
longmotor_speed;
motor_dirmotor_direction;
intmotor_ramp_up_rate;
}motor_on_message;
when(some_event){
msg_out.tag=motor;
msg_out.code=MOTOR_ON;
motor_on_message.motor_direction=MOTOR_FWD;
motor_on_message.motor_speed=500;
motor_on_message.ramp_up_rate=100;
memcpy(msg_out.data,motor_on_message,
sizeof(motor_on_message));
msg_send();
}
具體在實(shí)現(xiàn)過(guò)程中,我們采用INTEL的80C196作為現(xiàn)場(chǎng)級(jí)的CPU進(jìn)行控制對(duì)象的數(shù)據(jù)采集和現(xiàn)場(chǎng)控制,而利用LonWorks作為通信協(xié)處理器進(jìn)行現(xiàn)場(chǎng)的數(shù)據(jù)傳輸。在80C196和3150采用并行口進(jìn)行數(shù)據(jù)交換,交換的速度可達(dá)到100KBYTE/S以上,遠(yuǎn)遠(yuǎn)超過(guò)LonWorks雙絞線的78K的通信速率。對(duì)各個(gè)控制點(diǎn)之間的通信采用了廣播方式定時(shí)進(jìn)行廣播通信,一個(gè)數(shù)據(jù)采集點(diǎn)把現(xiàn)場(chǎng)實(shí)時(shí)采集到的數(shù)據(jù)廣播給控制網(wǎng)絡(luò)上的其他節(jié)點(diǎn),其他節(jié)點(diǎn)都同時(shí)收到這個(gè)采集點(diǎn)發(fā)來(lái)的數(shù)據(jù),需要的數(shù)據(jù)可以保存下來(lái),而不需要的數(shù)據(jù)就放棄。這種通信方式與主從式通信方式比較可大大減少網(wǎng)絡(luò)上的數(shù)據(jù)通信量,提高網(wǎng)絡(luò)的數(shù)據(jù)流量,大大提高通信的傳輸效率。
在3150控制模塊的選用上,原來(lái)采用ECHELON公司的控制模塊Model55020-10,但是在應(yīng)用過(guò)程中發(fā)現(xiàn)這個(gè)模塊無(wú)外部擴(kuò)展內(nèi)存(RAM),作為通信協(xié)處理器使用要求有大量的數(shù)據(jù)緩沖區(qū)進(jìn)行數(shù)據(jù)交換,而僅僅利用3150內(nèi)部的2KRAM容量是遠(yuǎn)遠(yuǎn)不夠的(運(yùn)行時(shí)系統(tǒng)還要占掉800多個(gè)字節(jié))。在這種條件下,我們自己設(shè)計(jì)了一塊3150控制模塊,與55020-10兼容,在這基礎(chǔ)上增加了24K的外部RAM,這樣可以增加3150發(fā)送和接收緩沖區(qū)的數(shù)量,使得控制模塊的功能大大增強(qiáng)。采用這種方法,圓滿地解決了3150通信協(xié)處理器的數(shù)據(jù)通信和交換的功能。
四.幾點(diǎn)體會(huì):
在LonWorks的應(yīng)用過(guò)程中,我們也覺(jué)得該系統(tǒng)有些不足之處。
1.3150的CPU處理運(yùn)算能力差:
由于3150開(kāi)發(fā)時(shí)間較早,當(dāng)時(shí)采用8位數(shù)據(jù)處理是局限于當(dāng)時(shí)情況,而在微處理機(jī)發(fā)展飛快的今天再采用當(dāng)時(shí)的技術(shù)已嫌落后。
2.3150的CPU處理速度慢:
3150最快采用10MHZ主頻,對(duì)于在工業(yè)高速控制場(chǎng)合這種速度不能滿足控制要求。
3.3150CPU在10MHZ主頻下的IO輸入輸出操作指令速度為60us,這只能用于如智能化大樓等低速控制場(chǎng)合。
4.ECHELON公司提供了PC機(jī)上的LonWorks網(wǎng)絡(luò)接口卡,而給用戶的驅(qū)動(dòng)程序并沒(méi)有給出其具體的功能調(diào)用,不利于用戶進(jìn)行二次開(kāi)發(fā)。
5.開(kāi)發(fā)系統(tǒng)的費(fèi)用太高,一套基本的開(kāi)發(fā)系統(tǒng)要10萬(wàn)元以上,不符合國(guó)情,不利于LonWorks系統(tǒng)的推廣。
評(píng)論