TWI635729B - 串聯通訊系統中的地址自動分配方法 - Google Patents
串聯通訊系統中的地址自動分配方法 Download PDFInfo
- Publication number
- TWI635729B TWI635729B TW106130057A TW106130057A TWI635729B TW I635729 B TWI635729 B TW I635729B TW 106130057 A TW106130057 A TW 106130057A TW 106130057 A TW106130057 A TW 106130057A TW I635729 B TWI635729 B TW I635729B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- slave
- allocation
- host
- data
- Prior art date
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
本發明提出一種串聯通訊系統中的地址自動分配方法,方法包括:確認每一從機的地址是否分配正確,並且將尚未分配的地址重新分配;主機發送分配指令至尚未分配地址的從機,尚未分配地址的從機接收分配指令後進入分配模式;進入分配模式後,尚未分配地址的從機皆具有特徵碼,利用特徵碼作為延遲時間以爭奪尚未分配的地址的其中之一;爭奪到地址的從機等待主機發送確認指令,並且當接收到確認指令後,爭奪到地址的從機退出地址的爭奪,等待主機發送分配完成指令。
Description
本發明是關於一種地址自動分配方法,尤指一種串聯通訊系統中的地址自動分配方法。
在串聯通訊系統的應用中,通常存在有一個具有通訊相關的主導權設備,以及複數個從屬於主導權設備的終端設備,而在一般工業控制領域中也大多都是採用一主多從的通訊架構。在此架構下,串聯通訊系統是由一個主設備、若干個從屬設備組成,而主設備為了要與從設備間建立起良好的通訊,從設備的地址必須是唯一,若不然從設備的地址發生衝突,則會導致資料傳輸的失敗。
目前,採用一主多從通訊架構下的串聯通訊系統中,通常都是人為手動設定從設備地址,利用撥碼開關或是通過指令等方式分配好從設備地址,再到主設備輸入分配好的地址才能建立通訊,避免地址發生衝突的情況產生。然而這樣的方式造成許多不便,像是手動設置從設備地址很有可能會有重覆輸入的情況,再來如果要維修或新增從設備往往會發生一些意外狀況。
本發明的一目的在提供一種地址自動分配方法,其不需要預先設定從機地址,從機地址可先採用默認地址並且在連網後主機會隨時檢查有衝突的地址,並且自動對發生衝突的地址重新分配。
本發明提出一種串聯通訊系統中的地址自動分配方法,串聯通訊系統包含主機及至少一從機,方法包括下列步驟:(a)主機與至少一從機電性連接後,確認每一從機的地址是否分配正確,如果分配不正確會針對尚未分配的地址重新分配;(b)主機發送分配指令至尚未分配地址的從機,尚未分配地址的從機接收分配指令後進入分配模式,而主機發送分配指令後也進入分配模式;(c)進入分配模式後,尚未分配地址的從機皆具有特徵碼,利用特徵碼作為延遲時間以爭奪尚未分配的地址的其中之一;(d)爭奪到地址的從機等待主機發送確認指令,並且當接收到確認指令後,爭奪到地址的從機退出其他尚未分配的地址的爭奪,等待主機發送分配完成指令;以及(e)主機發送確認指令後會記錄爭奪到的地址與爭奪到地址的從機,接著對其他尚未分配的地址發送分配指令重新進行分配;其中,特徵碼具有多個位數以及由位數組成的多組數據,數據包括至少兩個位數,並利用數據作為延遲時間。
由於本發明的主機會針對地址分配不正確的從機進行地址的重新分配,並且利用每台從機自身的特徵碼對分配地址進行爭奪,特徵碼越小的即會擁有較高的優先權,經過這樣的操作每一台從機皆可以分配到地址並且不會有地址相衝突的問題產生,因此可以免去在串聯通訊系統中各設備進行組網前需要手動設定設備地址的操作,進而達到地址的自動分配以及避免人為操作所造成的意外狀況的功效。
為了讓本發明的上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
如圖1所示,在此方法中,首先主機與至少一從機電性連接後,確認每一從機的地址是否分配正確,如果分配不正確會針對尚未分配的地址重新分配(如步驟S11所示)。確認每一從機的地址是否分配正確的詳細步驟請參考圖2。如圖2所示,主機與至少一從機電性連接後,會檢查每一從機地址回傳的回覆數據是否正確(如步驟S21所示),如果正確,將從機地址設定由離線狀態轉變為在線狀態(如步驟S221所示),如果不正確,再次對離線狀態的從機地址進行掃描(如步驟S222所示),接著再次確認離線狀態的從機地址是否有回傳回覆數據(如步驟S23所示),如果並未回傳回覆數據,則判斷為從機地址並未與至少一從機連接(如步驟S231所示),如果有回傳回覆數據,則判斷為從機地址發生衝突,重新分配處於離線狀態的從機地址(如步驟S232所示)。在經過步驟S23的判斷後,會將離線狀態的從機地址分類為未與從機連線的地址以及發生衝突的地址,其兩者皆為尚未分配的地址,因此在進入分配模式後會由主機進行統一的分配。接著在確認完尚未分配的地址以及尚未分配地址的從機後,主機會發送分配指令至尚未分配地址的從機,尚未分配地址的從機在接收到分配指令後進入分配模式,而主機發送分配指令後也進入分配模式(如步驟S12所示)。
請再參考圖1,進入分配模式後,尚未分配地址的從機皆具有特徵碼,利用特徵碼作為延遲時間以爭奪尚未分配的地址的其中之一(如步驟S13所示)。特徵碼是每一從機皆會有的一個序列號碼,其具有多個位數,在本發明中將特徵碼的每兩個位數組成一組形成多個數據,並利用這些數據作為延遲時間,數據也可以是由三位數或四位數組成,然此並非用以限制本發明。爭奪尚未分配的地址的詳細步驟請參考圖3。尚未分配地址的從機分別利用多個數據的其中之一作為延遲時間(如步驟S31所示),判斷在一段時間內是否有尚未分配地址的從機回傳回覆數據至主機(如步驟S32所示)。沒有回傳回覆數據的從機退出對本次尚未分配的地址的爭奪,等待主機再次發送分配指令(如步驟S321所示),如果有尚未分配地址的從機回傳回覆數據至主機,則回傳回覆數據的從機繼續利用數據的其中之另一作為延遲時間(如步驟S322所示),直到數據全部使用完,回傳回覆數據的從機其中之一搶奪到尚未分配的地址(如步驟S33所示)。
請接著參考圖1,爭奪到地址的從機等待主機發送確認指令,並且當接收到確認指令後,爭奪到地址的從機退出其他尚未分配的地址的爭奪,等待主機發送分配完成指令(如步驟S14所示)。主機發送確認指令後會記錄爭奪到的地址與爭奪到地址的從機,接著對其他尚未分配的地址發送分配指令重新進行分配(如步驟S15所示)。最後,當所有尚未分配地址的從機均爭奪到地址後,主機發送分配完成指令至爭奪到地址的從機,接著主機及爭奪到地址的從機退出分配模式(如步驟S16所示)。
接著請參考圖4所舉的範例,有三台從機分別為從機A、從機B、及從機C在爭奪地址,而主機發送分配指令對地址進行爭奪,其中分配指令包含尚未分配的地址以及指示尚未分配地址的從機爭奪尚未分配的地址。在圖4的範例中,主機發送分配指令就包含地址1及指示機A、從機B、及從機C對地址1進行爭奪。首先對地址1進行爭奪,從機A的特徵碼是170902,從機B的特徵碼是170802,從機C的特徵碼是170702。而特徵碼每兩個位數組成一組,因此在此範例中具有3組數據,從機A、B及C就利用這3組數據作為延遲時間進行地址爭奪。首先主機會發送數據選擇指令至從機A、B及C,讓從機A、B及C利用第1組數據做為延遲時間,而從機A、B及C都是02,因此在一段時間內會同時回傳回覆數據至主機,所以在此階段並不會有從機退出對地址1的爭奪。接著主機再發送數據選擇指令至從機A、B及C,讓從機A、B及C利用第2組數據做為延遲時間,而從機A的數據是09、從機B的數據是08、從機C的數據是07。從機C的第2組數據07做為延遲時間最短,因此可以在一段時間內最先回傳回覆數據給主機,而沒有回傳回覆數據的從機A及從機B則退出對地址1的爭奪。主機再發送數據選擇指令至從機C,讓從機C接著利用第3組數據,由於從機A及B皆退出對地址1的爭奪,因此從機C利用第3組數據17做為延遲時間,在一段時間內回傳回覆數據給主機。從機C爭奪到地址1後等待主機發送確認指令,在接收到確認指令後,從機C退出爭奪,等待主機發送分配完成指令,而主機發送確認指令後會記錄從機C爭奪到地址1,接著再發送針對地址2的分配指令。
接續前述的範例,主機的分配指令指示之前沒有爭奪到地址1的從機A與從機B重新對地址2進行爭奪,爭奪的方式與前述相同,從機A與從機B利用各自的特徵碼進行爭奪。首先利用第1組數據(主機也同樣發送數據選擇指令在此不再贅述),從機A與從機B都是02,因此與前述相同,從機A與從機B會同時回傳回覆數據至主機,在此階段並不會有從機退出對地址2的爭奪。接著利用第2組數據,從機A的數據是09、從機B的數據是08,從機B的第2組數據08做為延遲時間最短,因此可以最先回傳回覆數據給主機,而沒有回傳回覆數據的從機A則退出對地址2的爭奪。爭奪到地址2的從機B會退出爭奪,並且等待主機發送分配完成指令。而主機接著對尚未分配的地址3發送分配指令,之前沒有爭奪到地址1與地址2的從機A重新對地址3進行爭奪,從機A也利用自身的特徵碼對地址3進行爭奪,由於只剩從機A對地址3進行爭奪,因此從機A也爭奪到地址3,等待主機發送分配完成指令。當從機A、從機B及從機C都爭奪到地址並且也沒有其他尚未被分配到的地址,因此主機會發送分配完成指令給從機A、從機B及從機C,接著主機、從機A、從機B及從機C皆退出分配模式。
接著請參考圖5所舉的範例,有三台從機分別為從機A、從機B、及從機C在爭奪地址,而有四個未被分配的地址1、地址2、地址3及地址4。爭奪地址的方法皆如前述實施例所述,在從機A、從機B及從機C皆爭奪到地址後,主機同樣會發送地址4的分配指令,由於從機A、B及C皆爭奪到地址,因此從機A、B及C皆不會參與地址4的爭奪,也不會回傳回覆數據給主機,而主機在持續一段時間後都沒有收到回覆數據則會直接判斷為從機A、B及C皆有分配到地址,隨即發送分配完成指令給從機A、B及C,接著主機、從機A、B及C退出分配模式。
由於本發明的主機會針對地址分配不正確的從機進行地址的重新分配,並且利用每台從機自身的特徵碼對分配地址進行爭奪,特徵碼越小因為延遲的時間較短,而擁有較高的優先權,經過這樣的操作每一台從機皆可以分配到地址並且不會有地址相衝突的問題產生,因此可以免去在串聯通訊系統中各設備進行組網前需要手動設定設備地址的操作,進而達到地址的自動分配以及避免人為操作所造成的意外狀況的功效。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何熟習此技術者,在不脫離本發明的精神和範圍內,當可做些許的更動與潤飾,因此本發明的保護範圍當視後付的申請專利範圍所界定者為準。
S11~S16、S21~S23、S221、S222、S231、S231、S31~S33、S321、S322‧‧‧步驟
圖1為本發明一種串聯通訊系統中的地址自動分配方法的流程圖; 圖2為本發明一種串聯通訊系統中的地址自動分配方法部份步驟的流程圖; 圖3為本發明一種串聯通訊系統中的地址自動分配方法部份步驟的流程圖; 圖4為本發明一實施例的一種串聯通訊系統中的地址自動分配方法的示意圖;以及 圖5為本發明另一實施例的一種串聯通訊系統中的地址自動分配方法的示意圖。
Claims (7)
- 一種串聯通訊系統中的地址自動分配方法,該串聯通訊系統包含一主機及至少一從機,該方法包括下列步驟: (a) 該主機與該至少一從機電性連接後,確認每一從機的地址是否分配正確,如果分配不正確會針對尚未分配的地址重新分配; (b) 該主機發送一分配指令至尚未分配地址的從機,尚未分配地址的從機接收該分配指令後進入一分配模式,而該主機發送該分配指令後也進入該分配模式; (c) 進入該分配模式後,尚未分配地址的從機皆具有一特徵碼,利用該特徵碼作為一延遲時間以爭奪尚未分配的地址的其中之一; (d) 爭奪到地址的從機等待該主機發送一確認指令,並且當接收到該確認指令後,爭奪到地址的從機退出其他尚未分配的地址的爭奪,等待該主機發送一分配完成指令;以及 (e)該主機發送該確認指令後會記錄爭奪到的地址與爭奪到地址的從機,接著對其他尚未分配的地址發送該分配指令重新進行分配; 其中,該特徵碼具有多個位數以及由該些位數組成的多組數據,該些組數據包括至少兩個位數,並利用該些組數據作為該延遲時間。
- 如申請專利範圍第1項所述之地址自動分配方法,更包括步驟(f) 當所有尚未分配地址的從機均爭奪到地址後,該主機發送該分配完成指令至爭奪到地址的從機,接著該主機及爭奪到地址的從機退出該分配模式。
- 如申請專利範圍第2項所述之地址自動分配方法,其中步驟(a)更包括: (a1) 該主機與該至少一從機電性連接後,檢查每一從機地址回傳的一回覆數據是否正確; (a2) 如果正確,將該些從機地址設定由一離線狀態轉變為一在線狀態,如果不正確,再次對該離線狀態的該些從機地址進行掃描; (a3) 再次確認該離線狀態的該些從機地址是否有回傳該回覆數據; (a4) 如果並未回傳該回覆數據,則判斷為該些從機地址並未與該至少一從機連接,如果有回傳該回覆數據,則判斷為該些從機地址發生衝突,重新分配處於該離線狀態的該些從機地址。
- 如申請專利範圍第3項所述之地址自動分配方法,其中步驟(c)更包括: (c1) 尚未分配地址的從機分別利用該些組數據的其中之一作為該延遲時間; (c2) 判斷在一段時間內是否有尚未分配地址的從機回傳該回覆數據至該主機; (c3) 如果有尚未分配地址的從機回傳該回覆數據至該主機,則回傳回覆數據的從機繼續利用該些組數據的其中之另一作為該延遲時間,直到該些組數據全部使用完,回傳回覆數據的從機其中之一爭奪到本次尚未分配的地址; (c4) 沒有回傳回覆數據的從機退出對本次尚未分配的地址的爭奪,等待該主機再次發送該分配指令。
- 如申請專利範圍第4項所述之地址自動分配方法,其中步驟(c1)該主機會發送一數據選擇指令至尚未分配地址的從機,而尚未分配地址的從機利用該數據選擇指令選擇該些組數據的其中之一作為該延遲時間。
- 如申請專利範圍第5項所述之地址自動分配方法,其中如果該主機持續一段時間都沒有收到該回覆數據則直接發送該分配完成指令,接著主機退出該分配模式。
- 如申請專利範圍第1項所述之地址自動分配方法,其中該分配指令包含一尚未分配的地址以及指示尚未分配地址的從機爭奪尚未分配的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106130057A TWI635729B (zh) | 2017-09-01 | 2017-09-01 | 串聯通訊系統中的地址自動分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106130057A TWI635729B (zh) | 2017-09-01 | 2017-09-01 | 串聯通訊系統中的地址自動分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI635729B true TWI635729B (zh) | 2018-09-11 |
TW201914272A TW201914272A (zh) | 2019-04-01 |
Family
ID=64452863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106130057A TWI635729B (zh) | 2017-09-01 | 2017-09-01 | 串聯通訊系統中的地址自動分配方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI635729B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835723A (en) * | 1995-12-28 | 1998-11-10 | Intel Corporation | Dynamic assignment of multicast addresses |
US6408334B1 (en) * | 1999-01-13 | 2002-06-18 | Dell Usa, L.P. | Communications system for multiple computer system management circuits |
US6700877B1 (en) * | 1997-08-05 | 2004-03-02 | Siemens Aktiengesellschaft | Method and bus system for automatic address allocation |
CN101355482A (zh) * | 2008-09-04 | 2009-01-28 | 中兴通讯股份有限公司 | 实现嵌入式设备地址顺序识别的设备、方法和系统 |
CN104516851A (zh) * | 2014-12-31 | 2015-04-15 | 福州瑞芯微电子有限公司 | 一种rs485从设备地址分配的系统和方法 |
CN104964399A (zh) * | 2015-07-21 | 2015-10-07 | 珠海格力电器股份有限公司 | 空调设备的地址分配方法和装置 |
-
2017
- 2017-09-01 TW TW106130057A patent/TWI635729B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835723A (en) * | 1995-12-28 | 1998-11-10 | Intel Corporation | Dynamic assignment of multicast addresses |
US6700877B1 (en) * | 1997-08-05 | 2004-03-02 | Siemens Aktiengesellschaft | Method and bus system for automatic address allocation |
US6408334B1 (en) * | 1999-01-13 | 2002-06-18 | Dell Usa, L.P. | Communications system for multiple computer system management circuits |
CN101355482A (zh) * | 2008-09-04 | 2009-01-28 | 中兴通讯股份有限公司 | 实现嵌入式设备地址顺序识别的设备、方法和系统 |
CN104516851A (zh) * | 2014-12-31 | 2015-04-15 | 福州瑞芯微电子有限公司 | 一种rs485从设备地址分配的系统和方法 |
CN104964399A (zh) * | 2015-07-21 | 2015-10-07 | 珠海格力电器股份有限公司 | 空调设备的地址分配方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201914272A (zh) | 2019-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831692B2 (en) | Bus address assignment | |
KR101951485B1 (ko) | 팬들에 대해 네트워크 어드레스들을 지정하는 방법 | |
JP2018206266A (ja) | 通信装置、通信方法、プログラム、および、通信システム | |
CN101981901B (zh) | 借助冲突检查的总线地址自动分配 | |
CN107249048B (zh) | 空调系统及其地址分配方法和装置 | |
CN107734082B (zh) | 一种地址分配方法及系统 | |
CN106789498B (zh) | Modbus通信网络的网络地址分配方法、从节点设备与通信系统 | |
US5615106A (en) | Control device | |
CN115589398A (zh) | I2c地址分配方法及计算设备 | |
KR101232928B1 (ko) | 멀티형 공기조화기의 자동통신 주소할당 방법 | |
CN116319683A (zh) | 分配组网地址的方法、系统、装置以及电子设备 | |
TWI635729B (zh) | 串聯通訊系統中的地址自動分配方法 | |
US9078304B2 (en) | Lighting system | |
CN110691147B (zh) | 多联式控制系统的地址竞争方法 | |
CN113438781A (zh) | 控制方法、控制装置及照明系统 | |
WO2003079610A1 (en) | Method for confirming connection state of a home appliance in home network system | |
CN117118951A (zh) | 一种一主多从总线通用从机地址动态分配的方法 | |
CN109428951A (zh) | 串联通讯系统中的地址自动分配方法 | |
KR20050103828A (ko) | 멀티 에어컨의 통신을 위한 자동 주소 설정 방법 | |
KR20090029073A (ko) | 공기 조화기 및 그 제어방법 | |
TWI827286B (zh) | Can總線系統及其自動分配節點站號的方法 | |
JP2011041225A (ja) | 電源ユニット、処理システム及びidの割り当て方法 | |
CN117614940B (zh) | 一种串行通信设备地址自动配置的方法及系统 | |
CN114039950B (zh) | 一种rs485总线从设备自动分配地址的方法 | |
CN115842806B (zh) | 总线分配节点地址的方法及相关装置 |