亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

基于C#自研AGV調(diào)度通信協(xié)議:從幀設(shè)計到加密容錯完整實踐

基于C#自研AGV調(diào)度通信協(xié)議:從幀設(shè)計到加密容錯完整實踐 其實我剛開始接手這個項目的時候心里是打鼓的?!白远x工控協(xié)議”這六個字在自動化行業(yè)混過的人都知道意味著什么幀結(jié)構(gòu)設(shè)計、字節(jié)序、序列化、校驗、加密、粘包半包、斷線重連、多車并發(fā)——任何一個環(huán)節(jié)踩進(jìn)去輕則加班半個月重則直接給項目排期畫上句號。但我所在的那條AGV調(diào)度線確實到了不自己動手不行的地步。工廠要把AGV從5臺擴(kuò)到18臺原有的調(diào)度模塊只能做“開閘機(jī)、到點位、急?!边@類基礎(chǔ)離散控制遇到動態(tài)路徑規(guī)劃、任務(wù)批量下發(fā)、多車避讓協(xié)同完全無能為力。用原廠協(xié)議棧授權(quán)費高得離譜源碼又不開放等他們排需求還不知道排到哪一年。最后我在項目會上拍板基于C#和.NET自研一套AGV調(diào)度通信協(xié)議從幀設(shè)計到加密容錯全部自己來交付周期壓到三周。這篇文章就是這三周的完整踩坑記錄涉及AGV調(diào)度、自定義協(xié)議、幀設(shè)計、工業(yè)加密、斷線容錯等完整鏈路。如果你也在做AGV調(diào)度、邊緣控制器或者廠級設(shè)備通信這篇內(nèi)容可以當(dāng)參考手冊用。1. 整體設(shè)計與折分協(xié)議不是越復(fù)雜越好1.1 先搞清楚通信協(xié)議要背多少業(yè)務(wù)我在寫第一行代碼之前沒有急著畫幀結(jié)構(gòu)而是拉了一張需求清單。這個習(xí)慣是從上一個項目學(xué)來的當(dāng)時因為需求沒對齊協(xié)議改了四版差點把隊友逼瘋。這次我先把真實約束列清楚驅(qū)動規(guī)模18臺AGV后期可能擴(kuò)到30臺通信鏈路必須是點對點TCP長連接。指令實時性調(diào)度指令從服務(wù)器發(fā)出到AGV控制器收到延遲要求小于100毫秒絕大多數(shù)情況下應(yīng)該落在20到50毫秒。網(wǎng)絡(luò)環(huán)境廠房內(nèi)工業(yè)Wi-Fi和有線混合部署會存在信號遮擋、漫游切換、AP重啟等情況不能假設(shè)鏈路永遠(yuǎn)穩(wěn)定。數(shù)據(jù)安全AGV調(diào)度指令涉及路徑、任務(wù)、鎖站一旦被篡改或重放輕則撞車重則夾人所以完整性校驗和防重放必須做好。調(diào)試便利產(chǎn)線維護(hù)人員不會天天拿著Wireshark抓包協(xié)議自帶的日志和故障定位能力要足夠強(qiáng)。搞清楚了這幾點后面設(shè)計基本不會跑偏。協(xié)議不是給自己炫技的而是給產(chǎn)線背書的。1.2 為什么不用現(xiàn)成的Modbus/OPC UA很多人問為什么不直接用Modbus TCP或者OPC UA。說實話如果是簡單點位讀寫Modbus完全夠原廠就是這么接的。但AGV調(diào)度系統(tǒng)里要透傳的數(shù)據(jù)是“結(jié)構(gòu)化的動態(tài)任務(wù)包”不是單個線圈和寄存器能表達(dá)的。Modbus的寄存器尋址方式做復(fù)雜報文要把數(shù)據(jù)塞進(jìn)一堆寄存器塊里還要自己維護(hù)映射表代碼寫出來極其難看排錯也費勁。OPC UA更不用提優(yōu)點是生態(tài)完整、安全模型強(qiáng)但在這種嵌入式AGV控制器上輕量級客戶端SDK不好找就算找到了ARM架構(gòu)下內(nèi)存和CPU開銷也是個問題。更重要的是AGV本體上跑的多是C/C或者專用控制器固件你讓現(xiàn)場去適配一套UA協(xié)議棧成本和風(fēng)險都不小。自研TCP協(xié)議的收益在于幀格式完全可控任何一端用C#、C甚至單片機(jī)裸機(jī)都能解析不依賴特定SDK調(diào)試和定制成本最低。權(quán)責(zé)也清晰出了問題自己翻日志就能定位不用拉著原廠一起甩鍋。1.3 協(xié)議棧的模塊邊界劃分協(xié)議棧不是寫一個類就完事我拆成了四個清晰的層項目結(jié)構(gòu)如下AgvProtocol/ ├─ Frame/ // 幀編解碼、粘包拆包、CRC校驗 ├─ Security/ // AES加密、防重放、密鑰管理 ├─ Transport/ // TCP連接管理、心跳、斷線重連 ├─ Messages/ // 業(yè)務(wù)消息定義、序列化/反序列化 └─ Simulator/ // AGV模擬器、壓測工具這樣拆分是為了以后替換任何一層都不影響其他層。比如現(xiàn)在用AES做數(shù)據(jù)加密之后想換國密算法只要改Security層上層業(yè)務(wù)代碼不用動。再比如現(xiàn)在TCP假如下一版要支持串口電臺通信Transport層封裝好接口就能接上。2. AGV調(diào)度幀設(shè)計從指令需求到字節(jié)級布局2.1 幀結(jié)構(gòu)總覽協(xié)議設(shè)計里面最容易犯的錯是把幀定得過于復(fù)雜。復(fù)雜的幀意味著解析代碼多、出錯概率高、現(xiàn)場排查難。我最終定的幀結(jié)構(gòu)是把“頭部”焊死固定“尾部”保持固定“數(shù)據(jù)段”按命令自由拼。下面是完整幀布局字段長度說明幀頭標(biāo)志2字節(jié)固定 0xAA 0x55用于幀同步協(xié)議版本1字節(jié)當(dāng)前為 0x01用于協(xié)議升級命令字1字節(jié)區(qū)分心跳、任務(wù)下發(fā)、狀態(tài)上報等消息ID2字節(jié)請求-響應(yīng)配對用于超時重傳序列號4字節(jié)單調(diào)遞增用于防重放加密標(biāo)志1字節(jié)0明文1密文數(shù)據(jù)長度2字節(jié)數(shù)據(jù)段字節(jié)數(shù)不含頭部和尾部數(shù)據(jù)段N字節(jié)業(yè)務(wù)負(fù)載CRC162字節(jié)對幀頭數(shù)據(jù)段整體計算幀尾2字節(jié)固定 0x0D 0x0A頭部一共13字節(jié)加上2字節(jié)CRC和2字節(jié)幀尾固定開銷17字節(jié)。對于AGV這種控制報文這開銷完全可接受。為什么幀尾還要加0x0D 0x0A因為萬一信道上出現(xiàn)半包、粘包導(dǎo)致幀邊界錯亂接收端可以重置解析狀態(tài)用幀頭幀尾雙重定位。有些協(xié)議只有一個幀頭做定位一旦跑飛就要丟完整包等超時這在工業(yè)環(huán)境很致命。2.2 C#里如何優(yōu)雅地編解碼幀我選擇了手動字節(jié)流方式構(gòu)建幀沒有用BinaryFormatter也沒有用System.Text.Json做全量序列化。原因是AGV控制器性能有限而且協(xié)議幀包含二進(jìn)制數(shù)據(jù)JSON不管怎么壓縮都比原生二進(jìn)制重。下面是我實際在用的編碼實現(xiàn)public static byte[] EncodeFrame(AgvCommand cmd, ushort msgId, uint seq, byte[] payload, bool encrypt, byte[] aesKey) { byte[] data payload; if (encrypt aesKey ! null) { data AesEncryptWithRandomIv(payload, aesKey); // 返回 IV 密文 } using var ms new MemoryStream(); ms.WriteByte(0xAA); ms.WriteByte(0x55); ms.WriteByte(0x01); // 協(xié)議版本 ms.WriteByte((byte)cmd); // 命令字 WriteUInt16BE(ms, msgId); // 消息ID WriteUInt32BE(ms, seq); // 序列號 ms.WriteByte(encrypt ? (byte)0x01 : (byte)0x00); WriteUInt16BE(ms, (ushort)data.Length); ms.Write(data, 0, data.Length); byte[] body ms.ToArray(); ushort crc Crc16Modbus(body, 0, body.Length); byte[] frame new byte[body.Length 4]; Array.Copy(body, frame, body.Length); frame[body.Length 0] (byte)(crc 8); frame[body.Length 1] (byte)(crc 0xFF); frame[body.Length 2] 0x0D; frame[body.Length 3] 0x0A; return frame; }這里我全表統(tǒng)一使用大端字節(jié)序。為什么不用小端因為AGV控制器端的單片機(jī)或嵌入式處理器很多是大端體系而且現(xiàn)場還有PLC設(shè)備參與聯(lián)動。統(tǒng)一大端能讓所有設(shè)備用同一套規(guī)則解析少踩一半的坑。2.3 業(yè)務(wù)消息任務(wù)下發(fā)、狀態(tài)上報與心跳幀是傳輸殼真正干活的是數(shù)據(jù)段里的業(yè)務(wù)消息。我給AGV調(diào)度定義了四組核心消息TaskAssign、TaskCancel、StatusReport、Heartbeat。以TaskAssign為例數(shù)據(jù)段里我定了這樣的結(jié)構(gòu)字段長度說明任務(wù)ID4字節(jié)調(diào)度系統(tǒng)生成的唯一任務(wù)編號目標(biāo)點位4字節(jié)點位編號優(yōu)先級1字節(jié)0-255越大越優(yōu)先動作類型1字節(jié)叉取、放貨、充電、待命等超時時間2字節(jié)單位秒0表示不限附加數(shù)據(jù)長度2字節(jié)后續(xù)附加數(shù)據(jù)長度附加數(shù)據(jù)N字節(jié)如路徑點列表、貨架編號對應(yīng)的消息類型枚舉public enum AgvCommand : byte { Heartbeat 0x01, TaskAssign 0x10, TaskCancel 0x11, PathPlan 0x20, PointReach 0x30, StatusReport 0x40, ErrorReport 0x41, Ack 0x80 }消息ID的使用規(guī)則很重要每次請求發(fā)起方遞增一個msgId接收方回Ack時必須原樣填回這個msgId。這樣發(fā)送方可以判斷哪條消息超時了、哪條需要重發(fā)。最初版本里我沒做這個機(jī)制結(jié)果丟包時根本不知道是哪條指令丟了現(xiàn)場調(diào)車的時候一片混亂。3. 工業(yè)級加密與容錯鏈路安全和可靠性怎么落地3.1 加密方案選型AES-CBC還是GCM加密這塊我糾結(jié)了很久。最初想做AES-GCM因為GCM自帶完整性校驗?zāi)芤淮涡越鉀Q加密和防篡改。但AGV控制器的算力有限有些主控芯片甚至沒有AES硬件加速指令GCM在軟件實現(xiàn)上的開銷比CBC高不少。而且我們的幀已經(jīng)有CRC16做傳輸層校驗對完整性要求已經(jīng)覆蓋了一部分最終選了AES-CBC。注意一個問題CRC只能防隨機(jī)錯誤不能防惡意篡改。如果現(xiàn)場安全要求高后面還是得上帶認(rèn)證的加密模式。我這里按工業(yè)級中等威脅模型設(shè)計防竊聽、防普通重放不防頂級攻擊者。AES-CBC落地有幾個細(xì)節(jié)private static byte[] AesEncryptWithRandomIv(byte[] plainBytes, byte[] aesKey) { using var aes Aes.Create(); aes.Key aesKey; aes.Mode CipherMode.CBC; aes.Padding PaddingMode.PKCS7; aes.GenerateIV(); // 每次加密隨機(jī)IV byte[] iv aes.IV; using var encryptor aes.CreateEncryptor(); byte[] cipher encryptor.TransformFinalBlock(plainBytes, 0, plainBytes.Length); // 返回 IV 密文方便接收端直接使用前16字節(jié)作為IV return iv.Concat(cipher).ToArray(); }解密端的前16字節(jié)取出來做IV后面才是密文。這個模式跑起來很穩(wěn)不需要額外傳輸IV字段。3.2 防重放與校驗機(jī)制防重放是工控協(xié)議容易漏掉的一環(huán)。廠區(qū)無線網(wǎng)絡(luò)環(huán)境下攻擊者哪怕沒有破解密鑰只要把之前抓到的合法幀重新發(fā)一遍都可能造成指令重復(fù)執(zhí)行——比如讓AGV重復(fù)走一遍路徑或者重復(fù)下放任務(wù)。我用了“序列號滑動窗口”的組合方案。序列號每發(fā)一幀遞增1接收端維護(hù)一個接受窗口。窗口內(nèi)的序列號按位圖記錄收到重復(fù)號直接丟棄。窗口大小為32超過窗口一半以上的批次直接重置連接這樣即使中間丟了幾個號也不會誤殺正常幀。public bool CheckSequence(uint seq) { if (_lastAcceptedSeq 0 || seq _lastAcceptedSeq) { _lastAcceptedSeq seq; _window 1; return true; } long diff (long)_lastAcceptedSeq - (long)seq; if (diff 0 || diff 32) { return false; // 太舊的幀直接丟棄 } if ((_window (1UL (int)diff)) ! 0) { return false; // 重復(fù)幀 } _window | (1UL (int)diff); return true; }這個邏輯通俗點講就像快遞站里的包裹簽收系統(tǒng)貨物按編號入庫重復(fù)送貨單號直接退件舊編號超過保留窗口就自動清理防止緩存撐爆。3.3 心跳與斷線重連AGV調(diào)度通訊的“命脈”AGV最怕的不是通信中斷而是中斷后調(diào)度系統(tǒng)不知道車在哪、在干什么。一旦丟鏈調(diào)度器如果還繼續(xù)下發(fā)任務(wù)就可能出現(xiàn)兩臺車同時搶一個工位的情況。所以心跳機(jī)制必須放在協(xié)議層而不是業(yè)務(wù)層。我定的心跳方案是AGV每2秒上報一次Heartbeat幀數(shù)據(jù)段里帶上電池電量、當(dāng)前位置、當(dāng)前任務(wù)ID、運行狀態(tài)和故障碼。調(diào)度端連續(xù)3次沒收到某臺車的心跳就把該車標(biāo)記為“離線”暫停后續(xù)任務(wù)下發(fā)。TCP層還開了?;顧C(jī)制應(yīng)用層心跳和TCP KeepAlive是兩回事。TCP KeepAlive默認(rèn)可能要等兩個小時才探活業(yè)務(wù)上根本等不起。應(yīng)用層的2秒心跳才能做到快速感知。斷線重連用指數(shù)退避AGV端如果發(fā)現(xiàn)連接斷開按1秒、2秒、4秒、8秒的間隔遞增重連最大間隔16秒。這個時間不能太短否則網(wǎng)絡(luò)抖動時所有AGV同時重連會把服務(wù)器擠爆也不能太長否則調(diào)度空窗期太長。實測下來18臺車同時掉線再恢復(fù)用這個退避策略服務(wù)器CPU占用峰值在12%不會產(chǎn)生重連風(fēng)暴。4. 三周實操時間線從模擬器到現(xiàn)場部署4.1 第1周協(xié)議原型、模擬器與單機(jī)聯(lián)調(diào)三周時間聽起來緊但節(jié)奏安排得當(dāng)是夠的。第一周我干了兩件事協(xié)議庫成型AGV模擬器成型。說實話沒有模擬器協(xié)議開發(fā)就相當(dāng)于盲人摸象。真實AGV要等機(jī)械、電控聯(lián)調(diào)完才有信號可不能等它。我用C#寫了一個AGV Simulator模擬實際車輛行為接收調(diào)度端下發(fā)的任務(wù)按路徑點逐步移動每移動一個點位上報PointReach消息遇到障礙物或故障上報ErrorReport隨機(jī)模擬網(wǎng)絡(luò)抖動每5分鐘丟一幀每10分鐘斷線重連一次模擬器的好處是所有通信細(xì)節(jié)都在可控環(huán)境里暴露出來。我把調(diào)度端日志和模擬器日志對拍用時間戳對齊分析一眼就能看到延遲超了多少毫秒、哪條消息被重傳了。這一周里最耗時的不是寫協(xié)議庫而是調(diào)字節(jié)序和踩CRC坑。我用某標(biāo)準(zhǔn)例子測CRC自測怎么都對但到了模擬器對接時CRC老校驗失敗。后來發(fā)現(xiàn)是計算范圍不一致我在CRC計算里把幀尾CRC那兩個字節(jié)位置也算進(jìn)去了接收端在解析時卻排除CRC去算兩邊口徑對不上。這種問題必須靠兩端共用一套測試向量才能提前揪出來。4.2 第2周調(diào)度系統(tǒng)集成與并發(fā)性能測試第二周開始接真實調(diào)度系統(tǒng)這一步是最容易出幺蛾子的。調(diào)度系統(tǒng)是另一個同事維護(hù)的.NET項目我們倆的代碼風(fēng)格完全不一樣。他習(xí)慣用ConcurrentDictionary我習(xí)慣用鎖對接新協(xié)議后第一個半包問題就暴露了。這里簡單說下TCP粘包和半包。TCP是流式協(xié)議內(nèi)核緩沖區(qū)合并發(fā)送接收端可能一次收到多幀的粘連數(shù)據(jù)也可能只收到一幀的一半。我的解析器在處理粘連數(shù)據(jù)時漏了循環(huán)解析導(dǎo)致一條消息包含了兩幀解析完第一幀第二幀被丟在了緩沖區(qū)里沒處理。修復(fù)思路統(tǒng)一在解析入口處加了個TryDecode方法每次讀到的數(shù)據(jù)都追加到一個待解析緩沖區(qū)循環(huán)解析出所有完整幀剩下的留在緩沖區(qū)繼續(xù)等補(bǔ)包。這個邏輯獨立寫成工具類后調(diào)度端對接就沒再出過粘包丟幀問題。并發(fā)測試這周也在做。我用模擬器起了30個TCP客戶端同時向調(diào)度服務(wù)器發(fā)送心跳和位置上報持續(xù)壓測1小時。主要觀測兩點服務(wù)器端有多少處鎖導(dǎo)致的線程阻塞以及高頻上報時消息隊列有沒有積壓。測出來的兩個性能瓶頸都很有代表性狀態(tài)上報數(shù)據(jù)里有個“當(dāng)前路徑點列表”設(shè)計時用了Listbyte每次上報都要重新分配內(nèi)存高頻下GC壓力極大后來直接換成池化數(shù)組。調(diào)度服務(wù)器處理每條消息時都打了詳細(xì)日志到文本文件高并發(fā)下日志IO反而成了最大的瓶頸。壓測時我臨時關(guān)掉日志吞吐量直接翻了三倍。所以正式代碼里日志必須是異步寫入且分級開關(guān)可控。4.3 第3周現(xiàn)場部署、環(huán)境適配與問題修復(fù)第三周就是把整套系統(tǒng)搬到廠區(qū)實地跑。我一直認(rèn)為實驗室測試做得再好現(xiàn)場總會有你想不到的驚喜。果然我們遇到了三個典型問題。第一工業(yè)Wi-Fi漫游導(dǎo)致通信瞬斷。AGV在移動時從一臺AP漫游到另一臺APWi-Fi信號會瞬間切換TCP連接雖然沒有斷開但會產(chǎn)生短暫的延遲和重傳。最開始心跳間隔2秒沒問題但任務(wù)下發(fā)后Ack遲遲不回觸發(fā)重傳后AGV已經(jīng)到位了造成重復(fù)下發(fā)。解決方案是對TaskAssign這類冪等性較差的指令收到Ack前不允許同消息ID重傳必須等超時后先查一次AGV當(dāng)前狀態(tài)再決定是否重發(fā)。第二現(xiàn)場存在電磁干擾偶爾有一兩個字節(jié)被污染。雖然CRC能檢測出來但丟幀率高了以后AGV狀態(tài)更新延遲還是會變大。后來我把狀態(tài)上報頻率從2秒提到1秒并在調(diào)度端做了“三次確認(rèn)才更新”的防抖邏輯體感好了不少。第三不同型號AGV的字節(jié)序行為不一致。有一批AGV的主控芯片是某廠商的ARM Cortex-M系列它們的固件對多字節(jié)字段默認(rèn)小端解析。我們協(xié)議統(tǒng)一大端結(jié)果這批車狀態(tài)上報里電池電量解析出來是亂碼。還好通過自定義幀頭里的版本號我在協(xié)議層做了一次“字節(jié)序兼容轉(zhuǎn)換”問題得到解決。但這也是個教訓(xùn)前期就該跟AGV控制器固件方對齊字節(jié)序而不是等真機(jī)聯(lián)調(diào)才發(fā)現(xiàn)。5. 常見問題盤點與排查技巧實錄5.1 粘包/半包的排查方法這個坑做網(wǎng)絡(luò)通信的人基本都要走一遭。我把自己用的排查方法寫下來可以直接抄先看單幀抓包數(shù)據(jù)用Wireshark或者tcpdump抓一次TCP流。如果一包數(shù)據(jù)里有多組0xAA 0x55開頭說明粘包如果只有半組完整的0xAA 0x55頭但尾部數(shù)據(jù)不完整說明半包。解析器里一定要留緩沖不能每次收到數(shù)據(jù)就按單幀解析。public ListAgvFrame TryDecode(byte[] chunk, ref Listbyte buffer) { buffer.AddRange(chunk); var frames new ListAgvFrame(); while (buffer.Count 17) // 最小直接幀長度 { // 查找?guī)^ int headerIdx -1; for (int i 0; i buffer.Count - 1; i) { if (buffer[i] 0xAA buffer[i 1] 0x55) { headerIdx i; break; } } if (headerIdx 0) { buffer.Clear(); break; } if (headerIdx 0) { buffer.RemoveRange(0, headerIdx); // 丟棄臟數(shù)據(jù) } if (buffer.Count 17) break; // 連完整幀頭都不夠繼續(xù)等 ushort dataLen (ushort)((buffer[11] 8) | buffer[12]); ushort totalLen (ushort)(13 dataLen 4); if (buffer.Count totalLen) break; // 幀未完整等待剩余數(shù)據(jù) byte[] frame buffer.Take(totalLen).ToArray(); buffer.RemoveRange(0, totalLen); frames.Add(ParseFrame(frame)); } return frames; }這個解析器默認(rèn)“丟棄垃圾字節(jié)找?guī)^”雖然效率不是最高但工業(yè)現(xiàn)場難免有殘余數(shù)據(jù)這種設(shè)計更抗干擾。5.2 加密幀解析失敗的排查速查表現(xiàn)象可能原因排查思路CRC校驗失敗CRC計算范圍不一致對齊兩端計算范圍定義解密時填充錯誤IV不一致或密文被截斷檢查IV是否作為密文前綴傳輸序列號重復(fù)被丟棄重傳過來的幀號太舊調(diào)整滑動窗口大小或重置窗口明文幀偶爾亂碼字節(jié)序不匹配用固定測試向量對拍各端解析結(jié)果服務(wù)器收不到心跳連接被中間設(shè)備斷開但TCP沒感知啟用應(yīng)用層心跳并縮短間隔5.3 現(xiàn)場排查用的實用技巧最后分享幾個我每次做工業(yè)通信項目都會用到的排查技巧這些不是文檔里能找到的做一個獨立的小工具專門解析幀日志輸入十六進(jìn)制幀輸出解析后的字段。這樣不用開Wireshark直接看日志文本就能定位問題。每條關(guān)鍵指令都要有“業(yè)務(wù)追蹤ID”不管是TaskAssign還是StatusReport同一個業(yè)務(wù)操作全鏈路共用一個ID查日志效率翻倍?,F(xiàn)場調(diào)試時不要用開發(fā)環(huán)境的日志級別直接把傳輸層日志打到信息級數(shù)據(jù)量可以大但一定要帶時間戳和連接標(biāo)識按AGV車號過濾。6. 寫到最后的一些真心話這套協(xié)議從設(shè)計到落地前后三周熬了大概四個通宵?;剡^頭看自研協(xié)議這件事本身不是最難的難的是在“不過度設(shè)計”和“充分容錯”之間找到平衡點。協(xié)議太簡單無法支撐復(fù)雜的調(diào)度業(yè)務(wù)協(xié)議太復(fù)雜開發(fā)周期和現(xiàn)場維護(hù)投入都會失控。我個人的判斷是做AGV這類移動設(shè)備的自定義通信協(xié)議一定要抓住三個核心幀結(jié)構(gòu)清晰、校驗可靠、狀態(tài)可感知。加密這類安全能力是加分項但如果沒有底層可靠性托底加密做得再好也沒用。再一個經(jīng)驗是協(xié)議棧必須配合模擬器開發(fā)先讓代碼互相打再去找設(shè)備聯(lián)調(diào)能省掉一半的時間。最后再分享一個小經(jīng)驗協(xié)議版本號的坑越早踩越好。我們的第一版部署后AGV固件升級過兩次每次改協(xié)議字段都有兼容性問題。剛開始我把版本號只寫進(jìn)幀頭但業(yè)務(wù)層沒有做版本協(xié)商導(dǎo)致老車走新指令直接解析失敗。后來改成啟動時兩端握手交換版本號并啟用最大公約版本老的AGV還能繼續(xù)用新的AGV則能享受新功能。這種項目做完我的體會是協(xié)議這東西真正約束你的不是你設(shè)計了什么而是什么場景下你沒想到。三周時間雖然緊但只要把心放在“現(xiàn)場會怎么壞”這個思路上提前想好應(yīng)對措施大部分問題都能在部署前干掉。希望這篇踩坑實錄能幫你省下幾個通宵。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩欧美字幕亚洲一区二区| 色777999综合| 久久久久国色αv免费观看| 性爱Av免费| 久久精品夜色国产亚洲AV| 亚洲一区日韩精品中文字幕 | 日韩 女同 综合| 国内亚洲精彩视频在线| www.男人天堂| 国产67194| 69精品| 9 9精品一区二区三区| 久久香蕉国产线看观看亚洲女人 | a人片中文字幕一区二区| 黄片免费视频2019| 在线情色电影 91大 | 日本性爰一道本| 另类欧美综合| 91最新综合| 国产人妖视频一区在线观看| 国产91 丝袜在线播放| 天天干人妻视频| 人妻少妇久久久| 午夜精品探花| 久久精品店| 人人妻人人爽一区二区三区| 中文97国产| 青青草天天亲夜夜操网| 成人精品在线免费视频| 少妇精品久久久八区九区| 青青草吊丝| 黄色二级片网站| 激情综合网五月婷婷五月天| 精品欧美不卡在线播放| 大JI巴好深好爽又大又粗视频| Julia Annxxxxx| 白丝少妇一区二区| 污啪啪啪视频| 久久综合五月天| 99久久精品欧美国产| 日日躁天天躁狠狠躁| 9久综合网| AV天堂国产| 躁躁躁日日躁2020| 男人天堂网手机版婷婷| 久久超碰、| 五月婷婷啪啪| 国产97色在线| 啊…啊…操我用力操我| 五月丁香网站| 天堂麻豆天美| 德国一二三不卡| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 久9综合在线| 97碰碰日本乱偷人妻中文的| 熟妇人妻一区二区| 亚洲AV在线资源| 97频视在线| 搡老女人老91妇女熟女| 精品天堂| 岛国色情视频在线观看| 黄色性爱网网| 99热国产| 五月婷婷性爱| 日本东京热大香蕉a片| 久久小视频| 成人福利视频网| 色9999日韩国产| 日韩欧美成人大香蕉| 四虎免费看黄| 日韩九九九| 人人九九精| 亚洲色图 91| 超碰97网站| 国产成人亚洲精品无码古代早漏男| 天天干天天操天天干天天操 | 男女一进一出视频久久| 日本久久女同性恋视频| 日本一区二区三区四区免费观看| 亚洲五月丁香花狠狠干一区二区三区 | 国产女同性恋视频| 免费国产视频| 欧美黄色片AAAAA| 人人乐大香蕉| 欧美综合在线91| 福利视频网站| 久操凹凸视频| 野狼激情网| 欧美日韩国产中文精品字幕自在自线,| 国产传媒美日韩av| 中文有码9| 欧亚性爱在线视频| 欧美日韩国内不卡| 欧美精品偷拍| 亚洲无码视频免费在线观看网址!| 色色色日本| 超碰国产精品久| 色99色| 欧美青青视频| 综合国产影视三级| 国产精品经典一卡久久久| AV高清一区| 亚洲风情在线观看| 草草影院在线视频| 久久精品噜噜噜成人看免欧美大片| 97资源亚洲| 亚洲欧洲精品视频发布| 97超碰jingpin| 玖玖综合视频| 九九人人操| 欧美少妇高潮久久91| 3PAV乱伦视频| 亚洲天堂自拍| 亚洲国产一级黄色视频| 一区二区三区在线资源| 色99999| 日韩操逼性鲍| 久久最新视频免费观看| 91精品亚洲内射孕妇| 极品色社| 9999久久久| 青娱乐亚洲热| 国产在线观看一区二区三区| 欧美72网页| 美日韩男女操屄视频| 大香蕉操久久| 台湾一区国产高清在线| 怡春苑东京热| 国产强奸无码乱伦| 成人一级性爱| 风流老熟女一区二区三区l| 亚洲日韩一区电影| 超碰97.com| 久久草在线综合视频| 嗯嗯嗯好爽| 97视频免费播放| 丝袜六区| 亚欧免费| 激激五月| 国产日韩无码一区二区三区久久区| 亚码激情| 一类无码操逼视频| 夜夜精品视频| 97这里都是精品| 国产操逼视频在线观看| 中文子幕一二三| 91超碰人人操| 日本 情色 1区2区3区| 白嫩国模丰满一二三区| 亚洲成人贴图| 久久久久久少妇| 超碰在线成人| 三级特黄60分钟播放| 少妇精品久久久八区九区| 日韩精品一区二区三区色欲| 呦呦一区| 人妻激情视频| 天天操天天干一区二区 | 日本操逼视频在线| 性色avv| 久久久久久久97| 秋霞曰韩R级| 蜜色网色哟哟| 亚洲一区日韩| 绯色一区二区三区不卡少妇| 青青草啪啪网| 91黑人无码激情在线| 国产精品9999| 日韩色女精品| 久久激情亚洲精品无码?V| 欧美亚洲在线| 天天插夜夜爽| 久久久久久久九九九九九九| 正在播放国产精品一区| www成人啪啪18秘 免费| 大香蕉日韩欧美| 日韩精品亚洲一二三| 亚洲制服欧美另类内射| 久久精品—区二区三区内射| 天操老女人| 超碰午夜| av亚欧| 婷婷影院入口| 富女玩鸭子一级毛片| 亚洲AV无码乱码| 久操不卡视频| 蜜臀99999| 久久精品色欧美aⅴ一区二区| 一区二区中文| 亚洲性天堂| 日韩二区三四区五区六区在线看| 欧美97在线观看| 亚州伊人色综台| 美女黄频a美女大全免费皮| 91l欧美在线| 激情第四色| 国产精品制服丝袜清纯唯美| 日韩一级二级在线| 大香蕉免费中文| 婷婷亚洲色| 99在线无码精品秘 入口黑人| 一起草三级AV电影在线观看| 丰满人妻一区二区三区四区| 乱人乱色一区二区三区免费 | 国产一二三福利视频网| 日本精品一区二区三| 欧美在线播放aaaa| 欧美精品久久久久久久久88| 国产18精品亚洲精品| 欧美aa一级片| 两性综合网| 在线性黄高清免费视频| 九九黄色网| 成人综合久久精品色婷婷| 综合操逼| 99爱爱| 久操不卡视频| 日本色色色| 97色色婷婷| 日本三级日本三级99| 蜜乳AV色欲AVAV无码| 中文字幕av乱伦| av资源在线观看少妇| 日本高清_区二区三区| 国产精品久久久久久无码红治院| 亚洲系列第一页| 国产99久久99热这里只有精品15| www色色com| 久久99久久99久久99人受| 大香蕉五月天| 在线 亚洲 网爆 自拍| 磁力99AV| 亚洲激情在线| 高清国产精品无码| 国内毛片免费h片在线| 91 刺激在线| 欧洲中文字幕| 综合网少妇| 久久人妻熟女一区二区| 国产偷拍网站| 国产浮力影院第1页| 大香蕉一线视频| 亚洲激情网一二三四区| 九九夜精品九九在线| 少妇内射视频| 欧美天天| 精品性爱一区二区| 丝袜综合| 96国产精品| 福利风月五月天影院| 四虎884a| 久久久人妻| 搡老女人老妇女AAA一VU麻豆| 人妻22p| 97干天天| 日本阿v天堂在线观看| 日日操丁香五月天| 99re8超碰| 日韩精品人妻中文字幕不卡乱码| 18禁止看精品中文字幕| 激情综合久久| 色偷综合| 无码不卡八戒| 欧美极品女人的天堂| 成熟熟女国产精品一区二区| 国产福利精品98视频| 国产成人bd在线观看| 日韩欧美女优电影| 天天综合~91| 中国农村熟妇毛片视频| 无码又爽又硬又激情免费视频| 大香蕉国产中文自拍| 91亚洲综合在线| 神马久久久久久伦理片| 天天干人妻| 中国AV美女| 色综合一区二区三巨| 另类成人首页一区| 成人麻豆av电影网站| 国产超碰国产97| 怡红院久久老司机| 国产精品免费美女视频| 欧美91网站| 中文字幕天堂在线| 天天看片天天爽| 91性网| 黄aaaaaaaaaaaaaaaaaa色网站| 欧美精品双插| 日小BB小视频| 啊啊啊快操我视频| 成人三一级一片aaa| 日本九九久久99播| 国产无码成人无码| 99re6国产精品99re在线| 丝袜足交视频| 亚洲无线码欧洲精品区别| 91老熟女逼| 夜夜躁狠狠躁日日躁av| juliaann精品熟女一区| 看日韩黄片| 亚洲日韩肥臀视频在线观看| 情色大香蕉| 亚洲一区二区性爱电影| 亚洲少妇综合在线播放| 在线一区| 亚洲无码一区二区三区三州| 日韩欧美中文字幕搭讪巨乳美人妻视频| 亚洲一级性爱视频免费看| 狠狠亚洲| 久久精品性| 欧美色图99| 丁香婷婷啪啪| 黄片免费日韩| 91网站在线播放| 综合久| 美女性91| 老熟妇综合| 亚洲无码免费看| 午夜无码熟妇丰满人妻| 丁香婷婷九月| 国产又粗又大硬免费色网视频| 97国产色综合| 高潮毛片无遮挡高清免费| 色大师网站www永久网站视频| 日本免费一级AAA大片器| 中文字幕无码不卡啪啪| 小少妇| 久久国产AⅤ| 蜜桃丰满熟妇av无码区不卡| 天天日天天爽| 日韩在线欧美精品一区二区| 亚州Av天美传媒| 日本三级中国三级99人妇网站| 午夜性刺激视频免费观看| 成人综合网 欧美| 一区二区三区四区免费视频| 国产欧美在线观看免费观看| 97亚洲国产| 91麻豆天美国产欧美日| 亚洲色 国产 欧美 日韩| 97超级久久| 9超碰免费| 婷婷亚洲五月***久久| 久草在线| 国内外激情在线| 91色图片| 九色97| 在线A日本| 丰满人妻区一区二区三| 美性中文综合网| 一块操欧美性爱| 亚洲精品一区二区精华| 欧美色综合网| 97超碰总站| 99精品丰满人妻无| 亚洲激情网| 午夜男人av| 精品免费视频国产一区| 超碰99在线观看| 极品销魂美女一区二区| www欧美91| 黄久在线| 青青伊人久久| 国产精品欧美激在线| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 久久一二三级一一一| 99久久网站| 国产69精品久久久久99尤物| 日日夜夜精品| 免费国产电影一区二区| 国产无码精品久久久久久| 日韩91网| 97欧美资源| 老熟妇一区二区三区| 亚洲日产专区婷婷| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 亚洲国产美女久久久久| 操一操摸一摸| 在线日韩日本亚洲国产| 欧美色偷偷| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 久久久久久免费电影| 亚州综合AⅤ| 蜜桃在线观看一区二区三区| 69精品人人人人| 午夜欧美J进J出白浆流出久久久| 日韩一区二区熟女| 色综合加勒比四四季| 97色插| 女一区二区| 91天美传媒精品| 日本啊啊啊啊啊视频| 乱理日韩中文| 一区二区三区蜜桃成人撸久久东京热| www.99热在线只有精品| 亚洲人91| 少妇的嫩逼图片| 97在线免费看视频| 欧美18老人禁| 约操熟妇| 97综合在线| 男人的天堂亚洲| 91啪9色| 中文字幕人妻色偷偷久久皮| 欧美洲精品一级| 四虎影视国产精品| 欧美不卡在线一区二区| 久久AV无码网址| 丁香成人五月天| 天美传媒国产原创中文字幕亚洲欧美另类| 亚洲18禁| 精彩久久中文| 99久久99九九99九九九| 殴美,日韩国产伦精品| 和协无码影院| 国产蜜臀在线| 色欲天天综合久久久无码网中文| 思思热久久成人| 婷婷综合久久| 欧美性爱网97| 91色插| 免费无码国产精品v片在线观看| 欧美日韩国产高清在线一二三区| 婷婷六月色开| 99精品丰满人妻| 狠狠色五月亚洲91| 97超碰磁| 一起草AV| 亚洲综合情色| 国产午夜精品理论片一二三区区| 一个人免费HD91视频| 熟女丰满人妻一区| avav青青草久久夜| 一本色道久久天天射天天干| 亚洲成人免费在线| 强奸熟女一区二区三区 | www.99热| 久久久少妇诱惑精品视频| 欧美牲| 国产一区二区在线电影| 动漫区日韩区欧美区| 色噜噜日韩精品| av无线看| 亚洲美女30b| 精品97久久| 中文字幕精品一区二区精| 亚洲少妇色| 一区二区亚州激情久婷婷欧美| 午夜性刺激视频免费观看| 亚洲砖码砖专无区2023| 大香蕉宅男伊人| 亚洲全色网| 亚洲精品a人片在线观看视| 吉田爱美AV在线| 久久久久夜夜夜夜| 国产按摩一区二区三区| 欧美92| 亚洲图片欧美在线视频| 日本免费一区二区不卡| 日日噜噜夜夜狠狠视频无| 亚洲欧洲视频小说在线观看| 干超碰碰熟女| 嗯嗯啊啊视频在线看| 怡红院久久老司机| 中文字幕在线观看丝袜| 国产精品农村妇女| 久久人妻丝袜一区二区三| 久操免费电影| 欧美激情综合色综合啪啪五月| 岛国艾薇凹凸视频天堂| 磁力99AV| 日本欧美韩国国产在线| 超碰综合色| 五月天久久综合网| 国产五码丝袜屁眼| 亚洲精品国产熟女久久久久久| 精品网站99999| 色网在线视频观看免费| 亚洲天堂美臀在线| 午夜男女爽爽爽在线视频| 嫩草 我啊~嗯~在线| 玖玖玖玖精品国产剧情| 亚洲同性aV综合| 婷婷五月色| 丰满熟女一区二区三区在线播放| 99爱久久视频频| 超碰免费人妻人人| 午夜毛片高清免费不卡| 久久香蕉综合一本到3atv| 欧美日韩中文字幕不卡| 97二区四区| 亚洲一区操| 使劲用力艹少妇视频一区二区| 无码天天操| 欧美96交| 色噜噜国产在线| 91性高朝久久久久久久久| 97一区二区三区视频| 日韩一级片在线看| 美女黄网| 插入粉嫩少妇视频| 蜜臀av在线播放一区二区三区| 亚洲情色欧美| a人片中文字幕一区二区| 久久肏大逼| 啊啊啊好想要| 人人爽夜夜玩视频| 情色日播放AV| 成人免费福利在线观看| av网站免费看| 中文熟女五十乱码在线| 性色avv| 夜嗨影院| 中文AV制服乱伦| 91在线一起| 97超碰热线| 色五月丁香五月| 午夜a成v人电影| 97精品一区二区视频在线观看| 日本人妻一区二区| 久热大香蕉| 国产精品盗摄 偷窥盗摄| 久热在线精品免费观看| 狠狠色婷婷| 日本精品五区| 人人操人人精品影片| 人人手机欧洲亚洲国产人妻| 欧美日韩岛国大片在线观看| 国产无码精品成人| 久操视频资源站公开| 国产91美女视频| 伊人精品视频| 97久久精品亚洲| 91爆操视频| 中字幕人妻一区二区三区| 99热欧美| 亚洲综合伊人| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 青娱乐淫乱1314| 人妖欧美一区二区| 91无摭挡| 亚洲网污污污污| 67194无码不卡| 另类小说五月天| 尤物国产一区在线观看| 成全在线观看免费观看| 国产精品爱欲| 影音先锋日本乱伦| 亚洲伊人成综合成人网| 天天日夜干| 91无码人妻精品一区二区三区蜜桃| 天美传媒在线一区| 天天日天天舔东京热| 综合网,亚洲,欧美| 日本三级久| 9+1视频网址| 欧美 亚洲 偷拍自拍| 岛国艾薇凹凸视频天堂| 亚洲欧美综合色| 97资源超碰| 好看的91视频| 91国产丝袜白虎| 男插女青青影院| 亚洲精品日韩国产欧美| 鸥美极品| 青娱乐二区免费| 91女神在线视频| 大香蕉操久久| 国产精品国产自产拍高清AV| 美女在线H91| 夜夜高潮夜夜爽| 国产农村妇女精品一二区| 亚洲熟女综合| 免费成人在线熟妇网| 国产中文福利| 国产又大又粗又长视频| 国产馆| 久久激情婷婷| 久久久久亚洲熟妇熟女| 白天啪啪晚上啪啪视频| 亚洲精品日韩国产欧美| 天天日夜夜爽| 中文久久一区| 欧美在线|亚洲| 亚洲高清色综合| 国产品精品自在在线午夜免费| 久操91视频| 91足交| 九九热精品| 人人爱夜夜爱| av草草在线电影| 日本女人久久久| 欧美日韩另类在线| 91精品国产高清久久久久久,亚洲成人| 无套内射性感少妇视频| 日韩av三四区| 久草综合网| 日韩国产精品人妻无码久久久| 精品成人亚洲午夜电影| 97色婷婷| 日本黄大片在线观看视频| 久久久久亚洲三级电影| 亚洲福利中文字幕在线| 91女神在线视频| 亚洲人精品久久久| 亚洲**2021在线观看| 在线观看国产黄色| 91av天美性媒精品视频| 欧美色97| 日本视频一区二区三区| 老色69| 破处bbq| 奇米四色网| 99热| 一摸二插三插| 亚洲精品三区在线观看| caopeng97| 国产精品一区二区麻豆| 精品毛片av一区二区| 国产 日韩 欧美 人妻 熟女 中文| 97AV在线免费观看| 蜜乳中文字幕a在线| 99久久综合网| 91亚洲欧美综合高清在线| 国产无码久久高清| 91亚州日韩高清| 四虎免费在线播放| 加勒比久久综合网高清| 日本A级视频| 亚洲日韩天堂| 五月天偷拍| 久久青娱乐| 久久激情亚洲精品无码?V| 欧中日成人免费影视| 96久久久久| 天天色播| 亚洲日韩资源| 午夜福利成人免费视频| 日韩欧美天天爽爽爽天天爽爽| 久久成年片色大黄全免费网站| 67194国产| 精品久久久一本一道| 岛国艾薇凹凸视频天堂| 一本色道久久综合熟妇| 国产AV毛片| 天天操美美| 人妻少妇被猛烈进入中| 欧美夜夜骑视频| 日韩操逼HD| 精品无码久久久久| 极品尤物自安慰| 人妻熟女一区二区| A片 AV一级在线播放观看免费| 欧美玖玖爱免费玖玖| 亚洲系列第一页| 日韩精品影视| 日韩精品一区二区三区色欲 | 超碰97人人cao| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 96久久精品一二三区色欲| 日本精品无码三级网站| 精品176精品2| 丝袜美腿制服人妻二区中文字幕| 91少妇通奸网站| 激情久久av一区av二区av| 97久操| 丝袜美腿欧美| 美女熟妇色| 97视频新免费| av九九| 精品人妻一区二区三区四区不卡在| 伊人天堂在线| 收看日本人日bb| 欧美日本不卡| 亚洲国男人的天堂| 亚欧毛片基地国产毛片基地| 99热18这里只有精品| 婷婷丁香在线| 日韩成人高清一区二区| 91在线/欧洲| 伊人婷婷五月天| 亚洲日韩人妻中文字幕一区| 9999九九九久久久| 男人的天堂啪啪啪啪啪蜜桃不卡| 欧美色狠| 风月影院男女十八禁| 日本三级大片| 男人天堂黄片| henhen91| 嗯嗯啊啊好大好爽| 欧洲天天在线| 久久久免费一级黄片| a'v在线资源| 超碰 国产熟女精品一区| 人妻久热在线| 国产福利影视| 免费av在线播放二区| 天天综合~91| 亚洲精品骚逼| 加勒比无码一区二区三区| 国产精品一区午夜福利| 五十路熟女人妻一区二区在线观看| 亚州久久9| 欧美图片偷拍| 日本欧美国内在线| 手机在线A片| 操国产高清| 欧美96交| 精品成人女人久久| 国产a级精品| 99热综合| 欧美成人一区二区三区在线播放| 一本色道综合久久欧美| 日韩有码专区| com 首页 18岁 禁区 女优 免费 精选 同城| 夜夜操91744565| 婷婷色中文字幕| 亚洲情色中文字幕一区| 99视频这有这里有精品| 干少妇视频| 91男女| 久久精品电影| 欧美少妇性乱| 日韩综合无码一区久久92| 亚洲综合在线91| 国产精品动态一区二区三区四四| 日日夜夜青青草母狗| 亚洲情色婷婷五月天| 婷婷色色五月| 99热最新| 日本日逼视频网| 亚洲AV成人无码久久精品播放| 操逼片国产| 中文字幕精品一区欧美| 超碰在线人妻中文字幕| 亚洲乱码精品一区二区| 久久神马| 啪啪性爱免费视频| 欧美一级黄色免费专区| 夜草网站| 亚洲日韩人妻中文字幕一区| 乱伦强奸区日韩| 亚洲97综| 久久精品一区二区一8| 婷婷色综合欧美日韩| 97欧美精品| 大学生美女口爆| 日韩性爱小视频| 少妇高潮流水av免费| 亚洲一区操| 思思热免费在线视频| 人人操人人插人www| 亚洲中文国际强奸字幕| 99精品成人免费看| 另类专区在线观看| 人妻啊啊人妻啊| 亚洲AV乱码专区国产噜噜亚洲| 18一区二区三区| 台湾大香蕉99热| 久久久久久久久国产| 噜噜瑟| 国产久久久久久| 国产精品又黄又猛又粗| 日本熟女免费視颖| 国产亲戚伦亲在线| www超碰| 九色 人妻 大香蕉| 又摸又舔在线观看网站| 九九九九九九九九九九九蜜桃| 好一吊区二区| 偷拍盗拍亚洲色图图片| 91AV入口| 日韩亚洲Av人人夜夜澡人人爽| 91啪啪视频| 99自拍B亚洲| 91国产在线精品| 啊啊啊啊好多水| 一级婬片120分钟试看| 色哟哟511老熟女| 天天干天天插| 好屌色综合| 97超碰欧美精品| 中文字幕五月婷婷免费| 国内三级自拍小视频在线观看| 欧美亚涩| 超碰 国产熟女精品一区| 精品午夜福利| 亚洲drav色图| 亚洲资源站| 国产中文精品一区二区在线观看| 丁香五月成人| 九九九九九九九九九九精品视频| 九九操久久国产免费视频| 日韩免费福利在线观看| 久热大香蕉| 欧美 牲| 亚洲在线91| 美国aaaaa一级黄片| WWW4虎| 懂色AV网| 久操网无码在线| 熟女丰满人妻一区| 欧美日韩妖精91com| 乱伦一区二区三区‘| 六月色婷婷| 国产精品69久久久久孕妇欧美| 日韩成人无码| 五月丁香六月激情| 97伦乱| 国产Av超碰| 极品丝袜无码| 久久精品操| 欧日a| 天天射夜夜| 丁香五六月啪啪| 日本超碰在线国产一区| 久久精品国产97欧美精品亚洲 | 免费中文综合精品| 青草视频在线看看看看看看看看看| 亚洲精品一区二区免费在线观看| 翔田千里AV无码秘 三区| 久久色情| 日日躁天天躁狠狠躁| 天天天天天天天天天天干美女| 国产女同性恋视频| 欧美片第一页| 一区二区久久天天干狠狠| 唯美清纯 妖精视频| 亚洲精品国产精品乱码不99| 99在线啪| 日本一本道A级黄色毛片试看60分钟| 九九自拍伦理| www.yeyecao| 亚洲综合小视频小说在线观看 | 欲色影视综合吧| 试看日韩黄片| 久久国产视频专区一二三| 91精品国产91久久青草| 91精品成人www| 2017大香蕉| 亚洲最大黄网| 丰满美女一级毛片在线播放| 久久久久9久久久久| 深夜福利黄片| 91色噜噜狠狠| 人妻一区二区三区视频| 97超级欧美| 国产成年女人免费视频播放a| 乱老熟女一区二区三区| 亚洲 日本 国产 综合| 日韩电影天堂视频一区二区| 日韩美女操b| 日韩精品黄片免费观看| 国产精品视频在线播放| 亚洲乱码国产乱码精网站| 熟女熟妇伦久久影院毛片一区二区| 伊人黄色视频免费观看| 99久久久| 亚洲91av| 大香蕉黄色一级片免费看| 国产久久日| 久久久97| 农村女一级毛卡片| 啊啊啊啊二区好大| AV无码久久久精品| 欧美亚洲手机在线| 熟妇视频一区二区三区在线观看| 99久久久无码精品国产人| 强奸熟女一区二区三区| 婷婷伊人网| 久久夜夜| 任你干在线视频| 亚洲人成网www| 国产午夜福利电影免费在线观看 | 精品人妻1区| 夜夜国自区| 色妹子A V| www.av在线视频| 91性网| 男生女生啊啊啊啊| 97精品综合久久| 国内精品久久人妻性色av| 久久久草草精品| 四虎AV无码| 白嫩国模丰满一二三区| 在线视频亚洲无码| 婷婷激情五月综合| 97干色天堂| 国产精品三级视频网站| 黄片视频观看| 亚洲玖玖爱| 久久香蕉超碰97国产精品 | 亚洲欧美洲综合| 99国产精品久久久在线播放| 五月丁香啪啪啪| 不卡av在线中文字幕| 日日摸日日碰夜夜爽视频| 蜜臀AV成人精品蜜臀| 五月丁香亭亭| 激情视屏国产乱伦强奸| 香蕉欧美| 亚洲高清综合网| 日韩亚洲97| 黄色十八禁网站| 亚洲成人av色网| 国产真实野战在线视频| 国产亚洲精品一区二区三区| 怡红院成人视频| 97视频新免费| 久久久久久久久久久999| 亚洲少妇色| 久久露脸国产老熟女| 亚洲欧美日韩免费电影| 操国产逼| 啊啊啊操死我| 久久在肏| 午夜亚洲| 亚洲精品乱码久久久久久蜜桃麻豆 | 人妻人久久精品中文字幕| 人人超碰在线观看黄| 久久a久久| 97超碰国产精品| 大香蕉520| 午夜免费福利视频一区| 日本一区二区做爱的视频| 在线观看成人性爱免费小视频| 中英熟女操女| av网站免费看| 女人天堂av在线播放| 亚洲熟女人妻中文字幕一区二区| 我爱操| 熟妇一区,二区,三区。| 秋霞福利网| 操91| 久久久久久久国产a∨| 极品销魂美女一区二区| 97香蕉网| 日本操逼视频在线| 日韩精品字幕| WWW啪啪的com| 四虎影视永久在线免费| 操逼逼中文字幕| 国产精品无码论坛| av凤凰久久久| 超碰九色| 插入综合网| 射丝袜高跟鞋99| 大香蕉国产中文自拍| 亚洲限制级| 久操影视| 国产精品另类| 国产精品扒开腿做爽爽爽视频| 欧美天天性| 国产精品不卡一区二区三区av| AV乱伦专区| 国产精品久久久无码AV网站| 人妻日日干| 99热综合| 人妻美腿丝袜制服诱惑综合天堂-| 伊人成人情色综合| 少妇第一页| 日本2020一区二区| 啊啊啊啊网站| 日韩精品碰碰| 一级A啪啪啪啪| 男人天堂久久精品| 日本一区99| 91老熟女91老女人| …亚洲黄色厕厕女女在线播…| 天天看夜夜看日日干| 一区不卡在线观看av| 国产一区二区三区精品观看啪| 国产999精品久久久久久| 熟妇熟女一区二三区| 狠操91,com| 91熟女在线| 亚洲激情综合另类男同| 无码国产精品午夜不卡( | 一级毛片电影免费看| 成年女人黄网站| 久青草影院| 青女在线| 久久区| www.伪伪| 国产91美女高潮| 日本淫穴在线| 色汉综合| 国产一区二区三区导航| 欧美综合骚| 久久精品无码不卡| 伊人操你| 99综合网| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 亚州图片第一页| 中文字幕第9页萱萱影音先锋| 国产激情在线观看| 国产不卡中文字幕免费avi| 色色97爱| 欧美色性爱| 中文字幕视频2区| 欧美综合综合| 四虎影视永久在线免费| 中文伊人大香蕉视频| 啊啊啊啊啊好舒服视频| 亚欧高清| 首页亚洲国产高跟丝袜诱惑视频| 欧美亚洲se91| 美国日韩黄片| 中文字幕人妻丝袜| 欧美色图小说综合| 国产精品美女在线一区| 少妇国产不卡| 欧美色图91| 我要看免费韩日黄片| 中文字幕在线2| 大屁股人妻女教师撅着屁股| 熟女精品一区二区三区| 日日AAvv| 在线无码操| 欧洲精品一二三在线| 国模无码人体一区二区三| 精品久久青青草| 亚洲色电影在线| 国产无套粉嫩白浆在| 亚洲综合校园春色| 中文字幕一区二区在线日韩精品| 宗合情欲网| 久久久久久网址| 亚州操操穴网| 男人天堂网站| 久热伊人99re| 神马久久午夜| 亚洲图片欧美91N| 亚洲 在线| 嗯啊不要啊在线 | 思思热在线视频免费| 日本熟妇熟色97一本在线观看| 男人兔费天堂| 大香蕉一人| 九九色热| 欧美色图91| 九九天堂| 国产精品成久久久久午夜午夜| 国产四虎在线| 日韩精品中文字幕人妻| 美女高潮视频91| 国产成人 综合亚洲 天堂| 丝袜视频一区二区在线播放国产中文 | 久久久久久久国产视频| 久久九操在线观看| 欧亚在线视频| juliaann欧美丝袜办公室| 98一区二区精品| 久草尤物| 国产精品久久久久久久久久久久久久久久 | 成人精品视频一区二区| 夜夜操美女| 91影视亚洲| 亚洲色欲天天人妻无码系列专区| 国产农村妇女毛片精品久久| 黑丝少妇| 日产欧美电影一区二区三区| 欧美日韩精品久久| 日韩欧美亚洲一区二区三区影院 | 人妻少妇久久久| 12一15性XXXX粉嫩国产| 欧美78| 2020国产精品| 97超碰碰| 欧美在线视频播放| 开心五月婷婷激情| jazzjazz国产精品麻豆| 欧美亚洲厕所精品偷拍91| 亚洲AV无码国产精品久久久久| 国产一线二线三线av| 天天干一区二区| 色黄色美女大长腿午夜视频| 啊啊在线| 91网亚洲| 天天天天天干夜夜夜夜夜操| 久久亚洲AV无码白度| 91爰爱欧美| 午夜天堂啪啪| 人妻一区二区三区视频| 人乳av| 18一区二区三区| 户外裸露刺激视频第一区| 欧美亚洲小说| 91久久久久久久| 97中文超碰| www国产天美久久久| 97操| 久久宗合97| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 婷婷视频在线免费观看| 国产性爱强奸乱伦大全| 97草草| www.四虎在线| 91粉嫩萝控精品福利网站_精品影音先锋国| 少妇久久久久久| 国模91| 四虎免费看黄| 天天干天天爽| 蜜乳AV一区二区三区四| 精品国模无码| 色综合天天爱去电影网| 亚洲综合性网址| 中文字幕一区二区三区蜜臀| 日本午夜福利影院| 久久精品日韩| 女性喷水高潮在线观看| 亚洲一区二区av| 91n免费处女| 久久中文色图| 97天天爽| 99久视频| 人妻中文字幕日韩电影| 国产亚洲深夜激情| 九九AV| 91性网| 亚春色色| 久久亚洲日韩国产欧| 亚洲污污网站| 色情亚洲日本成人| 青青草原狼av| 欧美1727免费观看视频| 日韩无码专区| 欧美亚洲日本激情在线| 最好看的中文字幕在线2018| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 性videos欧美熟妇hdx| 亚洲全色网| 少妇蹲下露出大唇5| 熟女熟妇一区二区三区视频| 国产久久男人天堂| 成人十八禁日韩欧美一二三| 在线视频五十市| 久久久久久久78| 天色综合网| 自拍丝袜美腿人妻| 超碰 另类 欧美 | 欧美97网| 蜜臀久久99精品久久久久久成人小说 | 欧美性爽xyxOOOO| 亚洲人成在线放东京热| 天天日天天干天天操| 丰满人妻区一区二区三| 九九碰九九爱97超| 亚洲欧美第一页| 97干色天堂| 久久久不能久久久久| 粉嫩不卡一区二区性爱| 玖玖爱一区在线| 超碰天天操| 日产123区精品免费观看| 青青操视频在线| 精品一区二区2| 亚洲欧美综合网| 色欲久久99国产精品久久久久久| 美女性91|