(施耐德電氣(中國)投資有限公司,北京 100016)
華 镕 男,現(xiàn)任施耐德電氣(中國)投資有限公司工業(yè)自動化部產(chǎn)品推廣經(jīng)理。
5 五種IEC語言
Unity Pro有五種語言可以對Atrium、Premium、M340以及Quantum自動化平臺進(jìn)行編程。三種圖形設(shè)計語言包括梯形圖 (LD)、功能塊圖 (FBD) 、順序功能圖(SFC)或者Grafcet;兩種文本設(shè)計語言包括結(jié)構(gòu)化文本 (ST)、 指令表 (IL)。
對于這五種語言來說,用戶可以使用與IEC 61131-3標(biāo)準(zhǔn)兼容的指令集來建立應(yīng)用程序,這些應(yīng)用程序可以在不同的平臺上運(yùn)行。Unity Pro軟件還對標(biāo)準(zhǔn)指令集進(jìn)行了擴(kuò)展。因為這些擴(kuò)展指令是針對Atrium/Premium/M340和Quantum PLC的,所以它們能支持更復(fù)雜應(yīng)用程序的開發(fā),以最大限度地挖掘和利用這些平臺的特性。
5.1 五種語言通用的功能
這五種語言的編輯器都提供了友好的用戶界面,可進(jìn)行寫操作、讀操作以及對程序進(jìn)行分析:
(1)指令表 (IL)和結(jié)構(gòu)化文本 (ST)的文本編輯器支持:
● 在插入或者覆蓋模式下,輸入文本。
● 使用協(xié)助對話框,對變量、功能、功能塊或賦值指令進(jìn)行輸入。
● 對輸入數(shù)據(jù)進(jìn)行檢查,檢測是否有語法或語義錯誤。檢查的結(jié)果會通過紅色的波浪狀下劃線或者相關(guān)文本顏色來告知用戶。
● 用一套顏色系統(tǒng),在讀操作中將文本 (黑色)和運(yùn)算符 (紅色),語言關(guān)鍵字 (藍(lán)色)以及程序注釋文字 (綠色)區(qū)分開來。
(2)用于梯形圖(LD)語言,功能塊圖 (FBD)語言和順序功能圖(SFC)語言功能的圖形編輯器:
● 一套通過鼠標(biāo)或者鍵盤,對各種圖形符號進(jìn)行直接訪問的圖形元素 。
● 一個彈出菜單,可以通過點擊鼠標(biāo)右鍵進(jìn)入。
(3)沒有數(shù)量和長度限制的注釋文字。這些注釋文字可以作為文本對象被放在任何單元中(圖形語言) 或者表達(dá)式中的任何位置(文本語言)。
(4)協(xié)助性數(shù)據(jù)輸入功能有:
● 訪問DFB功能庫,變量編輯器或者用來輸入注釋文字的文本對象。
● 對變量參考表進(jìn)行初始化。
● 對所選變量的動態(tài)數(shù)據(jù)表進(jìn)行初始化。
● 顯示和修改所選變量的屬性。
● 在不使用數(shù)據(jù)編輯器的情況下,以實時方式創(chuàng)建變量。
(5)“剪切”,“復(fù)制”,“粘貼”,“刪除”,“移動”,等等。
(6)在文本行內(nèi)或者頁邊設(shè)置書簽,以便于用戶可以:
● 在重要的程序段內(nèi)很容易地確定行的位置 。
● 在編輯器內(nèi)通過書簽,標(biāo)簽或者行號和列號來進(jìn)行瀏覽。
5.2 梯形圖 (LD) 語言
每一個用梯形圖語言編寫的程序段或者子程序都由一系列的欄位組成,它們由PLC按照順序執(zhí)行。每個欄位由觸點、連線、線圈、操作模塊、EF/EFB/DFB功能塊、轉(zhuǎn)移、子程序調(diào)用等圖形對象(置于以行和列方式排列的單元內(nèi))所組成。
圖1 梯形圖語言結(jié)構(gòu)程序
5.2.1 程序結(jié)構(gòu) (程序段或者子程序)
每一個梯形圖語言程序段都可能會包含以下內(nèi)容:
(1)11到64列 (其數(shù)量由用戶設(shè)定);
(2)最多2000行 (程序段內(nèi)所有的欄位) ;
(3)“混合顯示”模式支持對用于欄位變量的注釋文字,地址和符號進(jìn)行不加限制的顯示。
圖2 在梯形圖語言編輯器內(nèi)的工具欄
5.3 功能塊圖(FBD)語言, 用于Unity Pro大型和超大型版本
功能塊圖語言是一種圖形設(shè)計語言,它基于連接帶有變量或參數(shù)的功能塊來組成。該語言尤其適合于用來編制過程控制的應(yīng)用程序。
圖3 功能塊圖語言程序
5.3.1 程序結(jié)構(gòu) (程序段或者子程序)
圖形設(shè)計語言FBD支持三種功能塊:
● 基本塊 (EF)
● 基本功能塊 (EFB),根據(jù)它們的應(yīng)用類型,被劃分為不同的庫
● 派生功能塊 (DFB),和基本功能塊具有同樣的結(jié)構(gòu),不過是由用戶使用ST,IL,LD 或者FBD語言編寫的。
在同一個程序段內(nèi),可以通過特定的功能塊來調(diào)用子程序。也可以跳轉(zhuǎn)到一個功能塊實例。
一個在FBD語言中編寫的程序段包含了相當(dāng)于具有30列和24行的網(wǎng)格信息。功能塊位于這些網(wǎng)格上,最小步長為一列的十分之一和一行的十分之一(稱為網(wǎng)點)。
圖4
5.4 順序功能圖 (SFC)和Grafcet語言
順序功能圖 (和Grafcet)語言可以用來描述自動化系統(tǒng)的順序流程,使用簡單的方框圖。這種格式包括了步和轉(zhuǎn)移。
SFC語言處理圖表的方式與Grafcet語言并不相同:
● SFC在一個圖中只能授予一個令牌。
● Grafcet在一個圖表中可以授予多個令牌。 Unity Pro軟件有一個用于這兩種語言的編輯器。該編輯器帶有在應(yīng)用程序設(shè)置中對行為進(jìn)行定義的選項 (工具/項目設(shè)置/語言擴(kuò)展菜單)。
5.4.1 程序結(jié)構(gòu) (主任務(wù)程序段)
圖5 順序功能圖SFC
SFC語言只用在屬于主任務(wù)的程序段。每一個SFC程序段由一個主流程圖程序段步和用于每一個宏步的子程序段組成。該圖的內(nèi)容包括:
● 宏步,它是一個獨立步,步中含有一系列步和轉(zhuǎn)移(建立一個多層體系圖結(jié)構(gòu)) 。
● 步。
● 在步和轉(zhuǎn)移之間的轉(zhuǎn)移,以及定向連接 。
對應(yīng)于步和轉(zhuǎn)移的動作和轉(zhuǎn)移條件,可以是以下兩種情況:
● 集成到步或者宏步中,在這種情況下,動作或者轉(zhuǎn)移由一個單一的參數(shù)來進(jìn)行定義 。
● 用特定的程序段來處理,在這種情況下,需要執(zhí)行專門的程序(需要用梯形圖,功能塊圖,結(jié)構(gòu)化文本或者指令表語言進(jìn)行編程)。
為了檢查PLC已經(jīng)成功地執(zhí)行了掃描,可以將活動時間(最小,最大)與每一個步相關(guān)聯(lián)。這些時間由用戶進(jìn)行設(shè)定。
圖6 SFC語言程序結(jié)構(gòu)
5.4.2 程序結(jié)構(gòu) (在主任務(wù)中的程序段)
對于每一個SFC程序段來說,圖形編輯器針對以下幾個方面所能提供的最大數(shù)量為:
● 一個包含32列以及200行,或者6400個單元的網(wǎng)格。步,轉(zhuǎn)移或者跳轉(zhuǎn)分別需要一個單元。
● 1024個步 (宏步以及在宏步中的步)。
● 可以分配給同一個步的動作為20個。
● 在同一時間內(nèi)激發(fā)的步為100個。
● 在同一時間內(nèi)激發(fā)的動作為100個。
圖7 SFC圖形頁面
為了容易地建立基本的流程圖,可以先在圖形頁面中建立“n”個串行步以及“m”個并行步。 然后利用對話框為步(活動時間,動作)和轉(zhuǎn)移(與轉(zhuǎn)移條件相連接的變量)等分配相關(guān)聯(lián)的屬性。
5.5 結(jié)構(gòu)化文本(ST)語言
結(jié)構(gòu)化文本語言是一個復(fù)雜的算法類型語言,它尤其適合于完成復(fù)雜的算術(shù)運(yùn)算,桌面操作,消息管理等方面的功能。
圖8 結(jié)構(gòu)化文本
5.5.1 程序結(jié)構(gòu) (程序段或子程序)
結(jié)構(gòu)化文本語言用于在結(jié)構(gòu)圖的基礎(chǔ)上,對分析進(jìn)行直接轉(zhuǎn)換編程。它包含很多表達(dá)式,這些表達(dá)式由一系列逐行排列的指令構(gòu)成。對一個指令行所能包含的字符數(shù)沒有限制 (唯一的限制是針對Premium和Quantum平臺的可用程序內(nèi)存,TSX P57 10...40處理器是一個例外,針對它的內(nèi)存限制是64Kb)。程序段的長度只受制于應(yīng)用程序所用內(nèi)存的容量。
可以直接從工具欄內(nèi)調(diào)用四種預(yù)先格式化的表達(dá)式結(jié)構(gòu):
● 有條件的動作: IF...THEN...ELSIF...THEN...ELSE...END-IF;
● 迭代的有條件動作:WHILE...DO...END_WHILE; REPEAT...UNTIL...END_REPEAT;
● 重復(fù)的動作: FOR...TO...BY...DO...END_FOR;
● 選擇性動作: CASE...OF...ELSE...END_CASE。
圖9 ST編輯器
在這些表達(dá)式中所使用的操作數(shù)為位變量,字變量或者連接到功能塊的變量。為了使這些表達(dá)式便于讀出,語言中使用了不同的顏色,以區(qū)分對象,語言關(guān)鍵字和程序注釋文字。
作者信息:
華(施耐德電氣(中國)投資有限公司,北京 100016)