一種基于udp的agv小車通信方法
【專利摘要】本發(fā)明公開了一種基于UDP的AGV小車通信方法,屬于AGV小車通訊技術(shù)領(lǐng)域。目的是提供一種實(shí)現(xiàn)多機(jī)通信,數(shù)據(jù)傳輸可靠,易于擴(kuò)展和維護(hù)的基于UDP的AGV小車通信方法,所述方法為AGV小車與AGV小車之間、AGV小車與系統(tǒng)其它設(shè)備之間均采用基于UDP的協(xié)議通信,所述基于UDP的協(xié)議包括協(xié)議層及通信層,所述協(xié)議層中包括發(fā)送序號(hào)和接收序號(hào),所述通信層所收發(fā)的數(shù)據(jù)是協(xié)議層的通訊范圍。本方法的通信協(xié)議面向非連接,實(shí)現(xiàn)多機(jī)通信、數(shù)據(jù)防丟包,數(shù)據(jù)可靠傳輸、傳輸效率高、通信節(jié)點(diǎn)的擴(kuò)展添加簡單靈活,易于維護(hù),通過通信方法的改進(jìn),提高了AGV小車系統(tǒng)的調(diào)度控制能力。
【專利說明】
-種基于UDP的AGV小車通信方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明具體設(shè)及一種基于UDP的AGV小車通信方法,屬于AGV小車通訊技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著現(xiàn)代信息化的進(jìn)步,在物聯(lián)網(wǎng)快速發(fā)展,工業(yè)4.0的技術(shù)背景下,對(duì)工業(yè)設(shè)備 之間、設(shè)備與互聯(lián)網(wǎng)之間的通信要求更高了。AGV(Automated Guided Vehicle,自動(dòng)導(dǎo)引運(yùn) 輸車)作為整個(gè)工業(yè)4.0布局的一部分,AGV小車之間及AGV小車與其它各部分的工業(yè)設(shè)備之 間穩(wěn)定通信變得越來越重要。
[0003] 現(xiàn)有的工業(yè)無線通信主要是工業(yè)W太網(wǎng)中的Mo化US通信協(xié)議。Mo地US是一個(gè)工業(yè) 通信系統(tǒng),主要用于工業(yè)現(xiàn)場的總線協(xié)議。該協(xié)議將Mo化US帖嵌入到TCP帖中,使Mo化US與 W太網(wǎng)和TCP/IP結(jié)合,成為Mo化US TCP/IP,是一種面向連接的方式。Mo化US協(xié)議基于TCP/ IP協(xié)議,具有TCP協(xié)議的特點(diǎn),面向連接、數(shù)據(jù)傳輸可靠。但是只能適用于端對(duì)端的數(shù)據(jù)通 信,通信采用主-從模式,主控端必須先啟動(dòng),從客戶端再與主控端進(jìn)行Ξ次握手連接,進(jìn)行 通信。工業(yè)聯(lián)網(wǎng)設(shè)備不斷的增加,使用端對(duì)端的通信協(xié)議,并不利于設(shè)備節(jié)點(diǎn)的管理和后期 的維護(hù)。
【發(fā)明內(nèi)容】
[0004] 為了解決現(xiàn)有技術(shù)存在的上述問題,本發(fā)明提供一種實(shí)現(xiàn)多機(jī)通信,數(shù)據(jù)傳輸可 靠,易于擴(kuò)展和維護(hù)的基于UDP的AGV小車通信方法,所述方法為AGV小車與AGV小車之間、 AGV小車與系統(tǒng)其它設(shè)備之間均采用基于UDP的協(xié)議通信,所述基于UDP的協(xié)議包括協(xié)議層 及通信層,所述協(xié)議層中包括發(fā)送序號(hào)和接收序號(hào),所述通信層所收發(fā)的數(shù)據(jù)是協(xié)議層的 通訊范圍。
[0005] 進(jìn)一步的,所述方法中在協(xié)議層將每個(gè)AGV小車或系統(tǒng)其它設(shè)備上的基本設(shè)備單 元都設(shè)置成不同的ID值,將ID值嵌套進(jìn)協(xié)議中。
[0006] 進(jìn)一步的,所述協(xié)議層的協(xié)議內(nèi)容包括AGV小車或系統(tǒng)其它設(shè)備上的基本設(shè)備單 元的設(shè)備ID、數(shù)據(jù)長度及數(shù)據(jù)。
[0007] 本發(fā)明的有益效果在于:本發(fā)明中AGV小車與AGV小車之間、AGV小車與系統(tǒng)其它設(shè) 備之間均采用基于UDP的協(xié)議通信,在UDP協(xié)議的基礎(chǔ)上研發(fā),協(xié)議面向非連接,實(shí)現(xiàn)多機(jī)通 信、數(shù)據(jù)防丟包,數(shù)據(jù)可靠傳輸、傳輸效率高、通信節(jié)點(diǎn)的擴(kuò)展添加簡單靈活,易于維護(hù),通 過通信方法的改進(jìn),提高了 AGV小車系統(tǒng)的調(diào)度控制能力。
【附圖說明】
[000引圖1為本發(fā)明協(xié)議的通信數(shù)據(jù)結(jié)構(gòu)圖;
[0009] 圖2為本發(fā)明協(xié)議防止丟包的原理圖;
[0010] 圖3為本發(fā)明多機(jī)通信的原理圖;
[0011] 圖4為本發(fā)明協(xié)議的協(xié)議帖的結(jié)構(gòu)圖;
[0012] 圖5、圖6、圖7為【具體實(shí)施方式】中的數(shù)據(jù)發(fā)送實(shí)例圖。
【具體實(shí)施方式】
[0013] 下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行說明:
[0014] 在本【具體實(shí)施方式】中,AGV小車與AGV小車之間、AGV小車與系統(tǒng)其它設(shè)備之間均采 用下述協(xié)議進(jìn)行通信,該協(xié)議是基于UDP的通信層協(xié)議,運(yùn)行在AGV小車上,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的 通信協(xié)議。根據(jù)多機(jī)通信原理設(shè)計(jì)的一口雙向通行協(xié)議,包括通信層與協(xié)議層。通信層是用 于校驗(yàn),防止丟失,多機(jī)判斷等。協(xié)議層是用于解析數(shù)據(jù)包的內(nèi)容,其通信數(shù)據(jù)的結(jié)構(gòu)如圖1 所示。
[0015] 如表1所示,本套協(xié)議的通信帖,協(xié)議修訂帖頭為Oxff ,0x01帖尾Oxff ,0x02,數(shù)據(jù) 0社;1!'等于0社;1!',0過;1!·。
[0016] 表1 Γηη?7?
|[0018]'圖2是本方法中協(xié)議防止數(shù)據(jù)丟包的原理圖!在數(shù)據(jù)傳輸中,要想知道數(shù)據(jù)包是否 發(fā)送成功,接受方需要回復(fù)數(shù)據(jù),確認(rèn)發(fā)送數(shù)據(jù)包已經(jīng)發(fā)送成功。在忙碌的數(shù)據(jù)流中引入包 的序號(hào)。接受方需回復(fù)接受到的序號(hào),才能讓發(fā)送方知道某個(gè)數(shù)據(jù)包已經(jīng)被成功接受。
[0019] 協(xié)議中,分別設(shè)定了SN(發(fā)送序號(hào))和RN(接受序號(hào))。運(yùn)兩個(gè)序號(hào)同時(shí)保證了發(fā)送 數(shù)據(jù)的某一時(shí)刻的唯一性。例如。發(fā)送方發(fā)送一個(gè)數(shù)據(jù)包,發(fā)送序號(hào)為1.接受方收到數(shù)據(jù), 并且回復(fù)的數(shù)據(jù)接受序號(hào)中也是1.發(fā)送方的SN等于RN,證明對(duì)方成功收到發(fā)送方的數(shù)據(jù)。 發(fā)送方完成一次正常的傳輸。
[0020] 如果發(fā)送方回復(fù)的是ACK(純屬回復(fù)當(dāng)前收到數(shù)據(jù),沒有包含其他有用的處理數(shù) 據(jù))包,則發(fā)送方不會(huì)為該包的數(shù)據(jù)發(fā)送回復(fù)確定數(shù)據(jù)。
[0021 ] 圖3是本方法中協(xié)議多機(jī)通信原理圖,例如:Targetnum: 2Souecenum: 1,表示設(shè)備1 發(fā)送數(shù)據(jù)給設(shè)備2,化rgetnum表示接受方在整個(gè)聯(lián)網(wǎng)組圈里面的唯一序號(hào)。Souecenum表示 發(fā)送方在整個(gè)聯(lián)網(wǎng)組圈里面的唯一序號(hào)。讓每一個(gè)設(shè)置收到數(shù)據(jù)都能知道該數(shù)據(jù)的源頭和 目的都來源于哪里。
[0022] CMD命令集如表2所示,
[0023] 表 2
[0024] _
[0025] ~W上為完成的的通信層,在通信層成功的收發(fā)數(shù)據(jù)。所產(chǎn)生的數(shù)據(jù)將是協(xié)議層的 協(xié)議范圍。
[0026] ACK,則是接受方收到發(fā)送方的數(shù)據(jù),進(jìn)行回復(fù)確定。但是由于自身沒有任何需要 發(fā)送給發(fā)送方的數(shù)據(jù)。從而回復(fù)一個(gè)ACK,而不需要對(duì)方回復(fù)確定。
[0027] 普通數(shù)據(jù),是包含該發(fā)送方需要發(fā)送數(shù)據(jù)給接收方。并且發(fā)送方也要回復(fù)接收方, 上一次接受方發(fā)送過來的數(shù)據(jù)。所W普通數(shù)據(jù)是包含當(dāng)前發(fā)送的數(shù)據(jù)和上一次數(shù)據(jù)的回復(fù) 確認(rèn)。
[002引協(xié)議層:
[0029] W下表示協(xié)議層的數(shù)據(jù)格式。
[0030] 協(xié)議首部: VERSION協(xié)議化本 4BYTE 類型; GMD 命令代碼4BYTE 類型;
[0031] DEVLEN 設(shè)備個(gè)數(shù) 4BYTE 類型; DATA 設(shè)備數(shù)據(jù)不定長瘦類型;
[0032] 協(xié)議內(nèi)容(存放在協(xié)議首部的DATA里面):
[0033] DEVID 設(shè)備 ID 4BYTE 類型;
[0034] LEN 數(shù)據(jù)長度4BYTE 類型;
[0035] DATA 數(shù)據(jù) 不定長度類型;
[0036] 協(xié)議首部解析:
[0037] VERSION:
[0038] 2015001(十進(jìn)制)當(dāng)前版本編號(hào);
[0039] CMD:
[0040] 'rdst'讀命令帖;
[0041 ] 'wtst'寫命令帖;
[0042] DEVLEN:
[0043] 設(shè)備個(gè)數(shù);
[0044] data:
[0045] 設(shè)備數(shù)據(jù);
[0046] 協(xié)議內(nèi)容解析:
[0047] DEVID:
[004引設(shè)備id,小車可分為多個(gè)設(shè)備組成,每個(gè)設(shè)備有固定一個(gè)id號(hào);
[0049] LEN:
[0050] 數(shù)據(jù)長度;
[0051] data:
[0052] 當(dāng)前設(shè)備id號(hào)的數(shù)據(jù)解析.
[0053] 傳統(tǒng)的工業(yè)Mo化US協(xié)議是基于地址查詢的一口語言。該協(xié)議不能有效的減少數(shù)據(jù) 收發(fā)過程。例如,當(dāng)AGV我要知道AGV小車的兩個(gè)傳感器的數(shù)據(jù),并且數(shù)據(jù)分別儲(chǔ)存在0x012 處和0x456處。由于數(shù)據(jù)分差太大,我又不希望同時(shí)一次讀取從0x012到0x456的內(nèi)容,因?yàn)?中間有太多沒有意義的數(shù)據(jù),所有必須發(fā)兩次命令,分別讀取0x012和0x456處的地址。
[0054] 然而該協(xié)議可W把兩個(gè)傳感器的值設(shè)置成為兩個(gè)id。嵌套進(jìn)協(xié)議中。從而實(shí)現(xiàn)一 次傳輸,獲得兩個(gè)傳感器的數(shù)據(jù)。
[0055] 傳統(tǒng)的工業(yè)Mo化US協(xié)議是基于地址查詢的一口語言。該協(xié)議在后期維護(hù)升級(jí)修改 的時(shí)候沒有更好的靈活性。例如,AGV兩個(gè)傳感器的數(shù)據(jù)分別存放在0x01處和0x02處。當(dāng)后 期升級(jí)維護(hù)后,傳感器換了其他的傳感器,傳感數(shù)據(jù)變得更多的時(shí)候,由于前期我們制定了 0x01和0x02處的地址分別存放傳感器1和傳感器2的數(shù)據(jù)。運(yùn)時(shí)候我們有不得不修改整個(gè)地 址存放數(shù)據(jù)的排布。
[0056] 本發(fā)明中,協(xié)議把兩個(gè)傳感器設(shè)置成為兩個(gè)獨(dú)立的id。當(dāng)傳感器升級(jí)的時(shí)候,更多 數(shù)據(jù)的參入,我們只需在傳輸回來的協(xié)議部分加長數(shù)據(jù),加大LEN,和提高DATA的長度則可。 既沒有打亂整個(gè)協(xié)議的原本制定含義,又提高了程序方的可操作性。
[0057] 數(shù)據(jù)發(fā)送實(shí)例如圖5,圖6,圖7所示,分別表示發(fā)送方發(fā)送一包讀取指令的數(shù)據(jù)發(fā) 送一包讀取傳感器1和傳感器3的數(shù)據(jù),接受方返回傳感器1和傳感器3的數(shù)據(jù),發(fā)送方發(fā)送 一包設(shè)置指令的數(shù)據(jù)發(fā)送一包設(shè)置傳感器1和傳感器3的數(shù)據(jù)。
[0058] 本發(fā)明的方法所使用的協(xié)議具有W下特點(diǎn):
[0059] 傳輸?shù)暮啽阈裕?br>[0060] 能有效的減少數(shù)據(jù)的收發(fā)次數(shù)。
[0061] 數(shù)據(jù)的靈活性:
[0062] 該協(xié)議在后期維護(hù)升級(jí)修改的時(shí)候有更好的靈活性。
[0063] 數(shù)據(jù)的雙向通行防止丟失性:
[0064] 能夠在不穩(wěn)定的情況下,防止丟失。
[0065] 本方法已經(jīng)使用于AGV通信中,運(yùn)行效果穩(wěn)定、數(shù)據(jù)傳輸效率高、維護(hù)添加通信節(jié) 點(diǎn)簡單。
[0066] W上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明所述原理的前提下,還可W作出若干改進(jìn)和潤飾,運(yùn)些改進(jìn)和潤飾也 應(yīng)視為本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1. 一種基于UDP的AGV小車通信方法,其特征在于,所述方法為AGV小車與AGV小車之間、 AGV小車與系統(tǒng)其它設(shè)備之間均采用基于UDP的協(xié)議通信,所述基于UDP的協(xié)議包括協(xié)議層 及通信層,所述協(xié)議層中包括發(fā)送序號(hào)和接收序號(hào),所述通信層所收發(fā)的數(shù)據(jù)是協(xié)議層的 通訊范圍。2. -種如權(quán)利要求1所述的基于UDP的AGV小車通信方法,其特征在于,所述方法中在協(xié) 議層將每個(gè)AGV小車或系統(tǒng)其它設(shè)備上的基本設(shè)備單元都設(shè)置成不同的ID值,將ID值嵌套 進(jìn)協(xié)議中。3. -種如權(quán)利要求2所述的基于UDP的AGV小車通信方法,其特征在于,所述協(xié)議層的協(xié) 議內(nèi)容包括AGV小車或系統(tǒng)其它設(shè)備上的基本設(shè)備單元的設(shè)備ID、數(shù)據(jù)長度及數(shù)據(jù)。
【文檔編號(hào)】H04L29/06GK105871924SQ201610422888
【公開日】2016年8月17日
【申請(qǐng)日】2016年6月14日
【發(fā)明人】王斌, 羅品超
【申請(qǐng)人】深圳力子機(jī)器人有限公司