《三菱FX PLC編程與應用入門》第四章的内容很多,我在寫這篇文章的時候其實也還沒學完第四章。不過,第四章的内容大緻可以分為三部分:基本指令系統、編程軟件基本操作和常用程序。
第一部分是基本指令系統,也就是我今天要分享的内容。為什麼說基本指令系統是PLC的單詞,我們在學習英語的時候詞彙量是必不可少的,不懂單詞就看不懂英文,同樣的,PLC的基本指令就像是PLC語句表程序中一個個的單詞,看不懂單詞就看不懂語句表。
而“可有可無”不是說指令系統沒用,而是基于現在都是用梯形圖編程,所以我們不需要對這些指令死記硬背,隻需要懂得這些指令的功能和用法就好了,就好比我們學英語,其實你叫我默寫某個單詞我是寫不出來的,但是給我看這個單詞我卻能知道它的意思。
說白了,其實就是我在學過這些指令之後很快就忘了,幹脆就不記了,畢竟現在也很少寫語句表的,對吧,大家可别誤會,我不是在為偷懶找借口哦。
李老師在課程中對這些基本指令進行一個個地詳細講解,我在這裡就挑幾個來講一下就好了,大家對全部内容感興趣的話可以去看課程或者看一下編程手冊都可以,下圖就是我在編程手冊的截圖,内容說明是相當詳細的。
一、邏輯取、輸出指令
每一個梯級的第一個觸點必須用取指令,并與左母線相連。這裡的“取”并不單單指“LD”,而是所有取開頭的指令,如LD(取常開)、LDI(取常閉)、LDP(取脈沖上升沿)、LDF(取脈沖下降沿)等。
我們能用這個“取”在PLC中掏出個啥呢?其實就是上圖的X、Y、M、S、T及C啦,如LD X0、LDI Y1等。簡單來說,“取”就像是我們去挑選繼電控制電路的各種按鈕、繼電器的觸點一樣,用誰取誰。
我就想問問,為什麼沒有LD Money這個指令?
OUT(輸出)指令是輸出線圈的驅動指令,OUT誰就是将運算結果輸出給誰,例如OUT Y0、OUT M1等。
當然,OUT後面的線圈也不是随便來的,隻能是如上圖的Y、M、S、T及C,大家可别寫出個OUT X0哦,被取笑了我可不負責。
二、觸點串并聯指令
與、或、非是邏輯代數的基本運算,我在第一篇文章中就有提到過。現在運用這些知識的時候到了。
如圖上圖所示,其實“AND(與)”就相當于串聯,“OR(或)”就相當于并聯。
上文提到,梯級的第一個指令是“取”,顯然,“與”、“或”等指令是在“取”之後調用的,如LD X0 ;AND X1指的是X0“與”X1,即取X0與X1串聯。
另外,與、或、非可以和其他指令相互組合成新的指令,例如LDP(取脈沖上升沿)和AND(與)組合成ANDP(與脈沖上升沿);上圖的“與非”也可以理解為“與”和“非”的組合。
顯然,隻要涉及到串并聯,與、或、非或其衍生指令的使用都是必不可少的,但是這些指令繁多且複雜,而且我們平時在畫梯形圖的時候一般都不會去看語句表,所以我在學習這些指令的時候,也隻是看了一遍。
因為我覺得,隻要我們在聽課的過程中能理解這些指令,那麼即使我們學了就忘,當我們需要這部分知識的時候再去翻看資料就行了。
三、堆棧指令
我為什麼要說這個堆棧指令呢?是因為我在學習到這個指令的時候遇到了一個問題,現在就跟大家分享一下。
由于之前的文章有提過堆棧是什麼,我在這裡不再贅述。堆棧指令又叫多輸出指令,在梯形圖中,一個梯級有一個或多個公共觸點,并從該公共觸點分出2條或2條以上支路且每個支路都有自己的觸點及輸出時,必須要用堆棧指令來編寫指令語句表程序。
MPS就像是打開倉庫的大門,即堆棧指令的起點,MRD就像是向倉庫裡面堆集貨物,堆一個貨物就有一個MRD,而MPP就像是關閉倉庫的大門,也就是該堆棧的終點。
如下圖是一個含有堆棧指令的梯形圖,X0、X1、X2、X3都是公共觸點,因為它們有分支,控制的不僅僅是一個輸出。
圖右是課程中圖左梯形圖的指令語句表程序,我的問題恰恰是在這裡。在不看課程語句表的情況下,我嘗試自己寫出左圖的語句表,然後發現竟然與課程的語句表不一樣,就是調用X1、X2、X3、X4的時候,我用的是AND指令,課程中用的卻是LD指令。
關于這個差異,我嘗試用編程軟件GX Developer把梯形圖轉換為語句表程序,發現軟件用的也是AND指令,但是我也不知道課程的語句表程序是否正确,希望能有大神留言評論指點一下我。
談及這個GX Developer,由于我嘗試了多遍安裝、卸載都沒成功(真想換電腦),還是借用别人的電腦編程的。
我的電腦安裝的是GX Works2軟件,所以在之後的編程學習中我都是用GX Works2,這與李老師講課過程中用的GX Developer有所不同,GX Works2軟件不能把梯形圖轉換為語句表,也沒有時序圖可以看,所以我還是建議大家安裝GX Developer,因為GX Developer是具有以上兩個功能的。
四、置位與複位指令
置位和複位指令的功能是編程元件進行強制操作,其中置位是把元件強制置“1”,而複位是将位元件強制置“0”或将字元件清0。
從手冊截圖中我們也可以看到,不管是SET還是RST,其動作都是通過觸點控制的,而且SET僅僅是能對Y、M、S三種位元件起作用,而RST除了可以操作Y、M、S,還可以操作T、C、D等。
上圖是課程中置位和複位的一個應用程序,這其實是起保停程序,X0閉合,Y0置“1”并保持;X1閉合,Y0被置“0”。
顯然這比普通的起保停程序簡單得多,但我個人覺得不是很直觀,依我這麼笨的腦子,還是乖乖用一般的起保停程序吧。
五、主控指令
所謂“主控”就像是總開關,隻有總開關閉合,其後段線路才能接通。上圖的回路表示框中MC N YM的N是主控制指令嵌套的層數N0~N7,最外層是N0,最内層是N7,當然,如果沒有嵌套也就沒有N1~N7的出現。YM指的是主控指令隻能用Y或M元件(不包括特殊M)。
顯然,MCR N和MC N YM是成對出現的,就像是上文的MPS和MPP一樣,而且N也要首尾呼應。
上圖是左邊是課程中的一個含有主控指令的梯形圖,但是據說這個梯形圖在軟件中是無法編譯的,經過大神指點,我現在把修正後的程序也一并給大家看一下,大家可以自己編程試試看是不是這麼回事,然後把結果留言評論告訴我一聲,我就可以不用再編一次了,喜滋滋。
六、運算結果取反指令
INV(運算結果取反)指令在梯形圖中是一條45°的斜線,它的功能是将指令之前的邏輯運算結果取反,在梯形圖中除了不能與左母線直接相連外,可以在任一地方出現。
所謂運算結果取反,為了便于理解,大家可以把INV和LDI(取反)、ANI(與非)等指令作個比較,如下圖所示,第一個程序是ANI(與非)的使用,第二個是INV(運算結果取反)的使用,當X0和X1均為0時,兩個梯形圖中的Y0顯然有不同的結果。
當X0和X1均為0時,X0“與非”X1,此時運算結果為0,所以Y0為0;而X0“與”X1=0,對“0”這個運算結果取反,此時Y0就為1。運算結果取反指令理解起來還是比較簡單的,你們覺得呢?
以上,關于基本指令系統,我就講這麼多,還有其他的指令我就不講啦,特别是電路塊指令的語句表程序編寫,我到現在都理不清,也就不管它了(我就是個廢物),反正會畫梯形圖就行。
選自《三菱FX PLC編程與應用入門》第四章第10~12課時
(技成培訓原創,作者:楊思慧,未經授權不得轉載,違者必究!)
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!