本發明涉及熱泵熱水應用領域,特別涉及一種熱泵熱水控制器的參數存儲方法。
背景技術:
:2016年,北京確定實施“400個村煤改清潔能源,完成3000噸左右燃煤鍋爐清潔能源改造”,嚴禁使用“燃煤采暖、直熱式電采暖設備”,鼓勵使用“低溫空氣源熱泵采暖”等能源系統,并從6月份開始陸續對13個區進行“煤改電公開招標工作”。太陽能的另一種形式就是空氣能。陽光的熱能釋放在空氣中,空氣中就存在著大量的我們不能直接利用的“低品位”的能量,如果我們把它“提取”出來轉化成熱水進行采暖,它又不需要太陽光的直射,它的安裝不受采光面的限制,這種設備就是利用空氣能的有效工具——超低溫空氣源熱泵。空氣源熱泵歐洲多年來用于采暖、制冷、制熱水方面。幾年來的運行效果證明它在制冷采暖制熱水方面,運行穩定可靠,并且節能環保。熱泵熱水控制器集多種控制功能于一體,在運行時需要設置多個參數,以達到最佳的效率。有時,設置的參數多達100多個。現有的熱泵熱水控制器采用modbus通訊協議,而儲存數據的任務由從機執行。在modbus通訊協議下,為了保證主機和從機及時能得到數據的更新,主機會定時發送用戶參數流給從機,當從機的modbus監控網絡獲取到用戶參數流時,會直接對參數流進行存儲。這樣的存儲方法對于參數較多或者存儲環境較為不穩定時容易出現問題,從而導致參數丟失或錯誤。當出現參數出錯時,熱泵熱水控制器一般會采用恢復出廠參數的方法,這樣會導致用戶參數丟失,對用戶熱泵機器的運行產生故障,甚至造成損壞。技術實現要素:本發明的目的是:提供一種可靠的參數存儲方法,解決現有熱泵熱水控制器的參數容易丟失或者錯誤的問題。本發明解決其技術問題的解決方案是:一種熱泵熱水控制器的參數存儲方法,其特征在于,包括步驟:1)從監控網絡獲取用戶參數流;2)判斷用戶參數流的參數值是否更改;3)如果參數值有更改,將所述的參數值存入儲存器中特定地址。進一步,步驟2)的判斷用戶參數流的參數值是否更改的具體方法為:將參數值求和,得到的和值與上一次存入所述特定地址的參數值求得的和值對比,如果和值相同,則判斷參數值做過更改。進一步,步驟1)中的獲取用戶參數流的方法包括以下步驟:11)收到接收用戶參數流的信號后同時開始定時復位程序,所述定時復位程序為:將一個復位時間倒計時,當再次收到接收用戶參數流信號時復位時間復位,當倒計時結束時定時復位程序結束;12)將復位時間倒計時結束前、最后一次收到的參數值傳送給步驟2)所述的判斷用戶參數流的參數值是否更改流程。進一步,參數值及其和值存儲在同一儲存空間中。進一步,用連續的儲存地址來存儲參數值及其和值,所述和值的儲存地址位于末尾。進一步,所述儲存器設有第一儲存塊和第二儲存塊,存儲步驟3)中所述的參數值及其和值存儲在第一存儲塊,第二儲存塊對第一存儲塊的數據進行備份。進一步,第一存儲塊存儲完畢后延時一段時間,第二存儲塊再對第一存儲塊的數據進行備份。進一步,步驟1)中的一段時間為100ms。進一步,所述步驟1)所述的監控網絡為modbus監控網絡。本發明的有益效果是:本方法有意識地判斷接收到的參數值有沒有更改,從而減小了參數值存儲的次數,減少了由于熱泵熱水控制器存在的環境干擾而導致參數值出現錯誤的情況,使熱泵熱水控制器的參數值得到有效存儲,為熱泵熱水控制器的運行提供可靠的依據。附圖說明為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單說明。顯然,所描述的附圖只是本發明的一部分實施例,而不是全部實施例,本領域的技術人員在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他設計方案和附圖。圖1是實施例1的存儲方法總的步驟流程圖;圖2是實施例1接收步驟的步驟流程圖;圖3是實施例1判斷步驟和儲存步驟的步驟流程圖;圖4是用戶參數流的結構示意圖。具體實施方式以下將結合實施例和附圖對本發明的構思、具體結構及產生的技術效果進行清楚、完整的描述,以充分地理解本發明的目的、特征和效果。實施例1,本實施例以modbus通訊協議作為例子對本存儲方法進行描述,但本存儲方法并不限定為modbus通訊協議,也包括其他的具有主機和從機關系的通訊協議。熱泵熱水系統在歐洲多年來用于采暖、制冷、制熱水方面。幾年來的運行效果證明它在制冷采暖制熱水方面,運行穩定可靠,并且節能環保。而熱泵熱水控制器作為熱泵熱水系統的大腦,其對系統的穩定運行起到至關重要的作用。熱泵熱水控制器分為線控器和主控器,線控器和主控器之間采用modbus通訊協議,線控器擁有人機交界面,客戶可以通過線控器發命令給主控器,主控器收到命令后對熱泵熱水系統進行控制,當熱泵熱水系統狀態有所改變時,主控器也會將該狀態信息發送給線控器。本實施例將線控器作為主機,主控器作為從機。當然,線控器和主控器的主從地位也可以調轉,為了保證熱泵熱水系統的正常運行,主控器要時刻監控modbus通訊網絡,對線控器發過來的命令及時響應。其中最主要的是監控從modbus通訊網絡傳過來的用戶參數流,所謂用戶參數流指的是用戶對熱泵熱水系統運行的參數值形成的一套數據,用戶參數流每次發送均以一套數據的形式發送,本實施例中運行的用戶參數情況詳見表1,用戶參數流的具體結構參考圖4。其中在前為:標志參數流開始的開始位,后面1、2、…、n-1、n放置用戶的參數值,最后為用于標志結束參數流結束的結束位。參數值會以順序地存儲在eeprom(electricallyerasableprogrammableread-onlymemory),電可擦可編程只讀存儲器儲存器中,為了防止數據丟失,儲存器劃出2塊相同的地址空間,分別為第一儲存塊和第二儲存塊,第二儲存塊為第一儲存塊的備份塊。參數值依次存儲在第一儲存塊中,在參數值存儲完畢后的末尾加上參數值的和值,例如如果將表1的參數值存儲在第一儲存塊中,則第一儲存塊劃出9個儲存地址,地址1存儲參數值5,地址2存儲參數值55,以此類推直接到地址9儲存為和值167,采用順序儲存的方式可以方便程序代碼的設計,只需要采用指針算法就可以對第一儲存塊進行任意的訪問,十分方便,縮減項目研發時間。第一存儲塊存儲完畢后延時一段時間,第二存儲塊再對第一存儲塊的數據進行備份。由于熱泵熱水控制器的外部環境并不穩定,在儲存過程中容易受到各種干擾,比如儲存的過程中出現緩慢掉電。因此,當第一儲存器存儲完畢后,需要延時一段時間再存儲第二儲存塊。參數名稱參數值/℃熱水回差5熱水設定溫度55制冷回差5制冷設定溫度12采暖回差5采暖設定溫度45允許電熱開啟環境溫度0回水溫度40表1參考圖1-3,以下對熱泵熱水控制器的參數存儲方法進一步描述:當熱泵熱水控制器開始運行時,主控器會經歷:接收步驟、判斷步驟和儲存步驟。其中接收步驟包括:步驟b1:每隔100ms,主控器從modus監控網絡進行掃描;步驟b2:收到用戶參數流的開始位;步驟b3:倒計時復位;步驟b4:倒計時;步驟b5:接收參數值并存入數組b;步驟b6:判斷是否收到結束位,當接收到結束位時,轉到步驟b7,當沒有接收到結束位時,轉到步驟b5;步驟b7:判斷倒計時是否結束,當倒計時結束時,轉到步驟b8,當倒計時沒有結束時,轉到步驟b1;步驟b8:將數組a=b,并輸出。全文中a和b僅為方便實施例描述而標識的變量,其結構或者類型并沒有做出限制,也不影響本儲存方法。其中判斷步驟和儲存步驟具體如下:步驟c1:收到參數值a;所述參數值a指的是從步驟b8那邊輸出過來的參數值a;步驟c2:將參數值求和并得到和值標識為a;步驟c3:調出第一儲存塊上儲存的參數值的和值標識為b;步驟c4:a是否等于b,當a等于b時,轉入步驟c5,當a不等于b時,轉入步驟c1;步驟c5:將參數值a及其和值a存入第一儲存塊;步驟c6:倒計時5s;步驟c7:倒計時是否結束,判斷5s的倒計時是否結束,當倒計時結束時,轉入步驟c8,當倒計時沒有結束,轉入步驟c6;步驟c8:第二儲存塊備份第一儲存塊的數據;其中,步驟c1-c4為判斷步驟,步驟c5-c8為儲存步驟。現在以表1中的用戶參數作為例子,對本存儲方法進行進一步介紹:用戶有一個熱泵熱水系統,該系統運行的用戶參數為表1所示的用戶參數,此時,熱泵熱水控制器中的主控器的第一儲存塊和第二儲存塊分別存儲了該用戶參數的參數值。第一儲存塊中的參數值為:e{5,55,5,12,5,45,0,40,167},其中,參數值的和值存放在數組e元素地址的末尾,第二儲存塊備份第一儲存塊的數據。用戶覺得熱水設定溫度太高和熱水回差太低,對兩個量作出修改,分別為:熱水回差:8,熱水設定溫度:50。用戶在線控器修改后,此時的參數值為:{8,50,5,12,5,45,0,40},線控器通過modbus協議向主控器發送用戶數據流,主控器通過步驟b1-b6得到b{8,50,5,12,5,45,0,40},此時,主控器等待倒計時是否結束,當倒計時結束時才進入步驟b8,否則轉入步驟b1。在接收步驟設計倒計時的好處是,由于用戶可能隨時會修改參數值,因此在接收完參數值時,需要等待一段時間,確定該參數值用戶不會再做修改,才做下一步動作,這樣有利于保證接收準確的參數值。當用戶已經確定不修改參數值時即倒計時結束時,將數組b賦值給數組a,即:a{8,50,5,12,5,45,0,40}。進入判斷步驟,得到數組a,并將a內的參數值求和得到165,標識為a。主控器調出存儲在第一儲存塊上的參數值的和,即調出數組e最后一個元素167,標識為b。然后將a與b對比,發現a不等于b,則說明參數值有修改,進入存儲步驟,如果是相等,則結束。在對用戶參數的參數值進行存儲前,對參數值預先判斷,可以減少參數值儲存的次數,有意識地不儲存沒有修改的參數值。因為,熱泵熱水控制器的參數值的種類很多,而且熱泵熱水控制器身處的環境干擾很大,如此數據在傳輸過程中容易出現錯誤的情況,因此,主控器端在對參數值儲存前會對收到的參數值進行判斷而排除數據在傳輸過程中出錯的情況。進入儲存步驟,將a和a存入第一儲存塊的e中,即此時第一儲存塊的數組e{8,50,5,12,5,45,0,40,165}。為了保護用戶參數的完整,因此,在第一儲存塊存儲完畢后,延時5s,第二儲存塊才對第一儲存塊進行備份。這樣做的好處是:由于熱泵熱水控制器會出現一種緩慢掉電的情況,所謂緩慢掉電就是:當發生掉電時,控制器不會馬上關機,而會慢慢電壓降低,出現這種情況是由于熱泵熱水控制器的硬件結構決定。當參數值正在存儲時,如果此刻出現緩慢掉電時,電壓慢慢降低,由于電壓降低了,存儲的質量不佳,第一儲存塊出現錯誤,但是,此時電壓依然能供控制器繼續工作,如果此時第二儲存塊馬上對第一儲存塊進行備份的話,第二儲存塊的參數值就會被擦除從而導致第二儲存塊內的備份用戶數據丟失。因此,第二儲存塊在備份第一儲存塊前會等待一段時間,減少因緩慢掉電而導致用戶數據丟失的概率。該存儲方法還包括從儲存塊讀取參數值的過程,讀過程的步驟為:先讀第一儲存塊的參數值,然后對參數值進行求和得到和值標識為k,然后再讀位于參數值末尾的和值標識為k,將k和k進行對比,如果k=k,則第一儲存塊的參數值有效。如果k不等于k,則再讀取第二儲存塊。這樣的做法可以更加準確和高效地讀取參數值。以上對本發明的較佳實施方式進行了具體說明,但本發明創造并不限于所述實施例。當前第1頁12