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

ARTICLE DETAIL

資訊詳情

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

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

三菱FX5U以太網(wǎng)通信:MC協(xié)議3E幀TCP Socket讀寫D寄存器實(shí)戰(zhàn) 簡(jiǎn)介面向工業(yè)自動(dòng)化與上位機(jī)開發(fā)者的三菱FX5U PLC通信客戶端采用C#基于原生TCP/IP實(shí)現(xiàn)MC協(xié)議SLMP/3E幀適合需要快速集成PLC讀寫能力的工控項(xiàng)目。資源共39個(gè)文件壓縮包342KB以7個(gè)C#源碼文件為核心如McProtocolHelper.cs、MainForm.cs另有可執(zhí)行程序、配置文件及調(diào)試支撐文件從界面操作到底層協(xié)議封裝均有完整呈現(xiàn)。代碼覆蓋3E幀ASCII通信、批量讀寫、位設(shè)備X/Y/M與字設(shè)備D/W/B/R操作、八進(jìn)制地址自動(dòng)轉(zhuǎn)換、小端字節(jié)序處理、錯(cuò)誤碼解析及D寄存器IEEE754浮點(diǎn)讀寫并提供實(shí)時(shí)監(jiān)控界面。已有293人學(xué)習(xí)下載可直接運(yùn)行查看效果或提取通信核心類融入自身項(xiàng)目顯著降低MC協(xié)議對(duì)接門檻適合工業(yè)現(xiàn)場(chǎng)調(diào)試與教學(xué)演示。 做上位機(jī)或者工控對(duì)接這么久三菱FX5U的以太網(wǎng)通信應(yīng)該是繞不開的一個(gè)坎。前陣子現(xiàn)場(chǎng)項(xiàng)目里上位機(jī)需要直接讀寫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)境而且不同版本的三菱開發(fā)環(huán)境帶的組件庫(kù)可能存在兼容差異換一臺(tái)電腦部署就容易出幺蛾子。OPC UA雖然通用性強(qiáng)但項(xiàng)目里只讀寫少量寄存器為這個(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è)開啟SLMP連接上位機(jī)直接發(fā)TCP報(bào)文就能讀寫軟元件。這套方案不依賴任何第三方庫(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)換代碼不容易寫錯(cuò)第三后續(xù)如果要把客戶端代碼移植到嵌入式設(shè)備或PLC做主站通信上二進(jìn)制幀的內(nèi)存開銷也更可控。接入側(cè)需要留意FX5U的SLMP連接默認(rèn)需要設(shè)置“允許RUN中寫入”之類的選項(xiàng)通信參數(shù)端口號(hào)、協(xié)議都要在FX5U的CPU參數(shù)里預(yù)先配置好否則報(bào)文發(fā)過(guò)去就會(huì)收到錯(cuò)誤碼。1.3 通信鏈路的整體架構(gòu)這套方案里上位機(jī)作為TCP客戶端主動(dòng)發(fā)起連接FX5U作為服務(wù)器被動(dòng)監(jiān)聽。建立連接后客戶端每次請(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í)器開始的數(shù)據(jù)總長(zhǎng)度監(jiān)視定時(shí)器20x0010等待時(shí)間單位250ms命令20x0401讀/0x1401寫字節(jié)序小端子命令20x0000固定為0軟元件起始號(hào)2低字節(jié)在前要訪問(wèn)的軟元件地址軟元件點(diǎn)數(shù)2低字節(jié)在前訪問(wèn)的點(diǎn)數(shù)軟元件代碼10xA8D對(duì)應(yīng)不同軟元件類型監(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秒。現(xiàn)場(chǎng)如果通信負(fù)載重可以適當(dāng)調(diào)大比如0x0064就是25秒不要設(shè)太短否則大塊讀寫時(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ì)照表讀寫任何數(shù)據(jù)前必須把PLC側(cè)軟元件編號(hào)轉(zhuǎn)成幀里的軟元件代碼和起始地址。這是初學(xué)者最容易栽跟頭的地方。FX5U常見軟元件代碼如下軟元件代碼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這類十進(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ù)倍開始比如X0、X10、X20這種??缱诌吔缱x的時(shí)候數(shù)據(jù)會(huì)錯(cuò)位現(xiàn)場(chǎng)要算清楚。3. 實(shí)操?gòu)牧愦罱═CP通信客戶端3.1 PLC側(cè)參數(shù)配置上位機(jī)寫代碼前PLC側(cè)必須把SLMP連接先開通。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連接和讀寫請(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開始的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。而前面代碼里寫頭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í)器開始的長(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。上面的代碼我原稿寫錯(cuò)了寫代碼時(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é)束代碼開始的長(zhǎng)度9-10: 結(jié)束代碼小端11..: 數(shù)據(jù)內(nèi)容字單位每字低字節(jié)在前所以ReadFull應(yīng)該讀9字節(jié)頭部而不是12。我需要統(tǒng)一修正。3.4 構(gòu)建寫請(qǐng)求幀與響應(yīng)解析寫入請(qǐng)求與讀請(qǐng)求的區(qū)別在于命令變?yōu)?x1401數(shù)據(jù)部分最后多出要寫入的字節(jié)數(shù)組。比如寫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ō)明寫入成功不為0就按錯(cuò)誤碼去查手冊(cè)。讀響應(yīng)時(shí)數(shù)據(jù)體從第2字節(jié)開始才是寄存器值每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開始讀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開始。上面代碼結(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. 常見問(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未開啟SLMP連接在CPU參數(shù)中開啟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)聽才會(huì)真正啟動(dòng)。我有一次改了端口號(hào)后只下載參數(shù)沒(méi)斷電重啟結(jié)果程序一直連不上折騰了半天才發(fā)現(xiàn)是這個(gè)原因。4.2 網(wǎng)絡(luò)抓包是排障利器做TCP通信調(diào)試一定要學(xué)會(huì)用抓包工具。Wireshark打開后過(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)一特別容易混淆。寫代碼的時(shí)候用斷點(diǎn)把所有地址值打印出來(lái)核對(duì)一遍能省下很多現(xiàn)場(chǎng)排障時(shí)間。第三個(gè)坑是監(jiān)視定時(shí)器設(shè)置不合理。默認(rèn)值0x00104秒對(duì)常規(guī)讀寫夠了但如果一次讀寫點(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這類命令逐層排查網(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上。我用類似代碼對(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建議在客戶端類里抽象一個(gè)軟元件映射接口不同的PLC型號(hào)實(shí)現(xiàn)不同的地址轉(zhuǎn)換器。這樣上層邏輯完全不用改切換設(shè)備時(shí)只換一個(gè)工廠類即可。5.2 與組態(tài)軟件和觸摸屏通信的差異觸摸屏比如三菱GOT、昆侖通泰、威綸通與PLC通信時(shí)通常用的是廠商各自的驅(qū)動(dòng)底層雖然是類似MC協(xié)議的報(bào)文但通信細(xì)節(jié)是封閉的。自己開發(fā)上位機(jī)的好處是完全可控壞處是所有通信邏輯都得自己維護(hù)。項(xiàng)目里如果用組態(tài)軟件它的通信組件封裝的很好但要做定制邏輯時(shí)反而掣肘。我個(gè)人的經(jīng)驗(yàn)是產(chǎn)線設(shè)備少、邏輯固定用組態(tài)軟件快設(shè)備種類多、要做復(fù)雜聯(lián)鎖邏輯或性能優(yōu)化時(shí)原生Socket方案更靈活。5.3 多套邏輯層面的健壯性設(shè)計(jì)通信代碼寫完不是終點(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í)能快速定位。我見過(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通信里讀寫M、X、Y這類位軟元件時(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)太常見了代碼如果不能在異常情況下自動(dòng)恢復(fù)再完美的正常邏輯也只是空中樓閣。這套做法我在好幾個(gè)項(xiàng)目里反復(fù)用過(guò)從FX5U擴(kuò)展對(duì)接其他PLC也只是改參數(shù)的事。通信底子打扎實(shí)了上層隨便怎么折騰都穩(wěn)。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产9熟妇视频网站| 2018色综合天天操| 国产成年精品高清在线观看91| 亚洲欧洲成人在线电影| 亚洲无码成人精品| 无码国产精品午夜不卡(| 极品尤物在线观看| 91N五十路| 久久的网站啊啊啊啊啊| 91丝袜美腿片| 中文字幕一二三| av网站在线看| 黄aaaaaaaaaaaaaaaaaa色网站| 日韩人妻无码专区| 日本黄色精品专区网站| 亚洲综合中文字幕有码| 一区二区首页| 丝袜高跟澳门91视频| 91天美免费| 国产精品96| 家庭乱伦国产| 久久久com| 97在线国产精品| 激情视频一二三| 爱丝福利| 日本伦乱九九九综合| 中文人妻av高清一区| 色婷婷五月综合激情中文字幕| 精品少妇后入一区二区三区四区人妻巨乳| 中文字幕-区二区三区四区视频中国| 久久久免费懂色| 美欧色综合| 草草影院最新网址| 2010男人的天堂| 美女主播色欲91抠b在线播放| 久久久天堂| 丰满人妻区一区二区三| 殴美在线AⅤ| 亚洲精品99| 素人无码中文字幕| 夜夜黄| 五月丁香六月综合缴清无码 | 3p国产色噜噜一区| 麻豆福利视频导航| 一级黄色性爱裸体视频| 荡小穴在线观看| 爱妻综合网| 四虎国产精品永久在线囯在线| 久干9操| 品亲网欧美品亲网| 毛片一区二区| 爱爱60秒免费视频| 少妇无码999| 亚洲一卡2卡3卡4卡乱码网站 | 日日干天天干夜夜爽| 强奸xx国产| 日韩av色图综合| 精品人妻15区| 国产伦乱91| 天天舔九色婷婷| 91在线视频国产网站| 开心五月婷婷激情| 懂色av中文字幕| 久久男人精品| 精产国品一区二三产品| 精品人妻免费观看| 午夜性| 日韩免费三级黄片电影| 97激情97激情| 内射老妇BBWX0C0CK| 天天综合亚在线| 怡红院成人视频| 黄色大香焦1级‘′‘| 国产第二页| 青青伊人这里只有精品| 91九九九吃| 乱论91| 超碰欧美在线欧美| 爱av免费| 久久精品中文| 国产色呦呦| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 一区中文字幕二区日韩| 中文字幕国产在线天堂| 日韩97视频!在线| 天天激清| 蜜桃久久久久久久久久久久| 四虎影视永久在线免费| 亚洲天堂日本| 欧美日韩另类在线播放| 亚洲综合贴图91 | 影音先锋新男人| 亚洲国产一区二区三区在线| 日本成人免费一区二区三区| 国产污视频麻豆传媒一区二区| 久久久久久久强迫| 国产熟妇一区二区| 人妻中文字幕日韩电影| 午夜传煤十二区精品| 亚洲丝袜二区| a片久久久久久久久久久久 | 秋霞午夜视频一区二区| 色综合尤物| 日韩一级二级三级| 91蜜臀熟女| 日婷婷| 99精品人人爽| 人妻啊啊人妻啊啊| 91精品无码久久久久久久| 中文字幕人妻色偷偷久久皮 | 一级@啪啪视频| 亚洲精品 欧美精品| 国产无码一二三区| 精品九九| nuu12国产麻豆精品| www99热| 神马久久午夜| 大香网伊人久久综合网eew| 小视频国产| 91天堂丝袜美腿| 五月久久HDAV| 久久丁香| 精品国产人成在线| 大香蕉中文在线| 爱干爱射网啊啊啊| 人、人、摸,人、人、草| 风月影院十八禁| 欧美夜色| 99re这里只有精品中心播放| 在线看片国产精品每日更新| 超碰91在线| 欧美色综合图片| 人妻少妇色综合| 国产无码三级视频在线观看| 久久亚洲日韩国产欧| 开心五月天激情网| 日韩国产成人自拍视频| 国产高清亚洲日韩一区| 97爱亚洲| 天天操福利视频综合网站| 欧美97日韩| www..com操老师| 三四中文字幕| 夜夜操夜夜高潮夜夜爽国产精品区| 青青草日逼视频| 国产1769在线| 久久久精品视频免费观看| 亚洲清纯综合| 岛国不卡超碰护士AV在线播放| 盗摄 精品 另类 一区| 岛国色情视频在线观看| 日本不卡二区| 日韩欧美加勒比| 懂色av中文字幕| 国产久久一区二区午夜| 日本操BAV| av毛片aaaaa免费看| 情色五月天就去干| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 玖玖爱影院| 97超色| 人妻熟女一区二区三区在线| 国产少妇肉丝在线观看| 国产亚洲综合欧美一区| 国产女乱淫真高清免费视频| 色哟哟 日韩精品| 97伦乱| 91中文精品日韩欧美在线| 中文字幕高清20页视频| 成人日韩欧美| 精品人妻美妇91job| 日韩激情啪啪啪| 丰满人妻被猛烈进入中| 久久69| 欧美 亚洲 91| 国产60区。| 99超碰色| 九九无码久久精品视频| 大香樵伊人网| 丁香五月影院| 国产欧美第五页| 色五月婷婷中文字幕| 久久久国产三级黄色片| 亚洲乱伦图片视频| 亚洲人妻在线一区| 强奸抽插av| 偷拍偷窥与盗摄视频专区| 亚洲欧美另类图片| 久久天天摸| 婷婷五月色| 啪啪91| 亚洲AV无码乱码在线观看性色| 在线强奷到舒服的无码视频| 91蜜桃婷婷狠狠久久综合9色| www.色婷婷色综合| 99热这里只有精品9| 欧美综合区| 婷色五月| 日韩在线女优天天干| 亚洲免费精品一区| 日本免费一区二区不卡 | 久婷婷一区| 婷婷色香| 激情黄色五月天| 亚洲色资源| 欧美激情精品久久久| 97欧美色综合| 91精品导航| 国产91 丝袜在线播放 | 加勒比AV网| 中文字幕AV片| 大香蕉手机在线| 国产91美女视频| 日韩小电影| 欧美爆乳精品一区二区| 岛国黄| 岛国激情视频在线观看| 中日韩熟女| aaa一级黄片| 伊人久久88国产女| 欧美老妇综合网| 欧美夜夜骑视频| 天天干1区2区在线| 蜜臀久久99精品久久久久| 国内偷拍精品一区二区| 激情专区综合| 东京热av男人的天堂| 午夜福利区| 91美女看B| 精品一区二区三区18| 综合夜夜| 中国国产精品一区视频| 美女露胸露屁股| 噜噜噜久久亚洲精品色情| 亚洲做性| 日韩欧美大力操| 黄色网址在线免费观看| 青青操97| 97中文综合| 色激情综合网站| 国产欧美精选激情视频| 俺去也婷婷| 国内操逼视频二区| 日骚逼视频| 国产精品熟女九色九色蜜臀| 五月婷婷六月激情| 久久久国产精品亚洲精品| 久久欧美激情| 国产麻豆福利av在线播放| 91人妻爽爽人人做人人澡| 中文字幕日韩精品一区二区三区| 综合自拍| 啪一啪免费视频| 殴美牲| 免费97视频| 天天综合网网欲色| 性爱av在线免费观看| 欧美五区| 操国产逼| 人妻少妇蜜桃视频欧美一区| 91久久久久| 性爱视频啪啪啪啪| 狠狠搞 亚洲91| 欧美92| 日韩人妻免费精品| 欧美在线大香蕉| 91少妇人妻| 日韩精品在线观看网站| 日本新免费二区三区| 超碰97精品| 熟女突然公开看18禁影片| 国产欧美一区二区| 中文字幕视频二区| 97久久视频| 麻豆精品三区视频| 色y情视频免费看| 国产九月婷婷| 91制服丝袜| 手机在线观看不卡无码av| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 久操免费电影| 顶级丝袜熟女一区二区三区| 美欧老女人97| 18禁无码永久免费无限制| 99成人| 33044男人的天堂深夜备| 国产毛片在线| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 97在线日韩中文字幕| 欧美日韩不卡a片| 亚洲精品一二三四区| 大奶的诱惑| 超碰免费在线| 欧州91高潮| 女同在线视频一区| 日韩三级伊人| 麻豆av一区二区三区| 中文字幕乱妇免费视频| 亚洲日产专区| 91这里只有精品| 狠狠躁AV| 色哟哟 日韩精品| 大香蕉伊人亚洲| 97精品在线视频| 这里只有精品视频| 亚洲熟女av中文字幕| 日韩中文字幕精品一二三事国产精品| 色呦呦呦在线观看视频| 夜夜国自区| 欧美日韩第一页| 欧美色图片色哟哟| 床上啊啊啊一区二区三区| 色香综合| 你草精品在线视频| 国产精品女生av| 91在线/欧洲| 1769精品一区二区三区| 天美传媒AV在线| 英伦大奶子熟妇吊带| 欧美v亚洲v综合v国产v妖精| 在线小说视频一区| 日本九九九九| 中国一级αV| 国产欧美日韩臀| 极品尤物自安慰| 啊啊啊男女| 污啪啪啪视频| 久久综合国产精品国产| 国产精品视频在线播放 | 蜜桃视频精品一区二区| AV中文在线可看| 色色九区| 亚洲精品美女操逼| 天天躁日日躁XXXXYY| 国产精选视频| 五月天黄色av| 十八禁视频一区二区| 91人妻少妇| 99re9在线| 日韩欧美俄罗斯A片| 超清福利精品视频在线| 午夜毛片亚洲精品片国产久久久| 91在线丝袜| 日本孕妇孕交| 99热8| 秋霞福利网| 中文字幕一区二区三四五区日日骚| 7月婷婷综合| 亚洲色欲一区二区三区| 日本加靬比网站发布页| 亚洲情色电影网| 97资源制服丝袜| 18禁超污无遮挡无码免费网| 欧美性爱一级操| 综合色色网| 成人 日韩欧美一区| 久久久久精| 岛国AV一区二区电影| 国产精品suv一区| 国产中文字幕在线| 69视频入口| 亚洲第一狼人丝袜美女另类| 国语国产操逼伊人AV网| 玖玖婷婷五月天| caopeng97| 少妇精品久久| 国产欧美日韩女同性恋ww喷水精品 | 婷婷五月天影院| 在线观看高清AV| 骚日日av| 日本一级二级三级网站| 亚洲宗合网| 国产精品永久免费10000| 夜夜综合| 欧美性生活综合| 一区二区三区日韩欧美| 亚洲人妻一区二区三区| 免費人妻夜夜爽天天爽爽一区| 国产综合久久久麻桃个| 丝袜天堂| 我爱搞逼综合网| 久久精品国产久精国产| 97精品人妻一二三四| 日本一区不卡| 天堂中文日本在线观看| 五月大香蕉| 国产久久视频| av橘色网站| a级免费在线观看| 91人妻做a观看视频| 人妻av在线| 国产视频一区二区在线| 亚洲亚洲亚洲天堂天堂| 一起草三级AV电影在线观看 | 天美传媒婬乱在| 1769一区| 五月丁香狠狠爱| 操人妻逼91| 亚洲黄色AV电影| 天天干夜夜一操| 久久熟女人| 东京热大香焦| 69视频入口| 自拍大香蕉乱插| 97久精品| 日韩无码人妻中字久久三区四区| 国产欧美精选激情视频| 九色 人妻 大香蕉| 久久9999| 国产辣妈在线视频福利| 中文字幕精品资源在线| 在线观看啊啊啊啊啊| 国产超碰AV在线精品| 少妇国产不卡| 超碰色综合| 亚洲免费人妻在| 久久AV无码1区2区3区| 大干人妻| 日本一级一级一级一级| 精品无人区麻豆乱码1区2区图片 | 亚洲欧美精品久| 啊啊啊啊操死我| 久热这里| 2017天天操天天日| 92午夜免费福利视频| 天天干人妻| 伊人一区二区在线播放| 伊人色综合超碰| 国产精品美女久久久久久网站| 操操啪| 呻吟 欧美 日本 中出| 人妻少妇被猛烈进入中| 国产怡红院| 日韩乱伦AⅤ| 加勒比aⅴ| 久久精品72| 欧美很很操视频| 美欧色综合| 五月天色图| surenchaopeng| AV一起草在线| 另类专区加勒比| 无码少妇精品一区二区60岁老人| 五十路熟女人妻一区二区三区四区五| 97操操| 色欲天天综合久久久无码网中文| AV色五月| 天天综合影院91| 91c色| 欧美色网络| 超碰综合色| 9久久精品| 亚洲AV成人精品网站在AV| 欧美一区二区三区成人性生活| 日韩中文字幕二区| 天天看精品动漫视频一区| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 天天做天天爱天天高潮| 久久久久亚洲熟妇熟女| 久久久精| 久久一二三四不卡 | 久久久久921| 天天插天天操| 成人蜜乳小视频网站| 亚春色色| 午夜AV污污污| 四虎免费看黄| 久久久久中出| Julia在线播放亚洲久久| 曰韩操B| 欧美真人抽搐一进一出gif| 最新9久久久9免费视频| 欧美A√综合网 | www.欧精品| 五月丁香影视| 91亚·色| 99999精品成人| 亚洲AV无码久久精品蜜桃小说| 国产九九久久久精品| 久久精品免费| 欧美 传媒 麻豆 日韩 偷拍| 免费的很黄很污的全部视频| 亚洲男人天堂手机版| 亚洲在饯| 亚洲欧美综合| 青青青国产手线观看视频2| 日本精品五区| 国产三级在线现体验区| 无码高清国产AV| 亚洲中文一区二区三区| 色噜噜人妻丝袜a∨先锋影 | 97在线观看视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 99精品人妻| 精品78| 中文字幕日韩专区精品系列| 国产在线综合网| 国产精品麻豆成人av| 国产又黄又爽| 青椒国产97在线熟女| 天天视频综合在线观看视频| 亚洲无套久久嗯嗯| 青青草玖玖爱| 激情小说激情视频| 97在线视频观看网站| 日本免费人成视频播放120秒| 久久精品国产亚洲AV片多多| 大香蕉五月天| 91少妇香蕉久久精品| 欧美日韩狠狠爱| 一级人妻性爱视频| 亚洲乱熟女一区二区三区大香蕉| 人妻天天操天天爽视频免费| 国产诱惑| 成 人片 黄色大片| 99爱在线视频| 丁香7月婷婷| 高清国产无码av| 日韩欧美视频青青| 欧美情色男人的天堂| 日韩av电影网站| 91人妻少妇| 国产 无码 一区二区| 五月丁香六月婷| 天天摸夜夜操视频| 偷拍 亚洲 欧美| 中国乱伦一区二区| 久操高青| 欧美日韩亚洲天堂| 久久精品国产免费观看99| 首页亚洲国产高跟丝袜诱惑视频 | 久久综合久色欧美综合狠狠 | 欧美最婬乱婬爆婬性视频 | 欧美91网站| A一区片| 国产久久一区二区三区野外在线| 精品九九| 2019AV天堂| 亚洲免费成人在线高清无码视频| 久久久av爱| 久久美女国产| 青青青草原| 婷婷香蕉| 久久永久无码人妻视频| av午夜玫瑰| 日本一区二区不卡精品| 一本久久久精品| 青青草日韩无码| 三级日本一区二区三区| 麻豆精品三区视频| 九九色图| av一区二区三区不卡| 中文字幕精品久久久久人妻红杏ⅰ| 极品美女福利在线观看| 搡老女人老91二区| 亚洲人久久久网| 日韩人妻资源在线看| www.亚洲黄色| 国产后入式在线观看| 欧美综合第一| 色婷婷丁香| 家庭乱伦国产| 久久青青草在线视频| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 91无遮挡| 精品伊人久久久大香线蕉小说| 国产狂喷潮在线精品| 欧美日日夜夜| 五月天春色激情网| 99久re热视频精品98| 精品国产乱码久久久久久日本公司| 亚洲各类熟们中文字幕| 亚洲欧美碰碰| 一区二区三区精品黑丝白丝酒店对鸡| 玖玖爱视频网站| 五月天丁香| 亚洲一区二区av| 久久亚洲不卡| 日本欧美中文字幕| 色色99| 樱花蜜乳av| 欧美青青视频| 91成人精品在线播放| 亚洲情色综合网| 99热精品在线| 亚洲欧美高清无码| 蜜桃精品一区二区三区ww | 婷婷性网| 骚逼一区二区| 欧美片第一页| 欧洲亚洲人妻无码中字久久三区四区| 熟女人妇一区二区三区| 亚洲激情视频| 亚洲的天堂网| 久久久久9久久久久| 欧美一级国产一级| 亚洲视频精选| 激情视频一二三| 国产亚洲综合欧美一区| 91欧洲国产成人久久精品网站| 69久久久久久久久久久久久| 97人人草| 日本东京热加勒比久久| 色吧91| 大香蕉日韩欧美| 中文字幕88av在线| 91精品综合久久久久久五月丁香| 亚洲天堂男人天堂网| 啊啊啊啊啊在线观看网址 | 国产成人无码网站在线视频| 欧洲精品欧洲精品| 久久6热视频免费观看| 国产尤物在线三区| 东京热精品97综合网| 精品妇女一区二区三区| 日本丝袜人妻内射| 污色区网站| 人人妻天天做天天爽| 精品福利视频| 精品在线观看视频在线| 日韩欧美大片免费高清啪啪| 人妻精品一区一区三区蜜桃91| 99999精品视频| 久久9视频| 久久成年片色大黄全免费网站| 色综合1991| 欧洲无码一区二区| 日本精品中文字幕视频| 人妻三级在线中文字幕| 亚洲 欧美 日韩 国产一区二区| 歐美性天天| 在线视频日韩欧美国产| 欧美一区二区男人天堂| 国产高清成人免费视频| 中文字幕后石码四区五区| 天天影视综合色| 91少妇通奸网站| 97在线观看免费视频l| 国内精品不卡无毒99999| 伊人综合色网| 亚洲另类在线观看| 日本99久久| 日本午夜精品理论片A级APP发布| 青娱乐国产盛宴视频| 欧美18 在线观看| 亚洲国产精品成人久久蜜臀| 老熟女91视频| 日韩啊V| aaa亚无码专区| 亚洲国产精品无码AV久久| 亚洲欧美在线观看无码| 五月婷婷激情综合| 丁香五月性| 免费网色网站| 国产精品久久久久av| 99只有精品| 久久久艹艹艹| 久操大香蕉手机视频在线看| 国产第25页在线观看| 日韩国产欧美伦理在线| 园内精品自拍视频在线播放| 看一级特黄a大一片| 8050无码八戒| 另类视频在线| 久久大香蕉手机高清| 日韩人妻精品久久久久| 五月婷色| 96精品在线| 91亚洲不卡一区| 不卡在线一区,精品一区二区三区中| 伊人影院中文字幕| 天天看人人操屄犊摸阴| 日本精品久久久久久久| 啊啊啊啊嗯嗯在线久久久| 91亚洲网站| 亚洲最新Av| 很很操在线| 亚洲日本激情| 国产亚洲精品第一最新| 天天综合网91| 国产一区二区三区免费视频在性观看| 欧美成人黄网色网站| 婷婷五月天成人网| 亚洲日本韩国极品一区二区| 久久超碰爱| 日本黄页视频在线观看| 日韩av在线精品观看| 婷婷五月天AV| 色综合1991| A级在线视频| 在线a v| 97色干| 久久久精品国产亚洲伊人| 亚洲蜜臀懂色| 亚洲人成在线放东京热| 国产 热久久久久国产精品| 97中文超碰| 超碰精品人妻狠狠干| 97天堂| 岛国视频免费在线观看| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 一区二区三区高清| 干干干天天| 大鸡吧尹人在线| 激情小说激情视频| 免费久久精品麻豆一区二区av| 美骚妇av高清在线| 伊人热综合| 亚洲 91 在线| 大鸡巴久久| 欧美很很操视频| 亚州图片第一页| 天天综合~91| 国产精品自在自拍视频| 国产亚洲色婷婷99精品91| 无码粉嫩白虎一线天b区| 无码在线亚洲| 黄色片G G G| 污污汅18禁网站在线永久免费观看| 干b在线性社区| AA级电影三区| 蜜桃色院一区久久 | 十八禁成人网站在线观看| juliaann丝袜大战黑鬼| 久久久久久电影| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 欧美性爱一区| 超碰无码加勒比| 精品人妻一区二区三区视频| 天天色天天干天天射| 人妻五十路在线| 一区二区三区成人高清视频| 麻豆人妻少妇在线免费观看| 成人无码电影在线观看网| 国产超碰国产97| 2025年A片视频精品| 人妻精品4K4K4K4K4| 国产AAAAAABBBBB| 亚洲熟女一区| 午夜精品视频777| 一本久久久精品| 久久久久久人妻| 日韩在线观看三级电影| 欧美97日韩| 激情网色| 亚洲色图8| 超91综合网| 免费国产电影一区二区| 天美传媒av在线| 日本中文字幕在线电影| 神马午夜久久| 爱爱动态试试看6 0秒| 成年人黄色小视频网站| 91 天天综合| 久久婷婷色综合一区二区三区| 久久久久国产精品久久久| 久草精品国产蜜臀| 久久一区二区高清免费| aV中文麻| 大香蕉AV丝袜| 99久久精品无码一区二区| 水多多映视AV| 色香天天| 在线观看啊啊啊啊啊| 久热久操| 农村妇女精品一区二区| 欧美综合骚| 国产欧美日韩在线不卡第一页| 久久国产熟女影院| 精品对白久久不卡| 舔舔啊| 亚洲熟妇极品| 美国一区二区免费视频| 51久久夜色精品国产麻豆| 超碰色大香蕉| 中文字幕日韩人妻视频一区二区三区交换夫妻 | 亚洲综合中文字幕有码| 蜜臀一区二区三区在线| 东方亚洲在线操逼天堂| 玖玖综合色| 91色艳| 91亚洲黑人| 狠狠色狠狠色狠狠五月| 女欧美一区二三区| 热99这里有精品综合久久 | 99自拍B亚洲| 欧美在线视频99| 欧美一区二区三区日韩| 国产亚洲美日韩Aⅴ中文字幕无码成人| 人妻天堂网| 久热这里| 日韩欧美三级| 校园春色美腿丝袜 | 91人妻人人妻| 床上啊啊啊一区二区三区| 日韩中文字幕在线视频观看| 国产特级毛片AAAAAA高潮流水| 试看日韩黄片| 日本一区不卡| 日韩无码人妻| 人妻一区二区三区四区视频| 亚洲久9| 天天干18禁| 亚洲精品99999| 久久久日本电影| 男人的天堂免费| 91中出| 欧美不卡在线一区二区| 亚洲 欧美 制服 另类 自拍| 国产精品免费1区2区视频| 男女啪啪网站免费视频| 国产超碰AV在线精品| 亚洲 小说 欧美 激情 另类| 超清福利精品视频在线| 黄色电影在线播放综合网站| 内射小黄片| **一级毛片国产| 污到发麻的视频 国产| 91精品又粗又猛又爽| 91狠狠综合网| 激情综合网五月婷婷五月天| www久久99| 97久久超碰国产网站| 亚洲偷91色| 国产又黄又粗又猛大片| 伊人一区二区在线播放| 嫩草一区二区在线观看| 97色碰| 久久久久久久久久久999| 四虎免费视频| 97干在线| 无码在线亚洲| 高树玛利亚无码流出| 精品中文一区二区| 老熟女91视频| 九九久久一区二区伦理| 韩国久久97| 亚洲色91C| 精品九九九九九九| 国产亲戚伦亲在线| 人人色97| 天天综合站| 另类TS人妖一区二区三区| 性爱av网站| 91亚州欧美| 麻豆一区二区AV天美| 激情抓乳插进去啪啪啪日韩| 91校园春色长篇| 制服丝袜第二页| 囯产精品久久久久久久久久梁医生 | 91网站在线播放| 中文字幕99999| 欧美劲爆视频一区二区| 国产91精品久久久久久久网曝门| 最新制服中文第一页| 日人妻视频91| 熟女一区二区三区| 日本视频在线中文字幕| 欧美亚洲丝袜人妻制服99| 天堂网 主播 亚洲| 操操逼视频| 久久久久久久久久久久久9999| 色婷婷一区二区三区久久午夜成人不| 岛国1区2区3区在线观看| 亚洲 91 在线| 蜜臀网 一区| 操人无码| 九七超碰人人乐| 97久久久| 99久在线精品99re8蜜桃| 亚洲AV无码国产精品久久久久| 中文字幕人乱码中文字的预防方法 | 丁香五月婷婷啪啪| 高凊专区人人操| 91欧洲国产成人久久精品网站| 青青草原人妻| AV天堂国产| 色欲色香天天天综合网www-亚洲综合国| 免费一级黄色录像影片| 久久r精品| 高清国产av无码| 亚洲āv网址在线观看| 亚洲精品 欧美精品| 久久婷婷色| 很很操在线| 97精品在线| 91男女啊啊啊| 福利操逼| 蜜桃天美传媒AV一区二区三区| 久久久蜜桃一区二区三区| 日本性交操一区二区不卡系列| 中亚黄色三级大片| 久久精品国产精品亚洲艾通辽熟妇 | 超碰日本97美女人妻人人玩人人爱| 97超碰人妻| 亚洲诱惑天堂 | 97色操| 樱花草社区www中国| 天堂种子在线www网资源| 一级性爱视频免费观看| 五十路成人在线视频二区三区| 人人天天欧洲| 日本成人在线不卡一区二区三区 | 国产日韩在线播放av| 日本布卡一区二三区| 极品粉嫩少妇视频| 精品四五区| 99热欧美| 日韩一级成人毛片免费观看 | 熟女AV一区| 中文字幕99999| 色婷婷综合网站| 亚洲自拍欧美色综合| 青娱乐日韩无码| 国产91av在线播放| 国产精品农村妇女| 欧美后入视频| 亚洲 欧美 中文 日韩超碰 | 亚洲天堂一区二区久久| 精品无码少妇| 亚洲丰满很很操| 爱啪精品一区| 久久久亚洲精品电影免费看| 国产免费永久精品无码| 精品人妻中文字幕4399| 婷婷久久五月综合激情| 97碰碰色| 欧美欧美少妇| 97国产精选| 婷婷九月丁香| 亚洲脚交| 999热这里只有精品| 嗯嗯不要 视频| 色色97爱| 超碰美女97| 超碰美国| 精品99999| 亚洲精品久久久久毛片A片拉屎 | 91在线视频免费中出| 99自拍视频| 99亚洲天堂| 国产 码在线成人网站| www.色婷婷| 青青草原狼av| 91日日| 青青草狠狠撸| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 99精品丰满人妻无码| 亚洲做性| 老女人综合网| av在线播放国产一区| av天堂天堂av日韩| 静品嫩模一区二区| 亚洲激情网一二三四区| 91欧美长吊| 日日玩天天干| 色欧美综合| 2019久久久久久久久福利| 777奇米影视777四色| 欧美黑人猛交春色影视大全| 精品乱码久久久久| 国语精品av| 青青免费在线视频一区| 亚洲AV免费在线| 精品无码一二三四区| 992大香蕉| 国产家庭乱伦性爱视频| 国产乱码精品一区二区三区四川| 丝袜熟女2P| 欧美人妻一区二区| 中文字幕黄片在线| 免费AV播放| 精品乱码久久久久| 91精品91久久久久77777俄罗斯老妇姓x| 日韩黄色av中文字幕| 插日本熟女视频| 精品国产99| 精品在线蜜臀| 国产情侣自拍在线播放| 情色五月天久久久| 好吊色青靑草| 无码在线亚洲| 女人的天堂大香蕉网| 午夜男女爽爽爽影院视频| 天天综合色| 亚洲乱熟女一区二区| 秋霞成人一级在线观看| 玖色AV| 91N综合网| 入口操逼网站| 五月丁香激情综合| 啊啊啊啊免费视频| 免费综合亚洲中文| 欧美日韩亚洲电影| 欧美亚洲素人制服精品| 熟妇人妻一区二区三区| 亚洲久9| 女人午夜视频777| 国产蜜臀在线| 日韩欧美字幕亚洲一区二区| 日韩天天本| 奇米狠999| 久久伊人网视频一区二区三区| 日韩欧美加勒比| 久久亚洲不卡| 好属操| 91亚洲不卡一区| 69国产对白刺激| renqi久久久久久久久久久久| 天天操天天舔| 亚洲 图片 综合91| 中文一区二区三区影院| 北京专精特新企业招聘信息| 国产品精品自在在线午夜免费| 中文一区二区婷婷视频| 91精品成人| 乱伦熟女专区| 啊啊啊慢点| 亚av顶级裸体一区二区三区四区五区 | 婷婷深爱五月| 一区二区无码视频| 殴美,日韩国产伦精品| 中文字幕一区二区视频在线观看| 91在线页| 澳门黄片一香蕉视频| 久久99999| 黑人狂躁日本妞一区二区三区| 精品九九九九九九九九九| 强奸a片网| 欧美劲爆第一页| 免费看美国人人爽,人人操| 91啪啪| 99re6国产精品99re在线| 久久久精选| 任你爽视频| 成人性交午夜免费片| 欧美午夜视频| 五月天久久久| 97国产精品一区| 99热99re超碰精品| 综合欧美激情网| 久久久久少妇| 天天操av懂色| 丁香色狠狠色综合久久小说| 超碰精品在线| 人人妻人人爽| 91 刺激在线| 蜜臀久久99精品久久久久久无删减 | 高潮毛片无遮挡高清免费| 精品一区二区三区蜜桃臀赵总 | 秋霞蝌科网日本一区| 亚洲天堂第一页| 亚洲古典另类欧美在线| 五十路三区在线| 男人的天堂日韩| 久久97资源 网| 淫荡熟女乱伦网| 少妇内射www在线观看视频| 91看黄片| 免费啊啊啊| 九月丁香综合网| 噜噜噜噜天天狠狠| 欧美成va视频网站| 91热| 亚洲吊色| 超碰成人最新最好看| 2020中文字幕在线观看| 亚洲综合性网址| 国产精品视频白浆免费| 青青草导航在线视频| 静品嫩模一区二区| 欧美性xxxxx狂欢| 日日A∨| 在线a v| 亚洲女优有码无码高清| 99自拍视频在线观看| 超碰在线一区| 欧美第一页性| 久久久久久电影| 深夜激情| 亚洲精品国产AV天美传媒| 亚州成人A√| 婷婷五月天av| 超碰人妻久久人妻中文97| 精品人妻视频一区二区三区蜜桃视频| 中文字幕艹艹| 青青草精玖玖69精品| 校园春色欧美| 亚洲成人AB| 精品999一区二区| 欧洲特黄毛片免费看欧洲毛片| 日韩中文字墓| 欧美一区二区三区入口| 日本操BAV| 亚洲不卡AV在线| 蜜臀色乳| 日本久久久久久久久久| 9美女超碰在线免费观看| 91色人| 亚洲精品少妇| 免费观看日本操逼视频| 91免费看一区二区三区 | 啊啊啊啊啊操我视频| 天天欧美色| 97超碰热线| 4虎在线视频| 亚洲熟女乱综合一区二区三区 | 欧美性五月| 五月开心久久AV官网| 麻豆色99999| 成人怡红院| 偷拍偷窥与盗摄视频专区| 17c在线成人免费A片观看| 日本性爱少妇| 99色视频| 欧美日韩电影一区二区| 91美女視頻| 天天插网| 亚洲成a人片在线观看中文!!!| 激情看片网站| 九色 人妻 大香蕉| 天美一区在线| 午夜在线播放| 中国少妇XXXX做受| 大香蕉AV在线| 久久av色| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 黑操B| 炮色五月| 69久久久久久久久久久久久| 九九热只有精品| 天天内射| 97久久精品| 国产免费一区在线观看| 99青草| 国产999精品久久久| 国产成人99久久亚洲综合| 九九色热| 日日骚精品视频| 2023天天操夜夜操| 一区二区国产视频在线观看| 五月天激情综合网| 久久熟女久| 日韩强奸av| 久久男人的天堂国产| 麻豆a'v电影| 天天做天天爱夜夜爽毛片试看| 色九月婷婷| 东京热AV男人的天堂| 五十路六十路七十路熟婆| 亚洲图片欧美91N| 97在线视频免费看| 国产久久av| 欧美韩国你懂得在线| 美女裸体无遮挡永久免费观看网站| 五月激情啪啪| 亚洲欧美激情小说| Blackedraw视频一区二区| 亚洲在钱| 日韩欧美午夜视频在线|