国产强伦姧在线观看无码,中文字幕99久久亚洲精品,国产精品乱码在线观看,色桃花亚洲天堂视频久久,日韩精品无码观看视频免费

      上海锝秉工控設備有限公司
      免費會員
      德國倍加福P+F
      基恩士光纖放大器
      基恩士傳感器
      倍加福P+F傳感器
      SICK施克編碼器
      倍加福P+F編碼器
      倍加福P+F安全柵
      SICK西克
      MTL安全柵
      圖爾克TURCK
      BANNER邦納
      MTS傳感器
      BALLUFF巴魯夫
      IFM易福門
      PHOENIX CONTACT菲尼克斯
      歐姆龍OMRON
      HYDAC賀德克
      HEIDENHAIN海德漢
      SMC
      FESTO費斯托
      CKD喜開理
      Rexroth力士樂
      美國ASCO
      BURKERT寶德
      KOYO光洋編碼器
      變頻器
      瑞士通RESATRON編碼器
      萊卡LIKA編碼器
      HLE渡邊編碼器
      梅爾MEYLE編碼器
      海德HEDSS編碼器
      帝爾TR編碼器
      帝爾TR
      ELTRA意爾創(chuàng)編碼器
      海德漢HEIDENHAIN
      其它進口產(chǎn)品
      德國VEGA物位計
      庫伯勒

      DeviceNet總線應用層協(xié)議的實現(xiàn)

      時間:2013-10-31閱讀:639
      分享:

      一、DeviceNet簡介

      DeviceNet(設備網(wǎng))是20世紀90年代中期發(fā)展起來的一種基于CAN技術的開放型,低成本、高性能的通信網(wǎng)絡,目前已成為底層現(xiàn)場總線標準之一。在DeviceNet現(xiàn)場總線體系中屬于設備級的總線協(xié)議,在協(xié)議的分層結構中,它只包括ISO開放系統(tǒng)七層模型結構中三層,即物理層、數(shù)據(jù)鏈路層和應用層。

      DeviceNet是基于CAN總線實現(xiàn)的現(xiàn)場總線協(xié)議,因此它的許多特性*沿襲于CAN,是一種無沖突的載波偵聽總線協(xié)議。這樣的協(xié)議在載波偵聽方面與以太網(wǎng)是一樣的,它的特別之處是:當總線上的多個節(jié)點在偵聽到總線空閑時,同時向總線發(fā)送數(shù)據(jù)。

      在CAN總線中,被傳送的每一幀數(shù)據(jù)的優(yōu)先級是由位于幀頭的標識來決定,因此它們首先發(fā)送的是各自的標識數(shù)據(jù)。此時,只要有一個節(jié)點發(fā)送了位數(shù)據(jù)“0”,那么總線上的所有節(jié)點監(jiān)聽到的總線狀態(tài)就是“0”;相反,只有當同時發(fā)送數(shù)據(jù)的節(jié)點所發(fā)送的位數(shù)據(jù)為“1”時,總線的狀態(tài)才為“1”。因此,當某個節(jié)點偵聽到網(wǎng)絡空閑,開始發(fā)送標識數(shù)據(jù)以后,如果此節(jié)點在發(fā)送標識數(shù)據(jù)段的過程中,偵聽到的總線狀態(tài)與它自身所發(fā)送的數(shù)據(jù)位不一致,則此節(jié)點會認為有其他節(jié)點也在發(fā)送數(shù)據(jù),總線處于競爭狀態(tài),而且其他節(jié)點的發(fā)送數(shù)據(jù)具有更高的優(yōu)先級,zui終此節(jié)點停止發(fā)送數(shù)據(jù),節(jié)點返回至總線監(jiān)聽狀態(tài)。

      在目前的CAN2.0版本中,標識數(shù)據(jù)可以是11位或29位,DeviceNet只支持11位的標識,能夠產(chǎn)生2032種不同的標識。在總線中,為了保證在并發(fā)情況下數(shù)據(jù)傳輸?shù)囊恢滦?,不同的?jié)點所發(fā)送數(shù)據(jù)的標識是不同的,這樣才不會發(fā)生同時有多個節(jié)點傳輸各自的整個數(shù)據(jù)幀而產(chǎn)生沖突的情況。DeviceNet協(xié)議制定規(guī)范來確定每個DeviceNet節(jié)點數(shù)據(jù)幀標識的分配,其中對于應用極為普遍的M/S網(wǎng)絡,DeviceNet協(xié)議制定了一套預先定義好的CAN數(shù)據(jù)幀的標識分配方案。

      二、DeviceNet應用層協(xié)議

      DeviceNet的應用層協(xié)議是用面向對象的方法來進行描述。它對協(xié)議本身所應完成功能進行了抽象和定義,把協(xié)議功能劃分為多個模塊,每個模塊抽象出它所具有的屬性、完成的任務和與其他模塊的接口,然后把這個模塊對象化。DeviceNet應用層協(xié)議的對象模型如圖1所示:整個協(xié)議的結構是由對象為基本組成單元;對象之間通過數(shù)據(jù)交換相互。圖中用對象之間的連線來表示這些,下面對這些對象的功能作簡要介紹。非連接通訊對象是用于處理以本設備為目的地址的非連接數(shù)據(jù)包,它是這個設備與外部設備建立連接通訊的起始點。連接通訊對象的功能與非連接通訊對象的功能相對應,是完成對連接數(shù)據(jù)包的處理。路由對象對從上述2個通訊對象傳來的數(shù)據(jù)包,根據(jù)數(shù)據(jù)包所指示的目的對象地址或此數(shù)據(jù)包所完成的功能,把收到的數(shù)據(jù)分發(fā)到相應的對象。數(shù)據(jù)匯集對象把本設備所需傳輸?shù)臄?shù)據(jù)集合在一起,組成本設備預先定義的數(shù)據(jù)格式以便傳輸;而對于收到的數(shù)據(jù),按照一定的格式,抽取相應的數(shù)據(jù)發(fā)送給的對象。參數(shù)對象、設備身份對象和DeviceNet對象是對設備中的諸多參數(shù)的歸類、封裝,完成的功能比較簡單。應用對象是針對具體設備完成復雜功能的對象,例如在DeviceNet的協(xié)議規(guī)范中,除了定義了基本的模擬量和數(shù)字量應用對象外,對于軟啟動器有軟啟動應用對象,對于位置控制器有位置控制器應用對象等,而且像這樣定義的特定應用設備的對象還會隨著DeviceNet設備的發(fā)展而不斷增多。

      三、DeviceNet應用層協(xié)議實現(xiàn)

      在實際的DeviceNet產(chǎn)品應用中,目前都是M/S結構的協(xié)議實現(xiàn),而且應用中zui為普遍的是運用對CAN的標識進行預先定義分配的方式來實現(xiàn)DeviceNet網(wǎng)絡。以下介紹DeviceNet協(xié)議的實現(xiàn)。Redstation是DeviceNet的從設備,是一種智能開關設備,功能較為簡單,整個設備的應用層對象由4個數(shù)字量輸入和2個數(shù)字量輸出組成,通過預定義CAN標識來完成數(shù)據(jù)幀的傳送。

      1、硬件部分

      此設備的硬件部分主要由MCS51單片機8031,CAN控制器SJA1000,8 kb動態(tài)存儲器6264,64kb EPROM27512,CAN總線驅動器82c51以及相應的外圍電路組成,其原理圖如圖2所示。實際電路中還必須有相應的鎖存器、電源保護電路、看門狗電路和設置節(jié)點地址及波特率的撥碼開關等電路單元。

      2、應用層協(xié)議部分

      DeviceNet協(xié)議中,應用層協(xié)議的實現(xiàn)是通過編制程序來完成。此設備是基于單片機系統(tǒng)的,在實現(xiàn)過程中采用單片機的C語言。

      DeviceNet應用層協(xié)議是通過面向對象的方式加以描述的,其中對于協(xié)議中的各個對象都詳細定義了它們的屬性、數(shù)據(jù)類型等基本信息;而且通過事件觸發(fā)方式來具體定義了各個對象的行為:因此在實現(xiàn)過程中,*可以按照面向對象的編程方法來編制協(xié)議原代碼。

      在面向對象編程中,除了定義對象的屬性及行為以外,還要構造事件驅動的機制。這里指的事件驅動的機制包括事件的產(chǎn)生,事件隊列的實現(xiàn),事件處理優(yōu)先級的規(guī)定,以及事件的處理等。在一般的面向對象的編程中,主要是完成事件的處理,其它的與事件相關的事情都是由操作系統(tǒng)來完成,對編程者來說是透明的,而在此相關事情則必須編程實現(xiàn)。面向對象的程序實現(xiàn)框架使各個對象之間的體現(xiàn)的十分明確,對象之間的關聯(lián)都是與事件的觸發(fā)緊密相關,整個程序結構非常清晰。

      協(xié)議實現(xiàn)的軟件主體結構如圖3所示,整個軟件的編制工作都是圍繞著“事件”而展開的。“事件”是由外部中斷或程序內(nèi)部產(chǎn)生,在實際程序中用事件變量來實現(xiàn)事件隊列,它是一個無符號的整型變量,每個特定位代表某個具體的事件,如圖4所示。

       

      協(xié)議主程序的結構如圖5所示,在程序的開始是對DeviceNet協(xié)議中的對象的定義,C51編譯器不支持“類”,因此用“結構”類型來定義對象。在完成對CAN控制器和單片機芯片的初始化工作以后,主程序進入事件處理的無限循環(huán)。為了能夠及時響應高優(yōu)先級事件,在每完成一次事件的處理以后,都要執(zhí)行“e=global_event”語句,刷新事件中間變量e。事件的優(yōu)先級在定義事件的時候就已經(jīng)確定了,低數(shù)據(jù)位事件具有高的優(yōu)先級,如*個數(shù)據(jù)位表示IO輪訊請求事件,它就具有zui高的優(yōu)先級,其他事件的優(yōu)先級隨著在global_event中所被代表的數(shù)據(jù)位的上升而降低。高優(yōu)先級的事件的響應較低優(yōu)先級的事件為先,程序中“(e&IO_POLL_REQUEST)&&!(e&(IO_POLL_REQUEST-1))”語句是判定待執(zhí)行的事件是否是事件隊列中具有zui高優(yōu)先級的事件。在進入事件處理程序部分以后,首先清除事件隊列中的此事件,以表明此事件已得到響應,然后再進行相應的程序執(zhí)行。

      四、結束語

      DeviceNet的面向對象的協(xié)議描述能夠清晰地闡明協(xié)議各模塊之間的數(shù)據(jù)處理關系,此特點在實現(xiàn)中充分地體現(xiàn)出來;而且對象化的程序實現(xiàn)使得程序代碼可以很方便的重復使用,在開發(fā)不同的設備時,原先的設備原代碼大部分可以得到再利用,這樣可以縮短產(chǎn)品開發(fā)的時間,同時也利于在實際應用中的推廣。

      會員登錄

      ×

      請輸入賬號

      請輸入密碼

      =

      請輸驗證碼

      收藏該商鋪

      X
      該信息已收藏!
      標簽:
      保存成功

      (空格分隔,最多3個,單個標簽最多10個字符)

      常用:

      提示

      X
      您的留言已提交成功!我們將在第一時間回復您~
      在線留言