《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 解決方案 > 如何實(shí)現(xiàn)DeviceNet主站設(shè)備

如何實(shí)現(xiàn)DeviceNet主站設(shè)備

——基于DeviceNet規(guī)范的PCI-5010-D
2011-07-14
作者:致遠(yuǎn)電子
來(lái)源:來(lái)源:電子技術(shù)應(yīng)用2011年第5期
關(guān)鍵詞: DeviceNet 主站

1 引言
    從傳統(tǒng)的分散型數(shù)字控制系統(tǒng)(DCS)到現(xiàn)在的現(xiàn)場(chǎng)總線控制系統(tǒng)(FCS),,標(biāo)志著工業(yè)通信及控制技術(shù)的飛速發(fā)展。在工業(yè)自動(dòng)化領(lǐng)域里,,現(xiàn)場(chǎng)總線控制系統(tǒng)作為當(dāng)今最為主流的工業(yè)通信技術(shù),,其中現(xiàn)場(chǎng)總線DeviceNet又占據(jù)了很大的市場(chǎng)份額。DeviceNet是20世紀(jì)90年代發(fā)展起來(lái)的一種基于CAN總線技術(shù)的全球工業(yè)標(biāo)準(zhǔn)的開放型通信網(wǎng)絡(luò),。由于采用了先進(jìn)的通信概念和技術(shù),,以低成本、高效率,、高性能,、高可靠性等優(yōu)點(diǎn),廣泛應(yīng)用于工廠自動(dòng)化系統(tǒng),。
    在整個(gè)DeviceNet網(wǎng)絡(luò)中主站扮演著最重要的角色,,它負(fù)責(zé)整個(gè)網(wǎng)絡(luò)的通信和管理,功能強(qiáng)大和復(fù)雜,,但是DeviceNet 2.0版本的規(guī)范中又未對(duì)主站進(jìn)行詳細(xì)描述,,使其設(shè)計(jì)起來(lái)更加困難,。上期文章介紹了如何快速實(shí)現(xiàn)DeviceNet從站,,本期將介紹如何基于PCI-5010-D快速實(shí)現(xiàn)DeviceNet主站設(shè)備。
2 DeviceNet典型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
    DeviceNet網(wǎng)絡(luò)大都采用主干-分支網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),,以主/從連接方式通信,。實(shí)際應(yīng)用中一個(gè)網(wǎng)絡(luò)通常有一個(gè)主站設(shè)備和最多63個(gè)從站設(shè)備,從站設(shè)備需要依靠主站的管理來(lái)完成數(shù)據(jù)交換,。圖1所示為PCI-5010-D在DeviceNet網(wǎng)絡(luò)中的典型應(yīng)用形式,。

3 PCI-5010-D DeviceNet主站卡簡(jiǎn)介
    PCI-5010-D是廣州致遠(yuǎn)電子有限公司研發(fā)的新一代PCI接口DeviceNet主站卡,它可以使計(jì)算機(jī)快速連接到DeviceNet網(wǎng)絡(luò),,不但可以在最短時(shí)間內(nèi)應(yīng)用DeviceNet從站設(shè)備,,實(shí)現(xiàn)可視化、參數(shù)化的網(wǎng)絡(luò)分析及控制,,而且更能減少開發(fā)DeviceNet系統(tǒng)的時(shí)間,,組建穩(wěn)定、健碩的DeviceNet網(wǎng)絡(luò),。
    它提供多種操作系統(tǒng)的設(shè)備驅(qū)動(dòng),、工具軟件等,能真正地滿足客戶的各種應(yīng)用需求,,為工業(yè)通信DeviceNet網(wǎng)絡(luò)提供了可靠性,、高效率的解決方案。在計(jì)算機(jī)中的硬件與軟件結(jié)構(gòu)如圖2所示,。

    PCI-5010-D具有如下特性:
    · 支持ODVA一致性測(cè)試軟件(A21 DeviceNet Conform),;
    · 帶有微處理器的DeviceNet主站卡,,完全遵循DeviceNet 2.0協(xié)議規(guī)范;
    · 支持最多63個(gè)從站節(jié)點(diǎn),;
    · 支持自動(dòng)檢測(cè)失效節(jié)點(diǎn)位,、空閑節(jié)點(diǎn)位、錯(cuò)誤節(jié)點(diǎn)位映射,;
    · 支持標(biāo)準(zhǔn)波特率:125 kb/s,、 250 kb/s、500 kb/s,;
    · 支持用戶自設(shè)定的MAC ID,,范圍:0~63;
    · 支持無(wú)需斷開網(wǎng)絡(luò),,在線移除/安裝從站設(shè)備,;
    · 自供電DeviceNet設(shè)備兼容網(wǎng)絡(luò)的連接;
    · PCI板卡所有元器件均符合工業(yè)級(jí)要求,。
4 PCI-5010-D驅(qū)動(dòng)安裝
    PCI-5010-D通信卡沒(méi)有任何開關(guān)和跳線用于分配中斷和I/O地址,,這些都是由BIOS自動(dòng)分配。因此在安裝驅(qū)動(dòng)程序之前板卡必須事先安裝到PCI槽上,,以下是安裝步驟,。
    通常在新安裝PCI板卡后,啟動(dòng)計(jì)算機(jī)之后會(huì)彈出“找到新硬件”的界面,,這時(shí)需要手動(dòng)地把PCI-5010-D的驅(qū)動(dòng)所在的文件夾添加到搜索的位置,,這樣直接點(diǎn)擊下一步,系統(tǒng)會(huì)自動(dòng)把驅(qū)動(dòng)程序安裝完成,。
5 基于PCI-5010-D的PC機(jī)端軟件設(shè)計(jì)
    圖3所示為PCI-5010-D的操作流程,,其概括性地描述了PCI-5010-D的所有功能及相應(yīng)的API函數(shù)調(diào)用結(jié)構(gòu)。以下詳細(xì)介紹常用的API函數(shù)功能及使用,。

    (1)初始化PCI-5010-D
    打開PCI-5010-D時(shí),,必須按照?qǐng)D3所示的順序來(lái)操作,即需要經(jīng)歷打開,、初始化參數(shù),、添加節(jié)點(diǎn)、保存配置,、主站上線,、掃描等步驟。在關(guān)閉PCI-5010-D時(shí),,其操作與初始化的流程相反,,啟動(dòng)PCI-5010-D操作代碼如下:
void OnStartDeviceNet(void){
    ......
    ZDNMA _Open(1,0,0);    //打開PCI-5010-D
    ZDNMA_Init(1, 0, 0, (ZDNMA_INITCFG *)&Config, 0);
//初始化協(xié)議及配置主站
    ZDNMA_AddSlave(0, (ZDNMA_SLAVECONFIG *)
&SlaveConfig);//添加節(jié)點(diǎn)
    ZDNMA_SaveCfg(0);//保存當(dāng)前通道的配置
    ZDNMA_Online(0);    //主站上線
    ZDNMA_StartScan(0); }//開始掃描從站節(jié)點(diǎn)
void CloseDevice(void){
    ......
    ZDNMA_StopScan(0);//停止掃描從站節(jié)點(diǎn)
    ZDNMA_Offline(0);//主站下線
    ZDNMA_Uninit(0);//關(guān)閉通道
    ZDNMA_Close(1,0);}//關(guān)閉設(shè)備
    (2)接收發(fā)送從站節(jié)點(diǎn)I/O數(shù)據(jù)
    DeviceNet主站設(shè)備能接收和發(fā)送網(wǎng)絡(luò)中所有從站節(jié)點(diǎn)不同連接的I/O數(shù)據(jù),,只需要簡(jiǎn)單地調(diào)用讀寫從站函數(shù)即可,,其實(shí)現(xiàn)代碼可參考如下程序,。
void IODataTranstmit(void){
    .....
    ZDNMA_ReadSlaveIO(0, NodeID, POLL, pBuffer, datalen, 1000); //讀NodeID的輪詢數(shù)據(jù),長(zhǎng)度為datalen,,超時(shí)1 s
    ZDNMA_WriteSlaveIO(0, NodeID, POLL, pBuffer, datalen, 1000);//寫NodeID的輪詢數(shù)據(jù),,長(zhǎng)度為datalen,超時(shí)1 s
}
    (3)顯式報(bào)文發(fā)送和接收
    作為一個(gè)DeviceNet主站設(shè)備應(yīng)該具備UCMM服務(wù)器,、客服端的功能,,這樣就可以通過(guò)顯式報(bào)文來(lái)訪問(wèn)網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的任意對(duì)象數(shù)據(jù),其中包括下載和上傳數(shù)據(jù),,其操作可參考如下代碼,。
void SDOTranstmit(void){
    .....
    ZDNMA_EMRequest(0, dwSlaveID, dwService,  dwClassID, dwInstanceID, pServiceData, dwSize, pReceiveData, dwRecSize, dwWaitTime);//填寫相應(yīng)的參數(shù),讀取或修改網(wǎng)絡(luò)上對(duì)象屬性
}
    (4)其他功能
    PCI-5010-D除具有如上所述的基本功能之外,,還具有其他一些DeviceNet相關(guān)的功能特性,,例如獲取指定從站的當(dāng)前工作狀態(tài)、獲取設(shè)備信息功能,、支持ODVA一致性測(cè)試軟件等等(具體操作可參考API函數(shù)庫(kù)手冊(cè)),。這些功能都為開發(fā)一個(gè)完整的DeviceNet主站設(shè)備提供了必備條件。
6 結(jié)語(yǔ)
    經(jīng)過(guò)以上步驟,,通過(guò)調(diào)用PCI-5010-D的API函數(shù)庫(kù)實(shí)現(xiàn)一個(gè)特定功能的DeviceNet主站設(shè)備,。PCI-5010-D的DeviceNet協(xié)議棧經(jīng)過(guò)嚴(yán)格的測(cè)試,能兼容其他的DeviceNet設(shè)備,,同時(shí)還可利用測(cè)試軟件對(duì)DeviceNet網(wǎng)絡(luò)進(jìn)行配置并檢測(cè)運(yùn)行狀態(tài),。
    廣州致遠(yuǎn)電子有限公司于2002年8月加入ODVA協(xié)會(huì),并提供各種接口的DeviceNet接口卡,、DeviceNet終端設(shè)備(包括數(shù)據(jù)采集、電機(jī)控制等),、DeviceNet分析儀,、網(wǎng)關(guān)及網(wǎng)橋、OPC服務(wù)器以及基于DeviceNet協(xié)議的整套組網(wǎng)方案及應(yīng)用開發(fā),。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。