最新精品久久,欧美亚洲福利,表妹免费在线观看,久久国产二区,国产三级电影网站,日本特黄久久,成人a在线视频免费观看

TTCAN在風(fēng)力發(fā)電控制系統(tǒng)中的應(yīng)用

來源:網(wǎng)絡(luò)

點(diǎn)擊:1909

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: TTCAN,風(fēng)力發(fā)電,控制系統(tǒng)

    1  引言
                   
      近幾年,風(fēng)力發(fā)電產(chǎn)業(yè)開始進(jìn)入一個高速增長期[1],而隨著風(fēng)電的火熱,風(fēng)力發(fā)電控制技術(shù)也得到了快速的發(fā)展。本文所設(shè)計的風(fēng)力發(fā)電控制系統(tǒng)采用模塊化設(shè)計,應(yīng)用于1兆瓦風(fēng)力發(fā)電控制。設(shè)計包括了主控制器模塊、i/o模塊、電網(wǎng)測量模塊和變槳驅(qū)動模塊,各模塊間通過can總線連接進(jìn)行通訊。
                   
      由于傳統(tǒng)的can網(wǎng)絡(luò)沒有統(tǒng)一的全局時鐘,本質(zhì)上是以事件觸發(fā)為基礎(chǔ)的總線系統(tǒng),會經(jīng)常存在總線時序混亂、報文發(fā)送沖突導(dǎo)致發(fā)送延遲等弊端,影響系統(tǒng)的實(shí)時性[2]。盡管事件觸發(fā)can在報文發(fā)送失敗后提供自動重發(fā)功能,但是發(fā)送的延時會導(dǎo)致報文幀發(fā)送的確切時間難以預(yù)料,從而導(dǎo)致can網(wǎng)絡(luò)報文發(fā)送周期的抖動。所以報文發(fā)送時倘若發(fā)生傳輸錯誤,報文的重傳會加重can總線的負(fù)擔(dān),很可能造成某報文幀因重傳的延時而錯過其有效時間[3],實(shí)時性大打折扣。而采用時間觸發(fā)的ttcan協(xié)議,保證任何時候總線上只有一條信息傳輸,能有效地避免沖突造成的總線仲裁,避免報文重傳,在具有較多節(jié)點(diǎn)且通訊量較大的can總線通訊中,能更好地控制通訊周期,提高系統(tǒng)的實(shí)時性。本論文設(shè)計采用基于ttcan的can總線通信方式來實(shí)現(xiàn)分布式風(fēng)力發(fā)電控制系統(tǒng)各模塊間的數(shù)據(jù)通信。同時結(jié)合冗余措施,旨在提高控制系統(tǒng)的實(shí)時性和可靠性。
               
    2  系統(tǒng)結(jié)構(gòu)
                   
      圖1為本控制系統(tǒng)總體結(jié)構(gòu)圖,系統(tǒng)包括cpu模塊、變槳伺服卡模塊、3個i/o模塊和電網(wǎng)測量模塊一共6個模塊節(jié)點(diǎn)。系統(tǒng)選用infineon公司xc164cs單片機(jī)來完成總線架構(gòu)。xc164cs所具有的twincan模塊包括兩個全功能can節(jié)點(diǎn),與外擴(kuò)can芯片相比在保證速度和穩(wěn)定性的同時也為軟件編程提供了方便。兩個全can節(jié)點(diǎn)中的每一個都能接收和發(fā)送帶11位標(biāo)識符的標(biāo)準(zhǔn)幀和帶29位標(biāo)識符的擴(kuò)展幀。兩個can節(jié)點(diǎn)共享twincan模塊的資源,目的是優(yōu)化can總線通信處理以及使cpu負(fù)荷最小[4]。全can功能與fifo結(jié)構(gòu)的靈活組合可滿足復(fù)雜嵌入式系統(tǒng)的實(shí)時要求。同時它具備禁止重發(fā)功能,所以利用各個模塊xc164cs單片機(jī)的twincan模塊可以很方便地組建控制系統(tǒng)各模塊間雙冗余的ttcan通信網(wǎng)絡(luò)。

                圖1  風(fēng)力發(fā)電控制器系統(tǒng)總體框圖
               


    3  ttcan原理與實(shí)現(xiàn)
                   
      ttcan是在傳統(tǒng)can的基礎(chǔ)上融入時間觸發(fā)機(jī)制,任何動作都是由一個時間(全局同步)系列決定的[5],它將通訊周期分割成若干時間片,同時分配給各個節(jié)點(diǎn),形成一個調(diào)度時刻表,總線上各個節(jié)點(diǎn)嚴(yán)格遵照該時刻表在各自的時間片中進(jìn)行can數(shù)據(jù)收發(fā)[6],如圖2所示,當(dāng)系統(tǒng)時鐘到達(dá)3ms和6ms時,發(fā)送報文a;到達(dá)5ms和9ms時,分別接收報文b和發(fā)送報文c。網(wǎng)絡(luò)內(nèi)所有的報文活動都安排在一個這樣的周期性的時刻表內(nèi),得到了系統(tǒng)信息陣,來控制所有節(jié)點(diǎn)正常有序的進(jìn)行通訊。從而保證任何時刻總線上只有一條數(shù)據(jù)傳輸,避免總線仲裁,確保了系統(tǒng)實(shí)時性,所以ttcan的設(shè)計實(shí)際上是制定能滿足系統(tǒng)控制周期的can節(jié)點(diǎn)調(diào)度時刻表[7]。

                圖2  ttcan時刻調(diào)度表
               

        


      在ttcan網(wǎng)絡(luò)中,節(jié)點(diǎn)的同步是靠所謂的參照報文維持的,如圖3,它由一個特殊的節(jié)點(diǎn)定期發(fā)送,這就是時間主機(jī)(主節(jié)點(diǎn))。參照報文也是一個can數(shù)據(jù)幀,其特征在于它的標(biāo)識符。有效的參照報文同時被所有節(jié)點(diǎn)識別。兩個參照報文之間的時間構(gòu)成了can傳輸?shù)幕局芷?,基本周期又由很多時間窗組成,在每個時間窗中可進(jìn)行特定的報文操作[8]。每一個有效參照報文啟動了一個新的基本循環(huán),并且引起了每一個節(jié)點(diǎn)的循環(huán)時間復(fù)位,于是另一個基本循環(huán)重新開始,也就是說,ttcan的時間觸發(fā)通信是基于參照報文的周期通信[9]。

                圖3  ttcan基本循環(huán)
                   


      針對1mw風(fēng)力發(fā)電控制系統(tǒng),系統(tǒng)包括包含cpu模塊在內(nèi)的6個節(jié)點(diǎn),對每個節(jié)點(diǎn)進(jìn)行編號,在一個通訊周期中,每個節(jié)點(diǎn)報文收發(fā)都有其具體執(zhí)行的時刻,各節(jié)點(diǎn)嚴(yán)格按照該時刻表進(jìn)行調(diào)度執(zhí)行相關(guān)操作,從而確保cpu模塊與系統(tǒng)其他各節(jié)點(diǎn)之間快速順暢地進(jìn)行can通訊。
                   
      而在1mw風(fēng)力發(fā)電控制系統(tǒng)can通訊中,系統(tǒng)各節(jié)點(diǎn)報文在一個基本周期內(nèi)收發(fā)所用時刻表參照圖4。

                圖4  1mw can通訊調(diào)度時刻
               

        
      每次通訊周期控制在20ms,也就是說每個基本循環(huán)的周期為20ms,其中節(jié)點(diǎn)0對應(yīng)cpu模塊,節(jié)點(diǎn)1對應(yīng)變槳伺服卡,節(jié)點(diǎn)2對應(yīng)i/o模塊1,節(jié)點(diǎn)3對應(yīng)i/o模塊2,節(jié)點(diǎn)4對應(yīng)i/o模塊3,節(jié)點(diǎn)5對應(yīng)電網(wǎng)測量模塊,在一個通訊周期中,每個節(jié)點(diǎn)報文收發(fā)都有其具體執(zhí)行的時刻,各節(jié)點(diǎn)嚴(yán)格按照該時刻表進(jìn)行調(diào)度執(zhí)行相關(guān)操作。如圖6,cpu模塊在每個查詢周期最后會向總線上各節(jié)點(diǎn)廣播一個時鐘同步數(shù)據(jù)幀,通知各從節(jié)點(diǎn)復(fù)位計數(shù),為下一個周期做時鐘同步。總線上的每個從節(jié)點(diǎn)只有當(dāng)收到這個時鐘同步幀時,才會重新將它的時間計數(shù)清零,同時在他的中斷發(fā)送時刻到來時進(jìn)行發(fā)送,如果收不到該時鐘同步幀,從模塊不會將數(shù)據(jù)發(fā)送至cpu模塊。于是這樣就建立了總線的全局時間[10],從而確保cpu模塊與系統(tǒng)其它各節(jié)點(diǎn)之間快速順暢地進(jìn)行can通訊。同時做為從模塊,如果收到的時鐘同步幀是由a通道傳來,則其發(fā)送數(shù)據(jù)也選擇a通道,如果收到的同步幀是由b通道傳來,則其發(fā)送數(shù)據(jù)選擇b通道。也就是說這個時鐘同步幀對從節(jié)點(diǎn)而言還有發(fā)送使能的功效,并且同時利用這個時鐘同步幀來完成冗余過程中的通道切換。
               
    4  冗余設(shè)計
                   
      cpu模塊與各從模塊間采用雙can通信,can a和can b都配置成8 fifo接收和8fifo發(fā)送模式。系統(tǒng)采用冷冗余的方式進(jìn)行can故障處理,正常情況下各模塊均使用can a總線通訊,當(dāng)在發(fā)現(xiàn)cana通道故障的情況下,才去激活系統(tǒng)的canb通道,使系統(tǒng)繼續(xù)正常運(yùn)行。設(shè)計思路如圖5流程圖所示,當(dāng)系統(tǒng)自行判斷到系統(tǒng)中任一模塊的某個can通道通訊已經(jīng)出錯或中斷時,進(jìn)行報警并集體同時切換總線通道,保證系統(tǒng)同樣正常的進(jìn)行通訊。

                圖5  冗余流程
                   


      而要實(shí)現(xiàn)冗余,can通道的故障判斷尤為重要。由于風(fēng)力發(fā)電控制系統(tǒng)中,cpu模塊充當(dāng)著控制器的核心,系統(tǒng)所有的采集輸入都在這里匯集,經(jīng)過控制流程后又由它產(chǎn)生控制輸出。于是在can網(wǎng)絡(luò)中,cpu模塊同時充當(dāng)著主節(jié)點(diǎn)的角色。所以系統(tǒng)設(shè)計在cpu模塊中進(jìn)行can總線故障判斷處理。具體判斷流程如下:cpu模塊中預(yù)設(shè)定時器中斷(暫設(shè)1ms),對每個從節(jié)點(diǎn)都做時間計數(shù),當(dāng)每次收到從節(jié)點(diǎn)傳來的數(shù)據(jù)幀時,對相應(yīng)節(jié)點(diǎn)的計數(shù)清零。也就是說,這個計數(shù)就是距上次正確收到該從節(jié)點(diǎn)傳來數(shù)據(jù)的延時(單位為ms)。當(dāng)程序判斷這個計數(shù)超過一定值(暫定100ms),認(rèn)為通信超時,該從節(jié)點(diǎn)的can通訊已經(jīng)出錯或中斷,此時整個控制系統(tǒng)需要切換總線通道,激活canb,重新建立通訊,并進(jìn)行報警。如下面流程圖6所示。

                圖6  can故障判斷流程圖 
      

             
    5  實(shí)驗(yàn)結(jié)果分析
                   
      基于本方案所設(shè)計的這種通訊方式,當(dāng)can節(jié)點(diǎn)發(fā)送數(shù)據(jù)時,在其待發(fā)送的數(shù)據(jù)幀最后補(bǔ)加上兩個字節(jié)的crc校驗(yàn)碼,區(qū)別于twincan模塊自身所帶的crc容錯機(jī)制,補(bǔ)加的crc校驗(yàn)是為了防止can傳輸多幀數(shù)據(jù)過程中出現(xiàn)數(shù)據(jù)丟幀的現(xiàn)象。于是,cpu模塊每次都將接收完成的數(shù)據(jù)進(jìn)行crc判斷,以此驗(yàn)證收到的該幀數(shù)據(jù)是否出錯。cpu模塊程序設(shè)計使其對它收到的每個從節(jié)點(diǎn)傳來的數(shù)據(jù)幀進(jìn)行一個計數(shù),每正確收到1幀,計數(shù)加1。設(shè)查詢時刻為t,can通訊周期為t,則t時刻計數(shù)值cnt=t/t。以通訊周期20ms為例,每隔1秒鐘,cpu模塊應(yīng)收到的每個從節(jié)點(diǎn)所傳來的數(shù)據(jù)幀數(shù)cnt=50,即為32h,于是,我們每隔1秒鐘將這些計數(shù)通過串口發(fā)出來,就可以監(jiān)視這些計數(shù),以此驗(yàn)證ttcan通訊周期長度,以及can總線切換機(jī)制。具體數(shù)據(jù)參見附表。
                附表 監(jiān)視結(jié)果表

                   


      附表中為20ms通訊周期下,系統(tǒng)上電運(yùn)行10min的一個情況,據(jù)表分析,系統(tǒng)上電時,延時1秒鐘開始can通訊,正常情況下,每秒鐘包含50個通訊周期,故應(yīng)正常收發(fā)數(shù)據(jù)50幀,t時刻計數(shù)值則剛好滿足cnt=(t-1)*50,相鄰兩秒之間計數(shù)基本相差32h。但偶爾會出現(xiàn)前后兩秒相差31h的情況,這種情況出現(xiàn)的原因則是因?yàn)樵谠摪l(fā)送時刻,該節(jié)點(diǎn)該次數(shù)據(jù)暫未接收完成所致。
                   
      系統(tǒng)上電1min后,嘗試切斷總線上id號為1的節(jié)點(diǎn),會發(fā)現(xiàn)該節(jié)點(diǎn)計數(shù)相對其他正常節(jié)點(diǎn)少5,則分析推斷該節(jié)點(diǎn)can通訊停頓了100ms后又重新建立,而此刻,系統(tǒng)已經(jīng)完成can通道切換,轉(zhuǎn)用canb運(yùn)行。
               
    6  結(jié)束語
                   
      實(shí)驗(yàn)效果表明,基于冗余ttcan的模塊化風(fēng)力發(fā)電控制系統(tǒng)各模塊間的通信總線,相對于過去常用的查詢返回can通信方式,更具效率且更為可靠。它的應(yīng)用,對于提高整個控制系統(tǒng)的可靠性和實(shí)時性極具意義。

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請聯(lián)系我們刪除。