《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 一組PLC程序的邏輯錯誤分析
一組PLC程序的邏輯錯誤分析
摘要: 本文分析了來自兩本plc教材的4個程序例子,從中找出大大小小8個錯誤,并對這些錯誤的原因進行了分析。我們希望這個分析能夠幫助程序員減少編程錯誤。
Abstract:
Key words :

作 者:鎮江靈芯軟件試驗室 / 陳鋼

1  引言

可編程序控制器(簡稱plc)是一種工業自動控制中使用的計算裝置。它廣泛應用于鋼鐵、石油、化工、電力、建材、機械制造、汽車、輕紡、交通運輸、航天、環保及文化娛樂等各個行業。小到家用設備,大到航天器材,都有plc的應用。

典型的plc由一個專用的cpu,一個存儲器和一組輸入輸出端口構成,如圖1所示。它通過輸入端口接收來自傳感器的信號,并通過輸出端口發出控制信號驅動同它連接的外部設備。存儲器中安放控制程序,系統的活動由控制程序所驅動。

plc系統每隔一定的時間間隔(比如5毫秒)從輸入端口讀入信號,執行計算,然后向輸出端口發送輸出信號。每一“輸入-計算-輸出”周期稱為一個掃描周期。plc程序在每個掃描周期中重復執行一遍。plc的簡單應用有洗衣機控制,電梯控制。復雜的應用有自動機床控制,自動化工程控制。

plc程序設計具有不尋常的軟件編程模式。設計中需要考慮多個并行線程,它們之間的交互作用,以及在時間域上的行為。在plc的五種主要的編程語言當中,源自繼電器控制系統的梯形圖語言采用了一種簡單的方式巧妙地處理了并行程序設計問題,然而,由于plc編程問題的固有復雜性,以及測試手段的缺乏,許多plc程序中依然存在大量的錯誤。

為了解決這一問題,靈芯實驗室正在開發plc測試系統,為plc程序的調試提供解決方案。在這一系統的試用過程中,在兩本plc入門教科書的6個簡單程序例子中發現其中的4個程序里面至少包含8個錯誤。

●一個搶答器程序在兩個參賽者同時按下搶答按鈕時,只有其中一個人的警報器能夠發出警報;

●一個噴泉程序中,噴水組在幾個指定時間上沒有按要求停止噴水,或開始噴水;

●一個交通燈控制程序中,綠燈閃爍控制不正常;系統啟動的時候,一個方向綠燈亮,另一個方向的紅燈卻不亮;強通結束之后,交通燈沒有立即恢復正常運行;

●在另一個交通燈程序中,按下停止按鈕之后,所有的燈熄滅,但兩個方向人行道上卻亮紅燈。

我們認為這一發現是不同尋常的。雖然每個程序員和教師都會犯編程錯誤,但是我們還從未在任何一本程序設計的教科書中發現如此高比例的程序錯。這一現象初步證實了plc程序 錯誤的廣泛性和嚴重性。

本文將逐一分析上述每一個程序的錯誤,指出錯誤原因。其中大部分程序,我們給出糾正了錯誤的新程序。期望這一分析能夠幫助plc程序員和教師提高plc程序設計的正確性。plc程序的執行原理以及梯形圖的語義將在例子的介紹中同時給予解釋。我們相信,通過分析錯誤來學習是掌握遍程技巧的好方法。

 

圖1  plc構造原理圖

2  搶答器程序

題目:搶答器程序

來源:plc應用技術開發與實踐

編程平臺:西門子公司 s7-200

問題描述:

(1)主持人控制開始按鈕;

(2)3個搶答者每人控制自己的搶答按鈕;

(3)開始按鈕按下之后所有警報器斷電;

(4)之后每個搶答按鈕按下將使自己的警報器得電,并鎖住其他搶答者輸入信號的有效性。

  變量分配:

  i0.0 主持人按鈕;

  i0.1,i0.2,i0.3 分別為三個搶答者按鈕;

  q0.0,q0.1,q0.2 分別為對應于搶答者的警報器輸出;

  原書給出的搶答器梯形圖程序(見圖2)。

 

圖2  搶答器梯形圖程序

plc程序語義:

上述梯形圖程序的語義可以用比較簡短的方式表達出來:

q0.0 := (i0.1 or q0.0) and ~i0.0 and ~q0.1 and ~q0.2;

q0.1 := (i0.2 or q0.1) and ~i0.0 and ~q0.0 and ~q0.2;

q0.2 := (i0.3 or q0.2) and ~i0.0 and ~q0.0 and ~q0.1;

其中~i0.0表示i0.0的邏輯非。

plc的程序周期性地重復執行,每個周期時間很短。在一個周期中,plc將讀入輸入值(這里是i0.1,i0.2和i0.3),經過對上述程序的計算之后,把輸出變量(這里是q0.0,q0.1和q0.2)的值送到外部。注意上述程序在每個周期中都重復執行。在每個周期中,程序的執行由上往下由左至右。

當一個搶答按鈕按下之后(比如i0.1=1),對應的輸出(q0.0)馬上變成1。在下一周期中,即使該按鈕方開(i0.1=0)程序的輸出依然會保持為0,原因是程序依靠自反饋作用(or q0.0)。同時,由于在另外兩個程序段中含有~q0.1,因此它們的輸出都無法變成1,直到主持人按鈕i0.0把q0.0重新置0為止。

●程序問題

如果兩個搶答者在同一時刻按下按鈕,在程序中處于前面的搶答者的警報器輸出正常,另一個搶答者的警報器沒有輸出。

●程序分析

本問題分成三個程序段,它們本應并行執行方能達到公平的效果。但plc的cpu只能順序執行程序,因此在程序中位置處于前面的搶答者的輸出產生之后,后面的程序輸出就被立即阻斷。因此兩個按鈕同時按下時,只有其中的一個得到響應。

plc的編程模式來源于繼電器電路控制系統,在那些系統中,上述三個程序段對于三個并行運行的電路,但是轉到cpu中之后,這些程序就不得不順序執行。并行模型與順序執行的沖突是許多程序錯誤的原因。在作者先前的論文中就對這一問題進行了分析[1]。

在順序執行的機器上面實現plc并行語義是可能的。但是依然需要小心各種陷阱。下面的第一次嘗試存在一個錯誤,再后面一個程序改正了這個錯誤,通過了程序測試。

●程序修正嘗試

克服上面問題的一個自然的想法是使用中間變量保存每個程序段的輸出。這一思路導致下面的程序實現(見圖3):

 

圖3  程序修正嘗試程序實現圖

使用這一程序時,如果兩個搶答者的按鈕同時按下,對應的兩個警報器會同時響。但是,在下一周期,兩個警報器的輸出又會同時恢復到0。原因是每一個搶答輸入都會導致另一個搶答無效,兩個搶答輸入就會同時導致對方無效。

●最終程序

下面的程序克服了上述問題,并且通過了基本的測試檢查(見圖4)。

它同前面程序不同之處在于把q0.0等變量的管轄范圍放寬了,因此一旦q0.0為1,只要主持人按鈕不按下,它的值就能繼續保持下去。

 

圖4  基本測試檢查結果

3  噴泉程序

題目:plc在噴泉中的應用

來源:plc應用技術開發與實踐

編程平臺:三菱公司fx2n系列

問題描述

(1)噴泉有a,b,c 3組噴頭;

(2)按動開始按鈕后,a組先噴,10秒后停,然后b組和c組同時噴;

(3)b和c噴10秒后b停,再10秒后c停;

(4)a,b又噴,5秒后,c也噴,持續10秒后全部停;

(5)再5秒后重返上述(2)到(4)步;

(6)按動停止按鈕后,a,b,c 3組噴頭全部停。

輸入輸出變量分配:

x0001:開始按鈕

x0002:結束按鈕

y0001:a組噴頭

y0002:b組噴頭

y0003:c組噴頭

內部繼電器:m0—m5

定時器分配(見圖5):

t0:a組噴10秒; 0—10

t1:b,c組噴10秒; 10—20

t2:c組噴10秒; 20—30

t3:a,b組噴5秒;30—35

t4:a,b,c組噴10秒;  35—45

t5:a,b,c組停噴5秒; 45—50

同前一程序相比,這一程序中增加了t0,t1等定時器。定時器用t標識,它的上方是定時器變量名,下方是預定的定時延遲。本例使用的是ton類型定時器,這種定時器只要輸入端由0轉1計時就開始,在計時過程中,輸入端必須始終保持為1,一旦定時器到時,它所對應的變量就立即由0轉1。在計時過程中,如果輸入端轉0,則計時停止,定時器到時之后,只要輸入端繼續為1,那么計時器變量也繼續保持為1,一旦輸入變0,計時變量也轉為0。本例中的定時器按十分之一秒為單位計時。

這個程序含有三個錯誤,它的某些噴頭在預定停止的時刻沒有停止,在預定開始的時刻沒有開始。

程序錯誤(1):按照要求程序開始后20秒,c組噴發應該停止,但該程序卻沒有停止c的噴發。

原因分析

c的噴發受到m1,m2和m3的控制,它們分別控制c組的第一,第二和第三次噴發。在第二次噴發結束之后,m2為0,噴發本應停止,但調試中發現c的輸出(y0002)繼續為1,單步調試發現, 此時m1為1,由此造成c組輸出繼續。分析發現,產生m1的梯形圖有錯。應該使用m1來產生反饋,但程序中用了b組的輸出變量y0001。 該變量恰好在c組第二次噴發之后重新置1,因此造成了c組繼續噴發。將此處改成m1之后這一錯誤即可消除。

程序錯誤(2):程序開始后50秒,a組噴發應該重新開始,但實際運行中并未開始。

原因分析:

這是一個定時時間寫錯的簡單錯誤。定時器t4設定的時間應為5秒(50),但梯形圖中錯寫成100(該書指令表程序中也是寫50,梯形圖中是一個失誤)。

程序錯誤(3):在糾正了上面兩個錯誤之后,程序依然無法通過測試。50秒之后,c組不應該開始噴發,但實際運行中噴發。

原因分析:

50秒之后,程序進入下一周期。此時程序該如何運行在原書中沒有清楚描述,這屬于描述不全。根據程序的具體實現,可以看出作者的意圖是在50秒之后把整個噴發過程重演一遍。基于這樣的理解,程序應該在50秒之后開始a組噴發,但程序運行結果是,不但a組噴發,而且c組也噴發,后一行為不符合規定。

出現這一現象的原因在于,m0的梯形圖中使用了y000來實現反饋。這一錯誤同第一個錯誤類似,只是這一方式在一個周期的運行中沒有問題,在第二周期中就會出現問題。在該圖中用m0取代y000就能消除這一錯誤。

在消除了以上問題之后得到梯形圖如圖6所示。

 

圖5  定時器分配程序圖

 

圖6  梯形圖

4  十字路口交通燈控制程序

題目:交通燈控制程序

來源:plc應用技術開發與實踐

編程平臺:omron公司cqm1系列

●任務描述

工作順序:啟動按鈕,南北綠燈,東西紅燈,東西綠燈,南北紅燈。按此順序循環。

時序控制:(90秒周期)

●主干道

南北左轉燈:綠10秒,黃2秒,紅78秒; 

南北直行燈:紅10秒,綠30秒,綠閃3秒,黃2秒,紅45秒;

東西方向左轉燈和直行燈的工作方式與上相仿,但延遲45秒。人行道燈與主干道直行燈相同。

●強通控制

打開強通開關,強通方向綠燈亮,斷開強通開關,綠燈閃3秒,恢復正常控制;

閃爍控制,亮0.5秒,暗0.5秒,持續3秒; 

這個程序比較長,不便全部抄錄在此。這里僅指出程序中的幾個錯誤,并列出相關的程序段。

圖7程序的實現

程序錯誤(1):閃爍控制錯誤。閃爍過程通過一個專門的程序段控制,按要求該程序應該每隔0.5秒輸出1,然后0.5秒輸出0,不斷循環。圖7是書中該程序的實現:

其中只用到tim050一個定時器,計時單位為十分之一秒。omron的tim型定時器的工作方式同西門子ton型定時器相仿,當輸入為1時啟動計時,一旦輸入轉0,立即停止計時,定時器變量輸出復位為0。

起始狀態tim050的值為0,取反后送入定時器1,啟動計時,5個單位之后到時定時器產生信號1。該信號經反饋之后,把0送入定時器,這一輸入值立即把定時器輸出重新變為0。因此,該段程序只能產生非常短暫的1,而不是持續0.5秒的1。當該信號用于驅動綠燈時,無法產生正常的均勻閃爍效果。

●程序修正(見圖8)

圖8  程序修正圖

這里用了兩個定時器,當第一個定時器tim050到時之后,它的輸出信號1送到第二個定時器tim051啟動后者計時。但tim051需要5個單位之后才能到時,在這段時間內,tim050依然的輸入依然是1,因此它能夠把1繼續保持0.5秒,由此產生一個均勻的每隔0.5秒變化的脈沖。

程序錯誤(2):在系統初始啟動階段,南北方向綠燈亮,但東西方向的左轉紅燈和直行紅燈沒有同時點亮

原因分析:由于相關程序比較長,不便在這里展示,這里我們僅分析一下出錯的原因及解決的辦法。原程序中采用順序啟動各個顏色燈的方法。即左轉綠燈10秒后啟動直行綠燈,30秒后綠閃,2秒后黃燈,然后55秒紅燈。然而,按這一順序運行時,一開始南北直行紅燈的10秒缺掉了,東西左轉紅燈45秒漏了,最后東西直行紅燈55秒也漏了。要改變這一情況,需要改變后一程序,同時再引入兩個定時器,把紅燈控制切分成兩段完成。

可能人們認為上一個問題不算嚴重,因為原來程序在啟動一分鐘之后就能達到正常。但下面的強通控制的錯誤確是比較嚴重的。所謂強通是指緊急車輛到達路口時,人工控制按下相應方向的強通開關,使得這一方向的綠燈亮,另一方向亮紅燈。緊急車輛過去之后,強通開關方塊,強通方向綠燈閃動三下之后,恢復原來的系統運行。

程序錯誤(3):強通按鈕放開之后,按規定強通方向綠燈應該閃爍三下,然后熄滅,但實際情況是綠燈沒有按照規定閃爍和停止,而是持續發亮。

原因分析:

我們以東西向直行綠燈控制程序段為例分析這一問題。

該程序中100.12為控制東西向綠燈的輸出變量。該方向的強通通過hr0.00控制,強通按鈕按下之后,該變量為1,從而引起100.12輸出為1,綠燈亮。強通按鈕放開之后,這條通路切斷,hr0.01變為0之后,hr0.03會變為1,過程在這里略去。hr0.03所在的通路將產生一個3秒鐘的閃爍脈沖。編程者的意圖是通過它在結束強通之后制造一個綠燈閃爍過程。然而,由于變量100.12的反饋存在,一旦該變量為1,它將自動地繼續保持為1。只有兩種方式可以使它恢復為0,一種是30秒定時器到時(tim010),另一個是另一方向的強通信號hr0.01。在同方向強通信號結束之后,一般情況下,上述兩個信號均不會轉為1,因此綠燈無法馬上停止。系統并不產生規定的效果。

這是一個比較嚴重的錯誤,因為此處本應經過綠燈閃爍轉為紅燈,但系統卻始終保持綠燈。這樣的系統是無法接受的。

這一問題的解決比較復雜一點。由于我們的主要任務是發現錯誤,此地我們不再討論如何修正這一錯誤的問題。

圖9  東西向直行綠燈控制程序分析圖

5  第二個十字路口交通燈控制程序

本節討論另一本書上的交通燈控制程序中的錯誤。這一程序沒有處理強通控制這樣的復雜問題,但是人行道控制同主干道控制分開處理,結果在人行道控制上出現了錯誤。

題目:交通燈控制程序

來源:plc應用開發實用子程序

編程平臺:西門子s7-200

時序控制:(90秒周期)

南北主干道  左轉綠10秒,綠30秒,綠閃3秒,黃2秒,紅45秒;

東西人行道:紅13秒,綠27秒,綠閃3秒,紅47秒;

東西主干道: 紅45秒,左轉綠10秒,綠30秒,綠閃3秒,黃2秒;

南北人行道:紅58秒,綠27秒,綠閃3秒,紅2秒。

注:

(1)綠閃包括轉向綠燈和轉向綠燈;

(2)東西人行道指東西兩端的人行道。

測試顯示該程序時序上運行正確,但是在關機時出了問題。

程序錯誤:按下系統停止開關,大部分燈都熄滅,但兩個方向的人行道上亮起紅燈。

程序分析:

我們以控制東西方向人行道紅燈的變量q1.3的計算為例進行分析。下面把相關程序段專門抽出來進行分析(見圖10)。

 

 圖10  相關程序段分析圖

圖中可見,當m0.4為0 時q1.3將輸出1。當t7,t8為0時m0.4必定為0。系統停止開關是i0.2,它按下之后會使m0.1變為0,該變量是控制系統活動的主要變量,它變為0將使一系列變量變為0,也包括t7和t8。然而這樣做卻沒有關掉東西兩端人行道的紅燈。南北兩端人行道紅燈采用的是類似程序,因此也沒有關掉。

程序修正:

只需把m0.1直接加入到人行道紅燈的控制中即可。

6  結束語

本文分析了來自兩本plc教材的4個程序例子,從中找出大大小小8個錯誤,并對這些錯誤的原因進行了分析。我們希望這個分析能夠幫助程序員減少編程錯誤。

本文目的是為了揭示plc程序錯誤的普遍性。這些錯誤不能簡單歸咎于作者的失誤,主 要原因是編程模式的復雜性以及測試手段的缺乏。

失誤是人類的普遍行為。對于計算機程序這樣復雜的對象,出錯經常出現。程序編制過程本身就是一個不斷嘗試不斷糾正錯誤的過程。然而,在plc領域,離線的調試工具比較薄弱,迄今為止最好的調試方式依然是現場調試,但是這一方式過于耗費時間,而且一般教師和學生都沒有這樣的條件。這是程序錯誤率高的根本原因。

作者簡介

陳鋼  男  現就職于鎮江靈芯軟件試驗室,從事plc測試軟件的開發和商業化工作。 

參考文獻

[1]陳鋼,宋曉宇,顧明等.coq定理證明器輔助plc程序驗證和分析[j].北京大學學報,2010(1).

[2]求是科技.plc應用開發技術與工程實踐[m].北京:郵電出版社,2005.

[3]賈德勝.plc應用開發實用子程序[m].北京:郵電出版社,2006(1).

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩午夜激情电影| 篠田优中文在线播放第一区| 国产精品欧美在线| 欧美日韩亚洲一区在线观看| 欧美国产三级| 欧美成人午夜视频| 欧美不卡在线视频| 蜜桃精品一区二区三区| 嫩草影视亚洲| 欧美国产欧美综合| 欧美精品免费视频| 老司机久久99久久精品播放免费 | 新67194成人永久网站| 亚洲欧美经典视频| 亚洲欧美一区二区三区在线 | 午夜精品福利电影| 小黄鸭精品aⅴ导航网站入口| 午夜精品偷拍| 久久国内精品自在自线400部| 久久久久国产精品人| 久久综合网络一区二区| 欧美国产精品中文字幕| 欧美日韩免费观看一区二区三区| 欧美日韩在线一区二区三区| 国产精品第2页| 国产欧美日韩精品专区| 国产亚洲欧美激情| 在线精品观看| 亚洲精品美女在线观看播放| 中文欧美在线视频| 欧美亚洲日本国产| 亚洲欧洲日本国产| 亚洲深夜福利视频| 性做久久久久久| 久久久久久网| 欧美激情亚洲综合一区| 欧美特黄一级大片| 国产人妖伪娘一区91| 禁断一区二区三区在线| 亚洲精品专区| 亚洲欧美一区二区在线观看| 亚洲欧洲精品一区二区精品久久久| 99re6热只有精品免费观看| 午夜日韩在线观看| 麻豆91精品91久久久的内涵| 欧美日本不卡高清| 国产美女精品免费电影| 亚洲第一网站免费视频| 99精品国产99久久久久久福利| 午夜精品久久久久久久久| 亚洲国产天堂久久国产91| 一区二区三区欧美亚洲| 久久国内精品自在自线400部| 欧美大片在线看| 国产精品久久久久久久电影 | 国产精品久久久久aaaa樱花 | 日韩视频二区| 欧美中文字幕| 欧美日本一区二区高清播放视频| 国产精品久久久久9999吃药| 在线观看欧美激情| 亚洲影音一区| 日韩亚洲视频在线| 久久精品视频网| 欧美日本亚洲视频| 黄色成人91| 亚洲一区精品电影| 日韩视频在线观看一区二区| 久久精品一区二区国产| 欧美日韩亚洲视频| 精品成人一区二区| 亚洲欧美国产77777| 亚洲麻豆视频| 久久在线视频| 国产精品推荐精品| 亚洲日本理论电影| 久久精品三级| 午夜精品一区二区三区在线| 欧美岛国在线观看| 国产一区二区丝袜高跟鞋图片 | 美日韩丰满少妇在线观看| 国产精品天美传媒入口| 亚洲精品视频免费| 91久久国产自产拍夜夜嗨 | 久久久精品视频成人| 欧美性色视频在线| 在线欧美福利| 久久成人国产精品| 欧美一区二区三区四区在线观看地址| 欧美日本韩国在线| 亚洲成人资源| 欧美在线三区| 性刺激综合网| 欧美视频在线观看视频极品| 亚洲第一页中文字幕| 久久精品欧美日韩| 久久成人亚洲| 国产精品一二| 亚洲天堂av在线免费观看| 一本久久a久久精品亚洲| 免费看av成人| 136国产福利精品导航网址| 欧美一区二区三区播放老司机| 亚洲综合视频在线| 国产精品夫妻自拍| 在线一区观看| 亚洲男人天堂2024| 国产精品久久久久国产a级| 在线视频精品一| 在线亚洲电影| 欧美色图天堂网| 日韩亚洲视频在线| 一卡二卡3卡四卡高清精品视频| 欧美a级一区二区| 影音先锋另类| 亚洲第一精品福利| 久久野战av| 雨宫琴音一区二区在线| 亚洲福利国产精品| 美女爽到呻吟久久久久| 精品动漫3d一区二区三区| 亚洲成人在线视频播放| 久久久999精品免费| 国产在线精品成人一区二区三区 | 亚洲永久精品大片| 国产精品乱码人人做人人爱| 亚洲综合第一| 久久精品人人做人人综合| 国产午夜精品久久久久久久| 久久国产免费看| 老司机一区二区三区| 影音先锋日韩有码| 亚洲精品国产精品国自产观看浪潮 | 亚洲网站视频| 午夜精品久久久久久久男人的天堂 | 久久一二三国产| 在线成人av网站| 亚洲日本视频| 欧美日韩一区在线视频| 亚洲一区二区黄| 久久国产一区| 亚洲福利在线视频| 一区二区三区久久网| 国产精品久久久亚洲一区| 欧美亚洲视频在线看网址| 毛片一区二区| 日韩午夜免费视频| 欧美一区二区三区男人的天堂| 国产亚洲精品激情久久| 亚洲国产精品传媒在线观看 | 在线视频亚洲| 欧美淫片网站| 狠色狠色综合久久| 亚洲精品自在久久| 欧美日韩中文| 欧美亚洲视频| 欧美激情91| 亚洲尤物精选| 美女视频黄a大片欧美| 日韩视频国产视频| 久久国产一区二区三区| 最近看过的日韩成人| 午夜精彩国产免费不卡不顿大片| 黄色av一区| 亚洲午夜视频在线| 国产一区二区三区四区hd| 亚洲精品在线二区| 国产精品毛片a∨一区二区三区| 欧美在线关看| 欧美另类视频在线| 欧美亚洲免费电影| 欧美精品一区二区三区一线天视频| 亚洲视频中文字幕| 老牛国产精品一区的观看方式| 亚洲精品日产精品乱码不卡| 香蕉成人久久| 91久久精品国产91性色tv| 先锋影音久久| 最新亚洲激情| 久久国产天堂福利天堂| 亚洲免费高清视频| 久久精品91久久香蕉加勒比| 亚洲精品日韩在线| 久久欧美中文字幕| 宅男精品视频| 欧美国产亚洲另类动漫| 午夜影视日本亚洲欧洲精品| 欧美日韩国产经典色站一区二区三区| 午夜视黄欧洲亚洲| 欧美特黄一级大片| 亚洲国产美女| 国产乱码精品一区二区三区五月婷 | 国产美女精品| 一区二区三区欧美激情| 在线不卡中文字幕播放| 欧美一区二区免费| 一本大道久久精品懂色aⅴ| 欧美sm重口味系列视频在线观看| 亚洲综合色自拍一区| 欧美日韩一区二区三区视频 |