<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          plc的基本工作原理

          作者: 時(shí)間:2011-08-19 來源:網(wǎng)絡(luò) 收藏

          一. 掃描技術(shù)
             當(dāng)PLC投入運(yùn)行后,其工作過程一般分為三個(gè)階段,即輸入采樣、用戶程序執(zhí)行和輸出刷新三個(gè)階段。完成上述三個(gè)階段稱作一個(gè)掃描周期。在整個(gè)運(yùn)行期間,PLC的CPU以一定的掃描速度重復(fù)執(zhí)行上述三個(gè)階段。
          (一) 輸入采樣階段
            在輸入采樣階段,PLC以掃描方式依次地讀入所有輸入狀態(tài)和數(shù)據(jù),并將它們存入I/O映象區(qū)中的相應(yīng)得單元內(nèi)。輸入采樣結(jié)束后,轉(zhuǎn)入用戶程序執(zhí)行和輸出刷新階段。在這兩個(gè)階段中,即使輸入狀態(tài)和數(shù)據(jù)發(fā)生變化,I/O映象區(qū)中的相應(yīng)單元的狀態(tài)和數(shù)據(jù)也不會改變。因此,如果輸入是脈沖信號,則該脈沖信號的寬度必須大于一個(gè)掃描周期,才能保證在任何情況下,該輸入均能被讀入。
          (二) 用戶程序執(zhí)行階段
            在用戶程序執(zhí)行階段,PLC總是按由上而下的順序依次地掃描用戶程序(梯形圖)。在掃描每一條梯形圖時(shí),又總是先掃描梯形圖左邊的由各觸點(diǎn)構(gòu)成的控制線路,并按先左后右、先上后下的順序?qū)τ捎|點(diǎn)構(gòu)成的控制線路進(jìn)行邏輯運(yùn)算,然后根據(jù)邏輯運(yùn)算的結(jié)果,刷新該邏輯線圈在系統(tǒng)RAM存儲區(qū)中對應(yīng)位的狀態(tài);或者刷新該輸出線圈在I/O映象區(qū)中對應(yīng)位的狀態(tài);或者確定是否要執(zhí)行該梯形圖所規(guī)定的特殊功能指令。
            即,在用戶程序執(zhí)行過程中,只有輸入點(diǎn)在I/O映象區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)不會發(fā)生變化,而其他輸出點(diǎn)和軟設(shè)備在I/O映象區(qū)或系統(tǒng)RAM存儲區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)都有可能發(fā)生變化,而且排在上面的梯形圖,其程序執(zhí)行結(jié)果會對排在下面的凡是用到這些線圈或數(shù)據(jù)的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線圈的狀態(tài)或數(shù)據(jù)只能到下一個(gè)掃描周期才能對排在其上面的程序起作用。
          (三) 輸出刷新階段
            當(dāng)掃描用戶程序結(jié)束后,PLC就進(jìn)入輸出刷新階段。在此期間,CPU按照I/O映象區(qū)內(nèi)對應(yīng)的狀態(tài)和數(shù)據(jù)刷新所有的輸出鎖存電路,再經(jīng)輸出電路驅(qū)動(dòng)相應(yīng)的外設(shè)。這時(shí),才是PLC的真正輸出。
            同樣的若干條梯形圖,其排列次序不同,執(zhí)行的結(jié)果也不同。另外,采用掃描用戶程序的運(yùn)行結(jié)果與繼電器控制裝置的硬邏輯并行運(yùn)行的結(jié)果有所區(qū)別。當(dāng)然,如果掃描周期所占用的時(shí)間對整個(gè)運(yùn)行來說可以忽略,那么二者之間就沒有什么區(qū)別了。
            一般來說,PLC的掃描周期包括自診斷、通訊等,如下圖所示,即一個(gè)掃描周期等于自診斷、通訊、輸入采樣、用戶程序執(zhí)行、輸出刷新等所有時(shí)間的總和。

          可編程控制器,英文稱ProgrammableLogicController,簡稱PLC。PLC是基于電子計(jì)算機(jī),且適用于工業(yè)現(xiàn)場工作的電控制器。它源于繼電控制裝置,但它不像繼電裝置那樣,通過電路的物理過程實(shí)現(xiàn)控制,而主要靠運(yùn)行存儲于PLC內(nèi)存中的程序,進(jìn)行入出信息變換實(shí)現(xiàn)控制。
          PLC基于電子計(jì)算機(jī),但并不等同于普通計(jì)算機(jī)。普遍計(jì)算機(jī)進(jìn)行入出信息變換,多只考慮信息本身,信息的入出,只要人機(jī)界面好就可以了。而PLC則還要考慮信息入出的可靠性、實(shí)時(shí)性,以及信息的使用等問題。特別要考慮怎么適應(yīng)于工業(yè)環(huán)境,如便于安裝,抗干擾等問題。
          1.1實(shí)現(xiàn)控制要點(diǎn)
          輸入輸出信息變換、可靠物理實(shí)現(xiàn),可以說是PLC實(shí)現(xiàn)控制的兩個(gè)基本要點(diǎn)。
          輸入輸出信息變換靠運(yùn)行存儲于PLC內(nèi)存中的程序?qū)崿F(xiàn)。PLC程序既有生產(chǎn)廠家的系統(tǒng)程序(不可更改),又有用戶自行開發(fā)的應(yīng)用(用戶)程序。系統(tǒng)程序提供運(yùn)行平臺,同時(shí),還為PLC程序可靠運(yùn)行及信號與信息轉(zhuǎn)換進(jìn)行必要的公共處理。用戶程序由用戶按控制要求設(shè)計(jì)。什么樣的控制要求,就應(yīng)有什么樣的用戶程序。
          可靠物理實(shí)現(xiàn)主要靠輸人(INPUT)及輸出(OUTPUT)電路。PLC的I/O電路,都是專門設(shè)計(jì)的。輸入電路要對輸入信號進(jìn)行濾波,以去掉高頻干擾。而且與內(nèi)部計(jì)算機(jī)電路在電上是隔離的,靠光耦元件建立聯(lián)系。輸出電路內(nèi)外也是電隔離的,靠光耦元件或輸出繼電器建立聯(lián)系。輸出電路還要進(jìn)行功率放大,以足以帶動(dòng)一般的工業(yè)控制元器件,如電磁閥、接觸器等等。
          I/O電路是很多的,每一輸入點(diǎn)或輸出點(diǎn)都要有一個(gè)I或O電路。PLC有多I/O用點(diǎn),一般也就有多少個(gè)I/O用電路。但由于它們都是由高度集成化的電路組成的,所以,所占體積并不大。
          輸入電路時(shí)刻監(jiān)視著輸入狀況,并將其暫存于輸入暫存器中。每一輸入點(diǎn)都有一個(gè)對應(yīng)的存儲其信息的暫存器。
          輸出電路要把輸出鎖存器的信息傳送給輸出點(diǎn)。輸出鎖存器與輸出點(diǎn)也是一一對應(yīng)的
          這里的輸入暫存器及輸出鎖存器實(shí)際就是PLC處理器I/O口的寄存器。它們與計(jì)算機(jī)內(nèi)存交換信息通過計(jì)算機(jī)總線,并主要由運(yùn)行系統(tǒng)程序?qū)崿F(xiàn)。把輸人暫存器的信息讀到PLC的內(nèi)存中,稱輸入刷新。PLC內(nèi)存有專門開辟的存放輸入信息的映射區(qū)。這個(gè)區(qū)的每一對應(yīng)位(bit)稱之為輸入繼電器,或稱軟接點(diǎn)。這些位置成1,表示接點(diǎn)通,置成0為接點(diǎn)斷。由于它的狀態(tài)是由輸入刷新得到的,所以,它反映的就是輸入狀態(tài)。
          輸出鎖存器與PLC內(nèi)存中的輸出映射區(qū)也是對應(yīng)的。一個(gè)輸出鎖存器也有一個(gè)內(nèi)存位(bit)與其對應(yīng),這個(gè)位稱為輸出繼電器,或稱輸出線圈??窟\(yùn)行系統(tǒng)程序,輸出繼電器的狀態(tài)映射到輸出鎖存器。這個(gè)映射也稱輸出刷新。輸出刷新主要也是靠運(yùn)行系統(tǒng)程序?qū)崿F(xiàn)的。這樣,用戶所要編的程序只是,內(nèi)存中輸入映射區(qū)到輸出映射區(qū)的變換,特別是怎么按輸入的時(shí)序變換成輸出的時(shí)序。這是一個(gè)數(shù)據(jù)及邏輯處理問題。由于PLC有強(qiáng)大的指令系統(tǒng),編寫出滿足這個(gè)要求的程序是完全可能的,而且也是較為容易的。
          1.2實(shí)現(xiàn)控制過程
          簡單地說,PLC實(shí)現(xiàn)控制的過程一般是:

          圖1.1 PLC典型開機(jī)流程
          輸入刷新--再運(yùn)行用戶程序--再輸出刷新--再輸入刷新--再運(yùn)行用戶程序--再輸出刷新……永不停止地循環(huán)反復(fù)地進(jìn)行著。
          圖1.1所示的流程圖反映的就是上述過程。它也反映了信息的時(shí)間關(guān)系。
          有了上述過程,用PLC實(shí)現(xiàn)控制顯然是可能的。因?yàn)椋河辛溯斎胨⑿?,可把輸入電路監(jiān)控得到的輸入信息存入PLC的輸入映射區(qū);經(jīng)運(yùn)行用戶程序,輸出映射區(qū)將得到變換后的信息;再經(jīng)輸出刷新,輸出鎖存器將反映輸出映射區(qū)的狀態(tài),并通過輸出電路產(chǎn)生相應(yīng)的輸出。又由于這個(gè)過程是永不停止地循環(huán)反復(fù)地進(jìn)行著,所以,輸出總是反映輸入的變化的。只是響應(yīng)的時(shí)間上,略有滯后。當(dāng)然,這個(gè)滯后不宜太大,否則,所實(shí)現(xiàn)的控制不那么及時(shí),也就失去控制的意義。
          為此,PLC的工作速度要快。速度快、執(zhí)行指令時(shí)間短,是PLC實(shí)現(xiàn)控制的基礎(chǔ)。事實(shí)上,它的速度是很快的,執(zhí)行一條指令,多的幾微秒、幾十微秒,少的才零點(diǎn)幾,或零點(diǎn)零幾微秒。而且這個(gè)速度還在不斷提高中。
          圖1.1所示的過程是簡化的過程,實(shí)際的PLC工作過程還要復(fù)雜些。除了I/O刷新及運(yùn)行用戶程序,還要做些公共處理工作。
          公共處理工作有:循環(huán)時(shí)間監(jiān)控、外設(shè)服務(wù)及通訊處理等。
          監(jiān)控循環(huán)時(shí)間的目的是避免"死循環(huán)",避免程序不能反復(fù)不斷地重復(fù)執(zhí)行。辦法是用"看門狗"(Watchingdog)。只要循環(huán)超時(shí),它可報(bào)警,或作相應(yīng)處理.
          外設(shè)服務(wù)是讓PLC可接受編程器對它的操作,或通過接口向輸出設(shè)備如打印機(jī)輸出數(shù)據(jù).
          通訊處理是實(shí)現(xiàn)PLC與PLC,或PLC與計(jì)算機(jī),或PLC與其它工業(yè)控制裝置或智能部件間信息交換的。這也是增強(qiáng)PLC控制能力的需要。
          也就是說,實(shí)際的PLC工作過程總是:公共處理--I/O刷新--運(yùn)行用戶程序--再公共處理--……反復(fù)不停地重復(fù)著。
          1.3可編程控制器實(shí)現(xiàn)控制的方式
          用這種不斷地重復(fù)運(yùn)行程序?qū)崿F(xiàn)控制稱掃描方式。是用計(jì)算機(jī)進(jìn)行實(shí)時(shí)控制的一種方式。此外,計(jì)算機(jī)用于控制還有中斷方式。在中斷方式下,需處理的控制先申請中斷,被響應(yīng)后正運(yùn)行的程序停止運(yùn)行,轉(zhuǎn)而去處理中斷工作(運(yùn)行有關(guān)中斷服務(wù)程序)。待處理完中斷,又返回運(yùn)行原來程序。哪個(gè)控制需要處理,哪個(gè)就去申請中斷。哪個(gè)不需處理,將不被理睬。顯然,中斷方式與掃描方式是不同的。
          在中斷方式下,計(jì)算機(jī)能得到充分利用,緊急的任務(wù)也能得到及時(shí)處理。但是,如果同時(shí)來了幾個(gè)都要處理的任務(wù)該怎么辦呢?優(yōu)先級高的還好辦,低的呢?可能會出現(xiàn)照顧不到之處。所以,中斷方式不大適合于工作現(xiàn)場的日常使用。
          但是,PLC在用掃描方式為主的情況下,也不排斥中斷方式。即,大量控制都用掃描方式,個(gè)別急需的處理,允許中斷這個(gè)掃描運(yùn)行的程序,轉(zhuǎn)而去處理它。這樣,可做到所有的控制都能照顧到,個(gè)別應(yīng)急的也能進(jìn)行處理。
          PLC的實(shí)際工作過程比這里講的還要復(fù)雜一些,分析其基本原理,也還有一些理論問題。有關(guān)人員如果能把上面介紹的入出變換、物理實(shí)現(xiàn)--信息處理、I/O電路--空間、時(shí)間關(guān)系--掃描方式并輔以中斷方式,作為一種思路加以研究,弄清了它,也就好理解PLC是怎樣去實(shí)現(xiàn)控制的,也就好把握住PLC基本原理的要點(diǎn)了。

          光耦相關(guān)文章:光耦原理




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();