基于CAN-bus 總線(xiàn)的海關(guān)車(chē)場(chǎng)設(shè)備網(wǎng)方案
1.1 CAN-bus 總線(xiàn)介紹
CAN-bus 是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線(xiàn)之一,被廣泛應(yīng)用于歐洲的中高檔汽車(chē)中,用作ECU 單元的串行數(shù)據(jù)傳輸網(wǎng)絡(luò);近幾年來(lái),CAN-bus 開(kāi)始進(jìn)入中國(guó)各個(gè)行業(yè)的數(shù)據(jù)通訊應(yīng)用,并于2002 年被確定為電力通訊產(chǎn)品領(lǐng)域的國(guó)家標(biāo)準(zhǔn),正被大家逐漸重視。
與RS-485 類(lèi)似,CAN-bus 網(wǎng)絡(luò)使用普通雙絞線(xiàn)作為傳輸介質(zhì),采用直線(xiàn)拓樸結(jié)構(gòu),單條網(wǎng)絡(luò)線(xiàn)路至少可連接110 個(gè)節(jié)點(diǎn),網(wǎng)絡(luò)總長(zhǎng)度最大可達(dá)10 公里(使用標(biāo)準(zhǔn)CAN 收發(fā)器PCA82C250/251 芯片)。在CAN-bus 網(wǎng)絡(luò)中,數(shù)據(jù)收發(fā)、硬件檢錯(cuò)均由CAN 控制器硬件完成,大大增強(qiáng)了CAN-bus 網(wǎng)絡(luò)的抗電磁干擾能力,即由硬件來(lái)保證CAN-bus 網(wǎng)絡(luò)運(yùn)行的可靠性。據(jù)國(guó)際CiA 協(xié)會(huì)統(tǒng)計(jì),2001 年僅在歐洲就銷(xiāo)售了超過(guò)1 億個(gè)CAN-bus 節(jié)點(diǎn),幾乎淘汰了歐洲所有的RS-485 系統(tǒng)。目前,國(guó)內(nèi)的汽車(chē)、電梯行業(yè)已是CAN-bus 應(yīng)用的典型領(lǐng)域,工業(yè)控制、智能樓宇、煤礦設(shè)備等行業(yè)也是日見(jiàn)更多型號(hào)的應(yīng)用CAN-bus 總線(xiàn)設(shè)備與產(chǎn)品。
CAN-bus 總線(xiàn)的優(yōu)點(diǎn):可靠性高,可以支持硬件節(jié)點(diǎn)的即插即用;故障節(jié)點(diǎn)可自動(dòng)關(guān)閉,不影響其他網(wǎng)絡(luò)節(jié)點(diǎn);采用芯片硬件ID 方式管理網(wǎng)絡(luò),故障節(jié)點(diǎn)界定十分方便,網(wǎng)絡(luò)維護(hù)成本比較低。
CAN-bus 總線(xiàn)的適用范圍:可適用于節(jié)點(diǎn)數(shù)目很多,傳輸距離在10 公里以?xún)?nèi),安全性要求高的場(chǎng)合;也可適用于對(duì)實(shí)時(shí)性、安全性要求十分嚴(yán)格的機(jī)械控制網(wǎng)絡(luò)。CAN-bus 總線(xiàn)不適合于有大量數(shù)據(jù)需要傳輸(比如視頻/音頻信號(hào))的場(chǎng)合。
1.2 現(xiàn)場(chǎng)的應(yīng)用需求
一般情況下,海關(guān)的車(chē)場(chǎng)需要組建2 個(gè)信息與控制網(wǎng)絡(luò),分別對(duì)應(yīng)車(chē)場(chǎng)的進(jìn)口車(chē)道、車(chē)場(chǎng)的出口車(chē)道進(jìn)行設(shè)備管理。其中,每個(gè)進(jìn)口車(chē)道管理6~9 個(gè)設(shè)備,每個(gè)出口車(chē)道管理4~8個(gè)設(shè)備。
舉例說(shuō)明,進(jìn)口車(chē)道主要由以下一些設(shè)備組成:
●地磅:檢測(cè)車(chē)輛的載重信息,具有RS-485 通訊接口。地磅屬于主動(dòng)發(fā)送數(shù)據(jù)設(shè)備,大約每170 毫秒向服務(wù)器發(fā)送17 字節(jié)的數(shù)據(jù),屬于小數(shù)據(jù)量設(shè)備。
●起落桿:控制車(chē)輛是否放行,具有RS-485 通訊接口。起落桿屬于被動(dòng)發(fā)送數(shù)據(jù)設(shè)備,服務(wù)器每隔1 秒發(fā)送一個(gè)控制命令。屬于小數(shù)據(jù)量設(shè)備。
●電子關(guān)鎖:海關(guān)專(zhuān)用設(shè)備,具有RS-232 通訊接口。電子關(guān)鎖屬于被動(dòng)發(fā)送設(shè)備,服務(wù)器每隔100 毫秒向電子關(guān)鎖發(fā)送控制命令,總共兩個(gè)命令類(lèi)型:施封和解封。屬于小數(shù)據(jù)量設(shè)備。
●電子車(chē)牌:檢測(cè)通關(guān)車(chē)輛的身份信息與司機(jī)身份信息,具有RS-232 通訊接口。電子車(chē)牌屬于被動(dòng)發(fā)送設(shè)備。一般通過(guò)調(diào)用設(shè)備廠商提供的動(dòng)態(tài)庫(kù)接口向電子車(chē)牌設(shè)備發(fā)送讀取數(shù)據(jù)命令,周期為100 毫秒,每次通訊數(shù)據(jù)約在300~2000 字節(jié),數(shù)據(jù)流量比較大,屬于大數(shù)據(jù)量設(shè)備。
●海關(guān)通關(guān)儀:海關(guān)專(zhuān)用設(shè)備,集成顯示、語(yǔ)音、鍵盤(pán)接口,具有2~3 個(gè)RS-232 通訊接口。
●條碼閱讀器:讀取條碼信息,具有RS-232 通訊接口。
●IC 卡讀卡器:讀取IC 卡信息,具有RS-232 通訊接口。
傳統(tǒng)的海關(guān)車(chē)場(chǎng)設(shè)備網(wǎng)一般采用“以太網(wǎng)EtherNet+多串口服務(wù)器”方案,采用2 級(jí)網(wǎng)絡(luò)方式。其網(wǎng)絡(luò)拓樸結(jié)構(gòu)如下圖所示:
傳統(tǒng)的海關(guān)車(chē)場(chǎng)設(shè)備網(wǎng)采用“以太網(wǎng)EtherNet+RS-232”方式實(shí)現(xiàn)設(shè)備之間的通訊,是基于“點(diǎn)――點(diǎn)”的通訊模式。由于網(wǎng)絡(luò)中所連接設(shè)備的數(shù)據(jù)流量不一致性,容易引起網(wǎng)絡(luò)數(shù)據(jù)阻塞;而且,利用以太網(wǎng)(EtherNet)方式組建網(wǎng)絡(luò)的成本比較高,需要對(duì)網(wǎng)絡(luò)及運(yùn)行設(shè)備增加多級(jí)保護(hù)措施,以適應(yīng)長(zhǎng)期工作的惡劣環(huán)境。
新一代CAN-bus 總線(xiàn)技術(shù)的成熟應(yīng)用,可以在海關(guān)車(chē)場(chǎng)設(shè)備網(wǎng)的建設(shè)中減少網(wǎng)絡(luò)布線(xiàn),有效降低設(shè)備成本,并能夠提高通訊效率。利用CAN-bus 總線(xiàn)技術(shù)建設(shè)的海關(guān)車(chē)場(chǎng)設(shè)備網(wǎng)具備更好的實(shí)時(shí)性、穩(wěn)定性,以及更強(qiáng)的抗干擾能力,且可以適合非常嚴(yán)苛的工作環(huán)境。
1.3 CAN-bus 實(shí)施方案
下面簡(jiǎn)要地介紹采用CAN-bus 總線(xiàn)建立的海關(guān)車(chē)場(chǎng)設(shè)備網(wǎng)方案。
1.3.1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
在基于CAN-bus 總線(xiàn)的海關(guān)車(chē)場(chǎng)設(shè)備網(wǎng)中,每一個(gè)車(chē)場(chǎng)設(shè)備都被分配了一個(gè)網(wǎng)絡(luò)中唯一的ID 設(shè)備號(hào),且都通過(guò)CAN232MB 智能協(xié)議轉(zhuǎn)換器或CAN485MB 智能協(xié)議轉(zhuǎn)換器連接至CAN-bus 總線(xiàn)。
考慮連接車(chē)場(chǎng)設(shè)備的數(shù)量、通訊數(shù)據(jù)流量、通訊距離等因素,服務(wù)器PC 上可以安裝1~8塊PCI-9840 四路高速CAN 接口卡。通常情況,一路CAN-bus 通道可以最多連接100 個(gè)CAN-bus 節(jié)點(diǎn),每塊PCI-9840 四路高速CAN 接口卡最多可以連接400 個(gè)CAN-bus 節(jié)點(diǎn)設(shè)備;同一臺(tái)PC 可以管理32 條CAN-bus 總線(xiàn),管理3200 個(gè)CAN-bus 節(jié)點(diǎn)設(shè)備,甚至更多個(gè)設(shè)備。
服務(wù)器PC 通過(guò)CAN-bus 總線(xiàn)編號(hào)、ID 設(shè)備號(hào)訪問(wèn)并管理車(chē)場(chǎng)設(shè)備網(wǎng)中的每一個(gè)指定設(shè)備。
CAN-bus 采用直線(xiàn)拓樸結(jié)構(gòu),同一網(wǎng)絡(luò)中的所有CAN-bus 節(jié)點(diǎn)設(shè)備連接在一條普通的通訊雙絞線(xiàn)上;每條CAN-bus 總線(xiàn)的2 個(gè)終端各需要安裝1 個(gè)120Ω 的終端電阻。
1.3.2 CAN-bus 網(wǎng)絡(luò)布線(xiàn)
由于CAN-bus 總線(xiàn)完全由芯片硬件實(shí)現(xiàn)通訊數(shù)據(jù)的校驗(yàn)與檢錯(cuò),具有通常串口通訊(RS-232 方式或RS-485 方式)所無(wú)法比擬的可靠性;因此,布線(xiàn)時(shí)可以將CAN232MB 智能協(xié)議轉(zhuǎn)換器或CAN485MB 智能協(xié)議轉(zhuǎn)換器就近安裝在車(chē)場(chǎng)設(shè)備網(wǎng)的每一個(gè)用戶(hù)設(shè)備,或直接連接到用戶(hù)設(shè)備的RS-232 或RS-485 端口。這一種方式可以有效地減少串行通訊距離,提高串行通訊波特率,并更好地保證設(shè)備通訊數(shù)據(jù)的正確性。
CAN-bus 總線(xiàn)通訊可以采用普通雙絞線(xiàn)或屏蔽雙絞線(xiàn),一般應(yīng)用場(chǎng)合都可以保證數(shù)據(jù)的可靠通訊。例如,使用國(guó)標(biāo)AWG18(截面積為Φ0.75 ㎜ 2)一般可以保證在1KM 距離下實(shí)現(xiàn)CAN 可靠通訊;如果CAN 通訊距離超過(guò)1KM,則建議選擇通訊電纜線(xiàn)的截面積大于Φ1.5mm2。常規(guī)方式中,隨通訊距離的加長(zhǎng),需要適當(dāng)加大電纜線(xiàn)截面積。
CAN-bus 采用直線(xiàn)拓樸結(jié)構(gòu),布線(xiàn)簡(jiǎn)單方便,且非常容易擴(kuò)展。
1.3.3 通訊設(shè)備的可靠性
CAN232MB 智能協(xié)議轉(zhuǎn)換器和CAN485MB 智能協(xié)議轉(zhuǎn)換器都采用表面安裝工藝,板上自帶光電隔離模塊,實(shí)現(xiàn)完全電氣隔離的中央控制電路/CAN 電路,具有很強(qiáng)的電氣抗干擾能力,可防雷擊,大大提高了系統(tǒng)在惡劣環(huán)境中使用的可靠性。這2 個(gè)型號(hào)的協(xié)議轉(zhuǎn)換器都可以工作在工業(yè)級(jí)的環(huán)境溫度(-40℃ ~ +85℃)中,且支持防水、防塵、防雷擊處理工藝;自帶安裝導(dǎo)軌,適合于多種安裝方式。
PCI-9840 四路高速CAN 接口卡是具有高性能價(jià)格比的CAN 總線(xiàn)通訊接口卡,該產(chǎn)品采用標(biāo)準(zhǔn)PCI 接口,能讓計(jì)算機(jī)方便的連接到CAN 總線(xiàn)上,實(shí)現(xiàn)CAN2.0B 協(xié)議(兼容CAN 2.0A)的連接通訊。PCI-9840 高速CAN 接口卡集成有4 通道邏輯獨(dú)立CAN-bus 通訊接口,使得在開(kāi)發(fā)應(yīng)用中更顯方便和靈活;每一個(gè)通道都有光電隔離,保護(hù)計(jì)算機(jī)機(jī)避免地環(huán)流的損壞,增強(qiáng)系統(tǒng)在惡劣環(huán)境中使用的可靠性;接口卡采用WDM 驅(qū)動(dòng)程序,支持Linux、WIN98、WIN2000 和WinXP 操作系統(tǒng),支持同一PC 安裝多個(gè)設(shè)備;同時(shí)提供多種開(kāi)發(fā)語(yǔ)言接口例程,方便用戶(hù)進(jìn)行二次開(kāi)發(fā)。合理的軟硬件設(shè)計(jì)使得PCI-9840 接口卡成為穩(wěn)定、可靠的CAN 接口設(shè)備![!--empirenews.page--]
1.3.4 軟件實(shí)現(xiàn)與VCOM 虛擬串口
CAN232MB 智能協(xié)議轉(zhuǎn)換器、CAN485MB 智能協(xié)議轉(zhuǎn)換器都可以通過(guò)一個(gè)設(shè)備配置工具軟件,來(lái)設(shè)置運(yùn)行時(shí)的工作參數(shù),包括串口通訊速率、CAN-bus 通訊速率、網(wǎng)絡(luò)ID 設(shè)備號(hào)等,且支持用戶(hù)自行定義的CAN-bus 通訊速率。
在多點(diǎn)通訊場(chǎng)合,CAN-bus 總線(xiàn)提供一個(gè)有效的數(shù)據(jù)驗(yàn)收/屏蔽功能。在網(wǎng)絡(luò)中的任一臺(tái)CAN232MB/CAN485MB 智能協(xié)議轉(zhuǎn)換器都可以通過(guò)設(shè)定一個(gè)唯一的網(wǎng)絡(luò)ID 設(shè)備號(hào),來(lái)設(shè)定本節(jié)點(diǎn)設(shè)備所允許接收的報(bào)文格式。
目前提供有兩種軟件編程方式,可以方便地實(shí)現(xiàn)服務(wù)器PC 與CAN232MB/CAN485MB轉(zhuǎn)換器所連接的網(wǎng)絡(luò)設(shè)備進(jìn)行數(shù)據(jù)通訊。
1. 使用VCOM 虛擬串口
利用VCOM 虛擬串口軟件,可以將一個(gè)CAN-bus 網(wǎng)絡(luò)的任一個(gè)CAN232MB 轉(zhuǎn)換器或CAN485MB 轉(zhuǎn)換器當(dāng)成本地PC 的一個(gè)普通串口來(lái)進(jìn)行操作。同一PC 可以最多支持2000個(gè)VCOM 虛擬串口。
利用VCOM 虛擬串口方式,車(chē)場(chǎng)設(shè)備網(wǎng)的每一個(gè)功能設(shè)備都被映射連接在服務(wù)器PC的一個(gè)虛擬串口上,對(duì)指定編號(hào)的串口操作,就相當(dāng)于直接操作每個(gè)用戶(hù)設(shè)備。這一種方式可以直接使用設(shè)備廠商提供的動(dòng)態(tài)庫(kù)操作虛擬串口。
2. 使用VCICAN 接口動(dòng)態(tài)庫(kù)
通過(guò)調(diào)用PCI-CAN 接口卡配套的VCICAN 動(dòng)態(tài)庫(kù),可以直接操作PCI-CAN 接口卡來(lái)發(fā)送/接收CAN 報(bào)文幀,從而實(shí)現(xiàn)CAN-bus 總線(xiàn)通訊。通過(guò)這一方式實(shí)現(xiàn)車(chē)場(chǎng)設(shè)備網(wǎng)的數(shù)據(jù)通訊,可以達(dá)到很高的數(shù)據(jù)有效性。
同時(shí),PCI-9840 四路高速CAN 接口卡支持在Linux、WIN98、WIN2000 和WinXP 等操作系統(tǒng),并且配套有ZOPC 服務(wù)器軟件,可以在流行的組態(tài)軟件(如昆侖通態(tài)MCGS、組態(tài)王、國(guó)外iFix、Intouch 等)或虛擬儀器軟件LabView 中實(shí)現(xiàn)設(shè)備之間的控制與通訊。
1.3.5 方案優(yōu)點(diǎn)與實(shí)踐測(cè)試
CAN-bus 總線(xiàn)能夠較好地適合海關(guān)車(chē)場(chǎng)設(shè)備網(wǎng)的建設(shè)。同時(shí),使用CAN-bus 總線(xiàn)方式可以減少車(chē)場(chǎng)設(shè)備網(wǎng)對(duì)人力資源、環(huán)境資源的要求,實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)高效監(jiān)控。
例如,采用CAN 總線(xiàn)組網(wǎng)通訊時(shí),每一批數(shù)據(jù)的通訊延遲時(shí)間是可以預(yù)先估算,并可以有效控制的;例如,在100Kbps 時(shí)每幀數(shù)據(jù)(8 字節(jié))在網(wǎng)絡(luò)上的傳輸時(shí)間為1.1mS,總線(xiàn)的每個(gè)節(jié)點(diǎn)都可以在3mS 以?xún)?nèi)對(duì)外發(fā)送一幀數(shù)據(jù)。CAN-bus 總線(xiàn)在同一網(wǎng)絡(luò)中可以連接超過(guò)100 個(gè)設(shè)備單元;每個(gè)新增的設(shè)備都可以通過(guò)一個(gè)唯一設(shè)定的ID 設(shè)備號(hào)與其他設(shè)備通訊數(shù)據(jù)。CAN-bus 節(jié)點(diǎn)設(shè)備允許即插即用,不影響網(wǎng)絡(luò)的正常運(yùn)行,無(wú)需停機(jī)安裝。
而且,CAN 總線(xiàn)采用雙絞線(xiàn)通訊,通訊材料成本很低,維護(hù)方便。同時(shí),CAN232MB轉(zhuǎn)換器或CAN485MB 轉(zhuǎn)換器可以就近功能設(shè)備安裝,以減少RS-232/RS-485 電纜,為數(shù)據(jù)通訊提供更強(qiáng)的保障。
另外,推薦在設(shè)備網(wǎng)中工作的通訊接口設(shè)備,如CAN232MB/CAN485MB 轉(zhuǎn)換器,都有防水、防塵、防雷擊處理工藝,且符合工業(yè)環(huán)境標(biāo)準(zhǔn)(-40℃ ~ +85℃),抗干擾能力強(qiáng),保障長(zhǎng)期工作環(huán)境中的網(wǎng)絡(luò)可靠性。
下面是部分設(shè)備在實(shí)際運(yùn)行中的數(shù)據(jù)流量測(cè)試情況。
1.4 其它網(wǎng)絡(luò)方案之比較
1.4.1 RS-485 總線(xiàn)
RS-485 總線(xiàn)是采用差分傳輸方式的一種串行網(wǎng)絡(luò),也是目前國(guó)內(nèi)應(yīng)用較多的一種遠(yuǎn)距離串行數(shù)據(jù)方式。RS-485 總線(xiàn)使用普通雙絞線(xiàn)作為傳輸介質(zhì),采用直線(xiàn)拓樸結(jié)構(gòu),單條網(wǎng)絡(luò)線(xiàn)路可連接32 個(gè)節(jié)點(diǎn)(數(shù)據(jù)來(lái)自于MAXIM 公司的MAX485 數(shù)據(jù)手冊(cè)),網(wǎng)絡(luò)總長(zhǎng)度最大可達(dá)1200 米。
優(yōu)點(diǎn):對(duì)于單個(gè)節(jié)點(diǎn),電路成本較低,設(shè)計(jì)容易,實(shí)現(xiàn)方便。
缺點(diǎn):可靠性差,單個(gè)節(jié)點(diǎn)的故障有可能導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓;RS-485 器件容易損壞;且不易界定網(wǎng)絡(luò)中的故障節(jié)點(diǎn),維護(hù)成本相對(duì)較高。
適用范圍:節(jié)點(diǎn)數(shù)目較少,傳輸距離在1 公里左右,安全性要求不高的場(chǎng)合。
表格 CAN-bus 總線(xiàn)與 RS-485 總線(xiàn)的特性比較
1.4.2 Lonworks 總線(xiàn)
Lonworks 總線(xiàn)由美國(guó)Echelon 公司于1993 年推出的一種現(xiàn)場(chǎng)總線(xiàn),也是國(guó)際上主流的現(xiàn)場(chǎng)總線(xiàn)標(biāo)準(zhǔn)之一。Lonworks 總線(xiàn)采用神經(jīng)元芯片為核心技術(shù)設(shè)計(jì)基本節(jié)點(diǎn),LonTalk 通信協(xié)議支持7 層網(wǎng)絡(luò)協(xié)議,提供一個(gè)固化在神經(jīng)元的網(wǎng)絡(luò)操作系統(tǒng)。
相對(duì)來(lái)說(shuō),Lonwork 總線(xiàn)硬件成本相對(duì)較高,并不是一個(gè)類(lèi)似CAN-bus 總線(xiàn)的開(kāi)放協(xié)議總線(xiàn),單節(jié)點(diǎn)電路的硬件成本遠(yuǎn)遠(yuǎn)大于CAN-bus 節(jié)點(diǎn)硬件成本。
1.4.3 以太網(wǎng)
基于802.3 規(guī)范的“以太網(wǎng)+TCP/IP”已成為互連網(wǎng)技術(shù)中應(yīng)用最普遍的技術(shù),可以實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸。但以太網(wǎng)的本質(zhì)特點(diǎn)是采用CSMA/CD 的介質(zhì)訪問(wèn)控制技術(shù),容易產(chǎn)生“節(jié)點(diǎn)”碰撞,無(wú)法保證數(shù)據(jù)的實(shí)時(shí)性/有效性;而且,實(shí)現(xiàn)以太網(wǎng)節(jié)點(diǎn)的硬件成本、軟件開(kāi)發(fā)費(fèi)用也大大高于其他各種方式。
國(guó)際上正在研究與CAN-bus 網(wǎng)絡(luò)結(jié)合的以太網(wǎng)方案(EtherNET/IP,簡(jiǎn)稱(chēng)CIP),稱(chēng)為工業(yè)以太網(wǎng),構(gòu)建可以保證實(shí)時(shí)性能的網(wǎng)絡(luò)傳輸方案。與底層的CAN-bus 網(wǎng)絡(luò)(設(shè)備網(wǎng))結(jié)合,也是未來(lái)以太網(wǎng)發(fā)展的必然趨勢(shì)之一。