CANopen協(xié)議介紹(講義)_第1頁
CANopen協(xié)議介紹(講義)_第2頁
CANopen協(xié)議介紹(講義)_第3頁
CANopen協(xié)議介紹(講義)_第4頁
CANopen協(xié)議介紹(講義)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、CANopen協(xié)議介紹(講義) 2010-10-12 15:58:28| 分類: 技術文檔 | 標簽: |舉報 |字號大中小 訂閱 很長一段時間以來,很多人問我CANopen總線優(yōu)勢到底在什么地方,我也大體的給了口頭的講述,但是比較籠統(tǒng),沒辦法做到詳細解釋,加上純技術的話語比較晦澀,遇上內(nèi)行還能多聊幾句,如果是剛接觸的,那就是云里霧里了。這次正好要進行公司業(yè)務員培訓,要講講CANopen,在整理過程中把我的講義貼出來,希望能幫到大家,以下內(nèi)容是我講課的口述內(nèi)容,比較白話,不能作為資料,大家見諒,鑒于我整理也比較辛苦,也算個小小的知識產(chǎn)權,所以PPT我就不貼出來了。-講義內(nèi)容: 通常CANope

2、n協(xié)議相關的一些資料相對來說比較晦澀,非專業(yè)人士看起來比較困難。我盡量以淺顯易懂的方式將CANopen協(xié)議的框架和它在實際應用中存在的優(yōu)缺點展示給大家。我按照最先接觸的內(nèi)容由淺入深的講解,直接講CANopen協(xié)議會有點跳躍的感覺,所以,我以產(chǎn)品作為切入點,分析一下如何使用,在這個過程中,讓大家理解什么是CANopen協(xié)議。首先,我們拿到一個產(chǎn)品,比方說是編碼器,它的用途是作為位置傳感器,那我們就需要將編碼器送出的數(shù)據(jù)進行采集。一般自然界中存在的信號有多種形式,大多以模擬量形式存在,類似于人感覺到溫度的高低、水流的快慢、風力的大小等等。但這是很模糊的概念,今天熱了還是冷了,風大風小,沒有比較是很

3、難界定的,為了規(guī)范這些量,方便描述時的統(tǒng)一性,溫度計量標準有華氏和攝氏、水流有每秒多少立方、風力有級數(shù)。這些,就是數(shù)字量。數(shù)字量在人與人之間傳遞時,可以通過嘴和耳,語言和聽力,在設備之間如何來傳遞呢?學過數(shù)電的人知道,燈泡有兩種狀態(tài),亮和暗,在最基礎的電路回路里,“通”和“斷”是兩個最基本的狀態(tài),我們可以把他理解為“1”和“0”,這樣,就有了表述的方法。但是單獨使用這兩種狀態(tài)是無法傳遞信息的,如何把編碼器的數(shù)據(jù)傳遞出去,就需要使用到協(xié)議,下面我就講講協(xié)議。我們知道,人與人交流需要用到語言,我們要表達出一個完整的意思就要使用一句話,一句話內(nèi)會包含很多的字,每個字又由筆畫構成。這樣,我們協(xié)議的基本

4、框架就出來了,在整個CANopen協(xié)議傳遞過程中,最大的單位稱為“幀”,類似于一句話,“幀”由“字節(jié)”組成,就代表了字,每個“字節(jié)”由“位”組成,我們稱為筆畫。那地球上還有英語、法語、德語、還有聽不懂的鳥語呢!那就是各個通訊協(xié)議,比如Profibus-DP、DeviceNet、CC-Link、Hart、Modbus等。讓DP和CANopen通訊,那就是相當于一個講德語的與講中文的對話,雞同鴨講,能溝通嗎?需要翻譯,對吧?;剡^頭來我們講講CANopen的幀格式,CANopen一幀數(shù)據(jù)由一個COB-ID(報文頭)和最大8字節(jié)數(shù)據(jù)組成,其中COB-ID可以是11位(CAN2.0),也可以是29位(C

5、AN2.0B),當然,CAN2.0B需要向下兼容11位CAN報文。對于每字節(jié)數(shù)據(jù)由哪些位組成,這里就不再贅述,因為這部分內(nèi)容不在OSI模型的第七層應用層內(nèi)描述,開發(fā)人員也不必過多考慮這塊內(nèi)容。由于CANopen協(xié)議內(nèi)對COB-ID的各個地址段報文有詳細規(guī)范,這里就花點時間講一下,當然也沒時間全部討論,只選一些重要內(nèi)容來說。以前我們培訓一直在說CANopen協(xié)議好,速度快,廣播報文,這些關鍵字聽的多了,但是大家可能不是很理解這些內(nèi)容?,F(xiàn)在就來解釋一下。在編碼器應用中,CAN報文我們常用的有SDO(Service Data Object服務數(shù)據(jù)對象)和PDO(Process Data Object

6、過程數(shù)據(jù)對象),從字面描述意義看,通常數(shù)據(jù)的發(fā)送讀取是采用PDO來實現(xiàn)的,CAN參數(shù)的修改是通過SDO來實現(xiàn)的(當然這不是絕對的,具體的如果有興趣可以會后詢問)。先來說說PDO,我們在很多資料上會看到這樣一張表對象COB-ID通訊參數(shù)在 OD 中的索引緊急081H-0FFH1024H,1015HPDO1(發(fā)送)181H-1FFH1800HPDO1(接收)201H-27FH1400HPDO2(發(fā)送)281H-2FFH1801HPDO2(接收)301H-37FH1401HPDO3(發(fā)送)381H-3FFH1802HPDO3(接收)401H-47FH1402HPDO4(發(fā)送)481H-4FFH180

7、3HPDO4(接收)501H-57FH1403HSDO(發(fā)送/服務器)581H-5FFH1200HSDO(接收/客戶)601H-67FH1200HNMT Error Control701H-77FH1016H-1017H注意:PDO/SDO 發(fā)送/接收是由(slave)CAN節(jié)點方觀察的表一:CANopen主/從連接集對象假設我們讀取到一組編碼器數(shù)據(jù)是這樣的0x181 0x30 0x1F 0x00 0x00,我們應該如何理解呢?首先,“0x”只是一個符號,它代表了緊跟著的數(shù)據(jù)是十六進制的(等同于在數(shù)據(jù)后面直接標“H”,上述表達式也可以表述為181H 30H 1FH 00H 00H),“181”

8、我們查看上表后發(fā)現(xiàn),它包含在PDO1(發(fā)送)里面,它代表了是由編碼器發(fā)出的過程數(shù)據(jù)對象,表上顯示是“181H1FFH”,這是因為COB-ID包含了節(jié)點號信息,地址1對應著181H,地址2對應了182H,以此類推,最大127個節(jié)點?!?x30 0x1F 0x00 0x00”就代表了數(shù)據(jù)內(nèi)容,在CAN協(xié)議內(nèi),幀數(shù)據(jù)是低位在前,高位在后的。所以上述數(shù)據(jù)直接讀取后得出編碼器送出1F30H,這就代表了編碼器的當前位置值。那在總線上面,多個節(jié)點同時發(fā)送數(shù)據(jù)不會產(chǎn)生沖突么?以前我們說過,CAN協(xié)議具有仲裁,這里簡單介紹一下仲裁是如何實現(xiàn)的。上面說了,COB-ID包含了節(jié)點號信息,也就是說,只要總線上的設備節(jié)

9、點號不同,所送出的廣播報文的COB-ID肯定是不同的,如果一個是182H,一個是183H,仲裁時怎么做?本文最開始的時候介紹了每個字由筆畫組成,現(xiàn)在就要用到位(bit)的概念了,182H換算成二進制是0001 1000 0010(B),“B”代表了二進制,183H換算成二進制是0001 1000 0011(B),關于顯性位、隱形位這里不再贅述,這個有興趣可以找我要資料看,這里我就簡單描述為“0”比“1”的優(yōu)先級高,可以理解為拖后腿,“0”為低電平,“1”為高電平,在線上低電平會把高電平拉低,一旦183H發(fā)現(xiàn)數(shù)據(jù)傳輸過程中與自身數(shù)據(jù)不符合,就終止上傳,保證了182H的數(shù)據(jù)先上總線。我們在實踐中會

10、發(fā)現(xiàn),編碼器的數(shù)據(jù)在不斷的更新輸出,那輸出周期如何定義呢?這個我們就來討論一下引申的PDO傳送方式。我們以前在培訓時一直介紹CANopen協(xié)議與DP協(xié)議相比的好處在于DP是輪詢的,問答方式浪費了大量的時間,而CAN協(xié)議是廣播的,可以將1MHz的速率發(fā)揮至極致。這種說法形象,一般可以解釋給初步接觸CANopen的人聽。其實CANopen的報文形式很多樣化,在不同的應用場合可以采取不同的方式,上面說的稱為異步方式,異步方式也分兩種,一種是上面的內(nèi)部時鐘觸發(fā),也就是按照固定時間間隔發(fā)送,另一種是事件觸發(fā),假設編碼器發(fā)生轉(zhuǎn)動,數(shù)據(jù)相應送出。還有一種同步方式,我們也可以口述為踏拍方式,當主站要求報數(shù)是,

11、所有從節(jié)點按照仲裁的優(yōu)先順序進行數(shù)據(jù)發(fā)送。這三種報文方式分別在哪些場合適用呢?我們以車輛來舉例。車輛開在路上,在整個車輛控制內(nèi),最重要的,具有高優(yōu)先級的,應該是牽涉到安全的制動(剎車),安全氣囊等等。其次是轉(zhuǎn)向、車燈。再次是音響、影視系統(tǒng)(當然,我對車不是很熟悉,這是我的主觀認識,作為一個例程)。我們可以把小的節(jié)點號分配給制動系統(tǒng),以保證數(shù)據(jù)能及時送達控制器,并采用定時報數(shù),實時監(jiān)測車輛制動系統(tǒng)的情況。對于音箱什么的,我們可以采用事件觸發(fā)方式,在有輸入控制時(比方說打開收音機)進行響應。同步數(shù)據(jù)一般用在實時數(shù)據(jù)監(jiān)測方面,比方是在同一時間點查閱角度、位置、重量、壓力、流量等等信息,保證所監(jiān)測的各

12、個數(shù)據(jù)在很小的時間變化范圍內(nèi)。當然CANopen不可能摒棄問答方式的數(shù)據(jù)采集,這可以通過SDO訪問OD來實現(xiàn)。講到SDO服務數(shù)據(jù)對象,我們可以這么理解,PDO報文在發(fā)送出去后不需要反饋信號,總線上能消化這個數(shù)據(jù)的都可以消化,所以白話叫廣播報文。而SDO報文是需要響應的,每一幀SDO發(fā)出后需要等待反饋。那這會不會引起無反饋時總線死機呢?不會,CAN數(shù)據(jù)鏈路內(nèi)規(guī)定了超時,在一定時間內(nèi)得不到回答,總線將進行后面的作業(yè),多次詢問無果,總線會對錯誤節(jié)點進行屏蔽處理。SDO的幀格式和PDO的幀格式是一致的,但對有些字節(jié)的定義不同,下面就簡單介紹一些編碼器修改參數(shù)時用到的幀格式。SDO中實現(xiàn)了5個請求/應答

13、協(xié)議,這里我只講講啟動域下載與上傳,其他的有興趣可以問我要資料看。COB-ID命令字對象字典OD子索引數(shù)據(jù)主從連接集1 byte2 bytes1 byte4 bytes我來解釋一下上表,COB-ID引用第一張表的SDO地址段。假設主站需要讀取1號編碼器對象字典(OD)6200H內(nèi)的參數(shù),我們應該如何做呢?我們需要發(fā)送0x601 0x40 0x00 0x62 0x00 0x00 0x00 0x00 0x00我們得到編碼器的反饋數(shù)據(jù)是0x581 0x4B 0x00 0x62 0x00 0x0A 0x00 0x00 0x00上述命令的解釋是,控制器通過SDO指令讀取1號編碼器OD為6200H的編碼器

14、發(fā)送數(shù)據(jù)周期的參數(shù),得到編碼器的回答是每隔10ms發(fā)送一次。40H和4BH是啟動域上傳的命令字。如果需要將6200H的參數(shù)修改為20ms一次數(shù)據(jù),我們應該怎么做?發(fā)送:0x601 0x22 0x00 0x62 0x00 0x14 0x00 0x00 0x00反饋:0x581 0x60 0x00 0x62 0x00 0x00 0x00 0x00 0x00未完待續(xù)。作為十大總線來說,CANOpen的開放性等等就不贅述了。該協(xié)議最早在汽車總線中得到了大量的推廣。目前很多廠家都支持CANOpen總線。比如施耐德、菲尼克斯等。尤其是施耐德,目前在所有的傳動產(chǎn)品、中高端的PLC上都支持CANOpen總線。

15、可能是由于所有產(chǎn)品在總線支持上不然Rockwell和西門子的緣故吧。目前CANOpen在連接現(xiàn)場從站設備時,很多廠家的PLC已經(jīng)可以像step7軟件組態(tài)profibus DP從站設備一樣,只需導入eds文件后,在軟件中直接選擇或拖拉即可。相關參數(shù)的地址定義等等都自動完成。相對來說比較簡單。當然如果軟件即便不支持上述方式,有個公司專門開發(fā)了一個sycon的軟件,利用sycon軟件也可以直接定義CANOpen從站設備。相對來說也比較簡單。只不過需要做sycon到PLC軟件的地址的映射的操作。CANOpen總線與Profibus DP總線相比:1. CANOpen的通訊速率較低,最高1Mbps。而P

16、rofibus DP最高支持12Mbps;2. 兩種總線隨著距離的增加都會衰減,但是CANOpen衰減的更快一些;3. 理論上CANOpen支持127個子站(當然和CANOpen主站設備有關,在實際PLC產(chǎn)品中一般最大只能支持64,有的只能支持32或16個),而Profibus DP在子站支持能力上較強;4. CANOPen的中繼器支持樹形結構連接,這一點與Profibus的總線型連接方式有區(qū)別;5. 從組態(tài)來說,集成CANOpen總線的設備組態(tài)方式與Profibus DP的組態(tài)方式類似。只需導入eds文件即可;6. 抗干擾能力經(jīng)過我使用了,感覺和Profibus DP差不多。當然CANOpe

17、n電纜有4種,DP應該分普通和復雜環(huán)境兩種。從電纜來說,CANOpen電纜的適用性更強一些。以上內(nèi)容,只是一己之見,不含任何廣告內(nèi)容,也請各位批評指正于CANopen協(xié)議的分布式控制系統(tǒng)設計孫樹文楊建武(北京工業(yè)大學機械工程與應用電子學院,北京100022)摘要:針對印刷機外圍設備多分散、數(shù)據(jù)傳輸信息量大、實時性和可靠性要求高等問題,設計了一種基于CAN現(xiàn)場總線的分布式控制系統(tǒng)。監(jiān)控主機運行軟PLC程序,通過PC-CAN卡與現(xiàn)場I/O從站進行通信,形成分布式網(wǎng)絡,簡化了系統(tǒng)結構,提高了可靠性。本文介紹了分布式監(jiān)控系統(tǒng)的整體結構、工作原理及特點;分析了CANopen協(xié)議、詳細說明了采用P87C5

18、91單片機開發(fā)I/O從站的硬件電路、軟件設計流程以及從站節(jié)點的調(diào)試方法。經(jīng)系統(tǒng)測試和模擬運行表明,I/O從站與監(jiān)控主機通訊可靠、準確,實時性滿足了印刷機控制系統(tǒng)的要求,具有一定的參考價值和廣闊的應用前景。關鍵詞:CANopen;CAN總線;軟PLC;分布式控制系統(tǒng);P87C591中國分類號:TP247文獻標識碼:ATheDesignofDistributedControlSystemI/OSlaveBasedonCANopenProtocolSunShuwen,YangJianwu,ZhangHuihui,ZhaoJianguang(CollegeofMechanicalEngineering

19、&AppliedElectronicsTechnology,BeijingUniversityofTechnology,Beijing100022,China)Abstract:Counteringtheproblemsexistingintheprintingmachine,suchastheexcessiveanddistributedperipheralequipment,manyinformationexchange,thereliability,veracityandrealtimefeatureofdatacommunication,adistributedcontrols

20、ystembasedonCAN(ControlAreaNetworks)Busisdesigned.TheSoftPLCisstudiedandrealizedontheplatformofmonitorhostcomputer.ViaPC-CANcard,themastercomputerandI/Oslavenodescancommunicatewitheachotherdirectly,likeadistributednetwork.Thesystemstructureismoreconcise.Thefunctionofdistributedsettingandconcentrated

21、controlisrealizedinthissystem.Thewholestructureandprincipleofsystem,thehardwarecircuit,thesoftwareprogrammingandthetestingexperimentwerediscussedindetail.Practicalusingshowsthatthisdistributedcontrolsystemhasthebettercontroleffect,indicatesitsbrilliantandvaliditybeyondtraditionalcontrolmethodsandiss

22、uitableforsimilarpracticalengineering.Keywords:CANopen,CANbus,SoftPLC,DistributedControlSystem,P87C5910引言印刷機有大量的外圍設備,存在大量的I/O信號,如何保證外圍設備與控制主機之間的實時通訊,使得印刷機可靠運行,目前采用的方式主要有種:)采用傳統(tǒng)的PLC構成集散型控制系統(tǒng)(DCS);)采用基于現(xiàn)場總線的分布式I/O系統(tǒng)。采用前一種方式存在系統(tǒng)不開放、硬件投資大、布線復雜、維修不便的缺點,具有明顯的局限性1。而采用第二種方式基本局限于國外產(chǎn)品,如西門子公司的基于Profibus分布式I/O系

23、統(tǒng),WAGO公司基于CANbus、DeviceNET、Profibus分布式I/O系統(tǒng),但價格較高。因此我們設計了基于CAN現(xiàn)場總線技術與軟PLC的印刷機分布式控制系統(tǒng)。CAN(ControllerAreaNetwork)總線,又稱控制器局域網(wǎng),是由德國Bosch公司在80年代初為分布式系統(tǒng)在強電磁干擾環(huán)境下可靠工作而開發(fā)的一種串行數(shù)據(jù)通信網(wǎng)絡,并有效支持分布式控制和實時控制。目前CAN總線規(guī)范已被ISO國際標準組織指定為國際標準,并得到了Motorola,Intel,Philips,Siemens,NEC等公司的支持1。CANopen是CAN總線的一種有影響力的應用層協(xié)議,近年來得到了廣泛的

24、應用,它保證了各種廠商設備的互用性、互換性,同時提高了信息傳輸?shù)目煽啃裕瑢崟r性。其應用范圍已經(jīng)擴展到了汽車行業(yè)、機械工業(yè)、紡織機械、農(nóng)用機械、機器人、數(shù)控機床、醫(yī)療器械、家用電器及傳感器等領域。軟PLC是一種基于PC機的新興自動控制技術,不僅能夠?qū)崿F(xiàn)硬PLC的所有功能,而且遵循IEC61131-3編程標準,為用戶提供了更多的開放性和適用性。1 控制系統(tǒng)的整體構成2整個控制系統(tǒng)由監(jiān)控計算機、PC-CAN適配卡、I/O從站節(jié)點(n<110)、CAN總線網(wǎng)絡組成,其系統(tǒng)結構如圖1所示。分布在現(xiàn)場的I/O從站節(jié)點連接印刷機的外圍設備,并通過CAN通信接口與總線相連;監(jiān)控計算機運行軟PLC軟件并通

25、過PC-CAN適配卡和連接在CAN總線網(wǎng)絡上的各個從站節(jié)點之間進行實時通信,從而實現(xiàn)整個印刷機組的分散控制和集中監(jiān)管。控制系統(tǒng)中的I/O從站節(jié)點由CAN控制器、CAN收發(fā)器和外圍電路(如:光電隔離、I2C、LED顯示等)組成。監(jiān)控計算機可以選用普通PC或工控機IPC。PC-CAN適配卡用來完成CAN總線和監(jiān)控計算機之間的協(xié)議轉(zhuǎn)換,可以選用PCI總線適配卡、ISA總線適配卡。各個控制節(jié)點之間通過屏蔽雙絞線互聯(lián)構成CAN總線網(wǎng)絡,總線兩端連接120的阻抗匹配電阻,用來提高系統(tǒng)的穩(wěn)定性、增強系統(tǒng)的抗干擾能力。2 I/O從站的硬件設計目前,有兩種CAN總線器件可以選擇:一種是帶片上CAN的微控制器,如

26、P8XC591/2、87C196CA/CB、MC68376等;另一種是獨立的CAN控制器,如控制Philips公司的SJA1000、82C200,Intel公司的82526、以及Microchip公司的MCP2510等,但是獨立的CAN控制芯片需要外接一個微處理器,接收外部CPU的控制才能運行。本系統(tǒng)選用的是Philips公司的帶有在片CAN控制器的P87C591微型控制器,這樣大大簡化了節(jié)點的硬件設計,提高系統(tǒng)的可靠性2。I/O從站節(jié)點的硬件設計上采用了模塊化結構,由微控制器、CAN通信模塊、輸入輸出接口模塊、擴展接口模塊、參數(shù)設置模塊組成,其整體結構如圖2所示。P87C591是一款8位高性

27、能微控制器,具有片內(nèi)CAN控制器,從80C51微控制器家族派生而來,采用了強大的80C51指令集并成功的包括了Philips半導體SJA1000CAN控制器的PeliCAN功能。CAN收發(fā)器采用的是PhilipsPCA82C250芯片,它具有高速穩(wěn)定的差動發(fā)送和接收能力;為了提高抗干擾能力,系統(tǒng)中采用雙路電源模塊供電,在控制器和傳輸介質(zhì)之間加接光電隔離器件ADuM1201高速數(shù)字隔離器替代傳統(tǒng)的光電耦合器(如6N137),簡化了電路,極大的降低了功耗。從站節(jié)點I/O接口模塊采用了光電隔離電路,提高了抗干擾能力;為了使本系統(tǒng)具有更好的適用性和擴展性,預留了基于I2C總線擴展接口模塊。此外,從站節(jié)

28、點還外擴了RS232接口;以及電源信號、通訊狀態(tài)、I/O端口、故障信號等狀態(tài)的LED顯示。3 I/O從站的軟件設計在I/O從站的軟件設計中,使用C51Windows編程語言實現(xiàn)各種功能,與從站節(jié)點的硬件設計相一致,軟件設計也遵循模塊化的設計原則,使控制軟件具有易讀、易擴展和易維護的優(yōu)點。各功能模塊之間通過入口和出口參數(shù)相互聯(lián)系,組合靈活且方便3。從站節(jié)點的軟件設計流程如圖3所示。3.1 CANopen通訊協(xié)議45CANopen協(xié)議是CiA協(xié)會基于CAN總線定義的應用層協(xié)議之一,在各種控制系統(tǒng)中得到了廣泛應用。CANopen設備模型如圖所示,不同設備通過CAN總線進行連接組網(wǎng),CANopen通信

29、協(xié)議接口用于提供在總線上收發(fā)通信對象的服務;不同CANopen設備間的通信都是通過交換通信對象來完成的。CANopen協(xié)議中定義了4種通信對象(通訊模式),用于處理不同作用的信息,包括:)NMT對象,用來傳遞主節(jié)點對整個網(wǎng)絡系統(tǒng)的管理信息;)SDO對象,用來傳遞網(wǎng)絡系統(tǒng)中的配置信息;)PDO對象,用來實時傳送過程數(shù)據(jù)信息;)特殊功能對象,包括同步對象(Sync)緊急對象(Emergency)時間戳對象(TimeStamp)等,詳細內(nèi)容可參考CANopen協(xié)議相關文檔4。設備對象字典是CANopen協(xié)議的核心概念,描述了該設備使用的所有數(shù)據(jù)類型、通信對象和應用對象,CANopen協(xié)議的網(wǎng)絡系統(tǒng)中

30、每一個設備都要實現(xiàn)一個唯一的對象字典,區(qū)別在于設備類型不同其內(nèi)容則不同。對象字典中每個對象擁有一個唯一的16位主索引和8位子索引,由此實現(xiàn)對其中各種對象的訪問。對象字典在系統(tǒng)軟件設計中得以實現(xiàn),然后使用標準化的EDS文件對其進行描述。EDS文件的編寫,基本可以借鑒同類設備的EDS文件,只需針對具體不同應用做出相應修改即可。3.2 I/O從站的CANopen通訊協(xié)議實現(xiàn)I/O從站的軟件設計遵循CANopen協(xié)議預定義主/從連接集,在程序中采用預定義的強制性的缺省標識符(CAN-ID)分配表。從站節(jié)點支持4個接收PDO對象,4個發(fā)送PDO對象,1個SDO對象,1個緊急對象和1個節(jié)點錯誤控制對象。協(xié)

31、議的相關細節(jié)可查看文檔6。在系統(tǒng)的軟件設計中,結合通訊協(xié)議的特點,大多采用了結構體的方式來定義諸如CAN報文、發(fā)送和接收PDO配置對象、CANopen協(xié)議配置對象等,通過定義結構體型指針變量完成對相關數(shù)據(jù)的讀寫,給程序的編制帶來了方便。此外,利用定義數(shù)組的方法實現(xiàn)了對象字典和過程數(shù)據(jù)影像的操作。在SDO報文處理子函數(shù)中,通過被訪問對象的主索引和子索引,以數(shù)組查詢的方式實現(xiàn)了對對象字典的讀寫訪問。CANopenI/O從站的狀態(tài)機轉(zhuǎn)換通過判斷接收NMT報文命令字,對心跳報文標志字節(jié)代碼進行讀寫,通過程序散轉(zhuǎn)方式得以實現(xiàn)。對PDO、SDO通訊對象的處理則根據(jù)心跳報文標志字節(jié)代碼指明的當前狀態(tài)分別進行

32、處理。3.3 I/O從站的調(diào)試從站節(jié)點的開發(fā)與調(diào)試采用了德國PEAK公司的CANopen開發(fā)系統(tǒng),硬件包括PCI和USB接口的CAN卡,軟件是PCANopenMagicPro3.07專業(yè)開發(fā)版,很好的實現(xiàn)了對CANopen網(wǎng)絡節(jié)點的配置、分析和實時監(jiān)控。調(diào)試所采用的通訊結構如圖所示,通過USB-CAN適配器監(jiān)控主機與CAN總線網(wǎng)絡連接,構成主從式的網(wǎng)絡結構,這種方式在后續(xù)系統(tǒng)組網(wǎng)調(diào)試時可以方便地實現(xiàn)對CAN總線網(wǎng)絡的監(jiān)控。通過PCANopenMagicPro3.0軟件可以對網(wǎng)絡上傳輸?shù)腃ANopen通訊對象報文進行實時跟蹤;通過加載從站設備的EDS文件實現(xiàn)對從站節(jié)點進行配置;可以方便地實現(xiàn)對某個設備對象字典的訪問。在調(diào)試過程中,要注意保持CAN總線網(wǎng)絡中主從設備的CAN波特率要一致,否則將不能建立正常的通信。4 控制系統(tǒng)的測試平臺控制系統(tǒng)的整體測試采用如圖所示的網(wǎng)絡結構。監(jiān)控計算機運行德國3S公司的CoDeSys軟PLC軟件及RTE實時程序組件,作為CAN總線網(wǎng)絡的主站(相當于一臺高性能可編程控制器),通過PCAN-PCI卡與自行設計開發(fā)的I/O從站節(jié)點進行數(shù)據(jù)通信,構成了基于軟PLC和CAN現(xiàn)場總線的分布式I/O控制系統(tǒng)。在控制系統(tǒng)的硬件連接完成后,還需要在監(jiān)控計算機上通過CoDeSys軟件對整個網(wǎng)絡進行組態(tài),包括:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論