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

ARTICLE DETAIL

資訊詳情

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

三菱CNC數(shù)據(jù)采集Demo用C#實(shí)現(xiàn)全流程詳解:EZSocket通信與宏變量讀取

三菱CNC數(shù)據(jù)采集Demo用C#實(shí)現(xiàn)全流程詳解:EZSocket通信與宏變量讀取 簡(jiǎn)介C#數(shù)據(jù)采集Demo面向三菱CNC系統(tǒng)專為機(jī)床自動(dòng)化工程師、上位機(jī)開(kāi)發(fā)者和工業(yè)物聯(lián)網(wǎng)從業(yè)者設(shè)計(jì)旨在解決機(jī)床實(shí)時(shí)監(jiān)控、加工參數(shù)讀取、設(shè)備狀態(tài)追蹤及故障日志獲取等工業(yè)數(shù)據(jù)采集難題。壓縮包約3.52MB內(nèi)部包含PDF格式的參考手冊(cè)和三菱CNC模擬環(huán)境SimCNC的源碼目錄參考手冊(cè)用于查詢通訊協(xié)議、寄存器地址與數(shù)據(jù)格式SimCNC則支持在無(wú)實(shí)體機(jī)床的情況下搭建仿真調(diào)試環(huán)境方便反復(fù)驗(yàn)證采集邏輯。Demo源碼演示了配合A2.exe通訊軟件與CNC建立連接通過(guò)C#實(shí)現(xiàn)對(duì)多種型號(hào)三菱機(jī)臺(tái)的數(shù)據(jù)讀取并將采集功能封裝為獨(dú)立軟件或插件可靈活接入現(xiàn)有產(chǎn)線信息化系統(tǒng)。整體代碼結(jié)構(gòu)清晰包含連接建立、數(shù)據(jù)解析、異常處理等關(guān)鍵模塊是學(xué)習(xí)工業(yè)通訊編程的良好范本。已有620人學(xué)習(xí)下載適合需要快速落地三菱CNC數(shù)采項(xiàng)目或進(jìn)行技術(shù)預(yù)研的開(kāi)發(fā)者參考能顯著縮短環(huán)境搭建與排錯(cuò)時(shí)間。1. 三菱CNC數(shù)據(jù)采集Demo先想清楚要采什么別急著開(kāi)VS車間里一臺(tái)三菱加工中心正在跑活操作員盯著控制面板你在辦公室電腦前想看到它主軸轉(zhuǎn)速、當(dāng)前坐標(biāo)、有沒(méi)有報(bào)警——這就是三菱CNC數(shù)據(jù)采集Demo附C#源碼這個(gè)標(biāo)題真正要解決的事。它不靠串口線不靠人抄屏而是走CNC自帶的以太網(wǎng)口用C#把宏變量、坐標(biāo)、報(bào)警號(hào)實(shí)時(shí)拉回來(lái)。反直覺(jué)的地方在于新手最想要的往往是能把數(shù)讀出來(lái)的激動(dòng)感但真正決定這活兒成不成的是動(dòng)手之前先想清楚要采哪幾個(gè)地址、用什么協(xié)議、幀怎么解析。常見(jiàn)做法是走三菱的EZSocket中間件DLL一引C#里P/Invoke一調(diào)十幾行代碼就能連上但參數(shù)不對(duì)時(shí)一個(gè)Open函數(shù)能卡你一下午。這個(gè)方向適合做設(shè)備聯(lián)網(wǎng)、MES對(duì)接、機(jī)加工自動(dòng)化的工程師也適合剛?cè)胄邢肽靡慌_(tái)真設(shè)備練手的同學(xué)??赐赀@篇文章你至少能把這套Demo跑通并且知道坑在哪。2. 準(zhǔn)備工作三菱CNC數(shù)據(jù)采集Demo的網(wǎng)絡(luò)前提與協(xié)議選型2.1 網(wǎng)口通信是前提串口方案到了Demo階段就該放棄很多老工程師的第一反應(yīng)是“CNC后面不是有RS232口嗎直接串口讀不就行了”。這個(gè)思路在二十年前沒(méi)問(wèn)題但現(xiàn)在做數(shù)據(jù)采集串口的三個(gè)短板非常明顯一是傳輸速度慢115200波特率下刷新一次狀態(tài)要幾百毫秒別說(shuō)做高頻采集二是好多老舊串口方案只能單向輸出想寫宏變量回機(jī)臺(tái)很難三是串口線超過(guò)15米信號(hào)就開(kāi)始飄車間現(xiàn)場(chǎng)拉線很不現(xiàn)實(shí)。所以這個(gè)Demo的正確起點(diǎn)是以太網(wǎng)口。三菱的中高端系統(tǒng)比如M70、M700、M80系列標(biāo)準(zhǔn)配置里都帶以太網(wǎng)口參數(shù)里面設(shè)好IP地址、子網(wǎng)掩碼之后上位機(jī)直接用網(wǎng)線連交換機(jī)就能訪問(wèn)。通信鏈路的示意圖其實(shí)很簡(jiǎn)單C#程序通過(guò)TCP協(xié)議發(fā)一個(gè)ASCII字符串命令幀給CNCCNC回一個(gè)帶數(shù)據(jù)的響應(yīng)幀程序把幀解析出來(lái)就完事了。這里有個(gè)關(guān)鍵選型點(diǎn)直接用TCP發(fā)MC協(xié)議幀雖然可行但工程上沒(méi)人這么干因?yàn)閹^、校驗(yàn)、分包都得自己拼出錯(cuò)率太高。業(yè)界通用做法是安裝三菱的EZSocket通信庫(kù)它本質(zhì)上是把MC協(xié)議封裝成了C風(fēng)格函數(shù)提供固定接口往上位機(jī)這邊暴露動(dòng)態(tài)鏈接庫(kù)C#項(xiàng)目里聲明一下就能調(diào)用。Demo階段選它省掉的是協(xié)議拼幀的麻煩留下的是數(shù)據(jù)解析的核心邏輯。2.2 訪問(wèn)對(duì)象A/B/C/DDemo該用哪一個(gè)通道EZSocket里有一個(gè)概念叫“訪問(wèn)對(duì)象”英文叫Access Target官方分為A、B、C、D四種。A類走的是三菱PLC的MC協(xié)議用來(lái)讀PLC軟元件B類是Windows下和PC內(nèi)部數(shù)據(jù)交換用的C類是訪問(wèn)CNC數(shù)值數(shù)據(jù)的通道宏變量、坐標(biāo)、刀補(bǔ)、報(bào)警都?xì)w它管D類是訪問(wèn)機(jī)床側(cè)的PLC數(shù)據(jù)比如IO信號(hào)、繼電器狀態(tài)。寫成表格更直觀訪問(wèn)對(duì)象面向的數(shù)據(jù)Demo里有沒(méi)有用APLC軟元件D、M、Y等一般不用BWindows環(huán)境內(nèi)部通信不用CCNC數(shù)值數(shù)據(jù)宏變量、坐標(biāo)、報(bào)警核心通道D機(jī)床側(cè)PLC數(shù)據(jù)IO、繼電器按需C#做CNC采集絕大多數(shù)需求都集中在C類上。你在MES里看到的主軸轉(zhuǎn)速當(dāng)前X軸坐標(biāo)報(bào)警號(hào)全部通過(guò)C類讀出來(lái)。有些車間還想看機(jī)床門有沒(méi)有關(guān)、紅燈有沒(méi)有亮這些信號(hào)在D類里但那是后話Demo階段先把C類吃透。有個(gè)細(xì)節(jié)要注意EZSocket的DLL同時(shí)支持A類訪問(wèn)所以如果你這臺(tái)CNC的PLC里存了工件計(jì)數(shù)之類的數(shù)據(jù)也可以用同一套代碼去讀只需要把打開(kāi)連接時(shí)的訪問(wèn)對(duì)象類型改一下。Demo階段不建議一上來(lái)就通吃先把C類讀通再往D類擴(kuò)展。2.3 CNC側(cè)參數(shù)核對(duì)IP、端口、系統(tǒng)版本差異連不上CNC的時(shí)候八成不是代碼的問(wèn)題而是CNC側(cè)的網(wǎng)絡(luò)參數(shù)沒(méi)核對(duì)。三菱系統(tǒng)里以太網(wǎng)參數(shù)一般在維護(hù)菜單的以太網(wǎng)設(shè)定或者網(wǎng)絡(luò)設(shè)定頁(yè)面里。需要確認(rèn)四項(xiàng)參數(shù)典型值說(shuō)明IP地址192.168.1.50和上位機(jī)在同一網(wǎng)段子網(wǎng)掩碼255.255.255.0不跨網(wǎng)段就夠用端口號(hào)6000不同系統(tǒng)版本可能有差異通信協(xié)議TCP打開(kāi)對(duì)應(yīng)通道端口號(hào)是個(gè)血淚高發(fā)區(qū)。部分老系統(tǒng)默認(rèn)用6000部分系統(tǒng)在參數(shù)里單獨(dú)開(kāi)了一個(gè)端口還有的系統(tǒng)要同時(shí)開(kāi)UDP和TCP兩個(gè)通道。我一般會(huì)在CNC旁邊先用筆記本電腦ping一下IP通了再跑Demoping不通就別折騰代碼先查網(wǎng)線和IP段。還有兩個(gè)前置條件容易被忽略一是EZSocket服務(wù)器端程序要和系統(tǒng)匹配二是CNC側(cè)參數(shù)里的傳輸協(xié)議要選成允許外部設(shè)備訪問(wèn)。某些系統(tǒng)出廠時(shí)默認(rèn)關(guān)閉了外部訪問(wèn)需要到維護(hù)模式里打開(kāi)。這些操作需要操作員權(quán)限做Demo之前最好和車間師傅打個(gè)招呼別自己偷摸改參數(shù)改完機(jī)臺(tái)報(bào)警就麻煩了。3. 核心代碼C#讀三菱CNC宏變量、坐標(biāo)與報(bào)警3.1 創(chuàng)建一個(gè)控制臺(tái)Demo把EZSocket.dll引進(jìn)來(lái)拿到三菱EZSocket安裝包之后安裝目錄下會(huì)有一個(gè)動(dòng)態(tài)鏈接庫(kù)名字一般是EZSocket.dll。C#這邊不能直接添加引用因?yàn)樗荂風(fēng)格導(dǎo)出函數(shù)不是托管DLL正確做法是用DllImport聲明外部函數(shù)。先建一個(gè)控制臺(tái)項(xiàng)目平臺(tái)目標(biāo)改成x86然后寫一個(gè)靜態(tài)類來(lái)包裝接口using System; using System.Runtime.InteropServices; public static class EZSocketWrapper { // 聲明三個(gè)核心函數(shù)打開(kāi)、讀取、關(guān)閉 [DllImport(EZSocket.dll, EntryPoint EZSocket_Open)] public static extern int Open( IntPtr[, ,] pCNC, // 連接句柄三維數(shù)組 int nType, // 訪問(wèn)對(duì)象類型2表示C類CNC數(shù)據(jù) int nOpen, // 通信方式1表示TCP string pIPAddr, // CN C的IP地址 string pPort, // 端口號(hào) int nTimeOut); // 超時(shí)時(shí)間毫秒 [DllImport(EZSocket.dll, EntryPoint EZSocket_Read)] public static extern int Read( IntPtr[, ,] pCNC, // 連接句柄 int nType, // 訪問(wèn)對(duì)象類型 string pReadBuf, // 讀命令幀 ref string pRetBuf, // 返回?cái)?shù)據(jù)緩沖區(qū) string pErrMsg); // 錯(cuò)誤信息輸出 [DllImport(EZSocket.dll, EntryPoint EZSocket_Close)] public static extern int Close( IntPtr[, ,] pCNC, int nType); }這段聲明里最容易栽跟頭的是句柄類型。EZSocket的手冊(cè)上寫的是三維指針數(shù)組C#這邊的對(duì)應(yīng)寫法就是IntPtr的三維數(shù)組初始化時(shí)每個(gè)維度給3就夠了。nType傳2代表C類訪問(wèn)nOpen傳1代表走TCP。端口參數(shù)是字符串不是整數(shù)這是很多人第一次調(diào)用時(shí)報(bào)錯(cuò)的原因。超時(shí)時(shí)間建議給3000毫秒太短在車間網(wǎng)絡(luò)抖動(dòng)時(shí)容易誤報(bào)失敗太長(zhǎng)則程序卡死在那里。注意DLL的位數(shù)必須和編譯目標(biāo)一致。EZSocket.dll在多數(shù)版本里是32位的所以項(xiàng)目平臺(tái)目標(biāo)一定要選x86否則運(yùn)行到Open那行就拋BadImageFormatException這個(gè)在第5章避坑里展開(kāi)。3.2 連接到CNCOpen和Close的寫法連接這塊的套路是固定的先創(chuàng)建句柄數(shù)組調(diào)Open判斷返回值用完調(diào)Close。下面是完整的最小連接代碼static void Main(string[] args) { // 連接句柄三維數(shù)組結(jié)構(gòu) IntPtr[,,] pCNC new IntPtr[3, 3, 3]; // 打開(kāi)C類訪問(wèn)TCP方式連192.168.1.50的6000端口 int ret EZSocketWrapper.Open( pCNC, 2, 1, 192.168.1.50, 6000, 3000); if (ret 0) { Console.WriteLine(連接成功); // 在這里執(zhí)行讀取操作 // ... EZSocketWrapper.Close(pCNC, 2); } else { Console.WriteLine(連接失敗錯(cuò)誤碼 ret); } }返回值ret為0表示成功非0為失敗。這一步很多人第一次跑通后會(huì)特別興奮但別高興太早——連接成功只代表TCP鏈路通了真正讀數(shù)據(jù)時(shí)的幀格式錯(cuò)一丁點(diǎn)Read照樣返回失敗。另外Close操作不能省有的現(xiàn)場(chǎng)出現(xiàn)過(guò)程序崩潰后CNC側(cè)連接資源沒(méi)釋放導(dǎo)致后續(xù)無(wú)法再次連接的情況雖然重啟機(jī)臺(tái)能恢復(fù)但車間里重啟設(shè)備你可得等操作員排完當(dāng)前工件。3.3 讀宏變量#100的實(shí)時(shí)值怎么取回來(lái)三菱系統(tǒng)的宏變量是機(jī)臺(tái)邏輯里最常用的數(shù)據(jù)區(qū)比如把當(dāng)前工件計(jì)數(shù)寫到#100把主軸倍率寫到#101MES要的就是這些。讀取宏變量用到EZSocket_Read命令幀格式我一般按R地址長(zhǎng)度來(lái)拼static void ReadMacro(IntPtr[,,] pCNC, int macroNum, out float value) { // 拼讀命令幀讀#100就填 R0,100,1 string cmd R0, macroNum ,1; string retBuf ; string errMsg ; int ret EZSocketWrapper.Read(pCNC, 2, cmd, ref retBuf, ref errMsg); if (ret 0) { // 返回?cái)?shù)據(jù)從第6個(gè)字符開(kāi)始是有效數(shù)據(jù)區(qū) string hexData retBuf.Substring(5); // 三菱返回的是倒序十六進(jìn)制字符串要反轉(zhuǎn)字節(jié)再轉(zhuǎn)float byte[] bytes HexToBytes(hexData); Array.Reverse(bytes); value BitConverter.ToSingle(bytes, 0); Console.WriteLine(# macroNum value); } else { Console.WriteLine(讀取失敗 errMsg); value 0f; } } static byte[] HexToBytes(string hex) { int length hex.Length / 2; byte[] result new byte[length]; for (int i 0; i length; i) result[i] Convert.ToByte(hex.Substring(i * 2, 2), 16); return result; }這里有個(gè)工藝問(wèn)題CNC讀回來(lái)的數(shù)據(jù)是十六進(jìn)制字符串而且是倒序字節(jié)序。比如浮點(diǎn)數(shù)1.5在內(nèi)存里是3F C0 00 00三菱回包里往往是0000C03F必須反轉(zhuǎn)之后用BitConverter轉(zhuǎn)float。這個(gè)字節(jié)序坑每一臺(tái)新機(jī)型都得試一次建議把轉(zhuǎn)出來(lái)的值和面板上顯示的值對(duì)一下對(duì)不上就交換一下高低字節(jié)順序。宏變量號(hào)本身也有講究公共變量#100到#149一般默認(rèn)為空變量區(qū)可以隨便用#150到#199在某些系統(tǒng)里是模擬輸入通道數(shù)據(jù)#500到#999是保持型變量斷電不丟。讀#500之前先確認(rèn)一下機(jī)床廠有沒(méi)有把這部分區(qū)域分配給專屬功能避免讀到無(wú)意義數(shù)據(jù)還當(dāng)成寶貝存進(jìn)數(shù)據(jù)庫(kù)。3.4 讀坐標(biāo)和報(bào)警把機(jī)臺(tái)狀態(tài)拼出來(lái)宏變量能解決數(shù)據(jù)交換但MES上層更關(guān)心的是坐標(biāo)和報(bào)警。讀取絕對(duì)坐標(biāo)和報(bào)警號(hào)用到的命令幀前綴分別是E和A下面是讀絕對(duì)坐標(biāo)和報(bào)警的核心片段static void ReadPositionAndAlarm(IntPtr[,,] pCNC) { string posBuf ; string almBuf ; string errMsg ; // 讀絕對(duì)坐標(biāo) int posRet EZSocketWrapper.Read(pCNC, 2, E, ref posBuf, ref errMsg); if (posRet 0 posBuf.Length 61) { // 第1~3位是附加信息每個(gè)坐標(biāo)占6個(gè)字節(jié) string xHex posBuf.Substring(6, 12); string yHex posBuf.Substring(18, 12); string zHex posBuf.Substring(30, 12); // 轉(zhuǎn)字節(jié)再反轉(zhuǎn)再轉(zhuǎn)float邏輯同上 float x ConvertHexToFloat(xHex); float y ConvertHexToFloat(yHex); float z ConvertHexToFloat(zHex); Console.WriteLine($X:{x:F3} Y:{y:F3} Z:{z:F3}); } // 讀報(bào)警號(hào) int almRet EZSocketWrapper.Read(pCNC, 2, A, ref almBuf, ref errMsg); if (almRet 0 almBuf.Length 9) { // 報(bào)警號(hào)也是倒序轉(zhuǎn)int string alarmHex almBuf.Substring(5, 4); byte[] bytes HexToBytes(alarmHex); Array.Reverse(bytes); int alarmCode BitConverter.ToInt16(bytes, 0); if (alarmCode ! 0) Console.WriteLine(當(dāng)前報(bào)警號(hào) alarmCode); else Console.WriteLine(無(wú)報(bào)警); } }坐標(biāo)讀取返回的幀長(zhǎng)度是固定的每個(gè)軸占6個(gè)字節(jié)十六進(jìn)制排列順序是X、Y、Z有些系統(tǒng)還帶A軸、B軸長(zhǎng)度就不一樣解析前先判斷返回幀長(zhǎng)度能省不少麻煩。報(bào)警讀取時(shí)要注意報(bào)警碼按有符號(hào)短整型解析負(fù)號(hào)代表報(bào)警級(jí)別。讀報(bào)警還分NC報(bào)警和機(jī)床報(bào)警A命令返回的是系統(tǒng)報(bào)警機(jī)床報(bào)警走D類訪問(wèn)做Demo時(shí)別把兩者混在一起。一個(gè)實(shí)用技巧是把坐標(biāo)和宏變量的讀取放在同一個(gè)循環(huán)里每隔200到500毫秒刷一次屏。刷新太快沒(méi)必要太慢又看不出實(shí)時(shí)效果車間里大部分采集需求到500毫秒級(jí)別的刷新率已經(jīng)足夠。4. 參數(shù)與內(nèi)存映射宏變量、公共變量和回復(fù)幀的邊界4.1 三菱宏變量的分區(qū)公共變量、保持型變量和刀補(bǔ)拿到一套Demo代碼之后最先要問(wèn)的問(wèn)題是我該讀哪些地址。三菱CNC的宏變量地址分布有規(guī)律可循但不同系統(tǒng)之間有一點(diǎn)差異常用分區(qū)是這樣的變量號(hào)范圍類型Demo應(yīng)用場(chǎng)景#100 ~ #149空公共變量跨程序傳遞數(shù)據(jù)#150 ~ #199部分系統(tǒng)為模擬量輸入讀主軸電流等模擬量#500 ~ #999保持型變量工件計(jì)數(shù)、生產(chǎn)統(tǒng)計(jì)#2000 ~ #2199刀補(bǔ)變量部分系統(tǒng)刀具磨損管理#3000 ~ #3999系統(tǒng)設(shè)定相關(guān)一般不碰Demo階段建議優(yōu)先讀#100區(qū)間和#500區(qū)間。#100區(qū)間斷電會(huì)清零適合讀當(dāng)班產(chǎn)量這類臨時(shí)數(shù)據(jù)#500區(qū)間是斷電保持的適合存班長(zhǎng)累計(jì)數(shù)。很多工廠的做法是讓PLC在換班時(shí)把#500里的值搬運(yùn)到另一個(gè)地址上位機(jī)只負(fù)責(zé)讀不負(fù)責(zé)寫。刀補(bǔ)的地址范圍需要重點(diǎn)提示不同系統(tǒng)版本對(duì)#2000系列的映射并不一致有的系統(tǒng)里#2001對(duì)應(yīng)1號(hào)刀的X向刀補(bǔ)有的系統(tǒng)里卻跳過(guò)了部分保留段。讀取刀補(bǔ)之前找操作員確認(rèn)一下機(jī)床廠的宏變量分配表或者干脆用機(jī)臺(tái)面板手動(dòng)改一個(gè)已知值再讀出來(lái)驗(yàn)證——這是最樸素的測(cè)試方法。4.2 回復(fù)幀的字節(jié)對(duì)齊和大小端坑EZSocket返回的數(shù)據(jù)區(qū)是十六進(jìn)制字符串規(guī)則是所有數(shù)據(jù)都按字倒序。這里說(shuō)的字倒序不是字節(jié)倒序而是兩個(gè)字節(jié)一組顛倒。舉例說(shuō)明數(shù)據(jù)區(qū)里如果收到3412實(shí)際值應(yīng)該是0x1234。浮點(diǎn)數(shù)則四個(gè)字節(jié)整體反轉(zhuǎn)前面代碼里用了Array.Reverse其實(shí)就是把大小端問(wèn)題用最簡(jiǎn)單的方式抹平了。解析時(shí)的另一層坑在于命令幀和數(shù)據(jù)幀之間可能帶空格或控制符。不同版本EZSocket返回的幀長(zhǎng)度有細(xì)微差異有的帶起始符有的不帶。我建議在寫解析邏輯之前先做一步打印裸包操作// 調(diào)試用把Read返回的原始幀原樣打印出來(lái) Console.WriteLine(RAW:[ retBuf ] len retBuf.Length);把這行加到Demo里跑一次對(duì)照三菱手冊(cè)里的幀結(jié)構(gòu)看一遍再寫Substring的截取邏輯比對(duì)著網(wǎng)上抄解析代碼靠譜得多。不同系統(tǒng)的返回幀長(zhǎng)度不一樣在M70上試好的偏移量拿到M80上可能就得加一位。還有一個(gè)小提醒全部用Substring截取十六進(jìn)制字符串看起來(lái)簡(jiǎn)單但在解析多個(gè)軸坐標(biāo)時(shí)容易數(shù)錯(cuò)位數(shù)。碰到解析結(jié)果數(shù)值怪異的情況先數(shù)一下每個(gè)字符的下標(biāo)用調(diào)試器逐幀看不要靠猜。4.3 采集頻率與系統(tǒng)負(fù)荷別把Demo寫成死循環(huán)數(shù)據(jù)采集最常見(jiàn)的失控寫法是while(true)里不加延時(shí)CPU占滿不說(shuō)CNC側(cè)的EZSocket服務(wù)也會(huì)被高頻請(qǐng)求拖累。三菱官方對(duì)采集頻率沒(méi)有硬性指標(biāo)但業(yè)界經(jīng)驗(yàn)是狀態(tài)數(shù)據(jù)坐標(biāo)、轉(zhuǎn)速500毫秒刷一次報(bào)警數(shù)據(jù)可以做到200毫秒甚至事件觸發(fā)產(chǎn)量數(shù)據(jù)按分鐘或按工件觸發(fā)即可。一個(gè)推薦的安全采集框架是這樣的// 用定時(shí)器代替死循環(huán)避免阻塞UI線程 System.Timers.Timer timer new System.Timers.Timer(); timer.Interval 500; // 500毫秒刷一次 timer.Elapsed (sender, e) { ReadPositionAndAlarm(pCNC); ReadMacro(pCNC, 100, out float count); }; timer.Start();注意這里有個(gè)隱患Timer觸發(fā)的事件如果在上一輪讀取還沒(méi)結(jié)束時(shí)又進(jìn)來(lái)就會(huì)導(dǎo)致消息堆積。保險(xiǎn)做法是加一個(gè)bool鎖標(biāo)志讀取中則跳過(guò)本次觸發(fā)。Demo階段可以不考慮并發(fā)但往生產(chǎn)走這一步是必須的。另外不要同一時(shí)間開(kāi)多個(gè)線程去調(diào)EZSocket_ReadDLL內(nèi)部不是線程安全的。多個(gè)采集線程同時(shí)調(diào)用同一個(gè)連接句柄輕則返回?cái)?shù)據(jù)錯(cuò)亂重則直接讓連接斷掉。需要采集多組數(shù)據(jù)時(shí)串行讀別并行讀。5. 三菱CNC采集Demo的常見(jiàn)踩坑現(xiàn)象、原因與解決5.1 Open返回失敗但Ping得通CNC現(xiàn)象上位機(jī)能ping通CNC的IP但EZSocket_Open返回非0讀取完全無(wú)法進(jìn)行。原因TCP鏈路通不代表CNC側(cè)的EZSocket服務(wù)在監(jiān)聽(tīng)。最常見(jiàn)的情況有三種CNC系統(tǒng)參數(shù)里沒(méi)打開(kāi)外部訪問(wèn)權(quán)限端口號(hào)和實(shí)際監(jiān)聽(tīng)端口不一致訪問(wèn)對(duì)象類型選錯(cuò)了類型比如C類通道沒(méi)開(kāi)但A類通道是好的。解決登錄CNC維護(hù)畫面檢查以太網(wǎng)設(shè)定里的端口和訪問(wèn)許可。先把訪問(wèn)對(duì)象類型換成A類試一次如果能連上說(shuō)明C類通道沒(méi)開(kāi)如果A類也連不上檢查端口號(hào)。還有一招是看防火墻Windows自帶的防火墻經(jīng)常攔截TCP入站連接臨時(shí)關(guān)掉再測(cè)一下就能定位。5.2 調(diào)用DLL時(shí)拋BadImageFormatException現(xiàn)象代碼編譯通過(guò)一運(yùn)行到Open函數(shù)就拋出BadImageFormatException異常信息里通常寫著32位還是64位不匹配。原因EZSocket.dll是32位動(dòng)態(tài)庫(kù)而Visual Studio里新建的.NET項(xiàng)目默認(rèn)平臺(tái)目標(biāo)是AnyCPU在64位系統(tǒng)上運(yùn)行時(shí)會(huì)用64位進(jìn)程加載32位DLL直接崩。解決打開(kāi)項(xiàng)目屬性找到生成選項(xiàng)卡把平臺(tái)目標(biāo)改成x86。改完重新生成問(wèn)題消失。這個(gè)坑幾乎每個(gè)第一次接觸EZSocket的C#開(kāi)發(fā)者都會(huì)遇到網(wǎng)上搜相關(guān)報(bào)錯(cuò)一搜一大片但知道原理之后十秒鐘就能解決。5.3 讀到的宏變量是全零或者NaN現(xiàn)象Read調(diào)用返回成功但解析出的變量值要么全是0要么是NaN。原因三菱宏變量分為數(shù)值型和邏輯型而數(shù)值型里又有整型和浮點(diǎn)型之分。系統(tǒng)默認(rèn)按雙字節(jié)整數(shù)返回時(shí)你用float解析就會(huì)得到詭異值。另外宏變量所在的地址區(qū)間可能根本沒(méi)被寫入有效數(shù)據(jù)空變量區(qū)讀出0是正?,F(xiàn)象。解決先在CNC面板上手動(dòng)給#100賦一個(gè)已知值比如12.34然后跑Demo讀一次。讀到12.34說(shuō)明解析邏輯正確讀到0說(shuō)明地址區(qū)間為空換個(gè)變量號(hào)測(cè)試讀到一堆亂碼說(shuō)明數(shù)據(jù)類型解析錯(cuò)了——嘗試把BitConverter.ToSingle換成ToInt16或者反過(guò)來(lái)。用已知值校準(zhǔn)是排查這類問(wèn)題最有效的手段。5.4 程序跑一會(huì)兒后連接自己斷開(kāi)現(xiàn)象Demo運(yùn)行幾分鐘后Read開(kāi)始返回錯(cuò)誤重試也無(wú)效只有重啟程序才能恢復(fù)連接。原因EZSocket服務(wù)端對(duì)空閑連接有超時(shí)回收機(jī)制超時(shí)時(shí)間從幾秒到幾分鐘不等。程序長(zhǎng)時(shí)間不發(fā)命令服務(wù)端主動(dòng)斷開(kāi)連接。還有一種情況是網(wǎng)絡(luò)里有廣播風(fēng)暴TCP連接被干擾。解決在采集循環(huán)里加入周期重連機(jī)制。常見(jiàn)做法是每次Read失敗時(shí)自動(dòng)執(zhí)行一次重連先Close再Open。更溫和的做法是縮短Timer間隔把心跳維持在一秒一次以內(nèi)避免空閑超時(shí)。注意重連時(shí)要釋放舊句柄否則句柄會(huì)越積越多最終系統(tǒng)資源耗盡只能重啟。另外排查一下網(wǎng)絡(luò)里有沒(méi)有人在跑大流量傳輸車間里的監(jiān)控系統(tǒng)回傳視頻有時(shí)會(huì)占滿交換機(jī)帶寬把CNC和上位機(jī)挪到同一個(gè)交換機(jī)下或者劃分獨(dú)立VLAN能有效緩解。5.5 報(bào)警號(hào)讀出來(lái)和面板顯示不一致現(xiàn)象報(bào)警命令讀出的編號(hào)和機(jī)臺(tái)面板上顯示的報(bào)警號(hào)對(duì)不上有的差個(gè)幾千有的完全不在一個(gè)數(shù)量級(jí)。原因報(bào)警命令讀出的是內(nèi)部報(bào)警指針不等于面板顯示的報(bào)警號(hào)。面板顯示的是格式化后的報(bào)警文本內(nèi)部編號(hào)需要對(duì)照?qǐng)?bào)警表映射。另外一個(gè)常見(jiàn)干擾是機(jī)床廠在標(biāo)準(zhǔn)系統(tǒng)上疊加了自己的PMC報(bào)警這些報(bào)警由D類訪問(wèn)對(duì)象負(fù)責(zé)C類讀不到。解決先確認(rèn)讀的是NC報(bào)警還是PMC報(bào)警。NC報(bào)警用A命令讀內(nèi)部編號(hào)再查系統(tǒng)報(bào)警表映射成面板報(bào)警號(hào)PMC報(bào)警要切換到D類訪問(wèn)對(duì)象讀取。Demo階段建議直接在CNC上觸發(fā)一個(gè)已知報(bào)警比如急?;蛘唛T開(kāi)關(guān)然后對(duì)比讀回來(lái)的編號(hào)和面板值把對(duì)應(yīng)關(guān)系記錄下來(lái)寫進(jìn)配置表里。這個(gè)工作看起來(lái)笨但做完以后對(duì)接MES報(bào)警模塊就順暢多了。6. 讓Demo往生產(chǎn)方向走數(shù)據(jù)落庫(kù)、心跳重連與MES橋接Demo跑通了接下來(lái)要做的三件事決定了它在生產(chǎn)環(huán)境里能不能站住腳數(shù)據(jù)落庫(kù)、斷線自動(dòng)重連、給上層系統(tǒng)留接口。數(shù)據(jù)落庫(kù)最省事的方案是SQLite不需要額外裝數(shù)據(jù)庫(kù)服務(wù)一個(gè)文件搞定。把每次讀到的坐標(biāo)、宏變量、報(bào)警號(hào)連同時(shí)間戳寫進(jìn)一張表里粒度控制在秒級(jí)就夠保留最近90天數(shù)據(jù)。注意寫入操作要和采集操作解耦采集線程只負(fù)責(zé)讀寫庫(kù)交給獨(dú)立線程或后臺(tái)任務(wù)避免磁盤慢的時(shí)候拖垮采集循環(huán)。斷線自動(dòng)重連是生產(chǎn)環(huán)境剛需。做法是把Open、Read、Close封裝成一個(gè)類內(nèi)部記錄連接狀態(tài)每次Read失敗時(shí)觸發(fā)重連重連次數(shù)達(dá)到上限后向上拋出異常由上層決定是告警還繼續(xù)重試。關(guān)鍵細(xì)節(jié)是重連之前必須Close舊句柄很多重連幾次之后徹底連不上的問(wèn)題都出在句柄泄漏上。給MES橋接的方式有兩種簡(jiǎn)單一點(diǎn)是Demo里直接提供HTTP接口MES通過(guò)網(wǎng)頁(yè)接口拉數(shù)據(jù)更穩(wěn)妥的是把采集到的數(shù)據(jù)推給消息隊(duì)列由消費(fèi)端去落庫(kù)和展示。Demo階段不用做太復(fù)雜把采集類寫干凈數(shù)據(jù)格式定義成統(tǒng)一的JSON結(jié)構(gòu)后續(xù)擴(kuò)展就順理成章。最后說(shuō)一個(gè)我在車間里淌過(guò)的教訓(xùn)有一回為了趕進(jìn)度我把采集循環(huán)直接寫進(jìn)窗體Timer里刷新間隔壓到50毫秒結(jié)果一臺(tái)老款系統(tǒng)被高頻請(qǐng)求打到以太網(wǎng)模塊卡死操作員停機(jī)重啟才恢復(fù)。后來(lái)我養(yǎng)成了兩個(gè)習(xí)慣任何采集代碼先量化頻率再上線任何外掛程序都加總開(kāi)關(guān)和限速。做設(shè)備采集慢一點(diǎn)不會(huì)出事快過(guò)頭一定出事。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99国产在线 精品 视频| 偷窥自拍亚洲色图| 男人天堂网址| 天天躁日日躁狠狠狠躁| 97超碰巨乳| 精品国产精品一区二区| 日韩性爱视频在线免费观看| 男人精品区| 日本天天干天天日一区| 久久偷拍人| 丰满少妇一区二区三区专区| 日本一区二区三区欧美日韩中文字幕| 国模少妇一区二区三区| 国产亚洲 中文欧美久久| 免费看黄视频亚洲网站| www.av在线观看| 黄色AAAAA欧美| 超清中文乱码字幕| 日本韩国国产精品一区| 96精品久久久久久久久久| 老熟妇一区二区三区| 丝袜内射| 大但人体久久久久| 激情黄色五月天| 久久神马影院| 91欧美丨精品丨入口| 欧洲精品人妻| 97超碰色中文字幕| 中文精品少妇天堂| 国产后入式在线观看| 好爽免费视频,| 天天爽夜夜欢视| 亚洲三级网址久久最新| 久久久精选| 啊啊啊啊,啊啊好多水| 成人一区二区三区四区| 午夜啊啊| 精品人妻一区二区三区日产| 97香蕉网| 看一级特黄a大一片| 眼镜人妻101.com| 天天草天天日| 亚洲精品国产专区在线观看| 亚洲天堂7777| 这里都是精品在线观看| 3571色综合一区二区二区| 久操大香蕉手机视频在线看 | 校园春色中文字幕AV| 99热aaa| 欧美玖玖爱免费玖玖| 九九国产热| 欧美在线|亚洲| 丰满丝袜少妇AV| 欧美色老汉| 亚洲风情在线观看| 思思热久久成人| 国内毛片无码一级毛片| 伊色综合天堂色97| 少妇内射视频| 啊啊啊啊啊在线| 久久精品人人做人人看| 91精品无码人妻系列| 国产成人综合网| 亚洲情色五月天 | 欧美色青| 婷婷久久久| 日韩一级二级在线| 一区二区三区四区在线不卡| 美国日韩黄片| 日本污ww视频网站| 97超碰国产亚洲精品| 国语少妇精| 亚洲一区二区三区在线激情| 亚洲图片欧美91N| 午夜综合在线| 精品人妻免费观看| 99精品久久| 丝袜综合| 国产日产精品久久快鸭的功能介绍| 久操网视频| 操操AV电影| 男人天堂综合| 91碰超| 久久精品人体| 九久9精品| 大伊香蕉在线视频免费| 亚洲drav色图| 国产 亚洲 一二三四| WWW黄片COM| 1区2区3区中文字幕日韩| 久久久性少妇| 久久精品性| 91精品国久久久久久无码| 91亚洲在线| 中文字幕精品区先锋资源| 116美女午夜| 久久春色| 久久的网站啊啊啊啊啊| 1240青青草一区二区三区视频天爱| 91深夜夜| 中文幕97| 国产人妻天天干精品| 97视频620| 天天干天天舔| 亚州高清色综合| 亚州熟女乱伦| 亚洲成人一二三区| 亚洲乱码精品一区二区| 91亚洲不卡一区| 欧美 亚洲精品首页| 国产极品美女高潮无套在线观看| 欧美在线啊啊啊| 亚洲精品国产精品成人| 婷婷美人网| 久久久久亚洲av综合波多野制衣| 色综和网| 五月婷婷久久综合| 久久久久久9| 五月丁香啪啪| 亚洲精品一区二区精品| 美女丝袜激情小说| 啪啪综合网| 中国少妇啪啪视频| 欧美日日网| 国产亚洲精品一区二区三区| 亚洲揄拍网| 人人贴人人摸| 99日免费视频中文字幕| AV综合中文字幕干| 亚洲天堂久久久久久粉红视频| 久久久久久久久久久久久久久性生活视频 | 在线五区| 夜夜夜久久| 天天射天天| 国产成人AV麻豆| a一区二区三区乱码在线| 粉嫩av一区二区三区四季| 少妇高潮特黄A片| 成人精品水蜜桃久久久久久久| 久久精品店| 夜夜嗨一区二区三区直播内容| 日韩亚洲美女一区久久| 成人a级高清视频在线观看| 亚洲青色欧美| 十八禁视频网站| 麻豆久久精品亚洲精品88| 日韩钢筋无码高清啾啾啾| xxxx网站亚洲精品| 麻豆精品.欧美精品.日韩精品.| 欧美狠狠鲁| 老熟女乱子伦中文字幕一区二区| 亚洲狠狠入| 天天日日日射| 亚洲一区日韩| 中国操逼无码| 男人的天堂1024| 久久精品视频在线观看| 婷婷色在线| 精品人妻视频入口| 妇女一区二区三区| 欧美色图 人妻| 亚州色交| 丰满人妻一区二区三区大胸懂色| 无码外流操逼视频| 欧美日韩亚洲天堂| 加勒比五月天| 丝袜狠狠草尤物人妻av91| 国产 日韩 欧美高清| 在线不欧美| 麻豆黄站| 久久鲁夜| 亚州成人A√| 人人考人人摸人人干| 性色AV蜜色av色欲av| 超碰 欧美| 亚洲美女30b| 色五月婷婷麻豆在| 大地资源在线观看中文第二页| 亚洲欧美国产中文视频| 十八禁视频一区二区| 久草色在线观看| 美女毛片999| 夜夜嗨AV一区天天| 另类天堂| 婷婷五月av| 日韩卡一卡二卡三在线| 日韩性爱毛片操骚逼| 97色色色| 中文视频在线观看| 一起草三级AV电影在线观看| 久久大黄片| 快灬快灬 一下爽蜜桃在线观看 | 欧美日韩 强奸乱伦| 婷婷av在线中文字幕| 亚洲欧洲激情卡通另类文学四射小说网站| KK色在线影院| 免费视频观看60秒| 91P0RNY大屁股人妻| 国产路线专区| 欧美97| 色五月AV| 日本精品一级二级三级| 亚洲性爱电影| 国产高清免费不卡av| 日韩人妻制服丝袜av| 熟妇xxxxx性春色| 亚洲日韩人妻中文字幕一区| 中文字幕亚洲热播人妻| 91一起操| 日本在线一二| 嗯嗯嗯啊啊啊在线免费观看| 大香蕉之青青草原| 久久亚洲天堂| 无套后入双马尾| 五月天精品| 性91| 久久亚州精品成人Av无| 强奸乱伦AV网站| 久久亚洲AV无码专区首页| 欧美成人四级在线播放| 欧洲天天在线| 日韩国产十八禁| 天天综合网1| 亚洲日韩东京热一区| 九九人妻| 人妻铁牛TV| 狠狠爱综合网| 一类av片在线看| 亚洲av淫乱| 91碰碰| 欧美日韩国第一区| 性欧美精| 九九久久玖玖| 国产欧美一级在线观看| 综合色图亚洲欧美| 青青三级视频| 超碰97网站| 美女视频尤物网在线看| 99在线精品观看99| 91l欧美在线| 欧美爱国产综合、| 少妇厨房愉情理伦片bd在线观看| 97最新在线播放视频| 最新AVzaixian| 久久久∴| 日本成熟少妇A∨网站| 久久亚洲AV无码专区国产精品 | 亚州五月| 丰满少妇乱子伦精品无| 麻豆久久视频在线地址| 91中文字幕在线观看| 精品久久久久久无码| 色小视频蜜乳| 欧美视频一区二区三区| 黄色AAAAA欧美| 另类图片五月天| 欧美熟妇操操视频| 黄色无码高清黄色无码网站| 日本在线不卡一二区| 麻豆AV短剧| 97超碰欧美| 五月天黄色激情视频| 欧美色一二三| 欧美一区二区三区另类精品| 黑人中出21连凳花野真衣| 午夜美女诱惑电源网| 人妻一区视频| 蜜臀一二三| 国产精品久久久久久久AV大片| 婷婷色色五月天| 欧美日韩人妻少妇 一区二区三区| 白嫩少妇| 97国产色综合| 亚洲日韩电影| 欧美一区91大爱| chaopen97久久| 日本一区视频在线观看| 国产SV一线| 欧美少妇色图| 蜜桃久久一区二区三区| 黄片www视频免费| 91九色精品熟女内射| 超碰在线1234区| 色色色欧美| 麻豆精品三区视频| 国产黄片精品在线| 九九av| 天堂无码精品国产久| 大香蕉一人在线| 蜜臀AV秘一区翔田千里| 一区| 精品一啪| 久99在线免费观看视频| 久久久久成人蜜桃精品| 亚洲欧美成人网站AAA| 日韩亚洲美州欧洲综三区一品在线| 97天天| 伊人亚洲国产一成人久久精品,久久| 久久久久久中文| 不卡啪啪视频| 美女久久久久久久久久久| 亚洲日韩AV视色| 久久久亚洲| 中文字幕在在线观看网站| 国产精品人妻无码久久久老鸭窝| 成人在线永久| 黄色性爱网网| 91 偷| 91老熟女逼| 婷婷丁香九月| 大香蕉一人| 久久大香蕉手机高清| 超清福利精品视频在线| 日日骚av| 一本正道久久熟女| 欧美日韩香蕉| 97天天摸天天爽| 四虎国产成人精品免费一女五男| 日韩欧美中文| 热热色91| 国产亚洲日本| 97色诱| 抽插无码高清一区| 五月亭亭六月丁香| 欧美草草| 啊好爽受不了无码| 黄片www.| 在线无码视频| 男人天堂东京热| 2020中文字幕在线| 人妻AV 中文字幕的| 丰满人妻-区二区三区免费| 日韩精品高清资源在线| 久久婷婷电影网| 欧美内射少妇| 夜夜狼人妻| 国产成人无码久久精品| 日韩视频中文字幕| 91AV国产精品| 久久免费看高潮毛片韩国| 午夜电影在线观看无码专区| 粉嫩av平台| 国语精品av| 久久一二三四五六七八九区区| 欧美精品999| 久久综合国产精品国产| 亚洲欧美综合| 久肏视频字幕| 欧美大战久久久伊人| 蜜桃成人1区2区3区| 黑人操一区二区| 欧美色网| 热热色91| 91综合网在线| 日骚逼视频| 五月天欧美色图| 久久久久久久久久久久黄色| 天天摸天天插天天日| 亚洲精品成人激情在线| 久久毛卡| 国产高清成人mv在线观看| 日本乱人伦片中文三区| 亚洲国产精品成人久久蜜臀| 91美女小视频| 天天日天天看| 97欧美日韩综合| 中文字幕欧美日本乱码一线二线| 伊人久久久日韩一区| 少妇一区二区三区在线观看| 96精品在线| 欧美九9 9 9| 国产精品久久久鸭无码的功能| 国产大学生口爆吞精合集| 黄色大片免费在线| 国产欧美岛国精品一区| 国产一区二区三区导航| 天天干天天操天天干天天操| 第一高清av中文字幕| 久久国内| 亚州国产精品乱| 日韩啪啪啪啪啪| 色婷婷电影| 操一区| 五月丁香网站| 熟妇高潮一区二区免费视频| 青青草自拍视频在线播放| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 欧洲综合视频| 国产女同性恋视频| 97爱碰| 2019男人的天堂| 玖玖爱视频网站| 少妇激情一区二区三区视频| 校园春色五月天| 我要去看2个日本美女.com曹逼| 91精品国产91久久福利| 亚洲天堂AV在线播放| 大香蕉久| 五月丁香六月| 亚洲黄a三级三级三级看三级| 久久综合av| 欧美最婬乱婬爆婬牲视频| 97干在线视频| 在线免费观看日韩一区| 岛国成人av在线播放网址| 亚洲丝袜色| 最新亚洲风情电影| 亚洲人妻久久久| 91亚洲欧洲| 先锋影音av先锋一区| 日韩午夜精品一区二区三区电影| 日韩婷婷| 精产国品一区二三产品| 女人18精品一区二区三区| 精品免费一区| 中文字幕在线日亚洲9| 好湿好紧好爽 视频| 亚热日本熟女| 极品另类| 国产精品免费视频不卡| 熟女色图在线| 1240青青草一区二区三区视频天爱| 波多野结衣AV无码一区| 超碰99在线观看| 97色97好| 97免费视频在线| 夜夜天天噜狠狠爱2021| 插入综合网| 青青草好吊| 男女做爰猛烈动高潮A片免费应用| 国产在线视视频有精品| 操B久久| 色与欲影视| 国产精品自拍xxxx| 97大色网| 男人天堂网站| 日韩AV片| 亚洲骚逼少妇| 99热只有这里有精品| 欧美精品第四五页中文字幕在线观看| 欧美日韩一二三| AV污污污污| 欧美一二三区四五区| 久9九综合在线| 日本精品高清一二区一本到| 97超碰亚洲| 中国AAAAAA黄色片| 97视频观看| 亚欧美色| 91狠婷| 色香av| 激情专区综合| 婷婷20月天青娱乐| 亚洲色综合| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 91快色色色色色| 久草婷婷| 一区操逼| 九区国产| 色综合av男人天堂| 职场同事知名国产国产精品久久欧美日韩 | 亚洲色系另类精品国产| 激情欧美日韩女同久久| 国产精品亚洲无码| 久久色一区二区| 久96热在线观看视频| 麻豆 欧美 日韩| 亚洲天天综合| 97天天操天天干| 国产福利视频精品视频| a人欧美综合天堂麻豆| 在线播放成人高清免费视频| 久久亚州高清| 国产免a费看黄片在线| 中文字幕AV片| 日本国产欧美高清在线| henhen91| 91暧暧| 国产乱色国产精品免费视| 操死我了嗯嗯嗯| 免费簧片在线观看| 综合五月天| 亚洲精品久| 岛国福利在线精品播放| 2003天天干夜夜操| 水野优香在线观看| 99久久久无码国产精品性啊聊| 欧美18禁91| 日韩无码黄色片| 丰满少妇精品一区二区| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 精品国产乱码久久久久久免费| 大香蕉啪啪啪| 国产精品分类在线观看| 97久久国产亚洲精品超碰热| 天天色粽合合合合合合合| 久久在线观看免费视频| 国产精品第一页国产大屁股视频免费区i| 日韩AV熟女乱伦| aV中亚| 精品久久九| 丁香五月电影| 宅男影院久久久,99| 欧美色图自拍| 操操操操网黑人| 天天插天天操| 久久性爱精品一区| 亚洲成人贴图| 神马九九九| 97亚洲性爱| 操逼逼无码| 视频国产成人精品日本亚洲18| 蜜桃臀久久| 极品粉嫩一区二区| 91蜜桃婷婷狠狠久久综合9色| 免费久久一级毛片大黄| 人妻天堂网| 欧美激色| 午夜福利区| 久久久久久久极品香蕉视频| 婷婷亚洲五月***久久| 国产成人91一区二区三区| 97在线日韩中文字幕| n1038 一二三区| 色五月综合| 强奸乱伦中文字幕AV| 欧美精品69性爱| 午夜精品久久久久久久第一页按摩| 欧亚成人在线视频| 亚洲国产综合久久久性感熟妇| 殴美大黄片| 人人摸.人人色| 91色拍| 日本欧美不卡| 欧美综合中文| 欧美日韩精品青青| 亚洲色图第一页| 啊啊啊不要好爽日韩无码一区| 超碰久久中文| 日韩成人色图| 亚洲影视综合网| 激情五月天婷婷| 亚洲欧美国产日本一区二区三区| 久久九九国产精品| 成年人性爱日韩| www.av在线视频| 天堂俺去俺来也www久久婷婷| 亚洲国产一级黄色视频| 91处女在线观看| 七月丁香婷婷| 亚洲天堂久久久久久粉红视频| 久久久久久久| 国产精品96| 亚洲国产综合视频| 国产精品视频内谢女人| 亚洲不卡三级手机播放| 亚洲天堂在线怕怕视频| 国产美女自拍AV| 1人人看人人摸人人操| 欧美日韩啪啪电影| 欧美性爱日韩性爱| 精品在线观看视频在线| 五月天色色网站| 天天天天操| 淫淫总合网| 一区中文字幕二区日韩| 欧美少妇高潮久久91| 青青草狠狠撸| 哈哈操 大香蕉| 亚洲色人阁| 日韩啊V| 岛国片在线播放| 激情综合二| www色色com| 男人的天堂2018东京热啪啪啪| 大香蕉在线视频15| 干B| 大香蕉手机在线| 中文字幕熟女人妻丝袜| 午夜.DJ高清在线观看免费7| 99久久精品无码一区二区| 久久激情视频| 亚91亚洲网| 丝袜色综合| 欧美综合第一页| 国产在线观看91精品一区| 特级丰满少妇一级AAAA爱毛片| 自偷自拍的亚洲视频| 加勒比在线视频| 操逼999| 久久高潮妇女视频| 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 碰碰在线视频| 日韩精品电影| 亚洲黑人在线| 午夜精品探花| 91色综合激情| 国产91美女视频| 国产成人无码a| 丁香六月激情综合| 亚洲AV无码久久精品蜜桃小说| 91中文字幕在线观看| 欧美色www亚洲国产阿娇要播| 岛国视频免费在线观看| 蜜臀在线免费观看在线免费观看| 伊人嫩草| 欧美性爱无码一区二区三区| 香蕉在线一区二区三区| 校园春色宗合网| 亚洲网站一区二区在线| 亚洲av无码成人精品国产| 久婷婷一区| 久久69| 99久久久久| 亚洲污污网站| 亚洲av国产av综合av卡| 天美av在线观看| julia国产在线 | 91热热色| aⅴ日韩成人电影av在线免费看av大全 | 天天日天天舔东京热| 亚洲欧美日韩不卡人妻| 亚洲欧美精品福利在线| 学生妹天天看| 亚洲AV性爱电影| 伊人玖玖网| 中国操逼无码| 日本三级人妻a人妻一在线| 天天欧美| 久久99综合| 亚洲精品蜜桃久久久| 国产精品极品美女视频| 曰本91情色| 日韩免费三级黄片电影| wwe 天天干.com| 91美女视频| 91超碰人人| 亚州综合网| 亚州情色j区| 91 丝袜在线播放| 超碰调教97| 亚洲日韩天堂| 四虎永久在线精品免费网址| 黄片www视频免费| 啊啊啊com| 伊人影院日本| 久草婷婷| 美女尤物人人操| 精吧天堂| 久久香蕉影院| 97综合国产| 肥臀熟女福利视频一区二区| 国产兽交视频在线播放| 亚洲自拍欧美国产首页网曝| 亚洲最大成人a毛毛片| 大香蕉琪琪日本女优不卡| 在线看片国产精品每日更新| 欧美丝袜美女电影一二三四区| 欧美激情中文字幕另类小说| 色老大| 91精品成人www| www.亚洲成人一区| 在线情色电影 91大 | 中文字幕第页| 亚洲av综合伊人久久| 精品久久大胆人体| 国产精品午夜高潮呻吟久久av| 久久精品导航| 国产无遮挡| 国产AV毛片| 欧洲综合色| 成人日韩中文字幕| 国产av美女被艹的乱叫| 97色在线视频| 精品九九淫乱男| 97色干| 国产精品99精品视频网站| 职场同事知名国产国产精品久久欧美日韩| 国产无马av| 亚洲中文字幕在线视频一区二区| 加勒比伊人影院| 日产狠狠干| 不卡av在线中文字幕| 久久有码视频| 操死我了嗯嗯嗯| 精品国产精品一区二区| 日韩免费簧片| 欧美热图99| 精品十三区| 色五月av| 日韩一性一交一A片俄罗斯| 欧美中文综合| 蜜臀99久久精品| 亚洲精品骚逼| 大香蕉碰碰| 高跟丝袜AV专区国产| aa片毛片| 好涩综合| 色综合1991| 日韩ab网 | 婷婷人妻激情| 好爽免费视频,| www老逼91| 开心五月婷婷激情| 亚洲暴力强奸AV| 日本乱人伦片中文三区| 九九九999久久久网站| 国产日韩欧美| 韩国三级三级BD在线| 男人兔费天堂| 九九色婷婷| 欧美大香蕉专区网| 91午夜无码| 日韩精品资源专区二区| 五月天亚洲色图| 欧美色97| 欧美色交| 日本不卡中文| 乱色老一区二区三区的观看方式| 97干天天| 中文字幕久久精视频久久大全| 欧美第一页性| 精品超碰中文在线| julia高潮后不停追击中出| 欧美在线观看综合国产| 免费看A片毛毛片在线播| 久久久久久久伊人精品| 最新日日夜夜天天干干| 欧美伊人久久综合网| 黄片视频观看| 欧美性爱精品七区| 亚洲婷婷综合网| 国产精品精品系列在线观看| 色欲天天综合久久久无码网中文| 精品久久久久久久| 激情色图| 天天射天天操天天干天天吃2018| 婷婷色综合欧美日韩| 男人的天堂 在线一区| 国产精品美女视频诱惑| 天天看天天日天天操| www国产无码| 黄片视频观看| 精品国产91av一区二区三区 | 亚洲AV高潮| 91在线色| 久久精品国产精品| 国产成人精品一区| 少妇贴图| 起碰97| 日韩美女啪啪一区| 国产大学生口爆吞精合集| 日本Xx性爱| 久久久久国产无av| 超碰79人人乐| 亚洲熟女乱熟乱熟妇综合网二区| 91nbbbbbb| 玖色av| 97色在线视频| a片偷拍视频| 亚洲无码AV九九九| 五月丁香综合| 日产中文字幕2020| 狠狠干2020| 91人妻少妇| 日本三级一区二区 在线| 黑人精品成人一区二区三区| 9九九九九视频在线观看| 天天日日日射| 懂色av中文字幕| 91老熟女| 婷婷丁香五月天亚洲天堂网| 淫妻综合网| 金典av| 加勒比综合88| 免费的很黄很污的全部视频| 日韩操人| 婷婷精品国产一区二区三区日韩| 激情内射| 国产兽交视频在线播放| 中文字幕 国产区| 欧美在线伊人色| 一区二区三区在线日韩影院观看| 91另类| 青青操狠狠撩| 美女高潮视频91| 91热色| 人妻偷拍一区二区三区| 丁香五月婷婷基地| 欧美 亚洲 综合 制服 另类| 淫荡网址| 操屄不卡视频| 偷拍在线观看视频| 国产日韩久久| 精品黑人一区二区| 国内操逼视频二区| 最近二区三区视频大全| 99久久久无码国产精品性男| www.高清无码诱惑一区.com| 色97干| 五月婷婷丁香中文字幕| 色天堂综合| 91网站18| 性爱视频久久| 天天综合网亚洲综合网| 国产又色又粗又黄又爽| 国产伊人自拍| 变态综合色| 尤物一级在线免费观看| 91久久堂| 天天激情综合站| 青青草日本无码| 清纯唯美亚洲另类| 国产99久久99热这里只有精品15 | 国产高清精品一区二区三区毛片 | 再深点灬舒服灬太大了添视频| 国产精品久久久亚洲一区| 热G综合热G中文| 日韩精品1区2区中文字幕| 色欲人妻一区二区在线| 人妻性爱一区二区| 人妻精品综合中文字幕在线| 亚洲全色网| 人妻激情偷乱视频一区二区三区| 啊啊在线| 中文字幕在线免费观看视频| 91 亚欧| 久久婷综合| 国产丝袜啪啪| 噜噜在线| 超碰97精品| 91人人爽人人爽| 国产一级内射高清视频| 午夜男人天堂| 欧美高清无码免费视频高清版| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 久肏视频字幕| av在线资源| 天天亚洲| 亚洲情色1区| 人妻二区| 欧美91丝袜| 深夜激情无码| 啪啪啪男女亚洲中文字幕99| 天天操综合网| 免费观看日本操逼视频| 日少妇亚洲版| 激情网色| 中文字幕福利视频一区二区三区在线观看| 大香蕉丝袜一级片| 国产精品扒开腿做爽爽爽视频| 日本天天吊| 91深夜夜| 色天天野狼综合社区| 99热这里只有精品8| 嗯嗯啊啊操死我| 亚洲国产成人精品久久久国产成人一区二区 | 大粗鳼巴久久久久| 国产91福利小视频在线观看| 91精品啪在线观看国产城中村| 精品妇女一区二区三区| AV色五月天| 精品美女久久久久| 色性综合| 98超碰欧美| 中文字幕亚洲永久精品| 国产欧美伊人| 欧美高清91| 国产精品一区二区校花| 特污免视频| 友优传媒精品在线一区二区| 午夜精品五区| 欧美,亚洲,日韩,v,天堂,手机在线观看| 欧美一级在线观看成人| 日本熟妇一区二区三区| 国产精品在线免费| av资源在线观看少妇| 欧洲天天在线| 日韩资源网| 亚欧美色图| 超碰97国产欧美| 东亚亚洲无码高清| 人妻少妇视频在线播放| 久久人妻办公室视频| 久久久久久久久久久人妻| 色网亚洲人| 五月丁香激情综合| 97色在线视频| 日本伦理一区二区| 人妻一区二区三区视频| 天天内射| 亚洲午夜av| 另类图片天天影视| 九九热男人天堂| 亚洲国产ⅴ高清在线观看| 制服中出中文人人精品| 欧美顶级黄片AAAAA在线免费看| 久艹视频在线| 中文字幕一二三区| 麻花传媒免费网站在线观看| 人妻精品一区二区| 午夜精品久久久99| 中文字幕一区日韩精| 亚洲动态色图| 一级免费精品| 中文字幕乱碼在线| 操婷婷逼| 激情黄色片在线观看| 中文字幕伊人| 国产超碰在线一区| 天天爽夜夜操| 亚洲精品xxx| 日韩在线国产字幕| 伊人少妇久久久| 欧美 传媒 麻豆 日韩 偷拍| 激情久久久| 日韩性爱毛片操骚逼| 玖玖爱影院| 啊啊啊啊免费视频| 亚州精品人妻一二三区| 亚洲第一二区另类图| 亚洲中文字幕乱码无码一区二区| 色色亚洲| 99精品在线观看| 欧美亚洲中文字幕| 亚洲一区二区三区欧美日韩| 26uuu性物| 性在久久久久久| 天天操人人操狠狠插| 玖玖爱在线视频免费观看| 91亚洲欧洲| 亚洲一级黄色毛片| 极品销魂美女一区二区| 大香蕉一级黄色片久久| 国产精品视频在线观看| 手机在线大香蕉| 亚洲天天综合| 26uuu久久| 92性色国产午夜福利在线661| 日韩字幕一区| 人妻二区| 黑人操一区二区| 亚洲αv一区二区三区| caoni国产亚洲av| 乱欲一区二区| JIZZJIZZ国产精品喷水| 日韩黄色一区二区三区| 日本精品一区三区| 国产农村妇女精品1区二区| 欧美青青草视频| 久久久久久久97| av在线播放国产一区| 五月婷婷丁香中文字幕| 96AV精品| 人妻美腿丝袜日韩| 一区二区三区国产在线播放 | 亚洲另类电影| 哈哈操电影AV| 亚洲丝袜在线观看| 老司机天天操| 五月婷在线| 国产精品久久久久久9999| 欧在线一二区| 天天看,天天做| 自拍丝袜美腿人妻| 亚洲成人在线资源| 免费看黄片现成| 国产成人网址| 国产诱惑| 在线国产福利网址导航| 骚货人妻偷情自拍在线视频| av 模特一区了| 在线播放免费av福利片| 极品丝袜无码| 女优大全 - 91n| 欧美一级黄片免费播放| 老司机免费视频在线91| 国产无马在线| 国内精品不卡无毒99999| 校园春色AV天堂| 五月色网| 国内一级精品| 激情婷婷五月天| 精品夜夜澡人妻无码AV| 五月丁香色情| 男人的天堂久久| 91久久久久久| 亚洲中文字幕熟女少妇一区二区| 午夜精品探花| 67914在线兔费成人视频| 久久欧美性爱视频| 色噜噜人妻av中文字幕| 国产成人精品日本亚洲语言| 色欧美在线| 97爱爱爱综合| 99re公开精品免费视频| 劲爆欧美人妖三区91| 丰满的三级少妇欧美久久久| 好色美女九七第一页| 99精品久久| 国产精品福利资源在线尤物| 蜜桃在线观看一区二区三区| 日韩性爱毛片操骚逼| 欧美色交| 日韩精品人妻系列无码天堂| 中文字幕交换人妻| 久久啊啊啊| 欧美色997| 柠檬AV导航| ,成人免费啪啪视频| 日本久久久精品电影| 亚洲情色1区| 婷婷亚洲综合| 国产Av超碰| 超碰在线91| 白嫩妹子国产骚| 在线天堂999| www.99视频| 变态乱伦伪娘灌肠一区二区| 夜夜久久久| 国产精品高朝久久久久久久| 成人熟女视频一区二区三区| 激情五月婷婷| 欧美在线观看综合国产| 日本孕妇一区二区视频操逼免费看| AV男人天堂网| 99精品伊人| 夜夜嗷嗷一区二区| 国产suv精品一区二区四区999| 亚洲AV无码黄色强奸| 日本欧美韩国国产在线| 九九九九久久久久| 热热色综合网| 天天操天天日天天干| 久草精品国产蜜臀| 青青草在线成人视频| 熟女精品一区二区三区| 91啪啪| 日本三级中国三级99人妇网站| 欧美十八禁在线看| www…国产操逼| 97久久视频| 嗯嗯啊操我| 五月丁香网站| 最新欧洲欧美日本激情网站| 欧美人人AAA| 亚洲成人免费电影| 国产精品老熟女一区二区| 国产视频一区二区在线| 国产精品九9| 在线女人91| 国产精品视频播放| 欧美韩国你懂得在线| 久久久内射良家| 精品999一区二区| 少妇厨房愉情理伦片bd在线观看| 人人弄人人摸| 日韩,欧美,中文在线| 天天综合亚在线| 抽插爽| 亚州欧美另类| 超碰97人妻免费在线| 在线人人人人人人精品超| 欧美精品久久久久久久久88| 91超级碰碰| 秋霞一区二区三区四区五区六区七区| 国产AB视频| 国产无码久久高清| 日韩黄色一区二区三区| 嗯嗯啊啊用力视频免费| 超碰伊人在线| 思思视频免费看网站| 欧美麻豆成人同性GⅤ在线| 蜜臀人妻少妇久久在线观看| 欧美最大综合网| 国产精品人妻一区二区| 超碰成人免费| 熟妇一区,二区,三区。| 岛国在线国产| 亚洲日产专区| 性色综合网| 岛国成人av在线播放网址| 久久只有精品一区二区三区| 精品人妻一区二区三区日产| 亚洲免费人妻在| 欧美传媒一区| 成人无码欧美一级A片狼牙直播| 亚洲国产婷婷在线播放| 97日视频| 少妇高潮流水av免费| 久久一二区四| 亚洲欧洲av影音| 狠狠狠一区二区三区| 校园春色第一页| 国产精品交换一区二区| 国产精选视频| 国产一级片| 青青在线视频日韩欧美| 天天干天天拍| 丰满人妻区一区二区三| 日日干夜夜操视频h| 日韩簧片免费看| 91美女色视频亚洲| 久久久精品成人国产| 999久久芭蕾| 九九九九久久久| 成·人免费午夜在线观看| 97色欧州| HEYZO高无码国产精品227| 亚洲狠| 综合久欧洲| 欧美刺激色黄片免费看| 人妻丝袜一区二区三区在线| 中文字幕91综合| 国产精品美女在线一区| 超碰社区97| 久久女人视频| 欧美国产欧美在线观看| 性感美女91影视| 久草综合京东| 国内毛片国产专区二| 亚洲一区二区三区在线激情| 国产熟妇一区二区| 啊视频在线| av天堂天堂av日韩| 亚欧美综合网| 欧美韩国你懂得在线| 99精品无码| 加勒比久久综合网高清| 亚洲AV无码乱码| 欧美精品欧美精品系列| 美女啪欧美一区| 激情开心五月天| 欧美aaaaaaa| 尤物网址| 日本成人免费一区二区三区| 超碰碰小说97| 男人网站婷婷| 在线视频五十市| 95精品在线| 亚洲精品一区中文字幕乱码| 91|九色|国产熟女| 高清无码 国产精品| 亚川综合视频| 国产对白刺激视频| 岛国福利在线精品播放| 99re在线| 韩国免费播放一级毛片| 亚洲欧美电影| 日本操逼视频免费| 操国产逼| 搞中出久久| 人人操人人摸人人看人人干| 久操com| 天堂种子在线www网资源| 亚洲人妻中文高清| 8050午夜少妇无码| 亚洲人妻AV| 色色色色色色色色色色色色色色综合 | 国产兽交视频在线播放|