日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

邊緣網(wǎng)關(guān)如何解耦遺留系統(tǒng):新能源出海項目通信架構(gòu)升級實踐

邊緣網(wǎng)關(guān)如何解耦遺留系統(tǒng):新能源出海項目通信架構(gòu)升級實踐 凌晨兩點庫爾勒那邊的風電場項目打來電話說數(shù)據(jù)采集服務(wù)又串包了。原因還是老一套——上位機每隔幾秒就輪詢一遍幾十臺設(shè)備的Modbus寄存器老的通信服務(wù)程序每處理完一輪請求就要重新初始化一次串口句柄現(xiàn)場有臺設(shè)備偶爾響應(yīng)慢整個鏈路就卡死了。這已經(jīng)不是我第一次在新能源項目的現(xiàn)場聽到類似的問題尤其是那些帶著“老底子”出海的裝備問題會成倍放大。傳統(tǒng)裝備制造企業(yè)做新能源出海有個很容易被忽視的坎設(shè)備本身是新的BMS、PCS、EMS也都是新采購的可一旦要把這些設(shè)備接入到原有的生產(chǎn)管理系統(tǒng)、監(jiān)控后臺、運維平臺就立刻暴露出老系統(tǒng)的各種“不服”。這些遺留系統(tǒng)可能是十年前用C#寫的桌面服務(wù)程序跑在一臺Windows工控機上也可能是早期采購的嵌入式通信管理機只支持一路Modbus主站升級一個點位都要廠家遠程改固件。你帶著一臺非常先進的儲能變流器出海最頭疼的反而可能是這套老掉牙的通信底座。我在好幾個項目里被這個問題反復(fù)折磨之后徹底明白了“解耦”這兩個字的分量。這篇文章不聊怎么把遺留系統(tǒng)推倒重來那種事大概率不現(xiàn)實也沒必要。我想說的是怎么用一臺邊緣網(wǎng)關(guān)把那些跑了幾十年還不得不用的遺留系統(tǒng)從新能源裝備的高速演進中“摘”出來讓老的繼續(xù)按老的方式活讓新的用新的節(jié)奏跑兩邊互不拖累。先說個直白的結(jié)論邊緣網(wǎng)關(guān)在解決這個問題上不是錦上添花的“加個盒子”而是體系層面的“翻譯官隔離艙數(shù)據(jù)池”。它能同時解決協(xié)議不同、周期不同、數(shù)據(jù)結(jié)構(gòu)不同、物理接口不同這幾個層面的糾纏。而“解耦”這個動作也不是一次性工程它分成代碼解耦、硬件解耦、數(shù)據(jù)解耦、部署解耦四個層次真正的項目經(jīng)驗恰恰是這一點最容易被忽略。1. 出海項目里的遺留系統(tǒng)到底“遺留”在哪個環(huán)節(jié)1.1 不是所有老系統(tǒng)都該拆但要先找“卡脖子”的依賴做海外新能源項目的人都知道設(shè)備出口不同于國內(nèi)項目最大的變化是“邊界條件”變了。國內(nèi)你可能只需要對接電網(wǎng)調(diào)度、省市級平臺協(xié)議固定、平臺固定、響應(yīng)要求明確。到了海外每個國家的電網(wǎng)標準、通信規(guī)約、當?shù)乇O(jiān)管要求、業(yè)主運維習慣都不一樣有些地方甚至要求同時上送兩個甚至三個國標協(xié)議還要支持本地私有協(xié)議對接。問題就出在這里。你的新能源設(shè)備儲能集裝箱、光伏逆變器、風電變流器本身通信能力很強新的是Modbus TCP、IEC 61850、IEC 60870-5-104隨便選??墒抢系倪z留系統(tǒng)不是這樣它可能只能接受一種協(xié)議格式而這種格式還是十年前的一個項目組定死的字段長度、枚舉值定義、刷新頻率全都寫死在代碼里。我見過最典型的一個項目儲能集裝箱配套的老監(jiān)控系統(tǒng)底層通信程序把采集周期寫死成1秒但EMS的遙測數(shù)據(jù)是3秒才刷新一次結(jié)果老監(jiān)控界面上的SOC值每秒都在跳看起來就好像數(shù)據(jù)異常實際上老通信程序在拿3秒未更新的緩存數(shù)據(jù)反復(fù)上報。要解決這個問題常規(guī)思路是改監(jiān)控系統(tǒng)的代碼但這家廠家告訴我們這套系統(tǒng)是從歐洲某廠商買的源碼核心工程師已經(jīng)離職代碼注釋還是荷蘭語——想改根本無從下手。這是遺留系統(tǒng)的第一種“卡脖子”接口定義和業(yè)務(wù)邏輯深度耦合改任何一個字段都可能影響整套系統(tǒng)的穩(wěn)定性。1.2 老舊上位機通信程序的三大通病拋開代碼層面一個跑了五年以上的遺留系統(tǒng)在實際運行中普遍存在三個通病而這些通病在新能源出海場景下會被顯著放大。第一是單點輪詢瓶頸。老的上位機通信服務(wù)程序多數(shù)是單線程輪詢設(shè)計一臺主機掛幾十臺設(shè)備就接近上限了一旦總線里有一臺設(shè)備響應(yīng)慢后續(xù)所有設(shè)備的輪詢都會阻塞。海外項目通常要求接入更多的設(shè)備節(jié)點比如整車車隊、多臺儲能柜、分布式光伏陣列老系統(tǒng)根本扛不住。第二是協(xié)議單一死板。老系統(tǒng)往往只支持64點以內(nèi)的點位表或者只支持一種規(guī)約比如只有Modbus RTU主站面對海外項目動輒幾百上千的點位以及IEC 61850、DL/T 645、MQTT等多協(xié)議需求完全沒有擴展能力。第三是硬件綁定嚴重。老通信程序往往和工控機綁定依賴串口中斷、依賴操作系統(tǒng)版本、依賴特定廠商的USB轉(zhuǎn)串口驅(qū)動。一旦出海換了一臺新電腦或者客戶指定要裝在某款國產(chǎn)操作系統(tǒng)上程序就聯(lián)調(diào)不過去。這三個通病放在一起本質(zhì)上說明了一件事遺留系統(tǒng)的軟硬件生命周期已經(jīng)跟不上海外新項目的迭代速度。如果你硬著頭皮讓老系統(tǒng)去適應(yīng)新需求要么尋求原廠支持大概率要付費且周期漫長要么自己改代碼風險不可控要么就是在這種困境里反復(fù)消耗現(xiàn)場工程師的時間。我見過太多海外項目電氣工程師是在業(yè)主群里的Chat記錄和十幾個微信群里被遠程協(xié)調(diào)拉鋸戰(zhàn)折磨到崩潰的。1.3 邊緣網(wǎng)關(guān)介入的底層邏輯做中間層而不是改造者這些困境疊加在一起催生出了一個非常實際的需求——不指望老系統(tǒng)變得更聰明只求它能繼續(xù)穩(wěn)定輸出原來的數(shù)據(jù)同時讓新系統(tǒng)的接入工作不被它拖住。邊緣網(wǎng)關(guān)在這套邏輯里扮演的不是“改造者”而是“中間層”。它向下接管所有新老設(shè)備的通信向上統(tǒng)一對外提供標準的數(shù)據(jù)接口。老的遺留系統(tǒng)不需要知道外邊來了多少個新設(shè)備、換了什么協(xié)議它只需要按照自己熟悉的節(jié)奏跟邊緣網(wǎng)關(guān)這一臺“設(shè)備”打交道就夠了。這么做有個非?,F(xiàn)實的好處對遺留系統(tǒng)的改動量可以降到零。我們后續(xù)的項目里甚至有不少老系統(tǒng)本身硬件已經(jīng)壞掉了我們直接用邊緣網(wǎng)關(guān)的串口服務(wù)器功能模擬出一個以原IP和端口號存在的虛擬設(shè)備老平臺以為自己在跟原來的設(shè)備通信其實鏈路已經(jīng)被網(wǎng)關(guān)改道了。這就是解耦的精髓——不讓任何一端為了另一端犧牲特性和節(jié)奏所有變化都收斂在網(wǎng)關(guān)這一層處理。聽起來簡單真正落地要做到什么程度下一節(jié)展開說。2. 解耦的完整設(shè)計斬斷四層糾纏2.1 代碼解耦從“硬編碼”到“配置驅(qū)動”先聊軟件工程師最關(guān)心的代碼解耦。遺留系統(tǒng)里面最糟糕的代碼不是寫得亂而是邏輯全寫死在業(yè)務(wù)代碼里。舉幾個我在新能源項目里遇過的真實例子Modbus寄存器地址直接散落在業(yè)務(wù)代碼的各個角落改一個點位要全局搜索。串口參數(shù)、超時時間、重試次數(shù)寫在配置文件中但代碼里到處都是open()前臨時修改全局變量。業(yè)務(wù)邏輯和通信邏輯混在一個回調(diào)函數(shù)里收到一個遙測幀就直接更新界面、寫入數(shù)據(jù)庫、觸發(fā)報警中間沒有任何中間層。在一個出海項目里這種代碼耦合幾乎是致命的。因為海外業(yè)主的驗收往往要求提供協(xié)議一致性測試報告而字段每次調(diào)整都要重新編譯、發(fā)版、現(xiàn)場部署一輪一個項目下來光版本更新就二十多次。我們用邊緣網(wǎng)關(guān)做代碼解耦時核心手段是“配置驅(qū)動”。在網(wǎng)關(guān)里維護一個點位映射表把設(shè)備側(cè)的點位比如PCS的直流母線電壓寄存器地址30001映射成業(yè)務(wù)側(cè)的標準數(shù)據(jù)點比如dc_bus_voltage所有協(xié)議轉(zhuǎn)換、地址翻譯、格式轉(zhuǎn)換全部由網(wǎng)關(guān)完成。業(yè)務(wù)平臺對接的不再是某款設(shè)備的私有寄存器而是一份標準的JSON/Modbus/MQTT數(shù)據(jù)模型。這樣做完之后代碼改動被收斂成“配置修改”。新增設(shè)備時你只需要在網(wǎng)關(guān)的模板庫里選一個相似設(shè)備的模板改一下設(shè)備IP和點表不用重新寫代碼變更點位屬性時正常一個點位的配置修改在兩分鐘之內(nèi)就能完成不用再做版本發(fā)布。2.2 硬件解耦把應(yīng)用從物理硬件上“摘下來”代碼層面的解耦做完下一個棘手的問題是硬件。很多遺留系統(tǒng)跑在特定的硬件上比如一個老式的工業(yè)平板、一臺帶PCI串口卡的工控機。這些硬件要么停產(chǎn)要么因為海外項目需要通過EMC、高低溫、鹽霧測試而根本過不了檢。硬件解耦的本質(zhì)是讓上層應(yīng)用不再依賴特定硬件特性把它們封裝起來讓程序跑在任何一臺邊緣網(wǎng)關(guān)上都一樣。在我做的邊緣網(wǎng)關(guān)方案里這一步通常用容器化來實現(xiàn)。我們把老系統(tǒng)的通信服務(wù)程序比如那個Modbus輪詢程序打包成Docker鏡像跑在網(wǎng)關(guān)的容器運行時里。老程序?qū)ν獗憩F(xiàn)不變——它還是監(jiān)聽5000端口但實際通信鏈路已經(jīng)被虛擬化網(wǎng)關(guān)的容器網(wǎng)絡(luò)把宿主機物理串口映射成容器內(nèi)的虛擬串口老程序在容器里去訪問/dev/ttyS1其實訪問的是網(wǎng)關(guān)物理RS485口之后接的設(shè)備。硬件層面的“解耦”這個詞在項目里我通常講三層含義應(yīng)用不再關(guān)心跑在哪個物理設(shè)備上容器可以遷移、重啟、備份。應(yīng)用不再需要認識真實物理端口虛擬串口、虛擬網(wǎng)口讓“接線”變成“配置”。數(shù)據(jù)不再依賴物理鏈路存活斷網(wǎng)時數(shù)據(jù)緩存在本地恢復(fù)后自動補傳。這套做法最受益的場景是海外項目的遠程運維。老系統(tǒng)一旦在海外現(xiàn)場掛了過去你只能請客戶拍日志、寄硬盤回來現(xiàn)在容器方案可以遠程把整個容器打包下載回來放到本地測試環(huán)境里復(fù)現(xiàn)問題甚至可以直接在網(wǎng)關(guān)側(cè)做遠程容器替換。這種調(diào)試效率和傳統(tǒng)模式是完全不同的兩個層次。2.3 數(shù)據(jù)解耦標準模型 vs 私有協(xié)議代碼和硬件解耦做完必須面對數(shù)據(jù)模型的統(tǒng)一。新能源設(shè)備的數(shù)據(jù)有兩個極端一方面是IEC 61850、IEC 60870-5-104這類標準化程度很高的規(guī)約字段定義、數(shù)據(jù)類型、時標格式都有國標規(guī)范另一方面很多海外項目用的還是廠家私有Modbus協(xié)議點位表五花八門SOC的縮放系數(shù)可能是0.1%也可能是0.01%溫度單位可能是攝氏度也可能是華氏度甚至同一個廠家不同批次設(shè)備的數(shù)據(jù)格式都不一致。數(shù)據(jù)解耦的方案是“雙軌制”網(wǎng)關(guān)向上輸出標準數(shù)據(jù)模型向下適配私有協(xié)議。翻譯成人話就是我只讓網(wǎng)關(guān)內(nèi)部處理那些復(fù)雜的、不統(tǒng)一的、私有化的轉(zhuǎn)換對外暴露給上層業(yè)務(wù)平臺的永遠是一份一致的數(shù)據(jù)模型。實際操作中我們采用了一個比較輕量但管用的方案基于JSON Schema定義統(tǒng)一數(shù)據(jù)模型。每臺設(shè)備在網(wǎng)關(guān)里都有一份配置文件里面規(guī)定了設(shè)備基本信息、參數(shù)點定義、映射規(guī)則、縮放系數(shù)、偏移量。業(yè)務(wù)平臺通過MQTT/HTTP接入網(wǎng)關(guān)時讀到的數(shù)據(jù)永遠是經(jīng)過網(wǎng)關(guān)處理后的標準格式。這里分享一個參數(shù)映射的小細節(jié)很多Modbus設(shè)備的狀態(tài)值用枚舉定義比如0x01表示停機0x02表示運行。海外項目業(yè)主可能希望看到的是stopped和running而國內(nèi)平臺可能更習慣直接用數(shù)字。這個轉(zhuǎn)換在遺留系統(tǒng)里往往要靠上位機程序去映射代碼里寫一堆if判斷。在邊緣網(wǎng)關(guān)里我們只需要在配置里維護一個枚舉映射表網(wǎng)關(guān)在數(shù)據(jù)采集上報時自動轉(zhuǎn)換。等于把原來需要寫代碼的事變成了填表格。上面說的都是軟件層面的事。如果部署層面沒有理順前面所有解耦工作都會變成白費。下一節(jié)我們進入實操。3. 實操過程從老系統(tǒng)到新架構(gòu)的遷移與接入3.1 先給老系統(tǒng)“做體檢”盤點遺留接口與資產(chǎn)動手改架構(gòu)之前我強烈建議先做一次系統(tǒng)的“資產(chǎn)盤點”。具體做三件事梳理遺留系統(tǒng)的對外通信接口有哪些網(wǎng)口、串口、總線分別跑什么協(xié)議波特率、IP、數(shù)據(jù)位校驗位是什么。梳理點位表系統(tǒng)里維護了多少個數(shù)據(jù)點每個點的刷新周期、數(shù)據(jù)類型、縮放系數(shù)、讀寫權(quán)限。標注業(yè)務(wù)依賴關(guān)系上層哪些功能強依賴遺留系統(tǒng)的實時數(shù)據(jù)哪些允許延時哪些一旦中斷會影響安全或合同考核。這一步看著瑣碎但它決定了遷移方案是“全量替換”還是“混合對接”。比如有一個老系統(tǒng)承載了消防聯(lián)動信號這種涉及安全的鏈路遷移時我會盡量避免大改讓老系統(tǒng)直接對接網(wǎng)關(guān)的一個I/O點網(wǎng)關(guān)再把這些信號疊加到新平臺的告警模型里兩路并行一段時間。盤點結(jié)果出來了要畫一張簡單的數(shù)據(jù)流圖不是架構(gòu)圖就是實際鏈路標清楚每條鏈路的物理路徑和協(xié)議類型。這張圖會成為后面所有配置的依據(jù)。3.2 用容器化把遺留應(yīng)用從硬件上“摘下來”這一步是整套方案里最“外科手術(shù)”的部分。目標是把遺留系統(tǒng)里的核心通信服務(wù)程序遷移到邊緣網(wǎng)關(guān)的容器環(huán)境里運行。具體流程是這樣的在原來的老系統(tǒng)上導(dǎo)出程序目錄、配置文件和運行日志確認程序?qū)\行時環(huán)境有哪些依賴是.NET Framework還是Java是否需要特定的本地庫。在開發(fā)機上用相同的操作系統(tǒng)基礎(chǔ)鏡像老程序如果是Windows我們通常用Wine容器做兼容層或者選擇Windows IoT容器方案如果是Linux就選擇對應(yīng)版本的Debian/Ubuntu鏡像制作運行環(huán)境。利用tar或docker build命令把程序、庫、配置文件全部打入鏡像并把程序的通信端口暴露出來。使用docker-compose或者Kubernetes邊緣端我一般用輕量的k3s在網(wǎng)關(guān)側(cè)啟動。需要注意的一個坑是老程序往往依賴物理硬件的時鐘和串口資源在容器里要額外處理。我們一般把網(wǎng)關(guān)的RTC硬件時間掛載進容器保證時間戳一致同時用--device參數(shù)把物理串口設(shè)備映射到容器內(nèi)讓程序認為自己在直接操作真串口。如果你們網(wǎng)關(guān)上有多個串口建議給每個串口建一個獨立的udev規(guī)則確保重啟后設(shè)備路徑不變。這一步做完你手上就有一個可以從網(wǎng)關(guān)里一鍵啟停的遺留系統(tǒng)運行單元。它對上層平臺和下層設(shè)備的接口跟上線前完全一致——但底層的物理依賴已經(jīng)被斬斷了。3.3 協(xié)議轉(zhuǎn)換與虛擬接入點的搭建細節(jié)容器化部署只是第一步。真正的解耦發(fā)生在協(xié)議轉(zhuǎn)換層。先說最常見的場景老監(jiān)控平臺只支持Modbus TCP從站地址范圍是1到20新設(shè)備比如鋰電池BMS只能通過CAN口輸出或者只支持IEC 61850。要打通這兩端傳統(tǒng)做法是給老平臺換通信卡、裝協(xié)議轉(zhuǎn)換器然后更新點位表。用邊緣網(wǎng)關(guān)就簡單得多——在網(wǎng)關(guān)上同時啟用Modbus TCP從站模擬器和對應(yīng)的協(xié)議采集服務(wù)。以Modbus TCP從站模擬器為例我們是這樣配置的在網(wǎng)關(guān)上啟用Modbus TCP Server模擬老平臺期望的那個從站地址比如站號10。在網(wǎng)關(guān)后臺配置點表把新設(shè)備采集出來的真實數(shù)據(jù)如總電壓、總電流、SOC映射到Modbus寄存器地址如30001、30002、30003。網(wǎng)關(guān)內(nèi)部的數(shù)據(jù)引擎會以設(shè)定好的周期比如1秒輪詢新設(shè)備并把最新數(shù)據(jù)緩存到寄存器表里。老平臺按照原來的邏輯去讀站號10的30001寄存器讀到的其實是網(wǎng)關(guān)從新設(shè)備那邊拿來的最新值。這里有一個細節(jié)直接關(guān)系到現(xiàn)場聯(lián)調(diào)能不能順利通過老平臺往往會對“數(shù)據(jù)新鮮度”做校驗比如它判斷一個遙測點是否有效的依據(jù)是“最近5秒內(nèi)有沒有被刷新過”。如果網(wǎng)關(guān)只在輪詢到新數(shù)據(jù)后才更新寄存器某些老平臺會誤判數(shù)據(jù)超時。我們的做法是在網(wǎng)關(guān)里把Modbus從站的寄存器表設(shè)置為“始終可讀”即使底層設(shè)備短暫離線網(wǎng)關(guān)也返回上一次有效值同時通過一個專門的狀態(tài)點告訴上層“這條數(shù)據(jù)是緩存”。這樣就避免了一些因為數(shù)據(jù)有效標志位處理不當導(dǎo)致的“全灰”事故。這個環(huán)節(jié)的工程量往往取決于協(xié)議轉(zhuǎn)換的種類有多少種。我們做過的項目里最多的一種場景是一個儲能集裝箱項目需要同時做Modbus RTU轉(zhuǎn)Modbus TCP、CAN轉(zhuǎn)Modbus TCP、IEC 61850轉(zhuǎn)MQTT還要把老平臺的私有協(xié)議報文轉(zhuǎn)成標準JSON。在傳統(tǒng)架構(gòu)里這需要掛三到四個協(xié)議轉(zhuǎn)換盒子現(xiàn)場光接線和調(diào)試就要一周上了邊緣網(wǎng)關(guān)后同一臺設(shè)備上同時運行三個協(xié)議轉(zhuǎn)換容器接線從幾十根變成兩三根配置時間也從幾天縮短到半天。3.4 邊緣側(cè)數(shù)據(jù)緩存與斷網(wǎng)續(xù)傳的部署策略海外項目最大的不確定性是網(wǎng)絡(luò)鏈路。國際鏈路不穩(wěn)定專線價格高公網(wǎng)更是經(jīng)常抽風。老系統(tǒng)原本是“通信服務(wù)程序連上位機數(shù)據(jù)庫”鏈路一斷所有數(shù)據(jù)就沒了。解耦后邊緣網(wǎng)關(guān)把數(shù)據(jù)緩存和續(xù)傳變成一個標準能力。部署時的策略通常是三檔實時數(shù)據(jù)用MQTT QoS 1至少一次上報歷史數(shù)據(jù)落本地時序數(shù)據(jù)庫我們用influxdb輕量版鏈路恢復(fù)后按時間戳補傳關(guān)鍵遙信變位和告警用HTTP/HTTPS接口直接推送保證即使主鏈路斷了告警也能到。在配置斷網(wǎng)續(xù)傳時有一個關(guān)鍵參數(shù)——補傳窗口。補傳數(shù)據(jù)太多會擁堵太少會丟數(shù)據(jù)。我的經(jīng)驗是根據(jù)現(xiàn)場實際數(shù)據(jù)量設(shè)置一個合理的補傳窗口一般默認24小時。如果現(xiàn)場歷史數(shù)據(jù)量特別大比如每臺設(shè)備每秒上送20個點建議對歷史數(shù)據(jù)做衰減式下采樣——離線期間存儲1秒原始數(shù)據(jù)但補傳時只補1分鐘均值。這樣既保證連續(xù)完整又不會直接把海外云平臺的帶寬打滿。4. 硬件測試與解耦驗證不能只在跑通時歡呼4.1 解耦后為什么要重新設(shè)計測試方案很多團隊以為解耦完就高枕無憂了然而真正的坑往往出現(xiàn)在硬件測試階段。解耦前你測試的對象是“一套軟硬件綁定的系統(tǒng)”解耦后你測試的對象變成了“多個可獨立替換的組件”這意味著測試邏輯要做相應(yīng)變化。比如原來測一個通信鏈路你只要把工控機和設(shè)備連起來跑一下就行。解耦后通信鏈路變成了設(shè)備→采集服務(wù)→協(xié)議轉(zhuǎn)換→消息中間件→上層平臺。鏈路變長了故障定位的復(fù)雜度上去了如果沒有針對性的解耦測試方法你連“問題出在哪一層”都沒法快速判斷。尤其是出海項目的硬件測試還疊加了額外要求設(shè)備要在國內(nèi)工廠做整機出廠驗證同時在海外現(xiàn)場做二次驗收。兩個場景的環(huán)境變量網(wǎng)絡(luò)、電源、溫濕度不同如果測試方案沒有把解耦后的各層拆開驗證很容易出現(xiàn)“國內(nèi)過了、海外掛了”的經(jīng)典翻車。4.2 三種實用的硬件測試解耦方法既然標題里的熱搜詞提到了“硬件測試時候解耦的方法有哪些”我專門把三種我自己常用且經(jīng)過驗證的方法介紹一下。方法一協(xié)議樁Protocol Stub。在網(wǎng)關(guān)的測試環(huán)境里用一個模擬程序充當設(shè)備側(cè)循環(huán)發(fā)送固定的Modbus報文。它的作用是驗證網(wǎng)關(guān)的上層輸出是否符合預(yù)期不受真實設(shè)備干擾。我在項目里一般用Python寫一個簡單的Modbus TCP服務(wù)器監(jiān)聽502端口內(nèi)存里維護一張寄存器表測試時用腳本隨機改變某些寄存器值。網(wǎng)關(guān)采集到數(shù)據(jù)后上層平臺應(yīng)該能看到對應(yīng)的變化。這個樁的價值在于你可以精確控制“設(shè)備側(cè)發(fā)生了什么”便于驗證異常流程——比如寄存器超時、返回錯誤碼、重啟重連等。方法二回放Replay。把現(xiàn)場抓包保存的真實設(shè)備日志通常是Modbus/TCP dump在測試環(huán)境里回放讓網(wǎng)關(guān)以為自己還在跟真設(shè)備通信?;胤艤y試的價值在于它能暴露用“理想化模擬數(shù)據(jù)”發(fā)現(xiàn)不了的問題——比如真實場景里的亞穩(wěn)態(tài)響應(yīng)、超時抖動、偶發(fā)被動幀。我們項目里有幾次疑難故障都是靠回放現(xiàn)場抓包文件才在實驗室里復(fù)現(xiàn)的。做回放測試時有個小技巧不要把抓包原封不動地循環(huán)發(fā)而是人為改變報文的時序間隔比如把一些響應(yīng)延遲拉長幾倍這樣更容易暴露網(wǎng)關(guān)的超時重試邏輯是否健壯。方法三故障注入Fault Injection。在測試過程中主動模擬各種真實故障拔掉網(wǎng)線、斷電重啟、短路串口、給設(shè)備發(fā)錯誤響應(yīng)碼。目的很直接——驗證解耦后系統(tǒng)是否真的能“隔離故障”。因為解耦的一個重要目標是故障爆炸半徑受限某一條鏈路斷了其他鏈路不受影響。做故障注入測試時我通常是在網(wǎng)關(guān)里跑一只小腳本定時隨機下游接口發(fā)送錯誤幀同時觀察報警和上報鏈路是否正常。記住故障注入測試要留足時間窗口一般每輪至少保證30分鐘以上因為有些故障是延時暴露的比如內(nèi)存泄漏引起的緩慢惡化跑一兩分鐘根本發(fā)現(xiàn)不了。4.3 性能冗余怎么留CPU、內(nèi)存、時延的“六成“原則解耦后的邊緣網(wǎng)關(guān)承擔的任務(wù)通常比原來一臺普通工控機要多很多——既要跑容器化的遺留服務(wù)又要做協(xié)議轉(zhuǎn)換還要做本地緩存和遠程上報。很多項目上線一段時間后才發(fā)現(xiàn)性能不夠再改架構(gòu)就非常被動了。我的經(jīng)驗是用“六成”原則提前把冗余留出來網(wǎng)關(guān)的CPU負載在日常運行峰值不應(yīng)超過60%內(nèi)存占用不應(yīng)超過物理內(nèi)存的60%協(xié)議轉(zhuǎn)換和上報的端到端時延從設(shè)備數(shù)據(jù)刷新到上層平臺收到數(shù)據(jù)不應(yīng)超過60%的接口超時閾值。舉個例子如果上層平臺的輪詢超時時間設(shè)定為5秒那網(wǎng)關(guān)從“采集到設(shè)備數(shù)據(jù)”到“把數(shù)據(jù)推送到上層平臺”的時延就必須控制在3秒以內(nèi)這3秒就是你的預(yù)算。如果實測時延接近4秒接下來就要從三個方向排查優(yōu)化一是消息中間件的隊列大小和消費速率二是協(xié)議轉(zhuǎn)換線程的并發(fā)度三是上層平臺側(cè)的輪詢周期是否過于激進。這三個方向里我見過的案列中最多的問題是“上層平臺去讀網(wǎng)關(guān)的一個從站時用了阻塞式同步調(diào)用”一旦底層設(shè)備響應(yīng)慢整個平臺就卡。這種情況下通常建議把上層平臺的讀取邏輯改成異步輪詢或者啟用網(wǎng)關(guān)的本地緩存加速。5. 常見問題與排查技巧實錄5.1 頻繁掉線、暫時性超時、數(shù)據(jù)跳變怎么定界解耦架構(gòu)上線后最常見的排障場景是“數(shù)據(jù)時好時壞”。我們歸納過這類問題的本質(zhì)往往不是“解耦”本身引起的而是解耦后“故障邊界”更清晰了反而更容易定位。先說“頻繁掉線”。如果發(fā)現(xiàn)某臺設(shè)備在網(wǎng)關(guān)里反復(fù)離線優(yōu)先排查物理鏈路用萬用表量串口電平是否正常、RS485的A/B線是否接反、終端電阻是否匹配。如果是海外遠程項目沒法現(xiàn)場量就直接看網(wǎng)關(guān)的串口統(tǒng)計日志——如果收幀錯誤率持續(xù)走高大概率物理層不穩(wěn)而不是軟件問題。再說“暫時性超時”。如果在平臺側(cè)看到偶發(fā)的讀取超時很多時候是網(wǎng)關(guān)內(nèi)消息隊列擁堵導(dǎo)致的。我先看隊列積壓數(shù)如果積壓超過某個閾值就增大采集線程和上報線程之間的緩沖隊列深度同時降低采集頻率。記住用邊緣網(wǎng)關(guān)做解耦后你永遠要留一個“背壓”處理機制底層采集慢不要緊但不能讓上層平臺一直等。所以配置里會為每個數(shù)據(jù)點設(shè)置一個“過期時間”超出時限就返回最后一次有效值并在狀態(tài)點里標注為“Stale”。還有“數(shù)據(jù)跳變”。多半是點位映射和縮放系數(shù)配錯了。Modbus的數(shù)據(jù)類型分16位、32位、浮點、大小端、縮放系數(shù)這些只要錯一個數(shù)據(jù)就會邏輯異常。遇到跳變問題我第一件事是去查網(wǎng)關(guān)的點位配置重點看“字序”word order和“字節(jié)序”byte order。業(yè)內(nèi)Modbus常見的坑就是同一個寄存器表設(shè)備廠家用的大端你按小端解析就會看到數(shù)值無規(guī)律跳來跳去。5.2 現(xiàn)場快速診斷的兩個小習慣解耦后的架構(gòu)在海外項目調(diào)試時有兩個小習慣能幫你省下大量時間。第一所有邊緣網(wǎng)關(guān)要有統(tǒng)一、可見的運行狀態(tài)可視化頁面。這個頁面不用很復(fù)雜但必須能同時看到三層狀態(tài)底層設(shè)備鏈路狀態(tài)在線/離線/延遲、中間層容器運行狀態(tài)健康/已停止/重啟了幾次、上層數(shù)據(jù)上送狀態(tài)最后一條數(shù)據(jù)是什么時候發(fā)出的、目標地址是否可達。有了這個頁面現(xiàn)場人員排查問題時不需要猜直接一屏全覽。第二保留一份完整的“配置基線”。每次修改點位、切換協(xié)議、升級容器鏡像之前給網(wǎng)關(guān)導(dǎo)出一份完整的配置文件JSON/xml/yaml均可一般我們直接支持從Web界面導(dǎo)出一鍵備份包。這個備份包的好處是萬一這次改動導(dǎo)致問題你可以直接一鍵恢復(fù)到改動前的狀態(tài)而不是在現(xiàn)場一行行地撤回配置。別小看這個習慣海外項目的現(xiàn)場工程師本來就很緊張少幾次誤操作就少幾次精神損耗。5.3 遺留系統(tǒng)本身“不配合”時網(wǎng)關(guān)的三種兜底手段萬一遇到的遺留系統(tǒng)特別頑固既不讓改代碼也不讓裝軟件甚至不愿意對外暴露任何協(xié)議的細節(jié)此時網(wǎng)關(guān)還能靠以下手段兜底抓包解析在遺留系統(tǒng)和原設(shè)備之間做網(wǎng)口鏡像或串口監(jiān)聽網(wǎng)關(guān)被動監(jiān)聽鏈路里的報文用解析器把協(xié)議逆向出來。這個手段我用了很多次幾乎市面上常見的Modbus、DL/T 645、IEC 60870-5-104單體設(shè)備都能在監(jiān)聽模式下提取出點位表和刷新周期。模擬從站如果遺留系統(tǒng)本身是“主站”它要主動去輪詢下面設(shè)備我們可以讓網(wǎng)關(guān)模擬成它期望看到的那個“從站”設(shè)備用固定寄存器地址回應(yīng)它的輪詢。遺留系統(tǒng)并不知道自己在跟網(wǎng)關(guān)對話還以為底下連的是原來的設(shè)備。屏幕采集實在沒招時如果老系統(tǒng)有一個可視化界面比如顯示實時數(shù)據(jù)的HMI可以用網(wǎng)關(guān)的HDMI采集模塊把屏幕內(nèi)容抓下來通過OCR識別成結(jié)構(gòu)化數(shù)據(jù)后上報。這是最“暴力”的一種方式但我確實在一臺2005年出廠的老監(jiān)控系統(tǒng)上用過這招成功把它的發(fā)電量數(shù)據(jù)接入了新平臺。這三種手段的核心思路是一致的解耦不是說必須得到對面配合才能改而是通過邊緣側(cè)的主動適配把對方的“黑盒”特性消化在網(wǎng)關(guān)層。6. 踩坑心得與我的幾點總結(jié)方案講到這里我想分享幾個在實際項目中反復(fù)被驗證過的心得也是我現(xiàn)在拿到一個新出海項目時會優(yōu)先做的三件事。第一別急著動代碼。先搞清楚對端系統(tǒng)的“最小可行適配面”是什么。很多看起來復(fù)雜的問題用網(wǎng)關(guān)的協(xié)議轉(zhuǎn)換和配置能力就能解決代碼一層不變。這個“先想清楚接口再想實現(xiàn)”的習慣能幫項目省掉至少一周的返工時間。我在后面的項目里都是先讓商務(wù)去跟客戶要遺留系統(tǒng)的接口協(xié)議文檔和點位表而不是要源代碼。拿不到接口協(xié)議時才啟動抓包和逆向。這比盲目承諾“我們兼容一切”靠譜得多。第二解耦不是一次性的。解耦是一個持續(xù)演進的過程項目初期先把最痛的地方解掉后面隨著規(guī)模擴大再逐步把新的子系統(tǒng)通過網(wǎng)關(guān)接進來。很多團隊把解耦理解成一個“T-1日大切換”結(jié)果現(xiàn)場出問題就全線回滾。真正穩(wěn)妥的做法是“漸進式替換”先讓網(wǎng)關(guān)旁路監(jiān)聽老系統(tǒng)鏈路同時把新系統(tǒng)接入網(wǎng)關(guān)兩邊并行跑一段時間確認數(shù)據(jù)一致后再切換主鏈路。這就像給飛機換發(fā)動機你不能讓飛機停下來你要一臺一臺地換換完一臺測試一臺。第三我自己的體會是邊緣網(wǎng)關(guān)更適合作為“數(shù)據(jù)底座”而不是“業(yè)務(wù)系統(tǒng)”。有些客戶總想把業(yè)務(wù)邏輯比如告警聯(lián)動規(guī)則、設(shè)備控制策略也塞進網(wǎng)關(guān)里跑結(jié)果網(wǎng)關(guān)變得越來越重性能和穩(wěn)定性都受影響。在我建議的方案里網(wǎng)關(guān)只做“協(xié)議的終結(jié)者”和“數(shù)據(jù)的搬運工”真正的業(yè)務(wù)判斷放在上層平臺網(wǎng)關(guān)側(cè)最多做輕量級的邊緣計算比如越限判斷、數(shù)據(jù)過濾不做復(fù)雜的業(yè)務(wù)編排。保持底層網(wǎng)關(guān)的“純粹”是讓整個系統(tǒng)長期穩(wěn)定的一個好習慣。最后再分享一個小技巧。你在給海外客戶配置頂部標題時別把網(wǎng)關(guān)默認的MODBUS服務(wù)名寫得太技術(shù)化。我們有個客戶要求網(wǎng)關(guān)在Modbus從站信息里顯示“GateWay Unit For Battery Storage”這樣老平臺接入時看到的是個語義化名稱而不是一串亂碼。細節(jié)上對方會覺得你們團隊非??孔V后續(xù)驗收也能少很多解釋成本。這些經(jīng)驗都是一個個海外現(xiàn)場熬出來的。裝備出海本質(zhì)上是把標準寫進行業(yè)規(guī)則里而不是去遷就老系統(tǒng)的壞脾氣。邊緣網(wǎng)關(guān)只是一個抄近道的工具真正的功夫在于你如何設(shè)計出那一條條解耦的“護城河”。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠狠狠狠干| 成人综合视频久久| 大粗鳼巴久久久久| 男人网站婷婷| 精品久久99| 欧美日韩性爱无码| 国产欧美岛国精品一区| 中文久久久| 久久精品天美| 骚逼高潮久久精品| 日韩免费看黄片| 亚州性9| 超碰在线97国产| 婷婷在线视频| 中文字幕老熟妇黄色视频| 东北毛片| 欧美日韩不卡传媒| 青青草啪啪网| 亚洲色欲一区二区三区| 美女尤物福利视频| 天天天天天干夜夜夜夜夜操| 欧美日韩操逼动图| 成人国产视频在线观看| 3p国产色噜噜一区| 欧美Ⅴ性爱| 91欧美少妇| 欧美少妇第一页| 91亚洲黑人| 婷婷五月天av| 另类专区在线观看| 久久亚洲AV成人精品无码| 黄片www视频免费| 欧美色网络| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 中文字幕一区二区免费在线| 日韩欧美福利视频看看| 亚洲欧美色图片| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲导航深夜福利| 国产乱色国产精品免费视| 伊人操| 蜜臀久久99精品久久久久久-DVD| 欧美激情精品| 日韩无码三级影院| 午夜福利精品| 激情久久久| 人妻22p| 日本网色| 男人夜色天堂ss| 青青操在线亚洲视频观看欧美在线 | 久久超碰av在线| 日韩免费三级黄片电影| 久久高清无码夜夜操| 色婷婷小说| 男人的天堂在线| 天天综合亚在线| 欧美片第一页| 国产欧美日产一区二区三区 - 国产欧美日 | 国产伊人自拍| 久久人人爽人人爽人人片Ⅴ| 久久系列| 97一区二区三区视频| 人人操人人摸人 | 中文在线视频| 欧美日韩免费专区在线| 操逼无码一区| 国产午夜精品在线观看| 久久99久久99精品天美传媒棢·纸:. | 综合亚洲欧美| 狠狠干妹子| 天天弄天天操| Blackedraw视频一区二区| 蜜桃臀av一区二区| 精品久久九| 你操综合| 97精品国产97久久久| 日韩乱中文| 无码国产精品96久久久久孕妇| 成人五月天色网| 99久久综合网| 色婷婷视频| 日本精品五区| 日韩综合第八区国产精品| 色鬼在线综合| 欧美日韩性感| oumeisetu综合| 国产精选三级在线观看| 日韩三A大片在线观看| 欧美综合色图片| 亚洲视频,小说| 午夜久久一区二区无码中出| 国产成人综合网| 午夜影美女日鸡鸡天天视频国产| aaa亚无码专区| 亚洲激情欧美色图| 久久亚洲天堂| www.男人的天堂| 4虎在线视频| 午夜精品久久久久| 午夜欧美J进J出白浆流出久久久| 日韩情色视频| 夜夜肏2021| 亚洲激情网| 久久精品国产96精品亚洲拳交| 久久双插| 无码乱人伦中文视频| 老外又粗又长一晚做五次| 加勒比海色香蕉婷婷| 人人妻人人爽| 日日骚中文字幕| 91天堂| 999热这里只有精品| 97鸡把在线视频| 国产三级中文字幕粉嫩| 天天看天天日天天操| 亚洲欧美999| 四虎在线观看视频| 91色人妻| 高清成年美女黄网站免费大全| 国产精品亚洲无码| 3p国产欧美99热| 综合久久欧美| 91粉芽高清在线一区二区| 激情小说五月天| AV中文在线| 粉嫩国产精品久久粉嫩| 99国内精品| 日韩情色AV| 一区二区不卡| 狠狠爱AV| 欧美性爱超碰97| 凹凸精品熟女在线观看| 黄色成人网久久久久久| 99国产精品视频尤物| 乱伦Av网| 蜜乳AV色欲AVAV无码| 日本在线播放不卡一区| 青草青青久久久久久国产| 精品久久青青草| 精彩国产视频播放1区2区| 综合网欧| 中文字幕午夜精品久久久| 91天美免费| 中国一级αV| 国产日韩欧美中文在线播放 | 国产精品美女久久久久久网站| 亚洲电影中字一区二区| 女人双腿搬开让男人桶| 91熟女熟妇视频网站| 日韩二三区| 久久亚州大香蕉| 蜜桃狠狠色伊人亚洲综合网站| 久久久久亚洲熟妇熟女| 青草视频在线看看看看看看看看看| 97国产超湿| 色欧洲97| 国产精品免费久久久久久久久久| yellow网站免费观看日韩高清无码| 日韩不卡毛片Av免费高清| 国产原创自拍| 综合大香蕉美。| 我要色综合网| 九九探花视频在线观看| 久久久久久久久久久久久久9999| 蜜臀久久精品久久久久视频| 视频不卡中文字幕| 99色色| 国产免费一区| 中国农村熟妇毛片视频| 啊…啊…操我用力操我| 日韩综合97P| 亚洲影院成人| 91久久婷婷| 欧美色图在线视频少妇| ji熟女.com| 精品一区二区三区蜜桃臀赵总| 美女黄码视频午夜| 人人操人人插 - 百度 - 百度| 丝袜美腿诱惑亚洲欧美视频在线观看| www.久久超碰| 国产乱人伦AVA麻豆软件.| 英伦大奶子熟妇吊带| 精品无人区麻豆乱码1区2区图片| 日本三级A片网站com| 五月天综合在线| 日韩黄色小说| 久久久久成人亚洲国产| 亚洲亚洲亚洲天堂天堂| 人妻 丝袜美腿 中文字幕| 鲁鲁色综合网| 一本久道久久综合狠狠爱一密臀精| 国产综合永久精品日韩鬼片| 欲射影视| 国产欧美岛国精品一区 | 久久婷婷视频| 九九热精品| 曰韩av中文字幕专区| 日本中文字幕熟妇| 成人性爱视频在线看| 亚洲男人的天堂AV| 中文人妻av高清一区| 神马视频久久久久久| 欧美伊人电影| 日韩精品99999| 夫妻日逼| 91扒丝袜综合在线| 三级AV入口| 极品久久久久久久久久久久久久| 亚洲成?V人片在线观看福利| 日韩欧美蜜桃精品久久中文字幕久久| 日逼国产| 91无码中出人妻视频| 激情视频图片| 狠狠综合| 91在线免费精品视频| 操穴国产| 久久黄色视频一区二区三区| 亚洲国内精品成人不卡| 日韩精品 视频一区二区| 动漫av中文| 偷拍自拍在线视频观看| 欧姜老司机| 2020视频1区2区3区| 野狼福利社区| 91红杏| 大香蕉视频一二三区| 都市激情人妻一区二区青青操视频| 欧美日韩性爱无码| 亚洲久9| 好爽,再快点啊哈嗯嗯嗯嗯| 国产婷婷综合在线观看| 欧美激情一| 婷婷激情五月综合| 免费精品中文字幕| 色约约一区=区三区| 国语人妻精彩刺激| 亚洲欧美在线观看免费| 亚洲人妻日日日| 大香蕉伊人亚洲| av天堂精品久久| 蜜臀中文无码午夜| 北京美女一区二区| 国产成人亚洲精品自产在线| 95自拍视频在线观看| 日夜尻逼网| 97国产精品国| 久久欧美性爱视频| 91精品久久久| 久草加勒比一区在线| 久草热制服丝袜在线观看| 人人看人人摸人人色| 99re98| 国产精品久久久久久久电影渣男| 极品一区二区三区免费| 国产亚卅97| 97最新在线播放视频| 国内偷拍精品一区二区| 欧美色干| 婷婷精品国产欧美精品亚洲人人爽| 亚洲成人av色网| 久久久国产亚洲精品系列| 国产久久久久久| 中出20p| 久久天天躁日日躁狠狠躁| 人妻少妇色综合| 国产成人亚洲精品无码古代早漏男 | 天天综合精品| 久久精品国产亚洲AV高级北京| 欧美狠狠| 欧美日韩欧美| 噜噜噜噜久久久精品免费| 97AV在线免费观看| 久久国产精品,久久国产| 大香蕉啪啪啪| 色综合99| 999岛国大片| 啪啪视频亚洲第一| 国产精品原创巨作?v网站| 欧美亚洲今日在线| 亚州,欧美在线| 久热99999| 日韩 成人 有码| 欧美激情视频一区二区三区不卡| 99re6久热只有精品6在线直播| 自拍鲍鱼一区在线高清观看免费| 国产操操日韩三级黄| 性色av大全| a片自拍直播视频| 欧美少妇色图| 男人的天堂 在线一区| 伊人性在线视频| 我想要啊 啊 啊| 视频二区熟女人妻| 欧美亚洲宗合色性图| 亚洲成人妻日韩在线| 操人妻逼91| 操逼内射干逼白丝91| 欧美性色网| 久久二| 亚洲情色综合| 青娱乐福利99| 欧洲亚洲国产综合在线| 国产日韩在线播放av| 操逼天美3区| 无码人妻精品一区二区中文| 99性爱在线观看| 日韩欧美俄罗斯A片| 殴美在线AⅤ| 亚洲砖码砖专无区2023| www.99在线| AAA久久| 亚码激情| 欧美亚洲AN| 玖玖草久草99蜜月一区二区三区| 综合色久欲| 亚洲同性aV综合| 日本加勒比无码专区| 国产女人视频三四五区| 二男一女成人A片| 老司机老司机午夜影院| 天天干,夜夜爽| 天天干天天日天天射黄色大片| 久久精品一区| 日日干日日摸| 男啪女色黄无遮挡免费观看| 国产精品成人久久一区二区三区| 333kkkk·亚洲com久久| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 玖玖爱免费观看视频| 亚洲最大网站av| 夜夜操狠狠操| 国产精品在线网站| 久久久亚洲| 亚洲国产91精品一区二区久久| 国产三区免费在线观看| 日本一区三级韩国| 国产中午字一暮区| 亚洲影院成人| AV无码久久久精品| 人妻出轨一区二区三区| 五十路人妻在线| 少妇高潮九九九九| 中文字幕aⅴ在线视频| 国产免费一区二区在线A片视频| 丰满翘臀美女影院视频| 久肏视频字幕| 午夜.DJ高清在线观看免费7| 男人天堂2019亚洲| 亚洲男人的天堂网| 操逼视频国产无套| www.五月天| 人妻黑丝袜电影| 蜜臀久久99精品久久久久| 成人三一级一片aaa| 久久草草欧美精品| 91熟女视频网| 久久无码电影| 欧美性爱一区| 欧美 精品国产制服第一页| 92午夜免费福利视频| 欧美亚男人的天堂| 色图四区| 激情看片网站| 女上位精品在线| 在线岛| 夜夜操91744565| 中文区中文字幕免费看| 欧美成人午夜免费福利785| 国产高清不卡视频| 国产又黄又爽| 欧美另类色图片| 精品国产乱码久久久久久免费| 翔田千里AⅤHD无码| 2020中文字幕| 丰满人妻-区二区三区免费看| 精品少妇人妻av久久免费| 少妇99成人麻豆| 蜜桃久久一区二区| 香蕉在线一区二区三区| 2017天天插| 久草婷婷| 乱欲视频| 中美日韩毛片| 日熟女| 91在线美女| 亚洲欧美人妻| 日韩影片中文字幕一区二区三区| 国产熟妇 码视频户外直播| 草草影院在线视频| 一本久道久久综合狠狠爱一密臀精 | 91丝袜在线观看| 天堂精品在线| 97九色| 超碰性爱97| 黄色免费网| 黄色小说亚洲| 翔田千里一区二区三区奶水| 亚洲性猛| 日本女人操逼| 91老熟女视频| 大香蕉色网| 一级特黄aaa大片在线观看成人一级片在线观看| 嗯嗯啊啊啊啊轻点视频| 日本成a人v网站在线观看| 不卡在线一区,精品一区二区三区中| 国内一级精品| 丁香五月天婷婷姐| 国产精品无码av嫩草| 99re在线视频国产| wwwss在线观看| 蜜臀久久99精品久久久久| 小草精彩毛片| 一区二区三区黄色片a| 97热视频在线观看| 婷婷伊人綜合中文字幕| 在线午夜成人无码视频| 中文字幕女同在线| 亚洲成人在线播放| 日韩国产精品人妻无码久久久| 不卡人妻少妇精品毛片一区23区视频| 淫荡熟女乱伦网| 玖玖资源视频一区二区三区| 嗯嗯嗯好爽| AV一区观看| 亚洲日韩资源| 亚洲一区二区三区麻豆传媒| 国产区性爱在线视频秋霞豆| 免费视频一二三区| 夜草欧美| 精品一区二区啪啪啪| 欧美爱三级日韩久久| 大屁股熟女一区二区三区| 婷婷六月天| 日韩精品在线视频在线观看| 久久久青青草| 亚洲精品一区二区免费在线观看| 日本超碰在线国产一区| 国产操偷| dy888午夜老子影视达达兔| 亚洲鸥美色图| 99久久无色码| 久久男女激情视频网站| 日本一区二区亚洲综合| 亚洲AV永久无码精品成人调教| 蜜色网色哟哟| 激情第四色| 青娱乐亚洲自拍| 亚洲视频中文一区| 91日韩网站| 日韩人妻精品中文字幕| 久久免费老司机精品| 日本理论在线| 久久成人国产| 日韩熟女无码| 亚洲人妻在线精品| 97久操| 男人的天堂2000| 狠狠狠一区二区三区| 大色综合网| 国产精品不卡一区二区电影| 91综合网站| 超碰综合97在线| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 91丨人妻丨国产丨丝袜| 台湾佬大香蕉| 性感美女91影视| 激情婷婷丁香| 久久9精品网站| 欧洲精品欧洲精品| 性色av婷婷久久一区二区点复制| 久久中文字幕一区不卡| 国产视频人人网| 深喉吞精| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | AV无码久久久精品| 熟妇综合一区二区三区| 我要色综合网| 蜜臀久久99精品久久久久久无删减 | 91视频国品一二三区| 日韩去日本高清在| 在线观看黄色电话| 亚洲精品中文字幕一区在线视频| 久久直播国产| 日韩欧美综合激情| 加勒比久久综合网高清| 黑人操一区二区| 亚州一区二区成人片免费| 欧美日韩国产一区二区小黄片大全| 精品日韩| 97精品一区二区视频| 张柏芝国产一区在线观看| 69天堂| 网友自拍第一页| 综合网亚洲| 韩日色费| 久久夜黄色无码A级大片| 91人妻中文| 天天躁日日躁XXXXYY| 精品毛片久久久精品毛片| 国产亚州精品美女久久久免费| 国产成人无码高清| 97色在线| 大香蕉在线86| 亚洲熟妇综合久久久久久| 色色青青久久| 日本不卡在线二区三区| 秋霞Av理论一级在线| 东京热视频网| 乱伦系列一区二区| 亚洲精品男人的天堂| 日韩97视频!在线| 男生女生啊啊啊啊| 超碰 欧美| 好爽视频在线观看视频| A级毛片在线看免费| 黄页网站免费高清在线观看| 激情小说五月天| 欧美激情 日韩精品| 天天综合网AV91| 嗯嗯不要 视频| 国产精品人妻无码久久久老鸭窝| 天天弄天天操| 狠狠色婷婷| 欧美97在线观看| AV在线播放网址| 男人午夜天堂| 久久久性爱视频| 人妻大香蕉| 蜜臀一区二区三区在线| 黑人嘿嘿嘿超爽免费视频| 国产精品色| 亚洲激情色片 | 久久偷拍人| 欧美日韩亚洲少妇寂寞影院正在播放| 国产精品无码成人精品| 欧美啪啪女女| 91五月天| 精品国产乱码久久| 色综合网1| 超碰97玖玖爱| 嗯嗯啊好爽| 嫖老熟女A片一二三区| 黄色乱论网站| 亚洲午夜精品久久久中文影院| 欧美一区二区三区互相| 午夜免费视频1000| 国产人人干| AV一起草在线| 欧州色图区| 4tube欧美女厕所| 国产最新小视频在线播放下载 | 欧美性爱一级操| 国产高清不卡视频| 免费成人自拍视频在线| 91色色色| 欧美 日韩第一性色| 成人a级高清视频在线观看| 美女尤物福利视频| 国产又粗又长又大的视频| 思思热免费在线视频| 艳美熟妇先锋一二三区| 亚洲少妇视频| 日韩av乱伦| 97天天在线| 精品午夜福利国产一区二区在线观看| 丝袜内射| 日产操逼| 99青草| 一区二区影视| 成人情色一区二区| 一区二区三区麻豆| www.久久久久| 高精欧美色| 玖玖色综合| 国产三级中文字幕粉嫩| 欧美东京热精品A∨| 足交视频老司机| 日韩亚洲国产视频| 老女人91| 巨爆乳肉感一区二区三区竹菊影视| 成人久久久精品| 日韩人妻播放| 亚洲综合草草| 中文字幕黄色片| 日本Suv精品一区二区| 色色婷| 男人的天堂免费| 天天爱天天韩国日本牛牛牛牛| 中文字幕AV中出| 久久午夜伦| 亚洲福利影院一区久久| 高树玛利亚无码流出| a亚洲欧美色欲| 啊啊啊啊啊好大好舒服想要| 无码日韩人妻av一| 欧美色亚洲色| 天天看天天综合成人网| 国产亚洲深夜激情| 鸥美极品| 996热| 成人怡红院| 毛片17S| 久操com| 超碰在线日韩一区| 一本一道人妻久久一区二区三区| 日本羞羞的视频在线播放| 国产精品熟女九九九| 日本国产高清色www视频在线| 2003天天干夜夜操| 91 在线亚洲| 69少妇一区二区| 伊人嫩草| 不卡人妻少妇精品毛片一区23区视频| 丁香六月激情| 蜜臀久久99精品久久久久久成人小说 | 国产九九九九九九九九| 婷婷色香伊人| 60秒免费小视频| 99操逼| 中文字幕第9页萱萱影音先锋| 狠狠色伊人亚洲综合网站色| 99re99视频在线免费观看| 男人的天堂一区三区| 亚洲开心网| 精品人妻一区二区三区视频| 99在线精品观看99| 妇女性内射冈站HDWWWCOM| 国产精品动态一区二区三区四四| 另类图片五月| 国产极品一区二区三区三州| 久久亚洲AV无码白度| 超碰视97中文| 激情露脸爱| 99日韩| 懂色av色欲av蜜臀av| 亚洲精品欧洲色| 青青伊人加勒比海| 亚洲中文人妻色| 日韩精品一区二区三区色欲| 国产美女销魂在线观看不卡| 极品色综合| www. 男人天堂成人在线| 久久天天摸| 青草av在线| 探花一区二区三| 精品视频在线观看| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 国产天美传媒精品| 97青青操视频| 亚洲 日韩 欧美 国产综合体| 精品一区二区综合熟妇| .精品人妻一区二区三| 狠日欧美| 一区二区视频在看| 91在线丝袜| 啊啊啊啊啊啊啊在线| 偷拍亚洲高清图片| 久久人人妻| 性爱视频久久| 婷婷久久五月| 综合自拍| 操逼逼无码| 一区二区三区 日韩欧美| 亚洲国产欧美一区二区潘金莲| 婷婷涩嫩草鲁丝久久午夜精品| 床戏久久久av一区二区麻豆| 亚洲女人毛茸茸91| 搡老女人老91妇女熟女| 欧美亚洲se91| 亚洲精品 欧美精品| 精品然女一区二区| 一区二区三区蜜桃成人撸久久东京热| 久热久一区二区三区| 欧美久久九九| 久操B网| 中文字幕av色| 国产日韩精品一区二区三区| 久久手机视直播| 77777亚洲蜜臀精品久久综合蜜臀| 天天日夜夜爽| 美国美女AV在线| 久久国产精品91| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 老熟女阿 国产91| 亚洲国产97在线精品一区| 熟女熟妇一区二区三区视频| 亚洲脚交| 欧美92| 天天综合网日韩| WWW.操逼.COM| 无码外流操逼视频| 欧美强奸乱能| 极品极品色影院| 国产 码在线成人网站| 26uuu欧美| 一区二区久久天天干狠狠| 国产农村妇女精品一| 97天天弄| 中文字幕熟女人妻丝袜丝| 天天日天天看| 国产午夜精品理论片一二三区区| 伊人专区一区二区三区| 啪啪免费| 99热亚洲| 97超碰天天爱天天爱| 中文字幕AV片| 国产精品视频白浆免费| av凤凰久久久| 在现视频女上位好爽| 久久、1234| 激情婷婷丁香网| 中文字幕三四区| 欧美日韩日产免费网站看| 激情接吻视频久久久久久| 久久婷婷五月天| 狠狠图片青青草| 91操熟女视频 | 丝袜美腿91| 亚洲无码 国产无码| 精品人妻一区二区视频| 曰韩av中文字幕专区| 116美女午夜| 很狠操| 水多多映视AV| 91在线精品| 亚洲不卡不卡中文字幕不卡 | 啊啊啊 在线| 精品无码久久久久久久杏吧| 岛国视频免费在线观看| 超碰超碰95| 欧美中字不卡| 人人么人人操| 久热大香蕉| 午夜欧美神马久久久久| 色色九区| 日韩黄色一区二区三区| 岛国AV一区二区电影| 亚洲脚交| 亚洲伊人a线观看视频| 伊人AAA| 熟女露脸激情自拍视频| 欧美一级黄色免费专区| 国内三级自拍小视频在线观看| 欧美国产视频| 久久久四区| 久久久久久AⅤ无码免费肉站| 三上制服丝AV| 91青青草| 99精品免费| 亚洲国产福利视频| 中文字幕国产| 九一亚洲国产免费| 超碰97COm中文| 国产激情av女片自拍| 91美女在线看| 爱妃国产亚洲视频中文字幕| 日韩另类色图| 人妻91少妇| 国产精品久久久鸭无码的功能| 久久一二三四不卡 | 五月天综合网| 啊啊啊轻点在线观看| 狠日操| 性生活无遮挡纯毛片在线看| 国产一区二区三区高清视频| 92福利社视频| 999久久久国产精品| 欧美黄片视频在线观看免费| 嫩草黄页| 国产精品探花视频| 亚州欧美总和| 浪人综合网| 日韩 欧美 国产 麻豆| 911av网站免费观看| 97久久久精品| 国产精品网址| 欧日韩在线观看| 大黄片做爱的大的| 伊人aaa| 嫩草一区二区在线观看| 日日日色色色色色| 熟女人妻一区二区三区| 久久久天美| 91精品久久久久久77777| 97精品视频在线播放| 操比国产| 九七超碰人人乐| 丁香五月天堂网| 欧美乱欲| 蜜臀AV一区二区三区激情综合| 99久久精品国产系列| 一区=区三区视频| 两女互慰AV高潮喷水在线观看| 1区2区3区中文字幕日韩| 日本欧美韩国国产在线| 亚洲欧洲第二视频在线观看色图| 中文字幕日韩人妻视频一区二区三区| 日本中文字幕熟妇| 亚洲精品久久久久久久蜜桃臀| 久久久精精精| 色噜噜国产在线| 午夜超爽| 亚洲蜜臀精品视频久久| 五月天开心网| 国产免费黄色一级大片| 妇女视频网站| 成人免费福利网站国产| 久久欧美激情| 熟妇艹鸡八| 天天躁日日躁xxxxx| 91超碰丝袜制服| 私色综合网| 家庭乱伦国产| 一本色道人妻久久| 天堂麻豆天美| 岛国片在线观看视频亚洲| 日韩一级二级三级免费看完整版| 91网站18在线| 色色色欧美| 69av一区二区三区| 偷拍欧美亚洲| 91国产大片| 亚洲AV永久无码一区仙野| 美女91网站| 日韩亚洲97| 天天色香欲综合网| 午夜福利精品| 98久久| 久久精品91| 丰满翘臀美女影院视频| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲欧美精品91| 家庭乱伦国产| 亚洲丝袜综合| 操逼无毒无码免费视频| 日韩情色视频| 欧美很很操视频| 亚洲人妻中文在线视频| 99热线麻豆 | 又大又黄国产| 一级性爱aaaa| 6080YYY午夜理论片在线观看| AV女资源| 是还免费视频1727我| 青草青青久久久久久国产| www黄片免费看com| 情趣丝袜无码操逼视频| 欧美亚洲今日在线| 操91| aaa淫乱视频| 亚洲有码 视频一区| 日韩欧美字幕亚洲一区二区| 欧美视频一| 欧美色另类| 九热超碰| 亚洲 另类 丝袜 自拍 动漫| 国产高清1234区| 五月丁香综合啪啪| 天天天天天天天天天天干美女| 欧美性生活男人的天堂| 啊啊啊啊操死我| 成人青青草原伊人| 97人妻人人躁人人玩人人| 超碰天天操| www.一本大99| 日本三级小说中文字幕| 草草影院在线视频| www.狠狠操| 99无码视频| 动漫爆乳3D奶水一区在线观看| 91社操逼| 色色香蕉| 一本一道vs波多野结衣| 国产欧美精选激情视频| 久久免费99精品久久久久久| 一级一性爱免费视频| 校园春色五月天| 亚洲自拍97| 外国91| 日韩一级二级三级在线不卡观看完整| 亚洲三级。日韩三级| 少妇的嫩逼图片| 久热精品在线| 高清无码91| 九九九不卡| 国产精品久久久亚洲第一牛牛_在线观看| 蜜臀av中文字幕| 加勒比人妻综合| 囯产精品强| 欧美日韩97在线| KK色在线影院| 欧美日本不卡在线| 欧美性91| 在线免费观看高清无码视频| 国产毛片毛片4p懂色| 12一15性XXXX粉嫩国产| 91一区二区三区蜜桃| 午夜福利一区二区影院| 在线观看成人性爱免费小视频| 性爱Av免费| 国产精点久久久成人| 丁香婷婷九月| 草草影院在线视频| 这里是精品| 色 亚洲 91| 少妇特黄一区二区三区| 国语精品av| 天天综合网网欲色| 日韩一级久久毛片| 日韩图区 偷拍| 777奇米影视777四色| 狠狠干综合| 欧美欲色| 狠狠爱AV| 2017天天插| 日韩激情无码影院| 超碰成人公开| 久99久视频| 日韩精彩免费| 超碰久久网| 超碰97男女| 欧美一二三级精品在线| 粉嫩av在线一区二区| 九九在线视频| 女人一区| av橘色网站| 在线日韩日本亚洲国产| 园内精品自拍视频在线播放| 欧美日韩91| 久久內射| 亚洲无码一区成人免费午夜| 日本爽爽爽爽爽爽免费视频| 精品中文字幕一区二区l - 百度| 欧美色图天堂在线| www.AV有限公司一区| 色网亚洲人| 国产精品久久久久久高清无码免费看| 成人免费福利在线观看| 清柠毛片| 另类成人首页一区| 成年无码动漫av片无尽在线 | 夜夜操美女| 五月天婷婷久久| 在线黄色污污网站| 亚洲小说视频| 亚洲第2页| 欧美成人精品一区二区三区| daxiangjiao你懂的| 97国产人人| 一区二区三区激情在线观看| 亚洲图片欧美制度| 亚洲综合色图欧美| 欧美黄色大片在线观看| 国产剧情一区在线观看| 欧美综合传媒| 国产精品一区二区手机看片| 成人性爱电影网| 婷婷五月天无码 | 抽插一区二区视频| 无码高清操逼网址| 亚洲欧美精品一区天堂久久 | 国产日韩怡红院| 国产极品美女高潮无套在线观看| 久久久工口| 欧美 亚洲精品首页| xxx0国产在线播放| 另类av天堂| 欧美天天综合网| 91久久久久久| 精品一区二区2| 欧美日韩操操操| 欧美亚洲厕所精品偷拍91 | 91中文字幕制服丝袜免费视频| av在线免费一区二区| 欧美一二在线| 少妇一级无码精品| 神马精品视频| 91 丝袜在线播放| 99无码视频| 一二区在线观看视频| 中国一区二区亚洲人妻| 一区二区国产视频在线观看| 亚洲春色欧美激情自拍| 老熟女91av| 亚洲天堂男人| 热久久精品| 亚洲精品久久久久久久蜜桃臀| 精品成人久久久人人亚洲| 岛国毛片手机在线观看| 夜草欧美| 国产人伦a片信息免费片| 少妇三P| 国产女同视频在线播放| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 黄色无码高清黄色无码网站| 久草大| 欧美丝袜亚洲| 99热91| 亚洲丝袜综合| 97精品国产97久久久久久免费| 久久老女人| 青青草日逼视频| 国产强奸乱伦欧美| 欧美精品第四五页中文字幕在线观看| 被操高清无码视频| 99天天超碰| 曰本人妻人人澡人人夹| 亚洲人久久久网| 婷婷深爱五月| 精品无码少妇| 人妻激情另类| 精品无码久久久久久久久果冻糖心| 在线啊啊啊啊| 亚洲成aⅴ人片不卡无码| 天天摸夜夜操视频| 手机在线人成免费视频| 亚洲九九视频| 欧美日不卡| 日本黄色精品专区网站| 久久久久久久久久久999| 最近2019中文字幕国语免费版| 蜜臀va69| 日韩在线女优天天干| 一级日本牲交大片好爽在线看| 青木玲在线不卡| aaa一级黄片| 日韩亚洲欧美中文字幕| 美欧老女人97| 操逼网站地址| 九九九热| 99re在线精品78| 亚洲第一综合| 免费久久一级毛片大黄| 久久久久人| 97久久精品亚洲| 啪啪啪东京| 日日骚一区二区三区| 久九干| 欧美日韩操操操| 欧美资源| 中文字幕视频免费| 激情五月天网站| 欧美伊人久久综合网| 亚洲蜜臀精品视频久久| 精品人妻1237| 操逼操网| 免费在线看黄片av| 亚洲精品黑丝| 亚洲免费精品一区| A片 AV一级在线播放观看免费 | 日韩欧美女求操每天更新| 欧美高潮在线| 日本久久99| av在线不卡一区二区三区| v91av| 丰满人妻一区二区中文| 1区2区3区在线视频| 女同性恋久久| 日本人妻伦在线中文字幕| 色哟哟av| 夜夜骑天天燥| 欧美美女自慰一区二区三区| 国产三级中文有码在线视频| 免费成人自拍视频在线| 无码九九九九| 麻豆一区在线| 大香蕉在线视频15| 日本岛国黄色网址| 日韩Va亚洲va欧美Ⅴa久久| 亚洲天堂久久久久久粉红视频| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 国产理论视频在线播放| 男女一进一出视频久久| 亚洲资源吧| 蜜臀av中文字幕| 欧洲一区二区三区免费| 蜜桃久久综合视频| 国产免费永久精品无码| 国产精品美女久久久久AⅤ国产馆| 加勒比海色香蕉婷婷| 亚洲九九视频| 九九九九九九九| 日韩电影天堂视频一区二区| 嗯嗯嗯嗯啊啊啊好紧好大| 久久一区二区三区入口| 国产免a费看黄片在线| 中文AV制服乱伦| 囯产精品久久久久久久久久二区三区| 亚洲交换| 精品久久9| 中文字幕诱惑制服人妻丝袜美丝袜美| 狠狠狠狠狠狠| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 熟妇高潮二区三区| 亚洲综合骚逼| 北条麻妃性愛视频| 美骚妇av高清在线| 亚洲熟妇丝袜在线观看| 激情文学网伊人| 99无码视频| 欧美日韩国产在线| 婷婷五月天成人网| 综合色久| 婷婷久久网| 五月丁香狠狠爱| 九九在线精品| 色色色综合网| 国产玖玖| 欧美1727免费观看视频| 91校园春色长篇| 天天舔天天 | 伊人大香蕉在线| 久久99国产综合精品女同| 天美国产精品| 久久超碰亚洲人| 人人超碰在线观看黄| 色超碰综合| 超碰视97中文| 欧美第五页| 天天综合青苹果| 亚洲人天堂| 曰韩人妻中文字幕在线| 欧美真人抽搐一进一出gif | 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 国产亚洲福利第一页丝袜| 久久六六| 视频一区二区三区精品| 久综合国内精品自在自线| 成人乱人伦一区二区| 免费1级a做爰片观看| 亚洲成人日韩小说| 五月天婷精品激情| 天天色粽合合合合合合合| 久久婷婷一区二| 殴美综合色88| 黑人精品久久97| 亚洲久草AV色图| 麻豆成人影音在线| AV乱伦专区| 粉嫩av在线一区二区| 99热久| 色九月综合| 制服丝袜第二页| 亚州性色| AV在线性爱| 97人人模人人爽人人| 欧美美女自慰一区二区三区| 九九成人精品| 亚洲激情深爱文学小说网站| 超碰色老头| 欧美日韩另类在线播放| 亚洲精品a人片在线观看视| 亚欧精品久久久久久久久久久| 精彩国产视频播放1区2区| 果冻传媒一区二区三区| 丰满人妻大屁一区二区| 亚洲熟女国产综合另类| 亚洲诱惑天堂| 懂色aV一区二区天美传媒| 夜间福利片1000无码|