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

ARTICLE DETAIL

資訊詳情

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

三菱CNC上位機開發(fā):C# WinForm與MC協(xié)議通訊實踐

三菱CNC上位機開發(fā):C# WinForm與MC協(xié)議通訊實踐 簡介該演示源碼基于C# WinForm編寫面向工控上位機與數(shù)控系統(tǒng)開發(fā)人員演示如何借助三菱官方通訊庫EZNCAUTLib實現(xiàn)與三菱CNC機床的數(shù)據(jù)交互解決設備數(shù)據(jù)采集、狀態(tài)讀取與指令下發(fā)等常見問題。包內(nèi)共145個文件以24個C#源文件與Visual Studio工程文件為核心附帶三菱通訊依賴庫、可運行exe、資源配置及少量說明文檔壓縮后僅771KB結(jié)構(gòu)緊湊適合直接打開調(diào)試。當前已有1128人學習/下載可幫助需要快速理解三菱CNC通訊協(xié)議封裝或進行二次開發(fā)的工程師縮短預研周期。源碼重點設計了MitCom通訊封裝類通過事件機制向外傳遞告警等實時數(shù)據(jù)可直接參考初始化流程、事件綁定與Winform界面交互寫法并可在實際項目中復用其通訊框架。1. C# 與三菱 CNC 通訊WinForm 上位機 Demo 到底能解決什么做上位機的人都知道C# 加 WinForm 是三菱 CNC 數(shù)據(jù)采集場景里最常見的一套組合但真正把通訊 Demo 跑通卡住的往往是協(xié)議細節(jié)而不是代碼本身。這套源碼解決的核心問題很直接讓一臺普通 PC 或工控機通過以太網(wǎng)與三菱 CNC 交換數(shù)據(jù)——讀坐標、讀運行狀態(tài)、下發(fā)啟動停止指令全部落到 WinForm 界面上。適合三類人來復用正在做產(chǎn)線數(shù)據(jù)采集卻不知道協(xié)議怎么開口的 C# 開發(fā)者要給 CNC 增加遠程監(jiān)控畫面而沒有現(xiàn)成通訊代碼的電氣工程師以及想弄明白 MC 協(xié)議報文長什么樣的自動化新人。下面前幾章先把選型講清楚再給可運行的代碼最后把現(xiàn)場常見的坑逐個拆掉。2. 通訊選型EZSocket、MC 協(xié)議與透傳哪條路更適合你的現(xiàn)場2.1 三菱 CNC 對外通訊的三條通道三菱 CNC 開放給上位機的數(shù)據(jù)通道實際能落地的就三類。第一類是官方工具鏈比如 EZSocket 這類 ActiveX 控件它把底層報文封裝好了上位機通過數(shù)據(jù) ID 直接讀坐標、讀報警、讀程序號。優(yōu)點是不用操心幀格式缺點也很明顯COM 組件注冊、x86/x64 位數(shù)、.NET 版本兼容任何一個環(huán)節(jié)沒對上就起不來。第二類是用 MC 協(xié)議直接走 TCP 端口發(fā)報文這是很多 DEMO 源碼的首選也是本章重點。MC 協(xié)議本質(zhì)上是訪問 CNC 內(nèi)部的數(shù)據(jù)寄存器空間上位機自己拼幀、自己解析響應沒有任何中間依賴部署就是一把裸 exe但代價是地址映射得自己對著手冊和設備側(cè)梯形圖確認。第三類是文件級交互通過 FTP、共享目錄或者 CF 卡導入導出加工程序適合批量上下載程序不適合做實時的坐標和狀態(tài)采集。很多第一次接觸三菱 CNC 的人會默認官方控件是唯一方案真的到現(xiàn)場就會發(fā)現(xiàn)老設備上控件版本和系統(tǒng)不匹配反而是常態(tài)。我一般建議先看 CNC 型號和系統(tǒng)版本再看現(xiàn)場有沒有 PLC 梯形圖的修改權(quán)限如果兩者都受限制EZSocket 依然是第一選擇如果設備是近幾年交付的以太網(wǎng)功能選項齊全MC 協(xié)議直連更省心這也是這份 DEMO 源碼主走的路線。2.2 方案對比EZSocket、MC 協(xié)議、文件級交互怎么選對比項EZSocket 官方控件MC 協(xié)議 TCP 直連文件級交互開發(fā)量小控件封裝了數(shù)據(jù) ID中需要拼報文和解析小但只適合傳文件實時性好好差秒級以上部署依賴需要注冊 COM注意位數(shù)無依賴一把 exe 即可依賴 FTP 服務或共享目錄數(shù)據(jù)范圍官方定義的數(shù)據(jù) ID寄存器地址取決于梯形圖映射程序文件不涉及點位典型坑注冊失敗、Embed Interop 沖突地址映射不準、字節(jié)序顛倒不適合讀坐標、狀態(tài)從上表能看出來MC 協(xié)議是投入產(chǎn)出比最均衡的方案。它不依賴第三方組件協(xié)議幀結(jié)構(gòu)在網(wǎng)上和三菱的通訊手冊里都能查到對照只要 CNC 側(cè)把網(wǎng)絡參數(shù)打開就能建立連接。EZSocket 適合時間緊、數(shù)據(jù)點多、不想碰協(xié)議的場景但每次換現(xiàn)場機器都可能被 COM 注冊坑一次。文件級交互基本排除在實時監(jiān)控類需求之外。2.3 最小通訊單元MC 協(xié)議 3E 幀的讀取請求怎么拼MC 協(xié)議里常用的是 3E 幀二進制模式讀字請求的幀結(jié)構(gòu)不算復雜理解它比背下來更重要。幀頭占據(jù)前兩個字節(jié)然后是網(wǎng)絡號、PC 號、IO 編號和站號這四段在單機直連場景下用默認值即可。從監(jiān)視定時器之后才是真正跟業(yè)務相關的字段。下面給出一段 C# 構(gòu)建讀取請求幀的代碼private byte[] BuildReadFrame(ushort startAddr, ushort count) { using var ms new MemoryStream(); // 幀頭3E 幀二進制模式固定為 D0 00 ms.Write(new byte[] { 0xD0, 0x00 }, 0, 2); ms.WriteByte(0x00); // 網(wǎng)絡號 ms.WriteByte(0xFF); // PC 號 ms.Write(new byte[] { 0x03, 0xFF }, 0, 2); // IO 編號固定值 ms.WriteByte(0x00); // 站號 // 請求數(shù)據(jù)長度從監(jiān)視定時器到幀尾的字節(jié)數(shù)讀字請求固定 11 ms.Write(new byte[] { 0x0B, 0x00 }, 0, 2); ms.Write(new byte[] { 0x10, 0x00 }, 0, 2); // 監(jiān)視定時器0x10 * 250ms 4 秒 ms.Write(new byte[] { 0x01, 0x04 }, 0, 2); // 指令0x0401 讀字 ms.Write(new byte[] { 0x00, 0x00 }, 0, 2); // 子指令按字訪問 // 起始地址 3 字節(jié)低字節(jié)在前 ms.WriteByte((byte)(startAddr 0xFF)); ms.WriteByte((byte)((startAddr 8) 0xFF)); ms.WriteByte(0x00); // 擴展位D 設備置 0 // 讀取點數(shù) 2 字節(jié)低字節(jié)在前 ms.WriteByte((byte)(count 0xFF)); ms.WriteByte((byte)((count 8) 0xFF)); return ms.ToArray(); }這段代碼里請求數(shù)據(jù)長度算作 11 是很多人容易算錯的地方監(jiān)視定時器占 2 字節(jié)指令占 2 字節(jié)子指令占 2 字節(jié)起始地址占 3 字節(jié)讀取點數(shù)占 2 字節(jié)加起來正好 11不含幀頭。監(jiān)視定時器 0x0010 表示 16 個時間單位每個單位 250 毫秒也就是 4 秒這個值在長響應場景下可以調(diào)大單位換算關系不變。startAddr 是字地址比如要讀 D100就傳 100按字地址而不是字節(jié)地址計算。count 是讀取的字數(shù)建議控制在 64 字以內(nèi)部分系列批量讀取上限是 256 字超了會直接返回錯誤碼這個以 CNC 配套手冊為準。擴展位字節(jié)在 D 設備訪問時填 0如果以后要訪問文件寄存器 R 或擴展繼電器這里可能不同遇到再說。3. 連接與讀取C# 里把坐標、狀態(tài)讀回界面的具體寫法3.1 工程骨架與連接管理類 CncClient拿到這份 DEMO 源碼先別急著跑界面把通訊層剝出來看。核心類 CncClient 承擔了連接、讀寫、斷開的全部職責UI 層只跟它打交道。工程結(jié)構(gòu)上建議拆成三個文件CncClient.cs 管通訊AddressMap.cs 管地址映射MainForm.cs 管界面。這樣后面換機型只需要改地址映射不用動通訊代碼。public class CncClient : IDisposable { private TcpClient _tcp; private NetworkStream _stream; private readonly object _lock new object(); private readonly int _timeoutMs; public CncClient(int timeoutMs 3000) { _timeoutMs timeoutMs; } public void Connect(string ip, int port) { Dispose(); _tcp new TcpClient(); var task _tcp.ConnectAsync(ip, port); if (!task.Wait(_timeoutMs)) throw new TimeoutException($連接 {ip}:{port} 超時); _stream _tcp.GetStream(); _stream.ReadTimeout _timeoutMs; _stream.WriteTimeout _timeoutMs; } public void Dispose() { _stream?.Dispose(); _tcp?.Dispose(); } }Connect 方法里用 ConnectAsync 加 Wait 的方式實現(xiàn)超時控制比直接調(diào) Connect 好用后者在網(wǎng)絡不通時會卡住幾十秒。連接超時時間默認 3 秒現(xiàn)場如果是跨交換機跨網(wǎng)段可以調(diào)到 5 秒但不要太大不然斷線后恢復會很慢。_lock 對象在讀寫方法里會用到確保輪詢線程和寫入線程不會同時操作流。3.2 讀坐標按字讀取、字節(jié)序與比例尺坐標數(shù)據(jù)在 CNC 側(cè)通常是字單位1 個字對應 16 位有符號整數(shù)。很多 DEMO 第一次跑出來的坐標是亂碼不是協(xié)議問題而是把無符號讀出來了。負坐標在 -0.001mm 量級下會被讀成 65535 之類的正數(shù)看著就像脫韁了一樣。讀取并解析坐標的完整方法如下public short[] ReadWords(ushort startAddr, ushort count) { byte[] frame BuildReadFrame(startAddr, count); lock (_lock) { _stream.Write(frame, 0, frame.Length); // 響應頭幀頭2 網(wǎng)絡號1 PC號1 IO號2 站號1 7 字節(jié) byte[] header ReadExact(7); byte[] lenBuf ReadExact(2); int bodyLen BitConverter.ToUInt16(lenBuf, 0); byte[] body ReadExact(bodyLen); ushort endCode BitConverter.ToUInt16(body, 0); if (endCode ! 0x0000) throw new IOException($MC 返回錯誤碼 0x{endCode:X4}); int dataLen bodyLen - 2; short[] result new short[dataLen / 2]; for (int i 0; i result.Length; i) { result[i] BitConverter.ToInt16(body, 2 i * 2); } return result; } }ReadExact 是一個循環(huán)讀取的輔助方法因為 NetworkStream.Read 一次未必讀完指定長度必須循環(huán)。響應里 bodyLen 包含了結(jié)束代碼的 2 字節(jié)所以要減掉才能得到數(shù)據(jù)區(qū)長度。讀取的數(shù)據(jù)按小端字節(jié)序解析成 short三菱的數(shù)據(jù)寄存器就是小端BitConverter.ToInt16 在 x86 和 x64 平臺上都符合。得到的 short 數(shù)組需要乘以比例尺才是真實物理量常見 CNC 最小輸入單位是 0.001mmD 寄存器里存的是 12345 就代表 12.345mm比例尺就是 0.001。這個值不要寫死放進配置里不同軸可能不同。3.3 讀狀態(tài)狀態(tài)字的位解析運行狀態(tài)和坐標不一樣坐標是多字數(shù)據(jù)狀態(tài)一般是一個字里打包了多個開關量。比如 bit0 代表運行中bit1 代表報警bit2 代表自動模式這種位定義通常靠 CNC 側(cè)梯形圖從系統(tǒng)變量搬運到 D 寄存器。狀態(tài)字解析用枚舉加位邏輯最清晰[Flags] public enum CncStatus { None 0, Running 1 0, // bit0: 主軸運行中 Alarm 1 1, // bit1: 有報警 AutoMode 1 2, // bit2: 自動模式 HomeComplete 1 3, // bit3: 回零完成 } public static CncStatus ParseStatus(short raw) { return (CncStatus)(raw 0x000F); }掩碼 0x000F 的意思是只取低 4 位高位可能在現(xiàn)場設備里另有定義不能貿(mào)然全量轉(zhuǎn)換。實際項目里位定義可能更多規(guī)范做法是先拉到 CNC 面板的 PLC 監(jiān)控頁看 D 寄存器每個 bit 的實際變化確認之后再往枚舉里補。這種位解析代碼本身不復雜麻煩的是確認 bit 定義的過程所以 DEMO 里一定要保留這份枚舉定義和現(xiàn)場對照記錄。3.4 界面刷新定時器輪詢與跨線程安全WinForm 界面用 System.Windows.Forms.Timer 做定時輪詢是最省事的做法但坑也集中在 UI 線程上。網(wǎng)絡 IO 是阻塞的如果直接在 Tick 事件里同步 ReadWords界面會卡到通訊完成才恢復一旦斷線就可能白屏好幾秒。輪詢代碼要防重入并借助 BeginInvoke 回到 UI 線程更新控件private bool _busy; private void timer_Tick(object sender, EventArgs e) { if (_busy) return; _busy true; try { short[] data _client.ReadWords(0x0010, 6); BeginInvoke(new Action(() { lblX.Text (data[0] * 0.001m).ToString(F3); lblY.Text (data[1] * 0.001m).ToString(F3); lblZ.Text (data[2] * 0.001m).ToString(F3); lblStatus.Text CncStatus.ParseStatus(data[3]).ToString(); })); } catch (Exception ex) { BeginInvoke(new Action(() lblStatus.Text 通訊異常 ex.Message)); } finally { _busy false; } }_busy 標志位是為了防止上一次周期還沒結(jié)束下一次 Tick 又進來導致網(wǎng)絡流同時被多個線程操作。BeginInvoke 的作用是把控件更新排到 UI 線程隊列不在后臺線程直接操作 Label。輪詢間隔一般取 200 到 500 毫秒太短會增加 CNC 側(cè)通訊負擔太長界面上看著不實時。還要注意 Timer 的 Interval 在界面失去焦點時不會停下窗體最小化時建議主動停止輪詢省得無謂占網(wǎng)。4. 寫入與下發(fā)程序號、啟停指令與報文日志的落地細節(jié)4.1 寫請求幀與讀請求幀的三處不對稱寫操作比讀操作復雜的地方在于幀結(jié)構(gòu)調(diào)整了三處指令碼從 0x0401 換成 0x1401請求數(shù)據(jù)長度不再是固定 11而是要在末尾追加要寫入的數(shù)據(jù)。構(gòu)建寫幀的代碼如下private byte[] BuildWriteFrame(ushort startAddr, short[] values) { int bodyLen 11 values.Length * 2; using var ms new MemoryStream(); ms.Write(new byte[] { 0xD0, 0x00 }, 0, 2); ms.WriteByte(0x00); ms.WriteByte(0xFF); ms.Write(new byte[] { 0x03, 0xFF }, 0, 2); ms.WriteByte(0x00); ms.Write(new byte[] { (byte)(bodyLen 0xFF), (byte)(bodyLen 8) }, 0, 2); ms.Write(new byte[] { 0x10, 0x00 }, 0, 2); ms.Write(new byte[] { 0x01, 0x14 }, 0, 2); // 指令 0x1401 寫字 ms.Write(new byte[] { 0x00, 0x00 }, 0, 2); // 子指令仍按字 ms.WriteByte((byte)(startAddr 0xFF)); ms.WriteByte((byte)((startAddr 8) 0xFF)); ms.WriteByte(0x00); ms.WriteByte((byte)(values.Length 0xFF)); ms.WriteByte((byte)((values.Length 8) 0xFF)); foreach (short v in values) { ms.WriteByte((byte)(v 0xFF)); ms.WriteByte((byte)((v 8) 0xFF)); } return ms.ToArray(); }第一處不對稱是請求數(shù)據(jù)長度跟隨寫入數(shù)據(jù)變化忘了改就會導致 CNC 端解析錯位。第二處是響應解析邏輯不同寫響應只有結(jié)束代碼沒有數(shù)據(jù)區(qū)所以讀完 bodyLen 后直接判斷結(jié)束代碼即可。第三處是寫入操作必須確認結(jié)束代碼為 0x0000 才能算成功有些設備在自動運行模式下拒絕寫入會返回錯誤碼這一層異常必須向上拋不能靜默吞掉。4.2 下發(fā)程序號與啟停指令的時序MC 協(xié)議本身只能寫寄存器不能直接發(fā)「啟動加工」這種語義指令。現(xiàn)場常見做法是在 CNC 內(nèi)置 PLC 梯形圖里定義好控制字比如 D200 寫入 1 表示請求自動運行梯形圖讀到后觸發(fā)啟動信號。這才解釋得通為什么很多 DEMO 源碼里下發(fā)程序號和一個控制字是分開寫的。通用時序如下// 第一步切換到編輯或自動模式 _client.WriteWords(0x00C8, new short[] { 1 }); // 模式控制字置 1 Thread.Sleep(50); // 第二步寫入目標程序號 _client.WriteWords(0x00CA, new short[] { 100 }); // 程序號 O0100 // 第三步給出啟動脈沖置 1 再置 0 _client.WriteWords(0x00CC, new short[] { 1 }); Thread.Sleep(100); _client.WriteWords(0x00CC, new short[] { 0 });這里 D 區(qū)地址是示意值真實項目必須根據(jù)現(xiàn)場梯形圖定義來定。我把模式切換、程序號、啟動分三個步驟的目的就是讓每一步可驗證在 CNC 面板上觀察當前模式是否切換、程序號是否正確、啟動是否有動作。三步之間加延時是緩解總線競爭不是必須但加了能減少偶發(fā)失敗。如果發(fā)完啟動指令后 CNC 沒有動先看模式是否為自動再看機床是否處于復位狀態(tài)報警狀態(tài)下啟動指令會被忽略。4.3 報文日志把黑匣子變成可回放的記錄通訊聯(lián)調(diào)最怕的是現(xiàn)場復現(xiàn)不了問題。每次收發(fā)都留報文日志后面排查能少走很多彎路。一個樸素的日志記錄方法把 TX 和 RX 的十六進制報文連同時間戳寫進文本文件public void LogExchange(byte[] tx, byte[] rx, string remark) { var sb new StringBuilder(); sb.AppendLine($[{DateTime.Now:HH:mm:ss.fff}] {remark}); sb.AppendLine($TX: {Convert.ToHexString(tx)}); if (rx ! null rx.Length 0) sb.AppendLine($RX: {Convert.ToHexString(rx)}); File.AppendAllText(_logPath, sb.ToString()); }Convert.ToHexString 是 .NET 5 以上的寫法如果 DEMO 工程跑在 .NET Framework 4.x 上要用 BitConverter.ToString 然后去掉中間的橫線。日志記錄放到 CncClient 內(nèi)部調(diào)用每次 ReadWords 和 WriteWords 都自動記不要等出問題再去加。有了報文日志回放比對就很簡單把出問題時的 TX 幀和正常時的 TX 幀放在一起逐字節(jié)看往往就是請求長度的低字節(jié)寫錯或者地址移位一個字節(jié)。5. 避坑與排查連接失敗、數(shù)值紊亂、UI 卡死的五個真實場景5.1 連接超時但 CNC 側(cè)無響應現(xiàn)象PC ping 得通 CNC 的 IP但程序 Connect 每次都超時CNC 面板上網(wǎng)絡狀態(tài)看著也是正常的。原因ping 通只代表 IP 層可達不代表業(yè)務端口開放。CNC 的以太網(wǎng)功能一般分好幾個服務MC 協(xié)議服務如果沒有單獨開啟端口就是關閉狀態(tài)。另外 PC 的防火墻也會攔截入站響應尤其是 Windows 10 以上系統(tǒng)默認阻止外部連接。解決三步走。第一步用 Test-NetConnection 指令驗證端口通不通第二步到 CNC 面板的網(wǎng)絡參數(shù)畫面確認 MC 協(xié)議服務處于啟用狀態(tài)端口號和程序里一致第三步臨時關閉 PC 防火墻測試通了再放行相關端口。從那以后我每次聯(lián)機都強制走一遍 IP、端口、服務開關三層確認沒再被這個問題絆過腳。5.2 坐標數(shù)值是負的或者被放大了一百倍現(xiàn)象讀出來的 X 坐標顯示 -32768或者明明在原點附近卻顯示 64000 多和面板實際值完全對不上。原因這兩個現(xiàn)象根因不同。負數(shù)偏置通常是把有符號數(shù)按無符號解析比如 -0.5 在 short 里是 0xFFFE按 ushort 讀出來就是 65534再乘比例尺自然離譜。放大一百倍通常是比例尺搞錯CNC 最小輸入單位是 0.001mm但有人用 0.01 去乘或者反過來。解決解析 short 時用 BitConverter.ToInt16不要用 ToUInt16比例尺先寫死 0.001 驗證一個已知坐標準了再改成配置值。還有極少數(shù)設備里坐標用 BCD 碼存儲這時候不能直接 short 轉(zhuǎn)換要額外寫 BCD 轉(zhuǎn)十進制函數(shù)。判斷方法很笨但是有效在 CNC 面板上手動搖到一個整數(shù)位置比如 12.000mm讀出來如果是 0x1200 這類形態(tài)八成是 BCD。5.3 程序號永遠讀到 0現(xiàn)象連接正常其他寄存器都讀得出唯獨程序號這一項一直是 0。原因程序號不在普通的 D 寄存器區(qū)很多型號要通過系統(tǒng)變量或者在特定條件下才能讀取比如 CNC 處于復位狀態(tài)時程序號緩沖區(qū)是空的。還有可能讀的 D 地址雖然存在但梯形圖根本沒有把程序號搬運到那里讀到的只是上電默認值 0。解決先去 CNC 面板的手動頁面確認當前程序號確實有值再到 PLC 監(jiān)控頁面看目標 D 地址的內(nèi)容。如果面板有值而 D 地址是 0問題就在梯形圖側(cè)需要找電氣程序確認搬運邏輯如果 D 地址有值而程序讀到 0才輪到排查通訊解析。順序不能反過來否則會被錯誤地帶偏方向。5.4 輪詢一多 UI 就卡死現(xiàn)象界面跑十幾分鐘后操作變得遲鈍點按鈕半天沒反應偶爾出現(xiàn)「未響應」標題。原因最常見的是在 UI 線程同步執(zhí)行了網(wǎng)絡讀TCP 超時期間界面完全阻塞。另一種隱蔽情況是 Timer 間隔太短網(wǎng)絡慢的時候上次請求還沒返回下個 Tick 又進來導致多個請求堆積在流里響應錯位最后拋異常異常邏輯里又同步寫文件進一步卡 UI。解決同步讀改成 Task.Run 包裹或者把讀操作放到獨立的后臺線程隊列里只放最新一幀數(shù)據(jù)。Timer 間隔不要低于 200 毫秒并且保持 _busy 防重入。寫日志改為異步線程或者限制頻率不要在異常處理里做文件追加這種高延遲操作。5.5 EZSocket COM 組件注冊與位數(shù)翻車現(xiàn)象方案選型用了 EZSocket代碼編譯沒問題運行時卻報「未在注冊表中標記為允許交互操作」或者找不到 COM 類工廠。原因EZSocket 是 32 位 ActiveX 控件如果程序以 x64 編譯進程無法加載 32 位 COM 組件。另外每次換機器部署目標機沒有執(zhí)行過 regsvr32 注冊組件根本不存在。還有 Visual Studio 引用了互操作程序集但沒有正確設置 Embed Interop Types運行時互操作解析失敗。解決項目平臺目標強制改 x86AnyCPU 在 64 位系統(tǒng)上會踩雷部署時用管理員權(quán)限執(zhí)行 regsvr32 注冊控件路徑引用屬性里把 Embed Interop Types 設為 False讓互操作程序集作為獨立 DLL 輸出。如果現(xiàn)場不允許裝 COM 組件老老實實切回 MC 協(xié)議方案不用在這條路上硬耗。6. 進階收尾把輪詢改成事件驅(qū)動這個 Demo 才算真正能上線6.1 用 Channel 替代 Timer 的輪詢Timer 輪詢在 30 分鐘內(nèi)的聯(lián)調(diào)沒問題但跑到一個通宵就容易暴露問題周期漂移、偶發(fā)重入、CPU 空轉(zhuǎn)。稍微往上走一步用 System.Threading.Channel 做生產(chǎn)者和消費者模型。讀線程往 Channel 里丟數(shù)據(jù)界面線程訂閱后更新控件通訊頻率和界面刷新頻率完全解耦ChannelCncFrame _channel Channel.CreateBoundedCncFrame(16); async Task ReadLoopAsync() { while (!_ct.IsCancellationRequested) { var frame await Task.Run(() _client.ReadWords(_addr, 6)); await _channel.Writer.WriteAsync(frame, _ct); await Task.Delay(200, _ct); } } async Task UILoopAsync() { await foreach (var frame in _channel.Reader.ReadAllAsync(_ct)) { lblX.Text (frame[0] * 0.001m).ToString(F3); } }有界 Channel 容量設 16寫入超過容量時生產(chǎn)端自動等待防止 CNC 響應快而界面刷新慢時數(shù)據(jù)無限堆積吃掉內(nèi)存。6.2 斷線重連與心跳讓程序隔夜不跑飛上線之后遇到最多的不是首次連接失敗而是半夜網(wǎng)絡閃斷后程序一直停在異常狀態(tài)。斷線重連不要無腦 while 循環(huán)間隔做指數(shù)退避從 1 秒起步翻倍到 30 秒封頂避免斷線期間瘋狂刷連接請求把 CNC 側(cè)通訊模塊打滿。同時每隔幾秒發(fā)一次讀取請求當心跳連續(xù)失敗三次觸發(fā)重連邏輯。這個機制加上后基本上能做到第二天早上打開界面數(shù)據(jù)依然是新的不用人工干預。6.3 一個收尾習慣先驗證協(xié)議再寫界面這份 DEMO 我已經(jīng)反復拆過好幾輪最想囑咐一句的是拿到源碼后先把 CncClient 單獨拎出來寫一個控制臺小工程只讀坐標跑通了再往 WinForm 上拖控件。界面和通訊混在一起調(diào)試時你很難分清是界面事件寫錯了還是報文拼錯了。從那以后我每次做設備通訊都強制走一遍這個步驟先把協(xié)議這層黑匣子驗證透再考慮按鈕和表格怎么擺。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久老子无码午夜伦不卡| 激情干在线| 欧美色日本| 99精品久久久久久久婷婷蜜桃| 啊啊啊好舒服视频| 午夜经典| 日韩欧美福利视频看看| 爱丝福利| 国产丝袜啪啪| 欧美中日韩XXXX| 亚熟hd视频在线| 天天看综合网| 成年女人一区| 操一区| A级片一区| 久久原创中文| 九九精品网| 天欧美在线| 女人一区| 久久香蕉超碰97国产精品 | 久久99999| av大香蕉| 国产成人网| 强奸乱伦av电影| 日韩免费三级黄片电影| 久久av无码| 天天92av| 啊啊啊爽爽| 欧美激情精品久久久久久| 九九国产| 久九9精品| A啊啊在线观看| 混色激情av| 人妻久久久久久| 色人久久| 婷婷五月天成人网| 久草网站免费在线观看| 做爱A级亚欧| 亚洲AV成人精品网站在AV| 国产精品一区在线播放| 婷婷午夜清品久久久久久久性色视频观| 亚洲精品一卡二卡三卡福利视频网站| 大香蕉综合| 动漫片子网站3黄| 韩国女主播青草福利视频| 红杏大香蕉| 日日狠狠久久偷偷色综合免费| 91精品丝袜在线观看| 亚洲国产成人精品无码专区| 精品人妻美妇91job| 亚洲AV无码久久久国产精品| 激情五月天色播| 碰碰在线视频| 亚洲欧美91√| 一区二区三| 欧洲在线性爱视频| 国产精品无码久久久久2025| 国产精品视频一区二区三区八戒| 日本片日本片祼观看网站在线看中文版网页在线看| 欧美亚洲综合色| 国产精品4p在线观看| 2025亚洲男人天堂| 欧美爱三级日韩久久| 欧美激情性久久久久久| 黄色视频特级毛片| 国产欧美第五页| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 18禁美女裸体无遮挡啪啪| 久久性爱大全| 啊啊好多水| 亚洲九九视频在线观看| 91网站18| 日本精品高清一二区一本到| 自拍第一页| 五月天色综合| 淫荡熟女乱伦网| 亚洲欧洲国产综合av| 日本人体九九九九九九| 伊人久久亚洲色欲综合网站| 日韩在线电影| 午夜国产成人福利视频 | 日本中文字幕高跟| 插B在线观看| 成年无码动漫av片无尽在线 | 果冻传媒A片一二三区| 综合少妇网| 九九视频黄色片| 日本三级日本三级99| 操少妇很爽av| 日韩BBN| 国产辣妈在线视频福利| 男人天堂站| 日本不卡中文| 蜜臀操逼黄色视频操的好爽| 天天看特黄的免费网站| 亚洲视频精选| 色色色欧美| a片亚洲一本通视频| 亚洲男人天堂2017| 久久香蕉综合一本到3atv| 欧美制服另类丝袜| 妇女一区二区三区| 97鸡把在线视频| 妇女性内射冈站HDWWWCOM| 插穴性爱视频在线观看| 麻豆乱码久久精| 97资源站国产精品| 竹菊影视国产一区二区| 亚洲色入欧美| 免费看片黄| 国产剧情一区在线观看| 中出91视频| 家庭乱伦网站国产| 亚洲天在线| 熟女乱伦A| 天美传媒av一区二区| 国产成人亚洲精品无码最新在线| 欧洲综合视频| 国产二区三区免费视频| 久久久久久性爱视频| 国产精品日日摸夜夜添骚逼| 欲女人妻性色av| 精品久久久久久无码| 天天综合网在线| 人人爱人人乐人人操| 一本久道久久综合狠狠爱| 婷婷精品久久av影视| ?亚洲伊人伊成久久人综合网| 超碰人妻中文在线| 久久AV无码网址| 88在线一区二区三区| 美女网站黄页| yazhouzaixian| 日本熟女免费視颖| 精品国产国产AV| 中文字幕五月婷婷免费| 国产99999久久精品| 亚洲成a人在线观看久| 国产精品久久久久999| 欧美日韩一区二区三区四区蜜桃| 久久精品99久久久久久| 成人看片网站| 91黑人狂躁丰满熟妇| 97一区二区蜜臀| 中国一级操逼视频| 亚洲天堂少妇| 大香蕉色网| 可能人人看人人摸| 四虎在线视频| 久久深夜无码| 亚洲一区中文字幕一区| 欧美性爱第一页久久| 一牛影视久久久一区二区三区| 超碰色综合| 国产AV人人 夜夜人人澡| 国产成人无码a| 97精品97久久| 伊人天堂在线| 国产欧美岛国精品一区| 九九九久久久W精品| 精品视频专区| 美女尤物福利视频| 精品人妻一区| 97精品久久| 天操天操夜操夜月操月年年操操| 啊啊啊啊嗯嗯嗯用力好爽 | 伊人久久久日韩一区| 国产偷拍自拍在线视频| 日本不卡在线二区三区| 后入式五六区| 蘋果手機免費看成人Av| 久九九九九九九热| 日韩人妻精品久久久久| 国语av最新自产拍在线观看| 久久夜夜| 亚洲图片欧美偷拍| 91精品久久久久久久久久| 狠狠干,狠狠操| xxx0国产在线播放| 99久久精品国产系列| 亚洲色图自拍| 啊啊啊啊啊好大好舒服想要| 加勒比在线视频| 欧美网站免费| 亚洲图片欧洲图片aⅴ| 亚洲欧美综合| 精品九九九九九九| 欧美色91| 热久久无毒不卡| 安徽熟妇视频| 久久熟女久| 日韩人妻少妇中文字幕| 日本99视频| 激情视屏国产乱伦强奸| 久操网视频| 午夜福利激情在线视频| 人妻精品一区二区在线| 国产不卡免费在线视频| 2017人人操,人人摸| 2020中文字幕在线观看| 99999久久精| 青青操日韩| 丝袜高跟澳门91视频| 蜜桃视频一区二区三区在线观看| 好湿好紧好爽 视频| 免费夜夜爱黄色视频毛片| 丁香婷婷九月| 超碰碰碰碰| 中字乱伦AV| 巨爆乳肉感一区二区三区竹菊影视| 成全在线观看免费观看| 久久亚洲欧美中文字幕国语| 草草影院最新网址| 台湾成人无码AV| 中文字幕AV乱伦| 午夜福利一区二区影院| 亚洲成人在线高清| 四虎国产精品永久地址入口| 激情四射五月天| 丁香五月天啪啪| 成人av动漫在线观看| 岛园激情| 久热色情精品| 国产25页| 男人的天堂com| 91人人| 久久久亚洲熟妇熟女| 亚洲熟女乱色一区二区三区 | 搡老女人老妇女老妇老熟女怎么读| 精品区9| 亚洲五区熟女| 不卡一区视频| 婷婷激情四射| ji熟女.com| 干婷婷综合网| 亚洲国产综合久久久性感熟妇| 啊啊好多水| 亚av顶级裸体一区二区三区四区五区 | 97超碰色| 日本免费一级AAA大片器| 强奸乱伦大香蕉| 国内毛片无码一级毛片| 麻豆亚洲Av成人无码一区精品| 精品一区96| 色网综合网| 九久精品| 国模无码一区二区三区在线| 黄页18禁| 亚州男人天堂| 岛国AB视频| 久草久热| 97色操| 性爱网站一区二区| 久热91| 国产精品久久久久久夜夜夜| 亚洲风情在线观看| 亚洲中文日韩欧美大香蕉视频| 丁香五月社区| 在线亚洲丝袜视频网站| 欧美亚洲素人制服精品| 超碰99在线| 久久久111| 91少妇人妻| 中文操嬖片。| 夜精品久无码| 东京热视频网| 好爽,再快点啊哈嗯嗯嗯嗯| AV久日| 亚洲丰满很很操| 伊人青青草久久| 欧美日韩久久精品爱爱| 久草国产在线视频| 美女高潮视频91| 1024精品在线| 色婷婷久久| 青青草日韩免费观看高清在线| 韩国三级色呦呦| 国产精品亚洲一区二区三区四区| 欧美少妇色综合| 国产又黄又粗又猛大片| 26uuu欧美| 啊啊啊男女| 免费公开人人操| 啊啊好多水| 国产黄色剧情影片麻豆免费播放| 日韩在线视频1234| 婷婷综合伊人一区| 黑丝91视频| 国产熟妇 码视频户外直播| 99热精品在线| 男人综合网| 色综合色色| 日韩欧视频| 日韩中文欧美| 久久久久久久精| 长长久久88视频| 精品网站9999| 爱做久久久久久| 欧美人妻另类在线| 日韩欧美经典在线观看| 国产又长又大又粗的视频| 国产理论视频在线播放| 国产第11页| 久草网站免费在线观看| 欧美中字不卡| 日韩精品一区二区三区色欲| 亚洲人精品久久久| 97色色色| 交换娇妻呻吟声不停中文字幕| 丝袜天堂| 久久综合99| 高清视频一区| 中文字幕视频2区| 人妻一区二区三区视频| 搞中出视频在线观看| 久草国产在线视频| 超碰97人人乐| 亚洲AO在线| 思思热国产在线视频| 天堂亚洲精品久久老牛| 国产99热| 伊人网免费视频| 天天操人人操骚逼网站| 日韩性爱网址| 老女人综合网| 青青草成人视频在线观看二区 | 久久国产精品,久久国产| 成人影院永久免费观看网址| 久欲AV| oumeisetu综合| 五月婷网站| 91操熟女视频| 91久久伊人婷婷青青草| 欧美黄片视频在线观看免费 | 久久久久成人蜜桃精品| 精品国产91av一区二区三区| 青青草原香蕉日本Ap| 另类图片五月| 小情侣高清国产在线视频| 激情文学88| 四虎在线观看网站| 操操操操操操| 长长久久88视频| 久久五十路熟女人妻| 69久久| 99操| 成年女人一区| 日韩中文字幕二区| 人妻日日干| 伊人四虎综合| 91亚洲情色| 狠色婷婷久久一区二区三区_| 水野优香在线观看| 做爱A级亚欧| 超碰美国| 日韩三级av片| 性生活性生大爱77AV国产| 97亚洲资源| 亚洲麻豆精品二区三区| 久久九九综合| 92午夜免费福利视频| 中文字幕高清精品一区| 极品少妇久久久| 久久人体一区二区| 超碰97最新人妻| 清纯唯美激情四射| 久久久久久久久久久久久久9999| 91精品黄在线观看| 激情99| 六月丁香久久| 久99视频| 亚洲成人免费在线| 欧美亚洲丝袜人妻制服99| 久久精品国产72国产精品福利| 国产精品久久aV| 97色色色| 国产精品96| 91亚洲人| 国产精品久久妻无码网站| 97九色| 97免费在线观看视频| 96超碰网| 亚洲天天操| 女人久久久| 亚洲成人贴图| A级国产欧美激情在线| 天天综合~91| 白丝被操91| 国产福利视频精品视频| 三级色综合| 欧美亚洲另类在线蜜桃| av天堂加勒比| 免费一级a毛片久久久久久鸭绿欲| 激情综合网激情综合| 精品福利| 一区二区影院| 久久女婷| 精品射1999| 大香蕉伊人在线成人AV在线观看| 人妻内射一区二区在线视频| 很狠操| 男人的天堂VA| 日韩免费a级毛片无码a∨| 翔田千里A片一区二区| 欧美日韩在线视频网站| 都市久久精品激情亚洲| 8050无码八戒| 99热免费| 久久綜合很很很| 国产精品午夜福利视频| www.人人摸在线视频| 亚洲国产97| 欧美激情性爱视频网站| 337p大胆噜噜噜噜噜91Av| 六月色婷婷| 69综合网| 欧美一级二级三级| 黑人美精品 A片| 色婷久久| 亚洲综合小视频小说在线观看 | 亚洲啪啪视频免费| 色牛牛AV| 中文字幕免费观看| 超碰97人妻自拍| 操b在线观看| 国产精品免费视频人成| 骚乳在线| 男同专区一区二区三区在线| 中文字幕乱码人妻二区三区 | 久久久一区二区三区麻豆| 老司机福利青青草| 久久久麻豆精品| 嗯啊不要在线观看嗯啊| 高清无码 国产精品| 精品成人动漫一区二区| 欧美在线官网| 成人AV在线网站| 黄片qw| 九九热超碰| 精品999日本| 99中文字幕| 777奇米影视777四色| 日本九九久久99播| 欧美综合第一页| 日韩欧美俄罗斯A片| 韩日男人的天堂| 欧美熟妇色| 在线观看AV片| 久久久久9999精品九九九| 国产又黄又爽| 日本色婷婷| 好爽要喷了| 97在线精品观看视频| 麻豆视频test| 亚洲国产97| 欧美一级色| 性高潮久久久| 欧美久久伊人| 少妇蹲下买菜露大唇0| 亚洲一曲日韩精品| 大香蕉之青青草原| 加勒比久久综合网高清| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | SS久久| 国产视频人人网| 天天做天天爽| 天天射日日干| 久视频在线观看| 蜜臀在线视频| 天美一二三在线观看Av| 八戒午夜福利理论片| 香港成人一级视频在线青青草| 狠狠操狠狠操操| 九月丁香婷婷| se吧提供91精品国产91久久久久久| 密臀在线免费观看| 亚洲性爱电影| 操老熟女AV| A片三级无码| 99久在线精品99re8| 欧美日韩性爱视屏免费看了| 91欧美情色| 丁香五月综合| 亚洲国产精品V?在线播放| 久草色悠悠在线视频| 中文字幕人乱码中文字的预防方法| 怡红院怡春院| 欧美性爱日韩高清| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 亚洲熟妇综合久久久久久| 美女国产一区二区久久| 青青草原av| 精品人妻一区二区蜜桃视频| 欧美综合区| 久久九九97| 伊人天堂在线| 一级毛片久久久久久久女人18| 亚州综合AⅤ| 五月天黄色激情视频| 南澳成人一级片在线播放| 欧美亚涩| 久久av成人无码免费| 91精品国| 日韩精品人妻系列无码天堂| 大香网站| 91欧美亚洲| 亚洲欧美日韩电影网站一区| 人妻少妇精品一区二区三区| 蜜乳AV一区| 91黄站| 欧美在线啊啊啊| 无套内射性感少妇视频| 亚洲精品一区二区精华| 久久风骚城市人| n1038 一二三区| 欧美成人一区二区三区在线播放| 蜜臀久久99精品久久久电影| 超碰视97中文| 久久AV无码1区2区3区| 日本熟妇人妻中出视频| 国产在线能看的你懂的| 日韩内| 91N综合在线| 日韩欧美视频青青| 亚欧Av| 91人妻最真实刺激绿帽| 韩国一级做A片免费的| 久久久久久久97| 美女91色黄18| 屌妞视频久久久久久久| 五月开心网| a v网站在线播放| 狠狠操使劲操| 天天色欧美| 亚洲熟女少妇免费视频| 激情综合av| 日本久久久久久久久| 免费看久久久性性| 国产一级操B视频| 三级日韩一区二区三区| 亚洲国产97| 丰满人妻一区二区三区色-百度| 欧美日韩人人精品| 日本三级韩国三级美三级91| 五月丁香综合| 久久婷五月| 日韩成人性爱电影在线播放| 911av网站免费观看| 中文乱码字字幕在线第5页| 一卡二卡三卡| 清纯唯美第一页| 嗯~啊~快点 死我视频免费看网站| 91美乳| 国产视频一区二区三区久久亚洲天堂| 91 亚洲 欧洲| 91啪9色| 婷婷色一区| 亚洲综合春色| 天堂资源欧美| 色噜噜人妻丝袜AV资源| 日逼五月天| 99蜜桃臀久久久欧美精品网站| 爽爽爽免费视频| 啊啊啊啊啊在线视频| 熟女色图在线| 亚洲天堂人人妻| 一本久久精品中文字| 成人黄页| 天美久久久久| 天天肏天天干| 91精品人妻偷情| 人人玩人人添人人澡免费| 亚欧免费| 国产做?爰片久久毛片?片美国| 全球成人中文在线| 夜色五月天| 日韩内射视频| 98福利在线视频| 九九久精品| 东北熟女91| 9国产超碰| 在线综合色| 操操啪| 嗯啊不要啊啊在线观看视频| 欧美日韩大陆黑人少妇99| 亚洲精品 欧美97色色| 一区二区三区色综合| 人妻无码一区二区三区久久99| 色综合 加勒比| 欧美亚洲天天| 级做a爱无码性色永久免费| 国产极品精品美女视频| 强奸a片网| 亚洲熟妇图片| 死我十八禁| 天天看天天日| 中文字幕成人理论在线| 国产精品天美传媒| 国产麻豆一区二三区| 亚洲男人在线观看天堂| 欧美亚洲第一页| 久久综合99| 男人 天堂 日 亚洲| 97国产|免费| 成人97人人超碰人人| 久久婷婷热| 亚洲男人的天堂AV| 激情欧美97| yellow网站免费观看日韩高清无码| 99色天堂| 亚洲欧美日韩电影网站一区 | 中文字幕人妻色偷偷久久皮| 伊人网在线点播| 1级午夜影院费免区| 婷婷五月av| 国产白丝在线| 国产操逼网站亚洲一级黄色| 久久人人爽人人爽人人片Ⅴ| 9999亚洲电影| 欧美高清无码免费视频高清版| 黄片在线免费在线观看| 亚洲精品国产精品乱码不卡| 国产精品第一页国产大屁股视频免费区 | 依人大香蕉| 色阁阁AV综合网| 蜜乳AV免费观看| 偷拍 精品另类 凸凹了四区| 97在线亚洲| 欧美性爱1080p| n1038 一二三区| 校园春色 欧美| 五月丁香色情| 97久久超碰亚洲| 嫩草一区二区在线观看| 日韩精品人妻中文字幕久久久| 亚洲欧美999| 五月丁香六月| 91日韩国产欧美亚洲另类精盘州至城都| 强奸乱伦资源| 亚洲国产蜜臀系列在线观看| 性久久| 老女人碰碰在线碰碰视频| 成人免费视瓶| 99在线观看无大码| 伊人久久在线视频观看| 国产AV人人 夜夜人人澡| 男女啪啪啪18禁网站| 亚洲精品久久久久久久久豆丁网| 97国产超碰| 麻豆天美国美国产| a亚洲欧美色欲| 吉田爱美AV在线| 最新av网站在线观看| 久久成年精品| 2017人人操,人人摸| 综合天天网| 国产曰批免费观看久久久| 国产精品丝袜久久亚洲不卡| 亚洲av影音先锋| 男女香蕉一区二区| 99热这里只有精品9| 快灬快灬 一下爽蜜桃在线观看| 色99在线| a亚洲欧美色欲| 成人热久久精品| 日操粉逼逼| 欧美狠狠狠| 97天天爽| 一起草欧美| 夜夜免费视频| 亚洲精品色| 国产操逼网站亚洲一级黄色| 超碰人妻中文在线| 自拍大香蕉乱插| 97美日韩视频| 桃色六月天| 欧美丝袜制服久久| 欧洲人妻视频| 婷婷另类小说| 巨爆乳肉感一区二区三区竹菊影视 | 亚洲怡春院| 欧美亚洲日韩人妻在线观看| 亚洲天堂在线怕怕视频| 欧美日韩美女精品久草一区二区三区| 69精品人人人人| 免费国产电影一区二区| 精品二区三四区五电影 | 蜜臀一区二区三区在线| 中国黄色特级精品一区二区三区片| 人人操人人狠狠操| 午夜舔阴达高潮视频免费看| 欧洲自拍色图gif在线| www.99色| 插穴性爱视频在线观看| 老熟女网站| 91操人| 久热久一区二区三区| 午夜理论片在线观看免费| 久操精品| 亚洲综合草草| 超碰 av 女人天堂| 日韩国语字幕| 久久久久久AⅤ无码免费肉站| 婷婷超| 大香蕉手机在线| 99啪啪| 美女尤物福利视频| 亚洲无线码一区国产欧美国| 狠狠色伊人亚洲综合网站色| 丰满人妻一区二区三区四区| 久久宗合亚洲| 区一二区日韩亚洲乱码av电影| 桃色五月天| 黄色小视频日本txt| 东北少妇高潮zzzz| 天堂成人网| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 精品视频在线观看| 九九九九热只有精品| 日韩精品人妻中文字有码在线| 综合国产97| 成人欧美一区二区三区黑人一| 婷婷激情五月天小说网| 成人av福利在线观看| 韩国三级色呦呦| 日日夜夜骑| 91美女视频直播| 久久精品91| 大乔未久88一区| 97干天天| 嫩草伊人久久精品| 亚洲射综合网| 艾草av| 国产13区| 青青草视频久久久久| 人妻天天爽夜夜爽爽| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 欧美日韩岛国大片在线观看| 国产大学生口爆吞精合集| 69少妇一区二区| 国产精品视频自拍在线| 一级二级三级黑人无码| 色就色综合| 日韩卡一卡二卡三在线| 亚洲一级特黄大片在线播放91| 黄色片,com| 综合欧美激情网| 性开放中文AV高清无码免费看| 亚洲日韩美女中文字幕乱| 国产AV久久野战精品| blacked精品一区国产| 嫩草影院在线观看精品 | 99蜜月精品久久| av橘色网站| 老女人综合| 免费岛国一级片| 眼镜人妻101.com| 日韩A优精品在线观看| 91丨熟女丨丰满熟女| 四色永久成人网站| 91蜜臀在线久久久久| 天天爽夜夜欢视| 97视频www| 国产少妇内射| 男人久久天堂| 亚洲av综合色区图片亚洲| 久草免费在线一区二区| 五月丁香激情综合| 91中文精品日韩欧美在线| 少妇色综合| 偷拍导航视频网站| 人人搞人人插人人操| 日本熟女中文字幕一区| 秋霞欧美性爰视频| 中文字幕艹艹| 青青草久草AV| 久久久蜜桃臀无码视频| 日本十八禁免费看污网站| 激情五月天社区| 丁香五月天婷婷姐| 加勒比色综合| 色欲天天综合久久久无码网中文| 91碰超| 亚洲va综合va国产va中文| 日韩午夜啪啪视频| 色妺妺在线视频| 天天摸夜夜操视频| 变态综合色| 福利操逼| 蜜桃久久综合视频| 亚洲蜜臀视频精品久久| 亚洲国产97| 亚洲 国产 精品一区| 久久久久性熟视频| 亚洲激情欧美色图| 八戒午夜福利理论片| 99久久婷婷国产综合精品草原| 夜夜嗷嗷一区二区| 日日摸日日碰夜夜爽视频| 亚洲精品一二区| 91xingse| 亚洲双插| 国产精品久久久久久久黄无码 | 91AV天堂| 午夜小电影在线插入淫高潮| 久草福利在线资源站| 日韩一999精品| 国语精品av| 国产三区免费在线观看| 大香蕉国产中文自拍| 人妻欧美| 日本福利二区视频| 91国产在线精品| 麻豆国产精品午夜视频| 亚洲国男人的天堂| 性生活性生大爱77AV国产| 嗯啊视频免费在线观看| 午夜久久一区二区无码中出| 99精品九九九九九九| 91成人精品在线播放| SS久久| 国产精品一区二区a| 一品道视频一区二区三区| 蜜桃香蕉久草精品在线| 亚洲天堂7777| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 久久久999网站| 久久精品店| 欧美成人精品A片免费一区99| 中出人妻中文字幕91在线| 国产亚洲美日韩Aⅴ中文字幕无码成人| 欧洲Au麻豆| 天美精品原创av片国产| 欧美日韩色图片| 女优大全 - 91n| 免费夜夜爱黄色视频毛片| 高颜值美女口爆高潮浪叫| 自拍鲍鱼一区在线高清观看免费| 97天天插| 桃花色涩综合影院| 欧美在线大香999| 91GD.COM| 亚州一区二区| 有码免费观看| 五十路六十路素人熟女| 99老司机精品视频在线观看| 天天综合网站| 91色插| 亚洲色鬼| 亚洲欧洲无码bt精品合集| 亚洲自拍另类丝袜综合| 草莓精品视频在线免费观看| 97精品视频免费| 国产福利在线视频网站| 色亚州人久干视频在线观看免费版| 无码日韩人妻av一| av橘色网站| 男人的天堂不卡一区二区 | 91综合在线| 一起草在线视频| 黄色成品网站| 中文字幕日韩人妻视频一区二区三区| 亚洲AV在线资源| 激情五月丁香五月| 伊人天天久久动态图| 一区二区蜜臀| 免费观看的黄色的网站| 亚洲欧美综合图片| 国产免费大片| 国产大学生口爆吞精合集| 老熟女综合网 | 香伊人在线| 操老熟女AV| 日本一区三级韩国| 免费人成在线观看网站品爱网| 中文字幕在线第二页| 97天天摸天天碰| 国产女人高潮嗷嗷嗷叫小说| 撸无码不卡免费视频| 伊人青青一区成人视频在线观看区| 亚洲天堂一区二区久久| 老熟女综合网| 精品一区二区三区四区女| 极品极品色影院| 亚洲天堂在线怕怕视频| 色婷婷日韩精品一区二区三区| 美女露胸露尿口| 国产AV无码AV| 草草草视频在线免费看| 丝袜视频网国产90| 日韩人妻网站| 99热这里只有精品9| 欧美αv.com| 清纯唯美亚洲综合| 亚洲国产中文字幕| 久久久久中出| 婷婷色综合| 日本五十路熟女一区二区| 亚洲无992tv| 日韩精品人妻中文字幕不卡乱码| 日本丝袜美腿人妻九九| 五月婷婷六月丁香| 2021久久国产综合精品青草| 日语五十路和六十路亚洲国产精品| 精吧天堂| 91在线色| 亚洲情色1区| 欧美色五月| 福利在线黄片| 亚洲一区二区久久久久| 91操操操操| 99re黄 | 新久久AV| 色综合V| 国产精品女aA片爽爽视频| 国产日韩中文字幕欧美| 男人天堂综合| 台湾大香蕉99热| 91啪9色| 嗯啊不要在线观看嗯啊| 国产亚洲精品自在线亚洲情侣| 精品毛片av一区二区| 国产高清午夜成人在线观看| 久久大香蕉手机高清| 91|九色|国产熟女| 国产精品久久久久久片| 日韩欧美成人性爱在线| 美女视频尤物网在线看| 欧美性生活男人的天堂| 欧美一区二区男人天堂| 午夜毛片亚洲精品片国产久久久| 暴力av在线| 高清无码学生妹高潮| 欧美淫乱视频| 精品无码一区二区三区| 久艹99| 激情情色五月天| 后入福利| 人妻激情视频| 九九热av| 呦呦一区| 亚洲影院365| 91在线精品一区二区三区| 青娱乐福利99| 亚洲 日本 国产 综合| 狠狠中文字幕| 天天做日日做天天欢。| 天堂8在线新版官网| 狠狠激情综合狠狠操中文字幕| 中文字幕av乱伦| 99热色精品| 欧州色图区| 欧美性,亚州色| 精品网站99999| 天天大干大香蕉| 欧美综合综合| 中文字幕后石码四区五区| 欧美18老人禁| 成人性爱av.com| 无码日韩网站| 人妻天堂综合网| 97超碰天天爱天天爱| 高清肉丝中文无码| 亚洲在线综合| 中文字幕丰满子伦无码专区在线视频最新| 亚洲天堂男人| 91在线视频免费播放| 国产农村一一级特黄毛片| 深夜啪啪啪视频免费| 大香蕉99热| 欧亚韩国999| 欧美亚洲中文| 色色色欧美| 一区二区激情国产熟女 | 国产熟妇 码视频户外直播| 99久久精品欧美国产| 亚洲一本大道中文字幕无码在线| 淫妻综合网| 国产av热热色| sewuyueav| 波多野结衣一级视频| 开心五月婷婷激情| 久久精品老司| 亚洲丝袜在线观看| 男人天堂黄片| 色哟哟的毛片| 99re在线视频| 天天干人人看综合| 九九综合久久| 日本999精品视频| 99超碰碰| 凹凸视频在线观看伊人| 91亚·色| 老鸭窝在线视频播放| 99久久精品欧美国产| 99碰碰| 久久久久9999精品九九九| 亚州男人天堂| 久久久成人国产精品无码| 亚洲色图 欧美热图 清纯唯美 另类自拍| 国产情色在线| 91精品无码久久久久久久| 日本午夜久久电影| 亚洲限制级| V A在线| 色色色热| 91蜜桃传媒精品久久久一区二区| 日韩欧美成人综合在线| 天堂九九九九九九九九九| 91天天美女| 思思热久久成人| 日本不卡码黄色 | 9久久精品| 日韩精品国模| heyZO天然素人无码AⅤ专区| 97爱免费插| 加勒比色99999| 欧美日本国产日韩激情视频| 欧美另类自拍| se吧提供91精品国产91久久久久久| 99热这里| 久久久久白虎| 中文字幕日本久久| 色欧洲97| 亚洲精品天堂久久A∨51成人漫| 亚洲人在线| 永久电影三级在线观看| 日本91白丝| 久久天堂| 久久久久无码| 国产激情视频一区区三区| 一区二区偷拍拍视频| 欧美亚洲手机在线| 丁香五月激情五月| 日韩综合97p| 五月天伊人| 黄色工厂这里只有精品| 99欧美| 久久在肏| 女人爽到高潮久久久| 久久超碰日韩精品| 啪啪资源网| 高清不卡视频| 91精品国产91久久青草| 国产又粗又又黄又猛| 91第一页| 男人的天堂2018东京热啪啪啪| 加勒比海色香蕉婷婷| 午夜天天碰综合视频| 97欧美视频| 亚洲av总站| 一区二区三区高清天码| 亚洲视频二区| 婷婷五月天激情网| 天天干人妻视频| www.夜夜操| 久久精品一区二区三区四区五区| 91久精品| 男女激烈网站最新| 欧美日韩美女精品久草一区二区三区| 日本操BAV| 亚洲图片欧美偷拍| 91爽啪| 国内毛片热久久思思热| 久久精品夜色国产亚洲AV| 人妻日日干| 91综合网在线| 曰本熟女视频| 日韩激情啪啪| 色吧91| 超碰天天操| 色色五月天婷婷| 香蕉国产精品麻豆亚洲欧美日韩| 久久人妇| oumeisetupian| 久久国内| 男人天堂电影院| 中亚黄色三级大片| 99色色网| 少妇一区二区三区高速| 人妻激情视频| 国产精品2020| 国产精品亚洲一区二区三区四区| 9999久久久| 日本孕妇孕交| 久久国产精品一级二级三级| 国产女人高潮嗷嗷嗷叫小说 | 国产不卡免费在线视频| 日本媚薬中文字幕在线| 久久久久9999妇女| 狠狠操狠狠| 免费超碰97在线观看| 热热色91| 色偷偷超碰亚洲| 蜜臀精品1区2区| 国产精品久久久鸭无码的功能| 1769一区| 久区视频| 日日妻色网| 久久久久久性爱视频| 国产激情片在线观看| ji熟女.com| 欧美色青| 久久激情四射婷婷丁香五月天| 97色色色综合网站| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产精品无码久久久久2025| 黄网色一区二区三区四区精品| 97干在线| 亚洲色婷婷综合久久一区二区三区| 久久综合精品一区二区三区| 久久综合九九| 国产97视频免费观看| 欧美特大AA级黄片| 我要色综合网| 麻豆天天躁天天揉揉AV| 亚洲天堂日本| 99综合自拍| 四虎影视在线| 一区二区偷拍拍视频| 亚洲aV性爱| 一级特级aaaa毛片免费观看 | 国产 亚洲 丝袜 制服| 超碰97人妻免费在线| 亚洲久久久| 91美女精品| 3级毛片一二| 人妻人久久精品中文字幕| 国产地址二三| 久久綜合很很很| 国产美脚女优尤物在线观看| 亚洲欧美大| 男人天堂2019亚洲| 人人人人人人少妇| wwwss在线观看| 国产超碰在线| 可以免费观看的av| 国产超碰人人操| 国产精品亚洲美女久久久久| 成人免费福利在线观看| 久久久久国产精品喷潮免费观看臀 | 色五月婷婷中文字幕| 探花精品视频| 久久99视频| 超碰狠狠操| 青草视频在线看看看看看看看看看| 性一交一乱一交A片久久四色| 中文字幕亚洲在线一区 | 伊人麻豆传媒| 国产精品乱码久久| 久久久久国产精品久久久| 91激情| 免费中文综合精品| 国产高清吃奶免费视频网站| 青草草免费网站av| 99国产在线 精品 视频| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 国产精选三级在线观看| 超碰亚洲97| 任我爽视频在线观看|