亚洲精品国产v片在线观看,欧美v日韩v国产综合,亚洲av片一区二区三区不卡不,日韩欧美中文在线播放

產(chǎn)品|公司|采購|招標

環(huán)保APP正式上線

一體化風機振動測量用元件HDYD113

參考價 1
訂貨量 ≥1
具體成交價以合同協(xié)議為準
  • 公司名稱恒泰聯(lián)測儀器儀表制造(蘇州)有限公司
  • 品       牌正興過濾
  • 型       號
  • 所  在  地蘇州市
  • 廠商性質(zhì)生產(chǎn)廠家
  • 更新時間2024/5/1 20:02:47
  • 訪問次數(shù)270
在線詢價收藏產(chǎn)品 進入展商展臺

聯(lián)系方式:盧亮查看聯(lián)系方式

聯(lián)系我們時請說明是 環(huán)保在線 上看到的信息,謝謝!

恒泰聯(lián)測儀器儀表制造(蘇州)有限公司是國內(nèi)專業(yè)從事振動檢測和主要生產(chǎn)振動傳感器、振動溫度傳感器、溫度傳感器、轉(zhuǎn)速傳感器、電渦流傳感器及相關(guān)配套儀器儀表設(shè)備的研發(fā)、生產(chǎn)與銷售的技術(shù)型企業(yè),傳感器生產(chǎn)廠家。公司技術(shù)力量雄厚,與多所重點大學合作,一直致力于設(shè)備狀態(tài)監(jiān)測科技前沿產(chǎn)品的研發(fā),從而保證產(chǎn)品技術(shù)處于行業(yè)主導地位。高素質(zhì)專業(yè)人才分布于科研、生產(chǎn)、營銷、服務(wù)等重要崗位。

公司所開發(fā)產(chǎn)品廣泛應用于電力(水電、火電、風電)、金屬結(jié)構(gòu)、石化、鋼鐵、機械制造、造紙、制藥、航空航天等工業(yè)行業(yè)及大專院校振動教學領(lǐng)域。公司產(chǎn)品遠銷國非洲、歐洲、東南亞等國家及地區(qū),在業(yè)界處于主導地位,深受廣大用戶的歡迎及好評。

 

一體化振動變送器,振動速度傳感器,電渦流傳感器,多參數(shù)探頭
產(chǎn)地 國產(chǎn)
一體化風機振動測量用元件HDYD113,風機振動測量用元件HD-YD-113將振動速度傳感器、精密測量電路集成在一起,構(gòu)成高精度振動測量系統(tǒng)...
一體化風機振動測量用元件HDYD113 產(chǎn)品信息
一體化風機振動測量用元件HDYD113

風機振動測量用元件HD-YD-113將振動速度傳感器、精密測量電路集成在一起,構(gòu)成高精度振動測量系統(tǒng),實現(xiàn)了傳統(tǒng)的“傳感器+監(jiān)測儀表模式的振動測量系統(tǒng)的功能,該變送器可直接連接DCS、PLC或其它設(shè)備,是風機、電動機、水泵等工廠設(shè)備振動測量的理想選擇。
 
技術(shù)參數(shù)
供電電源:24VDC±10%
輸入信號:取自內(nèi)置振動速度傳感器的信號
靈 敏 度:20mv/mm/s±5%
頻率響應:10 ~1000 Hz或者5~1000 Hz(特殊說明)
量    程:0-20mm/s(真有效值)
            0-200um(峰-峰值)
測量誤差:±1%滿量程
輸出電流:4~20mA
輸出阻抗:≤500Ω
溫度范圍:運行時:-25℃~+65℃
儲存時:-40℃~85℃
相對濕度:至95%,不冷凝
外形尺寸:φ33×75mm
重    量:約340g

訂貨代號
XJ-9200A□□(可選)-□□(V/D)- A□□- B□□-C□□
選型說明
可選:防水接頭□:F-防水接頭
凱裝出線□:B-凱裝管
必選:選型說明
量程范圍□□:
振動速度量   10V-0~10mm/s; 20V*-0~20mm/s;  30V-0~30mm/s;……
振動位移量   100D-0~100μm;100D-0~200μm;  300D-0~300μm;……
安裝方向A□:
1-水平;2-垂直;3*-通用
安裝螺紋B□:
1*-M10×1.5;2-M8×1.25; 3-磁座;4-特殊定做
電纜長度C□:
1-1m;2*-2m;3-3m;……
無特殊情況,廠家按項生產(chǎn);如有特殊要求,請與我公司協(xié)商
選型舉例:XJ-9200A-20V-A3-B1-C2
風機振動測量用元件HD-YD-113







MAX31856熱電偶溫度變送器驅(qū)動設(shè)計與實現(xiàn)

在我們的產(chǎn)品中經(jīng)常有需要溫度檢測的地方,而熱電偶溫度檢測電路是我們常用的。熱電偶溫度檢測的方法很多,有時出于簡單方便的考慮我們會選擇熱偶溫度變送器來實現(xiàn),這一篇我們就來討論使用MAX31856熱電偶溫度變送器實現(xiàn)溫度的檢測。

1、功能概述

MAX31856可以對任何類型熱電偶的信號進行冷端補償和數(shù)字轉(zhuǎn)換,輸出數(shù)據(jù)以攝氏度為單位。轉(zhuǎn)換器溫度分辨率達0.0078125°C,允許讀取+1800°C、-210°C(取決于熱電偶類型)的溫度讀數(shù),熱電偶電壓測量精度達±0.15%。熱電偶輸入端提供±45V過壓保護。


MAX31856內(nèi)部的查找表(LUT)儲存不同類型熱電偶(K、J、N、R、S、T、E和B)的線性修正數(shù)據(jù)。而且MAX31856還具備50H和60Hz電網(wǎng)頻率濾波,也是熱電偶故障檢測頻率。SPI兼容接口允許選擇熱電偶類型并設(shè)置轉(zhuǎn)換和故障檢測過程。
熱電偶功能是檢測熱電偶線兩端的溫度差??稍跓犭娕嫉念~定工作溫度范圍內(nèi)測量其檢測端(常稱為“熱”端),關(guān)于熱電偶測溫范圍:


MAX31856將冷端溫度數(shù)據(jù)儲存在寄存器0Ah和0Bh。使能冷端溫度檢測時,這些寄存器為只讀,其中包含實測冷端溫度加冷端失調(diào)寄存器的數(shù)值。冷端溫度檢測使能時,讀取寄存器操作將DRDY引腳復位為高電平。應通過多字節(jié)傳輸讀取該寄存器的兩個字節(jié),以確保兩個字節(jié)的數(shù)據(jù)來自同一次溫度更新。禁止冷端溫度檢測時,這些寄存器為可讀/寫寄存器,其中包含的實測溫度值。如果需要,禁止內(nèi)部冷端檢測時,可將來自外部溫度傳感器的數(shù)據(jù)寫入這些傳感器。冷端溫度鉗位在128°C,小溫度鉗位在-64°C。


由于所有熱電偶都具有非線性,必須對冷端補償后的原始值進行線性修正,并轉(zhuǎn)換為溫度值。為實現(xiàn)這一處理,利用LUT產(chǎn)生經(jīng)過線性化和冷端補償?shù)臏囟戎担幻看无D(zhuǎn)換后,將其作為19位數(shù)據(jù)儲存在線性化熱電偶溫度寄存器(0Ch、0Dh和0Eh)中。應通過多字節(jié)傳輸讀取全部三個字節(jié),以確保所有數(shù)據(jù)來自于同一次數(shù)據(jù)更新。關(guān)于線性化熱電偶溫度數(shù)據(jù)格式,


與MAX31856的通信通過16個包含轉(zhuǎn)換、狀態(tài)和配置數(shù)據(jù)的8位寄存器實現(xiàn),全部設(shè)置均通過選擇相應寄存器單元的對應地址完成,寄存器存儲器映射所示為溫度、狀態(tài)和配置寄存器的地址。存取寄存器時,使用地址0Xh為讀操作,地址8Xh為寫操作。讀寫數(shù)據(jù)時,寄存器MSB在前。如果對只讀寄存器執(zhí)行寫操作,不改變該寄存器的值。


2、驅(qū)動設(shè)計與實現(xiàn)

我們了解了MAX31856熱偶溫度變送器的基本情況,接下來我們考慮如何實現(xiàn)MAX31856熱偶溫度變送器的驅(qū)動程序。

2.1、對象定義

我們依然是基于對象的概念來實現(xiàn)驅(qū)動程序的設(shè)計。 所以我們首先來考慮對象類型的定義。
作為一個對象至少包含有屬性和操作。 我們先來分析一下MAX31856熱偶溫度變送器對象的屬性有哪些。 MAX31856熱偶溫度變送器擁有16個寄存器,這些寄存器標識了MAX31856熱偶溫度變送器當前時刻所處的狀態(tài),所以我們將它們定義為屬性。 同時考慮到記錄當前時刻讀取的溫度轉(zhuǎn)換值和根據(jù)物理量程轉(zhuǎn)換的溫度值,所以我們將目標溫度及冷端溫度的ADC轉(zhuǎn)換值及物理量值作為MAX31856熱偶溫度變送器對象的屬性。
接下來我們考慮一下MAX31856熱偶溫度變送器對象需要實現(xiàn)哪些操作。 我們只考慮與具體平臺依賴性較強的操作。 對于MAX31856熱偶溫度變送器對象,當其完成AD轉(zhuǎn)換回給出一個就緒指示,我們需要實時的檢測這個信號,并且這個過程依賴于具體的軟硬件平臺,所以我們將檢測過程設(shè)計為對象的操作。 我們使用MAX31856熱偶溫度變送器需要對其進行讀寫,這一過程也同樣依賴于具體的軟硬件平臺,所以我們也將其作為對象的操作。 另外MAX31856用一個片選信號,在實現(xiàn)總線操作時我們需要以此來選擇目標器件,所以我們也將其作為對象的操作。 根據(jù)前述對屬性和操作的分析,我們可以定義對象類型如下:

復制/*定義MAX31856對象類型*/typedef struct Max31856Object {    uint8_t regValue[16];    uint32_t mDataCode;    uint32_t rDataCode;    float mTemperature;     //TC測量溫度    float rTemperature;      //冷端溫度    uint8_t (*Ready)(void);    void (*ReadData)(uint8_t *rData,uint16_t rSize);    void (*WriteData)(uint8_t *wData,uint16_t wSize);    void (*ChipSelcet)(Max31856CSType cs);     //片選信號}Max31856ObjectType;

我們已經(jīng)定義了對象類型,使用對象類型l可以聲明類型變量,但類型變量必須要初始化才能使用,所以我們還需要設(shè)計一個對象的初始化函數(shù)。 在這個初始化函數(shù)中,我們需要將對象變量以及具體應用相關(guān)的屬性及操作作為參數(shù)傳入,并對對象的各個屬性及操作函數(shù)指針賦初值。 具體實現(xiàn)如下;

復制/*初始化MAX31855對象*/void Max31856Initialization(Max31856ObjectType *tc,         //MAX31856對象變量                            Max31856Ready ready,            //就緒信號                            Max31856ReadDataType read,      //讀MAX31856函數(shù)指針                            Max31856WriteDataType write,    //寫MAX31856函數(shù)指針                            Max31856ChipSelcetType cs       //片選操作函數(shù)指針                                ){    uint8_t regValue=0;    uint8_t rData[16]={0};    if((tc==NULL)||(ready==NULL)||(read==NULL)||(write==NULL))    {        return;    }    tc->Ready=ready;    tc->ReadData=read;    tc->WriteData=write;    if(cs!=NULL)    {        tc->ChipSelcet=cs;    }    else    {        tc->ChipSelcet=DefaultChipSelect;    }    tc->mDataCode=0;    tc->rDataCode=0;    tc->mTemperature=0.0;    tc->rTemperature=0.0;    tc->ChipSelcet(Max31856CS_Disable);    regValue=0x81;    WriteRegister(tc,REG_CR0,regValue);    ReadRegister(tc,REG_CR0,rData,16);    for(int i=0;i<16;i++)    {        tc->regValue[i]=rData[i];    }}

2.2、對象操作

我們定義了對象類型并實現(xiàn)了初始化函數(shù),接下來我們需要考慮要對MAX31856熱偶溫度變送器執(zhí)行整么樣的操作,畢竟得到數(shù)據(jù)才是我們的目的。 我們考慮到需要設(shè)置相應的寄存器以實現(xiàn)相應功能,同時也需要獲取寄存器的值以得到設(shè)備狀態(tài),或者從MAX31856熱偶溫度變送器獲取測量數(shù)據(jù)。
我們先來看怎么讀取寄存器的值。 我們讀取寄存器的值用于判斷MAX31856當前的運行狀態(tài),前面我們已經(jīng)敘述過寄存器的地址及功能,而讀寄存器的時序要求如下:


根據(jù)前面的描述及上述時序圖的要求可以編寫讀寄存器的函數(shù)如下:

復制/*讀寄存器操作*/static void ReadRegister(Max31856ObjectType *tc,uint8_t regAddr,uint8_t *rData,uint8_t rSize){    uint8_t wData=regAddr;    if(rSize<1)    {        return;    }    tc->ChipSelcet(Max31856CS_Enable);    tc->WriteData(&wData,1);    tc->ReadData(rData,rSize);    tc->ChipSelcet(Max31856CS_Disable);}

同樣我們寫寄存器時,我們根據(jù)前述寄存器的相關(guān)描述和寫寄存器的時序圖來實現(xiàn)。 寫寄存器的時序圖如下:


根據(jù)上述描述我們可以實現(xiàn)寫寄存器值的函數(shù)如下:

復制/*寫寄存器操作*/static void WriteRegister(Max31856ObjectType *tc,uint8_t regAddr,uint8_t value){    uint8_t wData[2];    if(regAddr>11)    {        return;    }    wData[0]=regAddr+0x80;    wData[1]=value;    tc->ChipSelcet(Max31856CS_Enable);    tc->WriteData(wData,2);    tc->ChipSelcet(Max31856CS_Disable);}

我們使用MAX31856的目的就是為了得到溫度測量數(shù)據(jù),所以我們來看看如何讀取溫度數(shù)據(jù)。 溫度轉(zhuǎn)換值可以一次讀取測量數(shù)據(jù)和冷端數(shù)據(jù),其時序圖如下:


根據(jù)上述描述我們一次性讀取6個字節(jié)的數(shù)據(jù),具體實現(xiàn)如下:

復制/*獲取MAX31855測量數(shù)據(jù)*/void Max31856GetDatas(Max31856ObjectType *tc){    uint8_t rData[6]={0};    if(tc->Ready())    {        if((tc->regValue[REG_CR0]&0x80) != 0x80)        {            WriteRegister(tc,REG_CR0,0x81);            ReadRegister(tc,REG_CR0,rData,1);            tc->regValue[REG_CR0]=rData[0];        }        return;    }    ReadRegister(tc,REG_CJTH,rData,6);    tc->rDataCode=(rData[0]<<8)+rData[1];    tc->mDataCode=(rData[2]<<16)+(rData[3]<<8)+rData[4];    tc->regValue[REG_SR]=rData[5];    tc->mTemperature=CalcMeasureTemperature(tc->mDataCode);    tc->rTemperature=CalcColdEndTemperature(tc->rDataCode);}

3、驅(qū)動的使用

我們已經(jīng)實現(xiàn)了MAX31856熱偶溫度變送器的驅(qū)動程序,這一節(jié)我們來使用該驅(qū)動程序?qū)崿F(xiàn)一個簡單應用,以驗證驅(qū)動程序的正確性。

3.1、聲明并初始化對象

首先我們需要使用前面定義的MAC31856熱偶溫度變送器對象類型聲明一個對象變量。 在我們的系統(tǒng)中,總線上掛載了4個MAX31856,所以我們聲明如下:

復制Max31856ObjectType tcObj[4];

聲明的對象變量需要先初始化方可使用,而初始化函數(shù)有5個參數(shù)。 個參數(shù)是需要要初始化的對象變量的指針,而余下的4個參數(shù)則是平臺相關(guān)的操作函數(shù)指針。 這些函數(shù)的原型定義如下:

復制typedef uint8_t (*Max31856Ready)(void);typedef void (*Max31856ReadDataType)(uint8_t *rData,uint16_t rSize);typedef void (*Max31856WriteDataType)(uint8_t *wData,uint16_t wSize);typedef void (*Max31856ChipSelcetType)(Max31856CSType cs);     //片選信號

這幾個函數(shù)則是我們需要根據(jù)具體的軟硬件平臺來實現(xiàn)的。 由于是在同一總線上,所以讀寫函數(shù)只需統(tǒng)一定義就好,但偏選信號和就緒信號則需根據(jù)模塊單獨定義。 具體的函數(shù)實現(xiàn)如下:

復制/*溫度模塊1就緒操作函數(shù)*/static uint8_t Tc1Ready(void){    uint8_t result=1;    result=HAL_GPIO_ReadPin(TC1_RDY_GPIO_Port,TC1_RDY_Pin);    return result;}/*溫度模塊2就緒操作函數(shù)*/static uint8_t Tc2Ready(void){    uint8_t result=1;    result=HAL_GPIO_ReadPin(TC2_RDY_GPIO_Port,TC2_RDY_Pin);    return result;}/*溫度模塊3就緒操作函數(shù)*/static uint8_t Tc3Ready(void){    uint8_t result=1;    result=HAL_GPIO_ReadPin(TC3_RDY_GPIO_Port,TC3_RDY_Pin);    return result;}/*溫度模塊4就緒操作函數(shù)*/static uint8_t Tc4Ready(void){    uint8_t result=1;    result=HAL_GPIO_ReadPin(TC4_RDY_GPIO_Port,TC4_RDY_Pin);    return result;}/*SPI1寫數(shù)據(jù)操作*/static void WriteData(uint8_t *wData,uint16_t wSize){    HAL_SPI_Transmit(&hspi1, wData, wSize, 1000);}/*溫度模塊1片選操作函數(shù)*/static void Tc1ChipSelcet(Max31856CSType cs){    if(Max31856CS_Enable == cs)    {        HAL_GPIO_WritePin(TC1_CS_GPIO_Port, TC1_CS_Pin, GPIO_PIN_RESET);        return;    }    HAL_GPIO_WritePin(TC1_CS_GPIO_Port, TC1_CS_Pin, GPIO_PIN_SET);}/*溫度模塊2片選操作函數(shù)*/static void Tc2ChipSelcet(Max31856CSType cs){    if(Max31856CS_Enable == cs)    {        HAL_GPIO_WritePin(TC2_CS_GPIO_Port, TC2_CS_Pin, GPIO_PIN_RESET);        return;    }    HAL_GPIO_WritePin(TC2_CS_GPIO_Port, TC2_CS_Pin, GPIO_PIN_SET);}/*溫度模塊3片選操作函數(shù)*/static void Tc3ChipSelcet(Max31856CSType cs){    if(Max31856CS_Enable == cs)    {        HAL_GPIO_WritePin(TC3_CS_GPIO_Port, TC3_CS_Pin, GPIO_PIN_RESET);        return;    }    HAL_GPIO_WritePin(TC3_CS_GPIO_Port, TC3_CS_Pin, GPIO_PIN_SET);}/*溫度模塊4片選操作函數(shù)*/static void Tc4ChipSelcet(Max31856CSType cs){    if(Max31856CS_Enable == cs)    {        HAL_GPIO_WritePin(TC4_CS_GPIO_Port, TC4_CS_Pin, GPIO_PIN_RESET);        return;    }    HAL_GPIO_WritePin(TC4_CS_GPIO_Port, TC4_CS_Pin, GPIO_PIN_SET);}

完成這些函數(shù)的定義后我們就可以初始化對象變量了! 將對象變量的指針以及這些函數(shù)的指針作為參數(shù)傳遞給初始化函數(shù),具體實現(xiàn)如下:

復制/*初始化MAX31856對象*/    Max31856Initialization(&tcObj[3],                           Tc4Ready,                           ReadData,                           WriteData,                           Tc4ChipSelcet                               );    Max31856Initialization(&tcObj[0],                           Tc1Ready,                           ReadData,                           WriteData,                           Tc1ChipSelcet                               );    Max31856Initialization(&tcObj[1],                           Tc2Ready,                           ReadData,                           WriteData,                           Tc2ChipSelcet                               );    Max31856Initialization(&tcObj[2],                           Tc3Ready,                           ReadData,                           WriteData,                           Tc3ChipSelcet                               );

至此我們就完成了對象變量的聲明及初始化,在后續(xù)操作中就可以使用對象變量對對應的MAX32856熱偶溫度變送器進行各種操作。

3.2、基于對象進行操作

現(xiàn)在我們就可以在應用中使用驅(qū)動程序完成我們想要對MAX31856進行的操作了!在這個例子中我們分別讀取4個MAX31856對象去測量值,并對這個測量值進行濾波處理。

復制Max31856GetDatas(&tcObj[0]);    tFilter[0].newValue=tcObj[0].mTemperature;    if(tcObj[0].mTemperature<0.0)    {        kF[0]=1.125;    }    aPara.phyPara.tc1Temp=Power3Polyfit(BandSmoothingFilter(&tFilter[0]),0.0,0.0,kF[0],0.0);    Max31856GetDatas(&tcObj[1]);    tFilter[1].newValue=tcObj[1].mTemperature;    if(tcObj[1].mTemperature<0.0)    {        kF[1]=1.126;    }    aPara.phyPara.tc2Temp=Power3Polyfit(BandSmoothingFilter(&tFilter[1]),0.0,0.0,kF[1],0.0);    Max31856GetDatas(&tcObj[2]);    tFilter[2].newValue=tcObj[2].mTemperature;    if(tcObj[2].mTemperature<0.0)    {        kF[2]=1.125;    }    aPara.phyPara.tc3Temp=Power3Polyfit(BandSmoothingFilter(&tFilter[2]),0.0,0.0,kF[2],0.0);    Max31856GetDatas(&tcObj[3]);    tFilter[3].newValue=tcObj[3].mTemperature;    if(tcObj[3].mTemperature<0.0)    {        kF[3]=1.125;    }    aPara.phyPara.tc4Temp=Power3Polyfit(BandSmoothingFilter(&tFilter[3]),0.0,0.0,kF[3],0.0);

到這里我們就完成了整個測試程序的編寫,運行后能夠正確讀取溫度數(shù)據(jù),說明我們設(shè)計的驅(qū)動程序是正確的。

4、應用總結(jié)

在這一篇中我們設(shè)計并實現(xiàn)了MAX31856熱偶溫度變送器的驅(qū)動程序,也編寫了測試應用來驗證這一驅(qū)動程序,測試的結(jié)果符合我們的預期。事實上,這一測試應用是從我們的實際項目中提取出來的,我們設(shè)計的MAX31856熱偶溫度變送器驅(qū)動程序在實際項目中運行也符合要求。
在使用驅(qū)動程序時需要注意,在我們的應用中是一條SPI總線掛載了4個MAX31856模塊,所以需要偏選信號。如果在應用中MAX31856是硬件設(shè)定的偏選信號,則可以在初始化時使用NULL或者空函數(shù)替代。


一體化風機振動測量用元件HDYD113
產(chǎn)品對比
QQ

咨詢中心

在線客服QQ交談

市場部QQ交談

發(fā)布詢價建議反饋
回到頂部

Copyright hbzhan.comAll Rights Reserved

環(huán)保在線 - 環(huán)保行業(yè)“互聯(lián)網(wǎng)+”服務(wù)平臺

對比欄

提示

×

*您想獲取產(chǎn)品的資料:

以上可多選,勾選其他,可自行輸入要求

個人信息:

亚洲欧美日韩亚洲欧美| 久久99国产精品综合| 精品无码中文字幕在线| 国产久久久久久久久一区二区| 韩漫漫画在线免费看视频| 青青草原精品国产亚洲av| 国产精品秘久久久久久| 97精品国产自产在线观看| 日本欧美一区二区免费不卡| 亚洲综合精品欧美日韩一区二区三区91| 亚洲欧美国产其他二区| 精品国产_亚洲人成在线| 久久久久久久久久久午夜福利| 九色精品国产亚洲av麻豆一| 亚洲一区二区三区中文字幕手机在线| 久久久精品熟女亚洲av麻豆| 亚洲国产日韩一区精品| 亚洲伦理精品国产成人一区| 丁香六月婷婷综合缴情欧美| 国产69精品久久久久久老妇| 五月婷婷深开心五月| 欧美日本aⅴ一区二区三区| 午夜精品久久久久久久久久久| 国产精品亚洲一区二区三区欲| 国产精品秘久久久久久| 国产三级视频在线观看网站| 欧美亚洲综合中文字幕蜜桃成熟| 精品国产自产在线观看| 久久精品国产成人午夜福利| 亚洲精品电影一区二区三区| 亚洲欧美成在线观看| 久久中文字幕一区不卡| 99久久免费精品国产免费高清| 丰满少妇高潮一区二区| 亚洲av久久一区二区| 一区二区三区欧美激情| 国产日欧一片内射午夜| 麻豆理论片在线观看| 亚洲欧美日韩亚洲欧美| 97人妻爽人人爽人人| 久久久久国产精品三级蜜奴|