05.17 PLC編程技巧分享,巧用尋址方式,讓PLC程序更高效

前文為大家講過歐系PLC的尋址,它的精髓就是可以用不同的方式訪問同一個寄存器

,那麼這種方法有什麼好處呢?用慣了日系PLC,比如三菱PLC的朋友可能會感覺到很困惑,認為這是吃飽了撐的,其實,尋址方式的應用,以讓程序變的更靈活,更簡潔,更高效。而提升PLC程序的執行效率,會大大提高設備的性能,在不降低性能的前提下,降低成本。今天就給大家講個例子。

PLC編程技巧分享,巧用尋址方式,讓PLC程序更高效

比如,在一個項目中,有32臺變頻器需要我們控制,數量如此之多的變頻器,如果還用模擬量控制,那將會是非常恐怖的事情,先不說模擬量模塊的成本,光是佈線的人工就讓人恐怖,因此使用總線通訊將是最好的選擇。我們編寫程序的第一步,就是判斷這32臺變頻器是否正常,一般採用總線通訊時,都會有一個標誌位,來確認通訊是否正常,即便是採用模擬量控制,我們也需要32個布爾變量,來確認所有的變頻器是否正常。傳統的做法是編一段梯形圖,採用串聯關係,來確認現場這32臺變頻器是否正常。

PLC編程技巧分享,巧用尋址方式,讓PLC程序更高效

如圖所示,這就是梯形圖程序,我只寫了八個就那麼多了,還有二十四個呢,有人說,你天天吹噓ST語言,你幹嘛不用ST語言啊,問得好,那麼我們就看看ST語言是什麼樣的,

PLC編程技巧分享,巧用尋址方式,讓PLC程序更高效

如圖中所示,雖然簡單了些,但還是還繁瑣,如果用IF END_IF 語句更麻煩了,有沒有更簡單的方法呢?我們知道一個雙字是有32個位組成的,在這個例子中 %MD0=%MW1+%MW0=%MB3+%MB2+%MB1+%MB0。 而%MB0 就是由%MX0.7 到%MX0.0組成的。因此,我們要判斷32個變頻器是否正常,只需要判斷這32個位組成的%MD0 是否全為1 就行了。

PLC編程技巧分享,巧用尋址方式,讓PLC程序更高效

如圖中所示,16#FFFF 表示 32個位全部為1,換算成16進制就是FFFF。怎麼樣,是不是很簡單?很直觀?這就是用不同尋址方式尋址同一個寄存器的意義,希望大家能認真理解並掌握。對於輸入,輸出等變量也是可以採用這種方式的。

歡迎關注頭條號‘譬如朝露’,工控老司機帶你飛,帶你輕鬆玩轉PLC。本小編文章只在頭條發佈,其他均為複製粘貼,比如電工學習網,百家號,快資訊,東方頭條等等等等


分享到:


相關文章: