本發(fā)明涉及自動(dòng)化控制數(shù)據(jù)通信領(lǐng)域,具體地,涉及一種應(yīng)用于核電安全級(jí)dcs數(shù)據(jù)處理方法。
背景技術(shù):
數(shù)據(jù)通信用于核電廠安全級(jí)dcs平臺(tái)的不同處理模塊之間傳輸數(shù)字化信號(hào),或者和其他外部系統(tǒng)之間傳輸數(shù)據(jù)。按照安全性要求,通信功能需要滿足以下幾項(xiàng)功能安全:
①通信系統(tǒng)應(yīng)該具有確定性;
②控制站間通信應(yīng)該采用點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)鏈路;
③通信協(xié)議不能出現(xiàn)鏈?zhǔn)椒磻?yīng);
④通信協(xié)議中要明確指定接受方和發(fā)送方;
⑤通信協(xié)議中不應(yīng)該出現(xiàn)應(yīng)用軟件不需要的協(xié)議層或服務(wù)。
在設(shè)計(jì)上,采用基于狀態(tài)的通信系統(tǒng),具有更好的可預(yù)測(cè)性。所謂基于狀態(tài)的通信系統(tǒng)是指,通信系統(tǒng)以固定的時(shí)間間隔,傳輸固定的數(shù)據(jù)集,而不管數(shù)據(jù)集是否發(fā)生了改變。在開發(fā)中采用c語言實(shí)現(xiàn)通信中的機(jī)制,使用scade進(jìn)行上層數(shù)據(jù)定義。通過邏輯組態(tài)和二次代碼封裝的方式達(dá)到數(shù)據(jù)的分發(fā)與匯聚功能。從而滿足系統(tǒng)的點(diǎn)對(duì)點(diǎn)和數(shù)據(jù)通信要求。
但是手動(dòng)編寫轉(zhuǎn)發(fā)邏輯會(huì)導(dǎo)致大量隱藏bug和v&v工作。而且對(duì)于工程人員來說,c語言編寫技術(shù)門檻高,不適合進(jìn)行邏輯層面的應(yīng)用編寫。
綜上所述,本申請(qǐng)發(fā)明人在實(shí)現(xiàn)本申請(qǐng)發(fā)明技術(shù)方案的過程中,發(fā)現(xiàn)上述技術(shù)至少存在如下技術(shù)問題:
在現(xiàn)有技術(shù)中,現(xiàn)有的核電廠安全級(jí)dcs平臺(tái)通信功能設(shè)計(jì)存在手動(dòng)編寫轉(zhuǎn)發(fā)邏輯工作量較大,技術(shù)門檻高,效率較低的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種應(yīng)用于核電安全級(jí)dcs數(shù)據(jù)處理方法,解決了現(xiàn)有的核電廠安全級(jí)dcs平臺(tái)通信功能設(shè)計(jì)存在手動(dòng)編寫轉(zhuǎn)發(fā)邏輯工作量較大,技術(shù)門檻高,效率較低的技術(shù)問題,實(shí)現(xiàn)了在處理核電安全級(jí)dcs數(shù)據(jù)時(shí)工作人員工作量小,技術(shù)門檻低,效率較高的技術(shù)效果。
本設(shè)計(jì)scade的邏輯圖方式生成交換算法,使用了工程人員熟悉的輔助工具來完成底層的數(shù)據(jù)規(guī)則,門檻低,可靠性高,可實(shí)施性強(qiáng)。
為解決上述技術(shù)問題,本申請(qǐng)?zhí)峁┝艘环N應(yīng)用于核電安全級(jí)dcs數(shù)據(jù)處理方法,述方法包括:
步驟1:使用scade編程套件,按照功能圖紙進(jìn)行軟件功能設(shè)計(jì);
步驟2:按照功能圖紙完成功能圖后,使用scade套件內(nèi)置的轉(zhuǎn)換功能將所有功能圖,點(diǎn)擊scade套件中kcg代碼生成選項(xiàng),生成可編譯的c語言代碼;
步驟3:將scade生成的代碼進(jìn)行使用c語言頭文件和源文件進(jìn)行變量的二次封裝;
步驟4:將二次封裝后的c代碼與通信接口代碼合并,使用通用c語言編譯器(如gcc,vc等)按照工程配置使用gnumakefile或者microsoftvisualstudio工程進(jìn)行代碼編譯,成為可執(zhí)行文件;
步驟5:將可執(zhí)行文件通過下裝程序下裝到目標(biāo)板;
步驟6:目標(biāo)設(shè)備上電后啟動(dòng)內(nèi)部任務(wù)調(diào)度,調(diào)用可執(zhí)行文件運(yùn)行接管目標(biāo)板;通過通信接口收發(fā)各個(gè)站點(diǎn)數(shù)據(jù);
步驟7:通過緩沖區(qū)的覆蓋和讀取實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)功能。
進(jìn)一步的,所述步驟1還包括:在scade功能圖中的算法功能輸出與輸入之間,使用鼠標(biāo)拖拽連線方式來設(shè)計(jì)數(shù)據(jù)的輸入輸出對(duì)應(yīng)關(guān)系。
進(jìn)一步的,所述步驟3還包括:識(shí)別出scade生成的c語言結(jié)構(gòu)體的大小、變量排列方式、變量類型;并將生成的結(jié)構(gòu)體實(shí)例與c語言實(shí)現(xiàn)的通信庫軟件應(yīng)用編程接口進(jìn)行對(duì)接。
進(jìn)一步的,所述方法還包括:將需要轉(zhuǎn)發(fā)的數(shù)據(jù)段的緩沖區(qū)和scade邏輯算法數(shù)據(jù)區(qū)進(jìn)行雙向復(fù)制,通過變量所占內(nèi)存空間大小(如32位整型、16位整型、32位浮點(diǎn)等)的偏移量地址和數(shù)據(jù)類型來確定需要轉(zhuǎn)發(fā)數(shù)據(jù)的具體內(nèi)容。
該方法已在安全級(jí)dcs的數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備tu上使用。工程人員無需掌握c語言的細(xì)節(jié)。只需要熟悉設(shè)計(jì)方功能圖即可無障礙的對(duì)該設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)邏輯進(jìn)行編程。實(shí)現(xiàn)了整體系統(tǒng)中的數(shù)據(jù)轉(zhuǎn)發(fā)功能。
本申請(qǐng)?zhí)峁┑囊粋€(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):
實(shí)現(xiàn)了在處理核電安全級(jí)dcs數(shù)據(jù)時(shí)工作人員工作量小,技術(shù)門檻低,效率較高的技術(shù)效果。
附圖說明
此處所說明的附圖用來提供對(duì)本發(fā)明實(shí)施例的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定;
圖1是本申請(qǐng)中應(yīng)用于核電安全級(jí)dcs數(shù)據(jù)處理方法的流程示意圖;
圖2是本申請(qǐng)中是典型核電廠安全級(jí)dcs連接拓?fù)涫疽鈭D;
圖3是本申請(qǐng)中變量通過scade方式一到多分發(fā)示意圖。
具體實(shí)施方式
本發(fā)明提供了一種應(yīng)用于核電安全級(jí)dcs數(shù)據(jù)處理方法,解決了現(xiàn)有的核電廠安全級(jí)dcs平臺(tái)通信功能設(shè)計(jì)存在手動(dòng)編寫轉(zhuǎn)發(fā)邏輯工作量較大,技術(shù)門檻高,效率較低的技術(shù)問題,實(shí)現(xiàn)了在處理核電安全級(jí)dcs數(shù)據(jù)時(shí)工作人員工作量小,技術(shù)門檻低,效率較高的技術(shù)效果。
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在相互不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述范圍內(nèi)的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
scade是英文safety-criticalapplicationdevelopmentenvironment的縮寫,它是一個(gè)高安全性的應(yīng)用開發(fā)環(huán)境。法國愛斯特爾技術(shù)公司在開發(fā)scade軟件時(shí)聯(lián)合了航空電子、汽車電子、軍用飛機(jī)以及核電站控制等領(lǐng)域的合作伙伴,如airbus,schneiderelectric,dassaultaviation和thales等,綜合了多個(gè)領(lǐng)域?qū)η度胧杰浖_發(fā)的不同要求,提出了一整套高安全性嵌入式軟件開發(fā)的自動(dòng)化工具和相應(yīng)方法學(xué)。scade運(yùn)用了correctbyconstruction的概念,覆蓋了嵌入式軟件開發(fā)中從需求到嵌入式代碼的整個(gè)流程:需求建模、模型檢查、模擬仿真、形式驗(yàn)證、嵌入式代碼自動(dòng)生成、以及文檔自動(dòng)生成等。
本發(fā)明基于scade的代碼生成功能,轉(zhuǎn)發(fā)設(shè)備通過scade生成的c語言代碼實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)和對(duì)外提供接口。將緩沖區(qū)和邏輯算法數(shù)據(jù)區(qū)進(jìn)行雙向復(fù)制。通過偏移量和數(shù)據(jù)類型來確定數(shù)據(jù)具體內(nèi)容。
請(qǐng)參考圖1,功能步驟如下:
工程人員使用scade編程套件,按照設(shè)計(jì)方的功能圖紙進(jìn)行軟件功能設(shè)計(jì)。在scade功能圖中的算法功能輸出與輸入之間使用鼠標(biāo)拖拽連線方式來設(shè)計(jì)數(shù)據(jù)的輸入輸出對(duì)應(yīng)關(guān)系。
按照設(shè)計(jì)方圖紙完成功能圖后,使用scade套件內(nèi)置的轉(zhuǎn)換功能將所有功能圖轉(zhuǎn)換為可編譯的c語言代碼。
將scade生成的代碼進(jìn)行使用c語言頭文件和源文件進(jìn)行變量的二次封裝。識(shí)別出scade生成的c語言結(jié)構(gòu)體的大小、變量排列方式、變量類型。并將其與c語言實(shí)現(xiàn)的通信庫軟件應(yīng)用編程接口進(jìn)行對(duì)接。
編譯將二次封裝后的c代碼與通信接口代碼合并編譯成為可執(zhí)行文件。
將可執(zhí)行文件通過下裝程序下裝到目標(biāo)板。
目標(biāo)設(shè)備上電后啟動(dòng)內(nèi)部任務(wù)調(diào)度,調(diào)用可執(zhí)行文件運(yùn)行接管目標(biāo)板。通過通信接口收發(fā)各個(gè)站點(diǎn)數(shù)據(jù)。
通過緩沖區(qū)的覆蓋和讀取實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)功能。
請(qǐng)參考圖2,圖中p1c2、p1c2是兩個(gè)保護(hù)邏輯系列。兩個(gè)保護(hù)邏輯系列同時(shí)通過一個(gè)tu1站來進(jìn)行站間數(shù)據(jù)的匯聚與分發(fā)。再通過tu1使用本專利介紹的數(shù)據(jù)處理方法,將兩個(gè)保護(hù)邏輯系列的數(shù)據(jù)轉(zhuǎn)發(fā)到安全顯示單元(svdu)、網(wǎng)關(guān)站(gw)和工程師站(mts)。
請(qǐng)參考圖3,例如:a站有一個(gè)變量v需要通過tu站同時(shí)傳輸?shù)絚站與d站。那么在b站使用scade生成功能圖時(shí),新建三個(gè)變量a,c,d。三個(gè)變量類型必須一致。使用如下圖連接線方式鏈接三個(gè)變量:
連接后生成c語言代碼時(shí)會(huì)自動(dòng)生成:
v_out_c=v_in_a;
v_out_d=v_in_a;
然后通過二次封裝,v_out_c和v_out_d兩個(gè)變量排列到一個(gè)緩沖區(qū)內(nèi)。再通過編譯將緩沖區(qū)與通信接口進(jìn)行關(guān)聯(lián),通信發(fā)送的緩沖區(qū)與v_out_的v_out_d關(guān)聯(lián),通信的接收緩沖區(qū)與v_in_a關(guān)聯(lián)。這樣就實(shí)現(xiàn)了一對(duì)多的數(shù)據(jù)賦值。多對(duì)多與多對(duì)一同理。
上述本申請(qǐng)實(shí)施例中的技術(shù)方案,至少具有如下的技術(shù)效果或優(yōu)點(diǎn):
實(shí)現(xiàn)了在處理核電安全級(jí)dcs數(shù)據(jù)時(shí)工作人員工作量小,技術(shù)門檻低,效率較高的技術(shù)效果。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。