自動(dòng)分址方法、顯示終端和模塊終端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及空調(diào)器領(lǐng)域,具體而言,涉及一種自動(dòng)分址方法、顯示終端和模塊終端。
【背景技術(shù)】
[0002]對(duì)于模塊化的空調(diào)冷水機(jī)組,控制系統(tǒng)中各模塊之間采用撥碼開關(guān)來進(jìn)行地址區(qū)分,出廠時(shí)撥碼開關(guān)撥的地址都一樣,在安裝調(diào)試時(shí)人工進(jìn)行地址的撥碼。
[0003]通常撥碼開關(guān)表示的是二進(jìn)制碼,需要安裝調(diào)試人員會(huì)利用二進(jìn)制碼來調(diào)節(jié)撥碼開關(guān),但是調(diào)試人員的參差不齊,有時(shí)會(huì)因?yàn)閾艽a漏撥或撥錯(cuò)導(dǎo)致機(jī)組出現(xiàn)通訊故障。
[0004]針對(duì)上述的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種自動(dòng)分址方法、顯示終端和模塊終端,以至少解決由于人工調(diào)試時(shí)撥碼漏撥或撥錯(cuò)導(dǎo)致機(jī)組出現(xiàn)通訊故障的技術(shù)問題。
[0006]根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種自動(dòng)分址方法,包括:至少兩個(gè)模塊終端與顯示終端通過無主從的CAN總線通信,所述方法包括:模塊終端在監(jiān)聽完所述顯示終端發(fā)送的一輪地址分配數(shù)據(jù)后,根據(jù)所述地址分配數(shù)據(jù)為其分配地址,得到目標(biāo)地址;所述模塊終端向所述總線發(fā)送所述目標(biāo)地址,以供所述顯示終端進(jìn)行地址驗(yàn)證;所述模塊終端監(jiān)聽所述顯示終端發(fā)送的確認(rèn)請(qǐng)求;如果監(jiān)聽到所述確認(rèn)請(qǐng)求,則將所述目標(biāo)地址作為其自身的地址;如果沒有監(jiān)聽到所述確認(rèn)請(qǐng)求,則返回在監(jiān)聽完所述顯示終端發(fā)送的一輪地址分配數(shù)據(jù)后根據(jù)所述地址分配數(shù)據(jù)為其分配地址的步驟。
[0007]根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種自動(dòng)分址方法,包括:至少兩個(gè)模塊終端與顯示終端通過無主從的CAN總線通信,所述方法包括:所述顯示終端向所述總線發(fā)送一輪地址分配數(shù)據(jù)后,通過所述總線獲取模塊終端發(fā)送的響應(yīng)數(shù)據(jù),其中,所述響應(yīng)數(shù)據(jù)攜帶目標(biāo)模塊終端為其自身分配的目標(biāo)地址,所述目標(biāo)模塊終端為所述至少兩個(gè)模塊中的任意一個(gè)終端;所述顯示終端根據(jù)獲取到的響應(yīng)數(shù)據(jù)驗(yàn)證所述目標(biāo)模塊終端是否成功分配地址;在所述目標(biāo)模塊終端的地址分配成功的情況下,所述顯示終端根據(jù)所述目標(biāo)地址發(fā)送分配成功的指示信息;在所述目標(biāo)模塊終端的地址分配失敗的情況下,返回所述顯示終端向所述總線發(fā)送一輪地址分配數(shù)據(jù)的步驟。
[0008]根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種模塊終端,包括至少兩個(gè)模塊終端與顯示終端通過無主從的CAN總線通信,所述模塊終端包括:分配單元,用于在監(jiān)聽完所述顯示終端發(fā)送的一輪地址分配數(shù)據(jù)后,根據(jù)所述地址分配數(shù)據(jù)為其分配地址,得到目標(biāo)地址;第一地址發(fā)送單元,用于向所述總線發(fā)送所述目標(biāo)地址,以供所述顯示終端進(jìn)行地址驗(yàn)證;第一監(jiān)聽單元,用于監(jiān)聽所述顯示終端發(fā)送的確認(rèn)請(qǐng)求;確定單元,用于在監(jiān)聽到所述確認(rèn)請(qǐng)求時(shí),將所述目標(biāo)地址作為其自身的地址;第一調(diào)用單元,用于在沒有監(jiān)聽到所述確認(rèn)請(qǐng)求時(shí),調(diào)用所述分配單元。
[0009]根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種顯示終端,至少兩個(gè)模塊終端與顯示終端通過無主從的CAN總線通信,所述顯示終端包括:獲取單元,用于向所述總線發(fā)送一輪地址分配數(shù)據(jù)后,通過所述總線獲取模塊終端發(fā)送的響應(yīng)數(shù)據(jù),其中,所述響應(yīng)數(shù)據(jù)攜帶目標(biāo)模塊終端為其自身分配的目標(biāo)地址,所述目標(biāo)模塊終端為所述至少兩個(gè)模塊中的任意一個(gè)終端;驗(yàn)證單元,用于根據(jù)獲取到的響應(yīng)數(shù)據(jù)驗(yàn)證所述目標(biāo)模塊終端是否成功分配地址;指示發(fā)送單元,用于在所述目標(biāo)模塊終端的地址分配成功的情況下,所述顯示終端根據(jù)所述目標(biāo)地址發(fā)送分配成功的指示信息;數(shù)據(jù)調(diào)用單元,用于在所述目標(biāo)模塊終端的地址分配失敗的情況下,調(diào)用所述獲取單元。
[0010]在本發(fā)明實(shí)施例中,采用模塊終端在監(jiān)聽完顯示終端發(fā)送的一輪地址分配數(shù)據(jù)后,根據(jù)地址分配數(shù)據(jù)為其分配地址,得到目標(biāo)地址;模塊終端向總線發(fā)送目標(biāo)地址,以供顯示終端進(jìn)行地址驗(yàn)證;模塊終端監(jiān)聽顯示終端發(fā)送的確認(rèn)請(qǐng)求;如果監(jiān)聽到確認(rèn)請(qǐng)求,則將目標(biāo)地址作為其自身的地址;如果沒有監(jiān)聽到確認(rèn)請(qǐng)求,則返回在監(jiān)聽完顯示終端發(fā)送的一輪地址分配數(shù)據(jù)后根據(jù)地址分配數(shù)據(jù)為其分配地址的步驟的方式,解決了由于人工調(diào)試時(shí)撥碼漏撥或撥錯(cuò)導(dǎo)致機(jī)組出現(xiàn)通訊故障的技術(shù)問題。
【附圖說明】
[0011]此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0012]圖1是根據(jù)本發(fā)明實(shí)施例的控制系統(tǒng)的示意圖;
[0013]圖2是根據(jù)本發(fā)明實(shí)施例1的自動(dòng)分址方法的流程圖;
[0014]圖3是根據(jù)本發(fā)明實(shí)施例1優(yōu)選的自動(dòng)分址方法的流程圖;
[0015]圖4是根據(jù)本發(fā)明實(shí)施例2的自動(dòng)分址方法的流程圖;
[0016]圖5是根據(jù)本發(fā)明實(shí)施例2優(yōu)選的自動(dòng)分址方法的流程圖;
[0017]圖6是根據(jù)本發(fā)明實(shí)施例3的模塊終端的示意圖;
[0018]圖7是根據(jù)本發(fā)明實(shí)施例4的顯示終端的示意圖。
【具體實(shí)施方式】
[0019]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0020]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0021]實(shí)施例1
[0022]根據(jù)本發(fā)明實(shí)施例,提供了一種自動(dòng)分址方法的方法實(shí)施例,該自動(dòng)分址方法可以應(yīng)用在如圖1所示的控制系統(tǒng)中。如圖1所示,至少兩個(gè)模塊終端與顯示終端通過無主從的CAN總線進(jìn)行通訊,一個(gè)模塊發(fā)出的數(shù)據(jù)能同時(shí)被該CAN總線中的其他模塊接收。因此,當(dāng)顯示終端向總線發(fā)送數(shù)據(jù)時(shí),模塊終端都會(huì)監(jiān)聽到該數(shù)據(jù)并進(jìn)行回復(fù)。同時(shí),一個(gè)模塊終端發(fā)出的數(shù)據(jù)也會(huì)被其他模塊終端監(jiān)聽到。該實(shí)施例就是根據(jù)CAN總線的上述原理,多個(gè)模塊終端都回復(fù)顯示終端發(fā)送的地址分配數(shù)據(jù),每個(gè)模塊終端回復(fù)的延時(shí)時(shí)間可以通過隨機(jī)數(shù)來決定,顯示終端根據(jù)延時(shí)時(shí)間的時(shí)間差來錯(cuò)開各個(gè)模塊終端的回復(fù)數(shù)據(jù),從而實(shí)現(xiàn)了地址分配。
[0023]隨機(jī)數(shù)產(chǎn)生說明:由于不同模塊終端上使用的晶振個(gè)體是有差異的,每個(gè)晶振之間都有一定的基準(zhǔn)頻率偏差,使用晶振時(shí)鐘產(chǎn)生的累加數(shù)就會(huì)隨著時(shí)間的增加而有區(qū)別,使用時(shí)鐘累加變量作為產(chǎn)生偽隨機(jī)數(shù)的種子就使同一程序在不同的模塊終端上獲取的偽隨機(jī)數(shù)的沖突概率較小,而且隨著時(shí)間的不斷向前推移,獲取的偽隨機(jī)數(shù)的沖突概率也越來越小,也就是多個(gè)模塊終端之間采用相同延時(shí)時(shí)間的概率較小,能夠快速為多個(gè)模塊終端分配地址。
[0024]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。實(shí)施例1中的步驟可以由模塊終端來執(zhí)行。
[0025]圖2是根據(jù)本發(fā)明實(shí)施例1的自動(dòng)分址方法的流程圖,如圖2所示,該方法包括如下步驟:
[0026]步驟S202,模塊終端在監(jiān)聽完顯示終端發(fā)送的一輪地址分配數(shù)據(jù)后,根據(jù)地址分配數(shù)據(jù)為其分配地址,得到目標(biāo)地址。
[0027]步驟S204,模塊終端向總線發(fā)送目標(biāo)地址,以供顯示終端進(jìn)行地址驗(yàn)證。
[0028]步驟S206,模塊終端監(jiān)聽顯示終端發(fā)送的確認(rèn)請(qǐng)求。
[0029]步驟S208,如果監(jiān)聽到確認(rèn)請(qǐng)求,則將目標(biāo)地址作為其自身的地址。如果沒有監(jiān)聽到確認(rèn)請(qǐng)求,則返回在監(jiān)聽完顯示終端發(fā)送的一輪地址分配數(shù)據(jù)后根據(jù)地址分配數(shù)據(jù)為其分配地址的步驟。
[0030]模塊終端能夠通過CAN總線監(jiān)聽到顯示終端發(fā)送給所有模塊終端的地址分配數(shù)據(jù),模塊終端在監(jiān)聽到顯示終端完成一輪地址分配數(shù)據(jù)的發(fā)送后,從沒有被占用的地址中查找最小的地址作為目標(biāo)地址。由于模塊終端能夠通過CAN總線監(jiān)聽到所有經(jīng)過該CAN總線傳輸?shù)臄?shù)據(jù),也包括其他模塊發(fā)送給顯示終端的地址,因此,模塊終端能夠分辨哪些地址已經(jīng)占用,哪些地址沒有被占用,并從沒有被占用的地址中選擇一個(gè)最小的一個(gè)作為自己的地址,得到目標(biāo)地址。模塊終端所采用的地址可以是二進(jìn)制數(shù)字編碼,可以根據(jù)CAN總線上連接的模塊終端的數(shù)量來分配二進(jìn)制數(shù)字編碼的位數(shù)。即可選地,模塊終端在監(jiān)聽完顯示終端發(fā)送的一輪地址分配數(shù)據(jù)后,根據(jù)地址分配數(shù)據(jù)為其分配地址,得到目標(biāo)地址包括:模塊終端監(jiān)聽總線中傳輸?shù)囊颜加玫刂返臄?shù)據(jù);模塊終端根據(jù)已占用地址的數(shù)據(jù)從地址分配數(shù)據(jù)中查找未被使用的最小地址;模塊終端將查找到的地址作為目標(biāo)地址。
[0031 ] 在模塊終端為自己分配完地址之后,將分配的地址發(fā)送到CAN總線,這樣CAN總線中的所有模塊終端和顯示終端都能夠收到該地址。顯示終端對(duì)該地址進(jìn)行驗(yàn)證,以避免與其他模塊終端的地址產(chǎn)生重復(fù)或者沖突,也能夠使其他模塊終端在選擇地址避開該模塊終端已經(jīng)選擇的地址。顯示終端驗(yàn)證目標(biāo)地址與其他模塊的地址不重復(fù)時(shí),發(fā)出確認(rèn)請(qǐng)求以便模塊終端知道其是否成功分配地址。如果根據(jù)確認(rèn)請(qǐng)求指導(dǎo)模塊終端的地址分配成功,則將目標(biāo)地址作為其自身的地址,否則,重新監(jiān)測顯示終端發(fā)出的下一輪地址分配數(shù)據(jù),重新獲取分配數(shù)據(jù)并進(jìn)行驗(yàn)證,直到其成功分配地址。顯示終端向CAN總線發(fā)送多次地址分配數(shù)據(jù),發(fā)送的次數(shù)與模塊終端的個(gè)數(shù)相同,當(dāng)向所有的模塊終端都發(fā)送地址分配數(shù)據(jù)后,一輪地址分配數(shù)據(jù)發(fā)送完成。
[0032]在該實(shí)施例中,根據(jù)無主從CAN總線的數(shù)據(jù)可以由多個(gè)終端同時(shí)接收的原理,使得每個(gè)模塊終端為自己分配地址,并且使其他模塊終端知道哪些地址已經(jīng)被占用,實(shí)現(xiàn)了自動(dòng)分配地址,同時(shí),采用顯示終端和模塊終端對(duì)模塊終端分配的地址進(jìn)行驗(yàn)證以保證模塊終端分配地址的準(zhǔn)確性,從而解決了現(xiàn)有技術(shù)中由于人工調(diào)試時(shí)撥碼漏撥或撥錯(cuò)導(dǎo)致機(jī)組出現(xiàn)通訊故障的技術(shù)問題,進(jìn)而達(dá)到了準(zhǔn)確分址避免通訊故障的技術(shù)效果。
[0033]以圖1為例進(jìn)行說明。
[0034]顯示終端A向模塊終端B1、模塊終端B2、……模塊終端Bn分別發(fā)送地址分配數(shù)據(jù),當(dāng)模塊終端B1監(jiān)聽到所有的地址分配數(shù)據(jù)都發(fā)送完畢之后,模塊終端B1為自己分配地址。如果CAN總線中傳輸有模塊終端B2的地址,則模塊終端B1在監(jiān)聽到模塊終端B2的已占用地址的信息,在分配地址時(shí)會(huì)避開從模塊終端B2的地址,從而避免了與模塊終端B2的地址相同而造成沖突。
[0035]顯示終端A從CAN總線中接收到每個(gè)模塊終端發(fā)送的地址,并驗(yàn)證是否有重復(fù)的地址,在沒有重復(fù)的地址的情況下確定該輪地址分配成功,否則該輪地址分配失敗,重新進(jìn)行下一輪的地址分