麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法、從節(jié)點設(shè)備與通信系統(tǒng)與流程

文檔序號:12492058閱讀:678來源:國知局
Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法、從節(jié)點設(shè)備與通信系統(tǒng)與流程

本發(fā)明涉及通信網(wǎng)絡(luò)領(lǐng)域,尤其涉及一種Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法、從節(jié)點設(shè)備與通信系統(tǒng)。



背景技術(shù):

Modbus是一種串行通訊協(xié)議,以其協(xié)議簡單、實施容易、性價比高、可靠性好等優(yōu)點而獲得了越來越廣發(fā)的應(yīng)用,成為工業(yè)領(lǐng)域通信協(xié)議標(biāo)準(zhǔn),并且是工業(yè)電子設(shè)備之間相對常壓的連接方式。

Modbus網(wǎng)絡(luò)是一個主/從結(jié)構(gòu)的網(wǎng)絡(luò),其中有一個節(jié)點是主節(jié)點,其他使用Modbus協(xié)議參與通信的節(jié)點是從節(jié)點,該網(wǎng)絡(luò)中每一個從節(jié)點設(shè)備都有一個唯一的地址。

在網(wǎng)絡(luò)中,只有被指定為主節(jié)點的節(jié)點可以啟動一個命令,每一個Modbus命令都包含了打算執(zhí)行的節(jié)點的設(shè)備地址并以廣播的方式向網(wǎng)絡(luò)中各從節(jié)點發(fā)布,各從節(jié)點需要根據(jù)命令中包含的設(shè)備地址判斷是否需要執(zhí)行。因此,Modbus網(wǎng)絡(luò)中各從節(jié)點的地址設(shè)定就顯得尤為重要。

現(xiàn)有技術(shù)通過人工手動逐個地設(shè)置從機地址(如設(shè)置每臺從機的拔碼開關(guān)等方式),這樣做會需要專業(yè)人員操作從而增加系統(tǒng)成本且效率低下。



技術(shù)實現(xiàn)要素:

針對上述問題,本發(fā)明的目的在于提供一種Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法、從節(jié)點設(shè)備與通信系統(tǒng),自動化地設(shè)置從機地址,提高設(shè)置從機的網(wǎng)絡(luò)地址的效率,減小系統(tǒng)成本。

為了實現(xiàn)上述目的,本發(fā)明一方面提供了一種Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法,包括:

從節(jié)點設(shè)備接收主節(jié)點設(shè)備發(fā)送的合法地址分配指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址是否合法;其中,任一從節(jié)點設(shè)備的原始網(wǎng)絡(luò)地址屬于非法網(wǎng)絡(luò)地址;

從節(jié)點設(shè)備在判定本設(shè)備的網(wǎng)絡(luò)地址非法時進(jìn)入延時搶占過程;其中,所述延時搶占過程的時長預(yù)先配置,且不同的從節(jié)點設(shè)備所配置的延時搶占過程的時長不同;

當(dāng)在所述延時搶占過程中從節(jié)點設(shè)備沒有接收到其他從節(jié)點設(shè)備發(fā)送的分配成功通知消息時,所述從節(jié)點設(shè)備響應(yīng)于所述延時搶占過程結(jié)束將本設(shè)備的地址設(shè)定為所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,并向所述主節(jié)點設(shè)備以及其他從節(jié)點設(shè)備發(fā)送所述分配成功通知消息。

優(yōu)選地,所述合法地址分配指令包括第一地址分配指令;所述第一地址分配指令為所述主節(jié)點設(shè)備按照一定的時間間隔發(fā)送到各個從節(jié)點設(shè)備,且所述第一地址分配指令所記載的網(wǎng)絡(luò)地址為未被分配的合法網(wǎng)絡(luò)地址。

優(yōu)選地,所述合法地址分配指令還包括第二地址分配指令;所述第二地址分配指令為所述主節(jié)點設(shè)備在檢測到有至少兩個從節(jié)點設(shè)備的網(wǎng)絡(luò)地址沖突時發(fā)送到各個從節(jié)點設(shè)備,且所述第二地址分配指令所記載的網(wǎng)絡(luò)地址為產(chǎn)生沖突的網(wǎng)絡(luò)地址;

所述方法還包括:

從節(jié)點設(shè)備在判定本設(shè)備的網(wǎng)絡(luò)地址合法時,判斷本設(shè)備的網(wǎng)絡(luò)地址與所述合法地址分配指令所記載的網(wǎng)絡(luò)地址是否相同,并在相同時進(jìn)入延時搶占過程;

當(dāng)在所述延時搶占過程中從節(jié)點設(shè)備接收到其他從節(jié)點設(shè)備發(fā)送的分配成功通知消息時,從節(jié)點設(shè)備判斷本設(shè)備的網(wǎng)絡(luò)地址與所述合法地址分配指令所記載的網(wǎng)絡(luò)地址是否相同,并在相同時將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為非法網(wǎng)絡(luò)地址。

優(yōu)選地,所述方法還包括:

從節(jié)點設(shè)備接收主節(jié)點設(shè)備發(fā)送的地址沖突調(diào)整指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址與產(chǎn)生沖突的網(wǎng)絡(luò)地址是否相同;所述地址沖突調(diào)整指令為所述主節(jié)點設(shè)備在檢測到有至少兩個從節(jié)點設(shè)備的網(wǎng)絡(luò)地址沖突時發(fā)送到各個從節(jié)點設(shè)備;所述地址沖突調(diào)整指令中記載了所述產(chǎn)生沖突的網(wǎng)絡(luò)地址;

從節(jié)點設(shè)備在判定本設(shè)備的網(wǎng)絡(luò)地址與所述產(chǎn)生沖突的網(wǎng)絡(luò)地址相同時,將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為非法網(wǎng)絡(luò)地址。

優(yōu)選地,所述方法還包括:

從節(jié)點設(shè)備在上電時獲取其唯一物理編號;

從節(jié)點設(shè)備根據(jù)所述唯一物理編號以及預(yù)先配置的統(tǒng)一算法計算所述延時搶占過程的時長并存儲起來。

優(yōu)選地,所述方法還包括:

從節(jié)點設(shè)備獲取用戶輸入的網(wǎng)絡(luò)地址設(shè)定指令;

從節(jié)點設(shè)備將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為所述網(wǎng)絡(luò)地址設(shè)定指令所要求設(shè)定的網(wǎng)絡(luò)地址。

本發(fā)明實施例另一方面還提供一種Modbus通信網(wǎng)絡(luò)中的從節(jié)點設(shè)備,包括:

分配指令接收模塊,用于接收主節(jié)點設(shè)備發(fā)送的合法地址分配指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址是否合法;其中,任一從節(jié)點設(shè)備的原始網(wǎng)絡(luò)地址屬于非法網(wǎng)絡(luò)地址;

第一判定模塊,用于在判定本設(shè)備的網(wǎng)絡(luò)地址非法時進(jìn)入延時搶占過程;其中,所述延時搶占過程的時長預(yù)先配置,且不同的從節(jié)點設(shè)備所配置的延時搶占過程的時長不同;

第一地址設(shè)定模塊,用于當(dāng)在所述延時搶占過程中從節(jié)點設(shè)備沒有接收到其他從節(jié)點設(shè)備發(fā)送的分配成功通知消息時,所述從節(jié)點設(shè)備響應(yīng)于所述延時搶占過程結(jié)束將本設(shè)備的地址設(shè)定為所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,并向所述主節(jié)點設(shè)備以及其他從節(jié)點設(shè)備發(fā)送所述分配成功通知消息。

優(yōu)選地,所述合法地址分配指令包括第一地址分配指令;所述第一地址分配指令為所述主節(jié)點設(shè)備按照一定的時間間隔發(fā)送到各個從節(jié)點設(shè)備,且所述第一地址分配指令所記載的網(wǎng)絡(luò)地址為未被分配的合法網(wǎng)絡(luò)地址。

優(yōu)選地,所述合法地址分配指令還包括第二地址分配指令;所述第二地址分配指令為所述主節(jié)點設(shè)備在檢測到有至少兩個從節(jié)點設(shè)備的網(wǎng)絡(luò)地址沖突時發(fā)送到各個從節(jié)點設(shè)備,且所述第二地址分配指令所記載的網(wǎng)絡(luò)地址為產(chǎn)生沖突的網(wǎng)絡(luò)地址;

所述從節(jié)點設(shè)備還包括:

第二判定模塊,用于在判定本設(shè)備的網(wǎng)絡(luò)地址合法時,判斷本設(shè)備的網(wǎng)絡(luò)地址與所述合法地址分配指令所記載的網(wǎng)絡(luò)地址是否相同,并在相同時進(jìn)入延時搶占過程;

第二設(shè)定模塊,用于當(dāng)在所述延時搶占過程中接收到其他從節(jié)點設(shè)備發(fā)送的分配成功通知消息時,判斷本設(shè)備的網(wǎng)絡(luò)地址與所述合法地址分配指令所記載的網(wǎng)絡(luò)地址是否相同,并在相同時將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為非法網(wǎng)絡(luò)地址。

優(yōu)選地,所述從節(jié)點設(shè)備還包括:

調(diào)整指令接收模塊,用于接收主節(jié)點設(shè)備發(fā)送的地址沖突調(diào)整指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址與產(chǎn)生沖突的網(wǎng)絡(luò)地址是否相同;所述地址沖突調(diào)整指令為所述主節(jié)點設(shè)備在檢測到有至少兩個從節(jié)點設(shè)備的網(wǎng)絡(luò)地址沖突時發(fā)送到各個從節(jié)點設(shè)備;所述地址沖突調(diào)整指令中記載了所述產(chǎn)生沖突的網(wǎng)絡(luò)地址;

從節(jié)點設(shè)備在判定本設(shè)備的網(wǎng)絡(luò)地址與所述產(chǎn)生沖突的網(wǎng)絡(luò)地址相同時,將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為非法網(wǎng)絡(luò)地址。

優(yōu)選地,所述從節(jié)點設(shè)備還包括:

物理編號獲取模塊,用于在上電時獲取其唯一物理編號;

時長計算模塊,用于根據(jù)所述唯一物理編號以及預(yù)先配置的統(tǒng)一算法計算所述延時搶占過程的時長并存儲起來。

優(yōu)選地,所述從節(jié)點設(shè)備還包括:

設(shè)定指令獲取模塊,用于獲取用戶輸入的網(wǎng)絡(luò)地址設(shè)定指令;

第四地址設(shè)定模塊,用于從節(jié)點設(shè)備將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為所述網(wǎng)絡(luò)地址設(shè)定指令所要求設(shè)定的網(wǎng)絡(luò)地址。

本發(fā)明實施例還提供一種Modbus通信系統(tǒng),包括主節(jié)點設(shè)備以及若干個第一方面所述的從節(jié)點設(shè)備。

相比于現(xiàn)有技術(shù),本發(fā)明實施例的有益效果在于:本發(fā)明實施例提供了一種Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法、從節(jié)點設(shè)備與通信系統(tǒng),其中方法包括:從節(jié)點設(shè)備接收主節(jié)點設(shè)備發(fā)送的合法地址分配指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址是否合法;從節(jié)點設(shè)備在判定本設(shè)備的網(wǎng)絡(luò)地址非法時進(jìn)入延時搶占過程;當(dāng)在所述延時搶占過程中從節(jié)點設(shè)備沒有接收到其他從節(jié)點設(shè)備發(fā)送的分配成功通知消息時,所述從節(jié)點設(shè)備響應(yīng)于所述延時搶占過程結(jié)束將本設(shè)備的地址設(shè)定為所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,并向所述主節(jié)點設(shè)備以及其他從節(jié)點設(shè)備發(fā)送所述分配成功通知消息。在本發(fā)明實施例中,不同的從節(jié)點設(shè)備所配置的延時搶占過程的時長不同,使得延時搶占過程的時長最短的從節(jié)點設(shè)備首先“搶占”所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,將本設(shè)備的地址設(shè)定為所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,并向所述主節(jié)點設(shè)備以及其他從節(jié)點設(shè)備發(fā)送所述分配成功通知消息,使得有且只有一臺從節(jié)點設(shè)備能“搶占”到所述合法地址分配指令所記載的網(wǎng)絡(luò)地址。本發(fā)明實施例能夠自動化地設(shè)置從機地址,無需人工逐一設(shè)置,在有新的從節(jié)點設(shè)備接入時自動分配網(wǎng)絡(luò)地址使從節(jié)點設(shè)備快速加入到總線中,大大地提高設(shè)置從機的網(wǎng)絡(luò)地址的效率,減小系統(tǒng)成本。

附圖說明

為了更清楚地說明本發(fā)明的技術(shù)方案,下面將對實施方式中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施方式,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實施例提供的一種Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法的流程示意圖;

圖2是本發(fā)明實施例提供的一種Modbus通信網(wǎng)絡(luò)中的從節(jié)點設(shè)備10的結(jié)構(gòu)框圖;

圖3是本發(fā)明實施例提供的一種Modbus通信系統(tǒng)的結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。

請參閱圖1,其是本發(fā)明實施例提供的一種Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法的流程示意圖。所述Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法包括步驟S11~S13:

S11,從節(jié)點設(shè)備接收主節(jié)點設(shè)備發(fā)送的合法地址分配指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址是否合法;其中,任一從節(jié)點設(shè)備的原始網(wǎng)絡(luò)地址屬于非法網(wǎng)絡(luò)地址;

所述原始網(wǎng)絡(luò)地址是指從節(jié)點設(shè)備的默認(rèn)網(wǎng)絡(luò)地址,即從節(jié)點設(shè)備在第一次接入到Modbus通信網(wǎng)絡(luò)中所具有的網(wǎng)絡(luò)地址。由于任一從節(jié)點設(shè)備的原始網(wǎng)絡(luò)地址屬于非法網(wǎng)絡(luò)地址,即任一從節(jié)點設(shè)備在第一次接入到Modbus通信網(wǎng)絡(luò)中所具有的網(wǎng)絡(luò)地址都是非法的,需要按照本方法重新設(shè)定為合法網(wǎng)絡(luò)地址,因而本方法可以為新接入的從節(jié)點設(shè)備自動地分配網(wǎng)絡(luò)地址使從節(jié)點設(shè)備快速加入到總線中。

需要說明的是,這里所述的網(wǎng)絡(luò)地址的合法與非法是在通信協(xié)議中約定好的。例如,可以約定網(wǎng)絡(luò)地址范圍為【01H,F(xiàn)7H】之間的地址都屬于合法網(wǎng)絡(luò)地址,所有的合法網(wǎng)絡(luò)地址組成合法網(wǎng)絡(luò)地址群,則該范圍以外的地址都屬于非法網(wǎng)絡(luò)地址。主節(jié)點設(shè)備按照上述約定在合法地址分配指令中配置一個合法網(wǎng)絡(luò)地址,從節(jié)點設(shè)備也按照上述約定判斷本設(shè)備的網(wǎng)絡(luò)地址是否合法。

S12,從節(jié)點設(shè)備在判定本設(shè)備的網(wǎng)絡(luò)地址非法時進(jìn)入延時搶占過程;其中,所述延時搶占過程的時長預(yù)先配置,且不同的從節(jié)點設(shè)備所配置的延時搶占過程的時長不同;

其中,所述延時搶占過程的時長配置方法可以是預(yù)先逐一配置的。

為了提高配置效率,在本實施例中所述延時搶占過程的時長配置方法采用以下的方式:

從節(jié)點設(shè)備在上電時獲取其唯一物理編號;

從節(jié)點設(shè)備根據(jù)所述唯一物理編號以及預(yù)先配置的統(tǒng)一算法計算所述延時搶占過程的時長并存儲起來。

由于從節(jié)點設(shè)備能夠很容易就獲取得到本設(shè)備的唯一物理編號,那么只需要在從節(jié)點設(shè)備內(nèi)部寫入統(tǒng)一算法,從節(jié)點設(shè)備就能自動根據(jù)唯一物理編號以及統(tǒng)一算法來計算出本設(shè)備所對應(yīng)的延時搶占過程的時長。此外,不同的從節(jié)點設(shè)備的唯一物理編號是唯一的,不同的從節(jié)點設(shè)備通過統(tǒng)一算法計算出來的延時搶占過程的時長也不同。

S13,當(dāng)在所述延時搶占過程中從節(jié)點設(shè)備沒有接收到其他從節(jié)點設(shè)備發(fā)送的分配成功通知消息時,所述從節(jié)點設(shè)備響應(yīng)于所述延時搶占過程結(jié)束將本設(shè)備的地址設(shè)定為所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,并向所述主節(jié)點設(shè)備以及其他從節(jié)點設(shè)備發(fā)送所述分配成功通知消息。

由于每個從節(jié)點設(shè)備都會經(jīng)歷延時搶占過程,并且不同的從節(jié)點設(shè)備所經(jīng)歷的時長不同,那么延時搶占過程的時長最短的從節(jié)點設(shè)備首先“搶占”所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,將本設(shè)備的地址設(shè)定為所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,并向所述主節(jié)點設(shè)備以及其他從節(jié)點設(shè)備發(fā)送所述分配成功通知消息,使得有且只有一臺從節(jié)點設(shè)備能“搶占”到所述合法地址分配指令所記載的網(wǎng)絡(luò)地址。

優(yōu)選地,所述合法地址分配指令包括第一地址分配指令;所述第一地址分配指令為所述主節(jié)點設(shè)備按照一定的時間間隔發(fā)送到各個從節(jié)點設(shè)備,且所述第一地址分配指令所記載的網(wǎng)絡(luò)地址為未被分配的合法網(wǎng)絡(luò)地址。

需要說明的是,這里所述的未被分配的合法網(wǎng)絡(luò)地址,是指在當(dāng)前沒有任何一臺從節(jié)點設(shè)備占用的網(wǎng)絡(luò)地址。在步驟S13中,主節(jié)點設(shè)備接收到從節(jié)點設(shè)備發(fā)送的分配成功通知消息,并將被分配的網(wǎng)絡(luò)地址記錄下來,從而在合法網(wǎng)絡(luò)地址群中區(qū)分未被分配的合法網(wǎng)絡(luò)地址以及被分配了的合法網(wǎng)絡(luò)地址。為了避免將已被分配了的合法網(wǎng)絡(luò)地址又分配出去從而產(chǎn)生沖突,在本實施例中第一地址分配指令所記載的網(wǎng)絡(luò)地址為未被分配的合法網(wǎng)絡(luò)地址。

由于程序出錯或者人為原因會導(dǎo)致將兩臺從節(jié)點設(shè)備的網(wǎng)絡(luò)地址設(shè)置成相同的,從而產(chǎn)生網(wǎng)絡(luò)地址沖突,Modbus通信網(wǎng)絡(luò)出錯。為了解決網(wǎng)絡(luò)地址沖突的問題,在本發(fā)明的第一種實施方式中將產(chǎn)生沖突的網(wǎng)絡(luò)地址記載在合法地址分配指令中。

具體地,所述合法地址分配指令還包括第二地址分配指令;所述第二地址分配指令為所述主節(jié)點設(shè)備在檢測到有至少兩個從節(jié)點設(shè)備的網(wǎng)絡(luò)地址沖突時發(fā)送到各個從節(jié)點設(shè)備,且所述第二地址分配指令所記載的網(wǎng)絡(luò)地址為產(chǎn)生沖突的網(wǎng)絡(luò)地址;

所述方法還包括:

從節(jié)點設(shè)備在判定本設(shè)備的網(wǎng)絡(luò)地址合法時,判斷本設(shè)備的網(wǎng)絡(luò)地址與所述合法地址分配指令所記載的網(wǎng)絡(luò)地址是否相同,并在相同時進(jìn)入延時搶占過程;

當(dāng)在所述延時搶占過程中從節(jié)點設(shè)備接收到其他從節(jié)點設(shè)備發(fā)送的分配成功通知消息時,從節(jié)點設(shè)備判斷本設(shè)備的網(wǎng)絡(luò)地址與所述合法地址分配指令所記載的網(wǎng)絡(luò)地址是否相同,并在相同時將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為非法網(wǎng)絡(luò)地址。

此時,會搶占這個產(chǎn)生沖突的網(wǎng)絡(luò)地址的從節(jié)點設(shè)備有兩種:一種是本身的網(wǎng)絡(luò)地址是非法的,另一種是原來使用該產(chǎn)生沖突的網(wǎng)絡(luò)地址的從節(jié)點設(shè)備,并且第二種的從節(jié)點設(shè)備至少是兩臺。

為了更清楚地說明這種實施方式,以下舉例說明:

假設(shè)從節(jié)點設(shè)備1和從節(jié)點設(shè)備2的網(wǎng)絡(luò)地址沖突,共用了網(wǎng)絡(luò)地址X,并且從節(jié)點設(shè)備3的網(wǎng)絡(luò)地址是非法的。主節(jié)點設(shè)備檢測到從節(jié)點設(shè)備1和從節(jié)點設(shè)備2的網(wǎng)絡(luò)地址沖突,將記載了網(wǎng)絡(luò)地址X的合法地址分配指令廣播出去。從節(jié)點設(shè)備3的網(wǎng)絡(luò)地址是非法的所以參與“搶占”,而從節(jié)點設(shè)備1和從節(jié)點設(shè)備2的網(wǎng)絡(luò)地址與網(wǎng)絡(luò)地址X均相同,因而從節(jié)點設(shè)備1和從節(jié)點設(shè)備2也參與搶占。對于從節(jié)點設(shè)備1和從節(jié)點設(shè)備2來說,如果沒有搶占到網(wǎng)絡(luò)地址X,就將本設(shè)備的網(wǎng)絡(luò)地址設(shè)為非法網(wǎng)絡(luò)地址,在下次分配時再參與“搶占”,從而解決了從節(jié)點設(shè)備之間的網(wǎng)絡(luò)地址沖突的問題。

同樣為了解決了從節(jié)點設(shè)備之間的網(wǎng)絡(luò)地址沖突的問題,在第二種實施方式中,本方法還包括:

從節(jié)點設(shè)備接收主節(jié)點設(shè)備發(fā)送的地址沖突調(diào)整指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址與產(chǎn)生沖突的網(wǎng)絡(luò)地址是否相同;所述地址沖突調(diào)整指令為所述主節(jié)點設(shè)備在檢測到有至少兩個從節(jié)點設(shè)備的網(wǎng)絡(luò)地址沖突時發(fā)送到各個從節(jié)點設(shè)備;所述地址沖突調(diào)整指令中記載了所述產(chǎn)生沖突的網(wǎng)絡(luò)地址;

從節(jié)點設(shè)備在判定本設(shè)備的網(wǎng)絡(luò)地址與所述產(chǎn)生沖突的網(wǎng)絡(luò)地址相同時,將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為非法網(wǎng)絡(luò)地址。

即直接將網(wǎng)絡(luò)地址沖突的從節(jié)點設(shè)備的網(wǎng)絡(luò)地址設(shè)置為非法網(wǎng)絡(luò)地址,在下次分配時再參與“搶占”。與第一種實施方式相比,在第一種實施方式中網(wǎng)絡(luò)地址沖突的從節(jié)點設(shè)備通過“搶占”產(chǎn)生沖突的網(wǎng)絡(luò)地址來解決網(wǎng)絡(luò)地址沖突的問題,而第二種實施方式則是直接將網(wǎng)絡(luò)地址沖突的從節(jié)點設(shè)備的網(wǎng)絡(luò)地址設(shè)置為非法網(wǎng)絡(luò)地址,這兩種實施方式都可以實現(xiàn)。

更優(yōu)選地,所述方法還包括:

從節(jié)點設(shè)備獲取用戶輸入的網(wǎng)絡(luò)地址設(shè)定指令;

從節(jié)點設(shè)備將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為所述網(wǎng)絡(luò)地址設(shè)定指令所要求設(shè)定的網(wǎng)絡(luò)地址。用戶可以根據(jù)需要為某臺從節(jié)點設(shè)備配置指定的網(wǎng)絡(luò)地址。

為了執(zhí)行上述的Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法,本發(fā)明實施例還提供了一種Modbus通信網(wǎng)絡(luò)中的從節(jié)點設(shè)備。請參閱圖2,其是本發(fā)明實施例提供的一種Modbus通信網(wǎng)絡(luò)中的從節(jié)點設(shè)備10的結(jié)構(gòu)框圖,包括:

分配指令接收模塊11,用于接收主節(jié)點設(shè)備發(fā)送的合法地址分配指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址是否合法;其中,任一從節(jié)點設(shè)備10的原始網(wǎng)絡(luò)地址屬于非法網(wǎng)絡(luò)地址;

第一判定模塊12,用于在判定本設(shè)備的網(wǎng)絡(luò)地址非法時進(jìn)入延時搶占過程;其中,所述延時搶占過程的時長預(yù)先配置,且不同的從節(jié)點設(shè)備10所配置的延時搶占過程的時長不同;

第一地址設(shè)定模塊13,用于當(dāng)在所述延時搶占過程中從節(jié)點設(shè)備10沒有接收到其他從節(jié)點設(shè)備10發(fā)送的分配成功通知消息時,所述從節(jié)點設(shè)備10響應(yīng)于所述延時搶占過程結(jié)束將本設(shè)備的地址設(shè)定為所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,并向所述主節(jié)點設(shè)備以及其他從節(jié)點設(shè)備10發(fā)送所述分配成功通知消息。

優(yōu)選地,所述合法地址分配指令包括第一地址分配指令;所述第一地址分配指令為所述主節(jié)點設(shè)備按照一定的時間間隔發(fā)送到各個從節(jié)點設(shè)備10,且所述第一地址分配指令所記載的網(wǎng)絡(luò)地址為未被分配的合法網(wǎng)絡(luò)地址。

為了解決網(wǎng)絡(luò)地址沖突的問題,在第一種實施方式中,所述合法地址分配指令還包括第二地址分配指令;所述第二地址分配指令為所述主節(jié)點設(shè)備在檢測到有至少兩個從節(jié)點設(shè)備10的網(wǎng)絡(luò)地址沖突時發(fā)送到各個從節(jié)點設(shè)備10,且所述第二地址分配指令所記載的網(wǎng)絡(luò)地址為產(chǎn)生沖突的網(wǎng)絡(luò)地址;

所述從節(jié)點設(shè)備10還包括:

第二判定模塊,用于在判定本設(shè)備的網(wǎng)絡(luò)地址合法時,判斷本設(shè)備的網(wǎng)絡(luò)地址與所述合法地址分配指令所記載的網(wǎng)絡(luò)地址是否相同,并在相同時進(jìn)入延時搶占過程;

第二設(shè)定模塊,用于當(dāng)在所述延時搶占過程中接收到其他從節(jié)點設(shè)備10發(fā)送的分配成功通知消息時,判斷本設(shè)備的網(wǎng)絡(luò)地址與所述合法地址分配指令所記載的網(wǎng)絡(luò)地址是否相同,并在相同時將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為非法網(wǎng)絡(luò)地址。

為了解決網(wǎng)絡(luò)地址沖突的問題,在第二種實施方式中,所述從節(jié)點設(shè)備10還包括:

調(diào)整指令接收模塊,用于接收主節(jié)點設(shè)備發(fā)送的地址沖突調(diào)整指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址與產(chǎn)生沖突的網(wǎng)絡(luò)地址是否相同;所述地址沖突調(diào)整指令為所述主節(jié)點設(shè)備在檢測到有至少兩個從節(jié)點設(shè)備10的網(wǎng)絡(luò)地址沖突時發(fā)送到各個從節(jié)點設(shè)備10;所述地址沖突調(diào)整指令中記載了所述產(chǎn)生沖突的網(wǎng)絡(luò)地址;

從節(jié)點設(shè)備10在判定本設(shè)備的網(wǎng)絡(luò)地址與所述產(chǎn)生沖突的網(wǎng)絡(luò)地址相同時,將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為非法網(wǎng)絡(luò)地址。

優(yōu)選地,所述從節(jié)點設(shè)備10還包括:

物理編號獲取模塊,用于在上電時獲取其唯一物理編號;

時長計算模塊,用于根據(jù)所述唯一物理編號以及預(yù)先配置的統(tǒng)一算法計算所述延時搶占過程的時長并存儲起來。

優(yōu)選地,所述從節(jié)點設(shè)備10還包括:

設(shè)定指令獲取模塊,用于獲取用戶輸入的網(wǎng)絡(luò)地址設(shè)定指令;

第四地址設(shè)定模塊,用于從節(jié)點設(shè)備10將本設(shè)備的網(wǎng)絡(luò)地址設(shè)定為所述網(wǎng)絡(luò)地址設(shè)定指令所要求設(shè)定的網(wǎng)絡(luò)地址。

需要說明的是,本發(fā)明實施例提供的一種Modbus通信網(wǎng)絡(luò)中的從節(jié)點設(shè)備10用于執(zhí)行上述的Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法,兩者的工作原理和有益效果一一對應(yīng),因而不再贅述。

請參閱圖3,其是本發(fā)明實施例提供的一種Modbus通信系統(tǒng)的結(jié)構(gòu)示意圖。所述Modbus通信系統(tǒng)包括主節(jié)點設(shè)備20以及若干個圖2實施例所示的從節(jié)點設(shè)備10。所述從節(jié)點設(shè)備10與所述主節(jié)點設(shè)備20之間通過總線連接。在圖3中雖然只用三個從節(jié)點設(shè)備10示意,但實際上從節(jié)點設(shè)備10的數(shù)量是不限制的。

相比于現(xiàn)有技術(shù),本發(fā)明實施例的有益效果在于:本發(fā)明實施例提供了一種Modbus通信網(wǎng)絡(luò)的網(wǎng)絡(luò)地址分配方法、從節(jié)點設(shè)備與通信系統(tǒng),其中方法包括:從節(jié)點設(shè)備接收主節(jié)點設(shè)備發(fā)送的合法地址分配指令,并判斷本設(shè)備的網(wǎng)絡(luò)地址是否合法;從節(jié)點設(shè)備在判定本設(shè)備的網(wǎng)絡(luò)地址非法時進(jìn)入延時搶占過程;當(dāng)在所述延時搶占過程中從節(jié)點設(shè)備沒有接收到其他從節(jié)點設(shè)備發(fā)送的分配成功通知消息時,所述從節(jié)點設(shè)備響應(yīng)于所述延時搶占過程結(jié)束將本設(shè)備的地址設(shè)定為所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,并向所述主節(jié)點設(shè)備以及其他從節(jié)點設(shè)備發(fā)送所述分配成功通知消息。在本發(fā)明實施例中,不同的從節(jié)點設(shè)備所配置的延時搶占過程的時長不同,使得延時搶占過程的時長最短的從節(jié)點設(shè)備首先“搶占”所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,將本設(shè)備的地址設(shè)定為所述合法地址分配指令所記載的網(wǎng)絡(luò)地址,并向所述主節(jié)點設(shè)備以及其他從節(jié)點設(shè)備發(fā)送所述分配成功通知消息,使得有且只有一臺從節(jié)點設(shè)備能“搶占”到所述合法地址分配指令所記載的網(wǎng)絡(luò)地址。本發(fā)明實施例能夠自動化地設(shè)置從機地址,無需人工逐一設(shè)置,在有新的從節(jié)點設(shè)備接入時自動分配網(wǎng)絡(luò)地址使從節(jié)點設(shè)備快速加入到總線中,大大地提高設(shè)置從機的網(wǎng)絡(luò)地址的效率,減小系統(tǒng)成本。

以上所揭露的僅為本發(fā)明一種較佳實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 宜兰市| 昌平区| 垦利县| 武夷山市| 莫力| 上杭县| 普兰县| 兰溪市| 景洪市| 浪卡子县| 麻阳| 阜阳市| 资源县| 宾川县| 宁晋县| 永吉县| 滁州市| 光泽县| 郓城县| 孝昌县| 余干县| 松江区| 江都市| 灵石县| 无棣县| 田东县| 阿拉尔市| 神池县| 常熟市| 浦东新区| 额尔古纳市| 双流县| 昌邑市| 临桂县| 海安县| 临城县| 香格里拉县| 沙湾县| 民乐县| 奇台县| 汝城县|