專(zhuān)利名稱(chēng):一種遠(yuǎn)程更新控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及工業(yè)控制器技術(shù)領(lǐng)域,尤其涉及一種遠(yuǎn)程更新控制系統(tǒng)。
背景技術(shù):
目前,工業(yè)現(xiàn)場(chǎng)的控制器大部分沒(méi)有安裝操作系統(tǒng),控制器中的控制程序都是事先根據(jù)現(xiàn)場(chǎng)情況編寫(xiě)好并下載到控制器flash中的。雖然有部分控制器提供修改部分運(yùn)行參數(shù)的功能,但是對(duì)于控制程序本身卻無(wú)法自動(dòng)更新,當(dāng)需要更新程序時(shí),現(xiàn)有的辦法是需要工程技術(shù)人員到現(xiàn)場(chǎng)使用專(zhuān)用的下載工具(一般是有線的連接)進(jìn)行重新下載程序的動(dòng)作;這極大限制了工業(yè)控制器的功能升級(jí)和故障排除能力。這對(duì)于分布范圍較廣和控制器安裝位置較為特殊的電力和熱力等工業(yè)監(jiān)控場(chǎng)合,是一項(xiàng)很困難的任務(wù)。
實(shí)用新型內(nèi)容本實(shí)用新型的目的在于設(shè)計(jì)一種新型的遠(yuǎn)程更新控制系統(tǒng),解決了控制器中的控制程序無(wú)法自動(dòng)更新的問(wèn)題。為了實(shí)現(xiàn)上述目的,本實(shí)用新型采用的技術(shù)方案如下一種遠(yuǎn)程更新控制系統(tǒng),包括用于發(fā)送控制程序的服務(wù)器;用于接收所述控制程序的接收器;用于緩存所述控制程序的第一存儲(chǔ)器;用于更新所述控制程序的第二存儲(chǔ)器;所述接收器分別與所述服務(wù)器、所述第一存儲(chǔ)器及所述第二存儲(chǔ)器通信連接,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器通信連接。優(yōu)選的,所述接收器為無(wú)線接收器。優(yōu)選的,所述接收器包括用于接收所述控制程序的數(shù)據(jù)接收裝置;用于數(shù)據(jù)長(zhǎng)度和求和校驗(yàn)的數(shù)據(jù)校驗(yàn)裝置;用于將所述控制程序發(fā)送到所述第一存儲(chǔ)器的數(shù)據(jù)發(fā)送裝置;用于控制更新所述控制程序的控制器;所述控制器分別和所述數(shù)據(jù)接收裝置、所述數(shù)據(jù)校驗(yàn)裝置和所述數(shù)據(jù)發(fā)送裝置通信連接。優(yōu)選的,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器均位于MCU內(nèi)部。優(yōu)選的,所述第一存儲(chǔ)器為外部擴(kuò)展存儲(chǔ)器。優(yōu)選的,所述第二存儲(chǔ)器為內(nèi)部flash存儲(chǔ)器。從以上技術(shù)方案可以看出,本實(shí)用新型的有益效果可以總結(jié)如下本實(shí)用新型利用無(wú)線通道,實(shí)現(xiàn)遠(yuǎn)程更新控制程序的功能。工程技術(shù)人員不用到現(xiàn)場(chǎng)一一操作,從而節(jié)省大量的現(xiàn)場(chǎng)工程活動(dòng),并節(jié)約大量人力物力。本實(shí)用新型增大了現(xiàn)場(chǎng)控制器的靈活性,遠(yuǎn)程在線更新程序不影響原有的遠(yuǎn)程數(shù)據(jù)通信過(guò)程,也就是在后臺(tái)靜默進(jìn)行,為運(yùn)行中的程序改進(jìn)提供了更高效和更簡(jiǎn)便的技術(shù)手段。
圖1是本實(shí)用新型的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本實(shí)用新型所解決的技術(shù)問(wèn)題、技術(shù)方案及有益效果更加清楚明白,
以下結(jié)合附圖及實(shí)施例,對(duì)本實(shí)用新型進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。本實(shí)用新型提供了一種遠(yuǎn)程更新控制系統(tǒng),用于遠(yuǎn)程自動(dòng)更新控制器中的控制程序。請(qǐng)參閱圖1,本實(shí)用新型實(shí)施例中的遠(yuǎn)程更新控制系統(tǒng),包括用于發(fā)送控制程序的服務(wù)器;用于接收所述控制程序的接收器;用于緩存所述控制程序的第一存儲(chǔ)器;用于更新所述控制程序的第二存儲(chǔ)器;所述接收器分別與所述服務(wù)器、所述第一存儲(chǔ)器及所述第二存儲(chǔ)器通信連接,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器通信連接。本實(shí)用新型借助遠(yuǎn)程通信信道,通過(guò)特殊設(shè)計(jì)的上位機(jī)軟件和下位機(jī)程序,自動(dòng)的將需要更新的控制程序下載到工業(yè)控制器內(nèi)部的外部擴(kuò)展存儲(chǔ)器中緩存,而后在啟動(dòng)特殊的升級(jí)代碼對(duì)MCU內(nèi)部flash存儲(chǔ)器進(jìn)行擦寫(xiě),拷貝并解析緩存的新控制程序覆蓋原有的控制程序,從而完成遠(yuǎn)程在線更新控制程序的任務(wù)。第一步,服務(wù)器向接收器方式傳輸控制程序的幀;由于控制程序的大小在幾十Kbytes—幾百Kbytes之間,而無(wú)線通信的數(shù)據(jù)巾貞一般最大只有1K,需要進(jìn)行分幀處理;同時(shí)為了減少現(xiàn)場(chǎng)控制器中升級(jí)代碼的復(fù)雜程度,也
需要每一巾貞中具有一定位置信息??刂瞥绦蛎恳粠瑪?shù)據(jù)長(zhǎng)度固定為256字節(jié),當(dāng)控制程序長(zhǎng)度不能整除250時(shí),最后一個(gè)數(shù)據(jù)幀長(zhǎng)度為除以250的余數(shù)。第二步,接收器向外部擴(kuò)展存儲(chǔ)器發(fā)送控制程序并緩存在所述外部擴(kuò)展存儲(chǔ)器中;所述接收器包括用于接收所述控制程序的數(shù)據(jù)接收裝置;用于數(shù)據(jù)長(zhǎng)度和求和校驗(yàn)的數(shù)據(jù)校驗(yàn)裝置;用于將所述控制程序發(fā)送到所述第一存儲(chǔ)器的數(shù)據(jù)發(fā)送裝置;用于控制更新所述控制程序的控制器;所述控制器分別和所述數(shù)據(jù)接收裝置、所述數(shù)據(jù)校驗(yàn)裝置和所述數(shù)據(jù)發(fā)送裝置通信連接。具體為1.接收器的數(shù)據(jù)校驗(yàn)?zāi)K對(duì)接收到控制程序進(jìn)行數(shù)據(jù)校驗(yàn)。接收器在收到服務(wù)器推動(dòng)來(lái)的控制程序幀后,首先進(jìn)行數(shù)據(jù)長(zhǎng)度校驗(yàn),而后進(jìn)行求和校驗(yàn),校驗(yàn)通過(guò)后,檢查程序版本號(hào)是否大于本地的程序版本號(hào),這些校驗(yàn)都通過(guò)后確認(rèn)此數(shù)據(jù)幀有效,可以進(jìn)入下一步的緩存,同時(shí)向服務(wù)器發(fā)送接收成功信號(hào)。2.數(shù)據(jù)校驗(yàn)?zāi)K將校驗(yàn)后的控制陳述發(fā)送到外部擴(kuò)展存儲(chǔ)器進(jìn)行緩存存儲(chǔ)。[0039]首先比較數(shù)據(jù)幀的版本號(hào)與外部擴(kuò)展存儲(chǔ)器中的新程序版本號(hào)的關(guān)系,如果相等,則檢查已完成幀的狀態(tài)標(biāo)識(shí)中相應(yīng)的位置是否已經(jīng)置1,若沒(méi)有,則將數(shù)據(jù)中的控制程序內(nèi)容寫(xiě)入相對(duì)應(yīng)的位置,而后將已完成幀數(shù)加I ;若已經(jīng)置1,則不進(jìn)行操作。當(dāng)數(shù)據(jù)幀的版本號(hào)大于外部擴(kuò)展存儲(chǔ)器中的新程序版本號(hào)時(shí),說(shuō)明外部擴(kuò)展存儲(chǔ)器中的程序已經(jīng)過(guò)時(shí),此時(shí)重新初始化外部擴(kuò)展存儲(chǔ)器,而后進(jìn)行第一個(gè)數(shù)據(jù)幀的寫(xiě)入動(dòng)作。當(dāng)數(shù)據(jù)幀的版本號(hào)小于外部擴(kuò)展存儲(chǔ)器中的新程序版本號(hào)時(shí),不操作。在完成上述操作后,檢查程序是否下載完成。程序是否下載完成的檢查檢查總幀數(shù)是否等于已完成幀數(shù)。已完成幀的狀態(tài)標(biāo)識(shí)中相應(yīng)的標(biāo)識(shí)是否都已經(jīng)置I。檢查通過(guò)后,將進(jìn)入啟動(dòng)升級(jí)代碼階段。3.所述控制器啟動(dòng)升級(jí)代碼;升級(jí)代碼的主要作用是擦寫(xiě)內(nèi)部flash以更新控制程序。升級(jí)代碼屬于一次性的底層代碼,在控制器出廠時(shí)第一次寫(xiě)入,之后無(wú)需進(jìn)行干預(yù)。升級(jí)代碼由控制程序啟動(dòng),使用匯編語(yǔ)言“asm(jmpOxB)”能夠跳轉(zhuǎn)到升級(jí)代碼入口進(jìn)行執(zhí)行。 第四步,拷貝解析新控制程序拷貝就是將外部擴(kuò)展存儲(chǔ)器中的新控制程序提取出來(lái)放入內(nèi)部的RAM中以便進(jìn)行操作。解析就是對(duì)RAM中新的控制程序進(jìn)行分析和處理,獲得實(shí)際可執(zhí)行的信息和程序數(shù)據(jù)。第五步,更新覆蓋原有控制程序。每當(dāng)在升級(jí)代碼中通過(guò)解析得到地址信息和可執(zhí)行代碼數(shù)據(jù)信息后,接下來(lái)就是定位到與地址信息相對(duì)應(yīng)的內(nèi)部flash位置,并將可執(zhí)行代碼數(shù)據(jù)寫(xiě)入。如此循環(huán)進(jìn)行,直到新控制程序全部寫(xiě)入完成。寫(xiě)入完成后,重新初始化外部存儲(chǔ)器的內(nèi)容。以上通過(guò)具體的和優(yōu)選的實(shí)施例詳細(xì)的描述了本實(shí)用新型,但本領(lǐng)域技術(shù)人員應(yīng)該明白,本實(shí)用新型并不局限于以上所述實(shí)施例,凡在本實(shí)用新型的精神和原則之內(nèi),所作的任何修改、等同替換等,均應(yīng)包含在本實(shí)用新型的保護(hù)范圍之內(nèi)。
權(quán)利要求1.一種遠(yuǎn)程更新控制系統(tǒng),其特征在于,包括用于發(fā)送控制程序的服務(wù)器;用于接收所述控制程序的接收器;用于緩存所述控制程序的第一存儲(chǔ)器;用于更新所述控制程序的第二存儲(chǔ)器;所述接收器分別與所述服務(wù)器、所述第一存儲(chǔ)器及所述第二存儲(chǔ)器通信連接,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器通信連接。
2.根據(jù)權(quán)利要求1所述的遠(yuǎn)程更新控制系統(tǒng),其特征在于,所述接收器為無(wú)線接收器。
3.根據(jù)權(quán)利要求1所述的遠(yuǎn)程更新控制系統(tǒng),其特征在于,所述接收器包括用于接收所述控制程序的數(shù)據(jù)接收裝置;用于數(shù)據(jù)長(zhǎng)度和求和校驗(yàn)的數(shù)據(jù)校驗(yàn)裝置;用于將所述控制程序發(fā)送到所述第一存儲(chǔ)器的數(shù)據(jù)發(fā)送裝置;用于控制更新所述控制程序的控制器;所述控制器分別和所述數(shù)據(jù)接收裝置、所述數(shù)據(jù)校驗(yàn)裝置和所述數(shù)據(jù)發(fā)送裝置通信連接。
4.根據(jù)權(quán)利要求1所述的遠(yuǎn)程更新控制系統(tǒng),其特征在于,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器均位于MCU內(nèi)部。
5.根據(jù)權(quán)利要求1或4所述的遠(yuǎn)程更新控制系統(tǒng),其特征在于,所述第一存儲(chǔ)器為外部擴(kuò)展存儲(chǔ)器。
6.根據(jù)權(quán)利要求1或4所述的遠(yuǎn)程更新控制系統(tǒng),其特征在于,所述第二存儲(chǔ)器為內(nèi)部flash存儲(chǔ)器。
專(zhuān)利摘要本實(shí)用新型提供一種遠(yuǎn)程更新控制系統(tǒng),包括用于發(fā)送控制程序的服務(wù)器;用于接收所述控制程序的接收器;用于緩存所述控制程序的第一存儲(chǔ)器;用于更新所述控制程序的第二存儲(chǔ)器;所述接收器分別與所述服務(wù)器、所述第一存儲(chǔ)器及所述第二存儲(chǔ)器通信連接,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器通信連接。本實(shí)用新型主要應(yīng)用于電力和熱力等工業(yè)監(jiān)控場(chǎng)合,利用無(wú)線通道,解決需要人工在現(xiàn)場(chǎng)更新程序的問(wèn)題,為運(yùn)行中的程序改進(jìn)提供了更高效和更簡(jiǎn)便的技術(shù)手段,節(jié)省大量的現(xiàn)場(chǎng)工程活動(dòng),并節(jié)約大量人力物力。
文檔編號(hào)G06F9/445GK202870806SQ20122056162
公開(kāi)日2013年4月10日 申請(qǐng)日期2012年10月30日 優(yōu)先權(quán)日2012年10月30日
發(fā)明者楊建 , 孫旭 申請(qǐng)人:北京同州銘遠(yuǎn)科技有限公司