本文介紹了利用LonWorks現(xiàn)場(chǎng)總線(xiàn)代替原有的現(xiàn)場(chǎng)工業(yè)控制總線(xiàn)。利用LonWorks底層的顯形報(bào)文格式和廣播方式將原來(lái)的通信協(xié)議轉(zhuǎn)換成LonWorks的通信協(xié)議,把LonWorks作為通信協(xié)處理機(jī)使用,利用LonWorks的并行口與控制器如8031、80C196進(jìn)行數(shù)據(jù)交換。解決了原有控制網(wǎng)絡(luò)通信速度慢、拓?fù)浣Y(jié)構(gòu)不合理的問(wèn)題,這種應(yīng)用方法對(duì)原有的硬件不需要做大的修改,軟件方面也只改通信部分,控制軟件可以不變。這樣即可以提升控制網(wǎng)絡(luò)的性能,又可以減少人力物力,是LonWorks現(xiàn)場(chǎng)總線(xiàn)的一個(gè)典型應(yīng)用方法。
一、概要
交通部上海船舶運(yùn)輸科學(xué)研究所于1989年開(kāi)始研制實(shí)時(shí)船用網(wǎng)絡(luò)系統(tǒng),歷時(shí)3年,于1991年研制成功,命名為船用2+實(shí)時(shí)網(wǎng)絡(luò)系統(tǒng),并首次應(yīng)用于南海904運(yùn)輸補(bǔ)給艦,目前已用于多艘艦船,有遠(yuǎn)望3號(hào)、053艦等。至今為止,形成了船用控制網(wǎng)絡(luò)的批量產(chǎn)品。在當(dāng)時(shí)由于現(xiàn)場(chǎng)總線(xiàn)技術(shù)還未開(kāi)始應(yīng)用,使得2+網(wǎng)絡(luò)添補(bǔ)了國(guó)內(nèi)船用控制網(wǎng)絡(luò)的一個(gè)空白,并形成產(chǎn)品推廣使用了多年?,F(xiàn)在看來(lái),2+網(wǎng)絡(luò)系統(tǒng)在船舶控制系統(tǒng)中還是起作主要作用。使得船舶控制從單機(jī)轉(zhuǎn)變?yōu)榫W(wǎng)絡(luò)型自動(dòng)控制。2+網(wǎng)絡(luò)系統(tǒng)的拓?fù)浣Y(jié)構(gòu)見(jiàn)圖1,從圖中可以看出,這種樹(shù)形的網(wǎng)絡(luò)結(jié)構(gòu)不盡合理,通信總機(jī)肩負(fù)著很重要的任務(wù),可靠性要求很高。從控制機(jī)到控制機(jī)最遠(yuǎn)的路由要通過(guò)3個(gè)交換機(jī),造成通信時(shí)間加長(zhǎng),實(shí)時(shí)性不高。隨著現(xiàn)場(chǎng)總線(xiàn)技術(shù)的不斷完善,選用一種能結(jié)合我國(guó)實(shí)際的現(xiàn)場(chǎng)總線(xiàn)技術(shù)代替船用控制網(wǎng)絡(luò)已非常必要。
二、LonWorks現(xiàn)場(chǎng)總線(xiàn)的特點(diǎn):
LonWorks技術(shù)的核心是神經(jīng)元芯片(Neuron chip),它由美國(guó)摩托羅拉公司和日本東芝公司生產(chǎn),有以下幾個(gè)特點(diǎn):
(1) LonWorks技術(shù)的基本元件——Neuron芯片,同時(shí)具備了通信與控制功能,并且固化了ISO/OSI的全部七層通信協(xié)議,以及34種常見(jiàn)的I/O控制對(duì)象。
(2) 改善了CSMA,LonWorks稱(chēng)之為Predictive P-Persistant CSMA。這樣,在網(wǎng)絡(luò)負(fù)載很重時(shí),不會(huì)導(dǎo)致網(wǎng)絡(luò)癱瘓。
(3) 網(wǎng)絡(luò)通信采用了面向?qū)ο蟮脑O(shè)計(jì)方法,LonWorks技術(shù)將其稱(chēng)之為“網(wǎng)絡(luò)變量”。使網(wǎng)絡(luò)通信的設(shè)計(jì)簡(jiǎn)化成為參數(shù)設(shè)置。這樣,不但節(jié)省了大量的設(shè)計(jì)工作量,同時(shí)增加了通信的可靠性。
(4) LonWorks技術(shù)的通信的每幀有效字節(jié)可以從0到228個(gè)字節(jié)。
(5) LonWorks技術(shù)的通信速度可達(dá)1.25MBps(此時(shí)有效距離為130M)。
(6) LonWorks技術(shù)一個(gè)測(cè)控網(wǎng)絡(luò)上的節(jié)點(diǎn)數(shù)可以達(dá)到32000個(gè)。
(7) LonWorks技術(shù)的直接通信距離可以達(dá)到2700m(雙絞線(xiàn),78KBps)。
(8) 針對(duì)不同的通信介質(zhì)有不同的收發(fā)器和路由器。
(9) 有LON-WEB網(wǎng)關(guān),可以連接INTERNET。
三、 應(yīng)用方法:
目前LonWorks現(xiàn)場(chǎng)總線(xiàn)技術(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ì)最終用戶(hù)的維修人員進(jìn)行培訓(xùn),教會(huì)他們用LONMAKER軟件進(jìn)行網(wǎng)絡(luò)變量的現(xiàn)場(chǎng)綁定。對(duì)于技術(shù)水平不高的用戶(hù),只好由開(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ù)的安裝和維護(hù)。顯形報(bào)文通信的數(shù)據(jù)包和長(zhǎng)度可以由用戶(hù)定義,就可以突破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)的用戶(hù)協(xié)議。
下面是利用顯形報(bào)文進(jìn)行數(shù)據(jù)塊傳送的一個(gè)例子:
msg_tag motor;
#define MOTOR_ON 0
typedef enum {
MOTOR_FWD,
MOTOR_REV
} motor_dir;
struct {
long motor_speed;
motor_dir motor_direction;
} 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雙絞線(xiàn)的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公司的控制模塊Model 55020-10,但是在應(yīng)用過(guò)程中發(fā)現(xiàn)這個(gè)模塊無(wú)外部擴(kuò)展內(nèi)存(RAM),作為通信協(xié)處理器使用要求有大量的數(shù)據(jù)緩沖區(qū)進(jìn)行數(shù)據(jù)交換,而僅僅利用3150內(nèi)部的2K RAM容量是遠(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)。采用這種方法,圓滿(mǎn)地解決了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)合這種速度不能滿(mǎn)足控制要求。
3. 3150CPU在10MHZ主頻下的IO輸入輸出操作指令速度為60us,這只能用于如智能化大樓等低速控制場(chǎng)合。
4. ECHELON公司提供了PC機(jī)上的LonWorks網(wǎng)絡(luò)接口卡,而給用戶(hù)的驅(qū)動(dòng)程序并沒(méi)有給出其具體的功能調(diào)用,不利于用戶(hù)進(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)的推廣。
責(zé)任編輯:gt
評(píng)論
查看更多