編程語言是系統(tǒng)提供的、用于項目應(yīng)用中編寫控制邏輯的工具。ControlLogix系統(tǒng)的編程語言符合IEC61131-3標準,有梯形圖、結(jié)構(gòu)化文本、功能塊圖和順序功能圖等4種編程語言。每種語言的指令條數(shù)有不同,指令符號和參數(shù)也有差異,有的指令只用于某種控制場合。如梯形圖和結(jié)構(gòu)化文本的定時器指令TON與TONR形式不同,順序功能圖不支持ASCⅢ指令等。可以根據(jù)不同的應(yīng)用場合和工程技術(shù)人員或維護人員的編程習慣來選擇和使用編程語言。
1、梯形圖
梯形圖(LD)是PLC的一種最典型的也是最基本的編程方式,它沿用了繼電器的觸點、線圈、串聯(lián)、并聯(lián)等術(shù)語和圖形符號,并增加了新的功能和邏輯符號,具有直觀、易學、好理解的特點,成為使用最為廣泛的編程方式,適用于順序邏輯控制、離散量控制、定時/計數(shù)控制等。
梯形圖一般由2條母線和指令構(gòu)成的梯級(Rung)或階梯組成,每條梯級包括輸入指令和輸出指令。輸入指令和左母線相接,輸 出指令最后連接右母線。梯形圖以結(jié)束語句(END)表示程序結(jié)束。典型的梯形圖如圖所示,這是一個延時通邏輯,當開關(guān)Swith_1閉合后10s,綠燈Green_Light亮。
2、結(jié)構(gòu)化文本
結(jié)構(gòu)化文本(ST)是一種類似于高級語言如BASIC的編程語言,能很方便地建立、編輯修改和實現(xiàn)比較復雜的控制算法。結(jié)構(gòu)化文本包括賦值、條件、循環(huán)、重復、跳出等基本語句。特別是在數(shù)據(jù)處理、計算、存儲、判斷、優(yōu)化算法等應(yīng)用場合,以及涉及多種數(shù)據(jù)類型處理的應(yīng)用中使用廣泛。
上圖的梯形圖可以寫成結(jié)構(gòu)化文本語句如下圖所示。
3、功能塊圖
功能塊圖(FBD)是一種可視化的編程語言,使用類似布爾代數(shù)的圖形邏輯符號來表示控制邏輯。 同時引用儀表控制回路組態(tài)方式,用功能塊之間的連接來建立程序結(jié)構(gòu),并放在表單中。每個功能塊都定義控制策略并連接輸入端和輸出端來實現(xiàn)過程控制。
ContolLogix系統(tǒng)有豐富的功能塊指令,適用于有數(shù)字電路基礎(chǔ)和過程控制經(jīng)驗的技術(shù)人員使用。典型的功能塊控制圖如圖所示,這是一個帶復位標簽的延時通功能塊圖,定時預置值為500ms。
4、順序功能圖
順序功能圖(SFC)也是一種圖形化的編程語言,它將工作流程劃分為步(Step),每一步都對應(yīng)一個控制任務(wù),這個控制任務(wù)包含實現(xiàn)控制的程序代碼。該程序既可以是LD,也可以是ST或SFC。步用一個方框和一個步號表示,步與步之間的轉(zhuǎn)換條件可以是一個條件,也可以是一段程序,用水平線和轉(zhuǎn)換號表示。SFC有單序列的順序結(jié)構(gòu)、選擇分支、并行分支和循環(huán)等4種結(jié)構(gòu)。通過顯示這些步和轉(zhuǎn)換條件,可以隨時掌握控制過程的狀態(tài)。
SFC采用簡單直觀的圖形符號來形象地表示和描述整個控制的過程、功能和特性,將整個邏輯分成容易處理的步和轉(zhuǎn)換條件,簡單易學、設(shè)計周期短、規(guī)律性強。整個程序結(jié)構(gòu)清晰,可讀和可維護性好,特別適合于熟悉工藝的編程人員使用。一個有選擇分支的順序功能塊圖如圖所示,圖中,程序從步3開始執(zhí)行,執(zhí)行完成后進入選擇分支,從步7、步12和步13順序判斷轉(zhuǎn)換條件來選擇一個分支執(zhí)行。如果第一個轉(zhuǎn)換條件滿足,選擇執(zhí)行步7;如果第2個轉(zhuǎn)換條件滿足,執(zhí)行步12;如果第3個轉(zhuǎn)換條件滿足,執(zhí)行步13。
5、編程語言選擇
ControlLogix控制器支持的4種編程語言,除非特別指定,大多數(shù)技術(shù)人員會根據(jù)自己的喜好或掌握熟練程度來選擇。實際上,每一種編程語言各有不同的特點和應(yīng)用側(cè)重點,包括指令集、編程風格、在線監(jiān)視和注釋等,要根據(jù)應(yīng)用的具體情況和要求來綜合選定,主要考慮因素見表。
共有訪客發(fā)表了評論
網(wǎng)友評論