<wbr id="ede8e"></wbr><bdo id="ede8e"><var id="ede8e"><optgroup id="ede8e"></optgroup></var></bdo>
    1. <sub id="ede8e"></sub>
    2. <sub id="ede8e"></sub>
    3. 18禁无遮挡啪啪无码网站,真人无码作爱免费视频,2018年亚洲欧美在线v,国产成人午夜一区二区三区 ,亚洲精品毛片一区二区,国产在线亚州精品内射,精品无码国产污污污免费,国内少妇人妻偷人精品
      首頁(yè) > 文章中心 > 程序編程

      程序編程

      前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇程序編程范文,相信會(huì)為您的寫作帶來(lái)幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

      程序編程

      程序編程范文第1篇

      關(guān)鍵詞:ZeroMQ;多線程編程;阻塞;無(wú)鎖編程

      1、多線程編程的挑戰(zhàn)

      自摩爾定律提出以來(lái),CPU主頻一直以指數(shù)級(jí)的速度在增長(zhǎng)。為了充分利用硬件性能,改善程序體驗(yàn),軟件業(yè)廣泛采用了多線程編程技術(shù)。但是由于多個(gè)線程是動(dòng)態(tài)運(yùn)行的,使得這類程序的編寫和調(diào)試異常困難[1-2]。與單線程程序相比,軟件開發(fā)人員往往需要付出數(shù)十倍的精力。近幾年,隨著CPU主頻逐漸逼近物理極限,芯片工業(yè)逐步向多核發(fā)展,但新增加的CPU性能無(wú)法全面發(fā)揮出來(lái)。除了像Erlang[3]這樣的少數(shù)語(yǔ)言外,絕大多數(shù)編程語(yǔ)言,包括C和C++,并沒有提供對(duì)于并發(fā)編程的支持。在傳統(tǒng)多線程編程技術(shù)中,采用加鎖以及信號(hào)量的方式來(lái)實(shí)現(xiàn)線程同步。這樣的方式存在如下一些問題:(1)編寫以及維護(hù)這類代碼代價(jià)非常高昂。根據(jù)經(jīng)驗(yàn)估算,編寫多線程代碼的成本是編寫單線程代碼成本的10~100倍;(2)這類方法很難擴(kuò)展到更多線程。大多數(shù)多線程應(yīng)用使用2個(gè)線程(例如典型的生產(chǎn)者消費(fèi)者線程),有一些會(huì)用到3個(gè)或者4個(gè)。這表明對(duì)于一個(gè)有著16個(gè)或者更多核心的CPU,其硬件性能沒有充分利用起來(lái);(3)即便代碼是多線程的,它往往也不能受益于多核CPU,因?yàn)椴煌木€程間經(jīng)常彼此阻塞。開發(fā)者很難發(fā)現(xiàn)精巧的多線程程序?qū)嶋H上已經(jīng)退化成了一個(gè)單線程;(4)即便在最理想的情況下,應(yīng)用程序被設(shè)計(jì)成避免大范圍使用加鎖操作,還是很難擴(kuò)展到超過10個(gè)核心的CPU上。隨著線程數(shù)以及CPU核數(shù)的增加,硬件資源的利用率會(huì)急劇下降;(5)線程被換入CPU中會(huì)引發(fā)程序的上下文切換,以及CPU緩沖區(qū)中的內(nèi)容失效,這也將極大地影響整個(gè)程序的執(zhí)行效率。為了避免加鎖導(dǎo)致的阻塞,最新的編程理論提出了無(wú)鎖算法來(lái)實(shí)現(xiàn)數(shù)據(jù)共享。該算法需要用到硬件指令集中的“比較以及交換原子操作”[4]來(lái)避免加鎖。為了達(dá)到無(wú)鎖編程的準(zhǔn)確性以及安全性,程序員需要具備硬件以及編譯器方面的知識(shí)背景。無(wú)鎖編程技術(shù)雖然提高了軟件性能,但是其高度復(fù)雜性使得軟件開發(fā)過程充滿了挑戰(zhàn),所以這樣的技術(shù)目前并沒有獲得廣泛的使用。

      2、ZeroMQ消息中間件技術(shù)

      ZeroMQ是由iMatix公司開發(fā)的一款開源的消息中間件。最初的設(shè)計(jì)目標(biāo)是在股票交易系統(tǒng)中實(shí)現(xiàn)極快的數(shù)據(jù)交換,所以性能是設(shè)計(jì)的首要考慮因素。ZeroMQ看起來(lái)像是一套嵌入式的網(wǎng)絡(luò)鏈接庫(kù),但工作起來(lái)更像是一個(gè)并發(fā)式的框架。它可以在多種協(xié)議中傳輸消息,如線程間、進(jìn)程間、TCP、廣播等。開發(fā)人員可以據(jù)此構(gòu)建多種連接模式,如:-訂閱、任務(wù)分發(fā)、請(qǐng)求-應(yīng)答等。它對(duì)幾乎所有主流語(yǔ)言均可支持,并能在幾乎所有的操作系統(tǒng)上運(yùn)行。ZeroMQ目前已經(jīng)在很廣泛的范圍內(nèi)獲得使用,包括:金融服務(wù)、游戲開發(fā)、嵌入式系統(tǒng)、科學(xué)研究,以及航天系統(tǒng)中。為了達(dá)到高性能,ZeroMQ采用了兩項(xiàng)核心技術(shù)來(lái)實(shí)現(xiàn)高效的消息傳輸,分別為并發(fā)模型和無(wú)鎖隊(duì)列。

      2.1ZeroMQ的并發(fā)模型

      為了充分利用CPU的多核特性,ZeroMQ被設(shè)計(jì)成完全避免使用鎖,從而使得每個(gè)線程能夠全速運(yùn)行。線程之間的通信采用基于事件的異步消息發(fā)送模式,即經(jīng)典的參與者模式。它為每一個(gè)CPU核啟動(dòng)一個(gè)工作線程,從而避免了當(dāng)兩個(gè)線程共享一個(gè)核時(shí)所做的線程上下文切換操作(見圖1)。ZeroMQ的內(nèi)部對(duì)象緊密地與特定工作線程綁定到一起。這樣就不需要使用任何臨界區(qū)、鎖,以及信號(hào)量等同步操作。并且每個(gè)ZeroMQ內(nèi)部對(duì)象與特定的CPU核也是關(guān)聯(lián)的,這樣也避免了上下文切換,有效利用CPU緩存區(qū)機(jī)制。這種設(shè)計(jì)避免了傳統(tǒng)多線程開發(fā)所面臨的諸多問題,因?yàn)榫€程之間不再需要共享對(duì)象。不過在該設(shè)計(jì)中,需要提供一個(gè)調(diào)度器。調(diào)度器采用基于事件驅(qū)動(dòng)的方式管理ZeroMQ內(nèi)部對(duì)象,從而避免了在整個(gè)循環(huán)中去檢測(cè)對(duì)象,也避免了對(duì)象長(zhǎng)時(shí)間地占用CPU這種情況。這樣,整個(gè)系統(tǒng)工作在異步模式下,所有的對(duì)象以狀態(tài)機(jī)的方式運(yùn)行。

      2.2ZeroMQ的無(wú)鎖隊(duì)列

      為了保證并發(fā)操作,ZeroMQ使用了無(wú)鎖隊(duì)列在用戶線程以及ZeroMQ工作線程之間交換數(shù)據(jù)。無(wú)鎖隊(duì)列中用到無(wú)鎖算法,該算法不依賴操作系統(tǒng)所提供的鎖以及信號(hào)量等機(jī)制實(shí)現(xiàn)數(shù)據(jù)共享,但是需要依賴CPU提供的原子操作。無(wú)鎖算法本質(zhì)上并不是“無(wú)鎖”的,只是它的鎖是在硬件層面上實(shí)現(xiàn)。此外,無(wú)鎖隊(duì)列的兩個(gè)特別設(shè)計(jì)使得其擁有很高的性能。第一個(gè)特點(diǎn)是:每個(gè)隊(duì)列對(duì)應(yīng)一個(gè)寫線程和一個(gè)讀線程(見圖2)。在一個(gè)寫線程對(duì)應(yīng)多個(gè)讀線程的通信環(huán)境下,ZeroMQ將創(chuàng)建多個(gè)隊(duì)列。這種讀寫之間一一對(duì)應(yīng)的模式,加上無(wú)鎖操作,使得無(wú)鎖隊(duì)列的實(shí)現(xiàn)非常高效。第二個(gè)特點(diǎn)是:采用批處理的方法來(lái)寫入或者讀取消息。雖然無(wú)鎖編程算法比傳統(tǒng)的基于信號(hào)量的算法更高效,但是CPU的原子操作很費(fèi)時(shí),特別是當(dāng)CPU的多個(gè)核之間存在競(jìng)爭(zhēng)時(shí)。為了解決這個(gè)問題,ZeroMQ采用了批處理的方法來(lái)應(yīng)對(duì)。假設(shè)從網(wǎng)絡(luò)上收到了一個(gè)數(shù)據(jù)包,其中包含了10個(gè)小消息。為了將這些消息寫入無(wú)鎖隊(duì)列中去,需要使用10次原子操作。ZeroMQ采用的方式是,先將單個(gè)消息保存到一個(gè)預(yù)寫區(qū)域中,累積到一定數(shù)目后,使用一次原子操作,一起寫入隊(duì)列中;類似地,在讀取時(shí)也應(yīng)用了預(yù)讀取緩沖區(qū)。

      3、ZeroMQ性能驗(yàn)證

      3.1測(cè)試方法

      通過對(duì)ZeroMQ工作原理的分析,知道其性能無(wú)疑會(huì)超過傳統(tǒng)多線程方法的。但是這樣的性能差距到底有多大,需要通過實(shí)驗(yàn)來(lái)分析。ZeroMQ作為消息中間件可以在多種應(yīng)用場(chǎng)合傳遞消息。其中的線程間通信模式,使得其可以很好地用于多線程應(yīng)用程序。在其多種消息傳遞模型中,任務(wù)分發(fā)的消息模式特別適合典型的生產(chǎn)者-消費(fèi)者這種應(yīng)用形式。傳統(tǒng)多線程編程方法采用了互斥鎖以及信號(hào)量來(lái)實(shí)現(xiàn)生產(chǎn)者-消費(fèi)者線程之間的數(shù)據(jù)共享。每一個(gè)生產(chǎn)者線程與一個(gè)消費(fèi)者線程作為一個(gè)線程對(duì)。線程的執(zhí)行時(shí)間以生產(chǎn)者線程開始工作,到消費(fèi)者線程處理完最后一個(gè)數(shù)據(jù)之間的時(shí)間間隔作為該線程對(duì)的執(zhí)行時(shí)間。多線程情況下,將各個(gè)線程對(duì)的執(zhí)行時(shí)間做相加處理。在每次測(cè)試期間,指定采用ZeroMQ的方法與采用傳統(tǒng)多線程的方法這兩種程序所處理的消息數(shù)是相等的。對(duì)不同條件下的執(zhí)行時(shí)間進(jìn)行統(tǒng)計(jì),從而比較哪種方法性能更優(yōu)。

      3.2性能分析

      通過測(cè)試,分別采用兩種方法的多線程程序所用的時(shí)間如表1所示。表1中的數(shù)據(jù)是在一個(gè)采用了超線程技術(shù)的2核i5CPU上執(zhí)行結(jié)果。從表1中可以看出,采用ZeroMQ的多線程編程方法比采用傳統(tǒng)的方法在各種情況下性能均占優(yōu)勢(shì),這表明其對(duì)于并發(fā)編程有更好的支持。此外,在與其他主流消息隊(duì)列,比如:RabitMQ、ActiveMQ以及MSMQ的性能比較中,ZeroMQ也大幅勝出。考慮到ZeroMQ在軟件開發(fā)以及調(diào)試上的便利性,采用其進(jìn)行多線程軟件開發(fā)將帶來(lái)巨大的成本優(yōu)勢(shì)。

      4、結(jié)語(yǔ)

      隨著CPU內(nèi)核數(shù)越來(lái)越多,如何有效地發(fā)揮硬件運(yùn)算能力成為越來(lái)越重要的任務(wù)。傳統(tǒng)的基于加鎖以及信號(hào)量做線程同步的方法已經(jīng)越來(lái)越不適應(yīng)性能要求;最新的基于無(wú)鎖算法的編程技術(shù)雖然能夠提升性能,但是實(shí)現(xiàn)的過程非常復(fù)雜,使得軟件開發(fā)充滿了挑戰(zhàn)性。ZeroMQ這一消息中間件很好地彌補(bǔ)了性能與易用性之間的鴻溝,使得普通開發(fā)人員也可以編寫出高性能、可靠的軟件產(chǎn)品。

      參考文獻(xiàn)

      [1]葉崧,姚健東.基于ZeroMQ&JSON的分布式測(cè)控系統(tǒng)消息通信架構(gòu)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014(2):105-109.

      [2]張俊帥.多線程技術(shù)在數(shù)據(jù)通信中的應(yīng)用[J].科技創(chuàng)新與應(yīng)用,2016(11):87.

      [3]蒲鳳平,陳建政.基于ZeroMQ的分布式系統(tǒng)[J].電子測(cè)試,2012(7):24-27.

      程序編程范文第2篇

      關(guān)鍵詞:計(jì)算機(jī)應(yīng)用程序;編程模型;發(fā)展

      計(jì)算機(jī)的運(yùn)行主要是通過計(jì)算機(jī)硬件和應(yīng)用程序相互協(xié)調(diào)來(lái)實(shí)現(xiàn)的,從這兩個(gè)部分可以看出,任何部分都不能缺少,然而應(yīng)用程序這一方面是計(jì)算機(jī)的心臟,決定著計(jì)算機(jī)的運(yùn)行和計(jì)算,計(jì)算機(jī)開始運(yùn)行時(shí),先是把對(duì)應(yīng)的信息和數(shù)據(jù)錄入計(jì)算機(jī),這時(shí)計(jì)算機(jī)的儲(chǔ)存器會(huì)對(duì)這些信息進(jìn)行識(shí)別和儲(chǔ)存,然后計(jì)算機(jī)會(huì)啟動(dòng)計(jì)算功能對(duì)數(shù)據(jù)進(jìn)行計(jì)算,最后把所得結(jié)果運(yùn)用用戶可以查看的方法保存在硬盤中,這樣有助于用戶對(duì)其查看和計(jì)算,對(duì)于應(yīng)用程序的結(jié)構(gòu),一般包括數(shù)據(jù)保存、邏輯和桌面操作等,然而不同部分的性能相比較也是不同的,所以,必須根據(jù)相關(guān)程序來(lái)運(yùn)行計(jì)算機(jī)。

      1單層模型

      計(jì)算機(jī)經(jīng)過了很長(zhǎng)時(shí)間的發(fā)展,自從計(jì)算機(jī)誕生以來(lái)的很長(zhǎng)時(shí)間里,計(jì)算機(jī)都包括兩個(gè)硬件板塊,其中一個(gè)板塊是計(jì)算機(jī)的主機(jī)系統(tǒng),另外一個(gè)板塊是次要部分,計(jì)算機(jī)應(yīng)用程序和以及硬件系統(tǒng)儲(chǔ)存在主機(jī)部分,這就是單層應(yīng)用模型,然而這種類型道德計(jì)算機(jī)性能不高,不能滿足用戶使用計(jì)算機(jī)的各種需要,所以,在接下來(lái)的發(fā)展過程中這種類型的計(jì)算機(jī)慢慢被淘汰了。

      2雙層模型

      在計(jì)算機(jī)應(yīng)用程序前進(jìn)歷程中,因?yàn)閱螌幽P托阅懿桓撸荒軡M足用戶的需要,所以,出現(xiàn)了使用雙層模型的計(jì)算機(jī),這種模型的基本原理其實(shí)就是對(duì)計(jì)算機(jī)進(jìn)行創(chuàng)新,把主機(jī)板塊劃分為兩個(gè)部分,其中一個(gè)結(jié)構(gòu)是服務(wù)器, 另一個(gè)結(jié)構(gòu)是客戶端。對(duì)于服務(wù)器,其功能主要是搜集和處理數(shù)據(jù)和信息,并展示在計(jì)算機(jī)服務(wù)器上面,對(duì)于信息和數(shù)據(jù)的反映在計(jì)算機(jī)桌面,需要借助客戶端來(lái)實(shí)現(xiàn)。雙層模型相比較單層應(yīng)用模型,雙層模型有很多優(yōu)點(diǎn),在形式方面有著一定的相同,計(jì)算機(jī)的處理形式相比更完善,工作效率得到了較大的提高,達(dá)到了計(jì)算機(jī)正常運(yùn)行的目的。然而雙層模型在使用的時(shí)候,也會(huì)出現(xiàn)一些問題,這說(shuō)明其存在一些不足有待完善,所以,繼續(xù)完善是一種正常的趨勢(shì)。

      3多層模型

      多層模型是基于雙層模型的發(fā)展而出現(xiàn)的,通過較長(zhǎng)時(shí)間的研究和分析,創(chuàng)新性的把雙層模型的優(yōu)點(diǎn)完美加入到了多層模型中,還依靠現(xiàn)論和科學(xué)技術(shù)來(lái)完善計(jì)算機(jī)的運(yùn)行方式和計(jì)算機(jī)性能,多層模型主要解決了雙層模型存在的問題,這些問題包括不穩(wěn)定和不安全,讓計(jì)算機(jī)實(shí)現(xiàn)了快速運(yùn)行,運(yùn)行起來(lái)非常靈活,此外,還彌補(bǔ)了操作方面的不足,通過多層模型可以看出,該模型使用的是模塊分開方式,這使得計(jì)算機(jī)使用和維護(hù)起來(lái)非常方便,而且存儲(chǔ)器與事務(wù)之間的交流越來(lái)越頻繁,可以進(jìn)行信息和數(shù)據(jù)的交換,能夠?qū)崿F(xiàn)不利用其他渠道來(lái)得到需要的信息和數(shù)據(jù),這種模型的優(yōu)點(diǎn)使得其在計(jì)算機(jī)應(yīng)用中穩(wěn)固了地位,不但沒有被淘汰還得到了人們的認(rèn)可,但是,隨著科學(xué)技術(shù)的進(jìn)步,人們的生活水平得到了快速提升,因此,這種模型必然會(huì)隨著時(shí)間的推移而被再次創(chuàng)新或者直接淘汰。

      4分布式模型

      通過觀察計(jì)算機(jī)應(yīng)用程序多層模型的使用情況,我們可以知道,這種模型的基本原理中的上層為下層提供服務(wù),還有上層控制和調(diào)節(jié)下層,這一方式有可能會(huì)縮短計(jì)算機(jī)的使用壽命,所以,相關(guān)技術(shù)人員非常重視這個(gè)問題,如果想提升計(jì)算機(jī)的性能和運(yùn)行效率,在完善的時(shí)候,應(yīng)該依據(jù)有關(guān)規(guī)則和程序分解應(yīng)用程序的代碼,接下來(lái)遵循著計(jì)算機(jī)工作規(guī)律準(zhǔn)確確定應(yīng)用程序代碼的功能,在保持現(xiàn)存計(jì)算機(jī)功能的情況下,又增添了新功能,然而需要借助分解對(duì)象才可以實(shí)現(xiàn)。

      5基于萬(wàn)維網(wǎng)的多層模型

      隨著萬(wàn)維網(wǎng)的快速發(fā)展,因特網(wǎng)也得到了快速發(fā)展,因特網(wǎng)具有的功能表現(xiàn)出較大的復(fù)雜性,包括數(shù)據(jù)和信號(hào)的方式等,具體的說(shuō),萬(wàn)維網(wǎng)應(yīng)用程序具備的特征比較顯眼,一般可以通過以下幾方面來(lái)說(shuō)明:(1)通過萬(wàn)維網(wǎng)創(chuàng)建的計(jì)算機(jī)編程模型的使用桌面比較簡(jiǎn)化,可以使用便捷的搜索系統(tǒng)完成搜索工作,快速發(fā)現(xiàn)軟件所在的位置和使用的操作模式,而且,因特網(wǎng)在其中起著非常顯著的作用。(2)這個(gè)基于萬(wàn)維網(wǎng)的多層模型的使用使得管理人員的工作更加簡(jiǎn)單,管理人員可以把一些操作系統(tǒng)安裝在系統(tǒng)中實(shí)現(xiàn)搜索,不用依靠其他系統(tǒng)來(lái)開展搜索工作,這樣,使得花費(fèi)在系統(tǒng)維護(hù)上面的費(fèi)用大幅度被減少,而且工作效率也獲得了快速提高。(3)研究人員可以借助萬(wàn)維網(wǎng)技術(shù)來(lái)有效做好發(fā)明工作,在制作網(wǎng)頁(yè)的時(shí)候,只需要借助有關(guān)的工具就可以開展工作,不會(huì)使得工作變得很復(fù)雜,關(guān)于應(yīng)用開發(fā),舊式的使用單獨(dú)的軟件包方式出現(xiàn)的部分應(yīng)用程序慢慢的被應(yīng)用到了互聯(lián)網(wǎng)中,采用出租服務(wù)的形式為用戶提供服務(wù),這不但提升了研發(fā)效率,還使得研發(fā)工作不再那么繁瑣。

      6結(jié)論

      伴隨著計(jì)算機(jī)的快速發(fā)展和信息技術(shù)的不斷進(jìn)步,我們發(fā)現(xiàn)無(wú)論是在生活中還是在工作上都有計(jì)算機(jī)的參與,人們對(duì)計(jì)算機(jī)具備的功能提出了越來(lái)越高的要求,這樣引起了應(yīng)用程序編程模型向著更高方向發(fā)展,本文以計(jì)算機(jī)應(yīng)用程序編程模型的發(fā)展探討為題,對(duì)其所有的發(fā)展環(huán)節(jié)進(jìn)行了細(xì)致的研究,發(fā)展環(huán)節(jié)包括單層模型、雙層模型、多層模型、分布式模型以及以萬(wàn)維網(wǎng)為視角的多層模型,由于人們對(duì)計(jì)算機(jī)越來(lái)越依賴,未來(lái)計(jì)算機(jī)應(yīng)用程序編程模型會(huì)繼續(xù)發(fā)展下去。

      參考文獻(xiàn):

      [1]李紅巖.計(jì)算機(jī)應(yīng)用程序編程模型的發(fā)展探討[J].電子制作,2014(20):71.

      [2]高書豪.計(jì)算機(jī)應(yīng)用程序編程模型的發(fā)展探討[J].硅谷,2014(07):157-158.

      [3]譚曦.論計(jì)算機(jī)應(yīng)用程序編程模型的發(fā)展[J].電腦與信息技術(shù),2001(02):51-53.

      [4]羅新建.計(jì)算機(jī)應(yīng)用程序編輯模型的發(fā)展[J].數(shù)字技術(shù)與應(yīng)用,2013(08):89.

      [5]王執(zhí)源.計(jì)算機(jī)應(yīng)用程序編程模型發(fā)展方向探析[J].信息與電腦(理論版),2016(17):55-56.

      程序編程范文第3篇

      關(guān)鍵詞:PLC;結(jié)構(gòu)化;給排水

      1 引言

      隨著現(xiàn)代工業(yè)發(fā)展進(jìn)程的不斷加快,工業(yè)自動(dòng)化控制技術(shù)發(fā)揮著越來(lái)越大的作用,PLC控制系統(tǒng)的應(yīng)用也日益廣泛。PLC程序設(shè)計(jì)的水平優(yōu)劣往往決定著工程能否及時(shí)竣工投產(chǎn),工業(yè)設(shè)備能否充分發(fā)揮其設(shè)計(jì)生產(chǎn)能力。傳統(tǒng)的PLC編程方式程序繁瑣冗長(zhǎng),結(jié)構(gòu)不清晰,不利于控制程序在多個(gè)項(xiàng)目中的重復(fù)使用。如何迅速、優(yōu)質(zhì)地編制符合不同設(shè)備工藝特點(diǎn),參數(shù)的PLC程序,對(duì)工業(yè)控制系統(tǒng)的及時(shí)完工,提高自動(dòng)化控制水平具有較大的意義。本文結(jié)合給排水行業(yè)常用設(shè)備及工藝程序的編寫,對(duì)結(jié)構(gòu)化編程在PLC中的應(yīng)用進(jìn)行了初步的探索,取得了較理想的效果。

      2 PLC程序設(shè)計(jì)方法簡(jiǎn)介

      常見的程序設(shè)計(jì)方法分為三種:線性化方法、模塊化方法以及結(jié)構(gòu)化方法[1]。

      線性化編程方法:將所有的程序代碼全部放在一個(gè)程序塊中,如對(duì)S7-300/400來(lái)說(shuō),在OB1中寫入數(shù)據(jù)采集、設(shè)備控制、臺(tái)時(shí)統(tǒng)計(jì)等全部用戶程序。該方法與PLC所代替的繼電器控制電路類似,系統(tǒng)按照順序處理各條指令。它適用于小型設(shè)備配套PLC的編程,對(duì)于大中型項(xiàng)目則顯得程序結(jié)構(gòu)不清晰,同時(shí)由于需要對(duì)不同設(shè)備編制大量類似的代碼,導(dǎo)致代碼冗長(zhǎng),難以調(diào)試和維護(hù)。

      模塊化編程方法:將程序根據(jù)不同功能需求分成不同的塊,每個(gè)功能的控制指令在各自的塊內(nèi),OB1按順序調(diào)用每個(gè)塊。該方法程序結(jié)構(gòu)清晰,便于調(diào)試和維護(hù),但僅將功能按塊分配,加以有條件的調(diào)用,故雖然CPU效率得到提高,但代碼冗長(zhǎng)、調(diào)試?yán)щy的缺點(diǎn)未得到明顯改善。

      結(jié)構(gòu)化編程方法:將復(fù)雜的自動(dòng)化任務(wù)分割成過程相關(guān)的功能或可多次處理的小任務(wù),以提供可以用于類似任務(wù)的通用的程序代碼,這樣更易于控制復(fù)雜任務(wù)。而這些小任務(wù)以相應(yīng)的程序段表示,稱為塊。只需要在調(diào)用程序塊時(shí)針對(duì)不同的設(shè)備和工藝流程代入不同的參數(shù)或地址,即可實(shí)現(xiàn)不同設(shè)備的控制,無(wú)須多處重復(fù)輸入相同功能的代碼。當(dāng)需要對(duì)功能進(jìn)行修改時(shí)只需要修改程序塊即可,提高了編程的效率和可靠性。

      3 結(jié)構(gòu)化編程方法設(shè)計(jì)實(shí)例

      在實(shí)際應(yīng)用中,在對(duì)給排水行業(yè)通用設(shè)備和工藝進(jìn)行詳細(xì)分析的基礎(chǔ)上,針對(duì)典型設(shè)備和工藝分別編制了水泵、儀表、閥門、泵站水泵調(diào)度、自動(dòng)加藥等不同的控制模塊,使高效開發(fā)PLC程序在給排水行業(yè)的應(yīng)用成為可能。下面以變頻水泵及泵站的水泵調(diào)度為例來(lái)介紹結(jié)構(gòu)化編程方法。

      3.1 變頻水泵功能塊

      變頻水泵是給排水行業(yè)最常見的設(shè)備,其調(diào)用如圖2所示。

      圖2為變頻水泵控制塊的調(diào)用實(shí)例,該FB的輸入輸出參數(shù)如圖3示。

      功能塊接口參數(shù)共分為三種類型:輸入(INPUT);輸出(OUTPUT);輸入輸出(IN_OUT)。其中輸入?yún)?shù)主要有:遠(yuǎn)程信號(hào),上電信號(hào),運(yùn)行信號(hào),水泵故障,電回路故障,變頻器故障,頻率輸入等;輸出參數(shù)主要有:開停控制,頻率控制輸出,實(shí)際運(yùn)行頻率等;輸入輸出類型參數(shù)主要有:變頻電機(jī)狀態(tài),變頻電機(jī)控制命令,電機(jī)臺(tái)時(shí)及開停次數(shù)統(tǒng)計(jì),頻率設(shè)定值等。

      輸入輸出類型參數(shù)可由人工或自控程序在功能塊外部進(jìn)行賦值,也可由本功能塊內(nèi)部邏輯進(jìn)行修改。其中的State、Command等參數(shù)均為WORD類型,其每一位分別代表了不同的含義。

      該功能塊包含了除電流外的變頻水泵常見的絕大部分信號(hào)處理及控制功能,對(duì)于部分實(shí)際工程中未使用的參數(shù),可通過直接設(shè)置默認(rèn)值或空置的方式進(jìn)行處理。水泵電流可通過專門的模擬量處理程序塊進(jìn)行數(shù)據(jù)轉(zhuǎn)換和上下限報(bào)警判斷,當(dāng)電流超過上下限設(shè)定值時(shí)發(fā)出報(bào)警信號(hào)(過流、欠流)傳送給變頻水泵功能塊,從而實(shí)現(xiàn)水泵的電流超限保護(hù)功能。

      3.2 泵站水泵調(diào)度功能塊

      污水廠一般具有進(jìn)水泵房、中間提升泵站、出水泵房等工藝段,其水泵控制模式基本相同,都是根據(jù)液位的變化來(lái)調(diào)節(jié)運(yùn)行的水泵頻率和臺(tái)數(shù),調(diào)泵時(shí)又要考慮單臺(tái)設(shè)備的運(yùn)行臺(tái)時(shí)和啟停間隔等因素。其基本原理介紹如下:

      泵站的液位控制一般采用根據(jù)液位分段啟停泵的模式,不同的液位分別對(duì)應(yīng)當(dāng)前需要開泵的臺(tái)數(shù),同時(shí)具備死區(qū)保護(hù)功能,停泵液位設(shè)定值比啟泵液位設(shè)定值略低,以防止特殊情況下水泵的頻繁啟停[2]。

      水泵的啟停選擇需要考慮以下幾個(gè)條件:

      (1)熱備狀態(tài)。PLC首先檢測(cè)水泵上電情況,遠(yuǎn)程狀態(tài),控制模式,故障情況等,當(dāng)以上條件均滿足時(shí)認(rèn)為該泵處于熱備狀態(tài),可被自控程序進(jìn)行開停調(diào)度。

      (2)平衡調(diào)泵。累計(jì)運(yùn)行時(shí)間最短的泵優(yōu)先被啟動(dòng),運(yùn)行時(shí)間最長(zhǎng)的泵優(yōu)先停止,使每臺(tái)泵運(yùn)轉(zhuǎn)時(shí)間大致相等。當(dāng)運(yùn)行時(shí)間相同時(shí),按泵的順序啟停。

      (3)啟動(dòng)間隔保護(hù)。控制程序使每一臺(tái)泵每小時(shí)起動(dòng)次數(shù)少于6次,兩次起動(dòng)間隔≥10分鐘,且不論何種情況,不同時(shí)起動(dòng)2臺(tái)及2臺(tái)以上水泵。

      在實(shí)際應(yīng)用中,根據(jù)分段啟泵原理以及低水位保護(hù)等條件編制泵站自控功能塊,計(jì)算當(dāng)前需要開泵臺(tái)數(shù)。根據(jù)上述三條件,編制了水泵啟停調(diào)度選擇功能塊,用于選擇當(dāng)前需要啟動(dòng)的水泵編號(hào)。兩功能塊配套使用,可快速完成泵站自動(dòng)調(diào)泵程序的編制工作。限于篇幅,本處不再詳述其具體實(shí)現(xiàn)過程。

      程序編程范文第4篇

      【關(guān)鍵詞】程序設(shè)計(jì) 梯形圖 經(jīng)驗(yàn)法

      由于可編程控制器的控制功能以程序的形式出現(xiàn),所以程序設(shè)計(jì)是一個(gè)重要環(huán)節(jié)。梯形圖是可編程序控制器的重要程序設(shè)計(jì)方法。一般應(yīng)用程序設(shè)計(jì)可以分為經(jīng)驗(yàn)設(shè)計(jì)法、邏輯設(shè)計(jì)法、順序功能圖設(shè)計(jì)法等。本文以工作臺(tái)自動(dòng)往返循環(huán)工作為例主要介紹采用經(jīng)驗(yàn)設(shè)計(jì)法進(jìn)行梯形圖程序設(shè)計(jì)。

      由于生產(chǎn)過程控制要求的復(fù)雜程度不同,可將程序按結(jié)構(gòu)形式分為模塊化程序和基本程序。

      基本程序既可以作為獨(dú)立程序控制簡(jiǎn)單的生產(chǎn)工藝過程,也可以作為組合模塊結(jié)構(gòu)中的單元程序;依據(jù)計(jì)算機(jī)程序的設(shè)計(jì)思想,基本程序的結(jié)構(gòu)方式只有三種:順序結(jié)構(gòu)、條件分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

      模塊化程序:把一個(gè)總的控制目標(biāo)程序分成多個(gè)具有明確子任務(wù)的程序模塊,分別編寫和調(diào)試,最后組成一個(gè)完整總?cè)蝿?wù)的完整程序。這種方法稱為模塊化程序設(shè)計(jì)

      經(jīng)驗(yàn)設(shè)計(jì)法需要設(shè)計(jì)者掌握大量的基本程序。這些基本程序例如電動(dòng)機(jī)正反轉(zhuǎn)聯(lián)鎖控、斷開延時(shí)和接通延時(shí)控制程序、警燈閃爍控制程序等。

      我們以工作臺(tái)自動(dòng)往返循環(huán)工作來(lái)進(jìn)行說(shuō)明。

      1 設(shè)計(jì)要求

      (1)自動(dòng)循環(huán)工作。

      (2)點(diǎn)動(dòng)控制。

      (3)單循環(huán)運(yùn)行,即工作臺(tái)前進(jìn)、后退一次循環(huán)后停在原位。

      (4)8次循環(huán)計(jì)數(shù)控制。即工作臺(tái)前進(jìn)、后退為一個(gè)循環(huán),循環(huán)8次后自動(dòng)停在原位。

      2 分析控制要求

      (1)工作臺(tái)前進(jìn)與后退是通過電動(dòng)機(jī)正反轉(zhuǎn)來(lái)控制的,所以要用電動(dòng)機(jī)正反轉(zhuǎn)這一基本程序;

      (2)工作臺(tái)工作方式有點(diǎn)動(dòng)控制和自動(dòng)控制兩種方式,可以采用程序(軟件的方法)實(shí)現(xiàn)兩種運(yùn)行方式的轉(zhuǎn)換。

      (3)工作臺(tái)有單循環(huán)和多次循環(huán)兩種工作狀態(tài),可以采用控制開關(guān)來(lái)選擇。

      (4)多次循環(huán)因要限定循環(huán)次數(shù),所以選擇計(jì)數(shù)器來(lái)進(jìn)行控制。

      3 分配I/O點(diǎn)

      PLC控制系統(tǒng)I/O分配,依據(jù)生產(chǎn)流水線從前到后,I/O點(diǎn)數(shù)由小到大,盡可能把一個(gè)系統(tǒng)、設(shè)備或部件的I/O信號(hào)集中編制,以利于維護(hù)。表1為本例的I/O分配地址表。

      4 控制程序設(shè)計(jì)

      4.1 基本控制環(huán)節(jié)的程序

      本控制要求的對(duì)象是工作臺(tái),工作方式有前進(jìn)和后退。電動(dòng)機(jī)正轉(zhuǎn)時(shí),使工作臺(tái)前進(jìn),電動(dòng)機(jī)反轉(zhuǎn)時(shí),使工作臺(tái)后退,因此基本控制程序是正反轉(zhuǎn)控制程序。

      4.2 實(shí)現(xiàn)自動(dòng)往返功能的程序設(shè)計(jì)

      工作臺(tái)前進(jìn)過程中撞塊壓合SQ2后,SQ2動(dòng)作,X6常閉觸點(diǎn)應(yīng)先斷開Y0線圈,使工作臺(tái)停止前進(jìn),后X6的常開觸點(diǎn)再接通Y1線圈,使工作臺(tái)后退,完成工作臺(tái)由前進(jìn)轉(zhuǎn)為后退的動(dòng)作,同理,撞塊壓合SQ1后,工作成由后退轉(zhuǎn)為前進(jìn)的動(dòng)作,因此在圖(1)中加入二個(gè)限位開關(guān),如圖(2)所示。

      4.3 實(shí)現(xiàn)點(diǎn)動(dòng)控制功能和單循環(huán)控制功能程序設(shè)計(jì)

      根據(jù)點(diǎn)動(dòng)的概念可知,如果在上述梯形圖中解除自鎖,就能實(shí)現(xiàn)點(diǎn)動(dòng)控。所以利用開關(guān)SA1來(lái)選擇點(diǎn)動(dòng)和自動(dòng)控制。SA1閉合后實(shí)現(xiàn)點(diǎn)動(dòng),SA1斷開,實(shí)現(xiàn)自動(dòng)控制。

      單循環(huán)工作方式是指啟動(dòng)按鈕按下后,工作臺(tái)由原位前進(jìn),當(dāng)撞塊壓合SQ2后由工作臺(tái)前進(jìn)轉(zhuǎn)為后退,后退到原位后撞塊壓合SQ1后,使工作臺(tái)停在原位。如果撞塊壓合SQ1后,則X5常閉觸點(diǎn)斷開,使Y1線圈失電,工作臺(tái)停止后退。在X5常開觸點(diǎn)閉合后,只要不使Y0線圈得電,工作臺(tái)就不會(huì)前進(jìn),這樣便實(shí)現(xiàn)了單循環(huán)控制。如圖(3)所示。

      根據(jù)上面這個(gè)例子,我總結(jié)出經(jīng)驗(yàn)法設(shè)計(jì)梯形圖的一般規(guī)律:

      (1)根據(jù)控制要求,設(shè)計(jì)出基本程序;

      (2)逐步補(bǔ)充完善程序;使其能完生滿足控制要求;

      (3)設(shè)置必要的聯(lián)鎖保護(hù)程序。

      PLC控制系統(tǒng)的程序設(shè)計(jì)是一個(gè)步驟有序的系統(tǒng)工程,要想做到熟練自如,需要反復(fù)實(shí)踐和練習(xí)。設(shè)計(jì)的每一步,都要依靠平時(shí)所積累的程序設(shè)計(jì)經(jīng)驗(yàn)來(lái)設(shè)計(jì)程序。

      參考文獻(xiàn)

      [1]張夢(mèng)欣.可編程序控制器及其應(yīng)用[M].中國(guó)勞動(dòng)社會(huì)保障出版社,2006.

      程序編程范文第5篇

      關(guān)鍵詞:可編程程序控制器;特點(diǎn);工作原理;電器控制;應(yīng)用

      中圖分類號(hào):TP314 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-8937(2016)18-0074-02

      1 可編程程序控制器(PLC)

      1.1 可編程程序控制器(PLC)簡(jiǎn)介

      可編程程序控制器作為一種現(xiàn)代化自動(dòng)控制裝置,其結(jié)構(gòu)復(fù)雜多變,囊括了計(jì)算機(jī)技術(shù)、自動(dòng)化技術(shù)、智能化技術(shù)、通訊技術(shù)等多種技術(shù),通過用計(jì)算機(jī)處理器對(duì)程序進(jìn)行操作和控制,不僅可以提高設(shè)備的工作效率和安全性,還可應(yīng)用于新產(chǎn)品的開發(fā)與建設(shè)。

      1.2 可編程程序控制器(PLC)的特點(diǎn)

      可編程程序控制器采用的是一種數(shù)字電子化操作控制系統(tǒng),具有操作簡(jiǎn)便性、使用可靠性高和抗干擾力強(qiáng)等優(yōu)點(diǎn)。因此,廣泛的應(yīng)用在電器控制系統(tǒng)當(dāng)中,其優(yōu)勢(shì)主要體現(xiàn)在以下幾方面。

      1.2.1 降低操作難度,易于掌控

      梯形圖語(yǔ)言作為PLC的基礎(chǔ)編程語(yǔ)言,具有辨識(shí)度高、具體形象、使用便利等優(yōu)點(diǎn),降低了工作人員的操作難度。對(duì)工業(yè)生產(chǎn)中的電器控制系統(tǒng)進(jìn)行了改進(jìn)與完善,提高了工作效率。

      1.2.2 系統(tǒng)程序功能完整

      隨著科技和社會(huì)地不斷發(fā)展,可編程程序控制器(PLC)的功能也日益完善。除原本的基礎(chǔ)功能外,它還具有自動(dòng)診斷功能、智能化功能、遠(yuǎn)程輸入和輸出功能、定時(shí)功能、計(jì)算功能、圖形顯示功能和動(dòng)態(tài)組合顯示功能等,系統(tǒng)控制從離散性轉(zhuǎn)變到連續(xù)性的流程模式,提高了設(shè)備的控制技術(shù)水平和控制質(zhì)量。

      1.2.3 安全可靠性高

      相比傳統(tǒng)的電器控制器,PLC系統(tǒng)中植入了抗干擾的系統(tǒng)體系,可進(jìn)行電波過濾、電波干擾、光電隔離等,在不良環(huán)境中還可進(jìn)行集中采樣并輸出,提高了設(shè)備對(duì)惡劣環(huán)境的適應(yīng)性,增強(qiáng)其抗干擾能力,為系統(tǒng)的穩(wěn)定運(yùn)行提供保障。當(dāng)設(shè)備出現(xiàn)運(yùn)行故障時(shí),可編程程序控制器可啟動(dòng)自我診斷系統(tǒng),對(duì)發(fā)生故障的位置進(jìn)行精確定位,有利于電器維修工作的開展。PLC的故障處理流程,如圖1所示。

      1.2.4 降低了生產(chǎn)成本,提高收益

      可編程程序控制器的控制盤比傳統(tǒng)的繼電器體積縮小了近一半,減少了配線的使用,不僅體積大大縮小,而且降低了生產(chǎn)成本的投入,大大提高了經(jīng)濟(jì)收益,推動(dòng)了現(xiàn)代工業(yè)自動(dòng)化的發(fā)展進(jìn)程。

      1.2.5 適用范圍廣

      現(xiàn)可編程程序控制器已具有較為完善的產(chǎn)品體系,有各有型號(hào)的產(chǎn)品可供用戶選擇,具有很強(qiáng)的通用性,擴(kuò)大了可編程程序控制器的使用范圍。

      2 工作流程

      作為現(xiàn)代電器控制系統(tǒng)支柱之一的可編程程序控制器,擁有很強(qiáng)的抗干擾功能和精準(zhǔn)的故障自我診斷及修復(fù)功能,既保障了設(shè)備運(yùn)營(yíng)的安全可靠性,又提高了電器控制的技術(shù)水平。可編程程序控制器為了更好地適應(yīng)到電器控制系統(tǒng)當(dāng)中,在其設(shè)計(jì)中大大提高了設(shè)備的通用性。PLC的工作流程具體如下:

      首先,輸入功能進(jìn)行信息的錄入。PLC的系統(tǒng)做出指令,根據(jù)現(xiàn)場(chǎng)的實(shí)際情況進(jìn)行實(shí)時(shí)準(zhǔn)確錄入和讀取。

      其次,運(yùn)算系統(tǒng)的運(yùn)行。PLC按照操作者發(fā)出的指令進(jìn)入邏輯及算法程序,對(duì)指定的輸入指令進(jìn)行計(jì)算。

      最后,邏輯控制功能的操作。根據(jù)對(duì)以上給出的邏輯運(yùn)算結(jié)果進(jìn)行指定系統(tǒng)傳達(dá),使相應(yīng)的系統(tǒng)做出用戶所需要的功能反應(yīng),完成控制器的整個(gè)工作流程。

      可編程程序控制器在工作過程中按照連續(xù)掃描式的工作方式對(duì)各個(gè)指令進(jìn)行分步進(jìn)操作,整個(gè)掃描工作內(nèi)容包含了樣點(diǎn)輸入、系統(tǒng)處理、通訊處理、結(jié)果輸出等,具有運(yùn)行速率快、數(shù)據(jù)處理精確度高等優(yōu)點(diǎn),大大提高了工作效率。

      3 可編程程序控制器的運(yùn)用

      可編程程序控制器在電器控制系統(tǒng)中有著重要的作用。因此,加強(qiáng)可編程程序控制器的系統(tǒng)裝備,保證電器控制系統(tǒng)處于安全、高效的工作狀態(tài),更好地服務(wù)社會(huì)和人民大眾。實(shí)踐表明,由于可編程程序控制器系統(tǒng)完善、技術(shù)過硬、可靠性高等諸多優(yōu)勢(shì),以使其迅速在電器控制中占領(lǐng)市場(chǎng)。

      3.1 開關(guān)量的邏輯控制

      不同于傳統(tǒng)的繼電器電路,可編程程序控制器對(duì)設(shè)備的開關(guān)量控制從原本的單臺(tái)設(shè)備轉(zhuǎn)變?yōu)檎麄€(gè)生產(chǎn)流水線的設(shè)備控制模式,如組合機(jī)床和生產(chǎn)線等,大大減少了工業(yè)生產(chǎn)成本的投入資金,提高了工作效率,有利于實(shí)現(xiàn)最大化的經(jīng)濟(jì)效益。

      3.2 對(duì)運(yùn)動(dòng)物體的控制

      可編程程序控制器具有對(duì)圓周及直線運(yùn)動(dòng)軌跡的電器設(shè)備進(jìn)行控制的能力。PLC針對(duì)物體的運(yùn)動(dòng)軌跡,啟動(dòng)傳感器操作系統(tǒng)對(duì)其軌道的運(yùn)行速度及運(yùn)動(dòng)方向進(jìn)行系統(tǒng)控制,如可實(shí)現(xiàn)對(duì)電梯、機(jī)器人、機(jī)床的控制操作。

      3.3 主要參數(shù)的處理

      現(xiàn)代大多數(shù)產(chǎn)品的生產(chǎn)都是依靠電器控制系統(tǒng)完成的,生產(chǎn)過程中需要對(duì)溫度、濕度、壓強(qiáng)、速度、液體流速及高度等主要參數(shù)的變化進(jìn)行及時(shí)錄入及監(jiān)測(cè),這個(gè)環(huán)節(jié)工作量大且非常復(fù)雜,但可編程程序控制器可通過D/A轉(zhuǎn)換器進(jìn)行及時(shí)處理,提高了編程控制器的準(zhǔn)確度及工作效率。

      3.4 總分式控制系統(tǒng)

      這種電器控制方式是通過設(shè)置一臺(tái)主可編程程序控制器,通過其對(duì)各個(gè)設(shè)備進(jìn)行集中監(jiān)控操作,負(fù)責(zé)各個(gè)設(shè)備間的信息連接與傳遞。總分式控制系統(tǒng)分工明確,統(tǒng)一由可編程程序控制器發(fā)出指令操作,可使各個(gè)設(shè)備各司其職,避免了單一設(shè)備間的信息傳遞不準(zhǔn)確、操作復(fù)雜等缺點(diǎn)。同時(shí),當(dāng)其中一個(gè)程序控制要求發(fā)生改變時(shí),可編程程序控制器可及時(shí)對(duì)設(shè)備發(fā)出指令,使全部設(shè)備終止運(yùn)行,提高工作效率。

      3.5 多層次獨(dú)立控制系統(tǒng)

      這種電器控制方式是對(duì)每個(gè)控制對(duì)象都配備一個(gè)可編程程序控制器,通過多層次間的可編程程序控制器進(jìn)行信息的傳遞及指令的下達(dá)。多層次獨(dú)立電器控制方式可對(duì)每個(gè)控制對(duì)象的信息進(jìn)行詳細(xì)掌握,提高控制的精確度。除此之外,當(dāng)某一PLC設(shè)備發(fā)生故障時(shí),不會(huì)對(duì)其他控制對(duì)象產(chǎn)生影響,可將受害損失降低到最小。

      4 結(jié) 語(yǔ)

      在科技快速發(fā)展的今天,人們應(yīng)該提高對(duì)可編程程序控制器的認(rèn)識(shí),不斷探索與研究,尋找出更好地提高可編程程序控制器的相關(guān)控制措施,將可編程程序控制器的穩(wěn)定性、安全性、高效性提高到最大程度。提高可編程程序控制器的應(yīng)用水平,為我國(guó)電器控制的質(zhì)量提供了保障,不斷提高我國(guó)電器控制領(lǐng)域的發(fā)展步伐。

      參考文獻(xiàn):

      主站蜘蛛池模板: 在线观看美女网站大全免费| 国产精品不卡一区二区久久| 九九热精品在线视频观看| 免费AV片在线观看网址| 2019香蕉在线观看直播视频| 色综合中文字幕色综合激情| 成全影视大全在线观看| 激情内射亚州一区二区三区爱妻| 久久精品免视看国产成人| 午夜福利国产精品视频| 中文字幕日韩有码av| 亚洲av无码精品色午夜蛋壳| 久久夜色精品国产噜噜亚洲sv| 国产成人无码AV片在线观看不卡 | 亚洲成人资源在线观看| 久久精品人人槡人妻人人玩AV| 伊人成色综合人夜夜久久| 在线观看中文字幕码国产| 中国女人熟毛茸茸A毛片| 无码熟妇人妻av在线电影| 亚洲不卡一区三区三区四| 亚洲精品男男一区二区| 国产成人剧情AV麻豆果冻| 美女一区二区三区亚洲麻豆| 高清不卡一区二区三区| 九九久久人妻一区精品色| 亚洲嫩模喷白浆在线观看| 亚洲国产精品久久久天堂麻豆宅男| 综合欧美视频一区二区三区| 亚洲中文字幕无码专区| a毛片在线看片免费看| 国产激情电影综合在线看| 精品国偷自产在线视频99| 强开少妇嫩苞又嫩又紧九色| 九九电影网午夜理论片| 97人妻中文字幕总站| 亚洲 制服 丝袜 无码| 久久人人97超碰精品 | 粉嫩一区二区三区国产精品| 国产精品视频不卡一区二区| 伊人天天久大香线蕉av色|