iec (國際電工委員會(huì)) 1994 年 5 月公布了可編程控制器標(biāo)準(zhǔn) ( iec1131 ) ,其中第三部分( iec1131-3 )是 plc 的編程語言標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)詳細(xì)說明了句法、語義和 5 種 plc 編程語言的表達(dá)方式,分別是梯形圖( ladder diagram )、指令表( instruction list )、順序功能圖( sequential function chart )、功能塊圖( function block diagram )、結(jié)構(gòu)文本( structured text )。
三菱fx 系列plc 的編程語言主要有 梯形圖、順序功能圖 及 指令表 。在步進(jìn)指令編程中采用的順序功能圖的編程語言也稱狀態(tài)轉(zhuǎn)移圖,梯形圖是 plc 最主要的編程方式。
1. 梯形圖( ld )
梯形圖( ladder diagram )程序設(shè)計(jì)語言是用圖形符號(hào)來描述程序的一種程序設(shè)計(jì)語言。這種程序設(shè)計(jì)語言采用因果關(guān)系來描述事件發(fā)生的條件和結(jié)果,每個(gè)梯級(jí)是一個(gè)因果關(guān)系。在梯級(jí)中,描述事件發(fā)生的條件表示在左邊,描述事件發(fā)生的結(jié)果表示在右邊。梯形 圖編程語言是由電氣原理圖演變而來的,它沿用了電氣控制原理圖中的觸點(diǎn)、線圈、串并聯(lián)等術(shù)語和圖形符號(hào),比較形象直觀,并且邏輯關(guān)系明確,因此熟悉電氣控制的工程技術(shù)人員和一線的工人師傅非常容易接受。
下圖 ( a ) 所示是某個(gè)電氣控制線路中帶自鎖的長動(dòng)控制電路,下圖 ( b )所示 的 plc 梯形圖可以完成圖( a )的控制作用。兩種圖形很接近,但也有些區(qū)別。梯形圖中沒有實(shí)際的繼電器,只是存儲(chǔ)器的存儲(chǔ)位,也稱為軟元件,當(dāng)它的邏輯為 “ 1 ” 時(shí),表示繼電器線圈通電或者表示動(dòng)合觸點(diǎn)閉合、動(dòng)斷觸點(diǎn)斷開。
( a ) 電氣控制原理圖 ( b ) plc 梯形圖 兩種控制圖
2. 指令表( il )
plc 的指令是一種與微機(jī)匯編語言中的指令極其相似的助記符表達(dá)式,由指令組成的程序叫做指令表( instruction list )程序。 fx 2n 系列 plc 共 有基本指令 27 條,步進(jìn)指令 2 條,應(yīng)用指令 128 條。不同廠家 plc 指令的助記符有所不同,但基本的邏輯與運(yùn)算的指令功能可以相通。
每條指令都由 步序號(hào)、操作碼和操作數(shù)組成。步序號(hào)為指令的步數(shù),每條指令都有規(guī)定的步長,程序的步數(shù)從 0 開始,最大步序由程序存儲(chǔ)器的容量決定。 操作碼是用助記符表示要執(zhí)行的功能,操作數(shù)(參數(shù))表明操作的地址或一個(gè)預(yù)先設(shè)定的值。
指令表程序較難閱讀,其邏輯功能不如梯形圖直觀,但輸入方便。由于指令表的邏輯關(guān)系很難一眼看出,所以在設(shè)計(jì)時(shí)一般使用梯形圖語言。表5.1就是上圖( b )所對(duì)應(yīng)的程序指令。
表5.1 指令語句表
3. 順序功能圖( sfc )
順序功能圖( sequential function chart )又叫功能表圖,也稱狀態(tài)轉(zhuǎn)移圖,是一種位于其它編程語言之上的圖形語言,它主要用來編制順序控制程序,在第 7 章中將作詳細(xì)介紹。順序功能圖提供了一種組織程序的圖形方法,在其中可以用其它語言嵌套編程。順序功能圖表示程序的流程,常用來編制順序控制類程序,主要由步、有向連線、轉(zhuǎn)換條件和動(dòng)作組成,如圖所示。