• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于IsaGRAF的城軌車輛列控軟件設(shè)計與實現(xiàn)

      2022-03-24 08:56:24楊小波冉德強
      技術(shù)與市場 2022年3期
      關(guān)鍵詞:輸入輸出功能塊數(shù)據(jù)結(jié)構(gòu)

      楊小波,冉德強,張 楊,李 偉

      (中車株洲電力機車有限公司,湖南 株洲 412000)

      0 引言

      目前軌道交通車輛列控軟件設(shè)計集成開發(fā)環(huán)境主要有Multiprog、IsaGRAF、CodeSys等,根據(jù)開發(fā)環(huán)境不同各開發(fā)平臺的軟件設(shè)計方式略有差異,但平臺內(nèi)使用的編程語言均遵循IEC61131-3標準。本文研究對象為IsaGRAF環(huán)境下,列控軟件的設(shè)計與實現(xiàn)方法,IsaGRAF軟件由芬蘭EKE電子公司開發(fā)。EKE電子有限公司致力于列車通信管理系統(tǒng)(TCMS)和列車通信網(wǎng)絡(luò)(TCN)設(shè)備的設(shè)計與生產(chǎn)。

      1 ISaGRAF軟件

      ISaGRAF是行業(yè)內(nèi)領(lǐng)先,同時符合IEC61131-3標準和IEC61499標準的,用于創(chuàng)建工業(yè)自動化產(chǎn)品的固件和工作臺[1]。

      ISaGRAF是一套與硬件無關(guān),并以視窗為開發(fā)環(huán)境的可編程控制語言設(shè)計開發(fā)的軟件。在ISaGRAF3.3版中更將流程圖語言(Flow Chart,F(xiàn)C)納入成為第六種程序設(shè)計語言,使得ISaGRAF完全支持世界上自動化行業(yè)的六大程序設(shè)計語言,成為最強大的可編程開發(fā)工具[2]。ISaGRAF 支持IEC61131-3標準中的5種編程語言[3]。IEC61131-3定義了5種編程語言的語法和描述它們的表示法以及語言元素,如表1所示。

      表1 IEC61131-3中的編程語言

      1.1 組件及TDBuild工具

      開發(fā)列車網(wǎng)絡(luò)控制系統(tǒng)(以下簡稱:TCMS)軟件時,采用的組件有操作系統(tǒng)、固件和TDB文件以及車輛控制單元(以下簡稱:VCU),遠程輸入輸出模塊(以下簡稱:RIOM)。

      TDBuild為ISaGRAF的自帶工具,用于定義I/O硬件類型或增加新的數(shù)據(jù)結(jié)構(gòu)、函數(shù)以及功能模塊。TDBuild工具可將子系統(tǒng)的所有變量組成一個結(jié)構(gòu)體,每個信號變量的字位偏移都能根據(jù)數(shù)據(jù)類型自動計算,在編碼時直接調(diào)用生成的結(jié)構(gòu)體即可,無需逐一命名軟件中所用的變量,極大地提高了開發(fā)效率。

      1.2 程序執(zhí)行特點

      ISaGRAF是基于多子程序(以下簡稱:PRG)的開發(fā)環(huán)境,軟件執(zhí)行嚴格按照程序循環(huán)周期執(zhí)行。并且軟件執(zhí)行的順序與PRG的先后順序完全對應(yīng),如圖1所示。VCU程序周期可由用戶按需自行配置,在實際項目程序執(zhí)行周期一般為50 ms。

      圖1 程序執(zhí)行示意圖

      在軟件開發(fā)時,子程序的前后順序按圖2所示的數(shù)據(jù)流圖進行設(shè)置。

      圖2 程序執(zhí)行數(shù)據(jù)流圖

      1.3 數(shù)據(jù)傳輸結(jié)構(gòu)

      設(shè)備間通信需要將傳輸?shù)淖止?jié)包轉(zhuǎn)化成具有實際意義的信號,這類工作在TDBuild里完成。在TDBuild建立數(shù)據(jù)結(jié)構(gòu),并為數(shù)據(jù)結(jié)構(gòu)里的每個信號都確定偏移量,當該數(shù)據(jù)結(jié)構(gòu)獲取到相應(yīng)長度的數(shù)據(jù)后,將按偏移量自動分解成每個信號的數(shù)值。

      1.3.1 TCMS與MVB子系統(tǒng)

      VCU與MVB子系統(tǒng)采用MVB端口的結(jié)構(gòu),每個端口根據(jù)預(yù)先定義的數(shù)據(jù)量的不同體現(xiàn)為2字節(jié)、4字節(jié)、8字節(jié)、16字節(jié)或32字節(jié)的數(shù)據(jù)包,如圖3所示。

      圖3 MVB端口的數(shù)據(jù)結(jié)構(gòu)圖

      1.3.2 TCMS與其他子系統(tǒng)

      其他子系統(tǒng)包含非MVB/CAN通信的子系統(tǒng),主要有SPDS、無線主機等。這些子系統(tǒng)通信所采用的數(shù)據(jù)結(jié)構(gòu)定義與MVB/CAN子系統(tǒng)類似,區(qū)別在于MVB/CAN的數(shù)據(jù)包大小固定,即使沒有足夠的數(shù)據(jù)也仍需要以0填充,而非MVB/CAN子系統(tǒng)則根據(jù)子系統(tǒng)數(shù)據(jù)接口規(guī)范文件的需求定義數(shù)據(jù)結(jié)構(gòu)長度。

      2 列控軟件設(shè)計與實現(xiàn)

      2.1 系統(tǒng)介紹

      完整的網(wǎng)絡(luò)控制系統(tǒng)軟件主要由參數(shù)、變量組、程序和功能塊組成。參數(shù)主要包括I/O配線和已定義的字,I/O配線是硬件設(shè)備板卡地址或各子系統(tǒng)的地址與結(jié)構(gòu)體變量綁定的體現(xiàn)。變量組程序則是按系統(tǒng)將變量分為不同的組,便于調(diào)試。程序是實現(xiàn)列車的邏輯控制功能。包括網(wǎng)絡(luò)初始化、數(shù)據(jù)輸入、數(shù)據(jù)輸出和對各子系統(tǒng)診斷與控制。列車的邏輯控制部分的程序有的需要調(diào)用功能塊來實現(xiàn)其功能。如司機室占有、加減速度測試等。可根據(jù)項目需要自定義功能塊實現(xiàn)軟件功能。

      2.2 軟件設(shè)計

      2.2.1 軟件架構(gòu)

      VCU由CPU板卡、MVB板卡以及電源板卡組成。板卡之間通過背板總線VME總線連接。VCU軟件結(jié)構(gòu)主要由7個模塊組成:硬件輸入輸出模塊、輸入輸出映射模塊、邏輯控制模塊、故障診斷模塊、記錄模塊、協(xié)議/時間管理模塊以及變量字典組成,如圖4所示。

      圖4 VCU軟件架構(gòu)圖

      根據(jù)TCMS系統(tǒng)要求,VCU軟件須滿足主從自動切換功能,主從設(shè)備互為熱備冗余。

      TCMS中存在2個VCU,正常情況下只有一個VCU為車輛管理的主節(jié)點,稱之為強主,而另一個VCU則為備份的主節(jié)點,為弱主。強主和弱主的區(qū)別僅針對子系統(tǒng)而言,通常由主設(shè)備完成對車輛的控制。以六編組地鐵車輛為例,默認1車的VCU為強主。軟件啟動時,1車先給6車的VCU發(fā)送累加值,6車的VCU比1車VCU則慢1 s。所以6車的VCU先判斷出1車的VCU已在線,并且為強主,則6車VCU將不再給1車VCU發(fā)送累加值。主從VCU的判斷流程如圖5所示。

      圖5 VCU主從判斷流程圖

      ISaGRAF軟件應(yīng)用工程的組織結(jié)構(gòu)如圖6所示。在鏈路架構(gòu)中,用戶可定義程序使用的參數(shù)、變量組、程序、函數(shù)和功能塊;在硬件架構(gòu)中,用戶可配置程序的網(wǎng)絡(luò)屬性(連接到Target的總線類型)、Target配置屬性和資源屬性;在數(shù)據(jù)字典中,用戶定義變量和參數(shù)、定義函數(shù)和功能塊的變量屬性以及引用由TDB工具生成的數(shù)據(jù)結(jié)構(gòu)體;I/O配線實現(xiàn)了本地變量與其他TCMS設(shè)備的數(shù)據(jù)交換,首先I/O配線將本地變量映射至相應(yīng)協(xié)議的數(shù)據(jù)包中,再通過UDP、MVB或CAN協(xié)議邏輯將數(shù)據(jù)包發(fā)送至總線或以太網(wǎng),UDP、MVB或CAN協(xié)議的實現(xiàn)封裝在底層庫。

      圖6 ISaGRAF軟件應(yīng)用工程架構(gòu)圖

      2.2.2 變量字典

      軟件程序中使用到的所有變量均在變量字典中定義,包括全局變量、結(jié)構(gòu)體實例化等。VCU的變量字典依據(jù)列車各子系統(tǒng)數(shù)據(jù)接口規(guī)范(MVB通信協(xié)議)進行設(shè)計。

      2.2.3 硬件輸入輸出

      硬件輸入輸出是VCU與其他子系統(tǒng)進行通信的鏈接,VCU為每個子系統(tǒng)設(shè)定通信參數(shù)以及配置數(shù)據(jù)映射。如前述的輸入輸出變量通過綁定相應(yīng)的IO配線通道進行數(shù)據(jù)交換。

      2.2.4 輸入輸出映射

      輸入輸出映射是以ISaGRAF程序的POU形式體現(xiàn)的,輸入輸出映射塊用于數(shù)據(jù)的匯總及篩選。加速度測試由P_AccTest程序進行輸入輸出映射。

      2.2.5 邏輯控制

      邏輯控制是VCU軟件的核心功能,軟件的所有控制功能均在這部分完成。

      2.2.6 循環(huán)記錄

      循環(huán)記錄功能主要用于記錄周期性的數(shù)據(jù),數(shù)據(jù)包括數(shù)字信號和模擬信號,具體的數(shù)據(jù)列表根據(jù)項目確定,記錄功能由TDB文件提供的底層C功能塊LogData實現(xiàn)。

      2.2.7 故障檢測

      故障檢測模塊是將VCU獲取的各子系統(tǒng)故障信號判定是否觸發(fā)或恢復(fù),并記錄至本地內(nèi)存,需要記錄的信號列表根據(jù)項目需求確定。

      2.3 軟件實現(xiàn)

      本文以加速度測試程序開發(fā)為例,主要講述列控軟件設(shè)計的邏輯控制部分。加速度測試程序使用FBD語言實現(xiàn)。在該程序中調(diào)用AccTest功能塊來計算列車運行時的加速度。AccTest功能塊需要計算列車運行的加速度,利用ST語言來編寫更加簡潔、容易。加速度測試的程序開發(fā)使用FBD語言與ST語言相結(jié)合的方式,很好地利用了2種編程語言的優(yōu)勢,提高了開發(fā)者的工作效率。加速度測試功能塊的參數(shù)定義如表2所示。

      表2 加速度測試功能塊的參數(shù)定義

      說明:如圖7所示,HMI占有端設(shè)置的加速度測試起始速度和加速度測試終止速度均有乘以10的運算,此處為單位換算(1=0.1 km/h)。輸入變量及其含義如表3所示。

      圖7 加速度測試程序框圖

      表3 加速度測試輸入變量及其含義

      輸出變量及其含義如表4所示。

      表4 加速度測試輸出變量及其含義

      車輛操作人員在HMI屏上設(shè)置加速度測試的起始速度和終止速度并點擊開始測試時,VCU將通過如圖7所示的程序計算出列車在該測試區(qū)間內(nèi)的實時加速度、平均加速度和加速距離,再將三者的數(shù)據(jù)值發(fā)送給HMI進行顯示。AccTest是加速度測試功能塊,其內(nèi)部流程如圖8所示。

      圖8 加速度測試功能塊實現(xiàn)流程圖

      加速度測試功能塊將加速度相關(guān)量計算的具體實現(xiàn)過程封裝在一起,這樣該功能塊具有更好的移植性,并且可以對其單獨加密,在必要時可以增強技術(shù)的安全性。

      3 結(jié)語

      本文利用ISaGRAF實現(xiàn)了列車加減速度計算程序,該程序僅僅是列控軟件中的一個子程序,其他程序開發(fā)遵循相同的開發(fā)規(guī)范及設(shè)計流程,共同完成車輛的邏輯控制。此外,文中提到的FBD和ST兩種編程語言結(jié)合的軟件開發(fā)方式,提高了軟件開發(fā)效率,便于軟件調(diào)試,也為軌道交通領(lǐng)域軟件模塊化設(shè)計思想提供了參考。該設(shè)計方式已在寧波、昆明等地鐵車輛中運用,能高效、可靠地完成車輛控制功能,具有良好的實際應(yīng)用效果。

      猜你喜歡
      輸入輸出功能塊數(shù)據(jù)結(jié)構(gòu)
      Camtasia Studio高清視頻輸入輸出原理及方法
      鐵路信號系統(tǒng)安全輸入輸出平臺
      輸入輸出理論在大學英語聽說課堂中的教學探索
      Ovation系統(tǒng)FIRSTOUT和FIFO跳閘首出比較
      輸入輸出視角下高職英語教學研究
      “翻轉(zhuǎn)課堂”教學模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學為例
      高職高專數(shù)據(jù)結(jié)構(gòu)教學改革探討
      中國市場(2016年45期)2016-05-17 05:15:48
      自定義功能塊類型在電解槽聯(lián)鎖中的應(yīng)用
      中國氯堿(2015年9期)2015-11-02 01:03:41
      基于MACSV6.5.2的鍋爐燃盡風開關(guān)量調(diào)節(jié)門控制功能塊設(shè)計
      PLCopen運動控制功能塊的研究與開發(fā)
      开阳县| 广平县| 台北县| 景德镇市| 若尔盖县| 兰西县| 上虞市| 肇源县| 合江县| 天津市| 上栗县| 阿勒泰市| 嵊泗县| 政和县| 灌云县| 永吉县| 东阿县| 金堂县| 辉县市| 日土县| 青龙| 内黄县| 青神县| 新泰市| 吉木乃县| 万盛区| 信阳市| 精河县| 常宁市| 林甸县| 耿马| 甘德县| 通渭县| 汶川县| 栾川县| 靖州| 教育| 镇坪县| 廉江市| 广丰县| 平凉市|