[發(fā)明專利]一種電能表軟件的檢錯(cuò)糾錯(cuò)與軌跡跟蹤方法在審
| 申請(qǐng)?zhí)枺?/td> | 201710541354.0 | 申請(qǐng)日: | 2017-07-05 |
| 公開(公告)號(hào): | CN107480045A | 公開(公告)日: | 2017-12-15 |
| 發(fā)明(設(shè)計(jì))人: | 龍德亮;徐健;池金波;徐法格 | 申請(qǐng)(專利權(quán))人: | 積成電子股份有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 濟(jì)南舜源專利事務(wù)所有限公司37205 | 代理人: | 苗峻,孟繁修 |
| 地址: | 250100 山東省濟(jì)*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 電能表 軟件 檢錯(cuò) 糾錯(cuò) 軌跡 跟蹤 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于電能表技術(shù)領(lǐng)域,具體涉及一種電能表軟件的檢錯(cuò)糾錯(cuò)與軌跡跟蹤方法。
背景技術(shù)
隨著國家電網(wǎng)公司智能電能表系列標(biāo)準(zhǔn)的正式實(shí)施,電能表的功能明顯增多,電能表軟件代碼量達(dá)到十萬行之多,軟件調(diào)試及問題排查工作非常艱巨。盡管有供應(yīng)商內(nèi)部進(jìn)行的產(chǎn)品系統(tǒng)測試和國家電網(wǎng)計(jì)量中心進(jìn)行的全性能測試,但很多問題隱藏深、重現(xiàn)頻率小,比如變量被異常改寫、緩沖區(qū)或堆棧溢出、軟件異常復(fù)位……等,無法確認(rèn)所有的隱藏錯(cuò)誤,加之國家電網(wǎng)禁止對(duì)現(xiàn)場運(yùn)行的電能表軟件升級(jí),造成了部分錯(cuò)誤無法在出廠前消除,影響了現(xiàn)場的使用。
發(fā)明內(nèi)容
為解決上述技術(shù)問題,本發(fā)明提出了一種電能表軟件的檢錯(cuò)糾錯(cuò)與軌跡跟蹤方法,在編碼階段規(guī)避軟件問題,同時(shí)一旦發(fā)生錯(cuò)誤能夠很快對(duì)錯(cuò)誤定位跟蹤。
本發(fā)明所采用的技術(shù)方案如下:
一種電能表軟件的檢錯(cuò)糾錯(cuò)與軌跡跟蹤方法,包括以下步驟:
步驟1、為電能表軟件所定義的數(shù)據(jù)結(jié)構(gòu)體增加CS校驗(yàn)字節(jié),存儲(chǔ)或讀取變量時(shí)先根據(jù)CS校驗(yàn)字節(jié)進(jìn)行CS校驗(yàn);
進(jìn)行CS校驗(yàn)的具體步驟如下:
1.1、寫數(shù)據(jù)時(shí),先計(jì)算得到數(shù)據(jù)結(jié)構(gòu)體變量的CS校驗(yàn)字節(jié),CS校驗(yàn)字節(jié)=數(shù)據(jù)結(jié)構(gòu)體中除CS校驗(yàn)字節(jié)之外的其他變量的數(shù)據(jù)值之和,然后將計(jì)算得到的CS校驗(yàn)字節(jié)與數(shù)據(jù)一起寫入存儲(chǔ)區(qū);
1.2、讀數(shù)據(jù)時(shí),執(zhí)行以下步驟:
1.2.1、將數(shù)據(jù)結(jié)構(gòu)體中除CS校驗(yàn)字節(jié)之外的其他變量字節(jié)的數(shù)據(jù)值進(jìn)行累加得到CS1,然后將CS1與該數(shù)據(jù)結(jié)構(gòu)體存儲(chǔ)的CS校驗(yàn)字節(jié)進(jìn)行比較,判定二者是否相等,若是則讀取并使用數(shù)據(jù)、讀數(shù)據(jù)結(jié)束,若否則轉(zhuǎn)1.2.2;
1.2.2、判斷備份區(qū)的數(shù)據(jù)是否均讀完,若是則重置默認(rèn)值并輸出調(diào)試信息、讀數(shù)據(jù)結(jié)束,若否則轉(zhuǎn)下一步;
1.2.3、讀取備份區(qū)數(shù)據(jù),并轉(zhuǎn)步驟1.2.1。
通過對(duì)電能表軟件中的數(shù)據(jù)結(jié)構(gòu)體增加CS校驗(yàn)字節(jié),可根據(jù)校驗(yàn)結(jié)果判斷數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)是否遭到破壞,確認(rèn)數(shù)據(jù)被破壞后可以通過讀取備份的結(jié)構(gòu)體數(shù)據(jù)解決該問題,保證了數(shù)據(jù)的正確性,對(duì)于要保證電能表正確運(yùn)行的電能表參數(shù)而言該方式至關(guān)重要。
步驟2、為電能表軟件所定義的數(shù)據(jù)結(jié)構(gòu)體增加固定值的首尾特征字字節(jié),存儲(chǔ)或讀取變量時(shí)先根據(jù)首尾特征字字節(jié)進(jìn)行首尾特征字校驗(yàn);
進(jìn)行首尾特征字校驗(yàn)的具體步驟如下:
2.1、寫數(shù)據(jù)時(shí)執(zhí)行以下步驟:
2.1.1、判斷要寫入的變量的首尾特征字與數(shù)據(jù)結(jié)構(gòu)體中預(yù)先設(shè)定的固定值的首尾特征字是否一致,若是則將數(shù)據(jù)和首尾特征字同時(shí)進(jìn)行存儲(chǔ)、寫數(shù)據(jù)結(jié)束,若否則轉(zhuǎn)下一步;
2.1.2、重置默認(rèn)值并輸出調(diào)試信息,存儲(chǔ)默認(rèn)數(shù)據(jù);
2.2、讀數(shù)據(jù)時(shí)執(zhí)行以下步驟:
2.2.1、判斷要讀取的變量的首尾特征字與數(shù)據(jù)結(jié)構(gòu)體中預(yù)先設(shè)定的固定值的首尾特征字是否一致,若是則讀取并使用數(shù)據(jù)、讀數(shù)據(jù)結(jié)束,若否則轉(zhuǎn)下一步;
2.2.2、判斷備份區(qū)的數(shù)據(jù)是否均讀完,若是則重置默認(rèn)值并輸出調(diào)試信息、讀數(shù)據(jù)結(jié)束,若否則轉(zhuǎn)下一步;
2.2.3、讀取備份區(qū)數(shù)據(jù),并轉(zhuǎn)步驟2.2.1。
通過對(duì)電能表軟件中的數(shù)據(jù)結(jié)構(gòu)體增加首尾特征字字節(jié),可根據(jù)首尾特征字的值是否被改變判斷結(jié)構(gòu)體數(shù)據(jù)是否受到破壞,確認(rèn)數(shù)據(jù)被破壞后可以通過讀取備份結(jié)構(gòu)體數(shù)據(jù)方式解決該問題,該方式對(duì)于電能表的正確運(yùn)行同樣至關(guān)重要。
步驟3、在使用電能表軟件所定義的數(shù)據(jù)緩沖區(qū)之前先判斷數(shù)據(jù)緩沖區(qū)是否溢出,若是則輸出溢出信息,若否則正常使用數(shù)據(jù)緩沖區(qū)。
因數(shù)據(jù)緩沖區(qū)一旦溢出,電能表內(nèi)對(duì)緩沖區(qū)的所有操作均為錯(cuò)誤操作,該方式可以及時(shí)提醒開發(fā)人員進(jìn)行緩沖區(qū)調(diào)整,停止電能表軟件的錯(cuò)誤運(yùn)行。
步驟4、在使用電能表軟件所定義的數(shù)據(jù)堆棧空間之前先判斷數(shù)據(jù)堆棧空間是否小于預(yù)先設(shè)定的預(yù)警值,若是則輸出數(shù)據(jù)堆棧空間報(bào)警信息,若否則正常使用數(shù)據(jù)堆棧空間。
因數(shù)據(jù)堆棧空間一旦超過預(yù)警值,就很有可能在運(yùn)行過程發(fā)生數(shù)據(jù)堆棧溢出,造成電能表軟件死機(jī),該方式可以及時(shí)提醒開發(fā)人員注意數(shù)據(jù)堆棧空間的剩余大小,及時(shí)更改數(shù)據(jù)堆棧空間避免溢出。
步驟5、對(duì)電能表軟件所定義的操作函數(shù)的重要入口參數(shù)進(jìn)行合法性檢查,若不滿足操作函數(shù)執(zhí)行要求則輸出非法信息。
一旦不合法數(shù)據(jù)傳入而無判斷,就會(huì)造成函數(shù)的不正確執(zhí)行或返回錯(cuò)誤結(jié)果,該方式可確保函數(shù)入口參數(shù)的合法性,確保函數(shù)的正確執(zhí)行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于積成電子股份有限公司,未經(jīng)積成電子股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710541354.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動(dòng)態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗(yàn)軟件的裝置與方法
- 可抑制電路規(guī)模能進(jìn)行高速糾錯(cuò)的糾錯(cuò)裝置和解碼裝置
- 數(shù)字激光視盤機(jī)的檢錯(cuò)碼檢查裝置與檢查方法
- 具有高效的檢錯(cuò)碼重算的循環(huán)冗余檢驗(yàn)
- 循環(huán)冗余校驗(yàn)碼的可配置并行計(jì)算
- 計(jì)算機(jī)系統(tǒng)檢錯(cuò)方法及電子裝置
- 輸出BIOS檢錯(cuò)碼的裝置與方法
- 一種基于機(jī)器學(xué)習(xí)的口語發(fā)音檢錯(cuò)與糾正系統(tǒng)
- 一種語音識(shí)別文本的質(zhì)量提升方法和裝置
- 一種應(yīng)用于人臉關(guān)鍵點(diǎn)定位任務(wù)的檢錯(cuò)糾錯(cuò)方法
- 汽車的CAN通信矩陣的檢錯(cuò)方法





