1.順序功能圖(SFC)
這是一種位于其他編程語言之上的圖形語言,用來編制順序控制程序。順序功能圖提供了一種組織程序的圖形方法,在順序功能圖中可以用別的語言嵌套編程。步、轉(zhuǎn)換和動作是順序功能圖中的三種主要元件(見圖1)。順序功能圖用來描述開關(guān)量控制系統(tǒng)的功能,根據(jù)它可以很容易地畫出順序控制梯形圖程序。
圖1 順序功能圖
2.梯形圖(LD)
梯形圖是使用得最多的PLC圖形編程語言。梯形圖與繼電器控制系統(tǒng)的電路圖很相似,直觀易懂,很容易被工廠熟悉繼電器控制的電氣人員掌握,特別適用于開關(guān)量邏輯控制。圖2和圖3中用西門子S7–200系列PLC的3種編程語言來表示同一邏輯關(guān)系。西門子的說明書中將指令表稱為語句表。
圖2
圖3
梯形圖由觸點、線圈和應(yīng)用指令等組成。觸點代表邏輯輸入條件,如外部的開關(guān)、按鈕和內(nèi)部條件等。線圈通常代表邏輯輸出結(jié)果,用來控制外部的指示燈、交流接觸器和內(nèi)部的輸出標志位等。
在分析梯形圖中的邏輯關(guān)系時,為了借用繼電器電路圖的分析方法,可以想像左右兩側(cè)垂直母線之間有一個左正右負的直流電源電壓(有時省略了右側(cè)的垂直母線),當圖2中I0.1與I0.2的觸點接通,或M0.3與I0.2的觸點接通時,有一個假想的“能流”(Power flow)流過Q1.1的線圈。利用能流這一概念,可以幫助我們更好地理解和分析梯形圖,能流只能從左向右流動。
圖4中的電路不能用觸點的串并聯(lián)來表示,能流可能從兩個方向流過觸點5(經(jīng)過觸點1,5,4或經(jīng)過觸點3,5,2),無法將該圖轉(zhuǎn)換為指令表,應(yīng)將它改畫為圖5所示的等效電路。
圖4 錯誤的梯形圖
圖5 改正后的梯形圖
使用編程軟件可以直接生成和編輯梯形圖,并將它下載到PLC中去。
3.功能塊圖(FBD)
這是一種類似于數(shù)字邏輯門電路的編程語言,有數(shù)字電路基礎(chǔ)的人很容易掌握。該編程語言用類似與門、或門的方框來表示邏輯運算關(guān)系,方框的左側(cè)為邏輯運算的輸入變量,右側(cè)為輸出變量,輸入、輸出端的小圓圈表示“非”運算,方框被“導線”連接在一起,信號自左向右流動。圖3中的控制邏輯與圖2中的相同。有的微型PLC模塊(如西門子公可的“LOGO!”邏輯模塊)使用功能塊圖語言,除此之外,國內(nèi)很少有人使用功能塊圖語言。
4.指令表(IL)
PLC的指令是一種與微機的匯編語言中的指令相似的助記符表達式,由指令組成的程序叫做指令表(Instruction list)程序。指令表程序較難閱讀,其中的邏輯關(guān)系很難一眼看出,所以在設(shè)計時一般使用梯形圖語言。如果使用手持式編程器,必須將梯形圖轉(zhuǎn)換成指令表后再寫入PLC。在用戶程序存儲器中,指令按步序號順序排列。
5.結(jié)構(gòu)文本(ST)
結(jié)構(gòu)文本(ST)是為:IEC61131–3標準創(chuàng)建的一種專用的高級編程語言。與梯形圖相比,它能實現(xiàn)復雜的數(shù)學運算,編寫的程序非常簡潔和緊湊。
除了提供幾種編程語言供用戶選擇外,標準還允許編程者在同一程序中使用多種編程語言,這使編程者能選擇不同的語言來適應(yīng)特殊的工作。