• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于NI PSP協(xié)議的分布式測試系統(tǒng)軟件設計

    2019-10-29 08:55:46娟2高艷軍段海彬
    計算機測量與控制 2019年10期

    高 濤,常 娟2,高艷軍,段海彬

    (1.西安翔迅科技有限責任公司,西安 710068; 2.空軍工程大學 基礎部,西安 710051)

    0 引言

    分布式測試系統(tǒng)是計算機網(wǎng)絡技術的產(chǎn)物,是一種通過局域網(wǎng)或Internet,把分布于不同地點、獨立完成特定測試功能的計算機連接起來,達到測試資源共享、分散操作、集中管理、協(xié)同工作等目的網(wǎng)絡測試系統(tǒng)[1]。測試計算機(下位機)一般位于測試現(xiàn)場的被測對象附近,可獨立完成數(shù)據(jù)采集和預處理任務,并通過以太網(wǎng)將數(shù)據(jù)傳輸給控制計算機(上位機)[2]。上位機接收各下位機傳送來的數(shù)據(jù)進行儲存和分析處理,以圖形化的方式顯示數(shù)據(jù),生成測試報表供用戶查看。

    按照通常的分布式測試軟件設計方法,需要在下位機軟件中實現(xiàn)數(shù)據(jù)采集和組包操作,然后通過以太網(wǎng)完成數(shù)據(jù)包的發(fā)送;在上位機軟件中通過Winsock API函數(shù)接收數(shù)據(jù)包,并按照約定的數(shù)據(jù)包格式完成數(shù)據(jù)的拆包和提取顯示[3]。進行軟件開發(fā)時,為保證數(shù)據(jù)傳輸?shù)目煽啃?,需要考慮數(shù)據(jù)包校驗、錯誤重發(fā)、FIFO緩存隊列等流程的設計,開發(fā)難度大且容易出錯,對軟件開發(fā)人員有比較高的要求。此外,當系統(tǒng)中有多個下位機同時工作時,大量測試數(shù)據(jù)通過以太網(wǎng)傳輸?shù)缴衔粰C的過程中,如何保證數(shù)據(jù)的一致性將成為一個難點[4]。

    為了簡化這種應用的軟件開發(fā),NI公司提供了網(wǎng)絡變量庫(Network Variable Library)。該函數(shù)庫基于NI PSP(NI Publish-Subscribe Protocol)協(xié)議,通過網(wǎng)絡變量對底層網(wǎng)絡通訊協(xié)議(TCP/IP和DDE)進行了抽象[5]。用戶在NI公司的LabVIEW、LabWindows/CVI和NI Measurement Studio開發(fā)環(huán)境中使用網(wǎng)絡變量庫提供的API函數(shù),可以在不影響系統(tǒng)性能的情況下,在多個系統(tǒng)或多個應用程序之間靈活的傳遞數(shù)據(jù)。

    1 分布式測試系統(tǒng)設計

    某分布式測試系統(tǒng)采用星型網(wǎng)絡結構,多臺遠程數(shù)據(jù)采集終端RTU(Remote Terminal Unit)作為下位機布置在測試現(xiàn)場,每臺RTU有50個采集通道,每一臺RTU均通過以太網(wǎng)與遠離測試現(xiàn)場的測控計算機(上位機)相連。這種星型結構的優(yōu)點是網(wǎng)絡控制容易、便于擴充、可靠性好[6]。

    開始測試時,上位機通過以太網(wǎng)發(fā)送命令控制RTU進行數(shù)據(jù)采集,RTU以每個通道10k/s的采樣率進行數(shù)據(jù)采集,并通過以太網(wǎng)將數(shù)據(jù)傳輸?shù)缴衔粰C;上位機接收RTU傳輸?shù)臏y試數(shù)據(jù),對不同RTU的數(shù)據(jù)分別進行解析和顯示,供用戶查看。RTU的AD采樣精度為16Bit,通過計算可以得出每臺RTU在1秒內采集的數(shù)據(jù)量為10 k×50 ch×2 Byte=1 000 kByte。

    操作人員在遠離測試現(xiàn)場的地點通過操作測控計算機查看系統(tǒng)中各個RTU采集的測試數(shù)據(jù),支持多個測控計算機共享數(shù)據(jù),分布式系統(tǒng)的組成如圖1所示。

    圖1 分布式系統(tǒng)組成框圖

    2 軟件設計與實現(xiàn)

    該系統(tǒng)中的RTU和測控計算機均運行Windows操作系統(tǒng),各個RTU運行相同的下位機軟件,通過配置文件給不同的RTU分配不同的IP地址,主要功能模塊包括數(shù)據(jù)采集、組包、共享變量數(shù)據(jù)發(fā)布。測控計算機運行上位機軟件,同樣通過配置文件中的IP地址來控制不同的RTU協(xié)同工作,主要功能模塊包括共享變量數(shù)據(jù)訂閱、數(shù)據(jù)解包、處理、顯示和存儲。上下位機軟件均使用NI LabWindows/CVI環(huán)境進行開發(fā)。

    下位機軟件作為測試數(shù)據(jù)的發(fā)布者,上位機軟件作為數(shù)據(jù)的訂閱者。在下位機和上位機之間使用NI PSP協(xié)議進行數(shù)據(jù)傳輸,首先需要創(chuàng)建共享網(wǎng)絡變量并進行配置。

    共享網(wǎng)絡變量被部署到一個用于在網(wǎng)絡上托管該變量的共享變量引擎SVE(Shared Variable Engine)。SVE是共享網(wǎng)絡變量的服務器,所有對共享變量的應用(讀或寫)都是客戶端。網(wǎng)絡變量首先向共享變量引擎服務器發(fā)送數(shù)據(jù),然后該服務器將這些數(shù)據(jù)發(fā)布給網(wǎng)絡上的所有節(jié)點。因為數(shù)據(jù)是采用“發(fā)布-訂閱”消息結構來傳輸?shù)?,所以客戶端?jié)點無需編寫復雜的代碼就可以訪問網(wǎng)絡變量數(shù)據(jù)[7]。

    圖2 共享變量傳輸過程

    共享變量的創(chuàng)建和配置可以采用以下兩種方式:一是使用NI提供的Distributed System Manager軟件,在軟件中以圖形化的方式創(chuàng)建共享網(wǎng)絡變量,另一種是使用Network Variable Library庫函數(shù),通過編程的方式創(chuàng)建共享網(wǎng)絡變量[8]。

    a)顯式創(chuàng)建共享網(wǎng)絡變量

    圖3 分布式系統(tǒng)管理器軟件界面

    安裝完LabWindows/CVI開發(fā)環(huán)境后,系統(tǒng)中安裝了“Distributed System Manager”軟件工具,軟件路徑如下:“開始所有程序National InstrumentsDistributed System Manager”,軟件界面如圖3所示。

    使用Distributed System Manager軟件創(chuàng)建共享變量的步驟如下:

    1)選中“l(fā)ocalhost”項,通過鼠標右鍵菜單的“添加進程”創(chuàng)建共享變量進程“my_process”;

    2)選中剛創(chuàng)建的進程,通過鼠標右鍵菜單“添加變量”創(chuàng)建共享變量“my_variable”,并設置變量類型和網(wǎng)絡,同一個進程下可創(chuàng)建多個變量;

    3)選中剛創(chuàng)建的進程,通過鼠標右鍵菜單進行“啟動進程”、“停止進程”和 “刪除進程”等操作。

    當網(wǎng)絡變量創(chuàng)建好后,網(wǎng)絡中的其它計算機就可以通過網(wǎng)絡變量路徑來共享數(shù)據(jù)。共享變量的網(wǎng)絡路徑包括計算機名稱、進程名稱以及共享變量名。例如:“192.168.1.100my_processmy_variable”,其中“192.168.1.100”是數(shù)據(jù)發(fā)布計算機的IP地址,“my_process”是網(wǎng)絡變量進程,“my_variable”是網(wǎng)絡變量名[9]。

    b)編程創(chuàng)建共享變量

    LabWindows/CVI開發(fā)環(huán)境提供了Network Variable Library(網(wǎng)絡變量函數(shù)庫)來方便軟件開發(fā)人員在程序中對共享變量進行操作。Network Variable Library庫函數(shù)結構如圖4所示,主要功能包括共享變量配置、數(shù)據(jù)包處理、變量發(fā)布和訂閱操作等。

    圖4 Network Variable Library庫函數(shù)結構

    通過編程方式使用共享網(wǎng)絡變量更為靈活,下面結合軟件設計詳細描述網(wǎng)絡變量的編程使用方法。

    2.1 下位機軟件設計

    該分布式系統(tǒng)的下位機負責采集測試現(xiàn)場的數(shù)據(jù),是數(shù)據(jù)的發(fā)布端。下位機軟件的流程設計如圖5所示。

    圖5 下位機軟件設計流程圖

    第一步,首先創(chuàng)建網(wǎng)絡變量進程,通過調用函數(shù)庫中的CNVNewProcess("my_process")函數(shù)新建名為"my_process"的網(wǎng)絡變量進程,并使用CNVStartProcess("my_process")函數(shù)來啟動該進程。

    第二步,創(chuàng)建網(wǎng)絡變量,通過調用網(wǎng)絡變量函數(shù)庫中的CNVNewVariable("my_variable")函數(shù)新建名為"my_variable"的網(wǎng)絡變量,使用CNVSetVariableAttribute()函數(shù)可以對該網(wǎng)絡變量的屬性進行設置,比如將CNVVariableSingleWriterAttribute屬性設置為1,說明該網(wǎng)絡變量只有1個寫入者;CNVVariableServerBufferMaxItemsAttribute屬性可以設置在服務器端能容納數(shù)據(jù)項的數(shù)量。

    第三步,使用網(wǎng)絡變量函數(shù)庫中的CNVCreateWriter()函數(shù)在剛才新建的網(wǎng)絡變量地址:“IPmy_processmy_variable”創(chuàng)建數(shù)據(jù)發(fā)布者;當需要更新的數(shù)據(jù)量較大時,可以使用CNVCreateBufferedWriter()函數(shù)來創(chuàng)建發(fā)送緩存區(qū),提高數(shù)據(jù)的發(fā)送效率。創(chuàng)建完成后可以使用CNVGetConnectionAttribute()函數(shù)獲得與共享網(wǎng)絡變量的連接狀態(tài)。

    第四步,發(fā)布數(shù)據(jù),通過共享網(wǎng)絡變量傳輸?shù)臄?shù)據(jù)類型可以是單個變量、字符串,也可以是一個數(shù)據(jù)結構。

    共享網(wǎng)絡變量的數(shù)據(jù)類型如表1所示,用戶可以根據(jù)需要設置共享變量的數(shù)據(jù)類型。軟件在通過共享網(wǎng)絡變量進行數(shù)據(jù)發(fā)布和讀取時,均是按已設定的數(shù)據(jù)類型進行操作,不用考慮在傳輸中的數(shù)據(jù)轉換問題。

    表1 共享網(wǎng)絡變量數(shù)據(jù)類型

    當進行單一數(shù)據(jù)類型的數(shù)據(jù)傳輸時,通過使用CNVCreateScalarDataValue()函數(shù)創(chuàng)建不同類型的數(shù)據(jù),再通過CNVWrite()函數(shù)發(fā)布到共享共享網(wǎng)絡變量。

    當進行復雜數(shù)據(jù)的傳輸時,需要將發(fā)送的數(shù)據(jù)組包為結構體進行發(fā)送。將數(shù)據(jù)組包為結構體的方法如下:

    1)首先根據(jù)需要定義網(wǎng)絡變量數(shù)據(jù),數(shù)據(jù)類型為:CNVData。使用CNVCreateArrayDataValue()函數(shù)創(chuàng)建數(shù)組型的數(shù)據(jù);使用CNVCreateScalarDataValue()函數(shù)創(chuàng)建數(shù)值型的數(shù)據(jù);最后使用CNVCreateStructDataValue()函數(shù)創(chuàng)建包含若干個網(wǎng)絡變量數(shù)據(jù)的結構體,示例代碼如下所示;

    CNVData data, fields[3]; //3個變量數(shù)據(jù)

    Check(CNVCreateArrayDataValue (&fields[0], CNVInt16, &dataArray, 1, dims)); //數(shù)據(jù)數(shù)組

    Check(CNVCreateScalarDataValue (&fields[1], CNVUInt16, 0)); //通道號

    Check(CNVCreateScalarDataValue (&fields[2], CNVUInt32, 0)); //包序號

    Check(CNVCreateStructDataValue (&data, fields, FIELDSIZE));

    2)接下來將數(shù)據(jù)填充到剛才創(chuàng)建的結構體中,示例代碼如下:

    Check(CNVSetArrayDataValue (fields[0], CNVInt16, DataBuf, 1, dims));

    Check(CNVSetScalarDataValue (fields[1], CNVUInt16, i));

    Check(CNVSetScalarDataValue (fields[2], CNVUInt32, pkgIndex++));

    Check(CNVSetStructDataValue (data, fields, FIELDSIZE));

    3)最后使用CNVPutDataInBuffer()函數(shù)將組包好的數(shù)據(jù)通過數(shù)據(jù)發(fā)布者發(fā)布到共享網(wǎng)絡變量。

    第五步,軟件退出前,使用CNVDispose()函數(shù)釋放創(chuàng)建數(shù)據(jù)發(fā)布者或發(fā)布緩存,最后使用CNVFinish()停止共享變量引擎。

    2.2 上位機軟件設計

    上位機負責讀取共享網(wǎng)絡變量的數(shù)據(jù)并進行處理,是數(shù)據(jù)的訂閱端。上位機軟件的流程設計如圖6所示。

    圖6 上位機軟件設計流程圖

    第一步,使用CNVCreateSubscriber()函數(shù)在網(wǎng)絡變量地址創(chuàng)建數(shù)據(jù)訂閱者;如果數(shù)據(jù)量較大,則使用CNVCreateBufferedSubscriber()函數(shù)創(chuàng)建數(shù)據(jù)訂閱緩存。通過使用緩沖區(qū),可以解決對于一個變量讀/寫速度的波動問題。當讀出操作偶爾比寫入操作慢的情況可能會導致一些更新數(shù)據(jù)的丟失,如果應用可以容忍數(shù)據(jù)丟失,就不需要使用緩沖區(qū);但是如果讀取操作必須獲得每個更新數(shù)據(jù),就需要使用緩沖區(qū)[10]。

    第二步,使用CNVGetConnectionAttribute()函數(shù)獲得與網(wǎng)絡變量的連接狀態(tài),如果連接異常,提示用戶檢查錯誤原因并退出;

    第三步,創(chuàng)建數(shù)據(jù)接收線程,不斷的從網(wǎng)絡變量讀取數(shù)據(jù),解析數(shù)據(jù)并進行顯示,同時將數(shù)據(jù)寫入記錄文件中存儲。

    從共享網(wǎng)絡變量接收數(shù)據(jù)并提取出有效數(shù)據(jù)的方法與發(fā)布端相反,步驟如下:

    1)使用CNVGetDataFromBuffer()函數(shù)檢查網(wǎng)絡變量是否有新數(shù)據(jù)到達;

    2)使用CNVGetNumberOfStructFields()函數(shù)獲取接收到的結構體數(shù)量,

    3)使用CNVGetStructFields()函數(shù)獲取結構體數(shù)據(jù);

    4)使用CNVGetArrayDataValue()函數(shù)獲取結構體中的數(shù)組元素,使用CNVGetScalarDataValue()函數(shù)獲取結構體中的數(shù)據(jù)值;

    5)測試完成后使用CNVDisposeData()函數(shù)釋放網(wǎng)絡變量接收緩存;

    如果不需要獲得網(wǎng)絡變量的每個更新數(shù)據(jù),僅獲取最新數(shù)據(jù)進行顯示,那么上面的5個步驟可以簡化為以下3個:

    1)使用CNVGetConnectionAttribute()函數(shù)通過CNVMostRecentDataAttribute參數(shù)查詢最新的結構體數(shù)據(jù);

    2)在定時器函數(shù)中重復調用CNVGetArrayDataValue()函數(shù)獲取共享網(wǎng)絡變量結構體中的數(shù)組元素,使用CNVGetScalarDataValue()函數(shù)獲取數(shù)據(jù)值;

    3)測試完成后使用CNVDisposeData()函數(shù)釋放網(wǎng)絡變量接收緩存。

    最后,當用戶結束數(shù)據(jù)接收操作時,軟件停止數(shù)據(jù)接收線程,使用CNVDispose()函數(shù)釋放創(chuàng)建數(shù)據(jù)訂閱者或訂閱緩存,最后使用CNVFinish()停止共享變量引擎。

    2.3 上下位機軟件交互協(xié)議

    在下位機上完成共享網(wǎng)絡變量數(shù)據(jù)的發(fā)布流程以及在上位機上完成網(wǎng)絡變量數(shù)據(jù)的訂閱流程后,還需要制定上下位機之間的通訊交互協(xié)議,由上位機向下位機發(fā)送控制命令,下位機根據(jù)控制命令開始或停止數(shù)據(jù)采集和發(fā)布。

    上下位機軟件之間的交互命令包括開始自檢、停止自檢、開始測試、停止測試和關閉軟件等幾個命令。這些命令采用TCP協(xié)議進行傳輸,這樣做的好處是將交互命令和共享網(wǎng)絡變量的數(shù)據(jù)傳輸相互分離,簡化軟件的開發(fā)和數(shù)據(jù)處理流程。

    上下位機軟件之間的命令交互流程如圖7所示。

    圖7 上下位機軟件交互流程

    第一步,下位機啟動后首先在指定端口創(chuàng)建TCP Server和共享網(wǎng)絡變量,等待上位機進行連接;上位機啟動后根據(jù)配置文件中定義的端口號連接TCP Server,連接成功后在界面上顯示已連接狀態(tài);

    第二步,根據(jù)用戶在上位機軟件界面上的操作,通過TCP連接向下位機發(fā)送開始測試等控制命令,下位機收到命令后發(fā)送應答,開始數(shù)據(jù)采集并將數(shù)據(jù)更新到共享網(wǎng)絡變量中;上位機從共享網(wǎng)絡變量中讀取數(shù)據(jù),完成解析并在軟件界面中進行顯示;

    第三步,用戶在上位機軟件界面中點擊停止測試按鈕,軟件通過TCP連接向下位機發(fā)送停止測試命令,下位機收到命令后發(fā)送應答,停止數(shù)據(jù)采集和共享變量的更新;

    第四步,當用戶點擊退出按鈕時,軟件通過TCP連接向下位機發(fā)送關閉軟件命令,下位機關閉網(wǎng)絡共享變量和TCP連接,釋放資源并退出。

    3 功能驗證

    為了驗證軟件設計的可行性和NI PSP協(xié)議的傳輸效率,在測試系統(tǒng)中進行了上下位機的軟件部署和軟件功能的驗證。

    下位機沒有圖形化的軟件界面,下位機軟件運行后創(chuàng)建以時間命名的本地數(shù)據(jù)記錄文件,將將采集到的數(shù)據(jù)保存在本地文件中。

    上位機軟件界面如圖8所示,Tab頁面分別對應兩個RTU,這兩個RTU通過各自的共享網(wǎng)絡變量與上位機進行數(shù)據(jù)傳輸。用戶點擊“開始”按鈕后,上位機軟件向兩個RTU的下位機軟件發(fā)送開始測試命令,下位機軟件將采集到的現(xiàn)場數(shù)據(jù)通過各自的共享網(wǎng)絡變量發(fā)送給上位機;上位機分別從這兩個共享變量讀取數(shù)據(jù),并對讀取的數(shù)據(jù)進行解析,根據(jù)解析結果對RTU的每一個通道的狀態(tài)進行顯示,同時按照與下位機相同的格式將接收到的數(shù)據(jù)保存在數(shù)據(jù)記錄文件中。

    圖8 上位機軟件界面

    測試過程結束后,通過對比上、下位機中的保存的數(shù)據(jù)記錄文件,驗證了在測試過程中軟件通過共享網(wǎng)絡變量進行數(shù)據(jù)傳輸沒有錯誤發(fā)生,驗證了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

    4 結束語

    本文介紹了以共享網(wǎng)絡變量技術為基礎,具有多節(jié)點大數(shù)據(jù)量傳輸能力的分布式測試軟件的設計方法。與傳統(tǒng)采用Socket API函數(shù)進行數(shù)據(jù)傳輸?shù)脑O計方法相比,使用共享網(wǎng)絡變量的編程更為簡單,降低了軟件開發(fā)的難度,可以使開發(fā)人員專注于測試功能的實現(xiàn),提高軟件開發(fā)的效率。

    采用該設計方法開發(fā)的分布式測試軟件已在某型號電磁閥測試系統(tǒng)中得到了應用,實際驗證了共享網(wǎng)絡變量的傳輸效率和可靠性,具有一定的推廣價值。

    十分钟在线观看高清视频www| 国产成人精品久久二区二区免费| 最近最新中文字幕大全电影3 | 久久精品国产综合久久久| 黑人操中国人逼视频| 亚洲色图av天堂| 成年版毛片免费区| 亚洲一区二区三区色噜噜| 日韩免费av在线播放| 国产午夜福利久久久久久| 成人av一区二区三区在线看| 午夜视频精品福利| 在线视频色国产色| 午夜福利一区二区在线看| 中文字幕人妻丝袜一区二区| 国产精品爽爽va在线观看网站 | 人妻久久中文字幕网| 我的亚洲天堂| 一级毛片高清免费大全| 无限看片的www在线观看| 老司机深夜福利视频在线观看| 国产精品1区2区在线观看.| 久久久久久九九精品二区国产 | 国产在线观看jvid| 国产又色又爽无遮挡免费看| 亚洲精品色激情综合| 亚洲久久久国产精品| 俄罗斯特黄特色一大片| 免费人成视频x8x8入口观看| 黄片大片在线免费观看| 国产极品粉嫩免费观看在线| 亚洲人成伊人成综合网2020| 久久草成人影院| 最近最新中文字幕大全电影3 | 亚洲国产精品999在线| 1024香蕉在线观看| 露出奶头的视频| 99国产精品一区二区蜜桃av| 久久香蕉激情| 国产亚洲欧美98| 久久人妻av系列| 国产成人av激情在线播放| 久久久久久久久中文| 欧美不卡视频在线免费观看 | 国产精品久久久av美女十八| 一a级毛片在线观看| 亚洲精品美女久久久久99蜜臀| 欧美激情高清一区二区三区| 性色av乱码一区二区三区2| 俺也久久电影网| 夜夜夜夜夜久久久久| 久久热在线av| 久久 成人 亚洲| 香蕉久久夜色| 精品福利观看| 99久久久亚洲精品蜜臀av| 一级a爱片免费观看的视频| 亚洲精品色激情综合| 一夜夜www| 最近在线观看免费完整版| 免费看日本二区| 久久热在线av| 一本综合久久免费| 中文亚洲av片在线观看爽| 大型黄色视频在线免费观看| 欧美黑人精品巨大| 黄色视频不卡| 亚洲无线在线观看| 色精品久久人妻99蜜桃| 热99re8久久精品国产| 欧洲精品卡2卡3卡4卡5卡区| 亚洲av中文字字幕乱码综合 | 国产亚洲av嫩草精品影院| 亚洲成a人片在线一区二区| 成人18禁在线播放| 亚洲av中文字字幕乱码综合 | 日韩高清综合在线| 国产视频内射| 观看免费一级毛片| 亚洲一区二区三区不卡视频| 欧美三级亚洲精品| 搡老岳熟女国产| 在线免费观看的www视频| 中文字幕另类日韩欧美亚洲嫩草| 国产精品久久视频播放| 99精品久久久久人妻精品| 亚洲一区高清亚洲精品| 怎么达到女性高潮| 欧美激情久久久久久爽电影| 亚洲精品中文字幕在线视频| 午夜a级毛片| 国产精品精品国产色婷婷| 国产色视频综合| 国产v大片淫在线免费观看| 黄色a级毛片大全视频| 又黄又爽又免费观看的视频| 好男人电影高清在线观看| 久久中文看片网| 最近最新中文字幕大全免费视频| 久久香蕉激情| 国产人伦9x9x在线观看| 老司机深夜福利视频在线观看| 久久久久久人人人人人| 在线永久观看黄色视频| 长腿黑丝高跟| 欧美黑人巨大hd| 亚洲成a人片在线一区二区| 精品高清国产在线一区| 国产视频一区二区在线看| 国产又色又爽无遮挡免费看| 亚洲无线在线观看| 高清毛片免费观看视频网站| 欧美成人免费av一区二区三区| 人人妻人人看人人澡| 亚洲 欧美 日韩 在线 免费| 美女大奶头视频| 天天躁夜夜躁狠狠躁躁| 午夜a级毛片| 中文字幕另类日韩欧美亚洲嫩草| 亚洲一卡2卡3卡4卡5卡精品中文| 亚洲国产中文字幕在线视频| netflix在线观看网站| 中文亚洲av片在线观看爽| 亚洲成人精品中文字幕电影| 视频区欧美日本亚洲| 欧美乱妇无乱码| 色尼玛亚洲综合影院| 亚洲专区字幕在线| 麻豆久久精品国产亚洲av| 99re在线观看精品视频| 久久久精品欧美日韩精品| 99在线视频只有这里精品首页| 丰满人妻熟妇乱又伦精品不卡| 女性被躁到高潮视频| 亚洲精品在线观看二区| 宅男免费午夜| 99久久无色码亚洲精品果冻| 国产视频内射| 一级毛片精品| 日本成人三级电影网站| 国产一区在线观看成人免费| www.999成人在线观看| 久久久久九九精品影院| 欧洲精品卡2卡3卡4卡5卡区| 中文字幕精品免费在线观看视频| 波多野结衣高清无吗| 免费高清视频大片| 给我免费播放毛片高清在线观看| 一本精品99久久精品77| 日韩精品中文字幕看吧| 亚洲精品一区av在线观看| 午夜福利免费观看在线| 国产欧美日韩一区二区精品| 观看免费一级毛片| 国语自产精品视频在线第100页| 国产成人系列免费观看| 免费高清在线观看日韩| 欧美日韩福利视频一区二区| 久久久久精品国产欧美久久久| 在线十欧美十亚洲十日本专区| 日本五十路高清| 亚洲人成77777在线视频| 久99久视频精品免费| 午夜免费鲁丝| 动漫黄色视频在线观看| 精品国产美女av久久久久小说| 亚洲aⅴ乱码一区二区在线播放 | √禁漫天堂资源中文www| 在线十欧美十亚洲十日本专区| 美女大奶头视频| 免费女性裸体啪啪无遮挡网站| 亚洲一区高清亚洲精品| 欧美日本视频| 亚洲av成人不卡在线观看播放网| 99在线人妻在线中文字幕| tocl精华| 看免费av毛片| 身体一侧抽搐| 男女床上黄色一级片免费看| 在线观看午夜福利视频| www.精华液| 曰老女人黄片| 97人妻精品一区二区三区麻豆 | 在线av久久热| 亚洲午夜理论影院| 欧美又色又爽又黄视频| 亚洲熟妇中文字幕五十中出| 久久久久九九精品影院| 级片在线观看| 女同久久另类99精品国产91| 巨乳人妻的诱惑在线观看| 久久久精品欧美日韩精品| 夜夜夜夜夜久久久久| 国产精品亚洲美女久久久| 久久人人精品亚洲av| 免费观看人在逋| 欧美丝袜亚洲另类 | 国产精品九九99| 成人手机av| 一级毛片女人18水好多| 老汉色∧v一级毛片| 日韩欧美一区二区三区在线观看| 一个人观看的视频www高清免费观看 | 91麻豆av在线| 亚洲自偷自拍图片 自拍| 一级a爱片免费观看的视频| 国产成人精品久久二区二区91| 一卡2卡三卡四卡精品乱码亚洲| 亚洲最大成人中文| 成人三级黄色视频| 亚洲七黄色美女视频| 成人国语在线视频| 亚洲专区字幕在线| 美女大奶头视频| 亚洲av熟女| 国产成人啪精品午夜网站| 亚洲午夜精品一区,二区,三区| 亚洲国产精品sss在线观看| 最近最新中文字幕大全免费视频| 熟女少妇亚洲综合色aaa.| 亚洲av五月六月丁香网| 麻豆久久精品国产亚洲av| 免费高清视频大片| 午夜精品久久久久久毛片777| 男男h啪啪无遮挡| 午夜免费成人在线视频| 成人亚洲精品一区在线观看| 热99re8久久精品国产| 香蕉久久夜色| 国产av在哪里看| 欧美性猛交黑人性爽| 亚洲欧美激情综合另类| 免费在线观看视频国产中文字幕亚洲| 欧美又色又爽又黄视频| 久久中文字幕一级| 亚洲欧美精品综合久久99| 亚洲国产精品久久男人天堂| 黄色成人免费大全| 岛国视频午夜一区免费看| 久久久国产成人免费| 国产爱豆传媒在线观看 | 夜夜看夜夜爽夜夜摸| 日韩三级视频一区二区三区| 给我免费播放毛片高清在线观看| 窝窝影院91人妻| 人人妻,人人澡人人爽秒播| 日韩视频一区二区在线观看| 99久久精品国产亚洲精品| 好看av亚洲va欧美ⅴa在| 成人三级黄色视频| 母亲3免费完整高清在线观看| 亚洲第一电影网av| 国产视频一区二区在线看| 久久精品影院6| 久久久国产成人免费| netflix在线观看网站| 美女午夜性视频免费| 亚洲精华国产精华精| 九色国产91popny在线| 亚洲国产欧美日韩在线播放| 免费高清在线观看日韩| 久久久久久亚洲精品国产蜜桃av| 亚洲av五月六月丁香网| 久久精品国产亚洲av香蕉五月| 亚洲欧美一区二区三区黑人| 午夜久久久在线观看| 亚洲专区国产一区二区| 日韩欧美三级三区| 99精品久久久久人妻精品| 9191精品国产免费久久| 久久久久亚洲av毛片大全| 久久人妻福利社区极品人妻图片| 97超级碰碰碰精品色视频在线观看| 国产亚洲精品一区二区www| 午夜福利欧美成人| 久久久久国内视频| 黄色a级毛片大全视频| 身体一侧抽搐| 成在线人永久免费视频| 精品日产1卡2卡| 久久久久久免费高清国产稀缺| 午夜福利免费观看在线| 99久久综合精品五月天人人| 亚洲va日本ⅴa欧美va伊人久久| 两个人免费观看高清视频| 国产av又大| netflix在线观看网站| 久久精品aⅴ一区二区三区四区| 久久午夜亚洲精品久久| 波多野结衣巨乳人妻| 一级a爱片免费观看的视频| 日韩高清综合在线| 一级毛片精品| 亚洲欧美日韩无卡精品| 18美女黄网站色大片免费观看| 中文字幕久久专区| 最好的美女福利视频网| 69av精品久久久久久| 啦啦啦观看免费观看视频高清| 午夜免费成人在线视频| 夜夜爽天天搞| 最新美女视频免费是黄的| 日韩欧美 国产精品| 久久久久久国产a免费观看| 少妇的丰满在线观看| 又紧又爽又黄一区二区| 十八禁网站免费在线| 欧美中文日本在线观看视频| 黄色成人免费大全| 国产午夜精品久久久久久| 精品午夜福利视频在线观看一区| 国产黄片美女视频| 99在线人妻在线中文字幕| 十分钟在线观看高清视频www| 国产乱人伦免费视频| 啦啦啦 在线观看视频| 亚洲一区高清亚洲精品| 麻豆成人av在线观看| 国产精品日韩av在线免费观看| 欧美成人免费av一区二区三区| 夜夜看夜夜爽夜夜摸| 亚洲av电影在线进入| 亚洲第一欧美日韩一区二区三区| 久久香蕉精品热| 视频区欧美日本亚洲| 成熟少妇高潮喷水视频| 欧美亚洲日本最大视频资源| 女生性感内裤真人,穿戴方法视频| 亚洲一区高清亚洲精品| 一区二区三区激情视频| 午夜福利免费观看在线| 欧洲精品卡2卡3卡4卡5卡区| 午夜福利高清视频| 色播亚洲综合网| 中文字幕久久专区| 久久精品人妻少妇| 日本a在线网址| 日本一本二区三区精品| 国内少妇人妻偷人精品xxx网站 | 亚洲全国av大片| 最近最新中文字幕大全免费视频| 午夜久久久久精精品| 欧美又色又爽又黄视频| 久久天躁狠狠躁夜夜2o2o| 真人做人爱边吃奶动态| 日本 av在线| 操出白浆在线播放| 亚洲精品一卡2卡三卡4卡5卡| 久久久久久久午夜电影| 美女扒开内裤让男人捅视频| 一区二区三区高清视频在线| 亚洲精品中文字幕一二三四区| 我的亚洲天堂| 精品国产一区二区三区四区第35| 制服诱惑二区| 国产熟女xx| 99精品欧美一区二区三区四区| 久久精品国产99精品国产亚洲性色| 午夜两性在线视频| videosex国产| 天堂影院成人在线观看| av中文乱码字幕在线| 18禁裸乳无遮挡免费网站照片 | 久久亚洲精品不卡| 久久这里只有精品19| 国产精品98久久久久久宅男小说| 久久久久久国产a免费观看| 伦理电影免费视频| 国产精品久久久久久亚洲av鲁大| 丝袜人妻中文字幕| 香蕉久久夜色| 亚洲国产欧洲综合997久久, | 国产一区在线观看成人免费| 国产精品美女特级片免费视频播放器 | 久久人妻福利社区极品人妻图片| 久久精品91蜜桃| 国产精品一区二区三区四区久久 | www日本在线高清视频| 久久久水蜜桃国产精品网| 99热这里只有精品一区 | 午夜老司机福利片| 国产精品亚洲一级av第二区| 露出奶头的视频| 欧美久久黑人一区二区| 美女免费视频网站| 免费在线观看黄色视频的| 亚洲专区国产一区二区| 极品教师在线免费播放| 50天的宝宝边吃奶边哭怎么回事| 美女免费视频网站| 热99re8久久精品国产| 亚洲成人免费电影在线观看| 亚洲精品中文字幕一二三四区| 丁香六月欧美| 黄片小视频在线播放| 亚洲一区高清亚洲精品| 欧美成人午夜精品| 制服丝袜大香蕉在线| 久久青草综合色| 日韩精品免费视频一区二区三区| 日韩一卡2卡3卡4卡2021年| 国产一级毛片七仙女欲春2 | 国产精品亚洲美女久久久| 国产一区二区激情短视频| 亚洲欧洲精品一区二区精品久久久| 午夜福利18| 黄色片一级片一级黄色片| 动漫黄色视频在线观看| 母亲3免费完整高清在线观看| 国产亚洲精品一区二区www| 国产黄a三级三级三级人| 中文在线观看免费www的网站 | 啦啦啦 在线观看视频| 正在播放国产对白刺激| 99re在线观看精品视频| 亚洲欧美激情综合另类| 成人av一区二区三区在线看| 满18在线观看网站| 成人精品一区二区免费| 欧美黑人欧美精品刺激| 成人三级做爰电影| av中文乱码字幕在线| 亚洲一卡2卡3卡4卡5卡精品中文| 国产亚洲精品久久久久久毛片| 国产精品久久久久久人妻精品电影| 9191精品国产免费久久| 中文字幕人妻丝袜一区二区| 久久伊人香网站| 亚洲国产精品999在线| 三级毛片av免费| 色哟哟哟哟哟哟| 1024视频免费在线观看| 欧美 亚洲 国产 日韩一| 女生性感内裤真人,穿戴方法视频| 精品第一国产精品| 国产精品久久久人人做人人爽| 精品日产1卡2卡| 精品久久久久久,| xxxwww97欧美| 亚洲 国产 在线| 国产亚洲av嫩草精品影院| 在线观看66精品国产| 色播亚洲综合网| 欧美 亚洲 国产 日韩一| 叶爱在线成人免费视频播放| 精品久久久久久久人妻蜜臀av| 精品国产美女av久久久久小说| 久久久精品国产亚洲av高清涩受| 亚洲国产欧美日韩在线播放| 高清毛片免费观看视频网站| 亚洲专区国产一区二区| cao死你这个sao货| 两性午夜刺激爽爽歪歪视频在线观看 | 久久亚洲精品不卡| 老司机福利观看| 欧美av亚洲av综合av国产av| 老司机午夜十八禁免费视频| 大型黄色视频在线免费观看| 99精品久久久久人妻精品| 精品国产超薄肉色丝袜足j| 亚洲aⅴ乱码一区二区在线播放 | 国产视频一区二区在线看| 夜夜爽天天搞| 亚洲av五月六月丁香网| 国产欧美日韩精品亚洲av| 欧美色欧美亚洲另类二区| 国产爱豆传媒在线观看 | 老司机午夜福利在线观看视频| 波多野结衣高清无吗| 国产精品美女特级片免费视频播放器 | 久久午夜亚洲精品久久| 一二三四在线观看免费中文在| 99久久无色码亚洲精品果冻| 欧美不卡视频在线免费观看 | 桃红色精品国产亚洲av| 侵犯人妻中文字幕一二三四区| 亚洲国产精品成人综合色| 国产精品乱码一区二三区的特点| 少妇裸体淫交视频免费看高清 | 亚洲av中文字字幕乱码综合 | 色播在线永久视频| 亚洲精品粉嫩美女一区| 久久青草综合色| 一二三四社区在线视频社区8| 啦啦啦观看免费观看视频高清| 一二三四社区在线视频社区8| 国内精品久久久久精免费| 亚洲久久久国产精品| 黄色a级毛片大全视频| 亚洲av美国av| 一本精品99久久精品77| 宅男免费午夜| 观看免费一级毛片| 99精品欧美一区二区三区四区| 日本一本二区三区精品| 国产精品二区激情视频| 国产成人av激情在线播放| 中文字幕人妻丝袜一区二区| 精品国产乱子伦一区二区三区| 岛国视频午夜一区免费看| 我的亚洲天堂| 天堂√8在线中文| 成人欧美大片| 深夜精品福利| 国产一区二区三区在线臀色熟女| 精品国产国语对白av| 精品国产乱码久久久久久男人| 女人爽到高潮嗷嗷叫在线视频| 黄色视频,在线免费观看| 国产亚洲精品一区二区www| 欧美日韩乱码在线| 岛国在线观看网站| 亚洲aⅴ乱码一区二区在线播放 | 国产亚洲精品久久久久久毛片| 高清毛片免费观看视频网站| 欧美三级亚洲精品| 午夜精品久久久久久毛片777| ponron亚洲| 亚洲欧美激情综合另类| 欧美av亚洲av综合av国产av| 特大巨黑吊av在线直播 | 色尼玛亚洲综合影院| 91麻豆精品激情在线观看国产| 国产精品野战在线观看| or卡值多少钱| 好看av亚洲va欧美ⅴa在| 性色av乱码一区二区三区2| 少妇熟女aⅴ在线视频| 最近最新中文字幕大全免费视频| 亚洲av五月六月丁香网| 中国美女看黄片| 精品国产超薄肉色丝袜足j| 在线观看日韩欧美| 国产精品久久久久久亚洲av鲁大| 成人国语在线视频| 在线观看一区二区三区| 日本三级黄在线观看| 1024香蕉在线观看| 久久青草综合色| 亚洲人成77777在线视频| 搞女人的毛片| 老鸭窝网址在线观看| 亚洲专区国产一区二区| 香蕉国产在线看| 久久精品人妻少妇| 两人在一起打扑克的视频| 亚洲国产毛片av蜜桃av| 熟女少妇亚洲综合色aaa.| 91麻豆精品激情在线观看国产| 精品国产乱子伦一区二区三区| 欧美日韩中文字幕国产精品一区二区三区| 午夜日韩欧美国产| 中文字幕另类日韩欧美亚洲嫩草| 激情在线观看视频在线高清| 18禁裸乳无遮挡免费网站照片 | 久久人妻福利社区极品人妻图片| 亚洲国产精品合色在线| 18禁裸乳无遮挡免费网站照片 | 日韩欧美免费精品| 亚洲一区中文字幕在线| 午夜免费激情av| 自线自在国产av| 99久久综合精品五月天人人| 在线永久观看黄色视频| 免费观看精品视频网站| a级毛片a级免费在线| 日韩国内少妇激情av| 中亚洲国语对白在线视频| 亚洲电影在线观看av| 可以在线观看的亚洲视频| 女人高潮潮喷娇喘18禁视频| 亚洲av电影不卡..在线观看| 欧美黄色片欧美黄色片| 一级毛片精品| 18禁美女被吸乳视频| 一二三四在线观看免费中文在| 欧美人与性动交α欧美精品济南到| 欧美+亚洲+日韩+国产| 成熟少妇高潮喷水视频| 美女高潮喷水抽搐中文字幕| 99国产精品99久久久久| 亚洲七黄色美女视频| 成人特级黄色片久久久久久久| 国产极品粉嫩免费观看在线| 国产亚洲精品第一综合不卡| 国产精品 欧美亚洲| 亚洲精品粉嫩美女一区| 欧美绝顶高潮抽搐喷水| a在线观看视频网站| 男人舔女人的私密视频| 成熟少妇高潮喷水视频| 欧美黑人欧美精品刺激| 黑人操中国人逼视频| 啪啪无遮挡十八禁网站| 动漫黄色视频在线观看| 99久久精品国产亚洲精品| 久久精品夜夜夜夜夜久久蜜豆 | 亚洲av电影不卡..在线观看| 日本精品一区二区三区蜜桃| 精品卡一卡二卡四卡免费| 大型av网站在线播放| 999精品在线视频| 国产单亲对白刺激| 欧美黄色片欧美黄色片| 在线国产一区二区在线| 欧美zozozo另类| 色哟哟哟哟哟哟| 国产成人欧美在线观看| 午夜免费观看网址| 国内精品久久久久精免费| 中文字幕另类日韩欧美亚洲嫩草| 亚洲人成网站在线播放欧美日韩| 99久久国产精品久久久| 一区福利在线观看| 啦啦啦韩国在线观看视频|