99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于DeviceNet總線與ModBus總線的設(shè)備通信設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-12-04 08:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

DeviceNet是一種基于CAN總線技術(shù)的符合全球工業(yè)標(biāo)準(zhǔn)的開(kāi)放型現(xiàn)場(chǎng)總線通信網(wǎng)絡(luò),它用于控制,配置和數(shù)據(jù)采集等方面。CAN 總線具有布線簡(jiǎn)單、典型的總線型結(jié)構(gòu)、穩(wěn)定可靠、實(shí)時(shí)、抗干擾能力強(qiáng)、傳輸距離遠(yuǎn)、布線成本低等特點(diǎn)。由于具備了這些特點(diǎn),Devi-ceNet總線被廣泛應(yīng)用于工業(yè)自動(dòng)化控制,它不僅可以接入更多,更復(fù)雜的設(shè)備,還可以為上層提供更多的信息和服務(wù)。在很多歐美國(guó)家,越來(lái)越多的系統(tǒng)方案設(shè)計(jì)采用DeviceNet來(lái)實(shí)現(xiàn)。

ModBus協(xié)議是應(yīng)用于電子控制器上的一種通用語(yǔ)言,是全球第一個(gè)真正用于工業(yè)現(xiàn)場(chǎng)的總線協(xié)議,由于該協(xié)議的產(chǎn)生,使控制器之間、控制器經(jīng)由網(wǎng)絡(luò)和其他設(shè)備之間實(shí)現(xiàn)相互通信。ModBus協(xié)議現(xiàn)在已經(jīng)成為一種通用的工業(yè)標(biāo)準(zhǔn),應(yīng)用該協(xié)議技術(shù)可以使不同廠商生產(chǎn)的控制設(shè)備連成一個(gè)工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控管理。此協(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu)體,從而使用戶不需要關(guān)心它們使用哪種網(wǎng)絡(luò)進(jìn)行通信。它描述了一個(gè)控制器請(qǐng)求訪問(wèn)其他設(shè)備的過(guò)程,如何回應(yīng)來(lái)自其他設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。

本文主要解決DeviceNet 與ModBus 之間的協(xié)議轉(zhuǎn)換問(wèn)題。標(biāo)準(zhǔn)的ModBus口是使用RS-232C兼容串行接口,它定義了連接口的針腳、電纜、信號(hào)位、傳輸波特率、奇偶校驗(yàn)??刂破髂苤苯踊蚪?jīng)由Modem 組網(wǎng)?;贒eviceNet 的嵌入式I/O 模塊通過(guò)I/O 口發(fā)送和接收數(shù)據(jù),ModBus通過(guò)串口與嵌入式I/O模塊進(jìn)行通信。通過(guò)此過(guò)程完成DeviceNet與ModBus之間的協(xié)議轉(zhuǎn)換問(wèn)題。

1 嵌入式I/O模塊的設(shè)計(jì)與實(shí)現(xiàn)

DeviceNet是一種上層的應(yīng)用層協(xié)議,其物理層和數(shù)據(jù)鏈路層采用CAN總線技術(shù),ModBus協(xié)議只是用于數(shù)據(jù)鏈路層上的協(xié)議[1].這兩種現(xiàn)場(chǎng)總線是異構(gòu)的,因此要實(shí)現(xiàn)兩種協(xié)議之間的通信,必須要進(jìn)行協(xié)議轉(zhuǎn)換。協(xié)議轉(zhuǎn)換的轉(zhuǎn)換過(guò)程是分層次進(jìn)行的。首先把總線設(shè)備發(fā)送過(guò)來(lái)的設(shè)備逐層解包,得到需要的數(shù)據(jù),然后再把數(shù)據(jù)按另一協(xié)議所需的方式打包,發(fā)送到相應(yīng)的設(shè)備上。

DeviceNet與ModBus協(xié)議都采用主從通信模式,所以它們之間的通信只能是單向的,主站發(fā)送命令報(bào)文而從站被動(dòng)接收命令報(bào)文。本設(shè)計(jì)中的嵌入式I/O模塊既是De-viceNet從站,又是ModBus的主站。通過(guò)該模塊可以實(shí)現(xiàn)DeviceNet主站的數(shù)據(jù)與ModBus從站的數(shù)據(jù)進(jìn)行傳輸。

嵌入式I/O模塊的功能是把DeviceNet格式的報(bào)文轉(zhuǎn)換為ModBus的報(bào)文命令,再傳給底層的ModBus設(shè)備,設(shè)備在接收到ModBus命令之后,會(huì)向報(bào)文轉(zhuǎn)換模塊發(fā)送ModBus格式的響應(yīng)報(bào)文,最后經(jīng)協(xié)議轉(zhuǎn)換模塊將報(bào)文轉(zhuǎn)換為DeviceNet格式的報(bào)文傳輸給DeviceNet主站。本嵌入式I/O模塊既是DeviceNet的從站實(shí)現(xiàn)接收主站報(bào)文并做出響應(yīng)的功能,同時(shí)又可以作為ModBus的主站向其他ModBus設(shè)備發(fā)送報(bào)文并接收響應(yīng)報(bào)文。

本設(shè)計(jì)采用的處理器LPC2129,硬件結(jié)構(gòu)如圖1所示。它是NXP 公司的32 位工業(yè)級(jí)ARM7 處理器,其內(nèi)部集成了兩個(gè)CAN 控制器,在一片處理器內(nèi)首先將主站端的DeviceNet協(xié)議數(shù)據(jù)轉(zhuǎn)換成中間協(xié)議數(shù)據(jù),之后轉(zhuǎn)換成ModBus可以識(shí)別的協(xié)議數(shù)據(jù)。

撥碼開(kāi)關(guān)用來(lái)設(shè)置DeviceNet 端的波特率及MAC地址,其中波特率的開(kāi)關(guān)為3 位,分別代表125 Kb/s,250 Kb/s,500 Kb/s;MAC地址的開(kāi)關(guān)為6位,地址為0~63.

RS 232 既可作為程序下載接口,也可作為通用的RS 232串口實(shí)現(xiàn)與上位機(jī)的通信。系統(tǒng)的供電電源采用24 V的直流供電,并在內(nèi)部將24 V電源轉(zhuǎn)化為模塊需要的5 V,3.3 V及1.8 V電壓電源。

基于DeviceNet總線與ModBus總線的設(shè)備通信設(shè)計(jì)

2 DeviceNet 和ModBus 協(xié)議介紹

2.1 DeviceNet協(xié)議規(guī)范

DeviceNetTM規(guī)范由Rockwell 公司開(kāi)發(fā),并將其作為一個(gè)基于CAN協(xié)議的開(kāi)放式現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)而公布。與其他現(xiàn)場(chǎng)總線相比,它具有突出的高可靠性、實(shí)時(shí)性和靈活性。其主要技術(shù)特點(diǎn)可歸納為:

(1)采用CAN物理層和數(shù)據(jù)鏈路層規(guī)約,使用CAN規(guī)約芯片,從而有強(qiáng)大的支持。

(2)可以容納64個(gè)節(jié)點(diǎn)地址,每個(gè)節(jié)點(diǎn)支持無(wú)限個(gè)的I/O口;

(3)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),節(jié)點(diǎn)設(shè)備配電方式靈活,可網(wǎng)絡(luò)統(tǒng)一配電或自行供電;

(4)網(wǎng)絡(luò)速度可選125 Kb/s,250 Kb/s 和500 Kb/s;有誤接線保護(hù)功能;

(5)數(shù)據(jù)傳送方式多樣,支持選通、輪詢、循環(huán)、狀態(tài)變化等方式;

(6)采用逐位仲裁機(jī)制實(shí)現(xiàn)按優(yōu)先級(jí)發(fā)送信息;

(7)支持輪詢或狀態(tài)改變(基于事件),多主站和主從,支持從設(shè)備的即用即拔,無(wú)需網(wǎng)絡(luò)斷電。

DeviceNet是面向連接服務(wù)的網(wǎng)絡(luò),任意兩個(gè)節(jié)點(diǎn)的通信必須建立在邏輯連接的基礎(chǔ)上。建立連接時(shí)與連接相關(guān)的傳送會(huì)分配一個(gè)11位連接標(biāo)識(shí)符(Connec-tion ID,CID),連接標(biāo)識(shí)符由設(shè)備媒體訪問(wèn)控制標(biāo)識(shí)符(MAC ID)和信息標(biāo)識(shí)符(Message ID)兩部分組成。連接建立后設(shè)備可通過(guò)發(fā)送釋放連接或刪除連接請(qǐng)求服務(wù)來(lái)斷開(kāi)連接。在某個(gè)特定的連接上長(zhǎng)時(shí)間沒(méi)有進(jìn)行通信,這個(gè)通信將自動(dòng)斷開(kāi)以釋放資源。其中,MAC ID可通過(guò)硬件設(shè)定,也可通過(guò)軟件來(lái)配置。標(biāo)識(shí)符分為四組,如圖2所示。DeviceNet連接分為顯式信息連接和I/O連接。

基于DeviceNet總線與ModBus總線的設(shè)備通信設(shè)計(jì)

2.2 DeviceNet與CAN

DeviceNet總線協(xié)議是基于CAN總線技術(shù)的。它的數(shù)據(jù)鏈路層完全遵循CAN 規(guī)范的定義,并通過(guò)CAN 控制器芯片實(shí)現(xiàn)。它只使用CAN 2.0A 中的定義,不支持CAN 2.0B中的擴(kuò)展報(bào)文格式。DeviceNet只用125 Kb/s,250 Kb/s,500 Kb/s 三種可選速率,達(dá)不到CAN 的最高通信速率1 Mb/s.DeviceNet 只使用數(shù)據(jù)幀,錯(cuò)誤幀和超載幀三種幀表示和控制,并未使用CAN 中定義的遠(yuǎn)程幀。

DeviceNet 在CAN 總線的基礎(chǔ)上又增加了面向?qū)ο蟆⒒谶B接的現(xiàn)代通信技術(shù)理念,并開(kāi)發(fā)了應(yīng)用層。

其應(yīng)用層規(guī)定了CAN 數(shù)據(jù)幀的使用方法、重復(fù)節(jié)點(diǎn)地址檢測(cè)機(jī)制、對(duì)象模型及設(shè)備的標(biāo)準(zhǔn)化。使DeviceNet的應(yīng)用更廣泛,安全性更好。

2.3 ModBus協(xié)議介紹

ModBus 是一種應(yīng)用于工業(yè)控制器的網(wǎng)絡(luò)通信協(xié)議,它是由Modicon 公司開(kāi)發(fā)的,主要應(yīng)用于電子控制器方面,現(xiàn)已成為一種通用工業(yè)標(biāo)準(zhǔn)。該協(xié)議支持傳統(tǒng)的RS 232,RS 422,RS 485和以太網(wǎng)設(shè)備。它定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),使用者不需要關(guān)心它們內(nèi)部的網(wǎng)絡(luò)通信方式??刂破髋c控制器,控制器與其他設(shè)備之間(通過(guò)網(wǎng)絡(luò))的通信都要通過(guò)ModBus協(xié)議來(lái)實(shí)現(xiàn)。ModBus 協(xié)議制定了消息域格局和內(nèi)容的公共格式,并詳細(xì)描述了一個(gè)控制器請(qǐng)求訪問(wèn)其他設(shè)備的過(guò)程以及如何回應(yīng)其他設(shè)備的請(qǐng)求,以及偵測(cè)錯(cuò)誤并記錄的過(guò)程。當(dāng)使用ModBus網(wǎng)絡(luò)進(jìn)行通信時(shí),按照此協(xié)議的規(guī)定,每個(gè)控制器需要知道它們的設(shè)備地址,并能識(shí)別按地址發(fā)來(lái)的消息,根據(jù)這些信息決定要產(chǎn)生的動(dòng)作。

ModBus協(xié)議的消息也能在其他網(wǎng)絡(luò)上進(jìn)行傳輸,只需要將消息轉(zhuǎn)換為適用于其他網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)即可。

ModBus分為兩種傳輸模式,ASCII和RTU模式。本文采用RTU模式進(jìn)行說(shuō)明??刂破魇褂弥?從技術(shù)進(jìn)行通信,能直接或經(jīng)由調(diào)制解調(diào)器(Modem)組網(wǎng)。網(wǎng)絡(luò)上的每個(gè)從站必須有惟一的地址。地址范圍為1~247.

從站地址用于尋址從站設(shè)備。ModBus通信由主節(jié)點(diǎn)發(fā)起,即僅主設(shè)備能發(fā)起數(shù)據(jù)傳輸(即查詢),從設(shè)備根據(jù)主設(shè)備查詢提供的數(shù)據(jù)做出回應(yīng)信息或響應(yīng)動(dòng)作。主設(shè)備以單播或廣播模式與從設(shè)備通信。在單播模式下,從設(shè)備返回消息作為回應(yīng),在廣播模式下,不作任何回應(yīng)(地址0作為廣播地址)。ModBus協(xié)議建立了主設(shè)備查詢的格式:設(shè)備(或廣播)地址、功能代碼、所有要發(fā)送的數(shù)據(jù)、錯(cuò)誤檢測(cè)域,具體的ModBus 協(xié)議通信過(guò)程如圖3所示。

從設(shè)備回應(yīng)消息也由ModBus協(xié)議構(gòu)成,包括確認(rèn)要行動(dòng)的域、要返回的數(shù)據(jù)、和錯(cuò)誤檢測(cè)域。如果在消息接收過(guò)程中發(fā)生錯(cuò)誤,或從設(shè)備不能執(zhí)行其命令,從設(shè)備將建立錯(cuò)誤消息并把它作為回應(yīng)發(fā)送出去。

對(duì)于ModBus通信協(xié)議,信息傳輸為異步方式,以字節(jié)為單位傳送。報(bào)文的信息幀格式分為獨(dú)立的信息頭和發(fā)送的編碼數(shù)據(jù)兩部分,其報(bào)文結(jié)構(gòu)如圖4所示,下面分別介紹。

基于DeviceNet總線與ModBus總線的設(shè)備通信設(shè)計(jì)

基于DeviceNet總線與ModBus總線的設(shè)備通信設(shè)計(jì)

地址碼為通信傳送的第一個(gè)字節(jié)。每個(gè)從機(jī)都有具有惟一的地址碼,響應(yīng)回送以各自的地址碼開(kāi)始。主機(jī)發(fā)送的地址碼表明將發(fā)送到的從機(jī)地址,而從機(jī)發(fā)送的地址碼表明回送的從機(jī)地址。

功能碼為通信傳送的第二個(gè)字節(jié)。ModBus通信規(guī)約定義功能號(hào)為1~127.作為主機(jī)請(qǐng)求發(fā)送,通過(guò)功能碼告訴從機(jī)執(zhí)行什么動(dòng)作。作為從機(jī)響應(yīng),從機(jī)發(fā)送的功能碼與從主機(jī)發(fā)送來(lái)的功能碼一樣,并表明從機(jī)已響應(yīng)主機(jī)進(jìn)行操作。

數(shù)據(jù)區(qū)是根據(jù)不同的功能碼而不同。數(shù)據(jù)區(qū)可以是實(shí)際數(shù)值、設(shè)置點(diǎn)、主機(jī)發(fā)送給從機(jī)或從機(jī)發(fā)送給主機(jī)的地址。CRC碼為字節(jié)的錯(cuò)誤檢測(cè)碼。

當(dāng)通信命令發(fā)送給接收設(shè)備時(shí),符合相應(yīng)地址碼的設(shè)備接通信命令,將地址碼去掉,獲取真正的命令內(nèi)容,判斷是否有誤,無(wú)誤則執(zhí)行相應(yīng)的任務(wù)并把執(zhí)行結(jié)果返送給發(fā)送者?;厮偷男畔⒅邪ǖ刂反a、執(zhí)行動(dòng)作的功能碼、執(zhí)行動(dòng)作后結(jié)果的數(shù)據(jù)以及錯(cuò)誤校驗(yàn)碼,如果出錯(cuò)就不發(fā)送任何信息。

3 嵌入式I/O模塊的設(shè)計(jì)與實(shí)現(xiàn)

協(xié)議轉(zhuǎn)換模塊的功能是把DeviceNet格式的命令報(bào)文轉(zhuǎn)換為ModBus的報(bào)文命令,再傳給底層的ModBus設(shè)備,設(shè)備在接收到ModBus命令之后,會(huì)向報(bào)文轉(zhuǎn)換模塊發(fā)送ModBus格式的響應(yīng)報(bào)文,最后經(jīng)協(xié)議轉(zhuǎn)換模塊將報(bào)文轉(zhuǎn)換為Devicenet 格式的報(bào)文傳輸給DeviceNet 主站。本I/O 模塊既是DeviceNet的從站實(shí)現(xiàn)接收主站報(bào)文并做出響應(yīng)的功能,同時(shí)又可以作為ModBus的主站向其他ModBus設(shè)備發(fā)送報(bào)文并接收響應(yīng)報(bào)文。

3.1 架構(gòu)設(shè)計(jì)

本程序采用中斷的方法來(lái)實(shí)現(xiàn)兩種報(bào)文的收發(fā)及轉(zhuǎn)換。本系統(tǒng)主要包括系統(tǒng)初始化,主處理程序和收發(fā)數(shù)據(jù)三部分。整體結(jié)構(gòu)如圖5所示。

基于DeviceNet總線與ModBus總線的設(shè)備通信設(shè)計(jì)

3.2 DeviceNet從站協(xié)議代碼

為了實(shí)現(xiàn)DeviceNet 通信模塊與ModBus 模塊通過(guò)DeviceNet 現(xiàn)場(chǎng)總線進(jìn)行數(shù)據(jù)傳輸,需要開(kāi)發(fā)一個(gè)Devi-ceNet 從站節(jié)點(diǎn)。一個(gè)僅限組2 的DeviceNet 從站在通信模塊中以軟件的形式實(shí)現(xiàn),從站確保通信模塊能夠通過(guò)DeviceNet 接口接收到主站的數(shù)據(jù)。DeviceNet 從站代碼組成一套可以移植到其他DeviceNet從站產(chǎn)品上的DeviceNet協(xié)議棧,該協(xié)議棧的主要特點(diǎn)如下:

(1)支持DeviceNet預(yù)定義主/從連接模式;

(2)支持報(bào)文類型:Poll,Strobe,Change of State/Cyclic.

通過(guò)DeviceNet協(xié)議棧,嵌入式I/O模塊可以與主站建立顯式信息連接以及I/O 連接。DeviceNet主/從站連接的過(guò)程,當(dāng)主站發(fā)送一個(gè)請(qǐng)求命令時(shí),DeviceNet必須對(duì)其進(jìn)行響應(yīng)。本嵌入式I/O 模塊屬于僅限組2設(shè)備,一個(gè)DeviceNet的組2 服務(wù)器在通過(guò)重復(fù)MAC ID 檢測(cè)上線后,需等待客戶機(jī)分配預(yù)定義主/從連接組并建立顯式信息連接,通過(guò)客戶機(jī)的配置和驗(yàn)證后建立輪詢的I/O連接。

根據(jù)DeviceNet主/從站的連接過(guò)程,DeviceNet從站必須對(duì)主站的請(qǐng)求進(jìn)行響應(yīng),具體的通信過(guò)程如圖6所示。

基于DeviceNet總線與ModBus總線的設(shè)備通信設(shè)計(jì)

4 嵌入式I/O模塊的應(yīng)用層軟件設(shè)計(jì)

應(yīng)用層程序調(diào)用協(xié)議棧相關(guān)函數(shù)接收DeviceNet主站端的DeviceNet數(shù)據(jù),然后轉(zhuǎn)換為ModBus的通信規(guī)約格式,送入UART 口后傳送到ModBus 從站。反之,當(dāng)ModBus從站發(fā)送讀命令后,若收到DeviceNet主站的響應(yīng)數(shù)據(jù),則將該UART 口的數(shù)據(jù)轉(zhuǎn)換為DeviceNet 規(guī)約格式并打包發(fā)返回到DeviceNet 主站。最終實(shí)現(xiàn)Devi-ceNet 和ModBus 之間的雙向數(shù)據(jù)交換。如圖7 所示為主程序流程圖。

基于DeviceNet總線與ModBus總線的設(shè)備通信設(shè)計(jì)

上電后,嵌入式I/O模塊啟動(dòng),首先進(jìn)行一次自檢,檢測(cè)它的MAC ID,波特率,E2PROM.自檢通過(guò)后,對(duì)LPC2129進(jìn)行初始化,打開(kāi)CAN收發(fā)中斷。在主循環(huán)里首先查看是否有新的DeviceNet主站數(shù)據(jù),若有則將它轉(zhuǎn)換為UART 的格式寫(xiě)到ModBus 內(nèi)部。若無(wú)新數(shù)據(jù),則直接進(jìn)入下一步,發(fā)送讀ModBus主站命令,每發(fā)一條等待響應(yīng),若在等待周期內(nèi)收到響應(yīng),則在接收中斷內(nèi)將接收到的ModBus從站數(shù)據(jù)轉(zhuǎn)換為DeviceNet數(shù)據(jù)。

在嵌入式I/O模塊自檢過(guò)程中可以根據(jù)指示燈的情況判斷自檢是否成功,只有在自檢成功后才進(jìn)行CAN總線初始化。

void SelfCheck(void)是I/O 模塊自檢函數(shù)。在自檢過(guò)程中需要調(diào)用控制燈初始化函數(shù)和控制函數(shù),voidinit_led(void),void net_led_ctrl(_U08 ctrl_para)。控制燈一共有6個(gè),端口號(hào)分別為P0.8~P1.3.通過(guò)這6個(gè)燈的亮滅分別驗(yàn)證波特率,MAC ID,網(wǎng)絡(luò),E2PROM 是否正確。

在本工程中添加uart.h 和uart.c 文件,其中INT8UUART0_Ini(INT32U baud,UARTMODE set)(void)是串口初始化程序,在該程序中主要實(shí)現(xiàn)參數(shù)過(guò)濾,設(shè)置串口波特率,設(shè)置串口模式的功能。

void SendBytes(INT8U *data,INT8U len)(void)按字節(jié)發(fā)送數(shù)據(jù)函數(shù)。

void IRQ_UART0(void)(void)串口UART0 接收中斷。在該函數(shù)中比較是否有新數(shù)據(jù)產(chǎn)生,在有新數(shù)據(jù)的情況下進(jìn)行中斷處理。

void uart0_oper()是串口數(shù)據(jù)處理函數(shù)。

void init_uart0(INT32U bandrate_uart)(void)初始化中斷啟動(dòng)函數(shù),在該函數(shù)中進(jìn)行設(shè)置I/O 連接到UART0,設(shè)置中斷允許等操作。

部分程序如下:

基于DeviceNet總線與ModBus總線的設(shè)備通信設(shè)計(jì)

其中的中斷通道號(hào)是可以修改的,但是在一個(gè)工程中不能重復(fù)。VICVectAddr6中的6即為通道號(hào),0×26和(1《6)中的6為中斷向量,各種中斷向量是確定的,不可隨意更改。

void DnsPollRequestUpdate(void)是DeviceNet協(xié)議棧部分DeviceNet數(shù)據(jù)的處理函數(shù),它在嵌入式I/O模塊接收到一個(gè)完整的輪詢請(qǐng)求后被調(diào)用。該函數(shù)首先對(duì)本次接收到的數(shù)據(jù)和上次接收到的數(shù)據(jù)進(jìn)行比較,只有當(dāng)不同時(shí)才將接收到的新數(shù)據(jù)賦給aubAppOldConsData[i]以便被串口通過(guò)中斷方式讀取后寫(xiě)到ModBus主站。

這樣不僅減輕了MCU的處理負(fù)擔(dān),還避免了ModBus主站寄存器的不斷寫(xiě)入。

void DnsPollResponseUpdate(void)也是DeviceNet協(xié)議棧部分DeviceNet數(shù)據(jù)的處理函數(shù),它在通信模塊進(jìn)行輪詢響應(yīng)前被調(diào)用。該函數(shù)將讀ModBus從站命令獲得的數(shù)據(jù)_U08 aubAppNewProdData[i]賦給aubApp-PollProdData[ubCntByte]作為輪詢響應(yīng)。

5 結(jié)論

本設(shè)計(jì)采用NXP公司的ARM7處理器LPC2129,實(shí)現(xiàn)了基于DeviceNet總線的PCI5010-D主站與基于Mod-Bus 總線的設(shè)備之間的通信。充分利用了LPC2129 的CAN控制器設(shè)計(jì)和UART接口,一個(gè)接PCI5010-D主站端的DeviceNet總線,另一個(gè)接ModBus端。主站,從站和I/O模塊同時(shí)上電后,PCI5010-D主站與I/O模塊間的DeviceNet總線先建立連接后進(jìn)行I/O 輪詢,PCI5010-D主站的輸出通過(guò)I/O模塊的轉(zhuǎn)換后通過(guò)UART接口被寫(xiě)入ModBus相應(yīng)的寄存器。然后I/O 模塊發(fā)出讀命令并將ModBus 的返回值轉(zhuǎn)換為DeviceNet總線格式作為輪詢輸入返回到PCI5010-D 主站。這樣便完成了一個(gè)完整的信息交換過(guò)程。

嵌入式I/O在實(shí)際的工作環(huán)境下經(jīng)過(guò)嚴(yán)格的測(cè)試,能夠滿足模塊化、數(shù)字化、網(wǎng)絡(luò)化要求。DeviceNet從站代碼經(jīng)過(guò)了ODVA 的一致性測(cè)試,可移植到其他的產(chǎn)品上。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19899

    瀏覽量

    235433
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17116

    瀏覽量

    184443
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2961

    瀏覽量

    89803
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于 DeviceNet 轉(zhuǎn) MODBUS RTU 協(xié)議的施耐德 PLC 與 ABB 電機(jī)驅(qū)動(dòng)器倉(cāng)儲(chǔ)堆垛機(jī)的定位控制優(yōu)化方案?

    DeviceNet網(wǎng)關(guān)通信的數(shù)據(jù)標(biāo)簽,明確需要從 MODBUS RTU 設(shè)備獲取的數(shù)據(jù)(如貨架貨物重量數(shù)據(jù))以及要發(fā)送給電機(jī)驅(qū)動(dòng)器控制器的控制指令數(shù)據(jù)區(qū)域。? 網(wǎng)關(guān)配置? 利用串口線
    發(fā)表于 05-03 10:45

    基于DeviceNet總線的智能配電應(yīng)用

    及故障報(bào)警信息的紀(jì)錄,與高可靠性的要求不相符,有進(jìn)一步改造的必要和需求。 國(guó)內(nèi)領(lǐng)先工業(yè)通信系統(tǒng)集成商泗博公司為該計(jì)算機(jī)機(jī)房開(kāi)發(fā)了基于DeviceNet總線的智能配電系統(tǒng)iPDS(Intelligent
    發(fā)表于 03-21 16:32

    現(xiàn)場(chǎng)總線通信網(wǎng)關(guān)能夠?qū)崿F(xiàn)什么?

    給出了軟硬件設(shè)計(jì)方案。該網(wǎng)關(guān)的創(chuàng)新點(diǎn)在于定義了CANBUS的應(yīng)用層協(xié)議,使用該嵌入式現(xiàn)場(chǎng)總線通信網(wǎng)關(guān)構(gòu)建的總線融合通信網(wǎng)絡(luò)能夠完全兼容CANBUS和
    發(fā)表于 08-26 06:05

    DeviceNet總線特點(diǎn)及產(chǎn)品設(shè)計(jì)

    摘要總結(jié)了DeviceNet總線的幾大特點(diǎn),并結(jié)合DeviceNet產(chǎn)品設(shè)計(jì)的實(shí)際情況對(duì)DeviceNet協(xié)議進(jìn)行了綜合分析和論述。關(guān)鍵詞Devic
    發(fā)表于 10-18 14:20 ?38次下載

    DeviceNet總線特點(diǎn)及產(chǎn)品設(shè)計(jì)

    總結(jié)了DeviceNet總線的幾大特點(diǎn),并結(jié)合DeviceNet產(chǎn)品設(shè)計(jì)的實(shí)際情況對(duì)DeviceNet協(xié)議進(jìn)行了綜合分析和論述。關(guān)鍵詞DeviceN
    發(fā)表于 01-07 22:01 ?9次下載

    基于DeviceNet總線的控制系統(tǒng)

    本文主要介紹基于當(dāng)今流行的現(xiàn)場(chǎng)總線DeviceNet (設(shè)備網(wǎng))和CompoBus/D 的控制系統(tǒng),闡述了三級(jí)計(jì)算機(jī)通信網(wǎng)絡(luò)體系和工業(yè)控制網(wǎng)絡(luò)技術(shù)的應(yīng)用。作者基于此網(wǎng)絡(luò)對(duì)同一個(gè)對(duì)象(電
    發(fā)表于 09-26 09:58 ?20次下載

    VC實(shí)現(xiàn)OPC技術(shù)在DeviceNet總線中的應(yīng)用

    VC實(shí)現(xiàn)OPC技術(shù)在DeviceNet總線中的應(yīng)用:目前的組態(tài)軟件受制于硬件驅(qū)動(dòng),OPC 技術(shù)的提出可以解決這一問(wèn)題。本文介紹了OPC 技術(shù)的產(chǎn)生背景和規(guī)范,以及OPC 技術(shù)在DeviceNet 現(xiàn)場(chǎng)
    發(fā)表于 11-14 12:55 ?25次下載

    DeviceNet現(xiàn)場(chǎng)總線的構(gòu)建、對(duì)軟硬件的要求及應(yīng)用分析

    DeviceNet是由一種基于CAN的開(kāi)放的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),DeviceNet協(xié)議具有開(kāi)放性、設(shè)計(jì)簡(jiǎn)單、速率快且成本低廉等特點(diǎn),自20世紀(jì)末廣泛應(yīng)用以來(lái),日益受到制造業(yè)的廣泛注意和高度重視
    的頭像 發(fā)表于 03-26 08:09 ?7930次閱讀
    <b class='flag-5'>DeviceNet</b>現(xiàn)場(chǎng)<b class='flag-5'>總線</b>的構(gòu)建、對(duì)軟硬件的要求及應(yīng)用分析

    Hart/DeviceNET/ProfiBUS/FF現(xiàn)場(chǎng)總線的介紹

    現(xiàn)場(chǎng)總線,英文為Fieldbus,是近年來(lái)在工業(yè)領(lǐng)域中迅速發(fā)展的一種數(shù)據(jù)總線。其功能是主要解決工業(yè)現(xiàn)場(chǎng)的智能化儀器儀表、控制器等現(xiàn)場(chǎng)設(shè)備間的數(shù)字通信過(guò)程,以及這些現(xiàn)場(chǎng)控制
    的頭像 發(fā)表于 06-09 16:08 ?6558次閱讀

    DEVICENET轉(zhuǎn)MODBUS-TCP網(wǎng)關(guān)應(yīng)用案例

    遠(yuǎn)創(chuàng)智控YC-DNT-TCP連接到DEVICENET總線中做為從站使用,連接到 MODBUS-TCP 總線中做為主站或從站使用。是自主研發(fā)的一款 D
    的頭像 發(fā)表于 07-03 15:29 ?980次閱讀
    <b class='flag-5'>DEVICENET</b>轉(zhuǎn)<b class='flag-5'>MODBUS</b>-TCP網(wǎng)關(guān)應(yīng)用案例

    DEVICENET轉(zhuǎn)MODBUS-TCP協(xié)議網(wǎng)關(guān)ethercat接口

    JM–DNT-TCP是自主研發(fā)的一款DEVICENET從站功能的通訊網(wǎng)關(guān)。該產(chǎn)品主要功能是將DEVICENET總線MODBUS-TCP網(wǎng)絡(luò)連接起來(lái)。 本網(wǎng)關(guān)連接到
    的頭像 發(fā)表于 08-10 09:30 ?1139次閱讀
    <b class='flag-5'>DEVICENET</b>轉(zhuǎn)<b class='flag-5'>MODBUS</b>-TCP協(xié)議網(wǎng)關(guān)ethercat接口

    半導(dǎo)體設(shè)備如何將Modbus信號(hào)轉(zhuǎn)為DeviceNet

    在半導(dǎo)體行業(yè),設(shè)備的控制系統(tǒng)要求其信息傳輸具有速度快、精度高等特性,然而系統(tǒng)中有各類組件需互聯(lián)互通,涉及到Modbus設(shè)備DeviceNet設(shè)備
    的頭像 發(fā)表于 08-30 08:26 ?577次閱讀
    半導(dǎo)體<b class='flag-5'>設(shè)備</b>如何將<b class='flag-5'>Modbus</b>信號(hào)轉(zhuǎn)為<b class='flag-5'>DeviceNet</b>

    DEVICENET 總線轉(zhuǎn)MODBUS-TCP協(xié)議網(wǎng)關(guān)連接臺(tái)達(dá)plc配置方法

    可以更方便地進(jìn)行數(shù)據(jù)傳輸和通信,提高生產(chǎn)力和效率。下面介紹下DEVICENET 總線轉(zhuǎn)MODBUS-TCP協(xié)議網(wǎng)關(guān)連接臺(tái)達(dá)plc配置方法
    的頭像 發(fā)表于 10-17 09:25 ?1265次閱讀
    <b class='flag-5'>DEVICENET</b> <b class='flag-5'>總線</b>轉(zhuǎn)<b class='flag-5'>MODBUS</b>-TCP協(xié)議網(wǎng)關(guān)連接臺(tái)達(dá)plc配置方法

    EtherCAT轉(zhuǎn)DeviceNet總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)

    作者的許多朋友均對(duì)如何實(shí)現(xiàn)EtherCAT網(wǎng)絡(luò)和DeviceNet網(wǎng)絡(luò)的連接互通感到十分困擾,現(xiàn)在為大家統(tǒng)一作出解釋。事實(shí)上,遠(yuǎn)創(chuàng)智控YC-ECT-DNT此款設(shè)備能夠完美地解決這一問(wèn)題。接下來(lái),作者
    的頭像 發(fā)表于 08-12 16:50 ?596次閱讀
    EtherCAT轉(zhuǎn)<b class='flag-5'>DeviceNet</b><b class='flag-5'>總線</b>協(xié)議轉(zhuǎn)換網(wǎng)關(guān)

    簡(jiǎn)述DEVICENET轉(zhuǎn)MODBUS TCP網(wǎng)關(guān)配置與應(yīng)用實(shí)例

    穩(wěn)聯(lián)技術(shù)所研發(fā)的DEVICENET轉(zhuǎn)MODBUS TCP網(wǎng)關(guān)(型號(hào)WL-PN-DVNM)是一款具備DEVICENET從站通訊功能的轉(zhuǎn)換設(shè)備。該設(shè)備
    的頭像 發(fā)表于 06-03 19:32 ?200次閱讀
    簡(jiǎn)述<b class='flag-5'>DEVICENET</b>轉(zhuǎn)<b class='flag-5'>MODBUS</b> TCP網(wǎng)關(guān)配置與應(yīng)用實(shí)例