一種多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法及裝置,將中國能源行業(yè)標(biāo)準(zhǔn)NB/T33003-2010《電動(dòng)汽車非車載充電機(jī)監(jiān)控單元與電池管理系統(tǒng)通信協(xié)議》中的充電數(shù)據(jù)類型按照?qǐng)?bào)文規(guī)范進(jìn)行組包和發(fā)送,實(shí)現(xiàn)了對(duì)大規(guī)模充電站中多臺(tái)充電機(jī)同時(shí)工作,多路數(shù)據(jù)實(shí)時(shí)并發(fā)場(chǎng)景的模擬,可廣泛應(yīng)用于充電監(jiān)控系統(tǒng)的離線測(cè)試工作。
【專利說明】一種多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電動(dòng)車充電實(shí)時(shí)監(jiān)控系統(tǒng)的測(cè)試領(lǐng)域,特別是一種對(duì)充電實(shí)時(shí)監(jiān)控系統(tǒng)進(jìn)行測(cè)試時(shí)的多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法及裝置。
【背景技術(shù)】
[0002]面對(duì)傳統(tǒng)能源的枯竭和全球環(huán)境的壓力,以電力作為驅(qū)動(dòng)能源的電動(dòng)汽車將成為未來汽車的發(fā)展方向。隨著電動(dòng)汽車的大規(guī)模投入運(yùn)營,電動(dòng)汽車充電站也成為不可缺少的能源服務(wù)基礎(chǔ)設(shè)施。目前,電動(dòng)公交車和出租車等公共交通工具已開始在各大中型城市試點(diǎn)和投入運(yùn)營,配套的集中式充電設(shè)施也相繼建成,截止2011年,全國范圍內(nèi)已建成電動(dòng)汽車充電站314座,非車載式充電機(jī)1.6萬多個(gè)。根據(jù)“十二五”規(guī)劃,到2015年全國將建成由40萬個(gè)充電機(jī)、2000個(gè)充電站構(gòu)成的網(wǎng)絡(luò)化供電體系。
[0003]電動(dòng)汽車電池對(duì)充電要求較高,因此有必要對(duì)充電過程中的電池電壓、溫度、充電機(jī)狀態(tài)等數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控。另外,充電機(jī)、電氣設(shè)備等充電設(shè)施普遍無人值班值守,需要通過自動(dòng)化手段對(duì)其實(shí)現(xiàn)統(tǒng)一監(jiān)控管理。同時(shí),電動(dòng)汽車充電設(shè)施作為一種大功率的用電設(shè)備,如果對(duì)其充電過程進(jìn)行有序控制,將會(huì)加大負(fù)荷峰谷差和電網(wǎng)諧波污染,增大電網(wǎng)調(diào)峰難度。因此,在大規(guī)模充電站中部署可靠的充電實(shí)時(shí)監(jiān)控系統(tǒng)具有重要意義。
[0004]為保障充電設(shè)施提供可靠穩(wěn)定的能源供給服務(wù),充電監(jiān)控系統(tǒng)的數(shù)據(jù)處理必須滿足實(shí)時(shí)性要求,如果超時(shí),對(duì)充電進(jìn)行監(jiān)控就沒有意義,甚至?xí)斐沙潆娛鹿?。此外,充電?shù)據(jù)的并發(fā)量大,每臺(tái)充電機(jī)每秒發(fā)送大約1500個(gè)CAN (Controller Area Network)協(xié)議報(bào)文。而隨著充電站建設(shè)規(guī)模的不斷擴(kuò)大,充電設(shè)施的并發(fā)數(shù)據(jù)量將越來越龐大,這對(duì)充電監(jiān)控系統(tǒng)處理多路實(shí)時(shí)并發(fā)數(shù)據(jù)的要求越來越高,對(duì)充電監(jiān)控系統(tǒng)的實(shí)時(shí)性、可靠性測(cè)試需求也越來越急切。
[0005]現(xiàn)有技術(shù)中尚缺乏對(duì)充電監(jiān)控系統(tǒng)進(jìn)行離線測(cè)試的裝置和方法。當(dāng)前對(duì)充電監(jiān)控系統(tǒng)進(jìn)行測(cè)試的方法是將系統(tǒng)直接部署到電動(dòng)汽車充電站的后臺(tái)服務(wù)器中,使其與實(shí)際的充電機(jī)相連,并在充電機(jī)對(duì)電動(dòng)汽車進(jìn)行充電的過程中對(duì)監(jiān)控系統(tǒng)進(jìn)行功能和性能測(cè)試。這種方法存在成本高、靈活性低、調(diào)試?yán)щy和測(cè)試范圍有限等缺陷,無法滿足在大規(guī)模實(shí)時(shí)并發(fā)數(shù)據(jù)環(huán)境下對(duì)充電監(jiān)控系統(tǒng)的測(cè)試需求。如能提供一種對(duì)大規(guī)模充電站中多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生裝置,來代替實(shí)際的充電機(jī)對(duì)系統(tǒng)進(jìn)行離線測(cè)試,將為充電監(jiān)控系統(tǒng)的測(cè)試工作帶來極大的便利。
【發(fā)明內(nèi)容】
[0006]本發(fā)明所要解決的技術(shù)問題是,針對(duì)現(xiàn)有技術(shù)不足,提供一種多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法及裝置,模擬充電監(jiān)控系統(tǒng)進(jìn)行離線測(cè)試,以代替實(shí)際的充電機(jī)對(duì)系統(tǒng)進(jìn)行離線測(cè)試,將為充電監(jiān)控系統(tǒng)的測(cè)試工作帶來便利。
[0007]為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:一種多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法,該方法為: 1)對(duì)大規(guī)模充電站中需要模擬的充電機(jī)、電池、充電狀態(tài)信息進(jìn)行配置;
2)根據(jù)配置信息,創(chuàng)建多個(gè)虛擬充電機(jī)對(duì)象,并對(duì)所述虛擬充電機(jī)對(duì)象進(jìn)行初始化;
3)為每一個(gè)虛擬充電機(jī)對(duì)象建立獨(dú)立的與充電監(jiān)控系統(tǒng)通信的通信鏈路,用于傳輸充電數(shù)據(jù);
4)讀取配置信息,對(duì)國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型進(jìn)行組包,得到符合充電數(shù)據(jù)規(guī)范的單包或多包充電數(shù)據(jù)報(bào)文,并將封裝好的充電數(shù)據(jù)報(bào)文放入待發(fā)送緩沖區(qū)中;
5)從待發(fā)送緩沖區(qū)中讀取待發(fā)送的單包或多包充電數(shù)據(jù)報(bào)文,然后將所有充電數(shù)據(jù)報(bào)文通過以太網(wǎng)發(fā)送給充電監(jiān)控系統(tǒng)。
[0008]本發(fā)明創(chuàng)建多個(gè)虛擬充電機(jī)對(duì)象的過程為:將虛擬充電機(jī)設(shè)計(jì)為一個(gè)類,該類中包含了虛擬充電機(jī)的屬性和動(dòng)作,然后根據(jù)配置信息,創(chuàng)建多個(gè)類的對(duì)象,即得多個(gè)虛擬充電機(jī)對(duì)象。
[0009]所述步驟3)中,所述通信鏈路包括3條TCP傳輸鏈路,分別用于發(fā)送單包充電數(shù)據(jù)報(bào)文、發(fā)送多包充電數(shù)據(jù)報(bào)文及傳輸控制指令、接收充電監(jiān)控系統(tǒng)發(fā)送過來的傳輸控制指令。
[0010]所述步驟4)中,對(duì)國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型進(jìn)行組包的方法為:
對(duì)于數(shù)據(jù)字段為Ol字節(jié)的充電數(shù)據(jù)類型,首先根據(jù)充電數(shù)據(jù)類型的定義生成符合國標(biāo)NB/T33003規(guī)范的充電數(shù)據(jù)字段,然后根據(jù)國標(biāo)NB/T33003中定義的報(bào)文規(guī)范將數(shù)據(jù)字節(jié)封裝成協(xié)議數(shù)據(jù)單元;
對(duì)于數(shù)據(jù)字段大于8字節(jié)的充電數(shù)據(jù)類型,首先根據(jù)充電數(shù)據(jù)類型的定義生成符合國標(biāo)NB/T33003規(guī)范的充電數(shù)據(jù)字段,然后將生成的充電數(shù)據(jù)字段拆分為多個(gè)由8字節(jié)組成的獨(dú)立數(shù)據(jù)單元,最后分別對(duì)所述數(shù)據(jù)單元進(jìn)行封裝,得到符合國標(biāo)NB/T33003中定義的報(bào)文規(guī)范的多個(gè)協(xié)議數(shù)據(jù)單元,所述多個(gè)協(xié)議數(shù)據(jù)單元組成多包充電數(shù)據(jù)報(bào)文。
[0011]所述步驟5)中,將所有充電數(shù)據(jù)報(bào)文通過以太網(wǎng)發(fā)送給充電監(jiān)控系統(tǒng)的方法為: 對(duì)于單包充電數(shù)據(jù)報(bào)文,首先與充電監(jiān)控系統(tǒng)建立I條基于TCP協(xié)議的TCP傳輸鏈路,
然后將封裝好的單包充電數(shù)據(jù)報(bào)文發(fā)送給充電監(jiān)控系統(tǒng);
對(duì)于多包充電數(shù)據(jù)報(bào)文,首先與充電監(jiān)控系統(tǒng)建立2條基于TCP協(xié)議的TCP傳輸鏈路,一條用于發(fā)送多包充電數(shù)據(jù)報(bào)文及傳輸控制指令,另一條用于接收充電監(jiān)控系統(tǒng)發(fā)送過來的傳輸控制指令,然后采用多包傳輸控制方法將所述多包充電數(shù)據(jù)報(bào)文發(fā)送給充電監(jiān)控系統(tǒng);
所述多包傳輸控制方法為:首先向充電監(jiān)控系統(tǒng)發(fā)送一個(gè)“請(qǐng)求發(fā)送消息幀”,即RTS幀,所述RTS幀中包含了需要發(fā)送的多包充電數(shù)據(jù)報(bào)文的數(shù)量、起始編號(hào)信息,然后開始等待充電監(jiān)控系統(tǒng)的應(yīng)答;待接收到充電監(jiān)控系統(tǒng)發(fā)送的“準(zhǔn)備發(fā)送消息”,即CTS幀后,對(duì)該CTS幀進(jìn)行解析,并將CTS幀中所指定的充電數(shù)據(jù)報(bào)文通過TCP傳輸鏈路發(fā)送給充電監(jiān)控系統(tǒng);然后繼續(xù)等待充電監(jiān)控系統(tǒng)的CTS幀并進(jìn)行響應(yīng),以此循環(huán),直到接收到充電監(jiān)控系統(tǒng)發(fā)送的消息,結(jié)束應(yīng)答;其中所述CTS幀中指定了下一次傳輸過程中充電監(jiān)控系統(tǒng)準(zhǔn)備接收的多包充電報(bào)文的數(shù)量、起始編號(hào)信息。
[0012]本發(fā)明的多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生裝置包括: 配置模塊,包括用于對(duì)大規(guī)模充電站中需要模擬的充電機(jī)個(gè)數(shù)、型號(hào)、編號(hào)、充電機(jī)狀態(tài)信息進(jìn)行配置的充電機(jī)信息配置單元;用于對(duì)大規(guī)模充電站中需要模擬的電池包個(gè)數(shù)、編號(hào)、電池容量進(jìn)行配置的電池信息配置單元;用于對(duì)大規(guī)模充電站中需要模擬的充電狀態(tài)、充電電流、電壓、電池狀態(tài)、故障狀態(tài)、預(yù)警信息數(shù)據(jù)進(jìn)行配置的狀態(tài)配置單元;
鏈路生成模塊,包括用于讀取裝置所需要模擬的充電機(jī)相關(guān)配置信息的配置信息讀取單元;用于根據(jù)充電機(jī)配置信息創(chuàng)建多個(gè)虛擬充電機(jī)對(duì)象,并對(duì)虛擬充電機(jī)對(duì)象進(jìn)行初始化的充電機(jī)對(duì)象創(chuàng)建單元;用于為每一個(gè)虛擬充電機(jī)對(duì)象創(chuàng)建多條用于傳輸充電數(shù)據(jù)的通信鏈路的通信鏈路創(chuàng)建單元;
充電數(shù)據(jù)報(bào)文組包模塊,包括用于讀取國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型,并根據(jù)配置信息生成符合國標(biāo)NB/T33003規(guī)范的充電數(shù)據(jù)字段的充電數(shù)據(jù)字段生成單元;用于判斷需要組包的充電數(shù)據(jù)字段長度,并根據(jù)充電數(shù)據(jù)字段長度調(diào)用相應(yīng)的充電數(shù)據(jù)報(bào)文組包單元的單包/多包數(shù)據(jù)判斷單元;用于依據(jù)國標(biāo)NB/T33003中的充電數(shù)據(jù)報(bào)文規(guī)范將數(shù)據(jù)字節(jié)封裝成協(xié)議數(shù)據(jù)單元,形成單包充電數(shù)據(jù)報(bào)文的單包充電數(shù)據(jù)報(bào)文組包單元;用于將充電數(shù)據(jù)字段拆分為多個(gè)由8字節(jié)組成的獨(dú)立數(shù)據(jù)單元,然后分別對(duì)所述數(shù)據(jù)單元進(jìn)行封裝,得到符合國標(biāo)NB/T33003充電數(shù)據(jù)報(bào)文規(guī)范的多個(gè)協(xié)議數(shù)據(jù)單元,并組成多包充電數(shù)據(jù)報(bào)文的多包充電數(shù)據(jù)報(bào)文組包單元;用于將封裝后的充電數(shù)據(jù)報(bào)文存儲(chǔ)到待發(fā)送緩沖區(qū)中的充電數(shù)據(jù)報(bào)文緩存單元;
充電數(shù)據(jù)報(bào)文發(fā)送模塊,包括用于從待發(fā)送緩沖區(qū)中取出待發(fā)送的充電數(shù)據(jù)報(bào)文的充電數(shù)據(jù)報(bào)文讀取單元;用于判斷待發(fā)送的充電數(shù)據(jù)報(bào)文類型,并根據(jù)充電數(shù)據(jù)報(bào)文類型調(diào)用相關(guān)充電數(shù)據(jù)報(bào)文傳輸單元的單包/多包數(shù)據(jù)判斷單元;用于將單包充電數(shù)據(jù)報(bào)文通過TCP傳輸鏈路發(fā)送給充電監(jiān)控系統(tǒng)的單包充電數(shù)據(jù)報(bào)文傳輸單元;用于將多包充電數(shù)據(jù)報(bào)文發(fā)送給充電監(jiān)控系統(tǒng)的多包充電數(shù)據(jù)報(bào)文傳輸控制單元。
[0013]本發(fā)明中的國標(biāo)NB/T33003是指中國能源行業(yè)標(biāo)準(zhǔn)NB/T 33003-2010《電動(dòng)汽車非車載充電機(jī)監(jiān)控單元與電池管理系統(tǒng)通信協(xié)議》。
[0014]與現(xiàn)有技術(shù)相比,本發(fā)明所具有的有益效果為:本發(fā)明嚴(yán)格遵循國標(biāo)NB/T33003中充電數(shù)據(jù)類型、封裝格式以及通信規(guī)范的定義,可實(shí)現(xiàn)與充電監(jiān)控系統(tǒng)的無縫接入,為充電監(jiān)控系統(tǒng)的離線測(cè)試提供了極大的便利;可根據(jù)用戶配置同時(shí)模擬多臺(tái)充電機(jī)的運(yùn)行,并利用多通信鏈路和多線程處理機(jī)制實(shí)現(xiàn)充電數(shù)據(jù)的實(shí)時(shí)并發(fā)發(fā)送,因此可實(shí)現(xiàn)對(duì)大規(guī)模充電站中多臺(tái)充電機(jī)同時(shí)工作,多路數(shù)據(jù)實(shí)時(shí)并發(fā)場(chǎng)景的模擬;不但可以模擬單包的充電數(shù)據(jù),還可以模擬多包的充電數(shù)據(jù);本發(fā)明對(duì)單包和多包充電數(shù)據(jù)采用不同的組包方法,并設(shè)計(jì)了一種多包傳輸控制方法來實(shí)現(xiàn)多包充電數(shù)據(jù)報(bào)文的實(shí)時(shí)可靠數(shù)據(jù)傳輸;本發(fā)明實(shí)現(xiàn)了對(duì)大規(guī)模充電站中實(shí)時(shí)并發(fā)充電數(shù)據(jù)的組包和發(fā)送,可廣泛應(yīng)用于充電監(jiān)控系統(tǒng)的離線測(cè)試工作。
【專利附圖】
【附圖說明】
[0015]圖1為本發(fā)明對(duì)充電監(jiān)控系統(tǒng)進(jìn)行離線測(cè)試的示意圖;
圖2為本發(fā)明的充電數(shù)據(jù)模擬發(fā)生裝置結(jié)構(gòu)示意圖;
圖3為圖2中的配置模塊結(jié)構(gòu)示意圖;
圖4為圖2中的鏈路生成模塊結(jié)構(gòu)示意圖; 圖5為充電數(shù)據(jù)模擬發(fā)生裝置數(shù)據(jù)并發(fā)處理示意圖;
圖6為圖2中的充電數(shù)據(jù)報(bào)文組包模塊結(jié)構(gòu)示意圖;
圖7為充電數(shù)據(jù)報(bào)文中協(xié)議數(shù)據(jù)單元的幀格式說明示意圖;
圖8為圖2中的充電數(shù)據(jù)報(bào)文發(fā)送模塊結(jié)構(gòu)示意圖;
圖9為本發(fā)明的充電數(shù)據(jù)模擬發(fā)生方法流程圖;
圖10為圖9中的充電數(shù)據(jù)報(bào)文組包方法流程圖;
圖11為圖9中的充電數(shù)據(jù)報(bào)文發(fā)送方法流程圖;
圖12為圖11中的多包發(fā)送處理方法流程圖。
【具體實(shí)施方式】
[0016]圖1是對(duì)充電監(jiān)控系統(tǒng)進(jìn)行離線測(cè)試的示意圖,圖中主要包括:
充電監(jiān)控系統(tǒng)和本發(fā)明提供的一種多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)模擬發(fā)生裝置。所述模擬發(fā)生裝置用于模擬實(shí)際大規(guī)模充電站中的多臺(tái)充電設(shè)施所發(fā)送的充電數(shù)據(jù),通過為充電監(jiān)控系統(tǒng)提供多路實(shí)時(shí)并行的充電數(shù)據(jù),實(shí)現(xiàn)對(duì)充電監(jiān)控系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試。
[0017]圖2是本發(fā)明提供的用于充電監(jiān)控系統(tǒng)離線測(cè)試的充電數(shù)據(jù)模擬發(fā)生裝置結(jié)構(gòu)示意圖,由圖2可知,充電數(shù)據(jù)模擬發(fā)生裝置主要包括:
配置模塊,用于對(duì)裝置所模擬的充電機(jī)個(gè)數(shù)、電池個(gè)數(shù)、充電狀態(tài)、電池狀態(tài)、故障狀態(tài)等信息進(jìn)行配置,配置模塊輸入需模擬的充電機(jī)個(gè)數(shù)(1-100),電池個(gè)數(shù)(1-16),以及需模擬充電機(jī)的充電狀態(tài)(恒流限壓或恒壓限流)和電池狀態(tài)(電壓、電流值等),故障信息(電流過載、SOC過高等);
鏈路生成模塊,用于讀取配置信息,創(chuàng)建虛擬充電機(jī)對(duì)象并初始化,然后根據(jù)配置信息為每一個(gè)虛擬充電機(jī)對(duì)象創(chuàng)建多條用于充電數(shù)據(jù)傳輸?shù)逆溌?,所述多條數(shù)據(jù)通信鏈路包括單包充電數(shù)據(jù)報(bào)文發(fā)送鏈路,多包充電數(shù)據(jù)報(bào)文發(fā)送鏈路和多包控制指令接收鏈路;
充電數(shù)據(jù)報(bào)文組包模塊,用于讀取配置信息,然后利用本發(fā)明提供的一種充電數(shù)據(jù)報(bào)文組包方法對(duì)國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型進(jìn)行組包,得到符合充電數(shù)據(jù)規(guī)范的單包或多包充電數(shù)據(jù)報(bào)文,最后將所述充電數(shù)據(jù)報(bào)文放入發(fā)送緩沖區(qū)中;所述發(fā)送緩沖區(qū)定義為計(jì)算機(jī)內(nèi)存中的一塊2K的區(qū)域;
充電數(shù)據(jù)報(bào)文發(fā)送模塊,用于從所述發(fā)送緩沖區(qū)中讀取待發(fā)送充電數(shù)據(jù)報(bào)文,然后利用本發(fā)明提供的一種充電數(shù)據(jù)報(bào)文發(fā)送方法將所述充電數(shù)據(jù)報(bào)文通過以太網(wǎng)發(fā)送給充電監(jiān)控系統(tǒng)。
[0018]圖3是充電數(shù)據(jù)模擬發(fā)生裝置中配置模塊的結(jié)構(gòu)示意圖。由圖3可知,配置模塊具體包括:
充電機(jī)信息配置單元,用于對(duì)裝置所需要模擬的充電機(jī)個(gè)數(shù)、型號(hào)、編號(hào)、充電機(jī)狀態(tài)等信息進(jìn)行配置,配置信息采用全局變量的形式存儲(chǔ);
電池信息配置單元,用于對(duì)裝置所需要模擬的電池包個(gè)數(shù)、編號(hào),電池容量等數(shù)據(jù)進(jìn)行配置,配置信息采用全局變量的形式存儲(chǔ);
狀態(tài)配置單元,用于對(duì)裝置所需要模擬的充電狀態(tài)、充電電流、電壓、電池狀態(tài)、故障狀態(tài)、預(yù)警信息等數(shù)據(jù)進(jìn)行配置,配置信息采用全局變量的形式存儲(chǔ);
圖4是充電數(shù)據(jù)模擬發(fā)生裝置中鏈路生成模塊的結(jié)構(gòu)示意圖。由圖4可知,鏈路生成模塊主要具體包括:
配置信息讀取單元,用于從全局變量中讀取裝置所需要模擬的充電機(jī)相關(guān)配置信息;充電機(jī)對(duì)象創(chuàng)建單元,用于根據(jù)充電機(jī)配置信息創(chuàng)建多個(gè)虛擬充電機(jī)對(duì)象,并對(duì)虛擬充電機(jī)對(duì)象進(jìn)行初始化。虛擬充電機(jī)對(duì)象用程序中的一個(gè)充電機(jī)類表示,類中包含了充電機(jī)的若干屬性,如型號(hào)、編號(hào)、狀態(tài)等信息,也包含了充電機(jī)的若干動(dòng)作,如開始/停止充電、發(fā)送數(shù)據(jù)、故障預(yù)警等;
通信鏈路創(chuàng)建單元,用于為每一個(gè)虛擬充電機(jī)對(duì)象創(chuàng)建多條用于充電數(shù)據(jù)傳輸?shù)耐ㄐ沛溌?,主要包?條TCP鏈路,分別用于發(fā)送單包充電數(shù)據(jù)報(bào)文,發(fā)送多包充電數(shù)據(jù)報(bào)文和傳輸控制指令、接收充電監(jiān)控系統(tǒng)發(fā)送過來的傳輸控制指令;
圖5是充電數(shù)據(jù)模擬發(fā)生裝置數(shù)據(jù)并發(fā)處理示意圖,本發(fā)明為每一個(gè)虛擬充電機(jī)對(duì)象的每一條通信鏈路創(chuàng)建一個(gè)單獨(dú)的數(shù)據(jù)處理線程,這樣,多個(gè)虛擬充電機(jī)之間,以及同一個(gè)虛擬充電機(jī)的多條通信鏈路之間的數(shù)據(jù)處理都是并發(fā)執(zhí)行的。具體地:
對(duì)于每一個(gè)虛擬充電機(jī)對(duì)象中的單包充電數(shù)據(jù),創(chuàng)建一個(gè)單包數(shù)據(jù)處理線程,該線程完成對(duì)單包充電數(shù)據(jù)的報(bào)文組包和報(bào)文發(fā)送工作,詳細(xì)的處理流程參見圖10和圖11所示的報(bào)文組包和報(bào)文發(fā)送方法;
對(duì)于每一個(gè)虛擬充電機(jī)對(duì)象中的多包充電數(shù)據(jù),創(chuàng)建一個(gè)多包數(shù)據(jù)處理線程和一個(gè)多包傳輸控制指令接收線程。其中,多包數(shù)據(jù)處理線程完成對(duì)多包充電數(shù)據(jù)的報(bào)文組包和報(bào)文發(fā)送工作,詳細(xì)處理流程參見圖10和圖11所示的報(bào)文組包和報(bào)文發(fā)送方法;多包指令接收線程用于接收從充電監(jiān)控系統(tǒng)發(fā)送過來的多包傳輸控制指令(CTS幀),與多包數(shù)據(jù)處理線程共同完成多包充電數(shù)據(jù)報(bào)文的發(fā)送,詳細(xì)處理流程參見圖12所示的多包發(fā)送處理方法。
[0019] 圖6是充電數(shù)據(jù)模擬發(fā)生裝置中充電數(shù)據(jù)報(bào)文組包模塊的結(jié)構(gòu)示意圖。由圖6可知,充電數(shù)據(jù)報(bào)文組包模塊主要包括:
充電數(shù)據(jù)字段生成單元,用于讀取國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型,并根據(jù)配置信息生成符合國標(biāo)規(guī)范的充電數(shù)據(jù)字段,例如充電電壓的閾值范圍是0-600伏;
單包/多包數(shù)據(jù)判斷單元,用于判斷需要組包的充電數(shù)據(jù)字段是否大于8字節(jié),當(dāng)判斷為是時(shí),調(diào)用多包充電數(shù)據(jù)報(bào)文組包單元,否則調(diào)用單包充電數(shù)據(jù)報(bào)文組包單元;
單包充電數(shù)據(jù)報(bào)文組包單元,用于依據(jù)國標(biāo)中的充電數(shù)據(jù)報(bào)文規(guī)范將數(shù)據(jù)字節(jié)封裝成協(xié)議數(shù)據(jù)單元(PDU),形成單包充電數(shù)據(jù)報(bào)文;
多包充電數(shù)據(jù)報(bào)文組包單元,用于將充電數(shù)據(jù)字段拆分為多個(gè)由8字節(jié)組成的獨(dú)立數(shù)據(jù)單元,然后分別對(duì)所述數(shù)據(jù)單元進(jìn)行封裝,得到符合國標(biāo)NB/T33003充電數(shù)據(jù)報(bào)文規(guī)范的多個(gè)協(xié)議數(shù)據(jù)單元,組成多包充電數(shù)據(jù)報(bào)文;
充電數(shù)據(jù)報(bào)文緩存單元,用于將封裝后的充電數(shù)據(jù)報(bào)文存儲(chǔ)到待發(fā)送緩沖區(qū)中,所述待發(fā)送緩沖區(qū)定義為計(jì)算機(jī)內(nèi)存中的一塊固定大小的區(qū)域。
[0020]圖7是充電數(shù)據(jù)報(bào)文中協(xié)議數(shù)據(jù)單元的幀格式說明示意圖。每一個(gè)充電數(shù)據(jù)報(bào)文主要由一個(gè)協(xié)議數(shù)據(jù)單元(PDU)構(gòu)成,協(xié)議數(shù)據(jù)單元由七部分組成,分別是優(yōu)先級(jí)(P),保留位(R),數(shù)據(jù)頁(DP),PDU格式(PF),特定H)U (PS),源地址(SA)和數(shù)據(jù)域(DATA)。PDU被封裝在一個(gè)充電數(shù)據(jù)報(bào)文中,通過物理介質(zhì)傳送到其他網(wǎng)絡(luò)設(shè)備。協(xié)議數(shù)據(jù)單元的優(yōu)先級(jí)位、保留位,數(shù)據(jù)頁位(8位)和PDU格式域(8位)和組擴(kuò)展域(8位)組成參數(shù)組編號(hào)(PGN),用來識(shí)標(biāo)識(shí)充電數(shù)據(jù)報(bào)文的數(shù)據(jù)域?qū)儆谀膫€(gè)參數(shù)組。
[0021]圖8是充電數(shù)據(jù)模擬發(fā)生裝置中充電數(shù)據(jù)報(bào)文發(fā)送模塊的結(jié)構(gòu)示意圖。由圖8可知,充電數(shù)據(jù)報(bào)文發(fā)送模塊主要包括:
充電數(shù)據(jù)報(bào)文讀取單元,用于從待發(fā)送緩沖區(qū)中取出待發(fā)送的充電數(shù)據(jù)報(bào)文;
單包/多包數(shù)據(jù)判斷單元,用于判斷待發(fā)送的充電數(shù)據(jù)報(bào)文是否為多包數(shù)據(jù),當(dāng)判斷為是時(shí),調(diào)用多包充電數(shù)據(jù)報(bào)文傳輸控制單元,否則調(diào)用單包充電數(shù)據(jù)報(bào)文傳輸單元;單包充電數(shù)據(jù)報(bào)文傳輸單元,用于將單包充電數(shù)據(jù)報(bào)文通過與充電監(jiān)控系統(tǒng)建立的TCP鏈路發(fā)送給充電監(jiān)控系統(tǒng);
多包充電數(shù)據(jù)報(bào)文傳輸控制單元,用于將多包充電數(shù)據(jù)報(bào)文通過多包傳輸控制方法發(fā)送給充電監(jiān)控系統(tǒng);所述的多包傳輸控制方法在圖12中給出。
[0022]相應(yīng)的,本發(fā)明還提供了的一種用于充電監(jiān)控系統(tǒng)離線測(cè)試的多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)模擬發(fā)生方法。圖9是本發(fā)明提供的充電數(shù)據(jù)模擬發(fā)生方法的流程圖。由圖9可知,所述方法包括如下步驟:
1、用戶通過配置界面對(duì)模擬裝置所需要模擬的充電機(jī)、電池、充電狀態(tài)等信息進(jìn)行配
置;
2、根據(jù)配置信息,創(chuàng)建多個(gè)虛擬充電機(jī)對(duì)象,并為每一個(gè)虛擬充電機(jī)對(duì)象創(chuàng)建多條用于充電數(shù)據(jù)傳輸?shù)耐ㄐ沛溌?,主要包括I條用于單包充電數(shù)據(jù)報(bào)文傳輸?shù)腡CP鏈路,2條用于多包充電數(shù)據(jù)報(bào)文傳輸控制的TCP鏈路,其中一條用于發(fā)送多包充電數(shù)據(jù)報(bào)文和傳輸控制指令,另一條用于接收充電監(jiān)控系統(tǒng)發(fā)送過來的傳輸控制指令。然后為每一個(gè)充電機(jī)對(duì)象的每一條通信鏈路創(chuàng)建一個(gè)單獨(dú)的數(shù)據(jù)處理線程,以實(shí)現(xiàn)充電數(shù)據(jù)的實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)并發(fā)處理;
3、對(duì)于上述的每一個(gè)數(shù)據(jù)處理線程,讀取配置信息,然后利用本發(fā)明提供的充電數(shù)據(jù)報(bào)文組包方法對(duì)國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型進(jìn)行組包,得到符合充電數(shù)據(jù)規(guī)范的單包或多包充電數(shù)據(jù)報(bào)文,并將封裝好的充電數(shù)據(jù)報(bào)文放入待發(fā)送緩沖區(qū)中;
4、對(duì)于上述的每一個(gè)數(shù)據(jù)處理線程,從待發(fā)送緩沖區(qū)中讀取待發(fā)送的單包或多包充電數(shù)據(jù)報(bào)文,然后利用本發(fā)明提供的充電數(shù)據(jù)報(bào)文發(fā)送方法將充電數(shù)據(jù)報(bào)文通過以太網(wǎng)發(fā)送給充電監(jiān)控系統(tǒng)。
[0023]圖10是圖9中第3步所述充電數(shù)據(jù)報(bào)文組包方法的流程圖。由圖10可知,充電數(shù)據(jù)報(bào)文組包方法包括如下步驟:
1、讀取國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型;
2、根據(jù)配置信息,生成上述充電數(shù)據(jù)類型的數(shù)據(jù)字段;
3、判斷數(shù)據(jù)字段是否大于8字節(jié),當(dāng)判斷為是時(shí),調(diào)用多包充電數(shù)據(jù)報(bào)文組包方法,否則調(diào)用單包充電數(shù)據(jù)報(bào)文組包方法;
4、單包充電數(shù)據(jù)報(bào)文組包方法是指依據(jù)國標(biāo)中的充電數(shù)據(jù)報(bào)文規(guī)范將數(shù)據(jù)字段封裝成協(xié)議數(shù)據(jù)單元(PDU),形成單包充電數(shù)據(jù)報(bào)文;
5、多包充電數(shù)據(jù)報(bào)文組包方法是指首先將數(shù)據(jù)字段拆分為多個(gè)由8字節(jié)組成的獨(dú)立數(shù)據(jù)單元,然后分別對(duì)所述數(shù)據(jù)單元進(jìn)行封裝,得到符合國標(biāo)NB/T33003充電數(shù)據(jù)報(bào)文規(guī)范的多個(gè)協(xié)議數(shù)據(jù)單元,組成多包充電數(shù)據(jù)報(bào)文; 6、最后將封裝好的單包或多包充電數(shù)據(jù)報(bào)文放入待發(fā)送緩沖區(qū)中;
圖11是圖9中第4步所述充電數(shù)據(jù)報(bào)文發(fā)送方法的流程圖。由圖11可知,充電數(shù)據(jù)報(bào)文發(fā)送方法包括如下步驟:
1、從待發(fā)送緩沖區(qū)中取出待發(fā)送的單包或多包充電數(shù)據(jù)報(bào)文;
2、判斷待發(fā)送的充電數(shù)據(jù)報(bào)文是否為多包數(shù)據(jù),當(dāng)判斷為是時(shí),進(jìn)行多包充電數(shù)據(jù)報(bào)文傳輸控制,否則進(jìn)行單包充電數(shù)據(jù)報(bào)文傳輸;
3、單包充電數(shù)據(jù)報(bào)文傳輸過程為:將單包充電數(shù)據(jù)報(bào)文通過與充電監(jiān)控系統(tǒng)建立的TCP傳輸鏈路發(fā)送給充電監(jiān)控系統(tǒng);
4、多包充電數(shù)據(jù)報(bào)文傳輸控制過程為,將多包充電數(shù)據(jù)報(bào)文通過多包傳輸控制方法發(fā)送給充電監(jiān)控系統(tǒng);
圖12是圖11中所述多包傳輸控制方法的流程圖。由圖12可知,多包傳輸控制方法包括如下步驟:
1、首先向充電監(jiān)控系統(tǒng)發(fā)送一個(gè)“請(qǐng)求發(fā)送消息(RTS幀)”,RTS幀中包含了需要發(fā)送的多包充電報(bào)文的數(shù)量、起始編號(hào)等信息;
2、等待充電監(jiān)控系統(tǒng)響應(yīng)的“準(zhǔn)備發(fā)送消息(CTS幀)”,CTS幀中指定了下一次傳輸過程中充電監(jiān)控系統(tǒng)準(zhǔn)備接收的多包充電報(bào)文的起始編號(hào)、數(shù)量等信息;
3、接收到充電監(jiān)控系統(tǒng)響應(yīng)的CTS幀后,對(duì)該CTS幀進(jìn)行解析,并將CTS幀中所指定的充電數(shù)據(jù)報(bào)文;
4、然后繼續(xù)等待充電監(jiān)控系統(tǒng)的CTS幀,并發(fā)送CTS幀中指定的充電數(shù)據(jù)報(bào)文,以此循
環(huán);
5、如果接收到充電監(jiān)控系統(tǒng)發(fā)送的消息結(jié)束應(yīng)答(ACK),則結(jié)束本次多包傳輸控制。
【權(quán)利要求】
1.一種多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法,其特征在于,該方法為: 1)對(duì)大規(guī)模充電站中需要模擬的充電機(jī)、電池、充電狀態(tài)信息進(jìn)行配置; 2)根據(jù)配置信息,創(chuàng)建多個(gè)虛擬充電機(jī)對(duì)象,并對(duì)所述虛擬充電機(jī)對(duì)象進(jìn)行初始化; 3)為每一個(gè)虛擬充電機(jī)對(duì)象建立獨(dú)立的與充電監(jiān)控系統(tǒng)通信的通信鏈路,用于傳輸充電數(shù)據(jù); 4)讀取配置信息,對(duì)國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型進(jìn)行組包,得到符合充電數(shù)據(jù)規(guī)范的單包或多包充電數(shù)據(jù)報(bào)文,并將封裝好的充電數(shù)據(jù)報(bào)文放入待發(fā)送緩沖區(qū)中; 5)從待發(fā)送緩沖區(qū)中讀取待發(fā)送的單包或多包充電數(shù)據(jù)報(bào)文,然后將所有充電數(shù)據(jù)報(bào)文通過以太網(wǎng)發(fā)送給充電監(jiān)控系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法,其特征在于,所述步驟2)中,創(chuàng)建多個(gè)虛擬充電機(jī)對(duì)象的過程為:將虛擬充電機(jī)設(shè)計(jì)為一個(gè)類,該類中包含了虛擬充電機(jī)的屬性和動(dòng)作,然后根據(jù)配置信息,創(chuàng)建多個(gè)類的對(duì)象,即得多個(gè)虛擬充電機(jī)對(duì)象。
3.根據(jù)權(quán)利要求1或2所述的多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法,其特征在于,所述步驟3)中,所述通信鏈路包括3條TCP傳輸鏈路,分別用于發(fā)送單包充電數(shù)據(jù)報(bào)文、發(fā)送多包充電數(shù)據(jù)報(bào)文及傳輸控制指令、接收充電監(jiān)控系統(tǒng)發(fā)送過來的傳輸控制指令。
4.根據(jù)權(quán)利要求3所述的多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法,其特征在于,所述步驟4)中,對(duì)國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型進(jìn)行組包的方法為: 對(duì)于數(shù)據(jù)字段為Ol字節(jié)的充電數(shù)據(jù)`類型,首先根據(jù)充電數(shù)據(jù)類型的定義生成符合國標(biāo)NB/T33003規(guī)范的充電數(shù)據(jù)字段,然后根據(jù)國標(biāo)NB/T33003中定義的報(bào)文規(guī)范將數(shù)據(jù)字節(jié)封裝成協(xié)議數(shù)據(jù)單元; 對(duì)于數(shù)據(jù)字段大于8字節(jié)的充電數(shù)據(jù)類型,首先根據(jù)充電數(shù)據(jù)類型的定義生成符合國標(biāo)NB/T33003規(guī)范的充電數(shù)據(jù)字段,然后將生成的充電數(shù)據(jù)字段拆分為多個(gè)由8字節(jié)組成的獨(dú)立數(shù)據(jù)單元,最后分別對(duì)所述數(shù)據(jù)單元進(jìn)行封裝,得到符合國標(biāo)NB/T33003中定義的報(bào)文規(guī)范的多個(gè)協(xié)議數(shù)據(jù)單元,所述多個(gè)協(xié)議數(shù)據(jù)單元組成多包充電數(shù)據(jù)報(bào)文。
5.根據(jù)權(quán)利要求4所述的多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生方法,其特征在于,所述步驟5)中,將所有充電數(shù)據(jù)報(bào)文通過以太網(wǎng)發(fā)送給充電監(jiān)控系統(tǒng)的方法為: 對(duì)于單包充電數(shù)據(jù)報(bào)文,首先與充電監(jiān)控系統(tǒng)建立I條基于TCP協(xié)議的TCP傳輸鏈路,然后將封裝好的單包充電數(shù)據(jù)報(bào)文發(fā)送給充電監(jiān)控系統(tǒng); 對(duì)于多包充電數(shù)據(jù)報(bào)文,首先與充電監(jiān)控系統(tǒng)建立2條基于TCP協(xié)議的TCP傳輸鏈路,一條用于發(fā)送多包充電數(shù)據(jù)報(bào)文及傳輸控制指令,另一條用于接收充電監(jiān)控系統(tǒng)發(fā)送過來的傳輸控制指令,然后采用多包傳輸控制方法將所述多包充電數(shù)據(jù)報(bào)文發(fā)送給充電監(jiān)控系統(tǒng); 所述多包傳輸控制方法為:首先向充電監(jiān)控系統(tǒng)發(fā)送一個(gè)“請(qǐng)求發(fā)送消息幀”,即RTS幀,所述RTS幀中包含了需要發(fā)送的多包充電數(shù)據(jù)報(bào)文的數(shù)量、起始編號(hào)信息,然后開始等待充電監(jiān)控系統(tǒng)的應(yīng)答;待接收到充電監(jiān)控系統(tǒng)發(fā)送的“準(zhǔn)備發(fā)送消息”,即CTS幀后,對(duì)該CTS幀進(jìn)行解析,并將CTS幀中所指定的充電數(shù)據(jù)報(bào)文通過TCP傳輸鏈路發(fā)送給充電監(jiān)控系統(tǒng);然后繼續(xù)等待充電監(jiān)控系統(tǒng)的CTS幀并進(jìn)行響應(yīng),以此循環(huán),直到接收到充電監(jiān)控系統(tǒng)發(fā)送的消息,結(jié)束應(yīng)答;其中所述CTS幀中指定了下一次傳輸過程中充電監(jiān)控系統(tǒng)準(zhǔn)備接收的多包充電報(bào)文的數(shù)量、起始編號(hào)信息。
6.一種多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生裝置,其特征在于,該裝置包括: 配置模塊,包括用于對(duì)大規(guī)模充電站中需要模擬的充電機(jī)個(gè)數(shù)、型號(hào)、編號(hào)、充電機(jī)狀態(tài)信息進(jìn)行配置的充電機(jī)信息配置單元;用于對(duì)大規(guī)模充電站中需要模擬的電池包個(gè)數(shù)、編號(hào)、電池容量進(jìn)行配置的電池信息配置單元;用于對(duì)大規(guī)模充電站中需要模擬的充電狀態(tài)、充電電流、電壓、電池狀態(tài)、故障狀態(tài)、預(yù)警信息數(shù)據(jù)進(jìn)行配置的狀態(tài)配置單元; 鏈路生成模塊,包括用于讀取裝置所需要模擬的充電機(jī)相關(guān)配置信息的配置信息讀取單元;用于根據(jù)充電機(jī)配置信息創(chuàng)建多個(gè)虛擬充電機(jī)對(duì)象,并對(duì)虛擬充電機(jī)對(duì)象進(jìn)行初始化的充電機(jī)對(duì)象創(chuàng)建單元;用于為每一個(gè)虛擬充電機(jī)對(duì)象創(chuàng)建多條用于傳輸充電數(shù)據(jù)的通信鏈路的通信鏈路創(chuàng)建單元; 充電數(shù)據(jù)報(bào)文組包模塊,包括用于讀取國標(biāo)NB/T33003中定義的至少一種充電數(shù)據(jù)類型,并根據(jù)配置信息生成符合國標(biāo)NB/T33003規(guī)范的充電數(shù)據(jù)字段的充電數(shù)據(jù)字段生成單元;用于判斷需要組包的充電數(shù)據(jù)字段長度,并根據(jù)充電數(shù)據(jù)字段長度調(diào)用相應(yīng)的充電數(shù)據(jù)報(bào)文組包單元的單包/多包數(shù)據(jù)判斷單元;用于依據(jù)國標(biāo)NB/T33003中的充電數(shù)據(jù)報(bào)文規(guī)范將數(shù)據(jù)字節(jié)封裝成協(xié)議數(shù)據(jù)單元,形成單包充電數(shù)據(jù)報(bào)文的單包充電數(shù)據(jù)報(bào)文組包單元;用于將充電數(shù)據(jù)字段拆分為多個(gè)由8字節(jié)組成的獨(dú)立數(shù)據(jù)單元,然后分別對(duì)所述數(shù)據(jù)單元進(jìn)行封裝,得到符合國標(biāo)NB/T33003充電數(shù)據(jù)報(bào)文規(guī)范的多個(gè)協(xié)議數(shù)據(jù)單元,并組成多包充電數(shù)據(jù)報(bào)文的多包充電數(shù)據(jù)報(bào)文組包單元;用于將封裝后的充電數(shù)據(jù)報(bào)文存儲(chǔ)到待發(fā)送緩沖區(qū)中的充電數(shù)據(jù)報(bào)文緩存單元; 充電數(shù)據(jù)報(bào)文發(fā)送模塊,包括用于從待發(fā)送緩沖區(qū)中取出待發(fā)送的充電數(shù)據(jù)報(bào)文的充電數(shù)據(jù)報(bào)文讀取單元;用于判斷待發(fā)送的充電數(shù)據(jù)報(bào)文類型,并根據(jù)充電數(shù)據(jù)報(bào)文類型調(diào)用相關(guān)充電數(shù)據(jù)報(bào)文傳輸單元的單包/多包數(shù)據(jù)判斷單元;用于將單包充電數(shù)據(jù)報(bào)文通過TCP傳輸鏈路發(fā)送給充電監(jiān)控系統(tǒng)的單包充電數(shù)據(jù)報(bào)文傳輸單元;用于將多包充電數(shù)據(jù)報(bào)文發(fā)送給充電監(jiān)控系統(tǒng)的多包充電數(shù)據(jù)報(bào)文傳輸控制單元。
7.根據(jù)權(quán)利要求6所述的多路實(shí)時(shí)并發(fā)充電數(shù)據(jù)的模擬發(fā)生裝置,其特征在于,所述通信鏈路創(chuàng)建單元為每一個(gè)虛擬充電機(jī)對(duì)象創(chuàng)建3條TCP傳輸鏈路。
【文檔編號(hào)】G06F9/455GK103731324SQ201410035336
【公開日】2014年4月16日 申請(qǐng)日期:2014年1月24日 優(yōu)先權(quán)日:2014年1月24日
【發(fā)明者】田建偉, 黎曦, 劉瀟瀟, 漆文輝 申請(qǐng)人:國家電網(wǎng)公司, 國網(wǎng)湖南省電力公司, 國網(wǎng)湖南省電力公司電力科學(xué)研究院