怎樣理解西門子PLC置位和復位指令?

R


說一點我個人的看法吧:

置位和復位指令是PLC中最常見也最常用的PLC指令,基本的含義就是置位為1,復位為0。通常置位指令和復位指令是成對出現的,這樣一個布爾變量也就是位變量,就有了被寫為1和被恢復為0狀態的2個觸發指令;並且在實際使用中使用置位和復位指令中,也經常配合邊沿指令使用。--當然,並非一定要求成對使用和配合邊沿指令使用,需要結合實際情況!

因為你也沒有說哪個系列的PLC,因此我就用西門子200PLC來說明一下置為和復位指令,先看一段程序:

這段程序是為了答題隨意寫的程序,不夠嚴謹,但是可以說明問題。程序網絡1,輸入點I0.0接通一次就會使得M0.0被置位為1,在網絡2中M0.0就一直接通,導致Q0.0一直接通,如果Q0.0是驅動一個指示燈,那麼指示燈會常亮一段時間。I0.0接通一次M0.0就一直為1了,但是I0.0每次接通的時候都會使得VB0這個字節值自增1。

到網絡3處,VB0的值=30時就會使得M0.0復位為0,Q0.0驅動的指示燈也會熄滅!同時因為復位指令還復位了V0.0開始的8個位,這樣也就實現了VB0被複位為0。--可能一些初學的小夥伴對這個復位指令下邊寫8有點不理解,因為V0.0-V0.7就是8個位,當8個位都為0的時候,這個VB0字節就肯定為0了。

就著這裡的8,來研究一這個8的位置處,最大值是多少?最大值是255。也就是說如果我這裡寫255的話,那麼就是復位V0.0-V31.6。有懷疑的小夥伴們可以自己做試驗去驗證一下!

從這個程序可以看到,SET置為指令就會使被置為的點置為為1,其節點也會接通。在被置位後,如果沒有被RESET復位,那麼這個點就一直是為1狀態一直接通的。用上升沿這樣的指令是為了保證VB0=30那一次掃描中就能立馬將復位指令之行一次!在某些時候,如果不用邊沿指令,那麼你的點可能是多個掃描週期都置位為1了/或者多次被複位為0,會讓程序看上去有點不正常,所以邊沿指令儘量多加,當然這只是個人建議!

還可以看到,我上邊用的SET M0.0,後邊就用RESET M0.0,在實際使用中最多的就是對一個點置為了,就不要忘記對其復位,儘量保證他們成組出現,對程序以及理解程序都有好處!

還需要多說的是在西門子200PLC中RESET指令,除了置位/復位M0.0,V0.0這樣的變量之外還可以對C計數器和T定時器的線圈值起到清零的作用,就像把0 MOVE 給它們一樣。--注意,我這裡說的只是RESET復位指令!

最後,還有一點就是SET指令也是可以一次性置位255個位變量的,比如吧V0.0開始到V31.6全部都置位為1。


就說這麼多了,希望對你有點幫助,還有問題敬請關注+留言,謝謝!


控制研究控


置位就是相當於就是把這個線圈一直接通,復位就是把這個線圈斷開。在置位接通的狀態下,不管你是不是接通信號,都是一直接通,直到給他一個復位信號才會解除這個狀態!


棽蕎


很高興回答你的問題,西門子有置位復位這麼個塊用於處理有些需要不間斷有信號或者無信號的輸出點。

當是SR觸發器時,是置位優先選擇,意思及時,當S出前段條件都滿足時,觸發器塊所表示的這個輸出點有輸出。當R處次時也有信號時,也就是SR兩個信號都有時,塊的輸出點以S前滿足的條件為準及為有輸出為1,當S前段無信號,R無信號,塊仍保持輸出。當S無信號。R有信號,則塊輸出以R處為準,處於復位狀態及為0,無輸出。

當是RS觸發器時。以R和S都有信號的時候。以R處信號優先,復位。及塊輸出為0,無輸出,RS觸發器就是R位為1,時以R優先,此時塊輸出為0,R無信號,則以S信號為準。S有信號,塊有輸出,S無信號,塊無輸出。




工業自動化陳工


西門子PLC的置位指令 SET 是將位元件置1 有輸出 復位指令REST 是將位元件置0 無輸出


飛630969342


置位就是對位寄存器進行寫1操作。

復位就是對位寄存器進行寫0操作。


目瞪狗呆3億元粉


從名字就可以理解呀多讀幾遍


分享到:


相關文章: