-
1 # 隨佳而安
-
2 # 控制研究控
應該說每種PLC中都存在上升沿和下降沿的命令,有的叫上升沿微分指令,所以它主要是用來捕捉那些快速變化的訊號的,人眼看不到,但是實際狀態發生了變化,程式需要捕捉到這種變化的時候,就需要用到邊沿檢測指令,在西門子PLC中就叫做上升沿和下降沿檢測指令!
就以西門子200PLC中的上升沿和下降沿來簡單講解一下。
西門子200PLC中邊沿指令在指令樹中的位置和概念在西門子200PLC中邊沿檢測指令是屬於位指令這集合下的:
從這個圖片可以看到位邏輯資料夾下的指令中就包含了P和N這兩個邊沿檢測指令,圖上是我滑鼠放置在P處的時候,就輔助顯示了上升沿檢測!
這個|P|就是上升沿檢測指令,它的作用是檢測前邊能流的變化,如果檢測到一次正轉換(由0到1),就會使該指令後邊的能流接通1個掃描週期。|N|就是下降沿檢測指令,它的作用是檢測前邊能流的變化,如果檢測到一次負轉換(由1到0),就會使該指令後邊的能流接通1個掃描週期。
---這裡要說的是1個掃描週期一般在毫秒級別的,所以想在200的軟體利用監控變態變化趨勢圖的方法,來監控這幾毫秒是不可行的。幾毫秒內,程式從左到右,從上到下的執行一邊就是一個掃描週期。
透過一段簡單的程式來看一下上升沿和下降沿的不同吧這是一個動態圖片,上邊是狀態表的監控,下邊是程式的監控!
開始的時候所有的變數都是0,當我把M0.0寫為1後,MW2就開始不斷的自加1了,而MW4是因為被M0.1推動,他只加1了一次,所以圖片最終的MW4=1。---這裡的原因就是因為M0.1是被|P|上升沿指令的作用控制,只接通了一個掃描週期,在M0.1被接通的這個掃描週期內,程式繼續向下執行,在網路2處,觸發了MW4的INC_W自加1指令,使得MW4變為了1。
而當我把M0.0從1的狀態寫為0的時候,|N|下降沿指令就檢測到了這種狀態的負變化(湊從1到0),因此使得M0.2能夠接通一個掃描週期,同樣在這個掃描週期內,網路2處M0.2還是接通為1狀態,這就觸發了MW6處的INC_W自加1指令讓MW6加1了一次。
而M0.0觸發的MW2加1,在M0.0接通的時候它就一直不斷的一個掃描週期加1一次,所以它很快的加到了1萬多的值,是因為INC_W指令,只要EN處有能流,它就不斷的執行。而M0.1和M0.2都受到了邊沿指令的作用,只接通1個掃描週期,所以他們的值就只在M0.0的狀態發生翻轉的時候,才會動作。
說到這裡,我想已經解釋了這上下兩種邊沿檢測指令的不同了。
在實際程式設計的時候,如果M0.0是I0.0或者其他的輸入點,就可以實現對外部輸入訊號的狀態捕捉。本文這個例子,像自加1這種只要能流接通就會一直執行的指令,是經常需要和上升沿下降沿指令配合使用的。邊沿指令,是PLC程式設計中應用極其廣泛的指令,不管用在哪種場合,它使得後邊的能流接通1個掃描週期的這個特性卻是不會變化的。朋友們掌握這個特點後,就可以在該使用到的場合想到這組指令了!
回覆列表
例如 :現在用一個光電開關來做一個產品計數器,原理是一個產品經過開關,計數器加一;假設你的開關接到X0(輸入點)上,那麼你在程式中就要用一個X0的上升沿驅動計數器,才能保證經過一個產品,計數器只加一,若沒有上升沿,PLC會在X0接通時的每一個掃描週期加一。掃描週期知道是啥概念吧,就是說若沒有上升沿,開關接通一秒,計數器就加了幾十上百次了補充:隨著微處理器、計算機和數字通訊技術的飛速發展,計算機控制已擴充套件到了幾乎所有的工業領域。現代社會要求製造業對市場需求作出迅速的反應,生產出小批次、多品種、多規格、低成本和高質量的產品,為了滿足這一要求,生產裝置和自動生產線的控制系統必須具有極高的可靠性和靈活性,PLC程式設計正是順應這一要求出現的,它是以微處理器為基礎的通用工業控制裝置。