国产一区二区三区毛片_亚洲乱码AV中文一区二区_亚洲精品无码专区在线播放_日韩欧美一二_咪咪av影院_欧久久av一区二区

zhuyunbo
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看zhuyunbo的 主題 / 回貼
樓主  發表于: 2010-06-01 21:47
1、在FB塊中使用結構編寫FB塊的準則,就是其使用的內部變量盡量與外部隔離,除了像PLC的新啟動/重啟動標志,以及一些方波/脈沖波等全局變量可以在FB塊中使用外,其他的任何全局變量都不應該在FB內部使用,即使是自定義結構也應該在FB中單獨定義,在FB塊中使用結構應該在靜態類型變量中定義,

如下: VAR // Static Variables IM:STRUCT //Data structure of Internal Flags H1_AFCountImp:BOOL:=False; // Aux Flag Counter Impulse H1_CountImp:BOOL:=False; // Counter Impulse H1_ELCountMV:BOOL:=False; // Endless Counter Maximum Value END_STRUCT; //other data structure … END_VAR 在使用這些結構時,可以按照如下方式: IM. H1_CountImp:=Imp;

2、在SCL中替代Set/Reset指令的方法 SCL中不存在Set/Reset指令,或者說也沒有必要使用。在SCL中,不使用排他條件Else的條件語句就是一個Set/Reset指令。

如下編程: IF THEN Variable name:=1; END_IF; 其等同于: (S)

若加上Else條件,如下: IF THEN Variable name:=1; ELSE Variable name:=0; END_IF; 則等同于: ( )

一條完整的包含置位和復位的語句可以使用如下方式編程:

IF THEN Variable name:=1; END_IF; IF THEN Variable name:=0; END_IF; 其等效于SR指令,若將上面的兩個條件語句的先后次序顛倒一下,則等效于RS指令。

3、簡化程序指令 <1>、盡量使用賦值語句替代那些不用于SR/RS指令的BOOL型賦值條件語句,如下: IF fnAdd &(button=false) THEN pus1:=true; ELSE pus1:=false; END_IF; 其等效于pus1:= fnAdd &(NOT button),這樣使程序看起來更加簡潔和容易閱讀。

<2>、對于非BOOL型賦值語句則不能這如上簡化,而是可以通過SEL函數實現: IF fnAdd &(button=false) THEN pus1:=value1; ELSE pus1:= value2; END_IF; 其等效于pus1:= SEL (G:= fnAdd &(button=false), IN0:= value2,IN1:= value1); 使用該函數時注意兩點:<1>、參數名不能省略;<2>、當選擇條件G為TRUE時,選擇后一個參數值IN1,為FALSE時,選擇前一個參數值IN0,這點與計算機C語言等正好相反。 <3>、XOR指令有著比AND 和OR更為復雜的表達,能使用XOR的地方應該盡量使用 IF (condition1 AND (NOT condition2)) OR (condition2 AND ( NOT condition1)) THEN Result:=true; ELSE Result:=false; END_IF; 其等效于Result:= condition1 XOR condition2; XOR功能就是兩條件不同輸出TRUE,相同輸出FALSE

4、脈沖沿檢測功能使用以下兩條語句替代脈沖上升沿檢測函數,譬如檢測button_Input上升沿的代碼如下: Puls:=button_Input & (NOT button_Last); button_Last:= button_Input; 同樣的下降沿脈沖檢測如下: Puls:= ( NOT button_Input) & button_Last; button_Last:= button_Input;

5、編寫脈沖發生器波峰持續時間僅為一個PLC掃描周期的波形稱為脈沖波,而波峰持續時間大于或等于兩個PLC掃描周期的波形稱為方波,脈沖波可用于計數、定時,方波可用于控制信號燈的閃爍輸出,可以在西門子PLC的硬件配置中配置一個字節的各種時間的方波(波峰時間和波谷時間為1:1),假設"FP_1Sec" 為這個字節中1秒的方波,則: <1>、間隔1秒的脈沖波“Impls_1Sec” 如下編程: “Impls_1Sec” := "FP_1Sec" AND (NOT “Impls_1Sec_Aux”); “Impls_1Sec_Aux”:= "FP_1Sec" ; <2>、間隔10秒的脈沖波“Impls_10Sec” 如下編程: IF (“Impls_10Sec” ) THEN Count_ Actual:=0; “Impls_10Sec”:=0; ELSE IF (“Impls_1Sec” ) THEN Count_ Actual:= Count _ Actual +1; END_IF; “Impls_10Sec”:= Count_ Actual>=10; END_IF; Count_ Actual的初始值為0,同時當系統新啟動時,也需將其設為零。間隔更長時間的脈沖波編程都可以按照上面的方式編程。

6、盡量使用編程計數功能來替代定時器功能,這樣使程序更可靠和易于閱讀假設Input_Condition為輸入,Output_Delay為通過定時處理后的輸出,Timer_Setpoint為時間設定點,Timer_Actual為當前時間計數的實際值,“Impls_1Sec” 為系統編程產生的1秒脈沖。 <1>、在輸入條件滿足的情況下,延時輸出的定時器: IF (NOT Input_Condition) THEN Timer_Actual:= 0; Output_Delay:= 0; ELSE IF (“Impls_1Sec” AND NOT Output_Delay) THEN Timer_ Actual:= Timer_ Actual +1; END_IF; Output_Delay:= Timer_Actual >= Timer_Setpoint; END_IF;


<2>、有記憶的延時輸出定時器,即在延時過程中,若輸入條件終止,不影響延時,這種定時器必須使用其它的信號復位。 IF Input_Condition THEN Output_Aux:=1; END_IF; IF (NOT Output_Aux) THEN Timer_Actual:= 0; Output_Delay:=0; ELSE IF (“Impls_1Sec” AND NOT Output_Delay) THEN Timer_ Actual:= Timer_ Actual +1; END_IF; Output_Delay:= Timer_Actual >= Timer_Setpoint; END_IF; 若想終止Output_Delay的輸出,必須在后面追加一條條件語句,用于復位Output_Aux


<3>、立即輸出,延時斷開的定時器 IF Input_Condition THEN Timer_Actual:= 0; Output_Aux:= 0; Output_Delay:=1; //立即輸出 ELSE IF (“Impls_1Sec” AND NOT Output_Aux) THEN Timer_ Actual:= Timer_ Actual +1; END_IF; Output_Aux:= Timer_Actual >= Timer_Setpoint; END_IF; IF Output_Aux THEN Output_Delay:=0; //延時斷開 END_IF;


<4>、在檢測到一個上升沿脈沖后,立即輸出,并開始計時,在時間到達后斷開。 IF Input_Condition THEN Output_Aux:=1; END_IF; IF (NOT Output_Aux) THEN Timer_Actual:= 0; Timer_Arrived := 0; ELSE IF (NOT Timer_ Arrived AND “Impls_1Sec” ) THEN Timer_Actual:= Timer_Actual +1; END_IF; Timer_ Arrived := Timer_Actual >= Timer_Setpoint; END_IF; IF Timer_ Arrived THEN Output_Aux:=0; END_IF; Output_Delay:= Output_Aux;


通過以上的編程方式可以實現任何定時器功能,而代碼卻可以為不同的PLC系統所使用。

7、使用編程計數功能來替代計數器在SCL語言中使用計數功能是最為簡單的,其關鍵是必須首先對輸入進行脈沖檢測假設Input_Imp為輸入脈沖,CountImp為輸入脈沖檢測,Counter為計數值,Factor為計數因子(更詳細點就是每來一次脈沖,計數值增加多少)。 (*----- Create Impulse (Impulse Evaluation) -----------------------------------------------------*) CountImp:= Input_Imp AND (NOT CountImp_Old); CountImp_Old:= Input_Imp; (*----- Counter ---------------------------------------------------------------------------------*) IF CountImp THEN Counter:= Counter+Factor; END_IF; 一個完整的計數程序應該還有計數器復位功能以及計數值上限檢測條件(以防止計數值溢出)。

8、新故障/新警告的檢測一個完整的FB塊應該能夠檢測故障/警告,以及新故障/新警告,假設Input1, Input2… Inputn對應故障的輸入(有信號表示OK),Fault1, Fault2… Faultn對應故障位,NFault1, NFault2…NFaultn對應新故障位,Flt和NFlt分別對應綜合的故障和新故障,Ackn對應故障應答輸入,為常開點,Mute對應新故障消除輸入(或者稱為蜂鳴器沉寂),為常開點: Fault1:= NOT Input1 OR (Fault1 AND NOT Ackn); NFault1:= Fault1 AND (Mute OR NFault1); Fault2:= NOT Input2 OR (Fault2 AND NOT Ackn); NFault2:= Fault2 AND (Mute OR NFault2); … Flt := Fault1 OR Fault2 OR Faultn NFlt :=(Fault1 AND NOT NFault1) OR (Fault2 AND NOT NFault2) OR (Faultn AND NOT NFaultn) NFlt就是最終的新故障輸出指示,新警告的檢測與之類似。

9、字中取位字中取位有兩種方式,一種是通過西門子所特有的字取位方式實現,一種是通過計算機編程的標準方式實現,假設Input_Word為輸入參數,Word類型,W0,W1,…W15為位變量。

<1>、通過西門子的M變量實現: Temp_Aux:=MW[10]; MW[10]:=Input_Word; W0:=M[11,0]; W1:=M[11,1]; W2:=M[11,2]; W3:=M[11,3]; W4:=M[11,4]; W5:=M[11,5]; W6:=M[11,6]; W7:=M[11,7]; W8:=M[10,0]; W9:=M[10,1]; W10:=M[10,2]; W11:=M[10,3]; W12:=M[10,4]; W13:=M[10,5]; W14:=M[10,6]; W15:=M[10,7]; MW[10]:=Temp_Aux;

<2>、通過標準編程實現 w0:=(Input_Word & 16#1)=16#1; w1:=(Input_Word & 16#2)=16#2; w2:=(Input_Word & 16#4)=16#4; w3:=(Input_Word & 16#8)=16#8; w4:=(Input_Word & 16#10)=16#10; w5:=(Input_Word & 16#20)=16#20; w6:=(Input_Word & 16#40)=16#40; w7:=(Input_Word & 16#80)=16#80; w8:=(Input_Word & 16#100)=16#100; w9:=(Input_Word & 16#200)=16#200; w10:=(Input_Word & 16#400)=16#400; w11:=(Input_Word & 16#800)=16#800; w12:=(Input_Word & 16#1000)=16#1000; w13:=(Input_Word & 16#2000)=16#2000; w14:=(Input_Word & 16#4000)=16#4000; w15:=(Input_Word & 16#8000)=16#8000;

使用方式1會更加簡單和容易理解一些,但方式2具有更加寬廣的應用場合,更加標準化,即使是當今的計算機編程在取位操作時也類似于上面的編程。字取位的場合,一般用于總線數據(譬如變頻器的狀態數據),則可能是字/整數,此時就需要用到上面的編程。 10、將位組合成字相當于“字中取位”的反向操作,這也有兩種方法,一種方法是使用M變量,類似于“字中取位”的方式<1>,另一種也是標準編程,假設Output_Word為輸出參數,Word類型,W0,W1,…W15為位變量。 <1>、通過西門子的M變量實現: Temp_Aux:=MW[10]; M[11,0] := W0; M[11,1] := W1; M[11,2] := W2; M[11,3] := W3; M[11,4] := W4; M[11,5] := W5; M[11,6] := W6; M[11,7] := W7; M[10,0] := W8; M[10,1] := W9; M[10,2] := W10; M[10,3] := W11; M[10,4] := W12; M[10,5] := W13; M[10,6] := W14; M[10,7] := W15; Output_Word:=MW[10]; MW[10]:=Temp_Aux; <2>、通過標準編程實現 IF W0 THEN Output_Word:=Output_Word OR 16#1; ELSE Output_Word:=Output_Word AND (NOT 16#1); END_IF; IF W1 THEN Output_Word:=Output_Word OR 16#2; ELSE Output_Word:=Output_Word AND (NOT 16#2); END_IF; IF W2 THEN Output_Word:=Output_Word OR 16#4; ELSE Output_Word:=Output_Word AND (NOT 16#4); END_IF; IF W3 THEN Output_Word:=Output_Word OR 16#8; ELSE Output_Word:=Output_Word AND (NOT 16#8); END_IF; IF W4 THEN Output_Word:=Output_Word OR 16#10; ELSE Output_Word:=Output_Word AND (NOT 16#10); END_IF; IF W5 THEN Output_Word:=Output_Word OR 16#20; ELSE Output_Word:=Output_Word AND (NOT 16#20); END_IF; IF W6 THEN Output_Word:=Output_Word OR 16#40; ELSE Output_Word:=Output_Word AND (NOT 16#40); END_IF; IF W7 THEN Output_Word:=Output_Word OR 16#80; ELSE Output_Word:=Output_Word AND (NOT 16#80); END_IF; IF W8 THEN Output_Word:=Output_Word OR 16#100; ELSE Output_Word:=Output_Word AND (NOT 16#100); END_IF; IF W9 THEN Output_Word:=Output_Word OR 16#200; ELSE Output_Word:=Output_Word AND (NOT 16#200); END_IF; IF W10 THEN Output_Word:=Output_Word OR 16#400; ELSE Output_Word:=Output_Word AND (NOT 16#400); END_IF; IF W11 THEN Output_Word:=Output_Word OR 16#800; ELSE Output_Word:=Output_Word AND (NOT 16#800); END_IF; IF W12 THEN Output_Word:=Output_Word OR 16#1000; ELSE Output_Word:=Output_Word AND (NOT 16#1000); END_IF; IF W13 THEN Output_Word:=Output_Word OR 16#2000; ELSE Output_Word:=Output_Word AND (NOT 16#2000); END_IF; IF W14 THEN Output_Word:=Output_Word OR 16#4000; ELSE Output_Word:=Output_Word AND (NOT 16#4000); END_IF; IF W15 THEN Output_Word:=Output_Word OR 16#8000; ELSE Output_Word:=Output_Word AND (NOT 16#8000); END_IF; 同樣的,使用標準化編程會繁瑣一些,但有著很強的通用性,在總線通訊控制中,很多控制字(如變頻器)都是以字的形式傳遞,所以需要把一些BOOL數據合并到一個字中,可以采用上面的對字中的位進行置位/復位操作的方式,但事實上使用時,控制命令可能只有啟動/停止和方向控制等,所以這是可以直接對輸出賦值,譬如當我們知道16#0F對應啟動命令和正傳時,可以直接使用如下賦值語句即可控制變頻器正向運轉:Output_Word:= 16#0F,如需反向運轉,則再賦另一個值即可,而不需要像上面那樣對字的每一位操作。以上是我總結的一些使用技巧,其編程可能有更好的實現方式,歡迎來信探討。



chenpingyg
機械是柱石,電氣是靈魂.
級別: VIP會員
精華主題: 0
發帖數量: 1105 個
工控威望: 6705 點
下載積分: 100 分
在線時間: 603(小時)
注冊時間: 2007-01-25
最后登錄: 2017-04-03
查看chenpingyg的 主題 / 回貼
1樓  發表于: 2010-06-12 16:36
我用GRAPH覺得很方便。
自己的事情自己做.

主站蜘蛛池模板: 91伦理视频在线观看_欧美爆乳乱妇高清免费_av无码av无码专区_国产一级做a爰片久久毛片男_日韩爱爱_台湾亚洲精品一区二区tv_国产无内肉丝精品视频_91精品国产综合久久久久蜜臀 | 成人精品鲁一区一区二区_久久人人爽人人爽人人爽av_久久久久久久伊人_少妇18xxxx性xxxx片_www天天操_免费a级毛片18以上观看精品_国产在线一级片_又黄又爽的视频在线观看 | 亚洲AV最新在线网址18禁_巨熟乳波霸若妻在线播放_少妇福利视频_WWW亚洲精品久久久_亚洲精品国产成人久久av盗摄_久久精品亚洲一区二区三区画质_涩涩爱97_成人免费视频无码专区 | 久久久999免费视频_无码写真精品永久福利在线_91插插插影院_免费黄色高清视频_果冻传媒视频一二在线观看_高清二区_大内密探零零灵性_成人欧美国产 | 伊人思思_亚洲精品无码久久_中文字幕成人在线视频_国产精品免费视频软件_在线观看91免费视频_婷婷激情综合色五月久久竹菊影视_手机看日韩片_日韩视频成人 | XXXXX做受大片在线观看免费_亚洲一本av_97久久超碰国产精品2021_超碰中文字幕_久久91麻豆精品一区_在线麻豆视频_91麻豆福利视频_寂寞熟妇风间ゆみ中文 | 亚洲午夜视频在线观看_欧美日本免费一区二区三区_99久久99这里只有免费费精品_色婷婷美国农夫综合激情亚洲_仁科百华av解禁在线播放_精品欧美一区二区精品久久久_99久久精品视频免费_www.youjizz.com中国 | 国内自拍第23页_欧美性做爰片免费视频看_狠狠操人人_久久av喷潮久久av高_国产真人美女A爱做_国产精成人品localhost_亚洲乱码日产一区三区_999精品国产人妻无码梦乃爱华 | 国产淫片_中文在线一区二区_精品一区二区免费_日韩在线激情视频_亚洲色婷婷久久精品AV蜜桃_草草影院ccyycom_欧美日韩视频免费看_出租屋勾搭老熟妇啪啪 | 麻豆freexxxx性91精品_又黄又湿啪啪响18禁_午夜一级精品_免费A级毛片出奶水_WWW国产内插视频_最近中文字幕视频高清_日韩欧美国产区_亚洲欧美国产国产一区二区 | 国产一区二区在线免费播放_一本一道VS无码中文字幕_色欲av亚洲一区无码少妇_懂色av噜噜一区二区三区av88_久久是精品_亚洲精品国产精品乱码在线观看_国产乱码在线精品可播放_在线观看国产精品普通话对白精品 | 91久久精品日日躁夜夜欧美_毛茸茸性毛茸茸xxxxⅹ毛茸茸_狠狠色狠色综合曰曰_日韩精品资源_久久久国产精品久久久_少妇办公室好紧好爽再浪一点_中文字幕四区_JAPANESE少妇高潮喷水 | 国产真实乱全部视频_在线男人天堂网_超级av在线天堂东京热_ww久久综合久中文字幕_成人黄色一区二区_国产av午夜精品一区二区三_sdde在线播放一区二区_成全免费在线看片 中文人字幕第三页_无码纯肉视频在线观看_99re国产在线播放_日本欧美高清全视频_日韩七区_亚洲第一最快AV网站_中日韩欧美风情视频_欧美成人一区二 | 无码137片内射在线影院_免费观看成人av_午夜视频导航_深夜激情网站_色01看片网_爱草在线视频_青青草视频免费在线播放_一区国产在线观看 | 天天干天天插_成人午夜性成交_久久九九99_伊人视屏_99热久草_泷泽萝拉全AV在线观看_亚洲aaa视频_台湾一级毛片永久免费 | av一二三区_欧美成人午夜免费影院手机在线看_粉嫩av免费一区二区三区_日本三极片_国产目拍亚洲精品一区二区_CHINESE极品人妻VIDEOS_中文字幕人成无码人妻_北条麻妃最猛aⅴ作品 | 麻豆激情视频在线_久久人人爽人人爽人人片亞洲_亚洲一级国产_一区二区高清在线观看_国产精品永久免费自在线观看_亚洲国产精品一区二区www_日韩免费无码人妻波多野_欧美性猛交xxxx乱大交3喷潮 | 狠狠干影视_成人亚洲性情网站www在线观看国产_日韩在线综合网_欧美一区二区三区在线视频观看_成年免费黄色网_四虎精品在线视频_亚洲精品91在线_免费视频久久 | 国产综合免费视频_在线色网址_国产一区二_久久久久亚洲国产_国产精品我不卡_中文字幕无线码免费人妻_伊人av超碰久久久麻豆_日日拍夜夜 | 中国av免费看_亚洲综合在线第一页_啊灬啊灬啊灬快灬深点吃奶_日本a大片_四川少妇BBB凸凸凸BBB按摩_亚洲第一视频网_久久婷婷色香五月综合激激情狠狠做五月_成人免费黄色视频 | GV在线网站_中年熟女被啪高潮视频_国产在线观看你懂的_国产成人亚洲精品无码不卡_一级黄色大毛片_伊人情成综合网2019_国产主播一区二区_日本大片免a费观看视频的特点 | 亚洲精品国产91_日本高清视频色WWW色_午夜一级影院_色人阁26uuu_国产成人精品小视频_av天堂久久天堂av色综合网_呻吟翘臀后进爆白浆_亚洲啪啪aⅴ一区二区三区9色 | 人人妻人人爽人人爽_国产精品99久久久精品免费观看_视频一区二区三区在线观看_成人免费黄色大片_国产免费人成视频在线播放播_日韩精品中出_久久久久国产一级毛片高清版小说_国产偷录视频叫床高潮 | 精品午夜久久_色惰日本视频网站_夜色综合网_亚洲中文有码字幕青青_98成人网_亚洲精选av_国产一区影视_免费观看电视在线高清视频大全 | 麻豆影视视频高清在线观看_亚洲蜜桃网_色爱综合_XXXXBBBB欧美_全球诡异时代动漫免费观看_欧美第7页_视频在线一区二区三区_欧美XXXX做受欧美Gay | 亚洲一区二区三区_成人天堂视频在线观看软件_久久婷婷婷_天天综合色天天_欧美一级片毛片免费观看视频_丰满美女一级毛片_人人干人人舔_九九热国产 | 亚洲色图在线播放_国产精品久久国产精品99gif_蜜桃久久久aaaa成人网一区_日本黄色高清视频网站_天天干天天澡_国产精品一区二区免费在线观看_九九有精品_国产高清不卡二三区 | 午夜性做爰A片免费看_最近中文字幕在线视频1_99久久99视频只有精品_叶子楣三级在线观看_91精品久久久久久久久久久久久_欧美精品乱码久久久久久按摩_91av精品视频_国产精彩在线视频 | 中文字幕无线精品亚洲乱码一区_免费一级高清毛片_高清久久久久_日韩国产欧美综合_国产精品色哟哟网站_亚洲黄色高清视频_av在线资源播放_久久乐视频 | av黄色免费看_aⅴ中文字幕不卡在线无码_我不卡一区二区_欧美日韩一区二区三区高清_最近免费中文字幕中文高清6_日本色老头_99久久国语露脸精品对白_最美女人体内射精一区二区 | 国产精品18久久久久久av小说_91高清一区_好男人资源在线www免费_久久久噜噜噜久久中文福利_日本中文字幕一级_99精品视频免费观看_免费看片源_亚洲精品国男人在线视频 | 日本黄色成人_中文字幕av在线免费观看_精品国产一区二区三区性色av_少妇WWWB搡BBB搡BBB_在线看黄色毛片_精品久久久久久久久久久aⅴ_182tv免费福利视频_夜夜草视频资源 国产福利精品视频_91素人在线_国产欧美另类久久久精品丝瓜_日韩精品一区二区av_XX性欧美肥妇精品久久久久久_老司机深夜18禁污污网站_伊人色综_99国产精品免费视频 | 高h粗口_日本黄色三级网站_黄色av大全_少妇饥渴偷公乱第一章全文_精品免费久久久国产一区_国产乱人_国产精品久久久国产盗摄_欧美亚洲人成在线 | 国产精品无码免费专区午夜_日韩三级不卡_女性裸体啪啪网站_91高清免费观看_久久中文骚妇内射_激情综合久久_麻豆精品一区二区综合av_精品人妻无码一区二区三区蜜桃 | 亚洲AV无码专区国产乱码京东传媒_色一情一乱一乱一区91Av_av免费在线观看网址_中文字幕精品—区二区_AAA级黄色视频_日本视频一二三区_强行糟蹋人妻HD中文_精品一区2区三区 | 天天干夜爽_少妇精品无码一区二区免费视频_小男生自慰gay网站_欧美性色黄大片人与善_涩涩网站免费观看_欧美日韩综合久久_欧美欧美在线_欧美在线观看视频网站 | 99九九热_公息肉吊粗大爽在线观看_三上悠亚日韩精品二区_久久久日本_色妹子久久_麻豆动漫_好逼天天操_久久精品桃花av综合天堂 | 日本三级带日本三级带66_综合av在线播放_深夜在线网站_一级片国语_福利姬液液酱喷水_美女人人操_银魂thefinal_日本色清 | 奇米影视官网_亚洲色国产欧美日韩_国产在线观看免费人成视频_无码人妻av久久久一区二区三区_国产精品不卡二区三区综合_亚洲成人av在线_国产成人精品午夜_欧美精品爱爱 | 欧美日韩国产综合在线_日本黄色高清_女人被男人躁得好爽免费视频_AV无码久久久久不卡免费网站_亚洲欧洲免费无码_在线播放免费视频播放_日韩国产精品一区二区三区_久久久久免费毛A片免费一瓶梅 | 久久精品视频在线免费观看_4438x成人网最大色成网站_久青草国产在线_a狠狠久久蜜臀婷色中文网_亚洲色图av在线播放_欧美久草在线_久久人妻无码AⅤ毛片A片麻豆_爱草视频在线 |