戴國琛
摘 要:介紹了車載PIS一體化系統(tǒng)中PIS主程序的軟件架構(gòu)及設(shè)計(jì)方案,并結(jié)合實(shí)際項(xiàng)目對(duì)設(shè)計(jì)方案可行性進(jìn)行了分析。
關(guān)鍵詞:車載PIS一體化;以太網(wǎng);總線負(fù)載
1 緒論
車載PIS一體化系統(tǒng)是將TCMS主控制程序與PIS主程序集成在一個(gè)主控制器中(VCU),連接在以太網(wǎng)總線上,通過VCU既能監(jiān)視、控制整列車,又能實(shí)現(xiàn)PIS系統(tǒng)功能。本文件詳細(xì)描述了車載PIS一體化系統(tǒng)中PIS主程序的開發(fā)工具、軟件架構(gòu)、軟件組織形式和軟件設(shè)計(jì)規(guī)范。本文根據(jù)實(shí)際項(xiàng)目數(shù)據(jù)進(jìn)行以太網(wǎng)總線負(fù)載計(jì)算,對(duì)軟件設(shè)計(jì)方案進(jìn)行了可行性分析,為軟件模塊設(shè)計(jì)提供依據(jù)。
2 實(shí)施方案
2.1 網(wǎng)絡(luò)架構(gòu)
列車通信網(wǎng)絡(luò)由以太網(wǎng)總線構(gòu)成,以太網(wǎng)總線貫穿整列車。
一列車的兩個(gè)VCU互為冗余,當(dāng)其中一個(gè)故障時(shí),另外一個(gè)將自動(dòng)接替它的工作,實(shí)現(xiàn)無縫切換,保證PIS系統(tǒng)的正常運(yùn)行。
TCMS主控制程序與PIS主程序在VCU設(shè)備內(nèi)部實(shí)現(xiàn)數(shù)據(jù)交互。
2.2 開發(fā)工具說明
PIS主程序軟件使用ISaGRAF 5.2版本的開發(fā)工具開發(fā),該軟件開發(fā)框架為:程序、字典、IO配線。
程序主要用于創(chuàng)建邏輯關(guān)系,字典用于定義各種變量,包括數(shù)據(jù)結(jié)構(gòu)體,IO配線主要實(shí)現(xiàn)了本地變量與其他以太網(wǎng)設(shè)備的數(shù)據(jù)交換,首先IO配線將本地變量映射至相應(yīng)協(xié)議的數(shù)據(jù)包中,在通過以太網(wǎng)協(xié)議將數(shù)據(jù)包發(fā)送至以太網(wǎng)總線,以太網(wǎng)協(xié)議的實(shí)現(xiàn)封裝在底層庫。
2.3 軟件架構(gòu)
PIS主程序的軟件架構(gòu)主要由三部分組成:配線端口、數(shù)據(jù)輸入輸出模塊、邏輯控制模塊。
在VCU與各PIS系統(tǒng)設(shè)備之間,需要建立一個(gè)以太網(wǎng)通訊連接。IO配線的類型主要是根據(jù)過程數(shù)據(jù)的類型進(jìn)行劃分的,不同的通訊協(xié)議過程數(shù)據(jù)類型不同。在使用IO配線端口時(shí),首先要將過程數(shù)據(jù)的類型導(dǎo)入應(yīng)用軟件中,數(shù)據(jù)類型導(dǎo)入完成之后,配置各設(shè)備的配線端口。應(yīng)用程序數(shù)據(jù)與過程數(shù)據(jù)之間存在映射的過程,從過程數(shù)據(jù)獲取所有PIS設(shè)備的數(shù)據(jù),以及將VCU中映射的數(shù)據(jù)發(fā)送給各PIS設(shè)備,這些工作都在配線端口中完成。
在數(shù)據(jù)輸入輸出模塊中,輸入是將IO配線端口的數(shù)據(jù)復(fù)制給本地變量組中,而輸出則相反。PIS系統(tǒng)設(shè)備數(shù)據(jù)輸入輸出程序: P_II_HW、P_IO_HW。
PIS主程序邏輯診斷包括八個(gè)功能模塊:線路信息初始化及報(bào)站功能、DACU初始化及控制功能、客室廣播功能、司機(jī)室對(duì)講功能、乘客緊急對(duì)講功能、預(yù)錄緊急語音播報(bào)功能、各功能優(yōu)先級(jí)診斷、PIS系統(tǒng)狀態(tài)診斷。
2.4 軟件組織形式
模塊采用代碼段來描述。代碼段使用PRG來靈活組織。本系統(tǒng)中輸入輸出模塊各對(duì)應(yīng)一個(gè)PRG,邏輯模塊按照功能分類來組織劃分PRG。特殊模塊單獨(dú)作為一個(gè)PRG。
模塊與模塊之間采用全局變量來交換數(shù)據(jù)。全局變量使用數(shù)據(jù)集來組織。本系統(tǒng)中所有輸入輸出的全局變量使用數(shù)據(jù)集來組織。
數(shù)據(jù)集 (以下簡(jiǎn)稱DUT)的目的是將對(duì)應(yīng)同一個(gè)節(jié)點(diǎn)或同一個(gè)功能的各種變量聚集于一個(gè)結(jié)構(gòu)中。一個(gè)DUT由基本的數(shù)據(jù)類型組成,且可以包含不同數(shù)據(jù)類型的變量。
在本系統(tǒng)中DUT可以用作硬件輸入輸出變量,各個(gè)PIS設(shè)備的狀態(tài),各個(gè)功能碼對(duì)應(yīng)的診斷變量,軟硬件版本號(hào)。
DUT用于從一個(gè)POU傳送數(shù)據(jù)到另一個(gè)或者多個(gè)POU中。當(dāng)編寫程序時(shí),只需要在POU對(duì)應(yīng)的變量組里面定義該DUT結(jié)構(gòu),這樣POU中需定義的變量數(shù)目將會(huì)大大減少。
3 以太網(wǎng)總線負(fù)載計(jì)算
發(fā)送報(bào)文的時(shí)間以毫秒計(jì)算。
UPD報(bào)文的大小以字節(jié)計(jì)算。
TRDP報(bào)文的大小以字節(jié)計(jì)算。
下面公式給出了UPD報(bào)文服務(wù)的網(wǎng)絡(luò)負(fù)載估計(jì)方法,單位為字節(jié)/秒:
(以太網(wǎng)封裝 + IP報(bào)文頭 + UDP報(bào)文頭 + 數(shù)據(jù)長(zhǎng)度) * 1000 / 發(fā)送報(bào)文的周期 = (26 + 20 + 8 + 數(shù)據(jù)長(zhǎng)度) * 1000 / 發(fā)送報(bào)文周期 = (54 + 數(shù)據(jù)長(zhǎng)度) * 1000 / 發(fā)送報(bào)文周期
下面公式給出了TRDP報(bào)文服務(wù)的網(wǎng)絡(luò)負(fù)載估算方法,單位為字節(jié)/秒:
(以太網(wǎng)封裝 + IP報(bào)文頭 + UDP報(bào)文頭 + TRDP報(bào)文頭 + 數(shù)據(jù)長(zhǎng)度) * 1000 / 發(fā)送報(bào)文周期 = (26 + 20 + 8 + 40 + 數(shù)據(jù)長(zhǎng)度) / 發(fā)送報(bào)文周期 = (94 + 數(shù)據(jù)長(zhǎng)度) / 發(fā)送報(bào)文周期
以蘇州輕軌二號(hào)線的總線數(shù)據(jù)為例,對(duì)于各個(gè)系統(tǒng)的總線負(fù)載計(jì)算,TRDP報(bào)文數(shù)據(jù)負(fù)載如下:
RIOM10_1:((94 + 8) * 1000 / 50 + (94 + 24) * 1000 / 50) * 2 = 8800 字節(jié)/秒。同理RIOM11、RIOM21、RIOM31均為TRDP通訊,網(wǎng)絡(luò)負(fù)載分別為8640 字節(jié)/秒、8640 字節(jié)/秒、4820 字節(jié)/秒。
UDP報(bào)文數(shù)據(jù)負(fù)載如下:
RIOM10_2: ((54 + 8) * 1000 / 50 + (54 + 40) * 1000 / 50) * 2 = 6240 字節(jié)/秒。同理,車門、空調(diào)、輔助、DDU、DACU、HMI、FDU、IDU、DLMU、DSDU、PECU、DRV、公共端口均為UDP通訊,網(wǎng)絡(luò)負(fù)載分別為40800 字節(jié)/秒、1264 字節(jié)/秒、1272字節(jié)/秒、15680 字節(jié)/秒、4960 字節(jié)/秒、2800 字節(jié)/秒、928 字節(jié)/秒、928 字節(jié)/秒、992 字節(jié)/秒、992 字節(jié)/秒、7440 字節(jié)/秒、464 字節(jié)/秒和648 字節(jié)/秒。
由此可以計(jì)算總線負(fù)載:
(8800 + 8640 + 8640 + 4820 + 6240 + 40800 + 1264 + 1272 + 15680 + 4960 + 2800 + 928 + 928 + 992 + 992 + 7440 + 464 + 648) * 8 / (100 * 1024 * 1024) = 0.89%
4 結(jié)論
以太網(wǎng)總線負(fù)載0.89%遠(yuǎn)小于理論帶寬的30%到40%,因此該軟件設(shè)計(jì)方案符合總線負(fù)載要求,可以保證車載PIS一體化系統(tǒng)的可用性和可靠性。
參考文獻(xiàn):
[1]姚曉峰,陳曉俠,張春光.工業(yè)以太網(wǎng)總線系統(tǒng)的通信軟件設(shè)計(jì)[J].控制工程,2006, 13(3):268-270.
[2]國際電工委員會(huì).IEC61375-1-2007鐵路電氣設(shè)備—列車總線—第1部分:列車通信網(wǎng)絡(luò)[S].國際標(biāo)準(zhǔn).
[3]王磊,何正友.高速列車通信網(wǎng)絡(luò)技術(shù)特點(diǎn)及其應(yīng)用[J].城市軌道交通研究,2008(2):57-64.