小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

深度理解PLC的工作原理(How PLC works)

 我愛(ài)你文摘 2019-02-13

工控的小伙伴應(yīng)該都知道PLC是以循環(huán)掃描的方式進(jìn)行工作的。但是如果要細(xì)問(wèn)幾個(gè)問(wèn)題,估計(jì)并不是所有的人都能答上來(lái)。比如:循環(huán)掃描都有哪些步驟?循環(huán)掃描的過(guò)程中,數(shù)字量和模擬量都要進(jìn)入緩存區(qū)嗎?PLC的程序結(jié)構(gòu)是怎樣的呢?今天這篇文章,我們就來(lái)深入討論下PLC的工作原理并回答這幾個(gè)問(wèn)題。

深度理解PLC的工作原理(How PLC works)

在討論P(yáng)LC的工作原理之前,我們先來(lái)看看PLC的程序結(jié)構(gòu)。

PLC的CPU中有兩類程序:一類是操作系統(tǒng),它由PLC的廠家設(shè)計(jì)并在出廠前固化到CPU中;另一類是用戶程序,它是由編程人員根據(jù)實(shí)際需要設(shè)計(jì)的、完成特定功能的程序;

操作系統(tǒng)預(yù)留一些接口(Interface)給用戶程序。通過(guò)這些接口,操作系統(tǒng)可以控制用戶程序的執(zhí)行。一般有兩種接口:主程序接口和中斷程序接口。

主程序接口是正常情況下用戶程序運(yùn)行的起點(diǎn)。PLC的這種設(shè)計(jì)思想與計(jì)算機(jī)編程是一樣的。我們知道,在C語(yǔ)言的編程中,程序的運(yùn)行起始于Main函數(shù)。在Main函數(shù)中,按照從上到下的順序依次執(zhí)行代碼。Main函數(shù)是操作系統(tǒng)執(zhí)行用戶程序的接口。

深度理解PLC的工作原理(How PLC works)

在西門子S7-300/400系列PLC中,程序的運(yùn)行起始于組織塊OB1。OB1就相當(dāng)于C語(yǔ)言的Main函數(shù);在S7-200 smart中,更是直接把OB1稱為Main塊。

如果程序比較復(fù)雜,還可以把一些常用的功能設(shè)計(jì)成模塊,以便重復(fù)利用。這些小的模塊稱為子程序。

子程序存在于主程序中,操作系統(tǒng)通過(guò)調(diào)用主程序,就能讓子程序也得到運(yùn)行。在S7-300/400中,子程序包括FB和FC。

除了主程序接口,PLC還提供中斷程序的接口。比如S7-300/400系列PLC的組織塊OB35(循環(huán)中斷)、OB40(硬件中斷)、OB82(診斷中斷)、OB122(IO訪問(wèn)故障中斷)等等。中斷程序接口中的程序,稱為“中斷處理程序”,中斷處理程序由用戶自己編寫。

PLC在運(yùn)行的過(guò)程中如果檢測(cè)到中斷請(qǐng)求,操作系統(tǒng)會(huì)暫停當(dāng)前用戶程序的執(zhí)行,轉(zhuǎn)而去尋找中斷程序的接口,以執(zhí)行相應(yīng)的中斷處理程序。以S7-300/400為例:當(dāng)PLC檢測(cè)到外圍IO訪問(wèn)出現(xiàn)故障時(shí),會(huì)調(diào)用OB122來(lái)進(jìn)行處理。如果此時(shí)程序中沒(méi)有添加OB122,CPU將會(huì)停機(jī);如果添加了OB122但是沒(méi)有寫任何代碼(沒(méi)有中斷處理程序),CPU將會(huì)繼續(xù)運(yùn)行,但是SF燈會(huì)亮起,以提示系統(tǒng)存在故障。

中斷的執(zhí)行是有優(yōu)先級(jí)的,優(yōu)先級(jí)高的中斷會(huì)被優(yōu)先響應(yīng);中斷也可以嵌套,這也意味著高優(yōu)先級(jí)的中斷會(huì)打斷低優(yōu)先級(jí)的中斷;

從上面描述的主程序接口及中斷程序接口,我們可以看出:操作系統(tǒng)是PLC的大管家,是它控制著用戶程序的執(zhí)行及中斷的響應(yīng)。

其實(shí),PLC的操作系統(tǒng)在執(zhí)行用戶程序之前,還要做一些其它工作,如下圖:

深度理解PLC的工作原理(How PLC works)

PLC在冷啟動(dòng)或熱啟動(dòng)后,會(huì)執(zhí)行啟動(dòng)掃描。在這個(gè)步驟中,可以對(duì)一些變量進(jìn)行初始化。啟動(dòng)掃描僅在每次啟動(dòng)后執(zhí)行一次,在S7-300/400系列PLC中,OB100(暖啟動(dòng))、OB101(熱啟動(dòng))和OB102(冷啟動(dòng))是用于啟動(dòng)掃描的組織塊。

啟動(dòng)掃描完成后,PLC進(jìn)入循環(huán)掃描的階段。首先進(jìn)行內(nèi)部檢查,然后將外部的數(shù)字量輸入讀到CPU的輸入緩存區(qū)(input image)。這里要注意,僅讀取數(shù)字量輸入信號(hào),不包括模擬量輸入信號(hào)。當(dāng)數(shù)字量輸入信號(hào)的狀態(tài)讀取到輸入緩存區(qū)后,便開(kāi)始執(zhí)行用戶程序。

在用戶程序執(zhí)行的過(guò)程中,如果需要數(shù)字量輸入信號(hào),CPU將會(huì)從輸入緩存區(qū)中讀取,而不是到外部設(shè)備去獲取信號(hào)。但是,如果需要模擬量輸入信號(hào),將會(huì)直接到外部模擬量傳感器進(jìn)行讀取。

將數(shù)字量輸入信號(hào)讀取到輸入緩存區(qū)中有以下幾個(gè)好處:

  1. 在當(dāng)前的掃描周期中,信號(hào)的值被固定。外部的信號(hào)抖動(dòng)不會(huì)干擾程序的執(zhí)行結(jié)果;
  2. 輸入緩存區(qū)讀取的速度比直接讀取外部信號(hào)值要快的多,有利于程序的快速執(zhí)行;
  3. 外部的數(shù)字量輸入信號(hào)只能以“位(bit)”的方式進(jìn)行訪問(wèn),但是當(dāng)信號(hào)讀取到輸入緩存區(qū)后,可以“位(bit)”、“字節(jié)(byte)”、“字(word)”和“雙字(double word)”等方式進(jìn)行訪問(wèn),程序的編寫更加靈活;

對(duì)于數(shù)字量輸出信號(hào),用戶程序執(zhí)行的結(jié)果被存放在輸出緩存區(qū)(output image)中。當(dāng)用戶程序執(zhí)行完成后,操作系統(tǒng)將存放在輸出緩存區(qū)的運(yùn)算結(jié)果,刷新到數(shù)字量的輸出模塊中。

對(duì)于模擬量的輸出,不存放到輸出緩存區(qū),而是會(huì)在程序執(zhí)行的過(guò)程中直接將結(jié)果輸出到外圍設(shè)備中。

好了,關(guān)于PLC的程序結(jié)構(gòu)及PLC的循環(huán)掃描工作原理就先介紹到這里。如果你喜歡這篇文章,可以去官網(wǎng)(www.founderchip.com)下載本文PDF版本。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多