免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

C#上位機(jī)開發(fā):日置電阻儀RS-232串口自動(dòng)測(cè)量與判NG源碼解析

C#上位機(jī)開發(fā):日置電阻儀RS-232串口自動(dòng)測(cè)量與判NG源碼解析 簡(jiǎn)介一套基于C#語(yǔ)言開發(fā)的XCS電阻測(cè)試儀自動(dòng)化測(cè)量軟件源代碼適合需要與日置電阻測(cè)試儀進(jìn)行聯(lián)調(diào)的程序員、測(cè)控專業(yè)學(xué)生以及產(chǎn)線測(cè)試工程師。代碼完整覆蓋了從儀器通信到結(jié)果展示的整個(gè)鏈路既包含通過(guò)串口、USB或以太網(wǎng)口連接設(shè)備的方法也實(shí)現(xiàn)了常用的SCPI指令集控制如設(shè)置量程、觸發(fā)測(cè)量、讀取電阻值等。工程包共含165個(gè)文件約1.07MB以30個(gè)C#源文件為核心另附55個(gè)TXT說(shuō)明文檔、多組資源文件resources/resx及配置文件config/ini還包含可直接運(yùn)行的exe程序和工程解決方案便于直接打開學(xué)習(xí)或二次改造。目前已有393人學(xué)習(xí)下載。閱讀這套源碼可以系統(tǒng)掌握C#串口編程、SCPI協(xié)議交互、界面層與控制層分離的分層設(shè)計(jì)思路以及SQLite或SQL Server歷史數(shù)據(jù)存儲(chǔ)方法為自主編寫“個(gè)人電腦加儀器”的自動(dòng)化測(cè)試工具提供一份緊湊而完整的參考范例。1. XCS電阻測(cè)試軟件一份能把日置電阻測(cè)試儀變成自動(dòng)測(cè)量站的C#上位機(jī)源代碼產(chǎn)線上測(cè)電阻最磨人的不是讀數(shù)而是人。工人拿手持萬(wàn)用表一個(gè)點(diǎn)一個(gè)點(diǎn)夾讀三次數(shù)記一次臺(tái)賬一小時(shí)下來(lái)幾百個(gè)元件手指尖都被表筆磨出繭子。XCS電阻測(cè)試軟件要解決的正是這個(gè)場(chǎng)景它是一份基于C#編寫的上位機(jī)源代碼目標(biāo)是日置電阻測(cè)試儀這類帶數(shù)字接口的電阻計(jì)通過(guò)串口下發(fā)命令、讀回測(cè)量值、自動(dòng)判OK/NG并把結(jié)果寫進(jìn)數(shù)據(jù)庫(kù)。解壓后能看到典型的Visual Studio工程結(jié)構(gòu)csproj、AssemblyReference.cache、GenerateResource.Cache這些構(gòu)建緩存文件都在不是殘缺的偽工程。適合正在做設(shè)備集成、測(cè)試軟件開發(fā)或者拿日置儀表做課程設(shè)計(jì)的人照著復(fù)現(xiàn)。2. 先把線和協(xié)議打通日置電阻儀的RS-232串口與SCPI風(fēng)格命令2.1 接口選型為什么源碼主鏈路走RS-232而不是USB或GPIB日置電阻計(jì)背部接口一般有三種可選RS-232、USB、GPIB。很多人第一反應(yīng)是USB插上就能識(shí)別驅(qū)動(dòng)裝好就能當(dāng)虛擬串口用。但實(shí)際產(chǎn)線上USB轉(zhuǎn)串口的方案最不穩(wěn)原因在于日置官方的USB驅(qū)動(dòng)在不同Windows版本上表現(xiàn)差異很大有的工位機(jī)裝完驅(qū)動(dòng)后設(shè)備管理器里看得到端口程序一Open就報(bào)Access denied。而GPIB要額外插采集卡一張卡的價(jià)格比電阻計(jì)本身還貴產(chǎn)線批量部署根本劃不來(lái)。所以源碼選RS-232做主鏈路是對(duì)的。RS-232是工業(yè)設(shè)備上最古老也最可靠的接口Windows自帶驅(qū)動(dòng)不需要任何額外安裝斷線行為也可預(yù)期線斷了就是讀超時(shí)不會(huì)像USB那樣整個(gè)設(shè)備從系統(tǒng)里消失。唯一要注意的是線長(zhǎng)工位機(jī)到儀器的串口線超過(guò)15米就容易丟幀產(chǎn)線布線時(shí)要控制在這個(gè)距離以內(nèi)。選好接口之后下一個(gè)問(wèn)題是四線測(cè)量。日置電阻計(jì)這種設(shè)備測(cè)低阻值時(shí)用的是開爾文接法治具上四根線分別接電流端和電壓端。如果只接兩根線接觸電阻會(huì)被算進(jìn)測(cè)量結(jié)果1Ω的電阻可能讀出來(lái)1.5Ω。源碼里如果遇到讀數(shù)系統(tǒng)性偏大先別懷疑通信去查治具線的夾子是否夾牢了。2.2 SerialPort參數(shù)與打開串口9600、8、N、1不能想當(dāng)然串口參數(shù)決定了通信雙方能不能對(duì)上話。日置電阻計(jì)的出廠默認(rèn)一般是波特率9600、數(shù)據(jù)位8、停止位1、無(wú)校驗(yàn)也就是常說(shuō)的9600-8-N-1。但要注意部分型號(hào)支持切換到19200甚至115200如果儀器面板上被上一任操作員改過(guò)程序里還按9600發(fā)命令收回來(lái)就是亂碼。參數(shù)典型值說(shuō)明BaudRate9600產(chǎn)線抗干擾首選115200在長(zhǎng)線下丟幀率高DataBits8固定ParityNone日置默認(rèn)無(wú)校驗(yàn)StopBitsOne固定HandshakeNone電阻計(jì)一般不做硬件握手結(jié)束符\r\n大部分日置型號(hào)要求CR LF個(gè)別只認(rèn)LFC#里用System.IO.Ports.SerialPort類這個(gè)類在.NET Framework里是現(xiàn)成的不需要額外引包。打開串口的代碼大致是這樣的using System.IO.Ports; public static SerialPort OpenResistanceMeter(string portName, int baudRate 9600) { SerialPort sp new SerialPort(portName, baudRate, Parity.None, 8, StopBits.One) { Handshake Handshake.None, ReadTimeout 5000, // 5秒沒(méi)讀到數(shù)據(jù)就拋異常 WriteTimeout 2000, NewLine \r\n, // ReadLine按CR LF切分 DtrEnable true, // 使能DTR部分日置型號(hào)靠它喚醒 RtsEnable false }; try { sp.Open(); sp.DiscardInBuffer(); // 清空緩沖避免讀到上一次的殘留 } catch (Exception ex) { throw new InvalidOperationException($串口 {portName} 打開失敗: {ex.Message}); } return sp; }這段代碼里有兩個(gè)參數(shù)容易被忽略。第一個(gè)是DtrEnable很多日置電阻計(jì)在RS-232口上靠DTR信號(hào)做設(shè)備喚醒不置true命令發(fā)出去儀器根本沒(méi)上電握手表現(xiàn)為發(fā)命令不報(bào)錯(cuò)但永遠(yuǎn)等不到響應(yīng)。第二個(gè)是DiscardInBuffer如果儀器的響應(yīng)是分兩幀到達(dá)的上一次的殘幀會(huì)留在系統(tǒng)緩沖里不清掉的話下一次讀取會(huì)把兩段數(shù)據(jù)拼在一起。程序啟動(dòng)時(shí)清一次每次測(cè)量前再清一次能省掉后面大量排查時(shí)間。2.3 命令風(fēng)格與結(jié)束符*IDN?、:MEAS:RES?與\r\n的坑日置電阻計(jì)的命令風(fēng)格接近SCPI但并不是嚴(yán)格標(biāo)準(zhǔn)SCPI而是SCPI風(fēng)格的自定義命令。最常用的三條命令命令作用返回示例*IDN?查詢?cè)O(shè)備標(biāo)識(shí)HIOKI,RM3545,1234567,1.00:CONF:RES配置為電阻測(cè)量模式無(wú)返回:MEAS:RES?觸發(fā)一次測(cè)量并返回結(jié)果1.0000E00\r\n發(fā)送命令的核心代碼public string SendCommand(SerialPort sp, string command) { // 結(jié)束符一定要拼在命令后面儀器靠它判斷一條命令的結(jié)束 byte[] cmdBytes System.Text.Encoding.ASCII.GetBytes(command \r\n); sp.Write(cmdBytes, 0, cmdBytes.Length); // 等儀器響應(yīng)ReadLine會(huì)阻塞到收到NewLine為止 string response sp.ReadLine().Trim(); return response; }這里最容易翻車的是結(jié)束符。日置不同型號(hào)對(duì)結(jié)束符的要求不完全一致老一點(diǎn)的型號(hào)認(rèn)\t\r\n新一些的只認(rèn)\n如果按\n發(fā)過(guò)去部分型號(hào)會(huì)一直等第二個(gè)字符表現(xiàn)為超時(shí)。正確做法是先用串口助手工具隨便能看HEX就行手動(dòng)連一次敲一條*IDN?在HEX視圖里看儀器到底回了什么結(jié)束符。我一般會(huì)專門寫個(gè)小工具把發(fā)出去的字節(jié)和收回來(lái)的字節(jié)都打印出來(lái)確認(rèn)結(jié)束符后再寫進(jìn)正式代碼。命令本身也有講究。:MEAS:RES?這條命令是每次都觸發(fā)一次測(cè)量適合單次測(cè)量。如果要做連續(xù)測(cè)量可以用:MEAS:RES?配合循環(huán)但要注意每次測(cè)量之間加至少50ms的間隔儀器內(nèi)部做量程切換時(shí)是忙的連發(fā)命令會(huì)導(dǎo)致響應(yīng)串幀。3. 源碼架構(gòu)拆解從界面到數(shù)據(jù)庫(kù)的四層結(jié)構(gòu)3.1 界面層WinForms為主為什么不用WPFXCS的界面層用的是WinForms不是WPF。這個(gè)選型在產(chǎn)線工位機(jī)上很合理工位機(jī)大多是老機(jī)器搭配Windows 7甚至Windows XPWinForms啟動(dòng)快、依賴少、對(duì)老系統(tǒng)兼容性好。WPF雖然界面更漂亮但渲染引擎在遠(yuǎn)程桌面環(huán)境下容易出問(wèn)題產(chǎn)線設(shè)備用遠(yuǎn)程桌面維護(hù)是常態(tài)WPF的硬件加速反而成了負(fù)擔(dān)。界面布局一般是左邊參數(shù)區(qū)右邊結(jié)果區(qū)底部狀態(tài)欄。參數(shù)區(qū)放串口號(hào)、波特率、量程、上下限結(jié)果區(qū)放一個(gè)大的電阻值顯示外加OK/NG指示燈。源碼里如果看到BackgroundWorker或者Task.Run說(shuō)明作者處理過(guò)UI阻塞問(wèn)題如果看到測(cè)量邏輯直接寫在按鈕點(diǎn)擊事件里那就是反面教材后面第5章會(huì)專門講這個(gè)坑。3.2 控制層命令構(gòu)造與響應(yīng)解析的分工控制層是這套源碼里信息量最大的部分。它做的事情有兩件把用戶操作翻譯成儀器命令把儀器返回翻譯成業(yè)務(wù)數(shù)據(jù)。這兩件事必須拆成兩個(gè)方法不要混在一起。public class ResistanceMeterController { private SerialPort _port; // 把業(yè)務(wù)請(qǐng)求翻譯成SCPI命令 public string BuildMeasureCommand(int range) { // range: 0自動(dòng)量程, 11Ω檔, 210Ω檔, 3100Ω檔... if (range 0) return :MEAS:RES?; else return $:CONF:RES {range}\r\n:MEAS:RES?; } // 把儀器返回解析成結(jié)構(gòu)化數(shù)據(jù) public MeasurementResult ParseResponse(string raw) { // 返回示例: 1.0000E00 或 1.0000E00,Ω string[] parts raw.Split(,); double value double.Parse( parts[0], System.Globalization.CultureInfo.InvariantCulture ); string unit parts.Length 1 ? parts[1] : Ω; return new MeasurementResult { Value value, Unit unit }; } }這里重點(diǎn)說(shuō)一下double.Parse。C#在中文系統(tǒng)上默認(rèn)的區(qū)域設(shè)置是zh-CN小數(shù)點(diǎn)符號(hào)是.但有些老版本系統(tǒng)或者被改過(guò)區(qū)域設(shè)置的機(jī)器可能把小數(shù)點(diǎn)識(shí)別成,直接Parse會(huì)拋FormatException。顯式傳CultureInfo.InvariantCulture強(qiáng)制按英語(yǔ)區(qū)域解析能徹底規(guī)避這個(gè)問(wèn)題。這也是源碼里最容易忽略卻最容易線上翻車的一行。響應(yīng)解析時(shí)還要注意單位。日置儀器返回的單位可能是Ω、mΩ、kΩ、MΩ如果只取數(shù)值不看單位1.0000E03和1.0000E-03會(huì)被當(dāng)成同一個(gè)數(shù)判NG時(shí)全亂套。解析結(jié)果里必須帶單位業(yè)務(wù)層再統(tǒng)一換算成基準(zhǔn)單位。3.3 業(yè)務(wù)層與數(shù)據(jù)庫(kù)測(cè)試記錄落SQLite配置用JSON業(yè)務(wù)層處理測(cè)試結(jié)果的判定、存儲(chǔ)和報(bào)表。判定邏輯很簡(jiǎn)單上下限比較落在區(qū)間內(nèi)判OK否則判NG。但要注意滯回比較也就是用上限值判下限避免儀器讀數(shù)在臨界值附近抖動(dòng)時(shí)反復(fù)橫跳。數(shù)據(jù)庫(kù)選型上SQLite是最省事的不需要裝SQL Server服務(wù)一個(gè)dll就搞定數(shù)據(jù)文件就是個(gè).db文件拷走就能備份。產(chǎn)線工位機(jī)經(jīng)常不在域環(huán)境里裝SQL Server還要配賬號(hào)權(quán)限完全是給自己找事。建表語(yǔ)句大致是這樣CREATE TABLE test_records ( id INTEGER PRIMARY KEY AUTOINCREMENT, test_time TEXT NOT NULL, resistance REAL NOT NULL, unit TEXT NOT NULL, upper_limit REAL, lower_limit REAL, result TEXT NOT NULL );配置管理不建議寫死在代碼里更不建議用注冊(cè)表——工位機(jī)的系統(tǒng)權(quán)限經(jīng)常受限寫注冊(cè)表容易失敗。把串口號(hào)、波特率、量程、上下限存成一個(gè)config.json程序啟動(dòng)時(shí)讀界面修改后回寫。C#里用System.Text.Json就能做不引第三方庫(kù){ PortName: COM3, BaudRate: 9600, DefaultRange: 0, UpperLimit: 1.1, LowerLimit: 0.9 }這套配置聯(lián)動(dòng)起來(lái)之后換一臺(tái)工位機(jī)只需要改一個(gè)json文件不需要重新編譯程序。產(chǎn)線上十臺(tái)設(shè)備部署每臺(tái)改完配置重啟就完事。4. 源代碼關(guān)鍵方法逐段解析連接、測(cè)量、解析的完整鏈路4.1 連接與斷開Open的延時(shí)與Close的次序串口打開的時(shí)序比大多數(shù)人以為的要講究。SerialPort.Open()返回后底層串口芯片和儀器側(cè)的握手還沒(méi)完成立刻發(fā)命令大概率丟幀。正確做法是Open之后Sleep 100到200毫秒再清一次輸入緩沖然后才開始發(fā)命令。public void Connect() { _port OpenResistanceMeter(_config.PortName, _config.BaudRate); // 關(guān)鍵Open后必須等儀器握手完成 System.Threading.Thread.Sleep(150); _port.DiscardInBuffer(); // 發(fā)IDN查詢確認(rèn)設(shè)備在線且通信參數(shù)正確 string idn SendCommand(_port, *IDN?); if (string.IsNullOrEmpty(idn)) throw new Exception(儀器無(wú)響應(yīng)請(qǐng)檢查通信線纜和參數(shù)); }Close的次序同樣有講究。很多人直接調(diào)port.Close()如果這時(shí)儀器還有數(shù)據(jù)在傳輸中可能觸發(fā)UnauthorizedAccessException。標(biāo)準(zhǔn)做法是先停止后臺(tái)讀取線程再注銷DataReceived事件最后才Close。順序錯(cuò)了程序可能在關(guān)閉窗口時(shí)彈一個(gè)未處理異常。public void Disconnect() { // 先停數(shù)據(jù)流再關(guān)串口 _port.DataReceived - OnDataReceived; _port.DiscardInBuffer(); _port.Close(); _port.Dispose(); }這段代碼里DataReceived事件的注銷放在Close之前是為了避免Close觸發(fā)的最后一次數(shù)據(jù)到達(dá)事件在對(duì)象釋放后回調(diào)導(dǎo)致ObjectDisposedException。這個(gè)異常在產(chǎn)線上經(jīng)常以程序用著用著自己沒(méi)了的形式出現(xiàn)看事件日志才看到是串口對(duì)象釋放順序不對(duì)。4.2 一次測(cè)量從按鈕到結(jié)果完整調(diào)用鏈把一次測(cè)量的完整調(diào)用鏈串起來(lái)看比單看某個(gè)方法有用得多。從用戶點(diǎn)開始測(cè)量按鈕到界面刷新結(jié)果中間要經(jīng)過(guò)參數(shù)校驗(yàn)、命令構(gòu)造、串口寫入、等待響應(yīng)、響應(yīng)解析、業(yè)務(wù)判定、UI更新七個(gè)環(huán)節(jié)。private async void btnMeasure_Click(object sender, EventArgs e) { // 1. 參數(shù)校驗(yàn)串口沒(méi)打開就別發(fā)命令 if (_port null || !_port.IsOpen) { MessageBox.Show(串口未連接請(qǐng)先連接設(shè)備); return; } // 2. 把耗時(shí)操作丟進(jìn)后臺(tái)線程UI不被阻塞 try { string result await Task.Run(() { // 3. 構(gòu)命令 發(fā)送 讀響應(yīng) string cmd _controller.BuildMeasureCommand(_config.DefaultRange); string raw SendCommand(_port, cmd); // 4. 解析 var data _controller.ParseResponse(raw); // 5. 業(yè)務(wù)判定上下限比較 bool ok data.Value _config.LowerLimit data.Value _config.UpperLimit; data.IsOK ok; return data; }); // 6. UI更新這里已經(jīng)回到UI線程 lblValue.Text ${result.Value:F4} {result.Unit}; lblResult.Text result.IsOK ? OK : NG; } catch (Exception ex) { // 7. 統(tǒng)一異常出口不讓異常炸穿UI MessageBox.Show($測(cè)量失敗: {ex.Message}); } }這里用了async/await配合Task.Run把串口的同步讀寫放到了后臺(tái)線程。串口ReadLine本身就是阻塞調(diào)用如果直接放在按鈕事件里點(diǎn)一下按鈕窗體就卡死五秒用戶會(huì)以為程序掛了。async/await是目前WinForms上最簡(jiǎn)潔的寫法比BackgroundWorker少一半代碼而且異常處理是自然的try/catch不會(huì)漏。ReadTimeout設(shè)5000毫秒是經(jīng)過(guò)考慮的。儀器在自動(dòng)量程模式下從高量程切到低量程需要時(shí)間有的型號(hào)要等繼電器咔嗒響完才返回?cái)?shù)據(jù)。這個(gè)時(shí)間可能到兩三秒。設(shè)太短正常測(cè)量都被誤判成超時(shí)設(shè)太長(zhǎng)儀器真出了故障時(shí)用戶要干等幾十秒。4.3 解析返回串單位倍率、判合格與余數(shù)處理日置電阻計(jì)返回的數(shù)據(jù)行一般長(zhǎng)這樣1.0000E00不帶單位的話就是純數(shù)值帶單位的話是1.0000E00,Ω。解析的第一個(gè)坑是返回值里可能帶空格、\r、\nTrim是必須的。第二個(gè)坑是SPI返回的可能是多行儀器在響應(yīng)某些命令時(shí)會(huì)先回一行狀態(tài)再回?cái)?shù)據(jù)ReadLine只讀一行不夠。public MeasurementResult ParseWithRetry(SerialPort sp, string cmd) { string raw ; // 連續(xù)讀直到讀到以數(shù)字或負(fù)號(hào)開頭的行 for (int i 0; i 5; i) { string line sp.ReadLine().Trim(); if (string.IsNullOrEmpty(line)) continue; // 跳過(guò)非數(shù)據(jù)行狀態(tài)行通常是字母開頭 if (0123456789-.Contains(line[0])) { raw line; break; } } if (string.IsNullOrEmpty(raw)) throw new FormatException(響應(yīng)中沒(méi)有有效數(shù)據(jù)行); return ParseResponse(raw); }這個(gè)只取以數(shù)字開頭那一行的技巧是用合格從業(yè)者最可能采用的處理方式來(lái)規(guī)避儀器的多行響應(yīng)問(wèn)題。日置部分型號(hào)在每次測(cè)量前會(huì)回一行OK或者狀態(tài)碼不跳過(guò)去解析就會(huì)把狀態(tài)碼當(dāng)電阻值測(cè)出來(lái)的結(jié)果完全不可信。判合格邏輯里還有一個(gè)容易被忽略的細(xì)節(jié)單位換算。儀器返回1.0000E00,Ω是1Ω返回1.0000E00,kΩ就是1000Ω。上下限在配置里一般以Ω為基準(zhǔn)單位所以解析時(shí)要把mΩ、kΩ、MΩ全部換算成Ω后再比較。public double ToOhm(double rawValue, string unit) { switch (unit) { case mΩ: return rawValue / 1000.0; case kΩ: return rawValue * 1000.0; case MΩ: return rawValue * 1000000.0; default: return rawValue; } }這段換算看著簡(jiǎn)單卻是產(chǎn)線讀數(shù)對(duì)但判定全錯(cuò)的頭號(hào)嫌疑犯。一個(gè)10kΩ的電阻儀器返回10.0000E00,kΩ配置里上下限寫的是9000和11000Ω不換算直接用數(shù)值比較10 9000判NG整條線全報(bào)警。這種問(wèn)題排查起來(lái)是最耗時(shí)間的因?yàn)橥ㄐ?、解析、界面全正常誰(shuí)也沒(méi)想到是單位倍率的問(wèn)題。5. 避坑專題串口接日置電阻計(jì)最常翻車的五個(gè)坑5.1 命令發(fā)出去石沉大海ReadLine超時(shí)現(xiàn)象點(diǎn)擊測(cè)量程序在ReadLine處阻塞到超時(shí)界面彈出操作超時(shí)。串口助手卻能看到儀器正?;?cái)?shù)據(jù)。原因兩種可能。一是結(jié)束符不匹配儀器回CR LF代碼里NewLine只設(shè)了LFReadLine永遠(yuǎn)等不到完整一行。二是DTR信號(hào)未使能日置部分型號(hào)的RS-232口需要DTR拉高才啟動(dòng)接收電路。解決先用串口助手在HEX模式下連一次確認(rèn)儀器實(shí)際回的結(jié)束符字節(jié)是0x0D 0x0A還是只有0x0A。然后把SerialPort的NewLine改成對(duì)應(yīng)的結(jié)束符。DTR問(wèn)題直接在Open之前設(shè)sp.DtrEnable true。這兩個(gè)改動(dòng)做完80%的發(fā)命令無(wú)響應(yīng)都能解決。5.2 讀回來(lái)的字符串里混著上一幀的殘留現(xiàn)象連續(xù)測(cè)量時(shí)第N次的結(jié)果偶爾是第N-1次的舊值或者一行數(shù)據(jù)被截成兩半拼在兩次讀取里。原因儀器的響應(yīng)分兩個(gè)TCP段或者串口幀到達(dá)第一次ReadLine讀到半行剩下的半行留在緩沖里下一次ReadLine把前半行的殘留和本次數(shù)據(jù)拼在一起。這是串口程序最容易忽略的緩沖問(wèn)題。解決每次發(fā)送命令前調(diào)sp.DiscardInBuffer()清空輸入緩沖。讀取時(shí)不要用ReadLine一次讀而是循環(huán)讀取直到讀到完整的結(jié)束符為止。如果用了DataReceived事件不要在事件里做業(yè)務(wù)處理把數(shù)據(jù)追加到StringBuilder由單獨(dú)的解析線程按行切分。5.3 界面卡死把串口讀取放進(jìn)了UI線程現(xiàn)象點(diǎn)開始測(cè)量后窗口失去響應(yīng)鼠標(biāo)變成轉(zhuǎn)圈要等好幾秒才恢復(fù)。如果讀超時(shí)設(shè)為30秒界面就死半分鐘。原因串口的ReadLine是同步阻塞方法直接寫在按鈕點(diǎn)擊事件里UI線程被堵死。WinForms的UI線程不僅要處理界面繪制還要處理消息循環(huán)一阻塞整個(gè)窗口就假死。解決所有串口讀寫操作放進(jìn)Task.Run或者BackgroundWorker。UI更新用Control.BeginInvoke或者async/await的await返回不要在后臺(tái)線程里直接操作界面控件。這條是上位機(jī)開發(fā)最基礎(chǔ)的規(guī)矩違反了輕則界面卡頓重則程序無(wú)響應(yīng)被Windows判定為掛起直接殺進(jìn)程。5.4 電阻值總是差一個(gè)量級(jí)或者NG判定全亂現(xiàn)象測(cè)一個(gè)1Ω的精密電阻儀器返回1.0000E00但解析出來(lái)顯示1000mΩ或者0.001kΩ上下限判定全錯(cuò)。原因儀器返回的數(shù)值帶了單位后綴解析時(shí)只取了數(shù)字部分丟掉單位然后業(yè)務(wù)層用這個(gè)裸數(shù)值直接和上下限比較。mΩ、kΩ這些單位沒(méi)有歸一化到Ω。解決解析結(jié)果必須保留單位字段業(yè)務(wù)層比較之前統(tǒng)一換算成基準(zhǔn)單位Ω。另外檢查量程設(shè)置如果沒(méi)下發(fā):CONF:RES命令儀器處于自動(dòng)量程測(cè)量小電阻時(shí)可能用高量程檔讀數(shù)精度會(huì)差。測(cè)量前強(qiáng)制指定量程或者至少等自動(dòng)量程穩(wěn)定后再讀數(shù)。5.5 拔掉USB轉(zhuǎn)串口線后程序直接崩現(xiàn)象產(chǎn)線工人清理衛(wèi)生時(shí)碰了一下USB線串口斷開程序報(bào)UnauthorizedAccessException或者更詭異的窗口消失進(jìn)程退出。原因USB轉(zhuǎn)串口芯片CH340、FT232這類拔掉時(shí)系統(tǒng)會(huì)銷毀串口設(shè)備對(duì)象SerialPort的事件可能被觸發(fā)或者底層句柄失效。如果DataReceived事件處理函數(shù)里沒(méi)有異常保護(hù)一個(gè)布線錯(cuò)誤就能讓整個(gè)測(cè)量程序崩潰。解決DataReceived事件處理函數(shù)最外層套try/catch捕獲ObjectDisposedException和UnauthorizedAccessException。在FormClosing事件里先注銷事件再Close串口。程序啟動(dòng)時(shí)判斷串口是否存在不存在就禁用測(cè)量按鈕。最重要的是產(chǎn)線部署時(shí)用扎帶把USB頭固定好物理層面的可靠性比代碼兜底更有效。6. 進(jìn)階把能用變成好用——批量測(cè)試、實(shí)時(shí)曲線與一鍵發(fā)布基礎(chǔ)測(cè)量跑通之后可以從三個(gè)方向往上加功能。批量測(cè)試是最常見的需求。治具上放一排元件軟件循環(huán)切換測(cè)試點(diǎn)。切換通道后要加20到50毫秒的穩(wěn)定延時(shí)再觸發(fā)測(cè)量因?yàn)槔^電器或者M(jìn)OS管切換瞬間接觸電阻不穩(wěn)定立刻讀數(shù)會(huì)抓到尖峰。循環(huán)里每個(gè)通道獨(dú)立記錄結(jié)果某個(gè)點(diǎn)超時(shí)不要把整個(gè)批次中斷把異常通道記下來(lái)繼續(xù)下一輪。實(shí)時(shí)曲線用WinForms自帶的Chart控件就能做不引第三方庫(kù)。曲線刷新的核心是控制UI更新頻率串口解析線程把數(shù)據(jù)丟進(jìn)隊(duì)列UI定時(shí)器每500毫秒從隊(duì)列里取一批數(shù)據(jù)繪制。這樣即使測(cè)量頻率很高界面也不會(huì)因?yàn)槊棵胨⑿聨资味D。曲線縱軸用對(duì)數(shù)坐標(biāo)因?yàn)殡娮鑿暮翚W到兆歐跨越六個(gè)數(shù)量級(jí)線性坐標(biāo)下小阻值的變化根本看不清。發(fā)布部署時(shí)可以用Costura.Fody把第三方DLL合并進(jìn)主程序exe產(chǎn)線工位機(jī)上拷一個(gè)單文件就能跑。配置文件用JSON存好放exe同目錄程序啟動(dòng)時(shí)用File.ReadAllText讀進(jìn)來(lái)反序列化成配置對(duì)象。這比注冊(cè)表和ini都方便遷移。最后說(shuō)一個(gè)我的習(xí)慣。以前做過(guò)一條產(chǎn)線交付的時(shí)候測(cè)試一切正常結(jié)果工人操作時(shí)碰掉了一次USB線整條線的測(cè)量軟件全部退出停了半小時(shí)工。問(wèn)題本質(zhì)是DataReceived事件里沒(méi)有異常保護(hù)一個(gè)物理層面的小故障擊穿了整個(gè)軟件。從那以后我每次交付上位機(jī)都會(huì)強(qiáng)制走一遍拔線重插測(cè)試運(yùn)行中拔掉串口線、重插、再測(cè)量程序必須自動(dòng)恢復(fù)或者給出清晰的重連提示才算通過(guò)驗(yàn)收。這套XCS源碼拿回去第一件事也建議先做這個(gè)測(cè)試。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
无码网| 色婷婷色| 婷婷五月激情图片| 26uuu国产色| AA片在线观看视频在线播放| 国产精品视频免费看| 国产精品大香蕉| 亚洲亚洲人成综合网络 | 婷婷狠狠操| 色婷婷19| 久久99日本精品视频免费观看| www.久久久.com| 国产欧美日韩一区二区三区| 成人短视频在线观看| 婷婷色五月大香蕉在线| 久久XX| 亚洲色视频| 五月天激情小说| 久久婷婷五月综合色天| 偷拍丁香九月激情| 国产乱子轮XXX农村| 思思热在线视频精品| 人人爽人人射-美女久久久久久久久久-成人AV| 丁香六月婷| 99热久久这里只有精品| 精品一二三区久久AAA片| 五月婷婷av| 九九热视频首页/这里只有精品| 26UUU精品一区二区Com| 婷五月丁香| xx久久| 任我干视频在线观看| 中文字幕不卡+婷婷五月| 不卡影院午夜理论片| 国在线激情网| 天天操夜夜爽天天操| 久久五月情| 欧洲电影在线观看免费版英语版 | 99综合视频| 九九无码视屏| 思思re99视频在线观看| 538在线精品| 婷婷开心青青草| VA婷婷| 久久性刺激| 婷婷天堂综合网| 大陆极品少妇内射AAAAAA| 亚洲av网站在线观看| 免费观看欧美成人AA片爱我多深| 五月天天天色| 五月婷婷婷丁香播| 久久久婷婷婷| 9久热| 色色五月丁香婷婷| 久久丁香五月| 亚洲精品字幕在线观看| 婷婷久久免费看| 五月天婷婷色五月天| 女婷久久| 久热2025无码| 婷婷视频在线| 五月丁香六月成人| 久操婷婷| 亞洲自怕| 国产成人av在线播放| 久久婷婷五月天激情四射| 久操干| 丁香五月手机视频| 亚洲成人免费电影| 久久99热 这里有精品| www.精品99| 久鲁鲁色网| 思思热99er在线视频| 婷五月丁香俺| 九九99视频| 六月婷婷激情| 无码AV免费精品一区二区三区| 97在线观视频免费观看| 91久久免费| 中文字幕97超级碰| 五月天播播综合| 久色中文| 丁香色五月 97干| 亚洲欧洲另类| 天天插插天天| 97操视频| 欧美电影在线观看| 人人综合久| 色综合久久久久| 激情五月综合视频| 日本爆乳片手机在线播放| 另类 在线| 色噜噜狠狠色综合网| 91色综合| 婷婷五月天成人视频| 热久久婷婷| 五月天三级久久| 婷婷伊人綜合中文字幕| 五月丁香无码视频| 婷婷久久五月| 五月激情射| 草综合网| 亚洲婷婷丁香| 97操| 久久草婷婷丁香网站| 激情五月婷| 五月天色丁香| 丁香五月婷婷av| 国产裸舞福利资源在线视频| 久久电影4399| 6 9式性爱视频在线播放| 国产67194| 丁香五月色情| 久久九九综合| 另类小说五月天| 激情五月天www| 亚洲成人AV在线播放| 琪琪色综合网站| 久久人人九九| 国产日韩av片| 激情综合色播| www婷婷色| 久久婷婷色| 夜夜撸天天日| 99热 精品在线| 伊人久久婷婷| 久久九九网| 97超碰,人人舔,人人操,人人摸| 99啪啪网| 六月丁香网| 深夜婷婷 丁香| 丁香六月啪啪啪| 五月丁香另类网| 99爱爱| 久久女人九九| 午夜激情五月天| 久久草大香蕉| 婷婷五月 丁香六月| 激情婷婷丁香五月天| 啪啪干伊人婷婷| 色高清无码视频| 大香蕉啪啪啪| 丁香女人五月天| 日日色综合| 99精品视频免费观看近期发布| 影音先锋噜一噜| 99国产这里只有精品| 97高清国语自产拍| 五月丁香在线国产| 久久视9精| 色五月丁香总合网| 精品无码久久久久久久久| www.色综合.com| 天天摸天天舔| 激情九月天天天天婷婷| 激情六月综合| 婷婷五月免费在线| 色色免费网战视频| 婷婷丁香www视频日本韩国| 日日狠狠久久偷偷四色综合免费 | 久9热| 7777激情基地| 五月色丁香| 高清无码.com| 色色五月婷婷狠狠| 来吧亚洲综合网| 色99视| 婷婷性爱五月天| 久婷婷久草| 999影院成人在线影院| 草草色情综合网| 日本成人噜噜噜噜噜| 久久五月婷天天干| 可以直接看的av| 久久精品日| 中国激情网| 久久男人网婷婷| 色色AV色色色东莞| 深爱五月月天| 九九热内射| www.99情趣网| 丁香五月影院| 97久久久久久久久久久| 丁香六月天| 99热精品观看| 久久久久久五月天| 成人电影AV在线观看| 久操激情| 成人αV视频免费观看| 丁香六月亭亭久久综合| 99色色网| 九九色热视频| 91婷婷丁香| 无码99| 影音先锋人妻出差| 激情五月婷婷丁香六月| 日本A片一区| 在线观看av网站| 综合激情五月四射婷婷| 激情综合网站| ..真实国产乱子伦对白在线_欧| 久久99热只有精品| 熟妇人妻中文字幕无码老熟妇| 就爱啪啪婷婷| 97狠狠色| 色玖玖网| 国自产拍偷拍精品啪啪一区二区| 日熟女| 亚洲sesesese| 影音先锋91资源站| 91九色PORNY肉丝在线| 丁香婷婷激情| 久热中文字幕在线线观看| 色色色色色色色色色色色色色五月天| 一点色成人网| 天天插天天爽| 九九热10| 美女丁香五婷婷| ay2区| 久久五月天免费网站| 日本狠狠干| 五月婷婷色五月| 超黄亚洲瑟瑟网站| 九九精品视频免费在线| 另类A片| 99视频热99| 丁香五月婷久久| 99re视频精品| 亚洲婷婷五月天激情综合| 深爱五月月天| 激情五月天色| 亚洲操逼网| 热久久婷婷| 九九热在线精品视频| 婷婷综合av| 国产精品美女久久久久AV超清| 亚洲色另类| 丁香五月av在线| 欧美va亚洲va| 色欲操| 婷婷九月激情| 67194成I人在线观看线路1| 亚洲情欲久久| 9 9热这里有精品| 欧美三级巜人妻互换| 狠狠狠狠狠狠狠狠| 丁香五月激情五月| 丁香五月激情啪啪| 怡红院AV亚洲一区二区三区H | 久久新| 影音先锋91视频| 三级毛片视频| 色婷婷网大全在线| 日韩av免费版| 欧洲区自拍| 97luluse| 99热在线爱| 丁香五月色激情| 国产精品美女久久久久AV超清| 天天日天天操心| 日本婷婷五月天| 亚洲色五月| 五月综合无码| 欧美日韩中文国产一区发布| 九月丁香很很色| 一级AV片| 六月婷婷亚洲| 天天射色五月天| 五月婷婷丁香狠狠撸久久| 婷婷五月天视频在线观看| 激情五月网站| 26uuu国产激情视频| 国产精品久久久60086| 色五月天网| 色丁香婷婷美女视频网站| 高清无码 一区 二区 三区| 色七色九九| tingtingjiqingwuyue| 色五月久久成人婷婷| www.com操| 婷婷丁香激情| 99色色| 婷婷伊人网| 99热久| 天天操天天插| 美女久久天堂| 久久久久亚洲AV无码网影音先锋| 丁香蜜臀黄色婷婷五月天| 色之综合网| 亚洲激情五月婷婷日日| 狠狠操狠狠操| 91超级碰| 国产4P视频精品五区| 91精品婷婷国产综合| 黄网在线播放| www.亭亭五月天| 荷兰av一级| 丁香五月成人| 熟女国产在线一区二区三区四区| 色热久资源| a v色婷婷| 婷婷五月天堂| 深情六月婷婷综合久久| va婷婷| 天堂网啪啪| 色综合久| 丁香五月婷婷大香蕉| 欧美色五月| 色青五月天| 婷婷五月综合色拍| 五月天久久小说| 成人版视频在线观看| 99久久黄色顶级视频| 色色色色色色色色综合网| 97精品自拍| 成人中文网| 久久丝袜婷婷| 开心网五月色婷婷| 婷婷五月天性色| 色色丁香婷婷综合| AV性爱在线| 裸体做A爰片毛片A片免费| 五月香蕉网| 欧美婷婷五月激情| 婷婷五月天开心网| 91肏| 天天爱天天秀天天做| 久久久网站| 丁香六月婷婷色播| 99热这里只有精彩| 久婷狼色诱惑在线| 欧美激情xxxXX| 另类激情综合| 久久九九婷婷| 国产精品成人av在线观看春天| 久久99久久99久久99人受| 婷婷日本在线| 激情五月天激情综合网| 久久综合五月天激情小说网站| 亚洲精品网站色视频| 国产激情在线| 丁香五月在线自慰| 中文AV在线观看| 亚洲看av的网站| 婷婷大香蕉| 九九精品热播| 色色色网站| 五月丁香婷婷钟和色图| 天天狠狠色噜噜| 成人视频网| 另类图片天天影视在线观看| 亚洲AV成人在线| 五月婷婷啪啪啪| 激情小说婷婷| www.色婷婷.com| 欧美人妻一区二区| 亚洲一级AV在线免费播放| 五月天综合图片| 五月桃花网综合| 人人干天天操五月丁香| 大香蕉220| 97激情五月天| 久久九九思思| 激情综合色婷婷六月天| 亚洲成人九九九| 色欲久久久久| 99九九视频| 亚洲六月婷婷| a在线观看| 亭亭玉月丁香| 天天操天天操综合| 97操男人的天堂| 五月天狠狠网| 一起草无码| 超碰免费99| 九九热10| 久久性爱视频| 99热这里精| 色。 日日日| 激情五月综合网| 欧洲激情五月天婷婷| 中文字幕永久在线| 99热久草| 九月av| 五月丁香免费视频| 婷婷五月欧美综合| 久色激情| 久久五月天合网| 9久热精品在线视频| 中文国产五月天| 日本三级日本黄色| 1024日韩| 9999热这里只有精品| 亚洲a片免费观看| 五月婷婷五月| 婷婷 激情 五月| 婷婷综合国产| 五月天婷婷色色| 狠色狠色狠狠色综合网| 99精品手机在线视频| 丁香五月婷婷亚洲色图| www.狠狠狠.com| 婷婷99视频全集高清| 深爱激情丁香五月| 丁香5月激情网| 丁香五月婷婷av影院| 婷婷另类小说| 久久99久久99精品免视看婷婷| 亚洲成人综合网在线免费观看| 超碰超碰在线| 丁香五月婷综合网| www.激情五月天.com| 大香蕉网 久久| 色婷婷亚洲| 色色日韩无码| 五月婷婷丁香| 久久青草国| 五月天激情婷婷| 九九九干精品| 亚洲成人五月天| 天天cha成人综合网| 亚洲婷婷基地| 欧美日韩国产一二区| 思思热久久艹| 26uuu在线观看| 99热精品少| 五月天激情网址| 久久在线视频免费观看| 另类图片色五月| 丁香涩涩五月天| 啊v视频在线观看| 五月婷婷操操| 婷婷中文字幕| 国产成人99久久亚洲综合精品| 五月丁香六月综合激情网| 激情久久久久久久久| 性按摩玩人妻HD中文字幕| 天天干天天做| 26uuu国产| 涩涩网五月天| 精品国产va久久久久久久| 99re热在线视频观看| 另类丁香五月天区图| 五月丁香| 久九色| 婷婷久久色| 色大综合| 婷婷六月插屄激情| 五月婷婷 六月丁香| 99热国产精品| 粉嫩av蜜桃av蜜臀av| 五月丁香毛片| 亚洲视频操| 色色五月激情| 婷婷综合网性| 久碰婷婷视频| 婷婷色网站| 另类激情五| 亚洲AVDVD| 狠狠干五月丁香综合网| 久久性爱视频这里只有精品| 天天爽日日爽夜夜爽| 校园激情 亚洲| 婷婷激情五月天在线视频| 久久丁香五月综合六月激情红杏视频| 色婷婷影视| 亚洲啪啪视频| 色婷婷综合网站| 久久婷婷五月综合色奶水99啪| 任你干嘛免费视频播放| 182TV亚洲| 91在线视频综合| 丁香五月婷婷综合91| 色播五月丁香综合| 欧美丁香五月97色| 久热视频A.| www.精品99| 都市激情五月婷婷综合| 婷婷六月色播| 色色五月天丁香婷婷| 丁香五月手机在线| 开心激情婷婷| 婷婷黄色网| 五月开心啪啪| 99热主页日本| 6月丁香婷婷激情| 337p午夜影院| 一级性爱视频| 色情婷婷五月天| 五月综合视频| 99碰在线视频| 激情综合啪啪啪| 丁香五月狠狠综合欧美| 色色射| 婷婷人人操| 五月丁香啪啪啪综合网| 亚洲亚洲人成综合网络| 色欲AVV| 久热伊人在91| 九九热免费| 午夜69成人做爰视频| 久久久久久久久久久久久9| 日日操天堂| 伊人综合色干| 成人五月天在线观看| α久久| www婷婷| 九九综合色| 人妻日日日| 色色色五月婷| 亚洲 无码 中文字幕 中出| 久久人妻视步| www.色综合| 久久婷婷五月综合色和| 思思色播| 婷婷 色 丁香 夜| 深爱激情五月天| 黄色AAAAAAA| 激情五月黄色小说| 五月丁香婷婷五月| 亚洲情综合五月天| 五月丁香另类图片| 午夜五月天| 996er热| 婷香狠狠爱五月| 久久婷婷五月草视频在线播放| 四月婷婷丁香五月| 先锋影音av色五月天资源站| 欧洲激情网站| 亚洲成人AV在线播放| 深夜婷婷 丁香| 五月天婷婷久久| 色播五月婷婷五月| 老美AA片| 久久五月视频| 婷婷五月香蕉| 9久久久| 久久婷婷五月草视频| 超碰九色| 婷婷色五月开心五月| 天天舔天天摸天天透| 天天干天天操天天爽| 午夜日韩久久久网站| 熟女五月天久久综合| 91热久久| 亚洲色图45p| 婷婷精品综合| 婷婷五月综合性爱| 国产乱妇无乱码大黄AA片| 欧美性久| 午夜丁香婷婷| 91美女啪啪| 丁香网五月网| 亚洲亚洲人成综合网络| xxxx五月| 丁香五月天电影| 五月婷啪啪| 五月草视频| 九九色婷| 五月丁香激情婷婷综合| 国产精品涩涩涩视频网站| 色色丁香| 国产激情久久久| 婷婷色五月婷婷姐妹| 强伦轩人妻一区二区电影| 久热9热| 亚洲综合婷婷六月丁香五月| 玖玖爱伊人网| 我要看激情五月天| 婷婷情色五月| 色色色综合色| 超碰在线综合| 五月丁香无码| 婷婷综合五月| 天天色粽合合合合合合合| 99热自拍| 欧美性爱五月天| 有码人妻久久| 色日本颜射| 久久婷婷五月草视频| 依人大香蕉在钱1| 丁香婷婷激情网站| 四季AV综合网| www.久久99| 精品九九在线观看视频| 免费无码毛片一区二区A片| 婷婷色无码| 色九九综合色| 亚洲va欧美va天堂v国产综合| 五月丁香婷婷啪啪网| 26UUU欧美激情一区二区| 久久久大香蕉| 青青草国产亚洲精品久久| 五月婷婷综合色啪首页| 日日操夜夜骑| 亚洲激情婷婷| 五月婷婷六月色| www.com操| 激情网色五月| 超碰超碰在线| 狠狠干在线视频| 成人免费网站免费看| 另类 在线| 久久五月天精品视频| av免费在线看不卡无毒| 玖玖婷婷色五月| 丁香五月在线人妻| 91av视频| 丁香五月天网站| 午夜丁香六月婷| 九月婷婷人人操人人舔人人爱| 婷婷丁香六月| 五月丁香六月婷婷综合免| 激情五月婷婷丁香综合网| 久久婷婷网| 丁香五月婷婷六月婷| 丁香五月婷婷老师网站| 99热手机在线精品| 九九热精品6| 午夜色婷婷| 狠狠干最新地址| 日韩精品一区二区亚洲AV观看| 婷婷97狠狠干| 免费AV在线| 北京熟妇搡BBBB搡BBBB| 啪啪色区| 五月天伊人手机在线播放AV| 天天精品视频在线观看视频| 婷婷丁香视频在线观看免费| 精品怡红九九九| 亚洲99在线| 丁香婷婷偷拍| 狠狠人妻色综合| 色逼综合网| 五月丁香成人网| 99热在线免费| 26uuu亚洲色| 国产精品成人AV在线| 日本黄 色 片| 色播五月天激情| 久久99热这里只有精品| 激情久久天天| a色色色色色| 99视频久久久| 色吊丝99| 中文字幕乱码亚洲精品一区| 99热国产这里只有精品| 激情综合五月| 亚洲婷婷免费| 国产精品成人AV在线观看春天| 91丨九色丨熟女丰满| 天天做综合网色综合| 日本99视频| 久青操| 婷婷中文字暮| 超碰人人在线观看| 日韩在线看AV| 亚洲视频在线网站| 人妻丰满精品一区二区A片| 日本va欧美va国产激情| 天天干天天干天天干天天干天| 国产无人区大片| 日日爽日日| 天天撸天天干天天插| 九月婷婷丁香| 狠狠狠狠狠操| 99亚洲无码| 337午夜福利| 日日狠夜夜狠| 久久AV电影| 色综合久久88色综合中文字幕| 欧美日韩大黄| 99热99免费| 色婷婷综合中心| 亚洲色五月天在线| 婷婷五月天视频小说| 九九热只有这里是精品| 久久99激情| 亚洲激情高潮| 亚洲婷婷六月天| 操操操操操电影网| 国产,欧美,日韩,性爱| 六月丁香婷婷五月| 六月婷婷中文字幕| 五月丁香啪啪啪啪| 色婷婷导航| 免费无码毛片一区二区A片| 777影视理论片大全在线观看| 少妇真实被内射视频三四区| 色网五月婷婷| 综合色视频| 9999热在线免费观看| 人妻激情综合| 婷婷五月天另类视频| 五月丁香成人版| 五月婷婷免费看| 96丁香六月婷婷蜜桃综合久久| 婷婷五月,偷窥偷拍网| 九九色影视| 国产毛片精品一区二区色欲黄A片| 久久久婷婷婷| 丁香婷婷综合影院| 91黄操| 这里只有精品99视频| 欧美性猛交 XXXX 乱大交| 丁香婷婷AV| 超碰在线观看成人视| 丁香五月AV| 色色色激情| 五月丁香婷婷无码A∨| 亚洲婷婷成人五月天| 婷婷的色色五月天| 99色热| 丁香五月停停av| 99色五月| 26UUU亚洲欧美| 亚洲精品婷婷| 午夜天堂啪啪| 久xxxx| 涩涩五月天综合| 五月天俺去也| 欧美va在线| 亚洲综合视频八| 五月色网| 日韩视频99| 天天综合色| 一级性感毛片| 亚洲色情免费网| 婷婷五月丁香综合激情| 婷婷五月成人| 色色五月天网站| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 六月激情网| 99er热精品视频| Se.婷婷五月天| 五月婷婷六月丁香在线| 福利视频在线播放| 久久婷婷网| 丁香五月六月婷婷综合激情| 九九热这里只有精品6| 99热99思午夜精品| 激情婷婷五月色| 操操啪| 国产精品成人网站| 欧美婷婷五月天综合| 深爱五月激情| 99在线免费视频| 婷婷丁香五月亚洲| 日本人妻伦在线中文字幕 | 色频玖玖五月天| 99综合| 伊久大香蕉| 五月婷五月婷伊人伊人五月婷| 亚洲无码色色| 久久久久久久久久久jjjj| 婷婷五日b| 永久精品| 99久久网站| www久久艹| 丁香激情综合| 日韩AV免费电影在线播放| 日木狠狠干| 色热久| 国产视频福利| 99热精品在线在线| 日本欧美999久久久三级片| 丁香五月激情六月综合| 青青青在线视频国产| 99综合网| 色播五月丁香| 国产激情视频在线观看| 97碰碰视频在线观看| 丁香五婷婷| 伊人五月综合网| 久久免费试看120秒| 色五月综合激情| 99婷婷综合| 99亚洲日韩| 久久天堂女人| 激情亚洲网| www.激情五月天.com| A久网| 日韩人人操| 九九久久网| 人妻中文字幕网| 99性爱视频| 欧美成人日韩| 99精品自拍视频| 任你艹| 26uuu国产| 激情伊人五月婷婷久久| 亚洲成人在线在线| xxx.色婷婷| 五月亭亭色| 97性视频| 五月丁香狠狠爱| 99热思思| 色偷偷狠狠| 久久久久五月丁香| 日韩 中文 欧美| 色色丁香| 精品久久久久成人码免费动漫| 亚洲精品性色| 激情婷| 99热爱爱干干日| 激情六月下句是什么| 欧美69久成人做爰视频| 亚洲欧美999| 91精品婷婷国产综合| 五月激情影视| 亚洲色欲AAAAAA| 玖玖婷婷视频| 丁香午夜天| 久热这里精品免费| 人妖色AV色综合| 久久婷婷伊人| 激情五月亚洲综合网| 一片AV片免费播放| 日韩成人免费电影| 婷婷日日天天| 五月丁香网站| 精品国产AV色一区二区深夜久久| 婷婷五月天堂一本在线| 玖玖激情五月天| 国产亚洲成AV人片在线观黄桃| 婷婷五月成人系列| 日韩成人av在线| 碰97 久| 婷婷五月在线观看| 99精品视频在线6| 人操91在线| 久久五月丁香| 热热久久99| 亚洲操操| 五月婷婷9| 六月婷婷色综合| 五月丁香啪啪伦理电影| 99精品在线观看| 久久五月天精品视频| 色婷婷基地| 久久久久久综合五月婷婷| 五月婷婷色综图片| www免费在线视频| 五月激情网站| 97色色色视频| www.激情五月天。com| www.久操| 开心婷婷五月| 久久 婷婷 五月天| www.亭亭五月天| 99爱免费在线观看| 久热99热| 色婷婷精品视频在线播放| 五月丁香成人网| 26uuu欧美| 久久这里99| 97福利视频| 欧美婷婷丁香五月| 婷婷丁香18| 欧美精品18| 激情综合网五月丁香| 五月丁香中文字幕| 色五月婷婷久久大| 亚洲九九免费| 久热91| 色婷婷偷拍| 国产操逼网站| 91午夜婷婷狠狠久久综合9色| 九九热超碰| 五月丁香好婷婷A片网| WWW,婷婷,COM| 九色视频这里只有精品| 亚洲色爽| 丁香五月天欧美成人| 九九色综合网| 香焦网五月天| 亚洲超级碰| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 17.c黄色| 色婷丨日丨天丨综合久久| 久久草人妻| 激情久久久| 婷婷激情四射| 久久久99久久| 色婷婷av在线| 1024手机在线观看看片_日韩精品| 色色色色区| 欧美婷婷综合| 玖玖综合玖玖| 东北黄色一级| 成人午夜免费电影| 午夜婷婷久久 | 五月丁香婷婷激激激综合网色播| 天天综合干| 久久婷婷五月综合激情国产| 先锋男人99资源| 日韩六十路91性交电影| 激情五月综亚网| 激情五月天之五月婷婷| 综合色天天| 五月丁香九九九综合| 五月天婷婷丁香视频| 亚洲成人乱码av网站| 丁香美女主播视频在线观看| 手机免费福利视频| 天天插天天日| 国产97色在线| 综合激情五月丁香| 人人爱人人草| 强辱丰满人妻HD中文字幕| 精品亚洲国产成AV人片传媒| 丁香综合| 欧美操我| 永久免费视频| 九九热这里有精品视频| 丁香五月婷婷亚洲综合精品在线| 大香蕉院线| 色色色色色色色色网站| 69久久99精品久久久久婷婷| 99久久婷婷国产综合精品草原| 俺去也五月天| 精品人妻一区二区三区在| 92久操视频| 天天射综合网站| www.99热国产| 婷婷丁香在线播放| 色婷婷激情四射视频| 天天操天天操天天操天天操天天操| 六月丁香久久| 日本在线观看aaa 99| 久久伦乱| 丁香婷婷激情五月色| 天天搞天天色综合| www久| 无码激情AAAAA片-区区| 六月丁香婷婷大香蕉| 五月天婷婷久久| 日日做天天操夜夜爽| 五月花婷婷| 嫩BBB槡BBBB搡BBBB| av一区二区电影免费在线观看| 久久婷婷色情7777网站| 激情综合4月| 色女伊人| 色综合激情| 色婷婷狠狠禁久久| 91精品久久久久久77777| 夜夜天天天天天干天天爽| 真实亲子乱子伦高清在线观看| 婷婷五月天精品| 日本wwww在线| 激情五月天在线观看婷婷| 99热在线观看免费| a网站免费观看| 99久久婷婷综合| 狠狠色丁香五月婷巨| 天天视频亚洲| 青青草五月天| 99.N在线视频| 天堂婷婷丁香六月网| ww久久| 伊综合蕉| 99热99日…..| 丁香五月天黄色片| 亲子乱AV-区二区三区| 开心五月六月婷婷| 激情综合网五月婷婷| 少妇性BBB搡BBB爽爽爽视頻| 91凹凸在线| 五月婷婷丁香综合| 99综合网| 色久女| 黄色激情五月天| 色欲一区二区三区精品A片 | 亚洲a色| 九九色情网五月天| 午夜 外网 精品 在线| 99精品自拍视频| 欧美日本高清视频99| 色五月综合网| 精品一二三区久久AAA片| 91婷婷色五月| 五月99久久| 极品少妇婷婷五月| 6080av| 亚洲无码99| 色色五月天丁香| 婷婷综合在线| 狠狠爱婷婷五月天| 亚洲小说欧美激情| 日本狠狠干| 香蕉久久国产AV一区二区| 婷婷五月丁香色综合| 丁香狠狠操| 五月激情网络| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 色情五月天丁香社区| 91oumei| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 五月情涩综合婷婷| 思思久热6| 五月天丁香久久综合| 丁香色啪综合| 国产古装妇女野外A片| 亚洲激情淫网| 五月激情小说| 婷婷五月天 偷拍| 五月婷婷色播| 婷婷六月丁香在线| 色五月婷婷色| 九九热九九热精品| 国产精品人人做人人爽人人添| 婷婷久久婷婷色五月| 日日天天干| 狠狠色狠狠干| 人妻久久久| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 激情另类综合| 99黄色性生活| 深爱五月月天| 婷婷精品视频| 五月天婷婷在线观看精品男人| 青草视频在线观看视频| 五月婷婷少妇之| 婷婷激情五月呦呦| 五月天 另类图片| 亚洲无码激情| 91色噜噜狠狠狠狠色综合| 91一起艹| 色婷婷丁香五月| 亚洲国产精品VA在线看黑人| 六月丁香五月婷婷首页| 黑人巨粗进入警花疼哭A片| 99视频在线观看欧| 狠狠狠狠狠狠草| 丁香五月天亚洲视频| 亚欧州精品视频| 婷婷五月丁香五月| 开心五月激情站| 热久久这里只有三级视频| 日韩在线观看亚洲| 天天激情5月天亚洲| 中字幕视频在线永久在线观看免费 | 伊人影音无码一区二区三区 | 6080av| 欧美成综合在线观看| 五月婷婷亚洲色视频| 色五月色五天色情网| 九九久久精品| 五月天综合影院| WWW.婷婷五月天.COM| 99爱视频| 开心深爱激情网| 九九色中文| 久草婷婷网 | 图片区 小说区 区 亚洲五月| 久8色色| 色情久久久| 亚洲亚洲人成综合网络| 亚洲五月天婷婷| 久久只有这里精品免费| 丁香婷婷欧美综合| 亚洲99综合| 五月丁香六月激情综合在线| 久热久操久热久草国产91| 日日干夜夜干| 亚洲激情免费视频观看| 婷婷丁香六月| 九九99热精品| 日韩视频99| 丁香五月婷婷激情蜜桃| 久久综合99| 丁香五月综合激情久久潮喷| 天天日夜夜拍| 亚洲天天综合| 这里只有精品99视频| 激情五月婷婷视频一区二区三区| 久热大香蕉| 久色激情| 久久这里都是精品视频| 大香线蕉伊人| 爱iii做iiii日日| 久久亚洲婷婷| 丁香婷婷九月| 麻豆123区| 色婷婷视频| 99视频在线啪| 国产毛片精品一区二区色欲黄A片| 国产成人AV在线播放| 欧美色小说婷婷| 欧美在线视频99| 天堂网色色| 中日韩美欧成人一区二区精品在线| 99热日韩| 第四色五月天| 久久aaaa片一区二区| 伊人青草成人| 婷婷伊人久久| 九九www| 婷婷碰碰| 欧美丰满熟妇BBB久久久| 色999亚洲人成色| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 亚州色婷婷| 99九九精品| 噜噜噜色噜噜| 26uuu国产色| 色99视频| 激情综合国产| 99综合成人视频在线观看| 性爱网五月婷婷| 国产精品人成A片一区二区| 日韩啪啪网| 欧美日韩成人在线网站| 饮料下药迷倒漂亮女同事强干| 我要看激情五月天| 精品色色网| 丁香五月老师| 天天色综合色色色色色。| 操操碰| 91精品久久久久久| 色婷婷狠| 五月婷六月| 综合网啪啪| 99热线观看9| 美欧成人视频| 天天艹| 99玖玖视频| 9999热在线| 一区二区乱视频码| 九九99视频精品| 久99久视频精品| 亚洲激情四谢| 99干免费视频| 日本久碰| 东北熟女高潮99综合99| 99在线看视频| 久久天堂色| www.爱婷婷.com| 亚洲AV成人无码电影| 91精品又长又大又粗又爽又猛| 免费看片在线观看| 草草影院爱爱| 激情五婷网| 欧美色色色| 精品色情一区二区三区四区| 人人色性网| 狠狠色无码| 久久久久人妻精选| 婷婷射丁香| 五月婷婷综合网| 97九色| 久久人妻久久| 五月香婷婷| 1024亚洲无码| 亚洲国产另类av| 国产婷婷综合在线免费视频| 99热老司机| 六月丁香视频网站| 色狠狠六月| www天天色天天射| 大香蕉久热| 天天综合网站| 五月丁香综合精品欧美| 99男人的天堂| 9超碰在线| 日韩无码专区| 激情五月天在线| 夜丁香五月婷婷| 这里有精品| 亚洲免费婷婷| wwwav大香蕉| 亚洲精品网址| 99er这里只有精品| 婷婷四色五月| 这里只有精品久久| www五月| 一本色综合色| 丁香六月婷| 五月激情精品视频| 丁香六月伊人| 午夜成人天堂久久无码日韩久久| 九九热最新| 变态另类色图| 婷婷丁香在线| 激情五月婷婷综合色播小说| 中文久久婷婷| 久久AV无码精品人妻系列试探| 色五月中文字幕| 激情婷婷内射| 亚洲色视频| 色吧综合网| 综合亚洲AV| 99极品视频| 激情综合色婷婷啪啪五月天| 91久久综合亚洲噜噜成人在线| 九九视频精品这里只有| 婷婷五月天激情开心网| 激情久久久| 久久大香免费| 侠女刀之记忆电影在线看免费| 第五色婷婷| 国产婷婷色综合AV蜜臀AV| 伊人玖玖网| 开心五月深爱五月婷| 五月丁香色色| 韩日AV片| 婷婷五月天激情综合| 亚洲一区二区无遮挡A片| 日本精品人妻无码77777| 日韩超碰在线| 中文字幕婷婷五月天在线观看| 色五月激情五月| 另类视屏| 久久色五月天综合网| 99无码视频| 激情久久肏屄视频| 婷婷丁香激情综合色情| 202丰满熟女妇大| 丁香五月婷婷啪| 久久黄色片| 男男野外做爰全过程69| 中文字幕在线不卡| 五月婷婷激情五月| 亚洲无码 图片区| 5月色婷婷| 久操大香蕉| 加勒比日本一区二区三区| 另类激情五月| 99热这里是精品| 六月色播| 这里只有精品视频在线| 婷婷五月激情欧美大胆视频| 婷色人人狠| 中文字幕AV在线播放| 色婷婷综合在线| 丁香五月婷婷在线视频| 精品国产AV色一区二区深夜久久| 婷婷亚洲天堂| 综合视频久久| 9热久久| 婷婷五月天欧美| www.99riav99| 人妻久久久久久久久妻久久久久| 婷婷五月天影院| 亚洲1区| 五月停亭六月,六月停亭的英语| www.com亚洲网站在线免费| 久久久久久久久人妻| 五月丁香狠狠爱婷婷综合| 亚洲国产精品成人va在线观看| 欧美 日韩 人妻 高清 中文| 天天干夜夜操A片| 五月婷婷久久综合| 色噜噜婷婷| 97在线精品| 婷婷四色五月| 91超碰人人操| 九九香蕉网| 东京热免费视频| 少妇高潮一区二区三区99欧美| 97香蕉碰碰人妻国产欧美| 中文无码婷婷| 九九精品免费| 另类图片五月天婷婷| 青柠影视免费高清电视剧|