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

    一種新型輕型機(jī)械臂示教軟件架構(gòu)設(shè)計(jì)

    2018-03-10 00:48王祺王堃張璇琛
    軟件導(dǎo)刊 2018年2期

    王祺+王堃+張璇琛

    摘 要:傳統(tǒng)輕型六軸機(jī)械臂控制軟件構(gòu)架一般包括控制器、示教器、canopen通訊等部分。傳統(tǒng)控制器是一個(gè)程序,機(jī)械臂動(dòng)作參數(shù)設(shè)定時(shí),一個(gè)動(dòng)作信號(hào)需要一組控制器參數(shù),大量的數(shù)據(jù)收發(fā)常常引發(fā)主線程與其它線程爭(zhēng)奪資源而出現(xiàn)死鎖,導(dǎo)致主線程不能繼續(xù)往下執(zhí)行,出現(xiàn)卡死。對(duì)此,使用Qt軟件及C++語言,開發(fā)了一款新型六軸機(jī)械臂控制軟件。采用TCP/IP通訊實(shí)現(xiàn)程序間通訊,多線程提高單個(gè)程序效率,以QTcpSocket類進(jìn)行網(wǎng)絡(luò)編程。通過控制輕型六軸機(jī)械臂運(yùn)動(dòng)實(shí)驗(yàn),證明此控制軟件有效、穩(wěn)定,能解決界面卡死問題,具有良好的可擴(kuò)展性與可移植性,界面友好,運(yùn)行流暢。

    關(guān)鍵詞:TCP/IP通訊;圖形界面卡死;QTcpSocket

    DOIDOI:10.11907/rjdk.172360

    中圖分類號(hào):TP319

    文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2018)002-0124-04

    0 引言

    圖1是六軸輕型機(jī)械臂控制系統(tǒng)??刂栖浖惭b在控制器里,示教器是控制器外的觸屏??刂破骱褪窘唐鬟B在一起是低配的平板電腦,運(yùn)算和儲(chǔ)存要求不高。PCAN又叫做PCAN-USB,是一個(gè)CAN轉(zhuǎn)USB接口,通過它可以將CAN網(wǎng)絡(luò)上的報(bào)文通過USB接口傳輸?shù)絇C上,通過相關(guān)軟件查看CAN報(bào)文。PCAN的另一端連接控制器CAN卡,CAN卡與六軸機(jī)械臂相連。使用Qt編寫程序,語言為C++。

    1 界面卡死原因

    “界面卡死”是計(jì)算機(jī)系統(tǒng)由于過量的進(jìn)程資源消耗,使圖形界面進(jìn)程受到影響的現(xiàn)象??刂瞥绦蜉^為復(fù)雜的指令有發(fā)送和接收?qǐng)?bào)文、進(jìn)行運(yùn)動(dòng)軌跡規(guī)劃等。用戶通過示教器的圖形界面發(fā)出指令,在進(jìn)行稍微復(fù)雜的處理時(shí)就會(huì)有延遲,使得界面(GUI)卡死。對(duì)此進(jìn)行改進(jìn),將控制器的程序拆分為兩個(gè),如圖2所示。一個(gè)程序是用戶界面程序(GUI),稱為RH-LBR,負(fù)責(zé)收集用戶指令,另一個(gè)程序Communication_APP專門負(fù)責(zé)收集下位機(jī)發(fā)來的報(bào)文,以及通過GUI指令向下位機(jī)發(fā)送指令。這樣耗時(shí)的處理都由Communication_APP來處理,用戶交互界面RH-LBR不會(huì)被卡死。兩個(gè)程序之間的通訊模式為TCP/IP。

    2 建立TCP通訊

    下面分別介紹RH_LBR和Communication_APP這兩個(gè)程序里負(fù)責(zé)通訊的類。CIRT_LBR_GUI類定義RH_LBR程序的GUI,有信號(hào)與槽函數(shù)和ControllerSocket類互通消息。ControllerSocket類定義TCP里的用戶端類。Communication_APP程序里有TcpTransaction類,主要定義TCP里的服務(wù)器端,見圖3。

    在RH_LBR程序的ControllerSocket類中,重要函數(shù)如下:①void ControllerSocket::connectToController()建立TCP連接;②void ControllerSocket::readMessage()接收Communication_APP這個(gè)程序發(fā)來的信息,會(huì)有對(duì)應(yīng)的sendMessage函數(shù)在Communication_APP程序里;③void ControllerSocket::writeBytes(const QString & Message)傳輸信息,使Communication_APP可以接收到信息。

    在Communication_APP程序的TcpTransaction類中,重要函數(shù)有:①void TcpTransaction::sessionOpened()。TCP通信的網(wǎng)絡(luò)配置槽函數(shù);②void TcpTransaction::readMessage()。獲取用戶程序發(fā)送的全部報(bào)文,并解析后通過信號(hào)發(fā)送給子線程:HS_Interface;③void TcpTransaction::sendMessage(const QString & Message)。通過本函數(shù)將需要發(fā)送ControllerSocket類的信息發(fā)送出去。

    2.1 RH_LBR用戶界面程序兩個(gè)主要類

    RH_LBR程序里有兩個(gè)主要類:CIRT_LBR_GUI和ControllerSocket類。

    在CIRT_LBR_GUI類中用信號(hào)與槽函數(shù)調(diào)用ControllerSocket類中的startTCPConnection()函數(shù),建立TCP連接。

    void CIRT_LBR_GUI::initTCPConnection()

    {

    開始新建socket的線程和socket的對(duì)象

    TCPConnectionThread=new QThread;

    controllerSocket=new ControllerSocket;

    controllerSocket->moveToThread(TCPConnectionThread);

    下一行代碼表示用GUI界面的信號(hào)函數(shù)觸發(fā)ControllerSocket類的TCP連接函數(shù):

    connect(this,SIGNAL(startTCPConnection()),controllerSocket,SLOT(startTCPConnection()));

    下一行代碼表示ControllerSocket類的TCP連接結(jié)果反饋給GUI界面:

    connect(controllerSocket,SIGNAL(socketConnectionResult(bool)),this,SLOT(getSocketConnectionResult(bool)));

    TCPConnectionThread->start();開始事件循環(huán)}endprint

    下面是ControllerSocket類中定義的一些參數(shù)和槽函數(shù)。

    QString ControllerSocket::hostName="127.0.0.1";TCP主機(jī)名,不是實(shí)際的,可自行設(shè)定

    int ControllerSocket::portNo=30001;TCP端口名

    QTcpSocket*socket;

    QDataStream dataInputStream;

    ControllerSocket::ControllerSocket(QObject*parent):QObject(parent)

    {socket=new QTcpSocket(this);新建socket

    connect(socket,SIGNAL(connected()),this,SLOT(onConnected()));

    connect(socket,SIGNAL(disconnected()),this,SLOT(onDisconnected()));

    connect(socket,SIGNAL(readyRead()),this,SLOT(readMessage()));讀取socket發(fā)來的信息

    }

    void ControllerSocket::startTCPConnection()

    {connectToController();}

    void ControllerSocket::connectToController()

    {socket->connectToHost(hostName,portNo);

    if(!socket->waitForConnected())

    {qDebug()<<"can not connect to controller"; return;}

    dataInputStream.setDevice(socket);

    dataInputStream.setVersion(QDataStream::Qt_4_0);}

    下面的readMessage()函數(shù)表示接收Communication_APP這個(gè)程序發(fā)來的信息,會(huì)有對(duì)應(yīng)的sendMessage函數(shù)在Communication_APP程序里。

    void ControllerSocket::readMessage()

    {std::vectormessages;

    bool committransaction=true;

    while (committransaction && socket->bytesAvailable()>0){

    dataInputStream.startTransaction();

    QString message;

    dataInputStream>>message;

    committransaction=dataInputStream.commitTransaction();

    if(committransaction)

    {messages.push_back(message);

    parseMessage(message);這個(gè)函數(shù)表示消息格式識(shí)別,具體代碼省略,這個(gè)函數(shù)會(huì)發(fā)送Q_EMIT信號(hào)函數(shù)給CIRT_LBR_GUI類}}}

    void ControllerSocket::writeBytes(const QString & Message)

    這個(gè)writeBytes函數(shù)傳輸信息,使得Communication_APP程序可以接收到信息:

    {QByteArray block;

    QDataStream out(&block, QIODevice::WriteOnly);

    out.setVersion(QDataStream::Qt_4_0);

    out<

    qDebug()<<"to server:"<

    if(socket->state()==QAbstractSocket::ConnectedState)

    {socket->write(block);

    socket->flush();}}

    2.2 Communication_APP TCP通訊服務(wù)器端程序

    Communication_APP程序最重要是TcpTransaction類,下面介紹如何建立TCP通訊和信息傳遞。

    QTcpServer*tcpServer(tcp通信的服務(wù)器);QTcpSocket*tcpsocket(tcp通信的socket);

    QDataStream in;用于和驅(qū)動(dòng)器通信的子線程;

    HardSoft_Interface*HS_Interface;這是和硬件連接的類,負(fù)責(zé)向下位機(jī)發(fā)送報(bào)文,不詳細(xì)介紹。

    QThread HS_Thread;管理HS_interface qthread類

    TcpTransaction::TcpTransaction(QWidget*parent):QDialog(parent),statusLabel(new QLabel),tcpServer(Q_NULLPTR),HS_Interface(new HardSoft_Interface()),HS_Thread(this)

    {sessionOpened();TCP通信的網(wǎng)絡(luò)配置槽函數(shù),具體代碼如下:

    HS_Interface->moveToThread(&HS_Thread);將HS_Interface移動(dòng)到子線程

    將信號(hào)與槽進(jìn)行連接

    QPushButton*quitButton=new QPushButton(tr("Quit"));

    quitButton->setAutoDefault(false);

    connect(quitButton,&QAbstractButton::clicked,this,&QWidget::close);

    注意Initial函數(shù)表示每當(dāng)一個(gè)新的客戶端連接上服務(wù)器后,不管前面的客戶端是否退出,應(yīng)該delete之前的tcpsocket,而不只是修改服務(wù)器的tcpsocket指針指向:

    connect(tcpServer,&QTcpServer::newConnection,this,&TcpTransaction::Initial);

    connect(quitButton,&QAbstractButton::clicked,HS_Interface,&HardSoft_Interface::Quit);

    onnect(HS_Interface,&HardSoft_Interface::Exit,this,&TcpTransaction::ExitHsInterface);

    connect(&HS_Thread,&QThread::finished,this,&QWidget::close);HS_interface一旦退出,服務(wù)器也必須退出,頁(yè)面布局代碼忽略}

    void TcpTransaction::sessionOpened()

    {tcpsocket=Q_NULLPTR;

    tcpServer=new QTcpServer(this);

    QString testipaddress("127.0.0.1");非實(shí)際值,只是示例

    int port=30001;

    if(!tcpServer->listen(QHostAddress(testipaddress),port)){listen函數(shù)

    QMessageBox::critical(this,tr("Communication Server"),

    tr("Unable to start the server:%1.")

    .arg(tcpServer->errorString()));

    close();

    return;}}

    Initial函數(shù)步驟:①如果有客戶連接到服務(wù)器,則delete以前的服務(wù)器tcpsocket,然后獲取新的客戶tcp指針;②連接上客戶端后,將readyread信號(hào)和readmessage槽函數(shù)進(jìn)行連接(見下面部分代碼);③將用戶指令通過信號(hào)與槽和HS_interface進(jìn)行連接;④開啟HS_INTERFACE線程。

    void TcpTransaction::Initial()

    {如果客戶端退出,新客戶端連接到服務(wù)器,若原來的tcpsocket不被銷毀,可能會(huì)導(dǎo)致內(nèi)存泄漏,所以刪除之前的tcpsocket

    if(tcpsocket)

    delete tcpsocket;

    tcpsocket=tcpServer->nextPendingConnection();

    connect(tcpsocket,&QIODevice::readyRead,this,&TcpTransaction::readMessage);

    in.setDevice(tcpsocket);將DataStream和當(dāng)前的tcpsocket綁定

    in.setVersion(QDataStream::Qt_4_0);設(shè)置DataStream的版本

    將HS_interface發(fā)來的消息通過本線程發(fā)送給用戶APP,sendMessage詳細(xì)代碼:

    connect(HS_Interface,SIGNAL(SendMessage(QString)),this,SLOT(sendMessage(QString)));

    將所有用戶發(fā)來的指令解析后發(fā)送給子線程:HS_Interface,由HS_Interface經(jīng)過Pcan發(fā)送給can總線,從而和驅(qū)動(dòng)器通信。

    connect(this,SIGNAL(InitRobot()),HS_Interface,SLOT(start()));初始化機(jī)器人

    connect(this,SIGNAL(SetJointVel(const int&,const double&)),HS_Interface,SLOT(SetJointVel(const int&,const double&)));等等,不一一列舉。

    HS_Thread.start();}開啟子線程

    下面的readMessage函數(shù)獲取用戶程序發(fā)送的全部報(bào)文,解析后通過信號(hào)發(fā)送給子線程:HS_Interface

    void TcpTransaction::readMessage()

    {

    std::vectormessages;

    bool committransaction=true;

    while(committransaction &&

    tcpsocket->bytesAvailable()>0){

    in.startTransaction();

    QString message;

    in>>message;

    committransaction=in.commitTransaction();

    if(committransaction){

    messages.push_back(message);

    int TcpExceptionCode;

    MsgData messageData=parseMessage(message,TcpExceptionCode);

    檢查TCP通信獲得的字符串是否存在異常:

    switch(TcpExceptionCode){……

    switch(messageData.type){……

    }}}}

    通過sendMessage函數(shù)將需要發(fā)送的信息發(fā)送出去:

    void TcpTransaction::sendMessage(const QString&Message)

    {

    QByteArray block;

    QDataStream out(&block,QIODevice::WriteOnly);

    out.setVersion(QDataStream::Qt_4_0);

    out<

    if(tcpsocket->state()==QAbstractSocket::ConnectedState)

    {tcpsocket->write(block);

    tcpsocket->flush();}}

    3 軟件架構(gòu)改進(jìn)

    通過以上步驟,將耗時(shí)的程序以及與下位機(jī)通訊的程序都轉(zhuǎn)移為GUI界面卡死問題。pcan與can卡之間通訊不穩(wěn)定,有很多超時(shí)現(xiàn)象,軟件架構(gòu)改進(jìn)方向是:控制器和can卡采用TCP直接通訊,不再借用pcan轉(zhuǎn)換,使控制系統(tǒng)更加穩(wěn)定,見圖4。通過控制輕型六軸機(jī)械臂運(yùn)動(dòng),證明此軟件有效,解決了界面卡死問題。

    參考文獻(xiàn):

    [1] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)教程[M].北京:人民郵電出版社,2002.

    [2] DOUGLAS E, COMER.Internetworking With TCP/IP[Z].2001.

    [3] 凌俊峰.TCP/IP協(xié)議淺釋[J].韶關(guān)學(xué)院學(xué)報(bào),2001(9):138-142.

    [4] 張延雙,張建標(biāo),王全民.TCP/IP協(xié)議分析及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2007.

    [5] BRUCE ECKEL.Think in C++[M].劉宗田,譯.北京:機(jī)械工業(yè)出版社,2000.

    [6] JASMINBLANCHETTE, MARKSUMMERFIELD. C++GUIQt4編程[M].第2版.閆鋒欣,譯.北京:電子工業(yè)出版社,2008.

    [7] 霍亞飛.QT Creator快速入門[M].北京:北京航空航天大學(xué)出版社,2012.

    [8] 黃維通.面向?qū)ο蟪绦蛟O(shè)計(jì)與QT程序設(shè)計(jì)入門[M].北京:北京航空航天大學(xué)出版社,2010.

    [9] JIM BEVERIDGE, ROBERT WIENER,侯捷.Win32多線程序設(shè)計(jì)[M].武漢:華中科技大學(xué)出版社,2002.

    [10] 清山博客.使用SOCKET實(shí)現(xiàn)TCP/IP協(xié)議的通訊[EB/OL].http://blog.csdn.net/a497785609/article/details/12871301.

    [11] STANLEY B. LIPPMAN. C++Primer[M].北京:人民郵電出版社,2006.

    [12] 李宋琛.Linux面向?qū)ο蟠翱诟呒?jí)編程[M].北京:科學(xué)出版社,2001.

    [13] 羅亞非.基于TCP的Socket多線程通信[J].電腦知識(shí)與技術(shù),2009(2):36-39.

    亚洲欧美成人综合另类久久久| 国产精品一区www在线观看| 99热国产这里只有精品6| 中文天堂在线官网| 看免费成人av毛片| 日本欧美视频一区| 免费黄网站久久成人精品| 欧美精品亚洲一区二区| 国产精品久久久久成人av| 99九九线精品视频在线观看视频| 成人国产av品久久久| 欧美区成人在线视频| 日韩欧美一区视频在线观看 | 97精品久久久久久久久久精品| 欧美xxxx黑人xx丫x性爽| 精品久久久久久久久av| 亚洲一级一片aⅴ在线观看| 日韩精品有码人妻一区| 国产精品偷伦视频观看了| 国产有黄有色有爽视频| 五月开心婷婷网| 人妻制服诱惑在线中文字幕| 麻豆成人av视频| 国产伦精品一区二区三区四那| 国产深夜福利视频在线观看| 国产成人aa在线观看| 久久韩国三级中文字幕| 黑人猛操日本美女一级片| 一级片'在线观看视频| 99热网站在线观看| 久久久久久久久大av| 亚洲美女黄色视频免费看| 久久久精品免费免费高清| 蜜桃久久精品国产亚洲av| 毛片女人毛片| 国产精品久久久久久av不卡| 国产午夜精品一二区理论片| 中文字幕制服av| 少妇熟女欧美另类| 国产片特级美女逼逼视频| 毛片一级片免费看久久久久| 美女内射精品一级片tv| 国产成人a∨麻豆精品| 久久精品久久精品一区二区三区| 色哟哟·www| 爱豆传媒免费全集在线观看| 美女国产视频在线观看| 亚洲精品中文字幕在线视频 | 成人毛片a级毛片在线播放| 国产av精品麻豆| 日本黄色日本黄色录像| 日本黄色日本黄色录像| 国产毛片在线视频| 欧美高清成人免费视频www| 大又大粗又爽又黄少妇毛片口| 精品亚洲成a人片在线观看 | 一区二区三区精品91| 亚洲精品,欧美精品| 国产一区二区在线观看日韩| 最黄视频免费看| 成人毛片60女人毛片免费| 久久人妻熟女aⅴ| 国产精品一区二区性色av| 寂寞人妻少妇视频99o| 男的添女的下面高潮视频| 肉色欧美久久久久久久蜜桃| 成人亚洲精品一区在线观看 | 国产乱人视频| 欧美三级亚洲精品| 中文字幕av成人在线电影| 午夜福利在线在线| 日产精品乱码卡一卡2卡三| 亚洲精品亚洲一区二区| 在线观看免费日韩欧美大片 | 国产欧美日韩一区二区三区在线 | 亚洲精品亚洲一区二区| 这个男人来自地球电影免费观看 | 男女下面进入的视频免费午夜| 日本vs欧美在线观看视频 | 日本vs欧美在线观看视频 | 亚洲美女视频黄频| 少妇丰满av| 亚洲国产av新网站| 亚洲av男天堂| 各种免费的搞黄视频| 亚州av有码| 国产视频首页在线观看| 亚洲精品国产成人久久av| 在线观看国产h片| 观看美女的网站| 高清不卡的av网站| 丰满迷人的少妇在线观看| 校园人妻丝袜中文字幕| 日本爱情动作片www.在线观看| 中国国产av一级| 欧美日韩视频高清一区二区三区二| 免费大片18禁| 偷拍熟女少妇极品色| 久久精品久久精品一区二区三区| 在线观看免费高清a一片| 亚洲国产最新在线播放| 久久久久精品性色| 嘟嘟电影网在线观看| 国产日韩欧美亚洲二区| 黄色欧美视频在线观看| 亚洲av中文字字幕乱码综合| 另类亚洲欧美激情| 国产毛片在线视频| 黄色配什么色好看| 女人久久www免费人成看片| 精品国产露脸久久av麻豆| 亚洲色图av天堂| 亚洲成人av在线免费| 我的老师免费观看完整版| 三级国产精品欧美在线观看| 身体一侧抽搐| 亚洲一区二区三区欧美精品| 国产精品国产三级专区第一集| 1000部很黄的大片| 汤姆久久久久久久影院中文字幕| 97在线视频观看| 街头女战士在线观看网站| 男的添女的下面高潮视频| 中文天堂在线官网| 国产真实伦视频高清在线观看| 99热国产这里只有精品6| 免费播放大片免费观看视频在线观看| 在线观看一区二区三区| 大码成人一级视频| 搡老乐熟女国产| 啦啦啦视频在线资源免费观看| 久久国产亚洲av麻豆专区| 亚洲精品国产色婷婷电影| 少妇人妻久久综合中文| 一级毛片 在线播放| 亚洲精品乱久久久久久| 97在线视频观看| 91在线精品国自产拍蜜月| 丰满少妇做爰视频| 51国产日韩欧美| 一级黄片播放器| 国产欧美日韩一区二区三区在线 | 国产精品国产三级专区第一集| 亚洲欧美日韩无卡精品| 草草在线视频免费看| 国产亚洲最大av| 久久韩国三级中文字幕| 王馨瑶露胸无遮挡在线观看| 国产老妇伦熟女老妇高清| 啦啦啦啦在线视频资源| 男人添女人高潮全过程视频| 91精品一卡2卡3卡4卡| 性高湖久久久久久久久免费观看| 最近中文字幕2019免费版| 婷婷色麻豆天堂久久| 日韩精品有码人妻一区| 亚洲av.av天堂| 午夜激情久久久久久久| 综合色丁香网| 免费观看的影片在线观看| 亚洲精品成人av观看孕妇| 国产 精品1| 亚洲精品456在线播放app| 99热这里只有精品一区| 男女无遮挡免费网站观看| 在线播放无遮挡| h日本视频在线播放| 午夜福利网站1000一区二区三区| 日本与韩国留学比较| 欧美日韩精品成人综合77777| 国产伦精品一区二区三区视频9| 男女边吃奶边做爰视频| 精品少妇久久久久久888优播| 国语对白做爰xxxⅹ性视频网站| 亚洲精品第二区| 亚洲欧美日韩另类电影网站 | 尾随美女入室| 成人亚洲精品一区在线观看 | 国产成人免费观看mmmm| 国产精品免费大片| 国产成人a∨麻豆精品| 亚洲国产精品成人久久小说| 欧美成人精品欧美一级黄| 青春草视频在线免费观看| 日韩国内少妇激情av| 国产免费一级a男人的天堂| 蜜臀久久99精品久久宅男| 黑人高潮一二区| 舔av片在线| 六月丁香七月| 国产精品一二三区在线看| 乱码一卡2卡4卡精品| 国产精品国产av在线观看| 欧美激情极品国产一区二区三区 | 黑丝袜美女国产一区| 亚洲av国产av综合av卡| 亚州av有码| av国产精品久久久久影院| 2021少妇久久久久久久久久久| 亚洲精品成人av观看孕妇| 久久久久久久久久久丰满| 在线播放无遮挡| 大话2 男鬼变身卡| 在线观看一区二区三区| 成人18禁高潮啪啪吃奶动态图 | 国产精品蜜桃在线观看| 国产深夜福利视频在线观看| 高清视频免费观看一区二区| 国产黄片美女视频| 欧美日韩在线观看h| 日韩av免费高清视频| 一级毛片我不卡| 欧美 日韩 精品 国产| 成年女人在线观看亚洲视频| 欧美激情极品国产一区二区三区 | 黄片无遮挡物在线观看| 七月丁香在线播放| 一二三四中文在线观看免费高清| 人妻系列 视频| 又黄又爽又刺激的免费视频.| 久久鲁丝午夜福利片| 久久精品人妻少妇| 五月玫瑰六月丁香| 亚洲aⅴ乱码一区二区在线播放| 青春草国产在线视频| 亚洲av成人精品一区久久| 久久女婷五月综合色啪小说| 少妇人妻一区二区三区视频| a级毛片免费高清观看在线播放| 美女内射精品一级片tv| 日本黄色片子视频| 成人美女网站在线观看视频| 久久国产精品大桥未久av | 一个人看的www免费观看视频| 九草在线视频观看| 1000部很黄的大片| 七月丁香在线播放| 国产免费视频播放在线视频| 啦啦啦啦在线视频资源| 日韩电影二区| 精品国产一区二区三区久久久樱花 | 国产91av在线免费观看| 80岁老熟妇乱子伦牲交| 肉色欧美久久久久久久蜜桃| 九九久久精品国产亚洲av麻豆| 少妇裸体淫交视频免费看高清| 麻豆成人午夜福利视频| 亚洲不卡免费看| 九草在线视频观看| 一区二区av电影网| 国产男女内射视频| 久久午夜福利片| 如何舔出高潮| 欧美激情国产日韩精品一区| 日韩av在线免费看完整版不卡| 国产欧美另类精品又又久久亚洲欧美| 能在线免费看毛片的网站| 亚洲美女搞黄在线观看| 色综合色国产| 日韩精品有码人妻一区| 日本av手机在线免费观看| 午夜激情福利司机影院| 国产色婷婷99| 大陆偷拍与自拍| 亚洲国产av新网站| 女人十人毛片免费观看3o分钟| 久久99热6这里只有精品| 少妇的逼水好多| 久久国产精品大桥未久av | 国产乱人视频| 亚洲av男天堂| av卡一久久| 熟妇人妻不卡中文字幕| 日日摸夜夜添夜夜添av毛片| 国产爱豆传媒在线观看| 有码 亚洲区| 夜夜骑夜夜射夜夜干| 久久精品国产a三级三级三级| 成人高潮视频无遮挡免费网站| 这个男人来自地球电影免费观看 | 18禁在线无遮挡免费观看视频| 亚洲av不卡在线观看| www.av在线官网国产| 欧美日韩在线观看h| 一级二级三级毛片免费看| 国产黄色视频一区二区在线观看| av专区在线播放| 成年美女黄网站色视频大全免费 | 免费看日本二区| 亚洲国产精品999| 亚洲精品日韩在线中文字幕| 亚洲一级一片aⅴ在线观看| 一级毛片我不卡| 新久久久久国产一级毛片| 插逼视频在线观看| 国产精品人妻久久久影院| 女性被躁到高潮视频| 99热这里只有是精品50| 人体艺术视频欧美日本| 日韩精品有码人妻一区| 综合色丁香网| 国产精品久久久久久精品古装| 中文资源天堂在线| 久久99精品国语久久久| 欧美性感艳星| 国产中年淑女户外野战色| 国产又色又爽无遮挡免| 中文欧美无线码| 久久97久久精品| 免费看日本二区| 人人妻人人澡人人爽人人夜夜| 日韩制服骚丝袜av| 性色avwww在线观看| 尤物成人国产欧美一区二区三区| 成人亚洲欧美一区二区av| 中国三级夫妇交换| 亚洲国产精品成人久久小说| 男人添女人高潮全过程视频| 中文天堂在线官网| 成人影院久久| 51国产日韩欧美| 亚洲,欧美,日韩| 国产黄色免费在线视频| 成人18禁高潮啪啪吃奶动态图 | 99re6热这里在线精品视频| av在线观看视频网站免费| 日韩成人av中文字幕在线观看| 久久久久久久大尺度免费视频| 欧美最新免费一区二区三区| 七月丁香在线播放| 一本久久精品| 国产日韩欧美亚洲二区| 午夜福利网站1000一区二区三区| 男女国产视频网站| 免费看av在线观看网站| 亚洲成色77777| 中文精品一卡2卡3卡4更新| 男人爽女人下面视频在线观看| 久久av网站| 久久99热这里只有精品18| 在现免费观看毛片| 精品一品国产午夜福利视频| 中文字幕av成人在线电影| 亚洲精品国产成人久久av| 秋霞在线观看毛片| 亚洲国产精品999| 精华霜和精华液先用哪个| 国产成人免费无遮挡视频| 国产色爽女视频免费观看| 身体一侧抽搐| 18禁在线播放成人免费| 91精品国产九色| 亚洲av二区三区四区| 一区二区av电影网| av不卡在线播放| 夫妻午夜视频| 中文乱码字字幕精品一区二区三区| 91精品一卡2卡3卡4卡| 观看av在线不卡| 欧美xxxx黑人xx丫x性爽| 黄色欧美视频在线观看| 亚洲av中文av极速乱| 欧美性感艳星| 国产片特级美女逼逼视频| 香蕉精品网在线| 国产91av在线免费观看| 99久久精品国产国产毛片| 国产成人91sexporn| 精华霜和精华液先用哪个| 亚洲性久久影院| 欧美老熟妇乱子伦牲交| 国产成人freesex在线| 精品国产三级普通话版| 久久ye,这里只有精品| 啦啦啦啦在线视频资源| 一个人看的www免费观看视频| 七月丁香在线播放| 免费黄色在线免费观看| 亚洲丝袜综合中文字幕| 欧美精品一区二区免费开放| 欧美日韩视频高清一区二区三区二| 亚洲图色成人| 欧美精品人与动牲交sv欧美| 国产综合精华液| 观看免费一级毛片| 国产精品国产三级专区第一集| 99久久综合免费| 国产淫语在线视频| 国产一区二区三区av在线| 精品久久久精品久久久| 久久久久久久亚洲中文字幕| 男女边摸边吃奶| 久久韩国三级中文字幕| 免费少妇av软件| av网站免费在线观看视频| 久久人人爽av亚洲精品天堂 | 久久精品国产自在天天线| 一本一本综合久久| 18+在线观看网站| 又大又黄又爽视频免费| 亚洲欧美清纯卡通| 国产伦理片在线播放av一区| 日本wwww免费看| 狂野欧美激情性bbbbbb| 黄色一级大片看看| 我的女老师完整版在线观看| 熟女人妻精品中文字幕| 伦理电影大哥的女人| 精品久久久久久久久av| 在线亚洲精品国产二区图片欧美 | 老司机影院成人| 18+在线观看网站| 九九久久精品国产亚洲av麻豆| 狂野欧美白嫩少妇大欣赏| 亚洲国产日韩一区二区| av又黄又爽大尺度在线免费看| 久久精品国产亚洲网站| 五月开心婷婷网| 国国产精品蜜臀av免费| 女的被弄到高潮叫床怎么办| 男女免费视频国产| 国产黄片视频在线免费观看| 97在线人人人人妻| 亚洲av国产av综合av卡| 国产免费一区二区三区四区乱码| 午夜免费男女啪啪视频观看| 久久久久精品久久久久真实原创| 男人爽女人下面视频在线观看| 九草在线视频观看| 欧美国产精品一级二级三级 | 老熟女久久久| 久久久午夜欧美精品| 亚洲综合精品二区| 亚洲,欧美,日韩| 亚洲内射少妇av| 久久精品国产a三级三级三级| 免费高清在线观看视频在线观看| 日本一二三区视频观看| 人妻制服诱惑在线中文字幕| 麻豆国产97在线/欧美| 直男gayav资源| 亚洲真实伦在线观看| 国产精品熟女久久久久浪| 亚洲最大成人中文| 欧美少妇被猛烈插入视频| 又黄又爽又刺激的免费视频.| 亚洲欧美日韩无卡精品| 中文乱码字字幕精品一区二区三区| 免费av不卡在线播放| 亚洲欧美精品专区久久| 午夜福利网站1000一区二区三区| 最近中文字幕高清免费大全6| av视频免费观看在线观看| 久久久成人免费电影| 亚洲精品第二区| 天堂中文最新版在线下载| 久久 成人 亚洲| 亚洲精品一二三| 啦啦啦在线观看免费高清www| 直男gayav资源| 国产精品无大码| 狂野欧美白嫩少妇大欣赏| 日本免费在线观看一区| 天堂8中文在线网| 秋霞伦理黄片| 日韩大片免费观看网站| 如何舔出高潮| 亚洲精品亚洲一区二区| 亚洲四区av| 看十八女毛片水多多多| 91久久精品国产一区二区三区| 国产色婷婷99| 99热网站在线观看| 免费黄网站久久成人精品| 蜜臀久久99精品久久宅男| 亚洲va在线va天堂va国产| 高清黄色对白视频在线免费看 | 偷拍熟女少妇极品色| 欧美97在线视频| 99热网站在线观看| 免费看日本二区| 2022亚洲国产成人精品| 午夜福利影视在线免费观看| 久久久久久久久久久免费av| 久久久久久久精品精品| 日韩在线高清观看一区二区三区| 久久久久久久久大av| 国产欧美日韩一区二区三区在线 | 亚洲av不卡在线观看| 国产极品天堂在线| av福利片在线观看| 人妻 亚洲 视频| 街头女战士在线观看网站| 久久久色成人| .国产精品久久| 日本爱情动作片www.在线观看| h视频一区二区三区| 十分钟在线观看高清视频www | 亚洲av电影在线观看一区二区三区| 亚洲人成网站高清观看| 国产精品秋霞免费鲁丝片| 如何舔出高潮| 蜜臀久久99精品久久宅男| 狂野欧美激情性bbbbbb| 成人毛片60女人毛片免费| 大香蕉97超碰在线| 国产av码专区亚洲av| 91精品伊人久久大香线蕉| 日韩成人伦理影院| av一本久久久久| 国产午夜精品一二区理论片| 亚洲综合色惰| 丝瓜视频免费看黄片| 久久精品国产自在天天线| 蜜桃亚洲精品一区二区三区| 国产精品偷伦视频观看了| 国产 精品1| 91久久精品电影网| 国内精品宾馆在线| 免费观看av网站的网址| 亚洲欧美清纯卡通| 色网站视频免费| av卡一久久| .国产精品久久| 美女内射精品一级片tv| 久久女婷五月综合色啪小说| 免费观看无遮挡的男女| 大香蕉久久网| 日本爱情动作片www.在线观看| 亚洲,欧美,日韩| 色视频在线一区二区三区| 亚洲,欧美,日韩| 综合色丁香网| 小蜜桃在线观看免费完整版高清| 亚洲内射少妇av| 久久国产精品男人的天堂亚洲 | 久久久精品94久久精品| 精品亚洲成国产av| 精品国产三级普通话版| 国产精品久久久久久久久免| 亚洲天堂av无毛| 香蕉精品网在线| 日本午夜av视频| 中文字幕亚洲精品专区| 欧美bdsm另类| 丝瓜视频免费看黄片| 亚洲欧洲国产日韩| 亚洲不卡免费看| 国产精品av视频在线免费观看| 久久精品国产亚洲av天美| 亚洲国产av新网站| 高清在线视频一区二区三区| 久久久成人免费电影| 极品少妇高潮喷水抽搐| 高清日韩中文字幕在线| 亚洲av在线观看美女高潮| 国产精品av视频在线免费观看| 亚洲精品一区蜜桃| 亚洲伊人久久精品综合| 日日啪夜夜爽| 丰满人妻一区二区三区视频av| 亚洲av成人精品一区久久| 亚洲国产欧美在线一区| 夜夜爽夜夜爽视频| 在线观看三级黄色| h视频一区二区三区| 免费久久久久久久精品成人欧美视频 | 欧美精品一区二区免费开放| 国产无遮挡羞羞视频在线观看| av免费观看日本| 狠狠精品人妻久久久久久综合| 3wmmmm亚洲av在线观看| 蜜桃久久精品国产亚洲av| 少妇人妻 视频| 涩涩av久久男人的天堂| xxx大片免费视频| av视频免费观看在线观看| 亚洲av电影在线观看一区二区三区| 亚洲,欧美,日韩| 日日摸夜夜添夜夜爱| 夫妻性生交免费视频一级片| 丰满少妇做爰视频| 男女免费视频国产| 久久精品夜色国产| 亚洲欧美日韩无卡精品| 久久精品国产a三级三级三级| av免费在线看不卡| 97在线人人人人妻| xxx大片免费视频| av视频免费观看在线观看| 中国国产av一级| 久久鲁丝午夜福利片| 欧美xxxx黑人xx丫x性爽| 肉色欧美久久久久久久蜜桃| av女优亚洲男人天堂| 国产黄色免费在线视频| 美女高潮的动态| 国产一区二区在线观看日韩| 国产在线一区二区三区精| 五月玫瑰六月丁香| 人妻 亚洲 视频| 国产综合精华液| 波野结衣二区三区在线| 女性被躁到高潮视频| 久久久午夜欧美精品| 久热久热在线精品观看| 日韩不卡一区二区三区视频在线| 国产大屁股一区二区在线视频| 久久久久视频综合| 少妇的逼水好多| 美女xxoo啪啪120秒动态图| 网址你懂的国产日韩在线| 亚洲四区av| 久久热精品热| 蜜桃亚洲精品一区二区三区|