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

    基于多叉樹(shù)的梯形圖向指令表轉(zhuǎn)換算法

    2017-11-01 07:17:43周偉強(qiáng)何通能陳德富
    關(guān)鍵詞:圖符豎線(xiàn)梯形圖

    周偉強(qiáng),何通能,陳德富

    (浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)

    基于多叉樹(shù)的梯形圖向指令表轉(zhuǎn)換算法

    周偉強(qiáng),何通能,陳德富

    (浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)

    針對(duì)目前可編程邏輯控制器(PLC)編輯軟件中梯形圖向指令表轉(zhuǎn)化算法的缺陷,通過(guò)對(duì)梯形圖語(yǔ)言的分析與研究,并考慮到梯形圖和指令表在實(shí)際應(yīng)用時(shí)的優(yōu)劣點(diǎn),提出了一種借助多叉樹(shù)來(lái)實(shí)現(xiàn)PLC梯形圖向指令表轉(zhuǎn)換的算法;該算法采取從左至右,從上至下的掃描原則將梯形圖構(gòu)建成多叉樹(shù),借助多叉樹(shù)來(lái)反應(yīng)圖符間的邏輯關(guān)系,然后通過(guò)后序遍歷多叉樹(shù)來(lái)得到指令表程序;此算法在處理多重串并聯(lián)結(jié)構(gòu)梯形圖時(shí)具有更高的效率,同時(shí)適用于堆棧指令,使得該算法具有更好的通用性。

    可編程邏輯控制器;梯形圖;指令表;多叉樹(shù)

    0 引言

    可編程邏輯控制器即Programmable Logic Controller(以下簡(jiǎn)稱(chēng)PLC),是一種專(zhuān)門(mén)為在工業(yè)環(huán)境下應(yīng)用而設(shè)計(jì)的現(xiàn)代化自動(dòng)控制設(shè)備[1],廣泛應(yīng)用于各種類(lèi)型的控制系統(tǒng)中,主要功能包括控制、計(jì)數(shù)、數(shù)據(jù)采集和通信聯(lián)網(wǎng)等。

    為了適應(yīng)廣大工程設(shè)計(jì)人員的編程習(xí)慣,國(guó)際電工委員會(huì)設(shè)計(jì)制定了PLC編程語(yǔ)言的標(biāo)準(zhǔn)——IEC 61131-3。該標(biāo)準(zhǔn)規(guī)定了PLC的編程語(yǔ)言包括梯形圖(LD)、指令表(IL)、功能模塊圖(FBD)、順序功能流程圖(SFC)和結(jié)構(gòu)化文本(ST)共五種。其中主要由母線(xiàn)、觸點(diǎn)和線(xiàn)圈等構(gòu)成的梯形圖簡(jiǎn)明易懂,使用梯形圖編寫(xiě)的PLC程序易于理解,從而使梯形圖成為PLC的主要編程語(yǔ)言[2]。但是,梯形圖只是形象得展示了電器元件之間的組合邏輯關(guān)系,無(wú)法被PLC識(shí)別并直接運(yùn)行,而PLC所能識(shí)別運(yùn)行的目標(biāo)代碼一般由指令表轉(zhuǎn)化而來(lái)。因此通過(guò)轉(zhuǎn)換算法將梯形圖轉(zhuǎn)換為指令表,并將其運(yùn)用在PLC上位開(kāi)發(fā)系統(tǒng)中,這樣就省去了人工對(duì)梯形圖的翻譯工作,提高了開(kāi)發(fā)的效率。

    通過(guò)對(duì)梯形圖設(shè)計(jì)規(guī)則和指令表編程規(guī)則進(jìn)行的研究分析,并參考了傳統(tǒng)的拓?fù)渑判蚝投鏄?shù)遍歷等一系列算法的不足之后,提出了基于多叉樹(shù)的梯形圖向指令表轉(zhuǎn)換的算法。

    1 梯形圖和指令表

    梯形圖是以觸點(diǎn)符號(hào)代替?zhèn)鹘y(tǒng)電氣控制回路中的按鈕開(kāi)關(guān)、接觸器、繼電器觸點(diǎn)等部件的一種編程語(yǔ)言,是目前使用最多的一種PLC編程語(yǔ)言。其設(shè)計(jì)與編寫(xiě)梯形圖語(yǔ)言時(shí)應(yīng)注意以下規(guī)則:1)繼電器的觸點(diǎn)應(yīng)畫(huà)在橫線(xiàn)上,不可以畫(huà)在豎線(xiàn)上,繪制梯形圖時(shí)應(yīng)依照從左至右、從上至下的原則;2)沒(méi)有觸點(diǎn)的線(xiàn)路應(yīng)置于垂直方向,不能置于水平方向,這樣有利于分辨觸點(diǎn)的邏輯組合以及邏輯結(jié)果;3)依照左重右輕、上重下輕的原則,即出現(xiàn)若干串聯(lián)模塊并聯(lián)時(shí)應(yīng)將觸點(diǎn)最多的那條線(xiàn)路放在梯形圖的上方,而當(dāng)若干并聯(lián)模塊串聯(lián)時(shí)應(yīng)將觸點(diǎn)最多的那個(gè)并聯(lián)模塊放在梯形圖的左邊;4)線(xiàn)圈放在梯形圖的最右邊,觸點(diǎn)必須放在線(xiàn)圈的左邊[3]。

    指令表也稱(chēng)為語(yǔ)句表,是一種助記符表達(dá)式,與匯編語(yǔ)言中的指令類(lèi)似。它將一系列操作指令(助記符)組成的控制流程,通過(guò)編程器存入PLC中[4]。指令表的每條指令是由操作碼和操作數(shù)兩部分組成的,操作碼是指令的助記符,操作數(shù)是功能指令所作用的數(shù)據(jù),包括繼電器編號(hào)、定時(shí)器/計(jì)數(shù)器配置值和常數(shù)等。雖然梯形圖的優(yōu)點(diǎn)是形象、直觀、實(shí)用,為廣大電氣技術(shù)人員所接受,但是難以將其直接轉(zhuǎn)化為PLC能直接運(yùn)行的代碼,而指令表可以直接編譯為PLC的可執(zhí)行代碼。在PLC軟件的開(kāi)發(fā)過(guò)程中,實(shí)現(xiàn)梯形圖向指令表的轉(zhuǎn)換是必不可少的一部分,使得PLC軟件可以在最后通過(guò)對(duì)指令表的編譯或解釋執(zhí)行來(lái)實(shí)現(xiàn)PLC控制程序的運(yùn)行[5]。

    目前已有一些文獻(xiàn)給出了梯形圖向指令表轉(zhuǎn)換的算法,如文獻(xiàn)[6]中先將梯形圖映射為AOV圖運(yùn)用了拓?fù)渑判蛩惴āT撍惴ǖ膬?yōu)點(diǎn)是有良好的算法效率,時(shí)間復(fù)雜度為O(n+e),其中n表示AOV網(wǎng)頂點(diǎn)的個(gè)數(shù),e表示弧的個(gè)數(shù),但是該算法過(guò)于依賴(lài)梯形圖本身的圖符含義,當(dāng)梯形圖的串并聯(lián)關(guān)系較為復(fù)雜時(shí)轉(zhuǎn)化不穩(wěn)定,且存在誤判的可能,通用性較差。文獻(xiàn)[7]和文獻(xiàn)[8]提出了基于AOV網(wǎng)及二叉樹(shù)的轉(zhuǎn)換算法,該算法在處理串并聯(lián)結(jié)構(gòu)復(fù)雜的梯形圖時(shí),借助二叉樹(shù)建立了過(guò)多的邏輯節(jié)點(diǎn),占用了過(guò)多的空間,使得算法的遍歷效率也因此下降,同時(shí)該算法不適用于存在堆棧指令的梯形圖程序。文獻(xiàn)[9]中雖然借助串并聯(lián)歸并清晰地表示了梯形圖的層次,但并沒(méi)有提高遍歷的效率。

    通過(guò)研究傳統(tǒng)轉(zhuǎn)換算法的缺陷與不足,從而提出了一種基于多叉樹(shù)的梯形圖向指令表轉(zhuǎn)換的算法,從左至右,從上至下掃描梯形圖,將梯形圖各元件之間的邏輯關(guān)系轉(zhuǎn)換為多叉樹(shù)數(shù)結(jié)構(gòu),然后對(duì)多叉樹(shù)進(jìn)行后序遍歷得到指令表。該算法在多重串并聯(lián)梯形圖程序中,與使用二叉樹(shù)結(jié)構(gòu)相比,有效得減少了邏輯節(jié)點(diǎn)的個(gè)數(shù),從而提升了算法效率,同時(shí)也適用于具有堆棧指令的梯形圖程序,使得該轉(zhuǎn)換算法具有更好的通用性,且不會(huì)出現(xiàn)傳統(tǒng)拓?fù)渑判蛩惴ㄖ写⒙?lián)誤判的情況。

    2 多叉樹(shù)

    樹(shù)是一些節(jié)點(diǎn)(node)的集合。這個(gè)集合可以是空集;若不是空集,則樹(shù)由稱(chēng)做根(root)的節(jié)點(diǎn)r以及0或多個(gè)非空的(子)樹(shù)T1,T2,…,Tk組成,這些子樹(shù)中每一棵的根都被來(lái)自根r的一條有向的邊(edge)所連接。當(dāng)樹(shù)的每個(gè)節(jié)點(diǎn)最多只有兩棵子樹(shù)時(shí),稱(chēng)為二叉樹(shù),而任一節(jié)點(diǎn)的子樹(shù)多于兩棵時(shí),稱(chēng)為多叉樹(shù)。

    實(shí)現(xiàn)樹(shù)的一種方法是在每一個(gè)節(jié)點(diǎn)除數(shù)據(jù)外還要有一些鏈,使得該節(jié)點(diǎn)的每一個(gè)兒子都被一個(gè)鏈所鏈接。然而,由于每個(gè)節(jié)點(diǎn)的兒子樹(shù)可以變化很大并且事先不知道,因此在數(shù)據(jù)結(jié)構(gòu)中建立到各子節(jié)點(diǎn)的直接鏈接是不可行的,因?yàn)檫@樣會(huì)產(chǎn)生太多浪費(fèi)的空間。解決方法為將每個(gè)節(jié)點(diǎn)的所有兒子都放在樹(shù)節(jié)點(diǎn)的鏈表中,一般的多叉樹(shù)數(shù)據(jù)結(jié)構(gòu)如下:

    struct TreeNode

    {

    Int NodeType; //多叉樹(shù)節(jié)點(diǎn)的基本信息

    TreeNode *firstChild; //指向兒子的指針

    TreeNode *nextSibling; //指向兄弟的指針

    }

    通過(guò)對(duì)PLC梯形圖程序編寫(xiě)原則的分析可得,用梯形圖編程的過(guò)程實(shí)質(zhì)上就是利用梯形圖圖符來(lái)表示功能元件,借助圖符間的連接方式來(lái)表示功能元件之間的串并聯(lián)結(jié)構(gòu)及邏輯關(guān)系[10]??紤]到梯形圖的圖符元件代表著指令表中的功能指令,因此將PLC的梯形圖程序轉(zhuǎn)化為指令表程序一定是有規(guī)律可循的。

    通過(guò)研究發(fā)現(xiàn)梯形圖中每個(gè)梯級(jí)的圖符之間的串并聯(lián)關(guān)系是一種層次結(jié)構(gòu),而這種層次結(jié)構(gòu)可以用數(shù)據(jù)結(jié)構(gòu)中的樹(shù)來(lái)表達(dá),而且借助多叉樹(shù)表達(dá)一個(gè)梯級(jí)中圖符之間的邏輯關(guān)系之后,那么整個(gè)梯形圖就是多個(gè)樹(shù)的集合,也就是森林。而掃描梯形圖,就是一個(gè)構(gòu)建樹(shù)和森林的過(guò)程。樹(shù)由一個(gè)根節(jié)點(diǎn)和若干棵子樹(shù)構(gòu)成,這若干根子樹(shù)中每一棵都有一個(gè)根節(jié)點(diǎn)和它自己的子樹(shù)。這里用樹(shù)的葉節(jié)點(diǎn)代表具體的元件,而用非葉節(jié)點(diǎn)表示其左右子樹(shù)的邏輯結(jié)合方式[11]。

    3 由梯形圖建立多叉樹(shù)算法的主要步驟

    在梯形圖向指令表轉(zhuǎn)換的過(guò)程中,通過(guò)梯形圖建立多叉樹(shù)是最為關(guān)鍵的一部分[12]。構(gòu)造多叉樹(shù)以先左后右,先上后下為原則對(duì)每一行梯形圖進(jìn)行遍歷,當(dāng)掃描完一個(gè)節(jié)點(diǎn)后若沒(méi)有發(fā)現(xiàn)豎線(xiàn)就一直向右掃描,若掃描到豎線(xiàn)記錄其位置且處理完并聯(lián)節(jié)點(diǎn)后繼續(xù)向右掃描,直到掃描到最后一個(gè)節(jié)點(diǎn)為止。

    3.1 算法的主要步驟

    S1:自左向右進(jìn)行遍歷,每掃描到一條豎線(xiàn)就記下該豎線(xiàn)的位置以及之前遍歷的節(jié)點(diǎn),記錄此時(shí)遍歷的節(jié)點(diǎn)數(shù)目,新建一個(gè)“與”節(jié)點(diǎn)(若此前只遍歷了1個(gè)節(jié)點(diǎn)則新建一個(gè)“或”節(jié)點(diǎn)),將之前遍歷的節(jié)點(diǎn)作為該“與”節(jié)點(diǎn)的子節(jié)點(diǎn),這些子節(jié)點(diǎn)自左向右的排列順序必須與遍歷的順序一致。若該“與”節(jié)點(diǎn)不是所在行最后的節(jié)點(diǎn),則將該新建的“與”節(jié)點(diǎn)視為后續(xù)節(jié)點(diǎn)的子節(jié)點(diǎn),從而繼續(xù)構(gòu)造多叉樹(shù),然后轉(zhuǎn)S2處理豎線(xiàn);若該“與”節(jié)點(diǎn)是所在行最后的節(jié)點(diǎn),則判斷是否還有記錄的豎線(xiàn)未處理,若無(wú)則終止算法,若有則說(shuō)明出現(xiàn)了多重輸出的情況,轉(zhuǎn)S8。

    S2:當(dāng)掃描到豎線(xiàn)時(shí),用標(biāo)志位記錄該列豎線(xiàn)的數(shù)量(豎線(xiàn)的數(shù)量即為豎線(xiàn)所占的行數(shù))。根據(jù)豎線(xiàn)位置,以先右后左的原則進(jìn)行遍歷。從豎線(xiàn)的位置(即豎線(xiàn)所在的坐標(biāo))開(kāi)始向左掃描,判斷是否存在節(jié)點(diǎn),若有則轉(zhuǎn)S3,否則轉(zhuǎn)S6。

    S3:新建一個(gè)“或”節(jié)點(diǎn)(該節(jié)點(diǎn)為上一個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn),即上一行梯形圖所構(gòu)建的子樹(shù)的根節(jié)點(diǎn))并繼續(xù)向左掃描,當(dāng)掃描到豎線(xiàn)時(shí),判斷該豎線(xiàn)是向上還是向下,若為向上的豎線(xiàn),則轉(zhuǎn)S4,否則轉(zhuǎn)S5。

    S4:根據(jù)該行遍歷的節(jié)點(diǎn)數(shù)目,類(lèi)比步驟S1的方式建立“與”節(jié)點(diǎn),且該“與”節(jié)點(diǎn)作為之前“或”節(jié)點(diǎn)的子節(jié)點(diǎn),然后轉(zhuǎn)S1繼續(xù)向右掃描。

    S5:記錄該豎線(xiàn)的位置,轉(zhuǎn)S7。

    S6:此時(shí)由于豎線(xiàn)的左邊沒(méi)有節(jié)點(diǎn),表明豎線(xiàn)的右邊存在元件,新建一個(gè)“與”節(jié)點(diǎn),并將該節(jié)點(diǎn)作為已經(jīng)構(gòu)建完成的多叉樹(shù)的根節(jié)點(diǎn),記錄該豎線(xiàn)的位置,返回該豎線(xiàn)的上一行轉(zhuǎn)S1開(kāi)始繼續(xù)向右掃描(將已經(jīng)構(gòu)建的多叉樹(shù)的根節(jié)點(diǎn)作為后續(xù)“與”節(jié)點(diǎn)的子節(jié)點(diǎn))。

    S7:當(dāng)豎線(xiàn)標(biāo)志位的值(即該列豎線(xiàn)的數(shù)量)大于等于1時(shí),將該標(biāo)志位減1,并將掃描的初始位置放至下一行,并轉(zhuǎn)S3;若標(biāo)志位的值等于0時(shí),表明該并聯(lián)塊已經(jīng)處理完畢,根據(jù)記錄的豎線(xiàn)位置,轉(zhuǎn)S1開(kāi)始繼續(xù)向右掃描(將已經(jīng)構(gòu)建的多叉樹(shù)的根節(jié)點(diǎn)作為后續(xù)“與”節(jié)點(diǎn)的子節(jié)點(diǎn))。

    S8:判斷該豎線(xiàn)所占的行數(shù),添加堆棧節(jié)點(diǎn)并逐行掃描轉(zhuǎn)換節(jié)點(diǎn),直至結(jié)束。

    注意:

    1) 在構(gòu)建多叉樹(shù)時(shí),若是從左至右掃描,兄弟節(jié)點(diǎn)則按照掃描的順序從左至右依次排列;若是從右至左掃描,兄弟節(jié)點(diǎn)則是從右至左依次排列。

    2) 當(dāng)出現(xiàn)豎線(xiàn)嵌套時(shí),類(lèi)比堆棧的原則,優(yōu)先處理后掃描到的豎線(xiàn)所在的行,之后處理先掃描到的豎線(xiàn)所在的行。

    3) 當(dāng)父節(jié)點(diǎn)與子節(jié)點(diǎn)為同一種邏輯節(jié)點(diǎn)(即“與”節(jié)點(diǎn)和“或”節(jié)點(diǎn))時(shí),則刪去該邏輯子節(jié)點(diǎn),并直接將被刪去的邏輯子節(jié)點(diǎn)的相應(yīng)葉節(jié)點(diǎn)作為邏輯父節(jié)點(diǎn)的子節(jié)點(diǎn)。

    4)S8中,在第一行豎線(xiàn)起始位置添加進(jìn)棧指令(MPS),中間行(行數(shù)小于3則不添加讀棧指令)起始位置添加讀棧指令(MPD),最后一行起始位置設(shè)置出棧指令(MPP)。

    通過(guò)以上方法就完成了梯形圖向多叉樹(shù)的結(jié)構(gòu)轉(zhuǎn)換,而構(gòu)建完成的多叉樹(shù)主要反映了梯形圖圖符間的串并聯(lián)關(guān)系,要得到指令表還需進(jìn)一步轉(zhuǎn)化。其中該多叉樹(shù)的葉子節(jié)點(diǎn)必定是圖符元件,而邏輯節(jié)點(diǎn)必定都是非葉節(jié)點(diǎn)。

    3.2 多叉樹(shù)轉(zhuǎn)化為指令表

    經(jīng)過(guò)掃描和錯(cuò)誤檢查后,對(duì)構(gòu)建完成的多叉樹(shù)進(jìn)行遍歷即可將梯形圖轉(zhuǎn)化為指令表。根據(jù)構(gòu)造多叉樹(shù)時(shí)圖符元件與邏輯節(jié)點(diǎn)之間的位置關(guān)系可以得到,應(yīng)該對(duì)多叉樹(shù)采取后序遍歷的方式。即先遍歷左子樹(shù),然后依次遍歷右子樹(shù),最后遍歷根節(jié)點(diǎn)。但是在遍歷完成后需要考慮到堆棧指令的問(wèn)題,即出現(xiàn)多重輸出指令時(shí),需要自動(dòng)識(shí)別并添加堆棧指令MPS與MPP。

    直接對(duì)多叉樹(shù)進(jìn)行后序遍歷得到原始指令表只是表明了圖符間的邏輯結(jié)構(gòu),但不符合指令表語(yǔ)言的編程規(guī)范,需要在遍歷時(shí)添加判斷條件,從而得到最終可以直接轉(zhuǎn)換為十六進(jìn)制目標(biāo)代碼的指令表程序,具體轉(zhuǎn)換原則見(jiàn)第4章。

    4 基于多叉樹(shù)的梯形圖向指令表轉(zhuǎn)換的實(shí)例

    如圖1所示為一個(gè)梯形圖程序,該程序中包含了多重串、并聯(lián)的關(guān)系,且由于是多重輸出(即包含了Y0和Y1),因此需要使用堆棧指令進(jìn)行入棧出棧的操作(傳統(tǒng)借助AOV圖進(jìn)行拓?fù)渑判蚧蛘咿D(zhuǎn)化為二叉樹(shù)的算法不能適用)。

    圖1 梯形圖程序

    根據(jù)第3章中說(shuō)明的算法,從母線(xiàn)開(kāi)始向右掃描,當(dāng)掃描到常開(kāi)觸點(diǎn)X0右邊的豎線(xiàn)時(shí),建立一個(gè)“或”節(jié)點(diǎn),用符號(hào)“+”表示,并將節(jié)點(diǎn)“X0”作為該“或”節(jié)點(diǎn)的左子節(jié)點(diǎn)。由于掃描到的豎線(xiàn)占據(jù)兩行,因此本該新建一個(gè)“或”節(jié)點(diǎn)作為節(jié)點(diǎn)“X0”的兄弟節(jié)點(diǎn),但由于父節(jié)點(diǎn)也為“或”節(jié)點(diǎn),因此省略,接著依次掃描X1和X2建立元件節(jié)點(diǎn)并將其作為“或”節(jié)點(diǎn)的子節(jié)點(diǎn)。如圖2所示即為X0、X1和X2所構(gòu)成的第一個(gè)并聯(lián)塊所構(gòu)建的多叉樹(shù)。

    圖2 并聯(lián)塊X0X1X2構(gòu)建的多叉樹(shù)

    建立完圖2所示多叉樹(shù)后,繼續(xù)回到主線(xiàn)路向右掃描直至常開(kāi)觸點(diǎn)X4右邊的豎線(xiàn),此時(shí)新建一個(gè)“與”節(jié)點(diǎn),用“*”表示,將之前由X0、X1和X2構(gòu)建的多叉樹(shù)作為該“與”節(jié)點(diǎn)的左子樹(shù),之后建立元件節(jié)點(diǎn)“X3”和“X4”并分別將其作為該“與”節(jié)點(diǎn)的子節(jié)點(diǎn)。

    然后開(kāi)始處理豎線(xiàn),先建立一個(gè)“或”節(jié)點(diǎn),并將之前構(gòu)建好的多叉樹(shù)作為該“或”節(jié)點(diǎn)的左子樹(shù),然后掃描X5、X6和X7所在的行,當(dāng)掃描到向上的豎線(xiàn)時(shí),該行的掃描結(jié)束。根據(jù)掃描結(jié)果新建一個(gè)“與”節(jié)點(diǎn),將其作為處理豎線(xiàn)時(shí)新建的“或”節(jié)點(diǎn)的右子節(jié)點(diǎn),然后將元件節(jié)點(diǎn)“X5”、“X6”和“X7”依次從左至右作為該“與”節(jié)點(diǎn)的子節(jié)點(diǎn)。如圖3所示即為并聯(lián)塊X0X1X2、串聯(lián)塊X3X4以及串聯(lián)塊X5X6X7共同構(gòu)建的多叉樹(shù)。

    圖3 并聯(lián)塊X0X1X2、串聯(lián)塊X3X4和串聯(lián)塊X5X6X7構(gòu)建的多叉樹(shù)

    回到主線(xiàn)路繼續(xù)向右掃描,當(dāng)掃描至常開(kāi)觸點(diǎn)X10右邊的豎線(xiàn)時(shí),新建一個(gè)“與”節(jié)點(diǎn),將之前構(gòu)建的多叉樹(shù)作為該“與”節(jié)點(diǎn)的左子樹(shù),同時(shí)將元件節(jié)點(diǎn)“X10”作為該“與”節(jié)點(diǎn)的右子節(jié)點(diǎn)。接著開(kāi)始處理豎線(xiàn),發(fā)現(xiàn)豎線(xiàn)左邊沒(méi)有元件,記錄該豎線(xiàn)位置后返回主線(xiàn)路繼續(xù)向右掃描直至Y0,此時(shí)發(fā)現(xiàn)Y0的右邊沒(méi)有豎線(xiàn),表明出現(xiàn)了堆棧指令。因此新建進(jìn)棧指令節(jié)點(diǎn)“MPS”,元件節(jié)點(diǎn)“X11”以及輸出節(jié)點(diǎn)“Y0”,依次從左至右排列作為之前“與”節(jié)點(diǎn)的子節(jié)點(diǎn)。最后處理下一行,即新建出棧指令節(jié)點(diǎn)“MPP”,元件節(jié)點(diǎn)“X12”和輸出節(jié)點(diǎn)“Y1”。最終遍歷圖1梯形圖構(gòu)建的多叉樹(shù)如圖4所示。

    圖4 遍歷梯形圖構(gòu)建的多叉樹(shù)

    將梯形圖轉(zhuǎn)化為多叉樹(shù)之后,如果直接對(duì)圖4的多叉樹(shù)進(jìn)行后續(xù)遍歷而不加以區(qū)分的話(huà),則會(huì)得到如下所示的原始指令表程序:

    LD X0

    LD X1

    LD X2

    OR

    LD X3

    LD X4

    AND

    LD X5

    LD X6

    LD X7

    AND

    OR

    LD X10

    MPS

    LD X11

    OUT Y0

    MPP

    LD X12

    OUT Y1

    AND

    該原始指令表程序雖然清晰的反應(yīng)了圖符間的邏輯結(jié)構(gòu),但是不符合指令表語(yǔ)言的編程規(guī)范,因此在后序遍歷時(shí)加入判斷條件,從而得到符合指令表語(yǔ)言編程規(guī)范的程序。具體的判斷原則的如下所示:

    1)若為觸點(diǎn)元件,且為父節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn),則其生成指令的操作碼為L(zhǎng)D(若為常閉觸點(diǎn)則為L(zhǎng)DI);

    2)若為觸點(diǎn)元件,且不為父節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn),則其生成指令的操作碼與父節(jié)點(diǎn)的邏輯類(lèi)型相同,即父節(jié)點(diǎn)為“與”節(jié)點(diǎn)則為AND,父節(jié)點(diǎn)為“或”節(jié)點(diǎn)則為OR(若為常閉觸點(diǎn)則分別為ANI或ORI);

    3)若為邏輯節(jié)點(diǎn),且為父節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn),則不生成指令(若沒(méi)有父節(jié)點(diǎn),即為根節(jié)點(diǎn)時(shí)也不生成指令);

    4)若為邏輯節(jié)點(diǎn),且不為父節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn),則其生成指令的操作碼與父節(jié)點(diǎn)的邏輯類(lèi)型相同,即父節(jié)點(diǎn)為“與”節(jié)點(diǎn)則為ANB,父節(jié)點(diǎn)為“或”節(jié)點(diǎn)則為ORB。

    根據(jù)以上原則對(duì)圖4多叉樹(shù)進(jìn)行后序遍歷得到的符合編程規(guī)范的最終指令表如下所示:

    LD X0

    OR X1

    OR X2

    AND X3

    AND X4

    LD X5

    AND X6

    AND X7

    ORB

    AND X10

    MPS

    AND X11

    OUT Y0

    MPP

    AND X12

    OUT Y1

    5 結(jié)束語(yǔ)

    研究分析了梯形圖節(jié)點(diǎn)元件互相之間的邏輯關(guān)系,借助多叉樹(shù)特殊的數(shù)據(jù)結(jié)構(gòu)來(lái)反應(yīng)圖符之間的邏輯關(guān)系并完成梯形圖向指令表的轉(zhuǎn)換。在自主開(kāi)發(fā)的梯形圖編譯軟件上成功應(yīng)用了該梯形圖向指令表轉(zhuǎn)換的算法,表明其能夠正確地將用戶(hù)的梯形圖程序轉(zhuǎn)換為指令表程序。該算法可用于邏輯復(fù)雜梯形圖向指令表的轉(zhuǎn)換,即使出現(xiàn)堆棧指令也能同樣適用,且梯形圖的掃描過(guò)程不重復(fù)、不遺漏。構(gòu)建完多叉樹(shù)之后的遍歷過(guò)程相較遍歷二叉樹(shù)等也更為高效。

    [1] 李金城. 三菱FX2NPLC功能指令應(yīng)用詳解[M]. 北京:電子工業(yè)出版社, 2011.

    [2] 呂俊白, 施敏芳. PLC梯形圖可視化編輯與語(yǔ)句表的自動(dòng)生成[J]. 自動(dòng)化儀表, 2005, 26(3): 28-30.

    [3] 韓雪濤, 韓廣興. 雙色圖解PLC梯形圖及語(yǔ)句表[M]. 北京:人民郵電出版社, 2012.

    [4] 陽(yáng)俊將, 黃道平, 劉少君. 關(guān)于PLC梯形圖到指令表轉(zhuǎn)換算法的研究[J]. 信息技術(shù), 2012, (6): 75-78.

    [5] 未慶超, 蔡啟仲. 基于ARM的PLC編譯系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)測(cè)量與控制, 2014, 22(4): 1225-1229.

    [6] 崔小樂(lè), 周卓岑. 可編程控制器的梯形圖語(yǔ)言與語(yǔ)句表語(yǔ)言的互換算法[J]. 微電子學(xué)與計(jì)算機(jī), 2000(1): 26-30.

    [7] 葛 芬, 吳 寧. 基于AOV圖及二叉樹(shù)的梯形圖與指令表互換算法[J]. 南京航空航天大學(xué)學(xué)報(bào), 2006, 38(6): 754-758.

    [8] 黃晶晶, 陳文薌. 基于二叉樹(shù)的PLC梯形圖轉(zhuǎn)化為指令表的算法[J]. 現(xiàn)代電子技術(shù), 2010(4): 125-134.

    [9] 傅 亮, 胡飛虎. 基于串并聯(lián)歸并的PLC梯形圖向指令表轉(zhuǎn)換算法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2009, 45(27): 72-118.

    [10] 莫易敏, 章德平. PLC梯形圖轉(zhuǎn)化為指令表算法及實(shí)現(xiàn)[J]. 控制工程, 2006, 13(6): 573-576.

    [11] 石 銳, 周 雷, 楊正益. 軟PLC梯形圖到語(yǔ)句表轉(zhuǎn)換新策略的研究[J]. 計(jì)算機(jī)工程與應(yīng)用, 2010, 46(18): 244-248.

    [12] 譚錦潔, 程良鴻, 殷學(xué)鵬. 嵌入式PLC中梯形圖到AOV圖的映射[J]. 計(jì)算機(jī)測(cè)量與控制, 2004, 12(10): 993-1004.

    Transformation Algorithm from Ladder Diagram to Instruction List Based on Multi-tree

    Zhou Weiqiang, He Tongneng, Chen Defu

    (College of Information and Engineering, Zhejiang University of Technology, Hangzhou 310023, China)

    Aiming at the shortcomings of the transformation algorithm from ladder diagram to instruction list in the current programmable logic controller(PLC) editing software, this paper presents an algorithm to realize the transformation from PLC ladder diagram to instruction list based on multi-tree. Through the analysis and research of ladder diagram, shows the advantages and disadvantages of the ladder diagram and instruction list in practical application. The multi-tree data structure is created following the scanning principle that from left to right, from top to bottom. And the multi-tree is used to reflect the logical relationship between the diagrams. Then get the instruction list by post-traversing the multi-tree.This algorithm has higher efficiency when dealing with the ladder diagram which has multiple series-parallel structures. And it is also suitable for the stack instruction, which makes the algorithm more versatile.

    programmable logic controller; ladder diagram; instruction list; multi-tree

    2017-02-18;

    2017-03-05。

    周偉強(qiáng)(1990-),男,浙江海寧人,碩士研究生,主要從事控制科學(xué)嵌入式方向的研究。

    1671-4598(2017)08-0191-04

    10.16526/j.cnki.11-4762/tp.2017.08.049

    TP273

    A

    猜你喜歡
    圖符豎線(xiàn)梯形圖
    可自動(dòng)消除NG豎線(xiàn)缺陷的Mura檢測(cè)機(jī)設(shè)計(jì)探究
    TFT-LCD彩膜工藝宏觀缺陷自動(dòng)化修補(bǔ)的探究
    基于VC的梯形圖編程軟件開(kāi)發(fā)技術(shù)
    繼電器電路轉(zhuǎn)為梯形圖教學(xué)經(jīng)驗(yàn)淺談
    電子制作(2016年15期)2017-01-15 13:39:28
    象形文字走走看
    象形文字走走看
    PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
    計(jì)算機(jī)輔助飛機(jī)制造協(xié)調(diào)路線(xiàn)圖設(shè)計(jì)研究
    CAXA用戶(hù)圖庫(kù)在沖壓模具設(shè)計(jì)中的應(yīng)用
    嵌入式軟PLC編程系統(tǒng)的設(shè)計(jì)
    国产一区二区三区av在线| 日本色播在线视频| 国产黄色免费在线视频| 一级,二级,三级黄色视频| 久久热精品热| 国产永久视频网站| 国产精品成人在线| 国产熟女午夜一区二区三区 | 国产在线男女| 欧美人与善性xxx| 亚洲欧美日韩东京热| 国产熟女欧美一区二区| 黄色一级大片看看| 免费少妇av软件| 国产成人aa在线观看| 高清欧美精品videossex| 在线 av 中文字幕| 成年人午夜在线观看视频| 欧美xxxx性猛交bbbb| 丝袜喷水一区| 交换朋友夫妻互换小说| 少妇的逼好多水| 亚洲欧美清纯卡通| 男人添女人高潮全过程视频| av.在线天堂| www.色视频.com| 91久久精品国产一区二区成人| 欧美丝袜亚洲另类| 精品少妇黑人巨大在线播放| 亚洲欧美精品专区久久| av国产精品久久久久影院| 丰满饥渴人妻一区二区三| 两个人免费观看高清视频 | 精品人妻熟女av久视频| 国产精品国产av在线观看| 永久网站在线| 九色成人免费人妻av| 色婷婷久久久亚洲欧美| 日韩欧美一区视频在线观看 | 久热久热在线精品观看| 黄色一级大片看看| 我的女老师完整版在线观看| 中文字幕精品免费在线观看视频 | 亚洲av不卡在线观看| 欧美+日韩+精品| 日本与韩国留学比较| 伦理电影免费视频| 国产一级毛片在线| 亚洲成色77777| 日韩不卡一区二区三区视频在线| 午夜老司机福利剧场| 亚洲图色成人| 精品酒店卫生间| 久久精品国产自在天天线| 嫩草影院新地址| a 毛片基地| 欧美精品高潮呻吟av久久| 精品国产露脸久久av麻豆| 日本vs欧美在线观看视频 | 国产免费福利视频在线观看| 久久免费观看电影| 亚洲av欧美aⅴ国产| 亚洲av国产av综合av卡| 哪个播放器可以免费观看大片| 七月丁香在线播放| 久久影院123| 国产成人a∨麻豆精品| 最近的中文字幕免费完整| 另类精品久久| 精品亚洲成a人片在线观看| 大又大粗又爽又黄少妇毛片口| 午夜视频国产福利| 香蕉精品网在线| 国产欧美日韩一区二区三区在线 | 三级经典国产精品| 国产欧美另类精品又又久久亚洲欧美| 少妇人妻精品综合一区二区| 久久亚洲国产成人精品v| 一级,二级,三级黄色视频| 国国产精品蜜臀av免费| 亚洲精品456在线播放app| 国产成人freesex在线| 久久国产乱子免费精品| 亚洲精品久久午夜乱码| 九九爱精品视频在线观看| 成人免费观看视频高清| 美女国产视频在线观看| 女性被躁到高潮视频| 日韩精品免费视频一区二区三区 | 午夜免费观看性视频| 边亲边吃奶的免费视频| 偷拍熟女少妇极品色| 丰满饥渴人妻一区二区三| 国产伦在线观看视频一区| 国产一区二区三区av在线| av国产精品久久久久影院| 国产91av在线免费观看| 人体艺术视频欧美日本| 久久久精品94久久精品| 韩国高清视频一区二区三区| www.av在线官网国产| 五月伊人婷婷丁香| 久久午夜福利片| 精品亚洲乱码少妇综合久久| 欧美三级亚洲精品| 久久久精品94久久精品| 午夜精品国产一区二区电影| 亚洲久久久国产精品| 亚洲国产精品一区二区三区在线| 国产有黄有色有爽视频| 久久国产精品大桥未久av | 午夜福利视频精品| 麻豆精品久久久久久蜜桃| 欧美成人午夜免费资源| 高清毛片免费看| 亚洲精品国产av蜜桃| 晚上一个人看的免费电影| videos熟女内射| 两个人免费观看高清视频 | 人人妻人人添人人爽欧美一区卜| 最后的刺客免费高清国语| 在线免费观看不下载黄p国产| 老熟女久久久| 熟女av电影| 国产有黄有色有爽视频| av免费观看日本| 2018国产大陆天天弄谢| 国产成人免费无遮挡视频| 下体分泌物呈黄色| 欧美丝袜亚洲另类| 在线观看一区二区三区激情| 99国产精品免费福利视频| 三级国产精品欧美在线观看| 哪个播放器可以免费观看大片| 亚洲内射少妇av| 精品少妇内射三级| 麻豆精品久久久久久蜜桃| 日韩视频在线欧美| 少妇高潮的动态图| 交换朋友夫妻互换小说| 亚洲av男天堂| 免费观看性生交大片5| 一本一本综合久久| 欧美成人午夜免费资源| 伦精品一区二区三区| 伊人亚洲综合成人网| 久久久久久久久大av| 天美传媒精品一区二区| 狂野欧美激情性bbbbbb| 国产色爽女视频免费观看| 国产精品一区二区三区四区免费观看| 亚洲精品久久久久久婷婷小说| 女人精品久久久久毛片| 日本爱情动作片www.在线观看| 日韩 亚洲 欧美在线| 一个人免费看片子| 女人久久www免费人成看片| 国产永久视频网站| 97超视频在线观看视频| 久久韩国三级中文字幕| 国产精品嫩草影院av在线观看| 中文字幕制服av| kizo精华| 国产免费一级a男人的天堂| 亚洲伊人久久精品综合| 天堂8中文在线网| 亚洲精品第二区| 97在线人人人人妻| 国产在线视频一区二区| 最新的欧美精品一区二区| 精品一区二区免费观看| 免费大片18禁| 久久久久精品性色| 亚洲欧美日韩另类电影网站| 欧美 日韩 精品 国产| 午夜免费观看性视频| 亚洲av二区三区四区| av播播在线观看一区| 777米奇影视久久| 精品国产国语对白av| 欧美 日韩 精品 国产| a级片在线免费高清观看视频| 国产女主播在线喷水免费视频网站| 亚洲国产av新网站| 国产综合精华液| 少妇人妻精品综合一区二区| 成人综合一区亚洲| 伦理电影大哥的女人| 只有这里有精品99| 国产精品欧美亚洲77777| 欧美 亚洲 国产 日韩一| 国产在线一区二区三区精| 免费看光身美女| 这个男人来自地球电影免费观看 | 91久久精品电影网| 久久精品久久久久久噜噜老黄| 免费av中文字幕在线| 日韩免费高清中文字幕av| 亚洲成人一二三区av| 久久狼人影院| 插逼视频在线观看| 一区二区av电影网| av国产精品久久久久影院| 国产无遮挡羞羞视频在线观看| 人妻 亚洲 视频| 美女脱内裤让男人舔精品视频| 最新中文字幕久久久久| 校园人妻丝袜中文字幕| 免费看av在线观看网站| 亚洲国产日韩一区二区| 国产成人精品婷婷| 亚洲美女搞黄在线观看| 亚洲精品乱码久久久久久按摩| 精品午夜福利在线看| 免费观看性生交大片5| 国产精品国产三级国产专区5o| 人妻 亚洲 视频| 国产精品一区二区性色av| 丰满人妻一区二区三区视频av| 少妇猛男粗大的猛烈进出视频| 亚洲精品456在线播放app| 大又大粗又爽又黄少妇毛片口| 免费大片黄手机在线观看| 亚洲av日韩在线播放| 亚洲怡红院男人天堂| 偷拍熟女少妇极品色| 韩国av在线不卡| 国产免费又黄又爽又色| 全区人妻精品视频| 日韩中字成人| 一级毛片久久久久久久久女| videossex国产| 午夜精品国产一区二区电影| 人妻一区二区av| 亚洲av中文av极速乱| 亚洲精品色激情综合| 99九九在线精品视频 | 深夜a级毛片| 91久久精品国产一区二区三区| 国产 精品1| av在线app专区| 内射极品少妇av片p| 国产精品福利在线免费观看| 狂野欧美激情性xxxx在线观看| 99热6这里只有精品| 尾随美女入室| 国产熟女午夜一区二区三区 | 欧美 亚洲 国产 日韩一| 日韩视频在线欧美| 天天躁夜夜躁狠狠久久av| 久久午夜综合久久蜜桃| 色视频www国产| 人妻制服诱惑在线中文字幕| 99久久精品热视频| 欧美精品亚洲一区二区| 国产成人精品久久久久久| 国产高清国产精品国产三级| 青春草国产在线视频| 国产精品不卡视频一区二区| 亚洲精品亚洲一区二区| 久久影院123| 中文字幕亚洲精品专区| 黄色日韩在线| 精品久久久久久电影网| 午夜福利视频精品| 国产爽快片一区二区三区| 人妻制服诱惑在线中文字幕| 亚洲天堂av无毛| 色视频在线一区二区三区| 麻豆乱淫一区二区| 午夜福利,免费看| 五月伊人婷婷丁香| 精品卡一卡二卡四卡免费| 伊人久久国产一区二区| 国产高清不卡午夜福利| 亚洲av电影在线观看一区二区三区| 十八禁高潮呻吟视频 | 晚上一个人看的免费电影| 国产成人精品无人区| 国产免费视频播放在线视频| 内射极品少妇av片p| 午夜久久久在线观看| 国产在线一区二区三区精| 2022亚洲国产成人精品| 国产老妇伦熟女老妇高清| 五月开心婷婷网| 亚洲精品国产成人久久av| 国产日韩欧美亚洲二区| 又大又黄又爽视频免费| 国产精品久久久久久久久免| 国产亚洲5aaaaa淫片| 亚洲精品日本国产第一区| 色94色欧美一区二区| 美女xxoo啪啪120秒动态图| 免费黄频网站在线观看国产| 日本wwww免费看| 亚洲精品中文字幕在线视频 | 大香蕉97超碰在线| 伦理电影大哥的女人| 亚洲国产精品一区三区| 久久毛片免费看一区二区三区| 国产精品人妻久久久影院| 99热这里只有精品一区| 亚洲欧美精品专区久久| 久热久热在线精品观看| 永久网站在线| 春色校园在线视频观看| 久久久久久久久久人人人人人人| 在线观看免费高清a一片| 亚洲无线观看免费| 成人漫画全彩无遮挡| 国产欧美日韩精品一区二区| 中文精品一卡2卡3卡4更新| 亚洲av在线观看美女高潮| 哪个播放器可以免费观看大片| 亚洲精品第二区| 高清黄色对白视频在线免费看 | 伊人亚洲综合成人网| 亚洲va在线va天堂va国产| 岛国毛片在线播放| 桃花免费在线播放| 91精品伊人久久大香线蕉| a 毛片基地| 免费人成在线观看视频色| 亚洲一区二区三区欧美精品| 男女国产视频网站| 极品教师在线视频| 一个人看视频在线观看www免费| 日本午夜av视频| 六月丁香七月| 国产日韩欧美在线精品| 免费高清在线观看视频在线观看| 高清不卡的av网站| 精品亚洲乱码少妇综合久久| 永久免费av网站大全| 久久午夜综合久久蜜桃| 如何舔出高潮| 在线天堂最新版资源| 成人特级av手机在线观看| 一级av片app| 精品国产露脸久久av麻豆| 久久人人爽人人爽人人片va| 久久精品久久久久久久性| 色94色欧美一区二区| 午夜激情久久久久久久| 国产视频内射| av福利片在线观看| 夫妻午夜视频| 久热久热在线精品观看| 欧美三级亚洲精品| 亚洲av电影在线观看一区二区三区| 欧美3d第一页| 国产av精品麻豆| 久久久国产一区二区| 久久久久精品性色| 日韩欧美一区视频在线观看 | 国产精品一二三区在线看| 女性生殖器流出的白浆| 欧美精品国产亚洲| 久热久热在线精品观看| 中文字幕免费在线视频6| 狂野欧美激情性bbbbbb| 成人亚洲欧美一区二区av| 久久人人爽人人爽人人片va| 亚洲国产成人一精品久久久| 欧美精品一区二区大全| 久久国产亚洲av麻豆专区| 午夜影院在线不卡| 只有这里有精品99| 亚洲精品亚洲一区二区| 精品国产乱码久久久久久小说| 99九九在线精品视频 | 国产午夜精品久久久久久一区二区三区| 久久韩国三级中文字幕| 久久狼人影院| 看非洲黑人一级黄片| 麻豆成人午夜福利视频| 亚洲,欧美,日韩| 日韩中文字幕视频在线看片| 青春草国产在线视频| 熟女电影av网| 伦理电影免费视频| 亚洲av在线观看美女高潮| 国产极品天堂在线| 午夜福利影视在线免费观看| 亚洲性久久影院| 亚洲精品日韩av片在线观看| 偷拍熟女少妇极品色| 建设人人有责人人尽责人人享有的| 亚洲av二区三区四区| 国产国拍精品亚洲av在线观看| 97精品久久久久久久久久精品| 国产午夜精品一二区理论片| 国产极品粉嫩免费观看在线 | 午夜免费鲁丝| 日本欧美视频一区| 如日韩欧美国产精品一区二区三区 | 国产高清不卡午夜福利| 伦理电影免费视频| 高清在线视频一区二区三区| 一区二区三区精品91| 久久午夜福利片| 蜜桃在线观看..| 极品人妻少妇av视频| 午夜激情福利司机影院| 波野结衣二区三区在线| 国产视频首页在线观看| 久久精品国产鲁丝片午夜精品| 2022亚洲国产成人精品| 亚洲综合精品二区| 久久av网站| 美女国产视频在线观看| 在线亚洲精品国产二区图片欧美 | 一区二区三区精品91| 婷婷色综合www| 日本黄色日本黄色录像| 国产国拍精品亚洲av在线观看| 久久久久久人妻| 日韩一本色道免费dvd| 好男人视频免费观看在线| 久久亚洲国产成人精品v| 久久久久视频综合| 在线亚洲精品国产二区图片欧美 | 亚洲精品日韩av片在线观看| 一本一本综合久久| 国产在线免费精品| 亚洲欧洲精品一区二区精品久久久 | 国产免费一级a男人的天堂| 国产成人a∨麻豆精品| 色5月婷婷丁香| 一级片'在线观看视频| 成年av动漫网址| 在线观看免费日韩欧美大片 | 丝袜脚勾引网站| 久久国产精品大桥未久av | 国产精品99久久久久久久久| 国产亚洲91精品色在线| 九九爱精品视频在线观看| 亚洲精品,欧美精品| 国产老妇伦熟女老妇高清| 国产白丝娇喘喷水9色精品| 亚洲国产精品一区三区| 久久久欧美国产精品| 中国三级夫妇交换| 特大巨黑吊av在线直播| 亚洲欧美日韩卡通动漫| 少妇被粗大的猛进出69影院 | 中文字幕制服av| 亚洲精品视频女| 亚洲综合精品二区| 亚洲国产日韩一区二区| 欧美性感艳星| 免费人成在线观看视频色| 国产一区二区在线观看av| 性色av一级| 男的添女的下面高潮视频| 精品久久久精品久久久| 99国产精品免费福利视频| 2018国产大陆天天弄谢| 97在线人人人人妻| 观看av在线不卡| 建设人人有责人人尽责人人享有的| 三级国产精品欧美在线观看| 日日摸夜夜添夜夜添av毛片| 一区二区av电影网| 性色av一级| 一级,二级,三级黄色视频| 美女cb高潮喷水在线观看| 伦理电影大哥的女人| 国产日韩一区二区三区精品不卡 | 国产视频内射| 美女大奶头黄色视频| 日韩免费高清中文字幕av| 少妇高潮的动态图| 人人澡人人妻人| 18+在线观看网站| 777米奇影视久久| 老女人水多毛片| 亚洲天堂av无毛| 麻豆精品久久久久久蜜桃| 亚洲av日韩在线播放| 春色校园在线视频观看| www.av在线官网国产| 欧美性感艳星| 另类亚洲欧美激情| 亚洲av福利一区| 亚洲国产毛片av蜜桃av| 成人国产麻豆网| 纯流量卡能插随身wifi吗| 深夜a级毛片| 国产视频内射| 午夜日本视频在线| 丝袜脚勾引网站| 国产免费福利视频在线观看| 国产在视频线精品| 老司机影院毛片| 久久 成人 亚洲| 国产成人freesex在线| 国产日韩一区二区三区精品不卡 | 欧美3d第一页| 自拍偷自拍亚洲精品老妇| 国产美女午夜福利| 国产女主播在线喷水免费视频网站| 精品久久久精品久久久| 五月开心婷婷网| 黄色怎么调成土黄色| 赤兔流量卡办理| 国产男女内射视频| 观看免费一级毛片| 亚洲国产av新网站| 欧美成人午夜免费资源| 免费观看a级毛片全部| 久久99热6这里只有精品| 国内少妇人妻偷人精品xxx网站| 大香蕉97超碰在线| 高清午夜精品一区二区三区| 国产成人a∨麻豆精品| 99re6热这里在线精品视频| 中文精品一卡2卡3卡4更新| 丁香六月天网| 日日撸夜夜添| 高清在线视频一区二区三区| 精品国产一区二区久久| 欧美日韩亚洲高清精品| 国产熟女午夜一区二区三区 | 亚洲国产欧美日韩在线播放 | 国产爽快片一区二区三区| 一区在线观看完整版| 国产一级毛片在线| 街头女战士在线观看网站| 99热这里只有是精品在线观看| 国产黄色免费在线视频| 乱系列少妇在线播放| 在线观看av片永久免费下载| 麻豆成人午夜福利视频| 国产女主播在线喷水免费视频网站| 日本欧美国产在线视频| 中文字幕人妻丝袜制服| 亚洲高清免费不卡视频| 国产白丝娇喘喷水9色精品| 国产黄片视频在线免费观看| 不卡视频在线观看欧美| 午夜免费鲁丝| 欧美激情极品国产一区二区三区 | 亚洲精品日韩av片在线观看| 欧美日韩亚洲高清精品| 亚洲av成人精品一二三区| 国产乱人偷精品视频| 中国三级夫妇交换| 精品一区二区三卡| 免费av中文字幕在线| 97超碰精品成人国产| 观看美女的网站| 亚洲中文av在线| 最后的刺客免费高清国语| 天堂中文最新版在线下载| 亚洲国产色片| 最新的欧美精品一区二区| 美女视频免费永久观看网站| 国产极品粉嫩免费观看在线 | 久久99热6这里只有精品| 日本色播在线视频| 久久久久久人妻| 中国三级夫妇交换| 日韩电影二区| 搡老乐熟女国产| 国产欧美亚洲国产| 好男人视频免费观看在线| 日本-黄色视频高清免费观看| 丝袜脚勾引网站| 免费人妻精品一区二区三区视频| 91精品国产九色| 日本wwww免费看| 成人综合一区亚洲| 欧美另类一区| 人人妻人人爽人人添夜夜欢视频 | 国产乱人偷精品视频| 99久久中文字幕三级久久日本| 日本欧美视频一区| 激情五月婷婷亚洲| 欧美+日韩+精品| 六月丁香七月| 国产免费福利视频在线观看| 97精品久久久久久久久久精品| 黄片无遮挡物在线观看| 女的被弄到高潮叫床怎么办| 女人精品久久久久毛片| 男人添女人高潮全过程视频| 国国产精品蜜臀av免费| 亚洲久久久国产精品| 久久人人爽人人爽人人片va| 成年av动漫网址| 久久精品久久久久久噜噜老黄| 99久国产av精品国产电影| 男女边摸边吃奶| 久久精品久久久久久久性| 男的添女的下面高潮视频| 久久久久久久国产电影| 亚洲内射少妇av| 人人妻人人澡人人爽人人夜夜| 精品国产乱码久久久久久小说| 亚洲丝袜综合中文字幕| 日本欧美视频一区| 久久热精品热| 男人爽女人下面视频在线观看| 交换朋友夫妻互换小说| 免费观看的影片在线观看| 高清午夜精品一区二区三区| 亚洲情色 制服丝袜| 色视频在线一区二区三区| 成年女人在线观看亚洲视频| 亚洲精品乱码久久久久久按摩| av国产久精品久网站免费入址| 日韩亚洲欧美综合| 人人妻人人澡人人爽人人夜夜|