專利名稱:主設(shè)備對從設(shè)備的定址系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種定址系統(tǒng)及方法,特別涉及一種主設(shè)備對從設(shè)備定址的系統(tǒng)及方法。
背景技術(shù):
隨著數(shù)字技術(shù)的發(fā)展和計算機日益廣泛的應(yīng)用,現(xiàn)在一個系統(tǒng)往往有多臺計算機組成, 需要解決多站、遠距離通信的問題。在要求通信距離為幾十米到上千米時,廣泛采用RS485 總線技術(shù)。RS485能夠?qū)崿F(xiàn)一點對多點的通信,也能實現(xiàn)多點雙向通信,但同一時刻只能有 一個發(fā)送器,其余的為接收器,即一主多從的通信方式。
RS485總線控制系統(tǒng)一般包括一主控設(shè)備即主設(shè)備及多個被控設(shè)備即從設(shè)備,其中主設(shè) 備的信息可以傳送到各個從設(shè)備或指定的從設(shè)備,從設(shè)備發(fā)送的信息只能被主設(shè)備所接收, 各從設(shè)備之間不能直接通信。為了實現(xiàn)主設(shè)備與多個從設(shè)備的通信,首先必須為每一從設(shè)備 設(shè)定一個識別地址,即ID Address。當主設(shè)備向從設(shè)備發(fā)送指令時,從設(shè)備會檢測主設(shè)備所 發(fā)送的識別地址是否與自己的識別地址一致,如果一致則執(zhí)行主設(shè)備所發(fā)送的指令,如果不 一致則不執(zhí)行主設(shè)備所發(fā)送的指令。因此,在控制系統(tǒng)中,每一從設(shè)備均擁有唯一的識別地 址,若在同一控制系統(tǒng)中,多個從設(shè)備擁有相同的識別地址,則會出現(xiàn)通信沖突問題。
一般的RS485總線控制系統(tǒng)的定址方式為采用硬件比如兩旋轉(zhuǎn)式定址開關(guān)來定址,所述 兩旋轉(zhuǎn)式定址開關(guān)以十進制形式設(shè)定RS485總線控制系統(tǒng)中的從設(shè)備的ID Address。若用戶 需將某一從設(shè)備的ID Address設(shè)定為26時,只需將對應(yīng)十位的旋轉(zhuǎn)開關(guān)旋轉(zhuǎn)到2,再將對應(yīng) 個位的旋轉(zhuǎn)開關(guān)旋轉(zhuǎn)到6即可。但是,如果RS485總線控制系統(tǒng)中包含有幾百或幾千個從設(shè)備 時,采用硬件為每一從設(shè)備定址不僅浪費時間,還有可能會造成定址錯誤。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種主設(shè)備對從設(shè)備的定址系統(tǒng)及方法,該系統(tǒng)及方法可以 省去人工定址的時間和減少人工定址上的錯誤。
一種主設(shè)備對從設(shè)備的定址系統(tǒng),包括一主設(shè)備及若干從設(shè)備,所述主設(shè)備及若干從設(shè) 備之間通過總線設(shè)備連接,所述主設(shè)備包括一廣播模塊、 一讀取模塊、 一響應(yīng)模塊、 一地址 分配模塊及一第一判斷模塊,每一從設(shè)備包括一執(zhí)行模塊及一請求模塊,所述總線設(shè)備包括 一時間分配模塊,所述主設(shè)備的廣播模塊用于向所有從設(shè)備發(fā)送指令,通知其進入定址模式 ,所述從設(shè)備的執(zhí)行模塊接收到所述廣播模塊的指令后使所述從設(shè)備進入定址模式,所述主設(shè)備的讀取模塊用于讀取所述總線設(shè)備的時間分配模塊對每一從設(shè)備所分配的響應(yīng)時間,所 述從設(shè)備的請求模塊根據(jù)其分配的響應(yīng)時間向所述主設(shè)備發(fā)送一定址請求,所述主設(shè)備的響 應(yīng)模塊用于響應(yīng)由所述從設(shè)備發(fā)送的定址請求,所述主設(shè)備的地址分配模塊用于根據(jù)每一從 設(shè)備發(fā)送的定址請求為每一從設(shè)備分配一識別地址,所述主設(shè)備的第一判斷模塊用于判斷由 所述總線設(shè)備的時間分配模塊所分配的響應(yīng)時間是否執(zhí)行完畢。
一種主設(shè)備對從設(shè)備的定址方法,應(yīng)用于一主設(shè)備對從設(shè)備的定址系統(tǒng)中,所述主設(shè)備 對從設(shè)備的定址方法包括如下步驟
主設(shè)備向所有從設(shè)備發(fā)送指令,通知所有從設(shè)備進入定址模式;
所述主設(shè)備讀取總線設(shè)備對每一從設(shè)備所分配的響應(yīng)時間;
所述從設(shè)備在其分配的響應(yīng)時間向所述主設(shè)備回應(yīng)一定址請求;
所述主設(shè)備收到從設(shè)備的定址請求后,即為所述從設(shè)備設(shè)置一識別地址;及
所述主設(shè)備判斷總線設(shè)備分配的響應(yīng)時間是否執(zhí)行完畢,如果沒有完畢則繼續(xù)等待下一 響應(yīng)時間段從設(shè)備的定址請求,如果完畢則結(jié)束定址模式。
所述主設(shè)備對從設(shè)備的定址系統(tǒng)及方法通過對每一從設(shè)備分配一定的響應(yīng)時間段來完成 對從設(shè)備的定址,不需要人工通過硬件去對從設(shè)備進行定址,既節(jié)省了定址的時間,也減少 了人工定址的錯誤。
下面結(jié)合附圖及較佳實施方式對本發(fā)明作進一步詳細描述。
圖l為本發(fā)明主設(shè)備對從設(shè)備的定址系統(tǒng)較佳實施方式的示意圖。
圖2為圖1中主設(shè)備的示意圖。
圖3為圖1中從設(shè)備的示意圖。
圖4為圖1中總線設(shè)備的示意圖。
圖5為本發(fā)明主設(shè)備對從設(shè)備的定址方法的較佳實施方式應(yīng)用于圖1中的主設(shè)備對從設(shè)備 的定址系統(tǒng)的流程圖。
具體實施例方式
請參考圖l,本發(fā)明主設(shè)備對從設(shè)備的定址系統(tǒng)的較佳實施方式包括一主設(shè)備IO、三個 從設(shè)備20、 30及40,所述主設(shè)備10與從設(shè)備20、 30及40之間通過總線設(shè)備連接。
一般生產(chǎn)廠家在其產(chǎn)品出廠時,均會對其產(chǎn)品進行編號,并且每一產(chǎn)品均具有一唯一的 編號(Serial Number)。有鑒于此,本發(fā)明主設(shè)備對從設(shè)備的定址系統(tǒng)是利用每一產(chǎn)品, 即每一從設(shè)備具有的唯一編號來對從設(shè)備進行定址。請共同參考圖2、圖3及圖4,所述主設(shè)備10為一電腦系統(tǒng),其包括一存儲器100及其他組 成元件如主板、CPU等,所述存儲器100包括一廣播(Broadcast)模塊IIO、 一讀取模塊120 、 一響應(yīng)模塊130、 一地址分配模塊140、 一第一判斷模塊150及一第二判斷模塊160。所述從 設(shè)備20、 30及40為三個PLC (可編程控制器)控制設(shè)備,其中所述從設(shè)備20包括一存儲器 200及其他組成元件如主板、CPU等,所述存儲器200包括一執(zhí)行模塊、 一請求模塊及一回饋 模塊,所述從設(shè)備30及40結(jié)構(gòu)與所述從設(shè)備20—致。所述總線設(shè)備為一RS485總線設(shè)備,其 包括一存儲器500及其他組成元件如主板等,所述存儲器500包括一時間分配模塊510。
所述主設(shè)備10的廣播模塊110用于向從設(shè)備20、 30及40發(fā)送指令,通知所有從設(shè)備進入 定址模式,所述從設(shè)備20、 30及40的執(zhí)行模塊接收到所述主設(shè)備10的廣播模塊110的指令后 使得對應(yīng)的從設(shè)備進入定址模式,所述主設(shè)備10的讀取模塊120用于讀取所述總線設(shè)備的時 間分配模塊510對每一從設(shè)備所分配的響應(yīng)時間,所述從設(shè)備20、 30及40的請求模塊根據(jù)其 分配的響應(yīng)時間向所述主設(shè)備10發(fā)送一定址請求,所述主設(shè)備10的響應(yīng)模塊l30用于響應(yīng)由 所述從設(shè)備20、 30及400發(fā)送的定址請求,所述主設(shè)備10的地址分配模塊140用于為所述從設(shè) 備20、 30及40分配一識別地址,所述主設(shè)備10的第一判斷模塊150用于判斷所述總線設(shè)備的 時間分配模塊510所分配的總時間是否執(zhí)行完畢,所述從設(shè)備20、 30及40的回饋模塊用于當 所述從設(shè)備20、 30及40接收到所述主設(shè)備10的地址分配模塊所分配的識別地址后向所述主設(shè) 備10回饋一定址成功的信號,所述主設(shè)備10的第二判斷模塊160用于根據(jù)其是否收到所述從 設(shè)備20、 30及40回饋的信號來判斷對應(yīng)的從設(shè)備是否定址成功。所述總線設(shè)備的時間分配模 塊510用于對每一編號的從設(shè)備分配一響應(yīng)時間段,在每一響應(yīng)時間段內(nèi)僅對應(yīng)編號的從設(shè) 備向所述主設(shè)備10發(fā)送請求指令。其中,所述第二判斷模塊160及所述從設(shè)備20、 30及40的 回饋模塊可以省略,即當所述從設(shè)備20、 30或40收到所述主設(shè)備10為其設(shè)置的識別地址后, 不向所述主設(shè)備10回饋定址成功的信號,所述主設(shè)備10不判斷其是否對所述從設(shè)備20、 30或 40是否定址成功。
請參考圖5,本發(fā)明主設(shè)備對從設(shè)備的定址方法應(yīng)用于圖l所示的主設(shè)備對從設(shè)備的定址 系統(tǒng)中,所述主設(shè)備對從設(shè)備的定址方法的較佳實施方式包括以下步驟
步驟S1:所述主設(shè)備10向所有從設(shè)備20、 30及40以廣播(Broadcast)的形式發(fā)送指令 ,通知所有從設(shè)備20、 30及40進入定址模式。
步驟S2:所述主設(shè)備10讀取所述RS485總線設(shè)備內(nèi)的時間分配模塊,向每一編號的從設(shè) 備分配一定的響應(yīng)時間段。
步驟S3:所述從設(shè)備20、 30或40在由所述主設(shè)備10給其分配的響應(yīng)時間段內(nèi)向所述主設(shè)備10回應(yīng)一定址請求,即要求所述主設(shè)備10為其分配一識別地址。
步驟S4:所述主設(shè)備10在收到了從設(shè)備20、 30或40的定址請求后,則所述主設(shè)備10即為 其分配一識別地址。
步驟S5:如果所述主設(shè)備10沒有收到任一從設(shè)備20、 30或40的定址請求,則判定該主設(shè) 備對從設(shè)備的定址系統(tǒng)中不存在具有該編號的從設(shè)備,并返回至步驟S3,即繼續(xù)等待下一響 應(yīng)時間段內(nèi)從設(shè)備的定址請求。
步驟S6:所述從設(shè)備在成功收到識別地址指令后,向所述主設(shè)備10回饋一定址成功的信號。
步驟S7:所述主設(shè)備10根據(jù)是否收到定址成功的信號來判斷對此從設(shè)備是否已經(jīng)定址完 畢,如果所述主設(shè)備10收到定址成功的信號,則判斷對此從設(shè)備已經(jīng)定址完畢;如果所述主 設(shè)備10沒有收到定址成功的信號,則判斷對此從設(shè)備定址失敗,并返回至步驟S4,即為所述 從設(shè)備分配一識別地址。
步驟S8:如果所述主設(shè)備10判斷對此從設(shè)備已經(jīng)定址完畢,則繼續(xù)判斷其分配的響應(yīng)時 間是否執(zhí)行完畢,如果沒有執(zhí)行完畢則返回至步驟S3,即繼續(xù)等待下一響應(yīng)時間段內(nèi)從設(shè)備 的定址請求;如果執(zhí)行完畢則結(jié)束定址模式,并開始進入下一工作模式。其中,步驟S6及 S7可以省略,即所述主設(shè)備為從設(shè)備分配識別地址后,所述從設(shè)備不向所述主設(shè)備10回饋其 定址成功的信號,所述主設(shè)備10不判斷是否對該從設(shè)備定址成功,而直接判斷其分配的響應(yīng) 時間是否執(zhí)行完畢。
下面舉一實例來對本發(fā)明主設(shè)備對從設(shè)備的定址方法進行說明。
我們假設(shè)圖1中的從設(shè)備20、 30及40為某種型號的可編程控制器,其編號分別為OOOl、 0006及000S。所述RS485總線設(shè)備的存儲器內(nèi)的時間分配程序為編號0001-0010的每一編號的 可編程控制器均分配lms的響應(yīng)時間,即編號為0001的可編程控制器的響應(yīng)時間段為0-lms, 編號為0002的可編程控制器的響應(yīng)時間段為l-2ms,依次類推,編號為0010的可編程控制器 的響應(yīng)時間段為9-10ms。
首先,所述主設(shè)備10即電腦系統(tǒng)向三臺從設(shè)備20、 30及40即三臺可編程控制器發(fā)送指令 ,通知其進入定址模式。所述三臺從設(shè)備20、 30及40在進入到定址模式后,等待所述主設(shè)備 IO為其分配的響應(yīng)時間段。在進入到定址模式后的O-lms時間段,編號為0001的從設(shè)備20向 所述主設(shè)備10發(fā)送一定址請求,要求所述主設(shè)備10為其分配一識別地址,所述主設(shè)備10在收 到所述從設(shè)備20的定址請求后,隨即設(shè)置其識別地址為"01",所述從設(shè)備20在收到該識別 地址之后,向所述主設(shè)備10回饋一定址成功的信號,所述主設(shè)備10即得判斷對所述從設(shè)備20定址完成。隨后,所述主設(shè)備10判斷其分配的響應(yīng)時間即10ms (lms*10)是否執(zhí)行完畢, 如果沒有執(zhí)行完畢,則所述主設(shè)備10繼續(xù)等待下一響應(yīng)時間段內(nèi)從設(shè)備的定址請求。
在l-2ms、 2-3ms、 3-4ms及4-5ms時間段,由于該主設(shè)備對從設(shè)備的定址系統(tǒng)中沒有包含 編號為0002、 0003、 0004及0005的從設(shè)備,所述主設(shè)備10在沒有收到編號為0002、 0003、 0004及0005的從設(shè)備的定址請求時即判斷不對編號為0002、 0003、 0004及0005的從設(shè)備設(shè)置 識別地址,并在判斷所述響應(yīng)時間沒有執(zhí)行完畢之后繼續(xù)等待下一編號的從設(shè)備的定址請求
在5-6ms時間段,編號為0006的從設(shè)備30向所述主設(shè)備10發(fā)送一定址請求,所述主設(shè)備 10即將所述從設(shè)備30的識別地址按順序設(shè)定為"02",所述從設(shè)備30收到該識別地址后向所 述主設(shè)備10回饋一定址成功的信號,所述主設(shè)備10即得判斷對所述從設(shè)備30定址完成。隨后 ,所述主設(shè)備10判斷所述響應(yīng)時間沒有執(zhí)行完畢之后繼續(xù)等待下一編號的從設(shè)備的定址請求
在6-7ms時間段,由于該主設(shè)備對從設(shè)備的定址系統(tǒng)中沒有包含編號為0007的從設(shè)備, 所述主設(shè)備10在沒有收到編號為0007的從設(shè)備的定址請求時即判斷不對編號為0007的從設(shè)備 設(shè)置識別地址。隨后,所述主設(shè)備10判斷所述響應(yīng)時間沒有執(zhí)行完畢之后繼續(xù)等待下一編號 的從設(shè)備的定址請求。
在7ms-8ms時間段,編號為0008的從設(shè)備40向所述主設(shè)備10發(fā)送一定址請求,所述主設(shè) 備10即將所述從設(shè)備40的識別地址按順序設(shè)定為"03",所述從設(shè)備40收到該識別地址后向 所述主設(shè)備10回饋一定址成功的信號,所述主設(shè)備10即得判斷對所述從設(shè)備40定址完成。隨 后,所述主設(shè)備10判斷所述響應(yīng)時間沒有執(zhí)行完畢之后繼續(xù)等待下一編號的從設(shè)備的定址請 求。
在8ms-9ms及9-10ms時間段,由于該主設(shè)備對從設(shè)備的定址系統(tǒng)中沒有包含編號為0009 及0010的從設(shè)備,所述主設(shè)備10在沒有收到編號為0009及0010的從設(shè)備的定址請求時即判斷 不對編號為0009及0010的從設(shè)備分配識別地址。
隨后,所述主設(shè)備10判斷響應(yīng)時間已經(jīng)執(zhí)行完畢后,所述主設(shè)備10即判斷定址模式執(zhí)行 結(jié)束,并開始進入下一工作模式。
上述主設(shè)備對從設(shè)備的定址系統(tǒng)及方法利用每一從設(shè)備具有唯一編號的特征,通過對 RS485總線設(shè)備中的程序進行設(shè)定,來達到對所述從設(shè)備的定址。所述主設(shè)備對從設(shè)備的定 址系統(tǒng)及方法不需要通過硬件比如旋轉(zhuǎn)式定址開關(guān)來對所述從設(shè)備進行定址,該方法可以省 去人工定址的時間和減少人工定址上的錯誤。
權(quán)利要求
權(quán)利要求1一種主設(shè)備對從設(shè)備的定址系統(tǒng),包括一主設(shè)備及若干從設(shè)備,所述主設(shè)備及若干從設(shè)備之間通過總線設(shè)備連接,其特征在于所述主設(shè)備包括一廣播模塊、一讀取模塊、一響應(yīng)模塊、一地址分配模塊及一第一判斷模塊,每一從設(shè)備包括一執(zhí)行模塊及一請求模塊,所述總線設(shè)備包括一時間分配模塊,所述主設(shè)備的廣播模塊用于向所有從設(shè)備發(fā)送指令,通知其進入定址模式,所述從設(shè)備的執(zhí)行模塊接收到所述廣播模塊的指令后使所述從設(shè)備進入定址模式,所述主設(shè)備的讀取模塊用于讀取所述總線設(shè)備的時間分配模塊對每一從設(shè)備所分配的響應(yīng)時間,所述從設(shè)備的請求模塊根據(jù)其分配的響應(yīng)時間向所述主設(shè)備發(fā)送一定址請求,所述主設(shè)備的響應(yīng)模塊用于響應(yīng)由所述從設(shè)備發(fā)送的定址請求,所述主設(shè)備的地址分配模塊用于根據(jù)每一從設(shè)備發(fā)送的定址請求為每一從設(shè)備分配一識別地址,所述主設(shè)備的第一判斷模塊用于判斷由所述總線設(shè)備的時間分配模塊所分配的響應(yīng)時間是否執(zhí)行完畢。
2.如權(quán)利要求l所述的主設(shè)備對從設(shè)備的定址系統(tǒng),其特征在于所 述主設(shè)備還包括一第二判斷模塊,每一從設(shè)備還包括一回饋模塊,所述從設(shè)備的回饋模塊用 于當所述從設(shè)備接收到所述主設(shè)備的地址分配模塊所分配的識別地址后向所述主設(shè)備回饋一 定址成功的信號,所述主設(shè)備的第二判斷模塊用于根據(jù)是否接收到由所述從設(shè)備的回饋模塊 回饋的定址成功的信號來判斷所述主設(shè)備是否對所述從設(shè)備定址成功。
3.如權(quán)利要求l所述的主設(shè)備對從設(shè)備的定址系統(tǒng),其特征在于所 述主設(shè)備為一電腦系統(tǒng)。
4.如權(quán)利要求l所述的主設(shè)備對從設(shè)備的定址系統(tǒng),其特征在于所述主設(shè)備與從設(shè)備之間采用RS485總線架構(gòu),所述總線設(shè)備為一RS485總線設(shè)備。
5.一種主設(shè)備對從設(shè)備的定址方法,應(yīng)用于權(quán)利要求l中所述的主設(shè)備對從設(shè)備的定址系統(tǒng)中,所述主設(shè)備對從設(shè)備的定址方法包括如下步驟 主設(shè)備向所有從設(shè)備發(fā)送指令,通知所有從設(shè)備進入定址模式; 所述主設(shè)備讀取總線設(shè)備對每一從設(shè)備所分配的響應(yīng)時間; 所述從設(shè)備在其分配的響應(yīng)時間向所述主設(shè)備回應(yīng)一定址請求; 所述主設(shè)備收到從設(shè)備的定址請求后,即為所述從設(shè)備設(shè)置一識別地址;及 所述主設(shè)備判斷總線設(shè)備分配的響應(yīng)時間是否執(zhí)行完畢,如果沒有完畢則繼續(xù)等待下一響應(yīng)時間段從設(shè)備的定址請求,如果完畢則結(jié)束定址模式。
6. 一種主設(shè)備對從設(shè)備的定址方法,應(yīng)用于權(quán)利要求2中所述的主設(shè)備對從設(shè)備的定址系統(tǒng)中,所述主設(shè)備對從設(shè)備的定址方法包括如下步驟 主設(shè)備向所有從設(shè)備發(fā)送指令,通知所有從設(shè)備進入定址模式; 所述主設(shè)備讀取所述總線設(shè)備對每一從設(shè)備所分配的響應(yīng)時間; 所述從設(shè)備在其分配的響應(yīng)時間向所述主設(shè)備回應(yīng)一定址請求; 所述主設(shè)備收到從設(shè)備的定址請求后,即為所述從設(shè)備設(shè)置一識別地址; 所述從設(shè)備在收到識別地址后,向所述主設(shè)備回饋一定址成功的信號; 所述主設(shè)備根據(jù)是否收到所述定址成功的信號,判斷對所述從設(shè)備定址是否完畢; 如果所述主設(shè)備沒有收到所述定址成功的信號,即判斷對所述從設(shè)備定址失敗,則所述主設(shè)備繼續(xù)為所述從設(shè)備設(shè)置一識別地址;及所述主設(shè)備判斷總線設(shè)備分配的響應(yīng)時間是否執(zhí)行完畢,如果沒有完畢則繼續(xù)等待下一響應(yīng)時間從設(shè)備的定址請求,如果完畢則結(jié)束定址模式。
全文摘要
一種主設(shè)備對從設(shè)備的定址系統(tǒng),包括一主設(shè)備及若干從設(shè)備,所述主設(shè)備通過總線設(shè)備與若干從設(shè)備相連,所述主設(shè)備包括一廣播模塊、一讀取模塊、一響應(yīng)模塊、一地址分配模塊及一第一判斷模塊,每一從設(shè)備均包括一執(zhí)行模塊及一請求模塊,所述總線設(shè)備包括一時間分配模塊。該系統(tǒng)不需要通過硬件比如旋轉(zhuǎn)式定址開關(guān)來對所述從設(shè)備進行定址,可以省去人工定址的時間和減少人工定址上的錯誤。
文檔編號G06F13/42GK101477506SQ200810300020
公開日2009年7月8日 申請日期2008年1月4日 優(yōu)先權(quán)日2008年1月4日
發(fā)明者趙國勝 申請人:鴻富錦精密工業(yè)(深圳)有限公司;鴻海精密工業(yè)股份有限公司