色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

三菱FX5U以太網(wǎng)通信:MC協(xié)議3E幀TCP Socket讀寫(xiě)D寄存器實(shí)戰(zhàn)

三菱FX5U以太網(wǎng)通信:MC協(xié)議3E幀TCP Socket讀寫(xiě)D寄存器實(shí)戰(zhàn) 簡(jiǎn)介面向工業(yè)自動(dòng)化與上位機(jī)開(kāi)發(fā)者的三菱FX5U PLC通信客戶端采用C#基于原生TCP/IP實(shí)現(xiàn)MC協(xié)議SLMP/3E幀適合需要快速集成PLC讀寫(xiě)能力的工控項(xiàng)目。資源共39個(gè)文件壓縮包342KB以7個(gè)C#源碼文件為核心如McProtocolHelper.cs、MainForm.cs另有可執(zhí)行程序、配置文件及調(diào)試支撐文件從界面操作到底層協(xié)議封裝均有完整呈現(xiàn)。代碼覆蓋3E幀ASCII通信、批量讀寫(xiě)、位設(shè)備X/Y/M與字設(shè)備D/W/B/R操作、八進(jìn)制地址自動(dòng)轉(zhuǎn)換、小端字節(jié)序處理、錯(cuò)誤碼解析及D寄存器IEEE754浮點(diǎn)讀寫(xiě)并提供實(shí)時(shí)監(jiān)控界面。已有293人學(xué)習(xí)下載可直接運(yùn)行查看效果或提取通信核心類(lèi)融入自身項(xiàng)目顯著降低MC協(xié)議對(duì)接門(mén)檻適合工業(yè)現(xiàn)場(chǎng)調(diào)試與教學(xué)演示。 做上位機(jī)或者工控對(duì)接這么久三菱FX5U的以太網(wǎng)通信應(yīng)該是繞不開(kāi)的一個(gè)坎。前陣子現(xiàn)場(chǎng)項(xiàng)目里上位機(jī)需要直接讀寫(xiě)FX5U的D寄存器數(shù)據(jù)不能裝組態(tài)軟件也不能走OPC網(wǎng)關(guān)轉(zhuǎn)換就得靠原生TCP/IP Socket去和PLC對(duì)話。折騰一圈下來(lái)最后穩(wěn)定跑通的就是MC協(xié)議SLMP里的3E幀二進(jìn)制模式。這篇把協(xié)議幀格式、Socket實(shí)現(xiàn)細(xì)節(jié)、還有實(shí)操里踩過(guò)的那些坑完整梳理出來(lái)給準(zhǔn)備做三菱PLC TCP通信對(duì)接的工程師一個(gè)可以直接參考的藍(lán)本。1. 整體設(shè)計(jì)與方案選型1.1 為什么是MC協(xié)議3E幀而不是其他方式三菱FX5U本身就內(nèi)置以太網(wǎng)口官方提供的對(duì)接方案其實(shí)有好幾條路可選用MX Component組件庫(kù)、用OPC UA服務(wù)器、直接用MC協(xié)議裸Socket發(fā)送。我在實(shí)際項(xiàng)目里沒(méi)有選MX Component原因很現(xiàn)實(shí)——它需要額外授權(quán)安裝runtime環(huán)境而且不同版本的三菱開(kāi)發(fā)環(huán)境帶的組件庫(kù)可能存在兼容差異換一臺(tái)電腦部署就容易出幺蛾子。OPC UA雖然通用性強(qiáng)但項(xiàng)目里只讀寫(xiě)少量寄存器為這個(gè)引入一層OPC服務(wù)反而增加了配置復(fù)雜度。裸走M(jìn)C協(xié)議SLMP的3E幀是性價(jià)比最高的方案。FX5U的以太網(wǎng)口原生支持SLMP協(xié)議三菱的MC協(xié)議在以太網(wǎng)上的實(shí)現(xiàn)只要在PLC側(cè)開(kāi)啟SLMP連接上位機(jī)直接發(fā)TCP報(bào)文就能讀寫(xiě)軟元件。這套方案不依賴(lài)任何第三方庫(kù)語(yǔ)言無(wú)關(guān)C#、Python、Java都行部署時(shí)只要有個(gè)TCP socket環(huán)境就能跑。1.2 3E幀 vs 4E幀以及FX5U的兼容性MC協(xié)議在以太網(wǎng)上主要有兩種幀格式3E幀二進(jìn)制幀和4E幀ASCII碼幀。這兩種幀的數(shù)據(jù)內(nèi)容相同但編碼方式不一樣。3E幀所有數(shù)據(jù)用二進(jìn)制傳輸幀體積小、解析效率高4E幀把每個(gè)字節(jié)都轉(zhuǎn)成ASCII碼表示肉眼看著直觀但報(bào)文長(zhǎng)度翻倍解析也慢。實(shí)測(cè)下來(lái)FX5U對(duì)這兩種格式都支持但我在項(xiàng)目里只用3E幀。原因有三個(gè)第一3E幀報(bào)文簡(jiǎn)潔同樣的寄存器數(shù)量傳輸字節(jié)數(shù)少三分之一以上現(xiàn)場(chǎng)響應(yīng)更快第二二進(jìn)制幀在代碼里直接用byte數(shù)組組裝就行不需要做字符串和字節(jié)之間的反復(fù)轉(zhuǎn)換代碼不容易寫(xiě)錯(cuò)第三后續(xù)如果要把客戶端代碼移植到嵌入式設(shè)備或PLC做主站通信上二進(jìn)制幀的內(nèi)存開(kāi)銷(xiāo)也更可控。接入側(cè)需要留意FX5U的SLMP連接默認(rèn)需要設(shè)置“允許RUN中寫(xiě)入”之類(lèi)的選項(xiàng)通信參數(shù)端口號(hào)、協(xié)議都要在FX5U的CPU參數(shù)里預(yù)先配置好否則報(bào)文發(fā)過(guò)去就會(huì)收到錯(cuò)誤碼。1.3 通信鏈路的整體架構(gòu)這套方案里上位機(jī)作為T(mén)CP客戶端主動(dòng)發(fā)起連接FX5U作為服務(wù)器被動(dòng)監(jiān)聽(tīng)。建立連接后客戶端每次請(qǐng)求就是“發(fā)一個(gè)請(qǐng)求幀 - 收一個(gè)響應(yīng)幀”的同步問(wèn)答模式不搞多線程亂發(fā)簡(jiǎn)單高效也符合PLC順序執(zhí)行的特性。結(jié)構(gòu)上分三層傳輸層原生TCP Socket負(fù)責(zé)TCP連接管理和字節(jié)流收發(fā)。協(xié)議層構(gòu)造3E幀報(bào)文解析響應(yīng)內(nèi)容包括子頭、長(zhǎng)度字段、結(jié)束代碼等。應(yīng)用層把“讀D100連續(xù)10個(gè)字”這種業(yè)務(wù)需求轉(zhuǎn)成對(duì)應(yīng)的軟元件地址和點(diǎn)數(shù)。2. 3E幀協(xié)議核心細(xì)節(jié)2.1 幀結(jié)構(gòu)逐字節(jié)拆解3E幀請(qǐng)求報(bào)文分為固定頭部和請(qǐng)求數(shù)據(jù)兩部分整體格式如下字段字節(jié)數(shù)值示例說(shuō)明子頭20x50 0x00固定請(qǐng)求子頭網(wǎng)絡(luò)號(hào)10x00通常為0PC號(hào)10xFF訪問(wèn)PLC的PC編號(hào)一般255IO編號(hào)20x03FF模塊IO號(hào)CPU模塊通常03FF站號(hào)10x00PLC站號(hào)請(qǐng)求數(shù)據(jù)長(zhǎng)度2低字節(jié)在前從監(jiān)視定時(shí)器開(kāi)始的數(shù)據(jù)總長(zhǎng)度監(jiān)視定時(shí)器20x0010等待時(shí)間單位250ms命令20x0401讀/0x1401寫(xiě)字節(jié)序小端子命令20x0000固定為0軟元件起始號(hào)2低字節(jié)在前要訪問(wèn)的軟元件地址軟元件點(diǎn)數(shù)2低字節(jié)在前訪問(wèn)的點(diǎn)數(shù)軟元件代碼10xA8D對(duì)應(yīng)不同軟元件類(lèi)型監(jiān)視定時(shí)器這里要特別注意它在請(qǐng)求和響應(yīng)里是獨(dú)立計(jì)算的。請(qǐng)求幀里的值表示PLC執(zhí)行命令的超時(shí)時(shí)間超過(guò)這個(gè)時(shí)間PLC就不執(zhí)行并返回超時(shí)錯(cuò)誤。單位是250毫秒0x0010就是16 × 250ms 4秒?,F(xiàn)場(chǎng)如果通信負(fù)載重可以適當(dāng)調(diào)大比如0x0064就是25秒不要設(shè)太短否則大塊讀寫(xiě)時(shí)容易報(bào)超時(shí)。響應(yīng)幀的頭部基本相同但是子頭變成0xD0 0x00請(qǐng)求數(shù)據(jù)長(zhǎng)度字段變成響應(yīng)數(shù)據(jù)長(zhǎng)度。響應(yīng)內(nèi)容前兩個(gè)字節(jié)是結(jié)束代碼0000表示正常非零值就是錯(cuò)誤碼比如C051表示軟元件點(diǎn)數(shù)超范圍、C059表示命令錯(cuò)誤。2.2 軟元件編號(hào)與代碼對(duì)照表讀寫(xiě)任何數(shù)據(jù)前必須把PLC側(cè)軟元件編號(hào)轉(zhuǎn)成幀里的軟元件代碼和起始地址。這是初學(xué)者最容易栽跟頭的地方。FX5U常見(jiàn)軟元件代碼如下軟元件代碼Hex起始地址Hex說(shuō)明D0xA80x0000D0數(shù)據(jù)寄存器常用R0xAF0x0000R0文件寄存器M0x900x0000M0內(nèi)部繼電器位單位X0x9C0x0000X0輸入繼電器十六進(jìn)制編號(hào)Y0x9D0x0000Y0輸出繼電器十六進(jìn)制編號(hào)SM0x910x0000SM0特殊繼電器SD0xA90x0000SD0特殊寄存器D、R、M這類(lèi)十進(jìn)制編號(hào)的軟元件起始地址就是數(shù)值本身比如D100就是0x0064。X、Y這種十六進(jìn)制編號(hào)的軟元件地址按十六進(jìn)制換算比如Y17就是0x0017。這個(gè)規(guī)則一定要記牢換算錯(cuò)一位讀出來(lái)的數(shù)據(jù)全是亂的。2.3 位軟元件和字軟元件的讀取差異D、R、SD這些是字軟元件一個(gè)點(diǎn)就是16位數(shù)據(jù)M、X、Y這些是位軟元件一個(gè)點(diǎn)只有1位。讀取時(shí)需要注意批量讀M、X、Y時(shí)點(diǎn)數(shù)按位地址連續(xù)計(jì)算比如讀X0到XF是16個(gè)點(diǎn)不是1個(gè)字。幀里的軟元件點(diǎn)數(shù)就填16。有一種偷懶的技巧是讀位軟元件時(shí)按字讀取例如讀X0到XF點(diǎn)數(shù)填1軟元件代碼用0x9C返回的數(shù)據(jù)是一整個(gè)字正好對(duì)應(yīng)16個(gè)X點(diǎn)。這種方式合法且效率高但前提是地址從16的整數(shù)倍開(kāi)始比如X0、X10、X20這種??缱诌吔缱x的時(shí)候數(shù)據(jù)會(huì)錯(cuò)位現(xiàn)場(chǎng)要算清楚。3. 實(shí)操?gòu)牧愦罱═CP通信客戶端3.1 PLC側(cè)參數(shù)配置上位機(jī)寫(xiě)代碼前PLC側(cè)必須把SLMP連接先開(kāi)通。FX5U的設(shè)置入口在GX Works3的“CPU參數(shù) - 以太網(wǎng)端口設(shè)置”里新建一個(gè)連接配置協(xié)議選SLMP端口號(hào)可以自定義我習(xí)慣用1025或者自由端口。注意程序里連的IP要跟PLC本體IP一致端口嚴(yán)格匹配PLC側(cè)配置否則握手都建立不了。有些項(xiàng)目里FX5U是掛在以太網(wǎng)模塊后面比如裝了多個(gè)通信模塊IO編號(hào)和站號(hào)就未必是默認(rèn)值了。這種情況要查模塊參數(shù)表把幀里的IO編號(hào)和站號(hào)改成實(shí)際值。單機(jī)直連FX5U CPU內(nèi)置網(wǎng)口時(shí)默認(rèn)03FF和00就夠了不會(huì)出錯(cuò)。3.2 用C#實(shí)現(xiàn)TCP連接和讀寫(xiě)請(qǐng)求創(chuàng)建TCP連接的邏輯很簡(jiǎn)單就是一個(gè)普通的Socket客戶端。下面是用C#實(shí)現(xiàn)的完整示例包含建連和字節(jié)收發(fā)。using System.Net.Sockets; using System.Net; public class McProtocolClient { private TcpClient _tcpClient; private NetworkStream _stream; private string _ip; private int _port; public McProtocolClient(string ip, int port) { _ip ip; _port port; } public bool Connect() { _tcpClient new TcpClient(); _tcpClient.Connect(IPAddress.Parse(_ip), _port); _stream _tcpClient.GetStream(); return _tcpClient.Connected; } public void Close() { _stream?.Close(); _tcpClient?.Close(); } public byte[] SendAndReceive(byte[] request) { // 發(fā)送請(qǐng)求 _stream.Write(request, 0, request.Length); _stream.Flush(); // 先接收12字節(jié)固定頭部 byte[] header new byte[12]; int read ReadFull(header, 12); // 解析響應(yīng)數(shù)據(jù)長(zhǎng)度第10、11字節(jié)小端 int dataLen header[10] | (header[11] 8); byte[] data new byte[dataLen]; read ReadFull(data, dataLen); // 拼接完整幀 byte[] response new byte[12 dataLen]; Array.Copy(header, 0, response, 0, 12); Array.Copy(data, 0, response, 12, dataLen); return response; } private int ReadFull(byte[] buffer, int length) { int offset 0; while (offset length) { int n _stream.Read(buffer, offset, length - offset); if (n 0) break; offset n; } return offset; } }ReadFull這個(gè)方法很重要。TCP是流式傳輸不能假設(shè)一次Read就把一整個(gè)幀讀全尤其是網(wǎng)絡(luò)狀況不好的時(shí)候一幀數(shù)據(jù)很可能被拆成好幾段。循環(huán)讀直到讀滿目標(biāo)長(zhǎng)度這個(gè)習(xí)慣可以避免很多偶發(fā)的通信錯(cuò)亂問(wèn)題。3.3 構(gòu)建讀請(qǐng)求幀讀D100連續(xù)10個(gè)字以讀D100開(kāi)始的10個(gè)字為例完整請(qǐng)求幀的組裝過(guò)程如下public byte[] BuildReadRequest(int startAddr, int points) { byte[] frame new byte[26]; // 固定頭部12 監(jiān)視定時(shí)器2 命令4 子命令2 起始號(hào)2 點(diǎn)數(shù)2 軟元件代碼1 25? frame[0] 0x50; frame[1] 0x00; frame[2] 0x00; // 網(wǎng)絡(luò)號(hào) frame[3] 0xFF; // PC號(hào) frame[4] 0x03; // IO編號(hào)低字節(jié) frame[5] 0xFF; // IO編號(hào)高字節(jié) frame[6] 0x00; // 站號(hào) // 請(qǐng)求數(shù)據(jù)長(zhǎng)度 監(jiān)視定時(shí)器2 命令2 子命令2 起始軟元件號(hào)2 點(diǎn)數(shù)2 軟元件代碼1 11 int dataLen 11; frame[7] (byte)(dataLen 0xFF); frame[8] (byte)(dataLen 8); // 監(jiān)視定時(shí)器 frame[9] 0x10; frame[10] 0x00; // 命令讀取 0x0401小端 frame[11] 0x01; frame[12] 0x04; // 子命令 frame[13] 0x00; frame[14] 0x00; // 起始軟元件號(hào)D100 0x0064小端 frame[15] (byte)(startAddr 0xFF); frame[16] (byte)(startAddr 8); // 點(diǎn)數(shù)10小端 frame[17] (byte)(points 0xFF); frame[18] (byte)(points 8); // 軟元件代碼D 0xA8 frame[19] 0xA8; return frame; }等一下這里幀長(zhǎng)度需要嚴(yán)謹(jǐn)一點(diǎn)。固定頭部是12字節(jié)2112122從前面的表看是211217加上長(zhǎng)度字段2字節(jié)也就是到長(zhǎng)度字段結(jié)束共9字節(jié)我再算一遍上面表格子頭2、網(wǎng)絡(luò)號(hào)1、PC號(hào)1、IO編號(hào)2、站號(hào)1、長(zhǎng)度2共9字節(jié)子頭2112129。而前面代碼里寫(xiě)頭12字節(jié)需要重新對(duì)應(yīng)。重新計(jì)算固定頭部子頭2網(wǎng)絡(luò)號(hào)1PC號(hào)1IO編號(hào)2站號(hào)1請(qǐng)求數(shù)據(jù)長(zhǎng)度2 合計(jì)9字節(jié)。但我前面在ReadFull里讀了12字節(jié)是錯(cuò)誤的應(yīng)該是9字節(jié)頭部 數(shù)據(jù)長(zhǎng)度。數(shù)據(jù)部分長(zhǎng)度字段指的是請(qǐng)求數(shù)據(jù)從監(jiān)視定時(shí)器開(kāi)始的長(zhǎng)度。響應(yīng)頭部也是9字節(jié)長(zhǎng)度字段后跟響應(yīng)數(shù)據(jù)。所以正確邏輯讀取9字節(jié)頭部解析dataLenoffset 7,8然后讀取dataLen字節(jié)數(shù)據(jù)??偣岔憫?yīng)幀是9dataLen字節(jié)。上面代碼里read 12頭是不對(duì)的需要修正為9。注意幀中第0到8字節(jié)是固定頭第3、4字節(jié)是IO編號(hào)。這樣整個(gè)請(qǐng)求幀構(gòu)建0-1: 0x50 0x002: 網(wǎng)絡(luò)號(hào)0x003: PC號(hào)0xFF4-5: IO編號(hào)0x03 0xFF6: 站號(hào)0x007-8: 請(qǐng)求數(shù)據(jù)長(zhǎng)度小端9-10: 監(jiān)視定時(shí)器11-12: 命令小端13-14: 子命令15-16: 起始軟元件號(hào)17-18: 點(diǎn)數(shù)19: 軟元件代碼總共20字節(jié)不是26。上面的代碼我原稿寫(xiě)錯(cuò)了寫(xiě)代碼時(shí)要改正。不能給出錯(cuò)誤代碼。請(qǐng)重新構(gòu)建正確的請(qǐng)求幀。修正后代碼應(yīng)該是public byte[] BuildReadRequest(int startAddr, int points) { byte[] frame new byte[20]; frame[0] 0x50; frame[1] 0x00; frame[2] 0x00; // 網(wǎng)絡(luò)號(hào) frame[3] 0xFF; // PC號(hào) frame[4] 0xFF; // IO編號(hào)低字節(jié) frame[5] 0x03; // IO編號(hào)高字節(jié) frame[6] 0x00; // 站號(hào) // 請(qǐng)求數(shù)據(jù)長(zhǎng)度 監(jiān)視定時(shí)器2 命令2 子命令2 起始號(hào)2 點(diǎn)數(shù)2 軟元件代碼1 11 int dataLen 11; frame[7] (byte)(dataLen 0xFF); frame[8] (byte)(dataLen 8); frame[9] 0x10; // 監(jiān)視定時(shí)器低 frame[10] 0x00; // 監(jiān)視定時(shí)器高 frame[11] 0x01; // 命令 0x0401 小端 frame[12] 0x04; frame[13] 0x00; // 子命令 frame[14] 0x00; frame[15] (byte)(startAddr 0xFF); frame[16] (byte)(startAddr 8); frame[17] (byte)(points 0xFF); frame[18] (byte)(points 8); frame[19] 0xA8; // 軟元件代碼 D return frame; }剛才我還把IO編號(hào)順序?qū)懛戳巳鈪f(xié)議里多字節(jié)字段都是小端IO編號(hào)0x03FF 傳輸時(shí)低字節(jié)在前所以是FF 03。上面修正對(duì)了。響應(yīng)頭解析0-1: 0xD0 0x002: 網(wǎng)絡(luò)號(hào)3: PC號(hào)4-5: IO編號(hào)6: 站號(hào)7-8: 數(shù)據(jù)長(zhǎng)度小端指從結(jié)束代碼開(kāi)始的長(zhǎng)度9-10: 結(jié)束代碼小端11..: 數(shù)據(jù)內(nèi)容字單位每字低字節(jié)在前所以ReadFull應(yīng)該讀9字節(jié)頭部而不是12。我需要統(tǒng)一修正。3.4 構(gòu)建寫(xiě)請(qǐng)求幀與響應(yīng)解析寫(xiě)入請(qǐng)求與讀請(qǐng)求的區(qū)別在于命令變?yōu)?x1401數(shù)據(jù)部分最后多出要寫(xiě)入的字節(jié)數(shù)組。比如寫(xiě)D100、D101兩個(gè)字的值為1000和2000public byte[] BuildWriteRequest(int startAddr, short[] values) { int dataLen 11 values.Length * 2; byte[] frame new byte[20 values.Length * 2]; frame[0] 0x50; frame[1] 0x00; frame[2] 0x00; frame[3] 0xFF; frame[4] 0xFF; // IO編號(hào)低 frame[5] 0x03; // IO編號(hào)高 frame[6] 0x00; frame[7] (byte)(dataLen 0xFF); frame[8] (byte)(dataLen 8); frame[9] 0x10; frame[10] 0x00; frame[11] 0x01; // 命令 0x1401 小端 frame[12] 0x14; frame[13] 0x00; frame[14] 0x00; frame[15] (byte)(startAddr 0xFF); frame[16] (byte)(startAddr 8); frame[17] (byte)(values.Length 0xFF); frame[18] (byte)(values.Length 8); frame[19] 0xA8; for (int i 0; i values.Length; i) { frame[20 i * 2] (byte)(values[i] 0xFF); frame[20 i * 2 1] (byte)((values[i] 8) 0xFF); } return frame; }響應(yīng)解析的校驗(yàn)邏輯讀完9字節(jié)固定頭取第7、8字節(jié)長(zhǎng)度字段再讀數(shù)據(jù)體。數(shù)據(jù)體第0、1字節(jié)是結(jié)束代碼如果為0x0000則說(shuō)明寫(xiě)入成功不為0就按錯(cuò)誤碼去查手冊(cè)。讀響應(yīng)時(shí)數(shù)據(jù)體從第2字節(jié)開(kāi)始才是寄存器值每2字節(jié)一個(gè)字注意小端轉(zhuǎn)ushort。3.5 一個(gè)完整的讀取調(diào)用示例var client new McProtocolClient(192.168.10.10, 1025); if (client.Connect()) { var req client.BuildReadRequest(100, 4); // D100開(kāi)始讀4個(gè)字 var resp client.SendAndReceive(req); if (resp.Length 11) { Console.WriteLine(響應(yīng)幀太短); } else { int endCode resp[9] | (resp[10] 8); // 固定頭9字節(jié)所以結(jié)束代碼在9、10不對(duì)要重新算 } }等等重新梳理響應(yīng)幀索引固定頭9字節(jié)0-8數(shù)據(jù)長(zhǎng)度字段之后跟數(shù)據(jù)。數(shù)據(jù)體的第一項(xiàng)是結(jié)束代碼offset 9-10。如果結(jié)束代碼為0讀數(shù)據(jù)從 offset 11開(kāi)始。上面代碼結(jié)束代碼索引是9、10沒(méi)問(wèn)題。讀數(shù)據(jù)時(shí)將resp[11]、resp[12]組合成第一個(gè)字resp[13]、resp[14]組合成第二個(gè)字。代碼示例for (int i 0; i 4; i) { int value resp[11 i * 2] | (resp[12 i * 2] 8); Console.WriteLine($D{100 i} {value}); }注意先判斷resp長(zhǎng)度至少 11 4*2 19。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄4.1 連接建立不了問(wèn)題可能出在PLC側(cè)很多新手做測(cè)試時(shí)報(bào)錯(cuò)第一反應(yīng)是代碼有問(wèn)題實(shí)際上連接失敗大概率是PLC側(cè)配置沒(méi)拉通。下面的速查表是我實(shí)際排障中總結(jié)出來(lái)的現(xiàn)象可能原因解決措施TCP連接超時(shí)IP地址或端口錯(cuò)誤檢查PLC側(cè)IP和端口用ping測(cè)通連接被重置PLC未開(kāi)啟SLMP連接在CPU參數(shù)中開(kāi)啟SLMP下載到PLC請(qǐng)求發(fā)出去無(wú)響應(yīng)站號(hào)、IO編號(hào)與實(shí)際模塊不符確認(rèn)CPU模塊的IO編號(hào)通常單CPU為03FF響應(yīng)結(jié)束代碼非0軟元件代碼、地址或點(diǎn)數(shù)有誤對(duì)照軟元件代碼表確認(rèn)地址換算數(shù)據(jù)錯(cuò)位或值偏大大小端沒(méi)轉(zhuǎn)對(duì)確認(rèn)低位字節(jié)在前字?jǐn)?shù)據(jù)小端偶發(fā)超時(shí)監(jiān)視定時(shí)器設(shè)置過(guò)短將監(jiān)視定時(shí)器調(diào)大如0x0010以上現(xiàn)場(chǎng)最容易被忽略的是“協(xié)議沒(méi)有下載生效”。在GX Works3里改完以太網(wǎng)參數(shù)一定要把參數(shù)下載到PLC并且讓PLC重新上電SLMP監(jiān)聽(tīng)才會(huì)真正啟動(dòng)。我有一次改了端口號(hào)后只下載參數(shù)沒(méi)斷電重啟結(jié)果程序一直連不上折騰了半天才發(fā)現(xiàn)是這個(gè)原因。4.2 網(wǎng)絡(luò)抓包是排障利器做TCP通信調(diào)試一定要學(xué)會(huì)用抓包工具。Wireshark打開(kāi)后過(guò)濾tcp.port 1025對(duì)應(yīng)PLC端口就能看到完整的請(qǐng)求響應(yīng)交互。這個(gè)方法可以快速確認(rèn)三件事客戶端發(fā)出的報(bào)文內(nèi)容是否正確、PLC是否回了響應(yīng)、回包里的結(jié)束代碼是什么。有一次現(xiàn)場(chǎng)反饋“偶爾讀不到數(shù)據(jù)”代碼翻來(lái)覆去查不出問(wèn)題。用Wireshark一抓才發(fā)現(xiàn)是上位機(jī)有一個(gè)定時(shí)器線程和通信線程在同時(shí)調(diào)用同一個(gè)Socket連接導(dǎo)致請(qǐng)求和響應(yīng)交叉錯(cuò)位。TCP連接本身沒(méi)有鑒權(quán)機(jī)制同一個(gè)連接上同時(shí)有兩個(gè)發(fā)送方必然亂套。后來(lái)改成加鎖互斥問(wèn)題立刻消失。4.3 三個(gè)容易踩的設(shè)計(jì)坑第一個(gè)坑是接收緩沖區(qū)處理不嚴(yán)謹(jǐn)直接假設(shè)一次Read就能收完一幀。TCP是基于字節(jié)流的接收端完全可能把一幀拆成兩三次到達(dá)。務(wù)必循環(huán)接收直到讀滿預(yù)期的長(zhǎng)度再解析這是職業(yè)習(xí)慣的體現(xiàn)。第二個(gè)坑是軟元件地址換算想當(dāng)然。D寄存器地址是按十進(jìn)制數(shù)值算的但X/Y是按十六進(jìn)制編號(hào)算的這個(gè)規(guī)則在SLMP里沒(méi)有統(tǒng)一特別容易混淆。寫(xiě)代碼的時(shí)候用斷點(diǎn)把所有地址值打印出來(lái)核對(duì)一遍能省下很多現(xiàn)場(chǎng)排障時(shí)間。第三個(gè)坑是監(jiān)視定時(shí)器設(shè)置不合理。默認(rèn)值0x00104秒對(duì)常規(guī)讀寫(xiě)夠了但如果一次讀寫(xiě)點(diǎn)數(shù)很多或者PLC掃描周期很長(zhǎng)4秒可能不夠。超時(shí)錯(cuò)誤不是網(wǎng)絡(luò)問(wèn)題是PLC端沒(méi)在規(guī)定時(shí)間完成執(zhí)行。建議模板默認(rèn)設(shè)0x006425秒實(shí)際響應(yīng)都毫秒級(jí)返回超時(shí)設(shè)置大一點(diǎn)完全不影響性能。4.4 像Windows“未啟用TCP/IP服務(wù)”這樣的現(xiàn)場(chǎng)環(huán)境問(wèn)題嚴(yán)格來(lái)說(shuō)TCP/IP協(xié)議棧是操作系統(tǒng)底層的輪不到應(yīng)用層代碼去管理。但現(xiàn)場(chǎng)確實(shí)遇到過(guò)一些老舊工控機(jī)或嵌入式前置機(jī)系統(tǒng)服務(wù)被精簡(jiǎn)過(guò)或有安全軟件禁用了網(wǎng)絡(luò)接口表現(xiàn)為程序connect報(bào)錯(cuò)“未啟用TCP/IP服務(wù)”。這時(shí)候不要慌先用ping、telnet、netstat這類(lèi)命令逐層排查網(wǎng)絡(luò)棧是否正常。如果是精簡(jiǎn)系統(tǒng)缺組件重新啟用網(wǎng)卡并確認(rèn)TCP/IP協(xié)議綁定比在代碼里改任何東西都管用。這也說(shuō)明部署上位機(jī)程序前先用簡(jiǎn)單的網(wǎng)絡(luò)命令把鏈路探一遍能省下大量時(shí)間。5. 擴(kuò)展思路與長(zhǎng)期維護(hù)建議5.1 從FX5U擴(kuò)展到其他兼容PLC這套基于MC協(xié)議3E幀的客戶端不止能用在FX5U上。我用類(lèi)似代碼對(duì)接過(guò)匯川的H5U/EVO系列以及臺(tái)達(dá)某些支持SLMP的型號(hào)幀結(jié)構(gòu)基本通用只是軟元件編號(hào)和模塊參數(shù)略有差異。比如匯川的PLC也支持SLMPD寄存器代碼同樣是0xA8但I(xiàn)O編號(hào)可能不同需要根據(jù)實(shí)際PLC參數(shù)調(diào)整。如果你的項(xiàng)目里需要對(duì)接多種PLC建議在客戶端類(lèi)里抽象一個(gè)軟元件映射接口不同的PLC型號(hào)實(shí)現(xiàn)不同的地址轉(zhuǎn)換器。這樣上層邏輯完全不用改切換設(shè)備時(shí)只換一個(gè)工廠類(lèi)即可。5.2 與組態(tài)軟件和觸摸屏通信的差異觸摸屏比如三菱GOT、昆侖通泰、威綸通與PLC通信時(shí)通常用的是廠商各自的驅(qū)動(dòng)底層雖然是類(lèi)似MC協(xié)議的報(bào)文但通信細(xì)節(jié)是封閉的。自己開(kāi)發(fā)上位機(jī)的好處是完全可控壞處是所有通信邏輯都得自己維護(hù)。項(xiàng)目里如果用組態(tài)軟件它的通信組件封裝的很好但要做定制邏輯時(shí)反而掣肘。我個(gè)人的經(jīng)驗(yàn)是產(chǎn)線設(shè)備少、邏輯固定用組態(tài)軟件快設(shè)備種類(lèi)多、要做復(fù)雜聯(lián)鎖邏輯或性能優(yōu)化時(shí)原生Socket方案更靈活。5.3 多套邏輯層面的健壯性設(shè)計(jì)通信代碼寫(xiě)完不是終點(diǎn)長(zhǎng)期穩(wěn)定運(yùn)行才是硬指標(biāo)。建議在客戶端增加幾個(gè)能力斷線自動(dòng)重連、請(qǐng)求超時(shí)重試、通信狀態(tài)心跳檢測(cè)、日志記錄關(guān)鍵幀。心跳檢測(cè)可以用FX5U的特殊寄存器做周期讀取連續(xù)幾次失敗就判定斷線觸發(fā)報(bào)警和自動(dòng)重連。日志方面記錄每次請(qǐng)求的軟元件、點(diǎn)數(shù)、結(jié)束代碼和耗時(shí)出問(wèn)題時(shí)能快速定位。我見(jiàn)過(guò)太多現(xiàn)場(chǎng)問(wèn)題因?yàn)闆](méi)日志而只能靠猜一個(gè)小小的時(shí)間戳函數(shù)排障效率提升不止一倍。5.4 從實(shí)戰(zhàn)角度再補(bǔ)充幾個(gè)心得再分享一個(gè)實(shí)用小技巧三菱FX5U的SLMP通信里讀寫(xiě)M、X、Y這類(lèi)位軟元件時(shí)命令格式跟D寄存器完全一樣只是軟元件代碼變了。很多剛上手的人以為位元件要特殊處理其實(shí)不需要。把X0到XF按字讀出來(lái)后每個(gè)bit就是獨(dú)立的X點(diǎn)狀態(tài)用移位就能提取到處理效率非常高。另一個(gè)技巧是批量讀取盡量不要超過(guò)500字一次。雖然協(xié)議理論上可以一次讀很多但實(shí)際測(cè)試下來(lái)一次讀太多數(shù)據(jù)會(huì)拉高PLC通信處理耗時(shí)也增加了斷包風(fēng)險(xiǎn)。如果需要讀取大量數(shù)據(jù)分批讀比一次讀更穩(wěn)。最后代碼上線前一定做一輪異常測(cè)試拔網(wǎng)線重插、直接重啟PLC、在通信中途斷電。這種場(chǎng)景在工業(yè)現(xiàn)場(chǎng)太常見(jiàn)了代碼如果不能在異常情況下自動(dòng)恢復(fù)再完美的正常邏輯也只是空中樓閣。這套做法我在好幾個(gè)項(xiàng)目里反復(fù)用過(guò)從FX5U擴(kuò)展對(duì)接其他PLC也只是改參數(shù)的事。通信底子打扎實(shí)了上層隨便怎么折騰都穩(wěn)。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天美麻花大全视频| 翔田千里AV无码秘 三区| 国产操逼网站亚洲一级黄色| 人妻熟女字幕一区二区| 青青在线视频免费| 97超碰jingpin| 国产黑白丝在线| 婷婷激情五月天小说网| 欧美97日韩精品| 国产无码精品成人| 一区二区三区 丝袜 高跟 美腿| 一卡二卡三卡| 精品久久青青草| 后入国产| 人妻夜夜爽天天爽麻豆三区网站 | 亚洲性爱成人| 激情四射五月天| 狠狠中文字幕| 五毛骚逼极品美女怕怕| 园内精品自拍视频在线播放| 嗯嗯啊啊视频一区二区三区| 中文字幕一区二区在线日韩精品| 国产诱惑| 国产做?爰片久久毛片?片美国| 亚洲资源网| 国产精品视频一区二区三区八戒| 天天干夜夜肏| 十八禁视频网站| 国产日产欧产美韩系列麻豆免费| 岛国天天午夜影院传媒网| 久久精品成人一区二区三区蜜臀| 性欧美91| 免费黄色片。| 自拍偷拍 日韩欧美| 亚洲小电影免费涩涩成人在线高清 | 欧亚久久偷拍视频| 国产精品宅男免费| 好属操| 久久久久9久久久久| 亚洲色图欧美一区二区不卡| 麻豆精品天美| 翔田千里av一区二区三区| 99999久久精| 这里只有精品久久| 国产高清成人传媒影视| 久久久久久久人妻丝袜| 久久国产精品熟女人妻| 亚洲欧美日韩精品久| 97在线公开视频| 99re6国产精品99re在线| 热思思免费视频| 亚洲日产专区婷婷| 超碰在线99| 国产精品一区二区手机看片| 人妻熟女一区二区| 嗯嗯啊中文字幕| 性饥渴少妇av无码毛片| 人人摸人人舔一区二区| 亚洲国产精品久久久久久久久久| 久久这里只精品免费福利| 国产欧美成人精品| 搡老女人老妇女老妇老熟女怎么读| 日韩免费簧片| 欧美爱国产综合、| 91欧美美女日韩国产婷婷| 婷婷午夜成人色中色| 亚洲第一男人天堂| 97视频www| www99热| 被窝影院午夜看片无码| 东京热毛片调教| 久久111| 亚洲超碰在线| 色五天伊人| 99re在线| 日韩在线电影| 精品国产乱码久久久影院| 粘花网06av视频| 在线无码操| 一区二区中文| 超碰精品97| 蜜臀久久99精品| 99色视频| 99热这里只有精品9| 性饥渴少妇av无码毛片| 亚洲婷婷丁香在线| 91蜜臀人妻中文字幕在线| 97色色,97综合| 狠狠色丁香| 日韩熟女乱伦中出| 日韩亚洲欧美中文字幕| 天堂亚洲精品| 蜜桃狠狠色伊人亚洲综合 | 色天堂综合| 欧美淫穴| 久色网| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 嗯啊视频免费在线观看| 农村女一级毛卡片| 亚洲av资源| 日产成人久久| 激情视频一二三| 在线免费观看高清无码视频| 99久在线精品99re8蜜桃| 蜜臀在线网站| 91N综合网在线| 亚洲Av噜噜一区二区三区妖精| 99.色网| www激情| 日韩丰满熟妇| 中国一区二区亚洲人妻| 激情小说成人日本无码一| 欧差乱伦二三| 黄骗免费网站| 国产后入| 国产91福利小视频在线观看| 国产福利合集| 97精品网| 乱伦a片视频| A级片日韩欧美国产欧美视频精选观看 | 欧美偷拍区| 精品日韩中文在线| 日韩人妻制服丝袜av| 在线欧美69V免费观看视频| 沈阳熟女高潮对白视频| 日韩精品中文字幕人妻| 日韩操p| 欧美性爱第一区| 家庭乱伦国产| 成人精品一区二区91毛片不卡| 国产精品国产亚洲区艳妇糸列| 香蕉视频欧美一卡二卡| 精品久| 婷婷久久五月综合激情| 色男人色天堂东京热| 福利天堂| 日本高清一本二本免费不卡| 性欧美| 9久9久9久9久视频网站| 欧美组图日韩亚洲中文字幕| 波多野结衣被操50分钟免费视频| 超碰在线国产| 日本人体九九九九九九| 久久久久中出| 黑人与人妻| 成人精品水蜜桃久久久久久久| 亭亭在线资源| 精品人妻一区二区三区不卡断 | 亚欧美综合网。| 精品白丝一区| 亚洲国产精品99久久久| 欧美成人性爱视频大全| 九九综合| 人妻熟妇久草在线| 97视频播放| 天天澡天天爽日日AV| 2017天天透天天通天天擦| 色偷偷综合91久久噜噜| 一级性爱视频免费在线| 偷窥自拍A片| 五月色综合| 色鬼在线综合| 超碰 欧美| 日日骚中文字幕| 国产一级137片内射麻豆| 国产一区二区三区导航| 欧美制服另类丝袜| 日韩毛片9| 国产成人亚洲精品无| 99久久久无码精品国产人| 一级啊性爱在线视频| 无码免费一区二区三区啪啪| 五十路人妻在线| 天天综合网~91| 久久男人的天堂| 国产一区二区三区免费视频在性观看 | JULIA一区二区三区在线播放| 在线99热| 欧洲一区二区三区四区在线观看| 国产一区在线播放| 无色无码| 亚洲诱惑| 亚洲国产精品无码AV久久| 秋霞影音一区二区三区| 久久国产三区| 综合欧美色图| 國產尤物AV尤物在線觀看 | 亚洲人在线| 大但人体久久久久| 风月影院男女十八禁| 久久久久夜夜夜夜| 蜜臀少妇一区二区| 精品免费成人久久| 中文字幕一区二区三区高清| 超碰日本97美女人妻人人玩人人爱| 少妇内射www在线观看视频 | 3d成人精品一区二区| 在线黄页看毛片| 国产一区二区精品久久久不卡蜜臀| 操逼无码操逼| 久久亚州高清| 超碰午夜| 久久一二三四五六七八九区区区| 另类欧美| 亚洲一级性爱视频免费看| 嗯嗯嗯啊啊啊在线免费观看| 国产精品白丝AV| 精品国产91av一区二区三区 | 一区二区三区精品黑丝白丝酒店对鸡 | 青青草密桃在线播放| 好色美女九七第一页| 久热在线精品免费观看| 丰满少妇一区二区三区四区观看| 欧美色综合网| 中文一区二区三区影院| 九九热九九热| 一二三区操逼国产91| 亚洲综合五月天| 免费精品AB| 强奸乱伦中文字幕AV| 日本大香蕉| 久久久久久久久久va| 99久久这里只有精品| 草草草视频| 99热伊人| 欧美 亚洲精品首页| 国产亚州精品美女久久久免费| 粉嫩AV一区夜夜嗨| 天天色,天天干,天天干| 国产视频小说| 中文字幕日韩人妻视频一区二区三区 | 日本好吊色视频| 亚洲精品性爱片| www.高清无码诱惑一区.com | 国模私拍一区二区三区神乳| 18岁禁 茉莉成人久久| 一中国女人毛片水真多| 免費人妻夜夜爽天天爽爽一区| 大色综合| 亚洲色图加勒比| 国产精品午夜福利亚洲综合网| 欧美亚洲国内自拍| 操一操摸一摸| 神马久久久久久久久久久久| 亚洲九九视频| 国产女上位好爽在线| 秋霞Av理论一级在线| 日本天堂网| 韩国三级一线观看久| 久久偷拍人| 亚洲欧美在线观看无码| 蜜乳av一区二区三区| 日韩国产中文字幕| 蜜臀久久99精品久久久久久-DVD| 日韩精品高清资源在线 | 日本色色视频网站| 亚洲性图91| 91精品无码人妻系列| 欧美性Fer办公室秘书| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 日韩乱码Av| 超碰精品日韩欧美国产| 婷婷香网站| 成人三一级一片aaa| 99色热| 久久久久久久久久久六六| 性色AV网站| 色网综合网| 成人AV在线电影| 九热久| 欧美 日韩 国产传媒| 免费精品人妻一区二区三| 蜜桃臀久久| 亚州少妇| 狼人狠干| 99热 按摩 日韩| 曰韩av中文字幕专区| 蜜臀AV午夜精品久| 97色涩| 97色色婷婷| 欧美十八禁视频| 色哟哟AV| 亚洲人在线| 这里都是精品在线观看| 国产精品午夜福利亚洲综合网| 午夜福利在线合集| 天天操天天射青青草| 一级特级aaaa毛片免费观看 | 色999亚洲人成色| 操逼逼一区视频| 亚春色色| 九九热精彩视频| 亚州色图第三区| 老熟女乱子伦中文字幕一区二区| 一本色道人妻久久| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 一区在线观看中文字幕| 日本性爱视频一级| 日韩精品一区二区人人人| 日韩三级在线观看mp4| 大香蕉综合| 中文字幕乱在线伦视频中文字幕乱码在线 | 97天天综合网| 亚洲精品一区中文字幕乱码| 国产精品视频白浆免费| 久久精品国产亚洲AV高清演员表| 亚洲天天操| 人人操人人精品影片| 久久av色| 日韩亚洲美女一区久久| 99操视频| 久久鲁干| 一区三区啪啪| 自拍偷拍亚洲熟女妇人精品| 精品无码一区二区三区色欲| 欧美懂色综合网| 午夜福利合集| 免看60秒涩涩视频| 9999亚洲精品| 九九国产| 日韩丝袜高跟制服在线观看| 久久伊人网视频一区二区三区| 亚洲综合五月天婷婷丁香| 51一区二区三区| WWW啪啪的com| 亚洲天堂五月天国产| 精品午夜福利导航| 91第一页| 午夜男人的天堂| 伊人国产AV| 国产人妻精品一区二区三区秋霞| 秋霞福利网| 日韩AV熟女乱伦| 超碰人妻天天干| 老外又粗又长一晚做五次| av三级电影在线播放| 日本综合色图| 神马久久久久| 热99这里有精品综合久久| 91性网| 久久久久女教师免费一区 | 91久久青青草原精品| 91爱啪| 久久系列| 精品九九| 国产无马在线| 国内毛片无遮挡国产| 久久日韩精品一区二区| 一个国产在线综合网站| 大黄片做爱的大的| 成年人性爱日韩| 亚洲砖码砖专无区2023| 天美麻花大全视频| 欧美精品另类人妖xxxx| 99国产天美| 刺激精品视频| 国产自产22区| 巨乳特殊服务按摩| 91视频精品| 中文字幕精品免费一区二区| 天天弄天天操| 亚洲激情AV| 久久久草成人网站久久久草成人久久久草久久久 | 激情抓乳插进去啪啪啪日韩| 免费无码国产精品v片在线观看| 欧美激情性爱视频网站| 国产午夜无码片在线观看影视| www.人人cao| 涩五月婷婷| 亚州成人A√| 人妻少妇三级| 亚洲,欧美,综合网| 中文字幕三四区| 无码高清操逼网址| 亚洲一本大道中文字幕无码在线| 免费视频无码| 久久国99999| 国产风韵犹存熟妇三区| 97免费视频在线| 美日韩男女操屄视频| 日韩人成网站在线播放| 综合熟女| 亚洲欧洲色情高清| 欧美激情内射| 91丨九色丨国产丨人妻在线 | av黄图片在线观看| 久久免费精品视频免一| 天天日日舔舔| 啊啊啊 在线| 日本成人在线不卡一区二区三区| 亚洲中文一区二区三区| 久久人妻办公室视频| 精品97久久综合| 9久9久| 影音先锋日本乱伦| 欧美在线永久天堂| 91chinese在线| 欧美亚综合色图| 久久久内射良家| 韩国一级做a久久久久| 国产精品久久久久久久毛片1| 亚洲综合五月天婷婷丁香| 诱惑人妻欧美一区在线播放| 亚洲欧美碰碰| 欧美中出1| 中文在线久久字幕| 99re超碰| 久久欧美性爱视频| 久9久精品视频| 国产精品成人午夜福利| 亚洲欧美中文一区二区三| 操少妇很爽av| 天天干夜夜操一区二区| 国产传媒午夜理伦精品| 久久免费中文字幕在线观看| 欧美午夜熟妇黑人精品91| 久久受www免费人成| 久久黄黄| 人人操人人肉久久精品| 三级三久久线久久99久目本WW| 东北老女人的激情视频| 亚欧免费观看视频| 亚洲黑丝在线| 黑白配性爱AV成| 啪啪AV导航| 欧洲射精91| 加勒比综合88| 久久久久婷婷| 中文字幕欧美日本乱码一线二线| 国产乱色国产精品免费视| 免费国产电影一区二区| 久久极品一区二区| 男生通女生屁股| 国产成人精品日本视频| 欧美偷偷网| 日日噜噜夜夜狠狠视频无| 男人的天堂激情| 好吊色综合| 天天日夜夜爽| 国产馆| 国产无马av| 夜夜精品视频一区二区| 8050午夜少妇无码| 欧美极品色| 凹凸久久人人| 囯产精品强| 金莲网址| 夜夜免费视频| 99热只有这里有精品| 在线亚洲丝袜视频网站| 色色香蕉| 欧美人妻一区二区| 99操99| 亚洲欧美91| 激情综合五月天| 粉嫩AV一区二区夜夜| 九九香蕉网| 男人的天堂Va| 美女黄页| 人妻一区二区三区视频| 国产小炒后入式| 中文字幕一区二区三区高清| 操逼无毒无码免费视频| 色综合婷婷| 99在线精品视频| 亚洲欧美一区二区三区在钱蜜桃| 欧美精品69性爱| 国产h片在线观看视频| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 男人天堂电影院| 日韩一999精品| 中文字幕黄片在线| 欧亚揄拍偷拍精品视频 | 秋霞网无码| 91九九九逼| 强奸乱伦Av网| 青青青在线高清视频在线一二三四区| 久久最新免费视频23| 性饥渴少妇av无码毛片| 精品视频久久区| 色综合五月天| 亚洲成人在线高清| 黑人粗大V S日韩女优视频| 成年女人18级毛片毛片免费观看| 超碰地址久久| 久偷拍| 这里只有精品视频在线观看麻豆 | 亚州日韩97| 老师充足的奶水小说| 67194无码不卡| 色999人与兽| 国产精品老熟女一区二区| www.夜夜操| 亚洲男人bt天堂| 久久黄黄| 亚洲欧美日韩有码| 久啪| 天天插天天操天天摸天天射天天看| 青青伊人久久| 夜夜无码| 综合网天天| 亚洲中文字幕精品一区| 成人日韩3| 日韩精品 视频一区二区| 亚洲欧美日韩精品久| 伊人色综合网电影| 亚洲精品一区中文字幕乱码| 成 人 影视 一区 二区 三区 四区 | 日韩少妇无码| 男女日B国产| 岛国毛片手机在线观看| 国产欧美一区激情交| 99精品无码| 4141514逼喷水三级片| 国产精品网站www| 无码人妻系列少妇| 亚洲在线91| 免费少妇一区二区| 91精品啪在线观看国产城中村| 日韩成人免费电影| 91在线限制级| 色原狠狠天天天| 百度百度日本操逼| 大香蕉久| 99久久久无码| 999熟女精品| 啊啊啊啊啊啊好多水| 69少妇一区二区| 日本黄 R色 成 人网站| 狠狠热这里都是精品| 日本97久久| 操逼操2| 国产懂色精品国产av| 黄色污污污污污污网站| 超碰97亚洲区| 加勒比伊人| 亚洲中文日韩精品| 亚洲AO在线| 噜噜噜噜天天狠狠| 亚洲精品国产无码高清| 久久,精品一二三| 桃色人妻在线视频| 搡老女人911熟妇老熟女| 强奸乱伦大香蕉网| 自拍二页| 最新亚洲黄色免费电影| 久久人人看| 伊人久久亚洲中文字幕不卡| 欧美天天综合网| 太久视频| 97 九色| 一级性爱网| 怡红院一区二区熟女人妻| 国产污视频麻豆传媒一区二区 | 成人在线午夜视频一区| 麻豆国产97在线| 99色综合| 96国产精品| 在线综合色| 国产美女91视频| 大肥女高潮bbwbbwhd视频| 国产精品久久久久久久久AV大片 | 欧美亚洲综合色| 美女上床网站| 亚洲图片欧洲图片aⅴ| 插老姨肥穴| 亚洲国产精品成人久久蜜臀| 欧美色五月| 国产怡红院在线| 国产男人又猛又粗又爽| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 天天射网| 97精品久久| 99热精品免费| 91 综合网| 熟女乱伦二区| 久久久涩| 丝袜 亚洲 偷拍| 大香蕉中文201| 中文字幕在线免费观看视频| 久久精品噜噜噜成人看免欧美大片| 中国女人内射6XXXXX| 加勒比海成人视频网| 岛国免费黄色网址| 蜜臀一二三| 欧美人妻一区| 怡红院亚洲怡春院av| 天天操天天舔| 东北女人高潮视频| 亚洲综合网电影91| 少妇综合| 国产精品久久久777| 欧美精品日韩久久久九| 免费成人在线熟妇网| 日本欧美一区二区三区免费| 国产蜜臀在线| 中文字幕在线观看丝袜| 中文字幕三四区| 亚洲色图a| 91丨豆花丨熟女| 人妻无码视频一区二区三区久久| 69精品久久久久中文字幕| 四虎免费在线播放| 久久超碰爱| 欧美日韩啪啪电影| 91亚洲丝袜| 婷婷五月天网| 老外又粗又长一晚做五次| 青青欧洲黑| 色色激情| 思思视频免费看网站| 欧美亚洲国产日本在线,久久精品国产| 亚洲图片欧洲图片aⅴ| 国产97色在线 | 亚洲| 欧美第一页性| 久久精品毛片免费不卡| 亚洲黄色电影| 久久超碰大香蕉| 欧美性爱另类综合| 一级片视频啪啪| 人澡逼| 99热这里只有精| 先锋色眉乱伦资源| 久久一区二区蜜桃| 久久这里| 97精品国产97久久久久久| 在线岛| 久热最新在线杭州| 2026国产精品视频| 中亚av| 大香蕉久| 性无码专区2020| 超碰偷拍| 夜夜嗨绯色| 91爱综合| 日本3级一区二区免费| 欧美18 在线观看| 国产成人精品网站| 小明看看网址| 夜夜中出国产| 色情综合| 九九久久一区二区伦理| 亚洲无码电影久久久| 亚州五月| 九九九精品色乱九九九| 亚洲色图欧美色图制服丝袜| 综合婷婷| 熟女六十路| 老司机天天操| 99精品国产户外露出| 三四中文字幕| 97久久久久久久久久| 中文字幕人妻色偷偷久久皮| 中文伊人大香蕉视频| 日韩欧美俄罗斯A片| 久久欲| 一区二区中文| 色香av| 欧美综合综合| 97人妻人人躁人人玩人人| 国产美女精品| 自拍丝袜美腿人妻| 亚洲91av| 中文啪啪视频| 日韩另类色图| 激情婷婷| 另类小说五月天| 一区二区三区精品视频| 免费观看的黄色的网站| 天天弄天天操| 亚洲一级性爱视频免费看| 国产成人拍国产亚洲精品| 91亚洲色图| 免费试看60秒| 加勒比伊人| 国产又黄又粗又猛大片| 天天看天天日| 玖玖爱在线视频免费观看| 亚洲久久久久| 久久久性| 国产精品分类在线观看| 日韩操p| 国产黄色小视频网站| 亚洲国产精品成人综合| 丁香五六月啪啪| 人妻干天天| 脫衣舞一区二区三区| 在线观看无码三级少妇| 国产精品极品美女视频| 国产乱人伦AVA麻豆软件.| 粉嫩在线一区二区懂色| 柠檬AV导航| 九九无码| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 99re95| 亚洲涩涩| 欧美后入式| 欧美成人精品一区| 欧美片第一页| 国产精品人妻熟女aⅴ| 天天视频综合在线观看视频| 免费A V在线| 五月天婷婷欧美三区| 日本精品人妻少妇一区二区| 欧美日韩国产男人| 亚洲AV不卡在线观看| 99re这里只有| 欧美人人操人人插| av日韩在线观看电影| 亚洲操操操| 男人的天堂2018.| 超碰午夜| 九九九色| 欧美顶级黄色大片免费| 九九成人视频| 日韩精品99久久久久久中文字幕| 天天在线91| 99无码狠狠久久| 亚洲精品影视老司机| 欧苏综合色综合| 欧美韩国你懂得在线 | 日本色色色| 精品一久久久| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 成人久久精品| 亚洲色交| 91爆操视频| 一二三啪啪专区| 97超碰色中文字幕| 老熟女乱伦片| 中文字幕成人| 97bbn| 9999久久久| 久草福利在线资源站| 天天淫人人妻日日色| 亚洲在钱| 精品人妻1区| 欧美亚州手机在线| nuu12国产麻豆精品| 五月天婷婷在线看| 六月天婷婷| 亚洲日本天堂| 色黄污美女啪啪啪免费网站| 九九成人| 97久久精品不卡| 日韩无码三级影院| 国产乱婷婷精品二区三区| 东北老熟女| 日韩成人性爱AV| 中文久久一区| 99视频自拍| 午夜精品99久久久久传媒| av东京热男人的天堂| 国产成人91一区二区三区| 欧美在线视频99| 色综合20p| 久久久久亚洲熟妇熟女| 人妻久久久| 天天碰久久入| 无码丰满熟妇一区二区浪潮AV| 好湿好紧好爽 视频| 一级免费精品| 操逼视频免费日韩无码| 麻豆久久久久久久久丝袜| 蜜臀久久99精品久久久久久婷婷| 国产人妖视频一区在线观看| 99亚洲人人| 亚洲天堂久久久久久粉红视频| 婷婷综合久久| 日韩欧美天堂| 国产激情av女片自拍| 性爱动态120秒| 97欧美日韩| 精品精品精品| 久9爱精品| 柠檬AV导航| 91热色| 欧美视频边做饭边橾| 99只有精品| 久久riav中文精品| 麻豆福利视频导航| 国产乱伦性爱区| 五月婷婷hd| 操日韩第| 欧美日韩国产电影| 日韩在线性爱免费视频| 3571色综合一区二区二区| 亚洲熟女av中文字幕| 欧美九九爱| 欧美97爱| 久久亚洲不卡一区二区三区| 91综合色噜噜| 亚洲欧美色综合| 欧美性生活男人的天堂| 国产极品美女高潮无套在线观看| n1038 一二三区| 午夜视频久久久久一区| 精品一久久久| 国产高清精品福利| 日韩综合色网| 人妻激情偷乱视频一区二区三区| 性色aV一区二区三区噜噜| 丁香六月激情| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 亚洲熟妇A V黑人| 大香蕉123| 夜夜草我| 国产在线精品电影观看| 青青操狠狠撩| 91N综合网| 999久久久久久久精| 91激情| 天天弄欧美| 综合免费无码中文| 色一区二区三区综合| 男人天堂一区二区| 综合伊人网12色| 亚洲熟妇综合久久久久久| 国产视频不卡在线观看| 国产精品熟女一区二区三区| 久操不卡视频| 一本色道无码DVD中文字幕| 亚州欧美总和| 大香蕉久久| 影音先锋日本一区二区| 精品人妻一二三四区视频| 亚洲天堂,男人| 日韩福利综合一区| 精品少妇一区二区三区| 日韩AV电影网站| 99性爱在线观看| 中文字幕在线观| 久久爽爽精品| 免费夜夜爱黄色视频毛片| 无码不卡八戒| 超碰99在线| 欧美精品双插| 骚逼高潮久久精品| 欧美日韩国产高清在线一二三区| 欧美色97| 蜜臀亚洲综合一二三四区| 97色碰| 日本操逼视频导航| 蜜臀久久99精品久久久久久-DVD原版全| 久久m| 日韩av不卡在线观看| 久久成年片色大黄全免费网站| 久久久成人免费av电影| 国产欧美伊人| 中文字幕亚韩| 午夜激情成人在线观看| 外国免费性情大片| 亚洲综合色在线| 美女露胸露奶头| 久热伊人| 亚洲一区二区三区四区视频| 亚洲美女av无码| 最新制服中文第一页| 国产地址二三| 国产污视频麻豆传媒一区二区| 99日韩| 女同性恋久久| 韩国黄片aaaa| 日韩欧美大片免费高清啪啪| 国产三级片在线观看| 91AV天美在线视频| 国产精品视频播放| 亚洲。日韩。欧美| 精品超碰中文在线| 久久五月综合| 成人福利视频网| 一区二区三区免费岛国片| 日韩精品一区二区人人人| 91强在线播放| 久久亚洲不卡一区二区三区| 99啪| 欧洲色色| 97香蕉碰碰人妻国产欧美| 92午夜免费福利视频| 超清福利精品视频在线| 国产精品高清2021在线| 亚洲欧美不卡线| 亚洲激情综合另类| 欧美色涩| 97精品一区二区三区免费| 人妻精品一区二区三区| 久久天堂网| 自拍啪啪视频| 午夜传煤十二区精品| 看看日B真人视频| 热久久无毒不卡| 风骚少妇视频中文字幕| 亚洲。天堂。日本在线观看| 蜜臀av中文字幕| 天天日美女的B| 人人九九精| 老熟妇一区二区三区| 国产一区二区在线看| 三四中文字幕| 91中文字幕制服丝袜免费视频| 久久熟女人| 日本三级久| 欧美一区二区三区大综合| 亚91亚洲网| 99 国产丝袜在线| 天天草AV| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 日本伦乱九九九综合| 伊人五月天婷婷| 操逼日批| 精品区国产区一区二区三区| 亚洲欧洲日韩国产自在线| 婷婷久久大香蕉| 青青草日本无码| 亚洲限制级在线| 无码男人天堂| 2020中文字幕在线| 九九九网站| 97资源视频| 十八岁啪啪视频免费看| 亚洲九区| 激激五月| 99re在线精品78| 久草这里只有精品| 日本欧美中文字幕| www.99中文字幕| 亚洲欧洲国产综合av| 九色 人妻 大香蕉| 青青欧洲黑| 校园春色美腿丝袜 | 精品人妻美妇91job| 亚洲综合色网| 熟女AV一区| 熟妇人妻一二三区免费| 国产精品一区二区手机看片| 欧美成人一级免费电影| 2024人人操人人摸| 亚洲视频一二区| 少妇人妻在线| 日日操免费视频| 激情AV| 丁香五月天婷婷姐| 中日992视频| 亚洲人妻精品一区二区| 亚洲精品一区二区精华| 夜夜草网站| 2025亚洲男人天堂| www.人人摸在线视频| 国产精品ⅴ无码大片在线看.| 特级丰满少妇一级AAAA爱毛片| 女人的久久久| 9999九九九久久久| 亚洲啪啪综合?v一区综合精品区| 日韩探花精品在线视频| 国产一区96在线| 好爽要喷了| 51久久夜色精品国产麻豆| 成人国产精品三级A片| 久草毛片电影怡| 嗯嗯啊啊啊好爽| 九九热只有精品| 国产毛片久久久久久久| 91碰碰| 一区二区播放| 人人操人人摸人人看人人干| 欧美1727免费观看视频| 国内精品久9| 性饥渴少妇av无码毛片| 国内精品999| 亚洲欧洲日韩中文字幕一区| 国产强奸91| 9久久9综合| 夜夜躁狠狠躁日日躁av| 久久久国产亚洲精品系列| 另类av天堂| 青娱乐91| 这里只有精品视频在线| 四虎影视国产精品| 国产精品 久久久精品一牛| 青娱乐 成人娱乐在线| juliaann欧美丝袜办公室| 日本三级网页| 久久综合超碰| 影视综合无码少妇| 蜜臀亚洲中文| 91操操操操| 伊人久久88国产女| 日本亚洲嫩草影院啪啪| 动漫爆乳3D奶水一区在线观看| 久久久久9999妇女| 高清无码一区二区三区| 色眯眯射| 日本成a人v网站在线观看| 日韩亚洲美州欧洲综三区一品在线| 成人青青草原伊人| 超碰人人超在线观看| 天天操熟妇| 日韩欧美亚洲自拍偷拍| 精品久久在线区一区| 超碰95| 久久久久久亚洲精品不卡人乳| 亚洲色人阁| 亚洲AV无码天美传媒一区| 国产91美女视频| 综合五月天| 亚洲欧洲激情卡通另类文学四射小说网站| 日韩国产中文字幕| 国产馆| 久久久久久久 九九九九九九九 | 亚洲系列欧美| 思思性爱| 亚洲综合嫩| 国产欧美第五页| 久久加勒比| 九一综合精品视品av| 久久欲| 91网站视频在线观看| 视频国产精品未满十八禁止在线观看| 在线情色电影 91大| 亚洲αv一区二区三区| 国产午夜福利合集| 五月天精品| 97色在线视频| 97免费视频网| 国产精点久久久成人| 色哟哟av| 97蜜桃综合| 国产精品极品美女视频| 91熟女.com| 青青草操逼逼视频| 成人性爱AV在线免费观看| 99久在线精品99re8a| 爱做久久久久久| 97久久超碰| 裸模AV女优| 亚洲精品中文字幕一区在线视频| 大香蕉伊人75| xxx亚洲午夜天堂| 日本国产高清色www视频在线| 五月天婷婷社区| 亚洲色堂免费视频| 国模不卡| 亚洲影视综合| 欧美72网页| 超碰91在线| 国产精品露脸在线观看| 97精品中文字幕| 欧洲无码一区二区| 青娱乐国产精品| 国产嫩草精品A88AV| 亚洲国产av中文字幕久久| 天天色综合影视网| 四虎影库国产精品免费| 人人妻人人狠人人| 亚洲无码精品AV久久久| 小骚逼被操的爽不爽| 蜜臀少妇一区二区| 凹凸久久人人| 国产97在线 | 亚洲| 91 综合 色| 尻女朋友一夜| 国产浮力影院第1页| 欧美一区二区三区不卡高清视频| 少好三P| 国产原创精品| 五月丁香综合啪啪| 国产欧美日韩一区二区三区| 夜夜骑操视频| 色综合潮| 亚洲欧美一区二区三区在钱蜜桃| 黑人嘿嘿嘿超爽免费视频| 欧美少妇色图| 精品女同一区二区三区| 十八禁一区二区无码观看| 1024久久高清视频| 久久xxxx| 亚洲欧洲日韩国产自在线| 天天肏天天干| 亚洲 欧美 日本 国内 首页| juliaann丝袜大战黑鬼| 天天日日夜夜| 一级A啪啪啪啪| 中国乱伦一区二区| 亚洲欧美高清无码| 久久少妇| 97在线观| 久久午夜神马| 男女性扦B| 亚洲性图91| 日韩人妻精品中文字幕| 91国产精品熟女| 欧美久久九九| 亚洲天堂综合AV| 午夜.DJ高清在线观看免费7 | 亚洲,欧美,综合网| 夜草欧美| 中文字幕亚洲欧美在线不卡| 久久国产视频性吧 | 亚洲nv男人的天堂网| 在线精品福利免费播放| 亚欧视频在线| 国产毛片在线| 色欲天天婬色婬香WWW夜色| 精品视频在线观看| 无码人妻一区二区三区免费九色| 中文字幕精品亚洲熟女| 久久久精| 蜜臀中文无码午夜| 国产后入式在线观看| 97视频在线视频| 日韩八十路老熟女| 亚洲人人夜夜澡人人爽| 96久久久精品| 中文欧丝袜诱惑| 公司1区2区3区精产精| 超碰久草| 欧美色图在线视频少妇| 黄站在线免费观看| 亚洲色图欧美色18直播在线| 干美女人妻| 久热精品在线| 一区二区视频在看| 亚洲日韩国产精品| 亚州综合网| 国产最火爆久久国产网站网站| 翔田千里Av在线| 久久久久久人妻一区精品色欧美| 日韩性爱1级片视频| 国产性爱乱伦AV| 手机看av网站在线看| 宅男91视频在线播放| 性饥渴少妇av无码毛片| 久久国产AⅤ| 国产亚洲精品无码三区| 交换娇妻呻吟声不停中文字幕| 国产在线视频二区| 99re国产精品视频| 亚洲欧美国产成人综合不卡| 免费AV播放| 亚洲熟妇自偷自拍另欧美| 亚州精人品大香蕉| 美女大乳久久久久久久女人18| 日本新免费二区三区| 91啪9色| 国产精品不卡一区二区三区| 毛片99-全集电影手机免费观看完整-B029AV | AAAA欧美日韩| 97在线视频观看| 免费观看成人www精品视频| 国产综合色精品在线观看| 学生妹天天看| 久久久久久裸体| 大香蕉日韩欧美| 男人的天堂VA| 精品玖九九久| 亚洲久久久久| 欧美日韩*字幕一区| 777AV电影| 日韩无码黄色片| 久久九九网|