国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)平臺(tái)的制作方法

      文檔序號(hào):6649089閱讀:441來(lái)源:國(guó)知局
      一種列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)平臺(tái)的制作方法
      【專利摘要】本發(fā)明涉及一種開(kāi)發(fā)平臺(tái)裝置,包括:邏輯編程模塊,其經(jīng)配置以進(jìn)行邏輯編程,獲得應(yīng)用功能程序;配置模塊,其經(jīng)配置以定義應(yīng)用功能程序的變量與驅(qū)動(dòng)程序的變量之間的關(guān)聯(lián)關(guān)系;以及代碼生成模塊,利用應(yīng)用功能程序的變量與驅(qū)動(dòng)程序的變量之間的關(guān)聯(lián)關(guān)系,根據(jù)應(yīng)用功能程序生成目標(biāo)機(jī)代碼。
      【專利說(shuō)明】一種列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)平臺(tái)

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種軌道車(chē)輛領(lǐng)域,特別地涉及一種列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)平臺(tái)O

      【背景技術(shù)】
      [0002]列車(chē)網(wǎng)絡(luò)控制系統(tǒng)是一個(gè)大型、復(fù)雜、高度集成化的系統(tǒng)。因此,采用統(tǒng)一的平臺(tái)對(duì)系統(tǒng)軟件進(jìn)行開(kāi)發(fā)對(duì)列車(chē)網(wǎng)絡(luò)控制系統(tǒng)進(jìn)行高效集成是重要的。雖然現(xiàn)有技術(shù)中存在西門(mén)子的SIBAS G平臺(tái)、龐巴迪的MITRAC平臺(tái)等開(kāi)發(fā)平臺(tái);但是,這些開(kāi)發(fā)平臺(tái)都是封閉的,僅能應(yīng)用于其所針對(duì)的西門(mén)子的系統(tǒng)或龐巴迪系統(tǒng)。因此,本領(lǐng)域中迫切需要一種應(yīng)用更為廣泛的列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)平臺(tái)。


      【發(fā)明內(nèi)容】

      [0003]針對(duì)以上技術(shù)問(wèn)題,本申請(qǐng)?zhí)岢隽艘环N開(kāi)發(fā)平臺(tái)裝置,包括:邏輯編程模塊,其經(jīng)配置以進(jìn)行邏輯編程,獲得應(yīng)用功能程序;配置模塊,其經(jīng)配置以定義應(yīng)用功能程序的變量與驅(qū)動(dòng)程序的變量之間的關(guān)聯(lián)關(guān)系;以及代碼生成模塊,利用應(yīng)用功能程序的變量與驅(qū)動(dòng)程序的變量之間的關(guān)聯(lián)關(guān)系,根據(jù)應(yīng)用功能程序生成目標(biāo)機(jī)代碼。
      [0004]如上所述的開(kāi)發(fā)平臺(tái)裝置,其中應(yīng)用功能程序包括基礎(chǔ)進(jìn)程和一個(gè)或多個(gè)功能進(jìn)程,其中基礎(chǔ)進(jìn)程用于調(diào)度和/或監(jiān)控一個(gè)或多個(gè)功能進(jìn)程。
      [0005]如上的開(kāi)發(fā)平臺(tái)裝置,其中配置模塊進(jìn)一步包括驅(qū)動(dòng)配置部分,其中代碼生成模塊利用驅(qū)動(dòng)配置部分生成驅(qū)動(dòng)程序。
      [0006]如上的開(kāi)發(fā)平臺(tái)裝置,其中驅(qū)動(dòng)配置部分包括通信網(wǎng)卡驅(qū)動(dòng)子部分和硬件驅(qū)動(dòng)子部分。
      [0007]如上的開(kāi)發(fā)平臺(tái)裝置,其中驅(qū)動(dòng)配置部分包括診斷存儲(chǔ)子部分和/或人機(jī)交互子部分。
      [0008]如上的開(kāi)發(fā)平臺(tái)裝置,其中配置模塊進(jìn)一步包括變量配置部分,其定義應(yīng)用功能程序與驅(qū)動(dòng)程序之間的變量映射、端口映射和/或消息數(shù)據(jù)的交互。
      [0009]如上的開(kāi)發(fā)平臺(tái)裝置,其中代碼生成模塊根據(jù)通信網(wǎng)卡驅(qū)動(dòng)子部分和硬件驅(qū)動(dòng)子部分生成通信網(wǎng)卡驅(qū)動(dòng)程序代碼和專用硬件驅(qū)動(dòng)程序代碼。
      [0010]如上的開(kāi)發(fā)平臺(tái)裝置,代碼生成模塊根據(jù)通信網(wǎng)卡驅(qū)動(dòng)子部分生成動(dòng)態(tài)鏈接庫(kù),根據(jù)硬件驅(qū)動(dòng)子部分生成專用硬件驅(qū)動(dòng)程序代碼。
      [0011]如上的開(kāi)發(fā)平臺(tái)裝置,其中代碼生成模塊根據(jù)診斷存儲(chǔ)子部分和/或人機(jī)交互子部分生成診斷存儲(chǔ)驅(qū)動(dòng)程序代碼和/或人機(jī)交互驅(qū)動(dòng)程序代碼。
      [0012]如上的開(kāi)發(fā)平臺(tái)裝置,其中代碼生成模塊根據(jù)變量配置部分生成變量關(guān)聯(lián)管理代碼,所述變量關(guān)聯(lián)管理代碼定義應(yīng)用功能程序與驅(qū)動(dòng)程序之間的變量映射、端口映射和/或消息數(shù)據(jù)的交互。
      [0013]如上的開(kāi)發(fā)平臺(tái)裝置,進(jìn)一步包括代碼集成模塊,其經(jīng)配置以將針對(duì)一個(gè)或多個(gè)目標(biāo)機(jī)的多個(gè)應(yīng)用功能程序進(jìn)行集成。
      [0014]如上的開(kāi)發(fā)平臺(tái)裝置,進(jìn)一步包括代碼運(yùn)行模塊,其經(jīng)配置以運(yùn)行應(yīng)用功能程序。
      [0015]如上的開(kāi)發(fā)平臺(tái)裝置,其中所述開(kāi)發(fā)平臺(tái)裝置基于控制策略的組態(tài)軟件ControlBuilder開(kāi)發(fā)平臺(tái)。
      [0016]根據(jù)本發(fā)明的另一個(gè)方面,提出一種開(kāi)發(fā)與仿真平臺(tái)裝置,包括:如上所述的開(kāi)發(fā)平臺(tái)裝置;系統(tǒng)仿真模型運(yùn)行模塊,其經(jīng)配置以運(yùn)行系統(tǒng)仿真模型,提供仿真信號(hào);以及平臺(tái)信號(hào)接口,其經(jīng)配置以連接在開(kāi)發(fā)平臺(tái)裝置與系統(tǒng)仿真模型運(yùn)行模塊之間。
      [0017]如上所述的開(kāi)發(fā)與仿真平臺(tái)裝置,其中平臺(tái)信號(hào)接口用于將系統(tǒng)仿真模型運(yùn)行模塊輸出的仿真信號(hào)接入開(kāi)發(fā)平臺(tái)裝置;將開(kāi)發(fā)平臺(tái)裝置的信號(hào)接入系統(tǒng)仿真模型運(yùn)行模塊。
      [0018]如上所述的開(kāi)發(fā)與仿真平臺(tái)裝置,進(jìn)一步包括通信信號(hào)接口,其經(jīng)配置以連接在系統(tǒng)仿真模型運(yùn)行模塊與目標(biāo)機(jī)之間。
      [0019]如上所述的開(kāi)發(fā)與仿真平臺(tái)裝置,其中通信信號(hào)接口用于將系統(tǒng)仿真模型運(yùn)行模塊輸出的仿真信號(hào)接入通信總線并通過(guò)通信總線將仿真信號(hào)接入到目標(biāo)機(jī);并且通過(guò)通信總線將來(lái)自目標(biāo)機(jī)的信號(hào)接入到系統(tǒng)仿真模型運(yùn)行模塊。
      [0020]如上所述的開(kāi)發(fā)與仿真平臺(tái)裝置,其中系統(tǒng)仿真模型包括輸出接口程序,其將選擇性連接接入平臺(tái)信號(hào)接口或通信信號(hào)接口。

      【專利附圖】

      【附圖說(shuō)明】
      [0021]下面,將結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行進(jìn)一步詳細(xì)的說(shuō)明,其中:
      [0022]圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成軟件開(kāi)發(fā)平臺(tái)的結(jié)構(gòu)示意圖;
      [0023]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的配置模塊示意圖;
      [0024]圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的代碼生成模塊示意圖;
      [0025]圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成軟件開(kāi)發(fā)平臺(tái)與目標(biāo)機(jī)關(guān)系示意圖;
      [0026]圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的生成代碼的流程圖;
      [0027]圖6根據(jù)本發(fā)明的一個(gè)實(shí)施例的MVB過(guò)程數(shù)據(jù)通信的代碼生成機(jī)制示意圖;
      [0028]圖7根據(jù)本發(fā)明的一個(gè)實(shí)施例的MVB過(guò)程數(shù)據(jù)通信的代碼生成機(jī)制原理圖;
      [0029]圖8根據(jù)本發(fā)明的一個(gè)實(shí)施例的目標(biāo)機(jī)硬件控制代碼生成機(jī)制示意圖;
      [0030]圖9根據(jù)本發(fā)明的一個(gè)實(shí)施例的功能進(jìn)程與驅(qū)動(dòng)進(jìn)程間變量交互方法流程圖;
      [0031]圖10根據(jù)本發(fā)明的一個(gè)實(shí)施例的MVB過(guò)程數(shù)據(jù)通信的代碼生成機(jī)制示意圖;以及
      [0032]圖11是根據(jù)本發(fā)明的一個(gè)實(shí)施例的功能進(jìn)程與驅(qū)動(dòng)進(jìn)程間變量交互方法流程圖。

      【具體實(shí)施方式】
      [0033]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0034]本發(fā)明涉及系統(tǒng)集成技術(shù),屬于軌道車(chē)輛關(guān)鍵技術(shù)之一。在本文中“列車(chē)”與“軌道車(chē)輛”具有相同的含義而可以相互替換使用。
      [0035]列車(chē)網(wǎng)絡(luò)控制系統(tǒng)是軌道車(chē)輛的神經(jīng)中樞,承擔(dān)著整個(gè)列車(chē)的控制、監(jiān)視、診斷與保護(hù)等任務(wù)。列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的控制范圍涉及列車(chē)上的牽引系統(tǒng)、制動(dòng)系統(tǒng)、高壓系統(tǒng)、輔助供電、空調(diào)、行車(chē)安全設(shè)備、車(chē)門(mén)、照明等多個(gè)子系統(tǒng)。
      [0036]對(duì)于列車(chē)而言,不但各子系統(tǒng)之間的網(wǎng)絡(luò)通訊協(xié)議非常復(fù)雜,更重要的是基于網(wǎng)絡(luò)通訊的邏輯控制算法和故障診斷策略也非常復(fù)雜。由于列車(chē)網(wǎng)絡(luò)控制系統(tǒng)是一個(gè)大型、復(fù)雜、高度集成化的系統(tǒng),因此,采用一種可視化、模塊化的平臺(tái)對(duì)系統(tǒng)的軟件進(jìn)行開(kāi)發(fā)是對(duì)列車(chē)網(wǎng)絡(luò)控制系統(tǒng)進(jìn)行安全、可靠、高效集成的重要保證。
      [0037]更進(jìn)一步地,由于列車(chē)網(wǎng)絡(luò)控制系統(tǒng)涉及多個(gè)子系統(tǒng)并且由多個(gè)不同功能的軟件集成而成;如果針對(duì)列車(chē)控制網(wǎng)絡(luò)系統(tǒng)的軟件開(kāi)發(fā)與仿真測(cè)試都采用了不同的平臺(tái),就會(huì)導(dǎo)致軟件功能仿真測(cè)試需要等待所有的功能軟件全部編寫(xiě)完成并集成后才能進(jìn)行。而且,一旦檢測(cè)到軟件缺陷,就需要進(jìn)行較長(zhǎng)時(shí)間的分析才能定位原因。這種方式效率非常低下,使得軟件開(kāi)發(fā)的周期大大增加。
      [0038]根據(jù)本發(fā)明的各個(gè)實(shí)施例,以通用軟件平臺(tái)為基礎(chǔ),將系統(tǒng)硬件驅(qū)動(dòng)與軟件平臺(tái)相結(jié)合,使軟件平臺(tái)生成的目標(biāo)代碼能夠完成列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的集成控制功能,并實(shí)現(xiàn)對(duì)系統(tǒng)硬件驅(qū)動(dòng)和通信控制功能,從而提出一種列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)平臺(tái)。
      [0039]圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成軟件開(kāi)發(fā)平臺(tái)的結(jié)構(gòu)示意圖。如圖1所示,集成軟件開(kāi)發(fā)平臺(tái)100包括邏輯編程模塊101、配置模塊102和代碼生成模塊103。邏輯編程模塊101包括基礎(chǔ)進(jìn)程以及一個(gè)或多個(gè)由基礎(chǔ)進(jìn)程起始的功能進(jìn)程的編程部分;其中至少一個(gè)功能進(jìn)程是周期任務(wù),其中基礎(chǔ)進(jìn)程用于調(diào)度包括周期任務(wù)的功能進(jìn)程。由于列車(chē)網(wǎng)絡(luò)控制系統(tǒng)對(duì)于列車(chē)的運(yùn)行安全非常重要,本發(fā)明的實(shí)例可以對(duì)包括周期任務(wù)的功能進(jìn)程進(jìn)行合理的調(diào)度對(duì)保證自身集成軟件的安全性和可靠性。同樣是出于例如列車(chē)運(yùn)行安全性的考慮,根據(jù)本發(fā)明的一個(gè)實(shí)例,基礎(chǔ)進(jìn)程用于監(jiān)視至少一個(gè)功能進(jìn)程。
      [0040]根據(jù)本發(fā)明的一個(gè)實(shí)例,使用者可以利用邏輯編程模塊101在功能進(jìn)程中實(shí)現(xiàn)列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的邏輯控制和功能算法等的應(yīng)用編程。采用基礎(chǔ)進(jìn)程與功能進(jìn)程分離的方式,即基礎(chǔ)進(jìn)程主要用來(lái)關(guān)注任務(wù)調(diào)度和/或監(jiān)控,而功能進(jìn)程用來(lái)實(shí)現(xiàn)具體的應(yīng)用,可以保證控制的實(shí)時(shí)性、安全性和可靠性。
      [0041]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的配置模塊示意圖。如圖2所示,配置模塊102包括驅(qū)動(dòng)配置部分201和變量配置部分202。驅(qū)動(dòng)配置部分201包括通信網(wǎng)卡驅(qū)動(dòng)子部分、硬件驅(qū)動(dòng)子部分、診斷存儲(chǔ)子部分和人機(jī)交互子部分。
      [0042]通信網(wǎng)卡驅(qū)動(dòng)子部分用于目標(biāo)機(jī)的網(wǎng)絡(luò)通信。列車(chē)網(wǎng)絡(luò)控制系統(tǒng)運(yùn)行的基礎(chǔ)是網(wǎng)絡(luò)通信。因此,對(duì)通信網(wǎng)卡進(jìn)行驅(qū)動(dòng)實(shí)現(xiàn)通信功能是本發(fā)明的集成軟件開(kāi)發(fā)平臺(tái)完成的一個(gè)主要功能。
      [0043]硬件驅(qū)動(dòng)子部分用于與目標(biāo)機(jī)的硬件進(jìn)行通信和控制。在列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的目標(biāo)機(jī)上會(huì)進(jìn)行例如電源管理、模擬量采集、硬件保護(hù)、輸入輸出控制等功能。因此,對(duì)目標(biāo)機(jī)硬件的驅(qū)動(dòng)也是本發(fā)明的集成軟件開(kāi)發(fā)平臺(tái)的功能之一。
      [0044]診斷存儲(chǔ)子部分用于故障信息和故障相關(guān)信息的存儲(chǔ)。列車(chē)網(wǎng)絡(luò)控制系統(tǒng)涉及眾多子系統(tǒng)。一個(gè)故障可能會(huì)產(chǎn)生多種故障現(xiàn)象,或?qū)е露鄠€(gè)其他故障產(chǎn)生。對(duì)故障及相關(guān)環(huán)境數(shù)據(jù)進(jìn)行存儲(chǔ),能幫助系統(tǒng)維修時(shí)快速、準(zhǔn)確定位故障源。因此,實(shí)現(xiàn)列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的診斷存儲(chǔ)也可以是本發(fā)明的集成軟件開(kāi)發(fā)平臺(tái)的功能之一。
      [0045]人機(jī)交互子部分用于實(shí)現(xiàn)目標(biāo)機(jī)的人機(jī)交互功能。列車(chē)網(wǎng)絡(luò)控制系統(tǒng)是一個(gè)大型系統(tǒng),系統(tǒng)的調(diào)試、維修和維護(hù)是一項(xiàng)復(fù)雜工作。因此,友好智能的人機(jī)交互功能是高效可靠集成列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的重要保證。因此,實(shí)現(xiàn)列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的人機(jī)交互功能也可以是本發(fā)明的集成軟件開(kāi)發(fā)平臺(tái)的一個(gè)功能。
      [0046]一般而言,目標(biāo)機(jī)的通信協(xié)議配置文件和硬件配置文件中規(guī)定了與目標(biāo)機(jī)進(jìn)行通信和對(duì)目標(biāo)機(jī)進(jìn)行控制所需的配置信息。驅(qū)動(dòng)配置部分201通過(guò)用戶輸入的通信協(xié)議配置文件和硬件配置文件獲得通信網(wǎng)卡驅(qū)動(dòng)子部分、硬件驅(qū)動(dòng)子部分、診斷存儲(chǔ)子部分和人機(jī)交互子部分所需的驅(qū)動(dòng)信息。代碼生成模塊103根據(jù)驅(qū)動(dòng)配置部分201生成目標(biāo)機(jī)的驅(qū)動(dòng)程序代碼。根據(jù)本發(fā)明的一個(gè)實(shí)例,通信協(xié)議配置可以保存在驅(qū)動(dòng)配置部分201中。根據(jù)本發(fā)明的一個(gè)實(shí)例,硬件配置文件中包括通信協(xié)議的配置。根據(jù)本發(fā)明的一個(gè)實(shí)例,目標(biāo)機(jī)驅(qū)動(dòng)程序的生成可以由代碼生成模塊103自動(dòng)完成,因此驅(qū)動(dòng)進(jìn)程不需用戶編程實(shí)現(xiàn)。
      [0047]變量配置部分202用于將邏輯編程模塊101的編程部分中定義的變量與驅(qū)動(dòng)配置部分201中定義的變量相關(guān)聯(lián)。舉例而言,目標(biāo)機(jī)包括采用多功能車(chē)輛總線MVB通信協(xié)議的硬件資源。根據(jù)目標(biāo)機(jī)的MVB和硬件配置文件,變量配置部分202可以提取MVB和硬件配置文件中的變量。另一方面,變量配置部分202也可以提取邏輯編程模塊101的編程部分定義的與MVB通信的變量及硬件控制或寄存器的變量。根據(jù)本發(fā)明的一個(gè)實(shí)例,變量配置部分202實(shí)現(xiàn)這兩部分變量之間的關(guān)聯(lián),完成邏輯編程模塊101的變量到MVB數(shù)據(jù)和硬件端口的映射。根據(jù)本發(fā)明的一個(gè)實(shí)例,使用者可以參與變量之間的關(guān)聯(lián)。
      [0048]圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的代碼生成模塊示意圖。如圖3所示,代碼生成豐旲塊103包括:
      [0049]代碼生成模塊103根據(jù)邏輯編程模塊101的用戶編程和配置模塊102中驅(qū)動(dòng)配置部分和變量配置部分生成用于目標(biāo)機(jī)的代碼。根據(jù)本發(fā)明的一個(gè)實(shí)施例,代碼生成模塊103根據(jù)邏輯編程模塊101的編程部分,生成基礎(chǔ)進(jìn)程的代碼和功能進(jìn)程的代碼。其中,基礎(chǔ)進(jìn)程的代碼中可以包括對(duì)至少一個(gè)功能進(jìn)程調(diào)度和/或監(jiān)視的代碼。根據(jù)本發(fā)明的一個(gè)實(shí)施例,代碼生成模塊103根據(jù)配置模塊102的驅(qū)動(dòng)配置部分生成用于目標(biāo)機(jī)的驅(qū)動(dòng)程序的代碼,其可以包括通信網(wǎng)卡驅(qū)動(dòng)進(jìn)程、硬件驅(qū)動(dòng)進(jìn)程、診斷存儲(chǔ)驅(qū)動(dòng)進(jìn)程和人機(jī)交互驅(qū)動(dòng)進(jìn)程的代碼。
      [0050]根據(jù)本發(fā)明的一個(gè)實(shí)施例,代碼生成模塊103根據(jù)配置模塊102的變量配置部分生成變量關(guān)聯(lián)管理代碼。變量關(guān)聯(lián)管理代碼定義功能進(jìn)程與驅(qū)動(dòng)進(jìn)程之間的變量映射、端口映射和/或消息數(shù)據(jù)的交互,從而實(shí)現(xiàn)對(duì)目標(biāo)機(jī)的通信和控制功能。根據(jù)本發(fā)明的一個(gè)實(shí)例,變量關(guān)聯(lián)管理代碼通過(guò)共享內(nèi)存和消息隊(duì)列方式分別完成通信數(shù)據(jù)、硬件變量和消息數(shù)據(jù)的交互。
      [0051]如圖1所示,本發(fā)明的實(shí)施例的集成開(kāi)發(fā)平臺(tái)100進(jìn)一步包括代碼集成模塊104和代碼運(yùn)行模塊105。代碼集成模塊104用于將針對(duì)一個(gè)或多個(gè)目標(biāo)機(jī)的多個(gè)軟件代碼進(jìn)行集成,從而得出包括針對(duì)一個(gè)或多個(gè)目標(biāo)機(jī)的集成軟件。代碼集成可以以多種方式進(jìn)行。舉例而言,在本發(fā)明的一個(gè)實(shí)施例中,在集成開(kāi)發(fā)平臺(tái)的代碼集成模塊104包括定義對(duì)一個(gè)或多個(gè)目標(biāo)機(jī)上運(yùn)行的多個(gè)軟件進(jìn)行控制的系統(tǒng)軟件以及系統(tǒng)軟件與該多個(gè)軟件之間的接口以及該多個(gè)軟件之間的接口的集成代碼。進(jìn)一步地,代碼集成模塊104生成包括一個(gè)或多個(gè)目標(biāo)機(jī)的多個(gè)軟件代碼的經(jīng)集成的系統(tǒng)代碼,從而將該多個(gè)軟件集成到相互關(guān)聯(lián)的、統(tǒng)一和協(xié)調(diào)的系統(tǒng)中,使資源達(dá)到充分共享,實(shí)現(xiàn)集中、高效、便利的管理。進(jìn)一步地,代碼集成模塊104連接到代碼生成模塊103。代碼生成模塊103可以利用配置模塊102的配置根據(jù)經(jīng)集成的系統(tǒng)代碼生成針對(duì)一個(gè)或多個(gè)目標(biāo)機(jī)的代碼。
      [0052]在本發(fā)明的另一個(gè)實(shí)施例中,集成開(kāi)發(fā)平臺(tái)的代碼集成模塊104可以利用經(jīng)定義的系統(tǒng)模型完成多個(gè)目標(biāo)機(jī)軟件的系統(tǒng)集成。根據(jù)本發(fā)明的一個(gè)實(shí)例,系統(tǒng)模型定義對(duì)該多個(gè)目標(biāo)機(jī)的控制和多個(gè)目標(biāo)機(jī)之間的交互。系統(tǒng)模型可以是集成開(kāi)發(fā)平臺(tái)自身定義的,也可以是從外部導(dǎo)入的。
      [0053]例如,CB平臺(tái)本身就帶有仿真功能。按照實(shí)際需求,使用者可以在基于CB平臺(tái)的集成開(kāi)發(fā)平臺(tái)上編寫(xiě)列車(chē)電氣系統(tǒng)模型。該列車(chē)電氣系統(tǒng)模型包括列車(chē)電路模型和子系統(tǒng)功能模型。其中,子系統(tǒng)功能模型包括但不限于牽引子系統(tǒng)、Φ慟子系統(tǒng)、輔助子系統(tǒng)、門(mén)子系統(tǒng)、空調(diào)子系統(tǒng)、和照明子系統(tǒng)等。根據(jù)本發(fā)明的一個(gè)實(shí)例,集成開(kāi)發(fā)平臺(tái)可以利用使用者預(yù)先定義的列車(chē)電氣系統(tǒng)模型實(shí)現(xiàn)系統(tǒng)集成。
      [0054]代碼運(yùn)行模塊105包括編譯部分和運(yùn)行部分。編譯部分用于對(duì)邏輯編程模塊101或者代碼集成模塊104生成的代碼進(jìn)行編譯。運(yùn)行部分運(yùn)行經(jīng)編譯部分編譯的代碼。如圖1所示,代碼生成模塊103生成的目標(biāo)機(jī)代碼或者代碼集成模塊104生成的集成代碼都可以在運(yùn)行部分運(yùn)行。由此,在不需目標(biāo)機(jī)或系統(tǒng)硬件的情況下,集成開(kāi)發(fā)平臺(tái)即可以對(duì)邏輯編程模塊101的代碼或者代碼集成模塊104生成的集成代碼進(jìn)行測(cè)試。
      [0055]圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成軟件開(kāi)發(fā)平臺(tái)與目標(biāo)機(jī)關(guān)系示意圖。如圖4所示,基礎(chǔ)開(kāi)發(fā)平臺(tái)401根據(jù)目標(biāo)機(jī)通信和硬件配置文件以及其他所需信息生成目標(biāo)機(jī)硬件的驅(qū)動(dòng)程序代碼。進(jìn)一步地,通過(guò)實(shí)現(xiàn)使用者的應(yīng)用編程和目標(biāo)機(jī)硬件的驅(qū)動(dòng)程序之間的變量關(guān)聯(lián),基礎(chǔ)開(kāi)發(fā)平臺(tái)401生成針對(duì)于目標(biāo)機(jī)的程序代碼?;A(chǔ)開(kāi)發(fā)平臺(tái)401可以根據(jù)本文的各個(gè)實(shí)施例來(lái)實(shí)施上述過(guò)程。
      [0056]基礎(chǔ)開(kāi)發(fā)平臺(tái)401生成的目標(biāo)機(jī)代碼被轉(zhuǎn)移到目標(biāo)機(jī)中。目標(biāo)機(jī)包括目標(biāo)機(jī)硬件402和在目標(biāo)機(jī)硬件上運(yùn)行的目標(biāo)機(jī)軟件403。根據(jù)本發(fā)明的一個(gè)實(shí)例,目標(biāo)機(jī)硬件402包括通信網(wǎng)卡、專用硬件和診斷存儲(chǔ)器。通過(guò)運(yùn)行目標(biāo)機(jī)代碼,目標(biāo)機(jī)軟件包括了基礎(chǔ)進(jìn)程,例如圖4中示出的周期任務(wù)調(diào)度及監(jiān)控進(jìn)程。進(jìn)一步地,目標(biāo)機(jī)軟件還包括了多個(gè)功能進(jìn)程―!!…]!!?;A(chǔ)進(jìn)程調(diào)度并監(jiān)控功能進(jìn)程_!1-_1'11。進(jìn)一步地,與目標(biāo)機(jī)硬件402相對(duì)應(yīng),目標(biāo)機(jī)軟件還包括了通信網(wǎng)卡驅(qū)動(dòng)進(jìn)程、專用硬件驅(qū)動(dòng)進(jìn)程、和診斷存儲(chǔ)驅(qū)動(dòng)進(jìn)程。這些驅(qū)動(dòng)程序與其所對(duì)應(yīng)的網(wǎng)卡、專用硬件和診斷存儲(chǔ)器通信和實(shí)現(xiàn)對(duì)應(yīng)的控制功能。更進(jìn)一步地,為了實(shí)現(xiàn)目標(biāo)機(jī)硬件與外部設(shè)備(例如外部PC機(jī)404)的交互,目標(biāo)機(jī)軟件還包括了人機(jī)交互驅(qū)動(dòng)進(jìn)程。
      [0057]更進(jìn)一步地,目標(biāo)機(jī)軟件還包括變量交互管理機(jī)制。通過(guò)變量交互管理機(jī)制實(shí)現(xiàn)功能進(jìn)程_Τ1..._Τη和各個(gè)驅(qū)動(dòng)進(jìn)程之間的變量關(guān)聯(lián)和消息交互。變量交互管理機(jī)制可以通過(guò)共享內(nèi)存和消息隊(duì)列實(shí)現(xiàn)。
      [0058]如圖4所示,基于集成軟件開(kāi)發(fā)平臺(tái)的目標(biāo)機(jī)代碼采用功能進(jìn)程與驅(qū)動(dòng)進(jìn)程的分離的結(jié)構(gòu)。在集成開(kāi)發(fā)平臺(tái),使用者完成控制邏輯和算法等應(yīng)用功能的編程。編程完成后,通過(guò)集成開(kāi)發(fā)平臺(tái)401的變量配置和驅(qū)動(dòng)配置工具使得使用者的變量與驅(qū)動(dòng)變量關(guān)聯(lián),在代碼生成機(jī)制生成目標(biāo)機(jī)代碼。
      [0059]圖4中的虛線示出了集成開(kāi)發(fā)平臺(tái)的目標(biāo)機(jī)代碼與目標(biāo)機(jī)軟件之間的對(duì)應(yīng)關(guān)系。根據(jù)集成開(kāi)發(fā)平臺(tái)的“應(yīng)用編程”的任務(wù)調(diào)度和監(jiān)控代碼和任務(wù)功能代碼,目標(biāo)機(jī)軟件生成例如“周期任務(wù)調(diào)度與監(jiān)控進(jìn)程”的基礎(chǔ)進(jìn)程和“功能進(jìn)程_T1”?“功能進(jìn)程_Tn”。根據(jù)集成開(kāi)發(fā)平臺(tái)的“驅(qū)動(dòng)配置”的驅(qū)動(dòng)代碼生成例如“通信網(wǎng)卡驅(qū)動(dòng)進(jìn)程”、“硬件驅(qū)動(dòng)進(jìn)程”、“診斷存儲(chǔ)驅(qū)動(dòng)進(jìn)程”、“人機(jī)交互驅(qū)動(dòng)進(jìn)程”的驅(qū)動(dòng)進(jìn)程。根據(jù)集成開(kāi)發(fā)平臺(tái)的“變量管理”關(guān)聯(lián)關(guān)系代碼實(shí)現(xiàn)“變量交互管理”,完成目標(biāo)機(jī)上各個(gè)功能進(jìn)程與各驅(qū)動(dòng)進(jìn)程間變量關(guān)聯(lián)和消息交互。
      [0060]具體而言,功能進(jìn)程可以是周期進(jìn)程_T1?_Τη,其主要實(shí)現(xiàn)列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的邏輯控制、算法等應(yīng)用功能,由用戶編程實(shí)現(xiàn)。由于其對(duì)系統(tǒng)的實(shí)時(shí)控制十分重要,采用單獨(dú)的“周期任務(wù)調(diào)度及監(jiān)控進(jìn)程”對(duì)“功能進(jìn)程_Τ1”?“CB功能進(jìn)程_Τη”進(jìn)程調(diào)度及監(jiān)控,以保證系統(tǒng)控制的實(shí)時(shí)、可靠和安全性。
      [0061]“通信網(wǎng)卡驅(qū)動(dòng)進(jìn)程”驅(qū)動(dòng)目標(biāo)機(jī)通信網(wǎng)卡,從而將目標(biāo)機(jī)變成列車(chē)網(wǎng)絡(luò)管理系統(tǒng)中的可管理和控制的部件?!坝布?qū)動(dòng)進(jìn)程”驅(qū)動(dòng)目標(biāo)機(jī)硬件實(shí)現(xiàn)目標(biāo)機(jī)硬件的功能?!霸\斷存儲(chǔ)驅(qū)動(dòng)進(jìn)程”進(jìn)程完成診斷存儲(chǔ)算法并管理診斷存儲(chǔ)器硬件?!叭藱C(jī)交互驅(qū)動(dòng)進(jìn)程”完成與PC機(jī)交互。驅(qū)動(dòng)進(jìn)程不需用戶編程實(shí)現(xiàn)。
      [0062]通過(guò)“變量交互管理”機(jī)制實(shí)現(xiàn)各個(gè)功能進(jìn)程中定義的變量與各個(gè)驅(qū)動(dòng)進(jìn)程中變量的關(guān)聯(lián),從而完成應(yīng)用軟件對(duì)實(shí)際目標(biāo)機(jī)的通信與控制,實(shí)現(xiàn)其作為列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成軟件開(kāi)發(fā)平臺(tái)的功能。
      [0063]根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成開(kāi)發(fā)平臺(tái)生成的目標(biāo)機(jī)代碼可根據(jù)目標(biāo)機(jī)的通信協(xié)議實(shí)現(xiàn)與目標(biāo)機(jī)的通信功能,使用者可專注于系統(tǒng)應(yīng)用控制軟件的開(kāi)發(fā),而不必考慮網(wǎng)絡(luò)通信的底層問(wèn)題,從而大大降低了系統(tǒng)集成的難度,可快速提高自主集成網(wǎng)絡(luò)控制系統(tǒng)的能力。
      [0064]根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成開(kāi)發(fā)平臺(tái)生成的目標(biāo)機(jī)代碼可實(shí)現(xiàn)對(duì)目標(biāo)機(jī)硬件的控制功能,使集成開(kāi)發(fā)平臺(tái)能夠根據(jù)不同的配置文件,適應(yīng)不同的硬件平臺(tái)系統(tǒng),從而極大增強(qiáng)了集成開(kāi)發(fā)平臺(tái)的適用性,為不同項(xiàng)目的硬件平臺(tái)提供通用集成開(kāi)發(fā)平臺(tái)。
      [0065]本發(fā)明的集成開(kāi)發(fā)平臺(tái)可以獨(dú)立創(chuàng)建也可以基于通用的可視化模塊化編程標(biāo)準(zhǔn)IEC61131的軟件平臺(tái),例如控制策略的組態(tài)軟件Control Builder,ABB公司的自動(dòng)化組態(tài)軟件Automat1n Builder、或其他的PLC可編程邏輯控制器編程工具。
      [0066]以控制策略的組態(tài)軟件Control Builder (CB)為例,CB是一款滿足IEC61131標(biāo)準(zhǔn)的開(kāi)放的自動(dòng)化軟件平臺(tái),具有自動(dòng)生成目標(biāo)代碼功能,其自帶的代碼生成器支持生成Windows、Linux和QNX等多種操作系統(tǒng)平臺(tái)下的代碼。以CB軟件平臺(tái)為基礎(chǔ),本發(fā)明的基礎(chǔ)開(kāi)發(fā)平臺(tái)將系統(tǒng)硬件驅(qū)動(dòng)與CB平臺(tái)相結(jié)合,使CB生成的目標(biāo)代碼能夠完成列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的集成控制功能,并實(shí)現(xiàn)對(duì)系統(tǒng)硬件驅(qū)動(dòng)完成通信和控制功能,從而簡(jiǎn)便地實(shí)現(xiàn)本發(fā)明的列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)平臺(tái)。
      [0067]列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的通信功能、硬件驅(qū)動(dòng)等功能是TCMS系統(tǒng)運(yùn)行的基礎(chǔ)。根據(jù)本發(fā)明的一個(gè)實(shí)施例的列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成軟件開(kāi)發(fā)平臺(tái)具備對(duì)通信網(wǎng)絡(luò)驅(qū)動(dòng)與目標(biāo)機(jī)硬件驅(qū)動(dòng)的能力,實(shí)現(xiàn)了將通信網(wǎng)卡驅(qū)動(dòng)、目標(biāo)機(jī)硬件驅(qū)動(dòng)與模塊化編程平臺(tái)進(jìn)行結(jié)合,因此可以作為T(mén)CMS系統(tǒng)的一部分。
      [0068]TCMS是一個(gè)涉及子系統(tǒng)眾多的大型系統(tǒng),其調(diào)試、故障的診斷處理及系統(tǒng)維修維護(hù)等都十分復(fù)雜。根據(jù)本發(fā)明的一個(gè)實(shí)施例的列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成軟件開(kāi)發(fā)平臺(tái)具備高效智能的診斷存儲(chǔ)和人機(jī)交互功能,實(shí)現(xiàn)了將診斷存儲(chǔ)和人機(jī)交互功能與模塊化編程平臺(tái)進(jìn)行結(jié)合,滿足了 TCMS系統(tǒng)的要求。
      [0069]TCMS具有保證列車(chē)運(yùn)行安全的功能,因此,TCMS集成軟件本身也需要具有很高的安全性。根據(jù)本發(fā)明的一個(gè)實(shí)施例的列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成軟件開(kāi)發(fā)平臺(tái)使生成的目標(biāo)機(jī)代碼能對(duì)相關(guān)進(jìn)程進(jìn)行合理的調(diào)度與監(jiān)控,保證控制進(jìn)程運(yùn)行的安全性。
      [0070]圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成開(kāi)發(fā)平臺(tái)生成代碼的流程圖。如圖5的實(shí)施例所示的方法可以應(yīng)用于圖1-圖4所示的集成開(kāi)發(fā)平臺(tái)。如圖5所示,基于集成開(kāi)發(fā)平臺(tái)的代碼生成方法500,包括:
      [0071]步驟510,在集成開(kāi)發(fā)平臺(tái)中,進(jìn)行列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的控制邏輯、算法等應(yīng)用功能編程,得出應(yīng)用功能程序;
      [0072]步驟520,提取應(yīng)用功能程序中應(yīng)用功能程序變量,其包括需要參與網(wǎng)絡(luò)通信的通信變量、硬件控制變量或硬件控制寄存器變量;
      [0073]步驟530,提取驅(qū)動(dòng)程序變量,其包括網(wǎng)絡(luò)通信配置和硬件配置變量;
      [0074]步驟540,關(guān)聯(lián)應(yīng)用功能程序變量和驅(qū)動(dòng)程序變量,完成應(yīng)用功能程序的變量到網(wǎng)絡(luò)通信數(shù)據(jù)和硬件端口的映射;以及
      [0075]步驟550,利用代碼生成工具,生成目標(biāo)機(jī)代碼。
      [0076]如本文中所敘述的,步驟510的應(yīng)用功能編程可以是通用的軟件平臺(tái)上的編程而使用者不必關(guān)心底層的通信和驅(qū)動(dòng)問(wèn)題。步驟520中的應(yīng)用功能程序變量可以從應(yīng)用功能程序的定義中、頭文件中或特定的類中提取。這些應(yīng)用功能程序變量可以是使用者自行定義的,也可以集成開(kāi)發(fā)平臺(tái)中預(yù)先定義而提供給使用者使用的。因此,步驟520中的提取的含義是非常廣泛的。步驟530的驅(qū)動(dòng)程序變量可以通過(guò)網(wǎng)絡(luò)配置文件和硬件配置文件或者用戶定義等途徑獲得。推薦的方式是提供標(biāo)準(zhǔn)的網(wǎng)絡(luò)配置文件和硬件配置文件以及人機(jī)接口配置文件以使得集成開(kāi)發(fā)平臺(tái)可以根據(jù)這些配置文件自動(dòng)生成相關(guān)的驅(qū)動(dòng)程序代碼,并獲得驅(qū)動(dòng)程序變量。步驟540完成應(yīng)用功能程序變量與通信數(shù)據(jù)及硬件端口信號(hào)和寄存器的映射,從而實(shí)現(xiàn)應(yīng)用功能程序?qū)W(wǎng)絡(luò)通信硬件和目標(biāo)機(jī)專用硬件等目標(biāo)機(jī)硬件的控制。
      [0077]根據(jù)本發(fā)明的一個(gè)實(shí)例,完成應(yīng)用功能程序變量與硬件數(shù)據(jù)的映射后,在步驟550,集成開(kāi)發(fā)平臺(tái)首先生成兩類可執(zhí)行進(jìn)程的代碼和一個(gè)動(dòng)態(tài)鏈接庫(kù):
      [0078]I)根據(jù)應(yīng)用功能程序生成的列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的基礎(chǔ)進(jìn)程和功能進(jìn)程的代碼;
      [0079]2)根據(jù)目標(biāo)機(jī)專用硬件配置文件生成的目標(biāo)機(jī)硬件驅(qū)動(dòng)進(jìn)程;以及
      [0080]3)根據(jù)網(wǎng)絡(luò)通信配置文件生成的網(wǎng)卡動(dòng)態(tài)鏈接庫(kù)。
      [0081]進(jìn)一步地,在步驟550,集成開(kāi)發(fā)平臺(tái)生成代碼以實(shí)現(xiàn)以下功能:進(jìn)程I)和進(jìn)程2)間以共享內(nèi)存方式完成的目標(biāo)機(jī)硬件信號(hào)端口和寄存器的交互;進(jìn)程I)將調(diào)用動(dòng)態(tài)鏈接庫(kù)生成網(wǎng)卡驅(qū)動(dòng)線程;以及進(jìn)程I)和網(wǎng)卡驅(qū)動(dòng)線程間通過(guò)共享內(nèi)存和消息隊(duì)列方式分別完成網(wǎng)絡(luò)通信數(shù)據(jù)和消息數(shù)據(jù)的交互。
      [0082]以下以MVB協(xié)議為例,進(jìn)一步說(shuō)明目標(biāo)機(jī)代碼的生成機(jī)制。MVB協(xié)議是目前列車(chē)中廣泛采用的一種通信協(xié)議,具有代表性。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,其他的列車(chē)通信協(xié)議也可以類似地應(yīng)用于本發(fā)明的集成開(kāi)發(fā)平臺(tái)和代碼生成方法中。
      [0083]根據(jù)本發(fā)明的一個(gè)實(shí)施例,由于MVB過(guò)程數(shù)據(jù)、MVB消息數(shù)據(jù)和硬件控制信號(hào)實(shí)現(xiàn)的功能和通信機(jī)制不同,因此三種數(shù)據(jù)與應(yīng)用功能程序變量的交互及目標(biāo)機(jī)代碼生成機(jī)制也略有不同,將分別在圖6-8中進(jìn)行說(shuō)明。
      [0084]圖6根據(jù)本發(fā)明的一個(gè)實(shí)施例的MVB過(guò)程數(shù)據(jù)通信的代碼生成機(jī)制示意圖。如圖6所示,MVB過(guò)程數(shù)據(jù)通信的代碼按如下方式生成:在應(yīng)用功能程序的進(jìn)程中,該進(jìn)程將調(diào)用MVB網(wǎng)卡的驅(qū)動(dòng)動(dòng)態(tài)鏈接庫(kù),并生成一個(gè)MVB網(wǎng)卡驅(qū)動(dòng)線程,代碼生成模塊將根據(jù)應(yīng)用功能程序變量與MVB過(guò)程數(shù)據(jù)之間的關(guān)聯(lián)信息,在兩個(gè)進(jìn)程間建立一塊共享內(nèi)存,完成應(yīng)用功能程序相關(guān)變量與MVB網(wǎng)卡驅(qū)動(dòng)間的變量?jī)?nèi)存映射。應(yīng)用功能進(jìn)程和MVB網(wǎng)卡驅(qū)動(dòng)線程根據(jù)不同的過(guò)程數(shù)據(jù)端口配置,周期的更新及讀取其與共享內(nèi)存間接口的變量,從而完成數(shù)據(jù)的周期交互。通過(guò)這一代碼生成機(jī)制,完成了應(yīng)用功能程序變量到MVB過(guò)程數(shù)據(jù)通信的功能。
      [0085]圖7根據(jù)本發(fā)明的一個(gè)實(shí)施例的MVB消息數(shù)據(jù)通信的代碼生成機(jī)制示意圖。如圖7所示,MVB消息數(shù)據(jù)的代碼按如下方式生成:在運(yùn)行應(yīng)用功能程序進(jìn)程后,該進(jìn)程將調(diào)用MVB網(wǎng)卡的驅(qū)動(dòng)動(dòng)態(tài)鏈接庫(kù),并生成一個(gè)MVB網(wǎng)卡驅(qū)動(dòng)線程。代碼生成模塊將根據(jù)應(yīng)用功能程序變量與MVB消息數(shù)據(jù)之間的關(guān)聯(lián)信息,在應(yīng)用功能程序進(jìn)程和MVB網(wǎng)卡驅(qū)動(dòng)進(jìn)程間建立兩個(gè)消息隊(duì)列,分別為接收消息隊(duì)列和發(fā)送消息隊(duì)列。當(dāng)應(yīng)用功能程序進(jìn)程有消息產(chǎn)生,或MVB進(jìn)程從MVB總線上接收到消息時(shí),兩個(gè)進(jìn)程都根據(jù)不同的消息數(shù)據(jù)配置,實(shí)時(shí)更新或讀取消息隊(duì)列中的消息,從而完成消息數(shù)據(jù)的交互。通過(guò)這一代碼生成機(jī)制,完成了應(yīng)用功能程序到MVB消息數(shù)據(jù)通信的功能。
      [0086]圖8根據(jù)本發(fā)明的一個(gè)實(shí)施例的目標(biāo)機(jī)硬件控制代碼生成機(jī)制示意圖。如圖8所示,目標(biāo)機(jī)硬件控制代碼按如下方式生成:在生成應(yīng)用功能程序進(jìn)程和硬件驅(qū)動(dòng)進(jìn)程兩個(gè)進(jìn)程后,代碼生成模塊將根據(jù)應(yīng)用功能程序變量與專用硬件數(shù)據(jù)關(guān)聯(lián)信息,在應(yīng)用功能程序進(jìn)程和目標(biāo)機(jī)專用硬件驅(qū)動(dòng)進(jìn)程間建立一塊共享內(nèi)存,完成應(yīng)用功能程序相關(guān)變量與目標(biāo)機(jī)專用硬件驅(qū)動(dòng)間的變量?jī)?nèi)存映射。兩個(gè)進(jìn)程都根據(jù)不同的硬件端口和寄存器配置,周期的更新及讀取其與共享內(nèi)存間接口的變量,從而完成數(shù)據(jù)的周期交互。通過(guò)這一代碼生成機(jī)制,完成了應(yīng)用功能程序變量到目標(biāo)機(jī)硬件和寄存器控制功能。
      [0087]圖9是根據(jù)本發(fā)明的一個(gè)實(shí)施例的功能進(jìn)程與驅(qū)動(dòng)進(jìn)程間交互方法的流程圖。圖9的實(shí)施例可以用于本申請(qǐng)圖6-圖8或其他的實(shí)施例中;但是應(yīng)當(dāng)理解,圖9的實(shí)施例僅僅是用于舉例目的而提出的一種實(shí)現(xiàn)方式,其他能夠?qū)崿F(xiàn)類似功能的方式也可以應(yīng)用于本發(fā)明的方法之中。另外,圖9的實(shí)施例中,也采用了列車(chē)中廣泛采用的MVB通信協(xié)議。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,其他的列車(chē)通信協(xié)議也可以類似地應(yīng)用于本發(fā)明的集成開(kāi)發(fā)平臺(tái)和代碼生成方法中。
      [0088]如圖9所示,功能進(jìn)程和MVB網(wǎng)卡驅(qū)動(dòng)線程、目標(biāo)機(jī)硬件驅(qū)動(dòng)進(jìn)程間通過(guò)共享內(nèi)存和消息隊(duì)列方式分別完成MVB過(guò)程數(shù)據(jù)、MVB消息數(shù)據(jù)和目標(biāo)機(jī)硬件端口及寄存器的變量交互。
      [0089]對(duì)于MVB過(guò)程數(shù)據(jù)變量交互:功能進(jìn)程和MVB網(wǎng)卡驅(qū)動(dòng)線程共享內(nèi)存的一部分,即共享內(nèi)存901,實(shí)現(xiàn)功能進(jìn)程的相關(guān)變量與MVB網(wǎng)卡驅(qū)動(dòng)間的變量?jī)?nèi)存映射。具體方法包括:
      [0090]在步驟9110,功能進(jìn)程實(shí)時(shí)檢測(cè)其配置的變量周期是否已到,若已經(jīng)到達(dá),則在步驟9120,從共享內(nèi)存901中讀取相關(guān)地址的數(shù)值并對(duì)所映射變量進(jìn)行更新,同時(shí)向共享內(nèi)存901相關(guān)地址寫(xiě)入需要更新的變量的數(shù)值。
      [0091]與此同時(shí)或之前后或之后,在步驟9210,MVB驅(qū)動(dòng)線程實(shí)時(shí)檢測(cè)其配置的變量周期是否已到,若已經(jīng)到達(dá),則在步驟9220從共享內(nèi)存901中讀取相關(guān)地址的數(shù)值并根據(jù)映射配置發(fā)送到MVB總線上,同時(shí)將從MVB總線上接收的最新的變量根據(jù)映射配置寫(xiě)入共享內(nèi)存901的相關(guān)地址。
      [0092]通過(guò)上述過(guò)程,如果功能進(jìn)程希望從MVB總線接收某些變量數(shù)據(jù),在,這些變量數(shù)據(jù)在步驟9220將由MVB驅(qū)動(dòng)線程從MVB總線讀取,然后寫(xiě)入共享內(nèi)存901,再由功能進(jìn)程在步驟9120從共享內(nèi)存901讀取并映射到功能進(jìn)程的對(duì)應(yīng)的變量。如果功能進(jìn)程希望向MVB總線發(fā)送的變量數(shù)據(jù),這些變量數(shù)據(jù)在步驟9120將被寫(xiě)入共享內(nèi)存901,然后由MVB驅(qū)動(dòng)線程在步驟9220從共享內(nèi)存901讀取,并映射到相關(guān)端口發(fā)送到MVB總線上。由此,上述方法完成了應(yīng)用功能程序變量到MVB過(guò)程數(shù)據(jù)的通信功能。
      [0093]同樣地,對(duì)于MVB消息數(shù)據(jù)變量交互,功能進(jìn)程和MVB網(wǎng)卡驅(qū)動(dòng)進(jìn)程間共享一個(gè)接收消息隊(duì)列和一個(gè)發(fā)送消息隊(duì)列,實(shí)現(xiàn)CB相關(guān)變量與MVB網(wǎng)卡驅(qū)動(dòng)間的變量映射。具體方法如下:
      [0094]在步驟9310,當(dāng)功能進(jìn)程有消息發(fā)送時(shí),則在步驟9320將相關(guān)變量打包成符合標(biāo)準(zhǔn)的消息格式,然后將消息發(fā)送到發(fā)送消息隊(duì)列903中。在步驟9330,MVB網(wǎng)卡驅(qū)動(dòng)檢測(cè)到發(fā)送消息隊(duì)列903中是否有消息;如果有消息,則在步驟9340將該消息取出并發(fā)送到MVB總線上。
      [0095]與此同時(shí)或之前后或之后,在步驟9410,當(dāng)MVB網(wǎng)卡接收到MVB總線上的消息時(shí),則在步驟9420,將該消息發(fā)送到接收消息隊(duì)列904中。在步驟9430,功能進(jìn)程檢測(cè)到接收消息隊(duì)列904中是否有消息;如果有消息,在步驟9440,將該消息取出然后根據(jù)關(guān)聯(lián)關(guān)系將消息中的數(shù)據(jù)映射到功能進(jìn)程的相關(guān)變量上,進(jìn)行數(shù)據(jù)處理。
      [0096]對(duì)于目標(biāo)機(jī)專用硬件變量交互,功能進(jìn)程和目標(biāo)機(jī)硬件驅(qū)動(dòng)進(jìn)程間共享內(nèi)存的一部分,即共享內(nèi)存902,實(shí)現(xiàn)CB相關(guān)變量與目標(biāo)機(jī)硬件驅(qū)動(dòng)間的變量?jī)?nèi)存映射。具體方法如下:
      [0097]在步驟9510,功能進(jìn)程實(shí)時(shí)檢測(cè)其配置的變量周期是否已到,若已經(jīng)到達(dá),則在步驟9520從共享內(nèi)存902中讀取相關(guān)地址的數(shù)值并對(duì)所映射變量進(jìn)行更新,同時(shí)向共享內(nèi)存902相關(guān)地址寫(xiě)入需要更新的變量的數(shù)值。
      [0098]與此同時(shí)或之前后或之后,在步驟9610,目標(biāo)機(jī)專用硬件驅(qū)動(dòng)進(jìn)程實(shí)時(shí)檢測(cè)其配置的變量周期是否已到,若已經(jīng)到達(dá),則在步驟9620從共享內(nèi)存902中讀取相關(guān)地址的數(shù)值并根據(jù)映射配置控制相關(guān)硬件信號(hào)端口或寄存器,同時(shí)將從硬件信號(hào)端口或寄存器讀取最新的變量根據(jù)映射配置寫(xiě)入共享內(nèi)存的相關(guān)地址。
      [0099]通過(guò)上述過(guò)程,完成了應(yīng)用功能程序變量到目標(biāo)機(jī)硬件控制的功能。本發(fā)明的一個(gè)優(yōu)勢(shì)在于,集成開(kāi)發(fā)平臺(tái)能夠根據(jù)不同的用戶配置文件,驅(qū)動(dòng)不同的硬件系統(tǒng),從而極大增強(qiáng)了集成開(kāi)發(fā)平臺(tái)的適用性,為不同項(xiàng)目的硬件平臺(tái)提供通用集成開(kāi)發(fā)平臺(tái)。
      [0100]同時(shí),目前國(guó)際上已有的列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)平臺(tái),只能用作軟件開(kāi)發(fā),不能進(jìn)行系統(tǒng)級(jí)仿真。若需要對(duì)所開(kāi)發(fā)的軟件進(jìn)行系統(tǒng)級(jí)的仿真測(cè)試,則必須在另一軟件平臺(tái)上完成,從而導(dǎo)致了系統(tǒng)的軟件開(kāi)發(fā)與仿真測(cè)試的分離。并且不同的開(kāi)發(fā)與測(cè)試平臺(tái),將產(chǎn)生不同的人員培訓(xùn)與維護(hù),使得系統(tǒng)的復(fù)雜性和成本均增加。
      [0101]圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成開(kāi)發(fā)與仿真一體化平臺(tái)的結(jié)構(gòu)示意圖。參考圖1和10,本發(fā)明的一個(gè)實(shí)施例的集成開(kāi)發(fā)與仿真平臺(tái)1000包括集成開(kāi)發(fā)平臺(tái)1001、系統(tǒng)仿真模型運(yùn)行模塊1002、平臺(tái)信號(hào)接口 1003和通信信號(hào)接口 1004。集成開(kāi)發(fā)平臺(tái)1001可以是如本文中實(shí)施例所描述的集成開(kāi)發(fā)平臺(tái)。集成開(kāi)發(fā)平臺(tái)1001至少包括代碼運(yùn)行模塊。
      [0102]系統(tǒng)仿真模型運(yùn)行模塊1002運(yùn)行系統(tǒng)仿真模型。根據(jù)本發(fā)明的一個(gè)實(shí)例,系統(tǒng)仿真模型為列車(chē)電氣系統(tǒng)仿真模型,其包括列車(chē)電路模型和子系統(tǒng)功能模型,例如牽引、制動(dòng)、輔助、門(mén)、空調(diào)、照明等子系統(tǒng)的功能模型。根據(jù)本發(fā)明的另一個(gè)實(shí)例,系統(tǒng)仿真模型為子系統(tǒng)功能模型,用以完成對(duì)子系統(tǒng)的測(cè)試。根據(jù)本發(fā)明的一個(gè)實(shí)例,集成開(kāi)發(fā)平臺(tái)的代碼集成模塊從系統(tǒng)仿真模型獲得軟件集成所需的信息,實(shí)現(xiàn)代碼集成。根據(jù)本發(fā)明的一個(gè)實(shí)例,系統(tǒng)仿真模型運(yùn)行模塊1002運(yùn)行系統(tǒng)仿真模型,輸出仿真信號(hào)。
      [0103]平臺(tái)信號(hào)接口 1003用以將系統(tǒng)仿真模型運(yùn)行模塊1002輸出的仿真信號(hào)接入集成開(kāi)發(fā)平臺(tái)1001 ;并將集成開(kāi)發(fā)平臺(tái)1001的信號(hào)接入系統(tǒng)仿真模型運(yùn)行模塊1002,實(shí)現(xiàn)集成開(kāi)發(fā)平臺(tái)1001與系統(tǒng)仿真模型運(yùn)行模塊1002之間的通信。
      [0104]通信信號(hào)接口 1004用以將系統(tǒng)仿真模型運(yùn)行模塊1002輸出的仿真信號(hào)接入通信總線,并通過(guò)通信總線將仿真信號(hào)接入到目標(biāo)機(jī)或者列車(chē)網(wǎng)絡(luò)及電氣系統(tǒng);并且通過(guò)通信總線將來(lái)自目標(biāo)機(jī)或者列車(chē)網(wǎng)絡(luò)及電氣系統(tǒng)的信號(hào)接入到系統(tǒng)仿真模型運(yùn)行模塊1002,實(shí)現(xiàn)目標(biāo)機(jī)或者列車(chē)網(wǎng)絡(luò)及電氣系統(tǒng)與系統(tǒng)仿真模型運(yùn)行模塊1002之間的通信。
      [0105]如圖10所示,系統(tǒng)仿真模型包括輸出接口程序。輸出接口程序類似一種“軟開(kāi)關(guān)”,將系統(tǒng)仿真模型運(yùn)行模塊運(yùn)行系統(tǒng)仿真模型產(chǎn)生的仿真信號(hào)接入平臺(tái)信號(hào)接口 1003或通信信號(hào)接口 1004以及從平臺(tái)信號(hào)接口 1003或通信信號(hào)接口 1004返回信號(hào)到系統(tǒng)仿真模型。
      [0106]當(dāng)需要驗(yàn)證集成平臺(tái)開(kāi)發(fā)過(guò)程中軟件實(shí)現(xiàn)的邏輯控制或算法等功能的性能時(shí),通過(guò)輸出接口程序?qū)⑾到y(tǒng)仿真模型接入平臺(tái)信號(hào)接口 1003,則模型的輸入輸出信號(hào)將與集成開(kāi)發(fā)平臺(tái)軟件的信號(hào)交互,從而可隨時(shí)驗(yàn)證開(kāi)發(fā)的列車(chē)網(wǎng)絡(luò)控制系統(tǒng)軟件的性能,而不需目標(biāo)機(jī)硬件的支持。舉例而言,平臺(tái)信號(hào)接口 1003將來(lái)自系統(tǒng)仿真模型的仿真信號(hào)作為目標(biāo)機(jī)上的與“通信網(wǎng)卡驅(qū)動(dòng)進(jìn)程”進(jìn)行交互的信號(hào)而接入集成開(kāi)發(fā)平臺(tái);集成開(kāi)發(fā)平臺(tái)運(yùn)行目標(biāo)機(jī)軟件并且將運(yùn)行目標(biāo)機(jī)軟件邏輯控制或算法等功能的輸出通過(guò)通信網(wǎng)卡驅(qū)動(dòng)進(jìn)程而輸出集成開(kāi)發(fā)平臺(tái)再通過(guò)平臺(tái)信號(hào)接口 1003返回到系統(tǒng)仿真模型運(yùn)行模塊1002。
      [0107]當(dāng)目標(biāo)機(jī)代碼下載到目標(biāo)機(jī)后,需要進(jìn)行系統(tǒng)整體性能仿真驗(yàn)證或其他類型的目標(biāo)機(jī)仿真驗(yàn)證時(shí),通過(guò)輸出接口程序?qū)⑾到y(tǒng)仿真模型接入通信信號(hào)接口 1004,則模型的輸入輸出信號(hào)將與通信總線上的信號(hào)交互,從而驗(yàn)證集成開(kāi)發(fā)平臺(tái)開(kāi)發(fā)的目標(biāo)機(jī)軟件的實(shí)際運(yùn)行性能。根據(jù)本發(fā)明的一個(gè)實(shí)例,目標(biāo)機(jī)上的仿真可以在列車(chē)網(wǎng)絡(luò)控制系統(tǒng)軟件運(yùn)行的情況下進(jìn)行。
      [0108]圖11是根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成開(kāi)發(fā)與仿真驗(yàn)證方法流程圖。如圖11所示,集成開(kāi)發(fā)與仿真驗(yàn)證方法1100包括如下三個(gè)階段。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)了解,以下三個(gè)階段既可以綜合運(yùn)行,也可以各自獨(dú)立運(yùn)行,完成各自的功能。
      [0109]1.子功能開(kāi)發(fā)階段:在集成開(kāi)發(fā)與仿真平臺(tái)上,在步驟1101-1103為例的步驟中,進(jìn)行針對(duì)不同功能的軟件的開(kāi)發(fā),例如功能1-功能η的軟件。功能1-功能η的軟件可以針對(duì)不同的目標(biāo)機(jī)也可以針對(duì)相同的目標(biāo)機(jī)。
      [0110]在步驟1110,運(yùn)行列車(chē)電氣系統(tǒng)仿真模型;接下來(lái),在步驟1111,將列車(chē)電氣系統(tǒng)仿真模型的仿真信號(hào)通過(guò)信號(hào)接口程序接入集成開(kāi)發(fā)與仿真平臺(tái)上,則例如功能1-功能η的各子功能軟件就可以分別與列車(chē)電氣系統(tǒng)仿真模型通信,實(shí)現(xiàn)各自獨(dú)立的仿真測(cè)試功能。由此,在較小代碼規(guī)模下,能夠迅速評(píng)估各個(gè)子功能軟件的性能,避免在軟件集成后產(chǎn)生功能錯(cuò)誤的可能。
      [0111]2.系統(tǒng)軟件集成階段:在各子功能軟件開(kāi)發(fā)完成后,在步驟1104,將各個(gè)子功能軟件進(jìn)行集成,從而完成列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的軟件集成。
      [0112]將列車(chē)電氣系統(tǒng)仿真模型的仿真信號(hào)通過(guò)信號(hào)接口程序接入平臺(tái)信號(hào)接口,則在步驟1105中,經(jīng)集成的系統(tǒng)軟件與列車(chē)電氣系統(tǒng)仿真模型通信,進(jìn)行系統(tǒng)集成軟件總體的功能仿真與測(cè)試。由此,在同一軟件平臺(tái)下,能夠快速測(cè)試系統(tǒng)集成軟件的功能是否滿足要求,而不需系統(tǒng)硬件平臺(tái)和通信網(wǎng)絡(luò)的支持。因此,本發(fā)明的方法實(shí)現(xiàn)了更加快速、準(zhǔn)確和高效的對(duì)系統(tǒng)集成軟件功能進(jìn)行測(cè)試。
      [0113]3.實(shí)際系統(tǒng)測(cè)試階段:將開(kāi)發(fā)完成的各個(gè)子功能軟件或者系統(tǒng)集成軟件,通過(guò)集成開(kāi)發(fā)平臺(tái)的變量配置和代碼生成機(jī)制,在步驟1106完成變量配置并在步驟1107生成目標(biāo)機(jī)代碼,在步驟1108下載到目標(biāo)機(jī)上進(jìn)行運(yùn)行。在步驟1112中,將列車(chē)電氣系統(tǒng)仿真模型的仿真信號(hào)通過(guò)信號(hào)接口程序接入通信信號(hào)接口,則目標(biāo)機(jī)就與列車(chē)電氣系統(tǒng)仿真模型通過(guò)通信總線進(jìn)行通信,從而完成實(shí)際系統(tǒng)性能的仿真測(cè)試。
      [0114]由此,通過(guò)本發(fā)明的實(shí)施例的集成開(kāi)發(fā)與仿真平臺(tái)的一體化使列車(chē)網(wǎng)絡(luò)控制系統(tǒng)在整個(gè)開(kāi)發(fā)過(guò)程中可隨時(shí)進(jìn)行軟件功能的仿真測(cè)試。
      [0115]在發(fā)明的集成開(kāi)發(fā)與仿真測(cè)試一體化平臺(tái)中,只需要建立一套“列車(chē)電氣系統(tǒng)仿真模型”就能對(duì)列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)的各個(gè)階段成果分別進(jìn)行仿真測(cè)試,而通過(guò)分階段的軟件仿真測(cè)試,能最迅速的定位軟件缺陷,從而快速解決在軟件開(kāi)發(fā)過(guò)程中的問(wèn)題。因此,通過(guò)發(fā)明的集成開(kāi)發(fā)與仿真測(cè)試一體化平臺(tái),能大幅提高列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成軟件開(kāi)發(fā)的效率和可靠性。
      [0116]根據(jù)本發(fā)明的實(shí)例提出的列車(chē)控制網(wǎng)絡(luò)系統(tǒng)仿真測(cè)試平臺(tái)是進(jìn)行列車(chē)控制網(wǎng)絡(luò)開(kāi)發(fā)必備的地面試驗(yàn)工具及運(yùn)行工況試驗(yàn)?zāi)M平臺(tái)。它能夠在列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的驗(yàn)證、維護(hù)等階段,實(shí)現(xiàn)對(duì)列車(chē)的網(wǎng)絡(luò)通訊協(xié)議、邏輯控制算法、網(wǎng)絡(luò)控制系統(tǒng)性能、故障診斷策略等方面的分析驗(yàn)證。通過(guò)地面仿真測(cè)試平臺(tái)的驗(yàn)證和測(cè)試,大大減少所開(kāi)發(fā)的系統(tǒng)在列車(chē)實(shí)際運(yùn)行時(shí)可能出現(xiàn)的問(wèn)題,極大保證了系統(tǒng)的運(yùn)行安全。
      [0117]根據(jù)本發(fā)明的實(shí)例提出的集成開(kāi)發(fā)和仿真測(cè)試一體化的平臺(tái),以例如CB的通用軟件平臺(tái)為基礎(chǔ),在將其作為列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成開(kāi)發(fā)平臺(tái)的基礎(chǔ)上,實(shí)現(xiàn)將集成開(kāi)發(fā)和仿真測(cè)試平臺(tái)的一體化。本發(fā)明的實(shí)例使得在軟件開(kāi)發(fā)過(guò)程中,不同的功能軟件可以直接與仿真測(cè)試模型進(jìn)行接口,進(jìn)行該功能軟件的仿真測(cè)試,而不需等待其他功能軟件的完成,從而能迅速定位軟件缺陷,快速解決在軟件開(kāi)發(fā)過(guò)程中的問(wèn)題,最大限度的降低所有功能軟件集成后出現(xiàn)問(wèn)題的可能。
      [0118]本發(fā)明的集成開(kāi)發(fā)平臺(tái)或者集成開(kāi)發(fā)與仿真平臺(tái)符合IEC61131標(biāo)準(zhǔn),具有以下技術(shù)效果:
      [0119]1.對(duì)于列車(chē)網(wǎng)絡(luò)控制系統(tǒng)集成軟件開(kāi)發(fā),本發(fā)明的實(shí)例可進(jìn)行可視化、模塊化的列車(chē)控制邏輯、算法等軟件開(kāi)發(fā),使復(fù)雜的軟件開(kāi)發(fā)工作變得輕松、靈活和可靠,從而大幅縮短系統(tǒng)軟件開(kāi)發(fā)周期、提高效率、降低成本。
      [0120]2.對(duì)于集成開(kāi)發(fā)平臺(tái)的體系結(jié)構(gòu),根據(jù)本發(fā)明的實(shí)例生成的目標(biāo)機(jī)代碼,可實(shí)現(xiàn)列車(chē)網(wǎng)絡(luò)通信、目標(biāo)機(jī)硬件控制、診斷存儲(chǔ)、人機(jī)交互、進(jìn)程調(diào)度及監(jiān)控等TCMS系統(tǒng)集成開(kāi)發(fā)所必備的功能。使用者可專注于系統(tǒng)應(yīng)用控制軟件的開(kāi)發(fā),而不必考慮底層驅(qū)動(dòng)問(wèn)題,從而大大降低了系統(tǒng)集成的難度,可快速提高自主集成網(wǎng)絡(luò)控制系統(tǒng)的能力。
      [0121]3.對(duì)于集成開(kāi)發(fā)與仿真測(cè)試平臺(tái)一體化,在軟件開(kāi)發(fā)過(guò)程中,某功能軟件可以直接與仿真測(cè)試模型進(jìn)行軟件接口,實(shí)現(xiàn)功能軟件的仿真測(cè)試,而不需等待其他功能軟件的完成。從而本發(fā)明的實(shí)例能迅速定位軟件缺陷,快速解決在軟件開(kāi)發(fā)過(guò)程中的問(wèn)題,最大限度的降低所有功能軟件集成后出現(xiàn)問(wèn)題的可能。
      [0122]上述實(shí)施例僅供說(shuō)明本發(fā)明之用,而并非是對(duì)本發(fā)明的限制,有關(guān)【技術(shù)領(lǐng)域】的普通技術(shù)人員,在不脫離本發(fā)明范圍的情況下,還可以做出各種變化和變型,因此,所有等同的技術(shù)方案也應(yīng)屬于本發(fā)明公開(kāi)的范疇。
      【權(quán)利要求】
      1.一種開(kāi)發(fā)平臺(tái)裝置,包括: 邏輯編程模塊,其經(jīng)配置以進(jìn)行邏輯編程,獲得應(yīng)用功能程序; 配置模塊,其經(jīng)配置以定義應(yīng)用功能程序的變量與驅(qū)動(dòng)程序的變量之間的關(guān)聯(lián)關(guān)系;以及 代碼生成模塊,利用應(yīng)用功能程序的變量與驅(qū)動(dòng)程序的變量之間的關(guān)聯(lián)關(guān)系,根據(jù)應(yīng)用功能程序生成目標(biāo)機(jī)代碼。
      2.根據(jù)權(quán)利要求1的開(kāi)發(fā)平臺(tái)裝置,其中應(yīng)用功能程序包括基礎(chǔ)進(jìn)程和一個(gè)或多個(gè)功能進(jìn)程,其中基礎(chǔ)進(jìn)程用于調(diào)度和/或監(jiān)控一個(gè)或多個(gè)功能進(jìn)程。
      3.根據(jù)權(quán)利要求1的開(kāi)發(fā)平臺(tái)裝置,其中配置模塊進(jìn)一步包括驅(qū)動(dòng)配置部分,其中代碼生成模塊利用驅(qū)動(dòng)配置部分生成驅(qū)動(dòng)程序。
      4.根據(jù)權(quán)利要求3的開(kāi)發(fā)平臺(tái)裝置,其中驅(qū)動(dòng)配置部分包括通信網(wǎng)卡驅(qū)動(dòng)子部分和硬件驅(qū)動(dòng)子部分。
      5.根據(jù)權(quán)利要求4的開(kāi)發(fā)平臺(tái)裝置,其中驅(qū)動(dòng)配置部分包括診斷存儲(chǔ)子部分和/或人機(jī)交互子部分。
      6.根據(jù)權(quán)利要求3的開(kāi)發(fā)平臺(tái)裝置,其中配置模塊進(jìn)一步包括變量配置部分,其定義應(yīng)用功能程序與驅(qū)動(dòng)程序之間的變量映射、端口映射和/或消息數(shù)據(jù)的交互。
      7.根據(jù)權(quán)利要求4的開(kāi)發(fā)平臺(tái)裝置,其中代碼生成模塊根據(jù)通信網(wǎng)卡驅(qū)動(dòng)子部分和硬件驅(qū)動(dòng)子部分生成通信網(wǎng)卡驅(qū)動(dòng)程序代碼和專用硬件驅(qū)動(dòng)程序代碼。
      8.根據(jù)權(quán)利要求4的開(kāi)發(fā)平臺(tái)裝置,代碼生成模塊根據(jù)通信網(wǎng)卡驅(qū)動(dòng)子部分生成動(dòng)態(tài)鏈接庫(kù),根據(jù)硬件驅(qū)動(dòng)子部分生成專用硬件驅(qū)動(dòng)程序代碼。
      9.根據(jù)權(quán)利要求5的開(kāi)發(fā)平臺(tái)裝置,其中代碼生成模塊根據(jù)診斷存儲(chǔ)子部分和/或人機(jī)交互子部分生成診斷存儲(chǔ)驅(qū)動(dòng)程序代碼和/或人機(jī)交互驅(qū)動(dòng)程序代碼。
      10.根據(jù)權(quán)利要求6的開(kāi)發(fā)平臺(tái)裝置,其中代碼生成模塊根據(jù)變量配置部分生成變量關(guān)聯(lián)管理代碼,所述變量關(guān)聯(lián)管理代碼定義應(yīng)用功能程序與驅(qū)動(dòng)程序之間的變量映射、端口映射和/或消息數(shù)據(jù)的交互。
      11.根據(jù)權(quán)利要求1的開(kāi)發(fā)平臺(tái)裝置,進(jìn)一步包括代碼集成模塊,其經(jīng)配置以將針對(duì)一個(gè)或多個(gè)目標(biāo)機(jī)的多個(gè)應(yīng)用功能程序進(jìn)行集成。
      12.根據(jù)權(quán)利要求1的開(kāi)發(fā)平臺(tái)裝置,進(jìn)一步包括代碼運(yùn)行模塊,其經(jīng)配置以運(yùn)行應(yīng)用功能程序。
      13.權(quán)利要求1的開(kāi)發(fā)平臺(tái)裝置,其中所述開(kāi)發(fā)平臺(tái)裝置基于控制策略的組態(tài)軟件Control Builder 開(kāi)發(fā)平臺(tái)。
      14.一種開(kāi)發(fā)與仿真平臺(tái)裝置,包括: 如權(quán)利要求1-13中任意一項(xiàng)所述的開(kāi)發(fā)平臺(tái)裝置; 系統(tǒng)仿真模型運(yùn)行模塊,其經(jīng)配置以運(yùn)行系統(tǒng)仿真模型,提供仿真信號(hào);以及 平臺(tái)信號(hào)接口,其經(jīng)配置以連接在開(kāi)發(fā)平臺(tái)裝置與系統(tǒng)仿真模型運(yùn)行模塊之間。
      15.根據(jù)權(quán)利要求14所述的開(kāi)發(fā)與仿真平臺(tái)裝置,其中平臺(tái)信號(hào)接口用于將系統(tǒng)仿真模型運(yùn)行模塊輸出的仿真信號(hào)接入開(kāi)發(fā)平臺(tái)裝置;將開(kāi)發(fā)平臺(tái)裝置的信號(hào)接入系統(tǒng)仿真模型運(yùn)行模塊。
      16.根據(jù)權(quán)利要求14所述的開(kāi)發(fā)與仿真平臺(tái)裝置,進(jìn)一步包括通信信號(hào)接口,其經(jīng)配置以連接在系統(tǒng)仿真模型運(yùn)行模塊與目標(biāo)機(jī)之間。
      17.根據(jù)權(quán)利要求16所述的開(kāi)發(fā)與仿真平臺(tái)裝置,其中通信信號(hào)接口用于將系統(tǒng)仿真模型運(yùn)行模塊輸出的仿真信號(hào)接入通信總線并通過(guò)通信總線將仿真信號(hào)接入到目標(biāo)機(jī);并且通過(guò)通信總線將來(lái)自目標(biāo)機(jī)的信號(hào)接入到系統(tǒng)仿真模型運(yùn)行模塊。
      18.根據(jù)權(quán)利要求17所述的開(kāi)發(fā)與仿真平臺(tái)裝置,其中系統(tǒng)仿真模型包括輸出接口程序,其將選擇性連接接入平臺(tái)信號(hào)接口或通信信號(hào)接口。
      【文檔編號(hào)】G06F9/455GK104503771SQ201510019158
      【公開(kāi)日】2015年4月8日 申請(qǐng)日期:2015年1月14日 優(yōu)先權(quán)日:2015年1月14日
      【發(fā)明者】趙紅衛(wèi), 梅櫻, 張順廣, 高楓, 朱廣超, 王立文 申請(qǐng)人:北京縱橫機(jī)電技術(shù)開(kāi)發(fā)公司, 中國(guó)鐵道科學(xué)研究院機(jī)車(chē)車(chē)輛研究所
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1