




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、CANopen協(xié)議介紹(講義) 2010-10-12 15:58:28| 分類: 技術(shù)文檔 | 標(biāo)簽: |舉報(bào) |字號(hào)大中小 訂閱 很長(zhǎng)一段時(shí)間以來,很多人問我CANopen總線優(yōu)勢(shì)到底在什么地方,我也大體的給了口頭的講述,但是比較籠統(tǒng),沒辦法做到詳細(xì)解釋,加上純技術(shù)的話語比較晦澀,遇上內(nèi)行還能多聊幾句,如果是剛接觸的,那就是云里霧里了。這次正好要進(jìn)行公司業(yè)務(wù)員培訓(xùn),要講講CANopen,在整理過程中把我的講義貼出來,希望能幫到大家,以下內(nèi)容是我講課的口述內(nèi)容,比較白話,不能作為資料,大家見諒,鑒于我整理也比較辛苦,也算個(gè)小小的知識(shí)產(chǎn)權(quán),所以PPT我就不貼出來了。-講義內(nèi)容: 通常CANope
2、n協(xié)議相關(guān)的一些資料相對(duì)來說比較晦澀,非專業(yè)人士看起來比較困難。我盡量以淺顯易懂的方式將CANopen協(xié)議的框架和它在實(shí)際應(yīng)用中存在的優(yōu)缺點(diǎn)展示給大家。我按照最先接觸的內(nèi)容由淺入深的講解,直接講CANopen協(xié)議會(huì)有點(diǎn)跳躍的感覺,所以,我以產(chǎn)品作為切入點(diǎn),分析一下如何使用,在這個(gè)過程中,讓大家理解什么是CANopen協(xié)議。首先,我們拿到一個(gè)產(chǎn)品,比方說是編碼器,它的用途是作為位置傳感器,那我們就需要將編碼器送出的數(shù)據(jù)進(jìn)行采集。一般自然界中存在的信號(hào)有多種形式,大多以模擬量形式存在,類似于人感覺到溫度的高低、水流的快慢、風(fēng)力的大小等等。但這是很模糊的概念,今天熱了還是冷了,風(fēng)大風(fēng)小,沒有比較是很
3、難界定的,為了規(guī)范這些量,方便描述時(shí)的統(tǒng)一性,溫度計(jì)量標(biāo)準(zhǔn)有華氏和攝氏、水流有每秒多少立方、風(fēng)力有級(jí)數(shù)。這些,就是數(shù)字量。數(shù)字量在人與人之間傳遞時(shí),可以通過嘴和耳,語言和聽力,在設(shè)備之間如何來傳遞呢?學(xué)過數(shù)電的人知道,燈泡有兩種狀態(tài),亮和暗,在最基礎(chǔ)的電路回路里,“通”和“斷”是兩個(gè)最基本的狀態(tài),我們可以把他理解為“1”和“0”,這樣,就有了表述的方法。但是單獨(dú)使用這兩種狀態(tài)是無法傳遞信息的,如何把編碼器的數(shù)據(jù)傳遞出去,就需要使用到協(xié)議,下面我就講講協(xié)議。我們知道,人與人交流需要用到語言,我們要表達(dá)出一個(gè)完整的意思就要使用一句話,一句話內(nèi)會(huì)包含很多的字,每個(gè)字又由筆畫構(gòu)成。這樣,我們協(xié)議的基本
4、框架就出來了,在整個(gè)CANopen協(xié)議傳遞過程中,最大的單位稱為“幀”,類似于一句話,“幀”由“字節(jié)”組成,就代表了字,每個(gè)“字節(jié)”由“位”組成,我們稱為筆畫。那地球上還有英語、法語、德語、還有聽不懂的鳥語呢!那就是各個(gè)通訊協(xié)議,比如Profibus-DP、DeviceNet、CC-Link、Hart、Modbus等。讓DP和CANopen通訊,那就是相當(dāng)于一個(gè)講德語的與講中文的對(duì)話,雞同鴨講,能溝通嗎?需要翻譯,對(duì)吧?;剡^頭來我們講講CANopen的幀格式,CANopen一幀數(shù)據(jù)由一個(gè)COB-ID(報(bào)文頭)和最大8字節(jié)數(shù)據(jù)組成,其中COB-ID可以是11位(CAN2.0),也可以是29位(C
5、AN2.0B),當(dāng)然,CAN2.0B需要向下兼容11位CAN報(bào)文。對(duì)于每字節(jié)數(shù)據(jù)由哪些位組成,這里就不再贅述,因?yàn)檫@部分內(nèi)容不在OSI模型的第七層應(yīng)用層內(nèi)描述,開發(fā)人員也不必過多考慮這塊內(nèi)容。由于CANopen協(xié)議內(nèi)對(duì)COB-ID的各個(gè)地址段報(bào)文有詳細(xì)規(guī)范,這里就花點(diǎn)時(shí)間講一下,當(dāng)然也沒時(shí)間全部討論,只選一些重要內(nèi)容來說。以前我們培訓(xùn)一直在說CANopen協(xié)議好,速度快,廣播報(bào)文,這些關(guān)鍵字聽的多了,但是大家可能不是很理解這些內(nèi)容?,F(xiàn)在就來解釋一下。在編碼器應(yīng)用中,CAN報(bào)文我們常用的有SDO(Service Data Object服務(wù)數(shù)據(jù)對(duì)象)和PDO(Process Data Object
6、過程數(shù)據(jù)對(duì)象),從字面描述意義看,通常數(shù)據(jù)的發(fā)送讀取是采用PDO來實(shí)現(xiàn)的,CAN參數(shù)的修改是通過SDO來實(shí)現(xiàn)的(當(dāng)然這不是絕對(duì)的,具體的如果有興趣可以會(huì)后詢問)。先來說說PDO,我們?cè)诤芏噘Y料上會(huì)看到這樣一張表對(duì)象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ā)送/服務(wù)器)581H-5FFH1200HSDO(接收/客戶)601H-67FH1200HNMT Error Control701H-77FH1016H-1017H注意:PDO/SDO 發(fā)送/接收是由(slave)CAN節(jié)點(diǎn)方觀察的表一:CANopen主/從連接集對(duì)象假設(shè)我們讀取到一組編碼器數(shù)據(jù)是這樣的0x181 0x30 0x1F 0x00 0x00,我們應(yīng)該如何理解呢?首先,“0x”只是一個(gè)符號(hào),它代表了緊跟著的數(shù)據(jù)是十六進(jìn)制的(等同于在數(shù)據(jù)后面直接標(biāo)“H”,上述表達(dá)式也可以表述為181H 30H 1FH 00H 00H),“181”
8、我們查看上表后發(fā)現(xiàn),它包含在PDO1(發(fā)送)里面,它代表了是由編碼器發(fā)出的過程數(shù)據(jù)對(duì)象,表上顯示是“181H1FFH”,這是因?yàn)镃OB-ID包含了節(jié)點(diǎn)號(hào)信息,地址1對(duì)應(yīng)著181H,地址2對(duì)應(yīng)了182H,以此類推,最大127個(gè)節(jié)點(diǎn)。“0x30 0x1F 0x00 0x00”就代表了數(shù)據(jù)內(nèi)容,在CAN協(xié)議內(nèi),幀數(shù)據(jù)是低位在前,高位在后的。所以上述數(shù)據(jù)直接讀取后得出編碼器送出1F30H,這就代表了編碼器的當(dāng)前位置值。那在總線上面,多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)不會(huì)產(chǎn)生沖突么?以前我們說過,CAN協(xié)議具有仲裁,這里簡(jiǎn)單介紹一下仲裁是如何實(shí)現(xiàn)的。上面說了,COB-ID包含了節(jié)點(diǎn)號(hào)信息,也就是說,只要總線上的設(shè)備節(jié)
9、點(diǎn)號(hào)不同,所送出的廣播報(bào)文的COB-ID肯定是不同的,如果一個(gè)是182H,一個(gè)是183H,仲裁時(shí)怎么做?本文最開始的時(shí)候介紹了每個(gè)字由筆畫組成,現(xiàn)在就要用到位(bit)的概念了,182H換算成二進(jìn)制是0001 1000 0010(B),“B”代表了二進(jìn)制,183H換算成二進(jìn)制是0001 1000 0011(B),關(guān)于顯性位、隱形位這里不再贅述,這個(gè)有興趣可以找我要資料看,這里我就簡(jiǎn)單描述為“0”比“1”的優(yōu)先級(jí)高,可以理解為拖后腿,“0”為低電平,“1”為高電平,在線上低電平會(huì)把高電平拉低,一旦183H發(fā)現(xiàn)數(shù)據(jù)傳輸過程中與自身數(shù)據(jù)不符合,就終止上傳,保證了182H的數(shù)據(jù)先上總線。我們?cè)趯?shí)踐中會(huì)
10、發(fā)現(xiàn),編碼器的數(shù)據(jù)在不斷的更新輸出,那輸出周期如何定義呢?這個(gè)我們就來討論一下引申的PDO傳送方式。我們以前在培訓(xùn)時(shí)一直介紹CANopen協(xié)議與DP協(xié)議相比的好處在于DP是輪詢的,問答方式浪費(fèi)了大量的時(shí)間,而CAN協(xié)議是廣播的,可以將1MHz的速率發(fā)揮至極致。這種說法形象,一般可以解釋給初步接觸CANopen的人聽。其實(shí)CANopen的報(bào)文形式很多樣化,在不同的應(yīng)用場(chǎng)合可以采取不同的方式,上面說的稱為異步方式,異步方式也分兩種,一種是上面的內(nèi)部時(shí)鐘觸發(fā),也就是按照固定時(shí)間間隔發(fā)送,另一種是事件觸發(fā),假設(shè)編碼器發(fā)生轉(zhuǎn)動(dòng),數(shù)據(jù)相應(yīng)送出。還有一種同步方式,我們也可以口述為踏拍方式,當(dāng)主站要求報(bào)數(shù)是,
11、所有從節(jié)點(diǎn)按照仲裁的優(yōu)先順序進(jìn)行數(shù)據(jù)發(fā)送。這三種報(bào)文方式分別在哪些場(chǎng)合適用呢?我們以車輛來舉例。車輛開在路上,在整個(gè)車輛控制內(nèi),最重要的,具有高優(yōu)先級(jí)的,應(yīng)該是牽涉到安全的制動(dòng)(剎車),安全氣囊等等。其次是轉(zhuǎn)向、車燈。再次是音響、影視系統(tǒng)(當(dāng)然,我對(duì)車不是很熟悉,這是我的主觀認(rèn)識(shí),作為一個(gè)例程)。我們可以把小的節(jié)點(diǎn)號(hào)分配給制動(dòng)系統(tǒng),以保證數(shù)據(jù)能及時(shí)送達(dá)控制器,并采用定時(shí)報(bào)數(shù),實(shí)時(shí)監(jiān)測(cè)車輛制動(dòng)系統(tǒng)的情況。對(duì)于音箱什么的,我們可以采用事件觸發(fā)方式,在有輸入控制時(shí)(比方說打開收音機(jī))進(jìn)行響應(yīng)。同步數(shù)據(jù)一般用在實(shí)時(shí)數(shù)據(jù)監(jiān)測(cè)方面,比方是在同一時(shí)間點(diǎn)查閱角度、位置、重量、壓力、流量等等信息,保證所監(jiān)測(cè)的各
12、個(gè)數(shù)據(jù)在很小的時(shí)間變化范圍內(nèi)。當(dāng)然CANopen不可能摒棄問答方式的數(shù)據(jù)采集,這可以通過SDO訪問OD來實(shí)現(xiàn)。講到SDO服務(wù)數(shù)據(jù)對(duì)象,我們可以這么理解,PDO報(bào)文在發(fā)送出去后不需要反饋信號(hào),總線上能消化這個(gè)數(shù)據(jù)的都可以消化,所以白話叫廣播報(bào)文。而SDO報(bào)文是需要響應(yīng)的,每一幀SDO發(fā)出后需要等待反饋。那這會(huì)不會(huì)引起無反饋時(shí)總線死機(jī)呢?不會(huì),CAN數(shù)據(jù)鏈路內(nèi)規(guī)定了超時(shí),在一定時(shí)間內(nèi)得不到回答,總線將進(jìn)行后面的作業(yè),多次詢問無果,總線會(huì)對(duì)錯(cuò)誤節(jié)點(diǎn)進(jìn)行屏蔽處理。SDO的幀格式和PDO的幀格式是一致的,但對(duì)有些字節(jié)的定義不同,下面就簡(jiǎn)單介紹一些編碼器修改參數(shù)時(shí)用到的幀格式。SDO中實(shí)現(xiàn)了5個(gè)請(qǐng)求/應(yīng)答
13、協(xié)議,這里我只講講啟動(dòng)域下載與上傳,其他的有興趣可以問我要資料看。COB-ID命令字對(duì)象字典OD子索引數(shù)據(jù)主從連接集1 byte2 bytes1 byte4 bytes我來解釋一下上表,COB-ID引用第一張表的SDO地址段。假設(shè)主站需要讀取1號(hào)編碼器對(duì)象字典(OD)6200H內(nèi)的參數(shù),我們應(yīng)該如何做呢?我們需要發(fā)送0x601 0x40 0x00 0x62 0x00 0x00 0x00 0x00 0x00我們得到編碼器的反饋數(shù)據(jù)是0x581 0x4B 0x00 0x62 0x00 0x0A 0x00 0x00 0x00上述命令的解釋是,控制器通過SDO指令讀取1號(hào)編碼器OD為6200H的編碼器
14、發(fā)送數(shù)據(jù)周期的參數(shù),得到編碼器的回答是每隔10ms發(fā)送一次。40H和4BH是啟動(dòng)域上傳的命令字。如果需要將6200H的參數(shù)修改為20ms一次數(shù)據(jù),我們應(yīng)該怎么做?發(fā)送:0x601 0x22 0x00 0x62 0x00 0x14 0x00 0x00 0x00反饋:0x581 0x60 0x00 0x62 0x00 0x00 0x00 0x00 0x00未完待續(xù)。作為十大總線來說,CANOpen的開放性等等就不贅述了。該協(xié)議最早在汽車總線中得到了大量的推廣。目前很多廠家都支持CANOpen總線。比如施耐德、菲尼克斯等。尤其是施耐德,目前在所有的傳動(dòng)產(chǎn)品、中高端的PLC上都支持CANOpen總線。
15、可能是由于所有產(chǎn)品在總線支持上不然Rockwell和西門子的緣故吧。目前CANOpen在連接現(xiàn)場(chǎng)從站設(shè)備時(shí),很多廠家的PLC已經(jīng)可以像step7軟件組態(tài)profibus DP從站設(shè)備一樣,只需導(dǎo)入eds文件后,在軟件中直接選擇或拖拉即可。相關(guān)參數(shù)的地址定義等等都自動(dòng)完成。相對(duì)來說比較簡(jiǎn)單。當(dāng)然如果軟件即便不支持上述方式,有個(gè)公司專門開發(fā)了一個(gè)sycon的軟件,利用sycon軟件也可以直接定義CANOpen從站設(shè)備。相對(duì)來說也比較簡(jiǎn)單。只不過需要做sycon到PLC軟件的地址的映射的操作。CANOpen總線與Profibus DP總線相比:1. CANOpen的通訊速率較低,最高1Mbps。而P
16、rofibus DP最高支持12Mbps;2. 兩種總線隨著距離的增加都會(huì)衰減,但是CANOpen衰減的更快一些;3. 理論上CANOpen支持127個(gè)子站(當(dāng)然和CANOpen主站設(shè)備有關(guān),在實(shí)際PLC產(chǎn)品中一般最大只能支持64,有的只能支持32或16個(gè)),而Profibus DP在子站支持能力上較強(qiáng);4. CANOPen的中繼器支持樹形結(jié)構(gòu)連接,這一點(diǎn)與Profibus的總線型連接方式有區(qū)別;5. 從組態(tài)來說,集成CANOpen總線的設(shè)備組態(tài)方式與Profibus DP的組態(tài)方式類似。只需導(dǎo)入eds文件即可;6. 抗干擾能力經(jīng)過我使用了,感覺和Profibus DP差不多。當(dāng)然CANOpe
17、n電纜有4種,DP應(yīng)該分普通和復(fù)雜環(huán)境兩種。從電纜來說,CANOpen電纜的適用性更強(qiáng)一些。以上內(nèi)容,只是一己之見,不含任何廣告內(nèi)容,也請(qǐng)各位批評(píng)指正于CANopen協(xié)議的分布式控制系統(tǒng)設(shè)計(jì)孫樹文楊建武(北京工業(yè)大學(xué)機(jī)械工程與應(yīng)用電子學(xué)院,北京100022)摘要:針對(duì)印刷機(jī)外圍設(shè)備多分散、數(shù)據(jù)傳輸信息量大、實(shí)時(shí)性和可靠性要求高等問題,設(shè)計(jì)了一種基于CAN現(xiàn)場(chǎng)總線的分布式控制系統(tǒng)。監(jiān)控主機(jī)運(yùn)行軟PLC程序,通過PC-CAN卡與現(xiàn)場(chǎng)I/O從站進(jìn)行通信,形成分布式網(wǎng)絡(luò),簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),提高了可靠性。本文介紹了分布式監(jiān)控系統(tǒng)的整體結(jié)構(gòu)、工作原理及特點(diǎn);分析了CANopen協(xié)議、詳細(xì)說明了采用P87C5
18、91單片機(jī)開發(fā)I/O從站的硬件電路、軟件設(shè)計(jì)流程以及從站節(jié)點(diǎn)的調(diào)試方法。經(jīng)系統(tǒng)測(cè)試和模擬運(yùn)行表明,I/O從站與監(jiān)控主機(jī)通訊可靠、準(zhǔn)確,實(shí)時(shí)性滿足了印刷機(jī)控制系統(tǒng)的要求,具有一定的參考價(jià)值和廣闊的應(yīng)用前景。關(guān)鍵詞:CANopen;CAN總線;軟PLC;分布式控制系統(tǒng);P87C591中國(guó)分類號(hào):TP247文獻(xiàn)標(biāo)識(shí)碼: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引言印刷機(jī)有大量的外圍設(shè)備,存在大量的I/O信號(hào),如何保證外圍設(shè)備與控制主機(jī)之間的實(shí)時(shí)通訊,使得印刷機(jī)可靠運(yùn)行,目前采用的方式主要有種:)采用傳統(tǒng)的PLC構(gòu)成集散型控制系統(tǒng)(DCS);)采用基于現(xiàn)場(chǎng)總線的分布式I/O系統(tǒng)。采用前一種方式存在系統(tǒng)不開放、硬件投資大、布線復(fù)雜、維修不便的缺點(diǎn),具有明顯的局限性1。而采用第二種方式基本局限于國(guó)外產(chǎn)品,如西門子公司的基于Profibus分布式I/O系
23、統(tǒng),WAGO公司基于CANbus、DeviceNET、Profibus分布式I/O系統(tǒng),但價(jià)格較高。因此我們?cè)O(shè)計(jì)了基于CAN現(xiàn)場(chǎng)總線技術(shù)與軟PLC的印刷機(jī)分布式控制系統(tǒng)。CAN(ControllerAreaNetwork)總線,又稱控制器局域網(wǎng),是由德國(guó)Bosch公司在80年代初為分布式系統(tǒng)在強(qiáng)電磁干擾環(huán)境下可靠工作而開發(fā)的一種串行數(shù)據(jù)通信網(wǎng)絡(luò),并有效支持分布式控制和實(shí)時(shí)控制。目前CAN總線規(guī)范已被ISO國(guó)際標(biāo)準(zhǔn)組織指定為國(guó)際標(biāo)準(zhǔn),并得到了Motorola,Intel,Philips,Siemens,NEC等公司的支持1。CANopen是CAN總線的一種有影響力的應(yīng)用層協(xié)議,近年來得到了廣泛的
24、應(yīng)用,它保證了各種廠商設(shè)備的互用性、互換性,同時(shí)提高了信息傳輸?shù)目煽啃?,?shí)時(shí)性。其應(yīng)用范圍已經(jīng)擴(kuò)展到了汽車行業(yè)、機(jī)械工業(yè)、紡織機(jī)械、農(nóng)用機(jī)械、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械、家用電器及傳感器等領(lǐng)域。軟PLC是一種基于PC機(jī)的新興自動(dòng)控制技術(shù),不僅能夠?qū)崿F(xiàn)硬PLC的所有功能,而且遵循IEC61131-3編程標(biāo)準(zhǔn),為用戶提供了更多的開放性和適用性。1 控制系統(tǒng)的整體構(gòu)成2整個(gè)控制系統(tǒng)由監(jiān)控計(jì)算機(jī)、PC-CAN適配卡、I/O從站節(jié)點(diǎn)(n<110)、CAN總線網(wǎng)絡(luò)組成,其系統(tǒng)結(jié)構(gòu)如圖1所示。分布在現(xiàn)場(chǎng)的I/O從站節(jié)點(diǎn)連接印刷機(jī)的外圍設(shè)備,并通過CAN通信接口與總線相連;監(jiān)控計(jì)算機(jī)運(yùn)行軟PLC軟件并通
25、過PC-CAN適配卡和連接在CAN總線網(wǎng)絡(luò)上的各個(gè)從站節(jié)點(diǎn)之間進(jìn)行實(shí)時(shí)通信,從而實(shí)現(xiàn)整個(gè)印刷機(jī)組的分散控制和集中監(jiān)管??刂葡到y(tǒng)中的I/O從站節(jié)點(diǎn)由CAN控制器、CAN收發(fā)器和外圍電路(如:光電隔離、I2C、LED顯示等)組成。監(jiān)控計(jì)算機(jī)可以選用普通PC或工控機(jī)IPC。PC-CAN適配卡用來完成CAN總線和監(jiān)控計(jì)算機(jī)之間的協(xié)議轉(zhuǎn)換,可以選用PCI總線適配卡、ISA總線適配卡。各個(gè)控制節(jié)點(diǎn)之間通過屏蔽雙絞線互聯(lián)構(gòu)成CAN總線網(wǎng)絡(luò),總線兩端連接120的阻抗匹配電阻,用來提高系統(tǒng)的穩(wěn)定性、增強(qiáng)系統(tǒng)的抗干擾能力。2 I/O從站的硬件設(shè)計(jì)目前,有兩種CAN總線器件可以選擇:一種是帶片上CAN的微控制器,如
26、P8XC591/2、87C196CA/CB、MC68376等;另一種是獨(dú)立的CAN控制器,如控制Philips公司的SJA1000、82C200,Intel公司的82526、以及Microchip公司的MCP2510等,但是獨(dú)立的CAN控制芯片需要外接一個(gè)微處理器,接收外部CPU的控制才能運(yùn)行。本系統(tǒng)選用的是Philips公司的帶有在片CAN控制器的P87C591微型控制器,這樣大大簡(jiǎn)化了節(jié)點(diǎn)的硬件設(shè)計(jì),提高系統(tǒng)的可靠性2。I/O從站節(jié)點(diǎn)的硬件設(shè)計(jì)上采用了模塊化結(jié)構(gòu),由微控制器、CAN通信模塊、輸入輸出接口模塊、擴(kuò)展接口模塊、參數(shù)設(shè)置模塊組成,其整體結(jié)構(gòu)如圖2所示。P87C591是一款8位高性
27、能微控制器,具有片內(nèi)CAN控制器,從80C51微控制器家族派生而來,采用了強(qiáng)大的80C51指令集并成功的包括了Philips半導(dǎo)體SJA1000CAN控制器的PeliCAN功能。CAN收發(fā)器采用的是PhilipsPCA82C250芯片,它具有高速穩(wěn)定的差動(dòng)發(fā)送和接收能力;為了提高抗干擾能力,系統(tǒng)中采用雙路電源模塊供電,在控制器和傳輸介質(zhì)之間加接光電隔離器件ADuM1201高速數(shù)字隔離器替代傳統(tǒng)的光電耦合器(如6N137),簡(jiǎn)化了電路,極大的降低了功耗。從站節(jié)點(diǎn)I/O接口模塊采用了光電隔離電路,提高了抗干擾能力;為了使本系統(tǒng)具有更好的適用性和擴(kuò)展性,預(yù)留了基于I2C總線擴(kuò)展接口模塊。此外,從站節(jié)
28、點(diǎn)還外擴(kuò)了RS232接口;以及電源信號(hào)、通訊狀態(tài)、I/O端口、故障信號(hào)等狀態(tài)的LED顯示。3 I/O從站的軟件設(shè)計(jì)在I/O從站的軟件設(shè)計(jì)中,使用C51Windows編程語言實(shí)現(xiàn)各種功能,與從站節(jié)點(diǎn)的硬件設(shè)計(jì)相一致,軟件設(shè)計(jì)也遵循模塊化的設(shè)計(jì)原則,使控制軟件具有易讀、易擴(kuò)展和易維護(hù)的優(yōu)點(diǎn)。各功能模塊之間通過入口和出口參數(shù)相互聯(lián)系,組合靈活且方便3。從站節(jié)點(diǎn)的軟件設(shè)計(jì)流程如圖3所示。3.1 CANopen通訊協(xié)議45CANopen協(xié)議是CiA協(xié)會(huì)基于CAN總線定義的應(yīng)用層協(xié)議之一,在各種控制系統(tǒng)中得到了廣泛應(yīng)用。CANopen設(shè)備模型如圖所示,不同設(shè)備通過CAN總線進(jìn)行連接組網(wǎng),CANopen通信
29、協(xié)議接口用于提供在總線上收發(fā)通信對(duì)象的服務(wù);不同CANopen設(shè)備間的通信都是通過交換通信對(duì)象來完成的。CANopen協(xié)議中定義了4種通信對(duì)象(通訊模式),用于處理不同作用的信息,包括:)NMT對(duì)象,用來傳遞主節(jié)點(diǎn)對(duì)整個(gè)網(wǎng)絡(luò)系統(tǒng)的管理信息;)SDO對(duì)象,用來傳遞網(wǎng)絡(luò)系統(tǒng)中的配置信息;)PDO對(duì)象,用來實(shí)時(shí)傳送過程數(shù)據(jù)信息;)特殊功能對(duì)象,包括同步對(duì)象(Sync)緊急對(duì)象(Emergency)時(shí)間戳對(duì)象(TimeStamp)等,詳細(xì)內(nèi)容可參考CANopen協(xié)議相關(guān)文檔4。設(shè)備對(duì)象字典是CANopen協(xié)議的核心概念,描述了該設(shè)備使用的所有數(shù)據(jù)類型、通信對(duì)象和應(yīng)用對(duì)象,CANopen協(xié)議的網(wǎng)絡(luò)系統(tǒng)中
30、每一個(gè)設(shè)備都要實(shí)現(xiàn)一個(gè)唯一的對(duì)象字典,區(qū)別在于設(shè)備類型不同其內(nèi)容則不同。對(duì)象字典中每個(gè)對(duì)象擁有一個(gè)唯一的16位主索引和8位子索引,由此實(shí)現(xiàn)對(duì)其中各種對(duì)象的訪問。對(duì)象字典在系統(tǒng)軟件設(shè)計(jì)中得以實(shí)現(xiàn),然后使用標(biāo)準(zhǔn)化的EDS文件對(duì)其進(jìn)行描述。EDS文件的編寫,基本可以借鑒同類設(shè)備的EDS文件,只需針對(duì)具體不同應(yīng)用做出相應(yīng)修改即可。3.2 I/O從站的CANopen通訊協(xié)議實(shí)現(xiàn)I/O從站的軟件設(shè)計(jì)遵循CANopen協(xié)議預(yù)定義主/從連接集,在程序中采用預(yù)定義的強(qiáng)制性的缺省標(biāo)識(shí)符(CAN-ID)分配表。從站節(jié)點(diǎn)支持4個(gè)接收PDO對(duì)象,4個(gè)發(fā)送PDO對(duì)象,1個(gè)SDO對(duì)象,1個(gè)緊急對(duì)象和1個(gè)節(jié)點(diǎn)錯(cuò)誤控制對(duì)象。協(xié)
31、議的相關(guān)細(xì)節(jié)可查看文檔6。在系統(tǒng)的軟件設(shè)計(jì)中,結(jié)合通訊協(xié)議的特點(diǎn),大多采用了結(jié)構(gòu)體的方式來定義諸如CAN報(bào)文、發(fā)送和接收PDO配置對(duì)象、CANopen協(xié)議配置對(duì)象等,通過定義結(jié)構(gòu)體型指針變量完成對(duì)相關(guān)數(shù)據(jù)的讀寫,給程序的編制帶來了方便。此外,利用定義數(shù)組的方法實(shí)現(xiàn)了對(duì)象字典和過程數(shù)據(jù)影像的操作。在SDO報(bào)文處理子函數(shù)中,通過被訪問對(duì)象的主索引和子索引,以數(shù)組查詢的方式實(shí)現(xiàn)了對(duì)對(duì)象字典的讀寫訪問。CANopenI/O從站的狀態(tài)機(jī)轉(zhuǎn)換通過判斷接收NMT報(bào)文命令字,對(duì)心跳報(bào)文標(biāo)志字節(jié)代碼進(jìn)行讀寫,通過程序散轉(zhuǎn)方式得以實(shí)現(xiàn)。對(duì)PDO、SDO通訊對(duì)象的處理則根據(jù)心跳報(bào)文標(biāo)志字節(jié)代碼指明的當(dāng)前狀態(tài)分別進(jìn)行
32、處理。3.3 I/O從站的調(diào)試從站節(jié)點(diǎn)的開發(fā)與調(diào)試采用了德國(guó)PEAK公司的CANopen開發(fā)系統(tǒng),硬件包括PCI和USB接口的CAN卡,軟件是PCANopenMagicPro3.07專業(yè)開發(fā)版,很好的實(shí)現(xiàn)了對(duì)CANopen網(wǎng)絡(luò)節(jié)點(diǎn)的配置、分析和實(shí)時(shí)監(jiān)控。調(diào)試所采用的通訊結(jié)構(gòu)如圖所示,通過USB-CAN適配器監(jiān)控主機(jī)與CAN總線網(wǎng)絡(luò)連接,構(gòu)成主從式的網(wǎng)絡(luò)結(jié)構(gòu),這種方式在后續(xù)系統(tǒng)組網(wǎng)調(diào)試時(shí)可以方便地實(shí)現(xiàn)對(duì)CAN總線網(wǎng)絡(luò)的監(jiān)控。通過PCANopenMagicPro3.0軟件可以對(duì)網(wǎng)絡(luò)上傳輸?shù)腃ANopen通訊對(duì)象報(bào)文進(jìn)行實(shí)時(shí)跟蹤;通過加載從站設(shè)備的EDS文件實(shí)現(xiàn)對(duì)從站節(jié)點(diǎn)進(jìn)行配置;可以方便地實(shí)現(xiàn)對(duì)某個(gè)設(shè)備對(duì)象字典的訪問。在調(diào)試過程中,要注意保持CAN總線網(wǎng)絡(luò)中主從設(shè)備的CAN波特率要一致,否則將不能建立正常的通信。4 控制系統(tǒng)的測(cè)試平臺(tái)控制系統(tǒng)的整體測(cè)試采用如圖所示的網(wǎng)絡(luò)結(jié)構(gòu)。監(jiān)控計(jì)算機(jī)運(yùn)行德國(guó)3S公司的CoDeSys軟PLC軟件及RTE實(shí)時(shí)程序組件,作為CAN總線網(wǎng)絡(luò)的主站(相當(dāng)于一臺(tái)高性能可編程控制器),通過PCAN-PCI卡與自行設(shè)計(jì)開發(fā)的I/O從站節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通信,構(gòu)成了基于軟PLC和CAN現(xiàn)場(chǎng)總線的分布式I/O控制系統(tǒng)。在控制系統(tǒng)的硬件連接完成后,還需要在監(jiān)控計(jì)算機(jī)上通過CoDeSys軟件對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行組態(tài),包括:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石坎施工方案
- 培訓(xùn)機(jī)構(gòu)消防施工方案
- 關(guān)于施工方案
- 美麗人生觀后感
- 二零二五年度私人房產(chǎn)全款買賣合同(限智能家居)
- 甲乙丙方2025年度轉(zhuǎn)租健身房租賃合同
- 2025年度電力工程安全防護(hù)電力勞務(wù)分包合同模板
- 二零二五年度生物樣本低溫保管與共享協(xié)議
- 工傷事故賠償及職工權(quán)益保護(hù)協(xié)議2025年度范本
- 二零二五年度科技孵化器場(chǎng)地租賃管理服務(wù)合同
- 廉政鑒定書(院內(nèi)廉政意見書)
- 《潘姓源于固始,是不爭(zhēng)的史實(shí)》的考辨
- 二次電纜敷設(shè)、接線作業(yè)指導(dǎo)書
- 焊接技師培訓(xùn)教材(釬焊)課件
- 《等腰三角形的性質(zhì)》優(yōu)秀課件
- 原發(fā)性肝癌經(jīng)皮肝動(dòng)脈化療栓塞術(shù)(TACE)臨床路徑
- 異常情況匯報(bào)流程圖
- 化工工藝學(xué)-第二章-化工原料及其初步加工
- 全國(guó)水資源綜合規(guī)劃技術(shù)細(xì)則(水利部文件)
- 02312電力系統(tǒng)遠(yuǎn)動(dòng)及調(diào)度自動(dòng)化
- 校園欺凌談心記錄
評(píng)論
0/150
提交評(píng)論