999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VC++和MATLAB的船舶電力系統(tǒng)動(dòng)態(tài)仿真軟件開發(fā)

2018-09-27 06:57:58高國(guó)章高志國(guó)楊雪帆
造船技術(shù) 2018年4期
關(guān)鍵詞:船舶設(shè)備

高國(guó)章, 高志國(guó) , 楊雪帆

(武漢理工大學(xué) a.能源與動(dòng)力工程學(xué)院, b.理學(xué)院, 湖北 武漢 430073)

0 引 言

隨著船舶智能化的程度越來越高,船舶綜合電力系統(tǒng)的安全性和穩(wěn)定性要求也越來越高。仿真[1]成為了許多研究人員常用的研究手段之一。

國(guó)內(nèi)外電力系統(tǒng)仿真軟件有PSCAD(Power Systems Computer Aided Design)、VTB(Virtual Test Bed)、SABER等[2],但是這些軟件都是針對(duì)陸地電力系統(tǒng)仿真需求制作的,針對(duì)性不強(qiáng)。VTB是美國(guó)QSI集團(tuán)開發(fā)的一款軟件,其中包含船舶綜合電力系統(tǒng)仿真的模型,因而對(duì)船舶電力系統(tǒng)的仿真針對(duì)性更強(qiáng),但是VTB對(duì)外保密,沒有實(shí)現(xiàn)通用。哈爾濱工程大學(xué)在船舶電力系統(tǒng)仿真平臺(tái)的研究和開發(fā)方面已經(jīng)有多年的積累,在理論、平臺(tái)搭建和仿真方面都取得了一定的成果,但由于各方面原因,仍未能實(shí)現(xiàn)通用。

目前,大多數(shù)研究工作者使用MATLAB/SIMULINK仿真,但在不間斷正在進(jìn)行的仿真的情況下,系統(tǒng)無法根據(jù)需要實(shí)現(xiàn)參數(shù)修改,有一定的局限性。Visual C++面向?qū)ο缶幊蘙3],在應(yīng)用程序界面編制、圖元繪制和人機(jī)交互等方面具有較大的優(yōu)勢(shì),MATLAB中有豐富的優(yōu)化、計(jì)算工具[4]。VC++與MATLAB相結(jié)合,將發(fā)揮VC++可視化編程和MATLAB數(shù)值計(jì)算的優(yōu)點(diǎn),可提高軟件開發(fā)的效率,縮短開發(fā)周期[5]。本平臺(tái)針對(duì)船舶電力系統(tǒng)開發(fā),利用VC++和MATLAB混合編程不僅便于系統(tǒng)繪制實(shí)現(xiàn)可視化[6],且在不間斷正在運(yùn)行的仿真的同時(shí),根據(jù)實(shí)際情況改變?cè)O(shè)備參數(shù)或者網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)延續(xù)仿真,實(shí)現(xiàn)在不同工況下的比較分析。

1 平臺(tái)的需求分析

平臺(tái)的需求主要包括非功能性需求和功能性需求。非功能性需求主要包括:可擴(kuò)展性、低耦合性、便捷性、易用性和高性能,其中高性能最為重要,它需要滿足復(fù)雜電力系統(tǒng)的快速構(gòu)建與計(jì)算要求,并且進(jìn)行延續(xù)仿真。仿真平臺(tái)的功能性需求按船舶電力系統(tǒng)構(gòu)建流程可分為:(1)文件操作——新建、打開、保存、關(guān)閉;(2)設(shè)備圖元繪制——柴油機(jī)、發(fā)電機(jī)、匯流排母線、線路、變壓器、電動(dòng)機(jī)、螺旋槳等;(3)設(shè)備圖元操作——復(fù)制粘貼、選中、移動(dòng)、縮放、線寬、顏色、端點(diǎn)自動(dòng)連接、刪除;(4)參數(shù)設(shè)定;(5)拓?fù)浞治鯷7];(6)VC++調(diào)用MATLAB。

2 仿真平臺(tái)的開發(fā)

2.1 平臺(tái)組成介紹

本平臺(tái)基于船舶電力系統(tǒng)開發(fā)使用。船舶綜合電力系統(tǒng)的主要組成包括:產(chǎn)生電能的原動(dòng)機(jī)、發(fā)電機(jī)等,配電變電部分的匯流排、變壓器、整流器、逆變器等[8],用電負(fù)載部分的推進(jìn)電機(jī)、螺旋槳等。每個(gè)設(shè)備都有自己的模型,本仿真平臺(tái)用編程語言描述這些設(shè)備的數(shù)學(xué)模型,再將數(shù)學(xué)模型的編程與圖元封裝,實(shí)現(xiàn)圖模一體化。圖1為簡(jiǎn)單的船舶電力系統(tǒng)框圖。

圖1 船舶電力系統(tǒng)簡(jiǎn)化框圖

2.2 圖元繪制與操作的實(shí)現(xiàn)

船舶電力系統(tǒng)的設(shè)備眾多,為方便后期的封裝,平臺(tái)為船舶設(shè)備對(duì)應(yīng)的每1個(gè)圖元定義1個(gè)類,可以利用類的繼承特性去實(shí)現(xiàn)每個(gè)圖元對(duì)共有屬性的繼承,而不必在每個(gè)圖元類中重復(fù)實(shí)現(xiàn)。本平臺(tái)采用面向?qū)ο缶幊蹋涠x類的基本流程為

(1) 從基類CObject中派生出繪圖類CDraw-Object,設(shè)備圖元對(duì)應(yīng)的類從CDrawObject類中派生。

(2) 在CDrawObject類中添加圖元類的公共屬性,把CDrawObject類的各個(gè)子類的公共屬性放到父類中,并且將CDrawObject類中的成員函數(shù)設(shè)置為public,讓子類都可以使用父類的成員函數(shù)。

(3) 利用類的另一個(gè)特性多態(tài)性,實(shí)現(xiàn)同一函數(shù)的不同操作。將父類的成員函數(shù)設(shè)置成虛函數(shù),聲明其類型為virtual,具體的功能在各個(gè)子類中去完成,對(duì)于不同的對(duì)象,程序會(huì)自己調(diào)用對(duì)應(yīng)類中的成員函數(shù)去實(shí)現(xiàn)。

2.2.1 圖元繪制

實(shí)現(xiàn)圖模一體化后,將每個(gè)設(shè)備的圖元都放在工具欄或者菜單欄中,在繪制時(shí)直接點(diǎn)擊相應(yīng)的圖標(biāo)或者選項(xiàng),然后在窗口通過鼠標(biāo)拖曳完成圖元繪制,可簡(jiǎn)化繪圖操作,提高繪圖效率。整個(gè)工具欄如圖2所示。工具欄中,設(shè)備對(duì)應(yīng)圖標(biāo)是可以浮動(dòng)的,避免工具欄按鈕太多導(dǎo)致使用不方便。通過調(diào)用CToolBar類的Create或CreateEx成員函數(shù),設(shè)置其參數(shù)DWORD dwstyle的值就可實(shí)現(xiàn)工具欄浮動(dòng)。給工具欄各圖元命名相應(yīng)的專業(yè)ID,經(jīng)過類向?qū)砑禹憫?yīng)函數(shù),實(shí)現(xiàn)相應(yīng)的功能。

圖2 工具欄示例

在微軟基礎(chǔ)類庫(kù)(Microsoft Foundation Classes, MFC)中與圖形相關(guān)的類有:CDC(Create Device Contert)類和GDI(Graphics Devices Interface)類。CDC類主要可以實(shí)現(xiàn)繪圖功能和繪圖環(huán)境的設(shè)置,利用CDC類可以實(shí)現(xiàn)形狀的繪制和圖形顏色、畫筆線條寬度等設(shè)置。GDI對(duì)象類包括位圖類、畫刷類、字體類、畫筆類、區(qū)域類等。當(dāng)獲取當(dāng)前CDC類對(duì)象或者指向?qū)ο蟮闹羔樅螅诶L圖時(shí),使用函數(shù)SelectObject()將畫筆、畫刷、字體等對(duì)象引入到函數(shù)CreatDC()中,實(shí)現(xiàn)特定的繪圖屬性。繪制圖元時(shí),必須先在圖元類中添加繪圖函數(shù),之后在視類View中的函數(shù)OnLBottonDown()中經(jīng)由各自圖元對(duì)象調(diào)用繪圖函數(shù)完成繪圖。

按相對(duì)應(yīng)關(guān)系將圖1所示簡(jiǎn)單電力系統(tǒng)框圖繪制成圖元,界面如圖3所示。菜單欄中主要包括:文件、編輯、視圖、繪圖、分析等,工具欄呈現(xiàn)于菜單欄下方,使用者可在繪圖窗口區(qū)通過拖曳工具欄中的相應(yīng)圖元實(shí)現(xiàn)系統(tǒng)繪制。

圖3 仿真平臺(tái)繪制界面

2.2.2 圖元操作

在系統(tǒng)建立過程中,為使系統(tǒng)圖元整潔、規(guī)范且繪制便利,不可避免地要求圖元能夠移動(dòng)、復(fù)制粘貼、旋轉(zhuǎn)和刪除等,且通過雙擊圖元實(shí)現(xiàn)對(duì)相應(yīng)設(shè)備參數(shù)的設(shè)定。基本操作的實(shí)現(xiàn)方法如下:

(1) 移動(dòng)。首先刪除原圖元,然后調(diào)用自定義函數(shù)MoveAt()實(shí)現(xiàn)圖元重新繪制,最后利用DeleteObject()釋放筆資源。

(2) 復(fù)制粘貼。通過圖元類中的一個(gè)構(gòu)造函數(shù),給該類的變量賦初值,這些變量都存入類中,當(dāng)進(jìn)行復(fù)制時(shí),這些參數(shù)存入到結(jié)構(gòu)體中,在粘貼時(shí),把結(jié)構(gòu)體中這些參數(shù)重新賦值給新的位置重新繪制成新的設(shè)備圖元。

(3)旋轉(zhuǎn)。利用一個(gè)for循環(huán)實(shí)現(xiàn)參數(shù)m_nSource的累加賦值,其不同賦值在繪圖函數(shù)選擇中執(zhí)行不同的繪制命令。對(duì)于只在水平和豎直方向繪制的圖元,則通過改變其狀態(tài)變量的取值來實(shí)現(xiàn)。參數(shù)m_bIsHor初始值為true,當(dāng)旋轉(zhuǎn)操作時(shí)對(duì)變量m_bIsHor重新賦值為fasle。根據(jù)參數(shù)m_nSource、m_bIsHor的不同取值,繪圖函數(shù)執(zhí)行不同的操作,可實(shí)現(xiàn)圖元按順時(shí)針方向旋轉(zhuǎn),每次旋轉(zhuǎn)90°。

(4) 刪除。調(diào)用OnDelete()函數(shù),先選中圖標(biāo),遍歷圖元數(shù)據(jù)列表,找到需要?jiǎng)h除的圖元,然后將圖元?jiǎng)h除。

2.2.3 參數(shù)設(shè)定

雙擊圖元彈出對(duì)話框,彈出后在對(duì)話框中填寫參數(shù)具體數(shù)值并在窗口顯示,點(diǎn)擊保存之后保存到圖元類。彈出電動(dòng)機(jī)的參數(shù)設(shè)置對(duì)話框如圖4所示。

圖4 電動(dòng)機(jī)參數(shù)設(shè)置圖

圖元建模在完成繪制圖元和雙擊圖元設(shè)置對(duì)應(yīng)系統(tǒng)各設(shè)備的參數(shù)后,再經(jīng)過圖元封裝,將設(shè)備的模型封裝到設(shè)備對(duì)應(yīng)的類中,使設(shè)備圖元和模型成為一個(gè)整體,進(jìn)而實(shí)現(xiàn)編程的模塊化。

2.3 拓?fù)浞治?/h3>

完成上述操作后,為了解系統(tǒng)的連接關(guān)系必須對(duì)所繪制的系統(tǒng)進(jìn)行拓?fù)浞治觥k娋W(wǎng)拓?fù)浣Y(jié)構(gòu)分析的主要作用是依據(jù)開關(guān)和設(shè)備圖元的狀態(tài),確定每個(gè)圖元與其他圖元的連接關(guān)系,把電力系統(tǒng)網(wǎng)絡(luò)物理模型轉(zhuǎn)化為采用節(jié)點(diǎn)/支路描述的數(shù)學(xué)模型[9]。系統(tǒng)將設(shè)備與圖元對(duì)應(yīng),系統(tǒng)的接線圖可以理解為由圖元、線段組成的支路以及由這些支路組成的幾何圖形,通過確定節(jié)點(diǎn)-開關(guān)-節(jié)點(diǎn)和母線-支路的連接關(guān)系以及設(shè)備的數(shù)量,為后續(xù)計(jì)算提供依據(jù)。

拓?fù)浞治黾词歉鶕?jù)設(shè)備圖元的ID號(hào)和圖元端口位置坐標(biāo),通過比較端口坐標(biāo)是否相同來判斷圖元之間的連接關(guān)系[10],確定與母線連接的設(shè)備圖元,從而將電力系統(tǒng)的接線圖轉(zhuǎn)換為計(jì)算機(jī)可識(shí)別的電路圖的過程。

拓?fù)浞治龅谋举|(zhì)是分析圖元的端口坐標(biāo)或者比較節(jié)點(diǎn)的參數(shù)值。每個(gè)圖元在繪制或移動(dòng)過程中端口的坐標(biāo)會(huì)保存到圖元類中,當(dāng)兩個(gè)圖元端口的坐標(biāo)值相同時(shí)就將圖元的ID號(hào)存入到數(shù)組中。拓?fù)浞治隹煞譃橐韵聨讉€(gè)步驟。

Step 1:判斷圖元是否與導(dǎo)線或者母線連接。這個(gè)通過端口到線的距離來判斷,當(dāng)端口距離線的距離小于設(shè)定值時(shí)認(rèn)為兩者相連。將每條線都當(dāng)做是點(diǎn)集,端口與其中任一點(diǎn)相連都當(dāng)做是相連接。端口與端口之間的坐標(biāo)判斷是通過點(diǎn)到點(diǎn)的距離實(shí)現(xiàn)的,利用條件公式sqrt((x1-x)2+(y1-y)2)

Step 2:節(jié)點(diǎn)融合。通過圖元自身的端口坐標(biāo)是否相等或者接近,如果滿足條件則將兩圖元的ID號(hào)保存到數(shù)組中,并將兩節(jié)點(diǎn)合并為同一節(jié)點(diǎn)。

Step 3:在系統(tǒng)中對(duì)開關(guān)的處理。當(dāng)開關(guān)閉合時(shí),當(dāng)作導(dǎo)線對(duì)待,節(jié)點(diǎn)數(shù)減少1個(gè);當(dāng)開關(guān)斷開時(shí),開關(guān)的節(jié)點(diǎn)數(shù)增加1個(gè),節(jié)點(diǎn)數(shù)的變化對(duì)應(yīng)開關(guān)的不同狀態(tài)。

Step 4:支路的判斷。具有相同的節(jié)點(diǎn),兩設(shè)備圖元的其他端點(diǎn)的位置坐標(biāo)不同,則認(rèn)為是不同的支路,并按照不同的支路方向繼續(xù)搜索,直到終點(diǎn)。

經(jīng)過上述幾個(gè)步驟,點(diǎn)擊菜單欄,系統(tǒng)能夠識(shí)別并存儲(chǔ)設(shè)備圖元的種類、節(jié)點(diǎn)和支路,從而確定各個(gè)圖元的連接關(guān)系,自動(dòng)生成系統(tǒng)相應(yīng)的拓?fù)潢P(guān)系。

船舶電力系統(tǒng)中所有發(fā)電機(jī)接到匯流排,所有的負(fù)載從匯流排引出,然后通過開關(guān)的通斷決定發(fā)電機(jī)在網(wǎng)數(shù)目和負(fù)載大小[11],系統(tǒng)結(jié)構(gòu)相對(duì)簡(jiǎn)單,只需識(shí)別圖元設(shè)備和支路即可,拓?fù)浞治龅碾y度降低。

在程序中約定,在匯流排左邊的開關(guān)對(duì)應(yīng)著發(fā)電機(jī)組數(shù)目的增加,開關(guān)變量只有2種取值0和1,取值0代表開關(guān)斷開,取值1代表開關(guān)閉合。在匯流排右側(cè)的開關(guān)對(duì)應(yīng)的是負(fù)載的增加,開關(guān)的取值仍為0和1。

拓?fù)浞治龅牧鞒倘缦拢?/p>

(1) 在繪制圖中,首先通過坐標(biāo)比較實(shí)現(xiàn)節(jié)點(diǎn)融合,將相連通的節(jié)點(diǎn)等價(jià)為同一個(gè)節(jié)點(diǎn);通過遍歷圖元,完成整個(gè)系統(tǒng)節(jié)點(diǎn)的融合,簡(jiǎn)化連接關(guān)系。

(2) 通過圖元端點(diǎn)坐標(biāo)比較,若界面中有無效模塊,則系統(tǒng)自動(dòng)將對(duì)應(yīng)圖元的數(shù)目從該類圖元總數(shù)目中減去。在判斷連接關(guān)系時(shí),首先找出與母線相連接的設(shè)備,通過設(shè)備的另一個(gè)端點(diǎn)坐標(biāo)和所有圖元的端點(diǎn)比較,根據(jù)相連判據(jù)找到與該設(shè)備相連接的下一個(gè)設(shè)備,如此循環(huán),直到找不到下一個(gè)具有相同端點(diǎn)的設(shè)備,即可認(rèn)為到達(dá)了支路的終點(diǎn)。每個(gè)圖元在繪制時(shí)端點(diǎn)坐標(biāo)、圖元類型和端口數(shù)都已經(jīng)保存,通過上述搜索,便可以找到設(shè)備的連接關(guān)系。

(3) 在(2)中剔除沒有實(shí)際作用的圖元后,判斷開關(guān)的通斷狀態(tài)和位置,根據(jù)所得到的信息確定所繪制電力系統(tǒng)中的發(fā)電機(jī)數(shù)、電動(dòng)機(jī)數(shù)等,進(jìn)一步確定系統(tǒng)的設(shè)備類型、數(shù)目和在網(wǎng)設(shè)備。

(4) 根據(jù)不同的分析結(jié)果調(diào)用模型完成計(jì)算。

下面舉例說明拓?fù)浞治龅那闆r。繪制的船舶電力系統(tǒng)圖如圖5所示,相對(duì)應(yīng)的拓?fù)浞治鼋Y(jié)果如圖6所示。

圖5 船舶電力系統(tǒng)模型圖示例

圖6 拓?fù)浞治鼋Y(jié)果圖

3 調(diào)用MATLAB實(shí)現(xiàn)仿真

在VC++程序中通過MATLAB引擎調(diào)用MATLAB, MATLAB引擎主要提供給用戶1組引擎函數(shù),通過這些函數(shù)可以實(shí)現(xiàn)MATLAB與VC++之間的數(shù)據(jù)傳遞[12],其具體的過程和操作如下:

(1) 打開一個(gè)MATLAB引擎。在VC++應(yīng)用程序中通過調(diào)用engOpen()函數(shù)能夠方便地打開一個(gè)MATLAB進(jìn)程。應(yīng)用程序在使用引擎之前,須在應(yīng)用程序中包含“engine.h”頭文件。

(2) 將VC++應(yīng)用程序中數(shù)組形式的數(shù)據(jù)轉(zhuǎn)換為MATLAB中的使用形式。通過調(diào)用函數(shù)庫(kù)中的函數(shù)mxCreateDoubleMatrix()來創(chuàng)建mxArray陣列;然后再通過拷貝函數(shù)memcpy()將一個(gè)自定義數(shù)據(jù)結(jié)構(gòu)復(fù)制到mxArray中,但是需要注意到主句存儲(chǔ)形式不同。

(3) 將設(shè)備需要設(shè)置的參數(shù)保存到mxArray陣列中,然后把mxArray陣列傳輸至MATLAB引擎的工作空間中,可通過調(diào)用函數(shù)engPutVariable()實(shí)現(xiàn)這一操作,數(shù)據(jù)傳輸?shù)組ATLAB工作空間后就在MATLAB計(jì)算中被相應(yīng)的變量使用。

(4) 在VC++應(yīng)用程序中,使用函數(shù)向MATLAB引擎發(fā)送所要執(zhí)行的命令字符串,命令字符串的使用形式與在MATLAB命令窗口中直接使用的形式是相同的。在應(yīng)用程序中執(zhí)行函數(shù)engEvalString()后,MATLAB命令窗口將自動(dòng)被打開,MATLAB會(huì)話期窗口是否可見可自行設(shè)計(jì)。打開MATLAB后完成命令語句中的數(shù)值計(jì)算和分析等操作,并將命令字符串的處理結(jié)果顯示出來。

(5) 由預(yù)先定義的輸出緩沖來獲取MATLAB引擎的輸出結(jié)果,此步操作是(4)的補(bǔ)充,能夠?qū)崿F(xiàn)獲取任意想要的結(jié)果。

(6) 調(diào)用engClose()函數(shù)關(guān)閉引擎,釋放內(nèi)存空間并退出。

整個(gè)工作流程是在VC++的圖形界面上繪制出電力系統(tǒng)的連接圖,并將每個(gè)圖元的變量名顯示在對(duì)應(yīng)的位置,電網(wǎng)經(jīng)過拓?fù)浞治鲋箫@示節(jié)點(diǎn),系統(tǒng)自動(dòng)記錄輸入的設(shè)備類型和連接關(guān)系。在彈出的參數(shù)設(shè)置窗口中給定對(duì)應(yīng)參數(shù)值或者使用程序中的默認(rèn)值,保存后點(diǎn)擊運(yùn)行,系統(tǒng)根據(jù)設(shè)備類型、數(shù)量和連接關(guān)系等信息,結(jié)合開關(guān)的狀態(tài),自動(dòng)啟動(dòng)MATLAB引擎執(zhí)行數(shù)學(xué)模型的計(jì)算,最后利用繪圖函數(shù)將結(jié)果顯示,計(jì)算結(jié)果返回到VC++中。

4 結(jié) 語

本文基于船舶電力系統(tǒng)模型,結(jié)合VC++和MATLAB兩者的優(yōu)勢(shì),采用圖元的思想,實(shí)現(xiàn)船舶綜合電力系統(tǒng)的可視化界面繪制、拓?fù)浞治龊蛣?dòng)態(tài)仿真等功能,充分利用拓?fù)浞治鰧?shí)現(xiàn)系統(tǒng)拓?fù)浣Y(jié)構(gòu)的自動(dòng)辨識(shí),利用動(dòng)態(tài)仿真實(shí)現(xiàn)MATLAB在執(zhí)行已經(jīng)賦予參數(shù)的仿真的同時(shí),又時(shí)刻訪問VC++端口傳入的參數(shù)。若系統(tǒng)檢測(cè)到其結(jié)構(gòu)或設(shè)備參數(shù)被修改,本平臺(tái)將可以在不中止上一個(gè)仿真的條件下延續(xù)進(jìn)行,達(dá)到參數(shù)變化或結(jié)構(gòu)變化時(shí)不中斷仿真的目的。

猜你喜歡
船舶設(shè)備
計(jì)算流體力學(xué)在船舶操縱運(yùn)動(dòng)仿真中的應(yīng)用
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
基于改進(jìn)譜分析法的船舶疲勞強(qiáng)度直接計(jì)算
船舶!請(qǐng)加速
BOG壓縮機(jī)在小型LNG船舶上的應(yīng)用
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡(jiǎn)單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
船舶壓載水管理系統(tǒng)
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
如何在設(shè)備采購(gòu)中節(jié)省成本
主站蜘蛛池模板: 欧美成人国产| 无码内射中文字幕岛国片| 亚洲国语自产一区第二页| 一本大道东京热无码av| a级毛片在线免费观看| 欧美日韩第三页| 91精品国产丝袜| 亚洲精品视频免费看| 久久国语对白| 国产乱人伦AV在线A| 亚洲A∨无码精品午夜在线观看| 国产人成网线在线播放va| 亚洲欧美日韩另类在线一| 欧美69视频在线| 日韩av无码DVD| 婷婷色一二三区波多野衣| 都市激情亚洲综合久久| 久操中文在线| www.91在线播放| 亚洲欧美日本国产综合在线 | 国产区人妖精品人妖精品视频| 亚洲性一区| 亚洲一级毛片在线观播放| 国产精品第| 九色国产在线| 久久久久九九精品影院| 天天爽免费视频| 国产精品欧美激情| 亚洲bt欧美bt精品| 狠狠做深爱婷婷久久一区| 爱色欧美亚洲综合图区| 麻豆精品在线视频| 欧美不卡二区| 久久国产香蕉| 另类欧美日韩| 狠狠综合久久| 久久中文字幕2021精品| 特级精品毛片免费观看| 538国产视频| 精品久久久久成人码免费动漫| h网站在线播放| 亚洲日韩在线满18点击进入| 1769国产精品视频免费观看| 韩日午夜在线资源一区二区| 视频一区视频二区日韩专区| 亚洲一级毛片在线播放| 天天综合色网| 小说区 亚洲 自拍 另类| 国产精品黄色片| 天天色天天操综合网| 国产亚洲视频播放9000| 国产成人调教在线视频| 91青青草视频| 国产成人h在线观看网站站| 久久一本日韩精品中文字幕屁孩| 亚洲一区免费看| 中文精品久久久久国产网址| 欧美一道本| 最新亚洲人成无码网站欣赏网 | 一级一级一片免费| 国产精品欧美在线观看| 久久久久久久蜜桃| 日韩毛片基地| 国产aⅴ无码专区亚洲av综合网| 日韩二区三区无| 91青草视频| 亚洲午夜国产精品无卡| 国产午夜无码片在线观看网站| 蜜臀AVWWW国产天堂| 麻豆精品国产自产在线| 一本久道久久综合多人| 国产理论最新国产精品视频| 一本大道香蕉高清久久| 婷婷丁香在线观看| 最新国产在线| 内射人妻无码色AV天堂| 精品国产美女福到在线不卡f| 亚洲娇小与黑人巨大交| 精品国产一二三区| 婷婷丁香在线观看| 97se亚洲综合| 亚洲国产精品美女|