自動(dòng)化軟件設(shè)計(jì)IEC61131-3標(biāo)準(zhǔn)專(zhuān)題(四)
IEC 1131-3 的編程語(yǔ)言(一):圖形化語(yǔ)言
本篇繼續(xù)介紹IEC 1131-3的三種編程語(yǔ)言:功能塊圖(FBD)、梯形圖(LAD)和順序功能流程圖(SFC)。
一、功能塊圖(FBD - Function Block Diagram)
功能塊圖用來(lái)描述功能、功能塊和程序的行為特征,還可以在順序功能流程圖中描述步、動(dòng)作和轉(zhuǎn)變的行為特征。功能塊圖與電子線路圖中的信號(hào)流圖非常相似,在程序中,它可看作兩個(gè)過(guò)程元素之間的信息流。功能塊圖普遍地應(yīng)用在過(guò)程控制領(lǐng)域。
功能塊用矩形塊來(lái)表示,每一功能塊的左側(cè)有不少于一個(gè)的輸入端,在右側(cè)有不少于一個(gè)的輸出端,功能塊的類(lèi)型名稱通常寫(xiě)在塊內(nèi),但功能塊實(shí)例的名稱通常寫(xiě)在塊的上部,功能塊的輸入輸出名稱寫(xiě)在塊內(nèi)的輸入輸出點(diǎn)的相應(yīng)地方。
1.1 功能塊圖的信號(hào)流
在功能塊網(wǎng)路中,信號(hào)通常是從一個(gè)功能或功能塊的輸出傳遞到另一個(gè)功能或功能塊的輸入。信號(hào)經(jīng)由功能塊左端流入,并求值更新,在功能塊右端流輸出。
布爾信號(hào)的取反
在使用布爾信號(hào)時(shí),功能或功能塊的取反輸入或輸出可以在輸入端或輸出端用一個(gè)小圓點(diǎn)來(lái)表示,這種表示與在輸入端或輸出端加一個(gè)“取反”功能是一致的。如下圖是一功能塊圖取反的實(shí)例。
l 信號(hào)反饋
功能塊圖允許功能塊的輸出反饋回網(wǎng)路左側(cè)的功能塊輸入,形成反饋路徑。下圖是一功能塊反饋路徑的實(shí)例,功能塊Load1的輸出端Level反饋回功能塊Loop1的輸入端ProcessValue。
1.2 功能塊網(wǎng)路設(shè)計(jì)
功能塊圖的設(shè)計(jì)首先應(yīng)該保證主信號(hào)流的線路清晰,避免過(guò)多的信號(hào)跨接和線路方向改變。
1.3 功能的執(zhí)行控制
功能塊圖網(wǎng)路中的功能執(zhí)行控制隱含地從各功能所處的位置中表現(xiàn)出來(lái)。每一功能的執(zhí)行隱含地是由一個(gè)輸入使能EN控制,該輸入EN是一個(gè)布爾類(lèi)型變量,允許功能有選擇的求值。當(dāng)輸入EN為T(mén)RUE時(shí),該功能就執(zhí)行,否則,功能不執(zhí)行。功能的輸出ENO也是一個(gè)布爾變量,當(dāng)ENO從FALSE變成TRUE就表明功能已經(jīng)完成了求值。
1.4 跳轉(zhuǎn)和標(biāo)注
功能塊圖允許使用“Jump”功能使得功能塊圖控制從程序的一個(gè)部分跳轉(zhuǎn)到另一個(gè)由標(biāo)識(shí)符“Lable”標(biāo)識(shí)的部分繼續(xù)執(zhí)行。如下圖是一個(gè)跳轉(zhuǎn)的實(shí)例:當(dāng)GasLevel的值超過(guò)0。15時(shí),相應(yīng)的控制即轉(zhuǎn)移到有表識(shí)符GAS_ALARM的程序段繼續(xù)執(zhí)行。
1.5 結(jié)構(gòu)化文本與功能塊圖之間的轉(zhuǎn)換特點(diǎn)
功能塊圖中的大部分程序能夠轉(zhuǎn)換為結(jié)構(gòu)化文本。
結(jié)構(gòu)化文本程序能夠容易地轉(zhuǎn)化為功能、功能塊及其相關(guān)的參數(shù)值。
結(jié)構(gòu)化文本直接轉(zhuǎn)化為功能塊網(wǎng)路是很困難的,IF…THEN, CASE,FOR, WHILE,
REPEAT格式的語(yǔ)句還不能直接轉(zhuǎn)換為功能塊網(wǎng)路。
1.6 連續(xù)功能流程圖(CFC-Continuous Function Chart)
連續(xù)功能流程圖是功能塊圖的一種特殊形式,它用于描述資源的頂層結(jié)構(gòu)以及程序和功能塊對(duì)任務(wù)的分配。
連續(xù)功能流程圖和功能塊圖之間的主要區(qū)別是資源和任務(wù)分配的不同。每一功能用任務(wù)的名稱來(lái)描述,如圖所示。程序也是箱是的情況。如果一個(gè)程序內(nèi)的功能塊象它的父程序一樣在相同的任務(wù)下執(zhí)行,任務(wù)關(guān)聯(lián)是隱含的。在這種情況下,任務(wù)名稱就沒(méi)有必要顯示在功能塊中。連續(xù)功能流程圖如圖7所示。
1.7 功能塊圖應(yīng)用實(shí)例
如圖是一個(gè)功能塊應(yīng)用的實(shí)例,該實(shí)例描述了用功能塊控制空氣風(fēng)門(mén)的情況。信號(hào)ReqOpen以及ReqClose給出了所要求的風(fēng)門(mén)的位置,該位置被保存在RS雙穩(wěn)態(tài)功能塊中,來(lái)自“Position” 功能塊輸出及轉(zhuǎn)換輸出用于用于產(chǎn)生DemandOpen和DemandClose信號(hào),這些信號(hào)驅(qū)動(dòng)風(fēng)門(mén)轉(zhuǎn)動(dòng)到合適的位置。
風(fēng)門(mén)上的限位開(kāi)關(guān)OpenLS和CloseLS返回的是風(fēng)門(mén)的實(shí)際位置信號(hào)。限位開(kāi)關(guān)信號(hào)與要求的風(fēng)門(mén)位置進(jìn)行與比較,如果任何一個(gè)校對(duì)失敗,比如風(fēng)門(mén)已打開(kāi)到要求的位置,而限位開(kāi)關(guān)OpenLS處于false,延時(shí)計(jì)時(shí)器將起動(dòng)。如果風(fēng)門(mén)未按要求移動(dòng)到要求的位置并且在限定的有限時(shí)間MoveTimeOut內(nèi)不能確定限位開(kāi)關(guān)的情況,定時(shí)器Timer1將產(chǎn)生Discrepancy信號(hào)。
二. 梯形圖(LD-Ladder Diagram)
梯形圖IEC 1131-3的三種圖形化編程語(yǔ)言種一種,它可被用來(lái)描功能,功能塊和程序即程序組織單元(POU-Porgramm Orgnization Unit)的行為,以及順序功能圖(SFC - Sequential Function Charts)中的行為和轉(zhuǎn)移。
2.1 LD背景
梯形圖來(lái)源于美國(guó),它基于圖形表示的繼電器邏輯,是PLC編程中被最廣泛使用一種圖形化語(yǔ)言。梯形圖程序的左、右兩側(cè)有兩垂直的電力軌線,左側(cè)的電力軌線名義上為功率流從左向右沿著水平梯級(jí)通過(guò)各個(gè)觸點(diǎn)、功能、功能塊、線圈等提供能量,功率流的終點(diǎn)是右側(cè)的電力軌線。每一個(gè)觸點(diǎn)代表了一個(gè)布爾變量的狀態(tài),每一個(gè)線圈代表了一個(gè)實(shí)際設(shè)備的狀態(tài),功能或功能塊與IEC 1131-3中的標(biāo)準(zhǔn)庫(kù)或用戶創(chuàng)建的功能或功能塊相對(duì)應(yīng)。一簡(jiǎn)單的梯形圖程序如圖(一)所示。
2.2 IEC 1131-3的LD圖形符號(hào)
IEC 1131-3中的梯形圖(LD)語(yǔ)言是對(duì)各PLC廠家的梯形圖(LD)語(yǔ)言合理地吸收、借鑒,語(yǔ)言中的各圖形符號(hào)與各PLC廠家的基本一致。IEC 1131-3的主要的圖形符號(hào)包括:1.觸點(diǎn)類(lèi):常開(kāi)觸點(diǎn)、常閉觸點(diǎn)、正轉(zhuǎn)換讀出觸點(diǎn)、負(fù)轉(zhuǎn)換觸點(diǎn)。2. 線圈類(lèi):一般線圈、取反線圈、置位(鎖存)線圈、復(fù)位去鎖線圈、保持線圈、置位保持線圈、復(fù)位保持線圈、正轉(zhuǎn)換讀出線圈、負(fù)轉(zhuǎn)換讀出線圈。 3. 功能和功能塊:包括標(biāo)準(zhǔn)的功能和功能塊以及用戶自己定義的功能塊,圖形太多這里未給出。
2.3 IEC 1131-3的LD編程
2.3.1 在梯形圖中連接功能塊
功能塊能被連接在梯形圖的梯級(jí)中,每一功能塊有相應(yīng)的布爾輸入和輸出量。輸入量可以被梯形圖梯級(jí)直接驅(qū)動(dòng),輸出可以提供驅(qū)動(dòng)線圈的功率流。在每一個(gè)塊上至少應(yīng)有一個(gè)布爾輸入和布爾輸出以允許功率流通過(guò)這個(gè)塊。功能塊可以是標(biāo)準(zhǔn)庫(kù)中的也可以是自定義的。如下圖二是一個(gè)在梯形圖中連接功能塊以驅(qū)動(dòng)電動(dòng)馬達(dá)的實(shí)例。
2.3.2 在梯形圖中連接功能
每一個(gè)功能有一個(gè)附加的布爾輸入EN和布爾輸出ENO。EN提供了流入功能的功率流信號(hào);ENO提供了可用來(lái)驅(qū)動(dòng)其它功能和線圈的功率流。如下圖三是在梯形圖中連接功能的實(shí)例,第一個(gè)功能是在三個(gè)數(shù)中取最大,第二個(gè)功能是從第一功能輸出的最大數(shù)與1000.0比較,根據(jù)比較1000.0的大小來(lái)控制線圈COOL。
2.3.3 在梯形圖中有反饋回路
在梯形圖程序中可包含反饋回路,例如,在反饋回路中,一個(gè)或多個(gè)觸點(diǎn)值被用作功能或功能塊的輸入的情況。如圖三是在梯形圖中有反饋回路的情況。
2.3.4 梯形圖中使用跳轉(zhuǎn)和標(biāo)注
使用梯形圖的跳轉(zhuǎn)功能使得梯形圖程序可以從程序的一個(gè)部分跳轉(zhuǎn)到由一個(gè)標(biāo)識(shí)符標(biāo)識(shí)的另一部分。如下圖四是在梯形圖中使用跳轉(zhuǎn)和標(biāo)注的實(shí)例,當(dāng)變量OXYGEN或PRESSURE是OFF,控制即轉(zhuǎn)移到由SPARGE標(biāo)識(shí)的控制程序處執(zhí)行。
2.4 ST、FBD及LD之間的可移植性
簡(jiǎn)單的主要包含“與”和“或”邏輯梯形圖程序可以與結(jié)構(gòu)化文本程序轉(zhuǎn)換;在大部分的情況下,梯形圖程序可以與功能塊圖程序進(jìn)行轉(zhuǎn)換。
用結(jié)構(gòu)化文本描述的功能可以直接與梯形圖、功能塊轉(zhuǎn)換除簡(jiǎn)單的邏輯描述外,由結(jié)構(gòu)化文本程序到梯形圖程序的轉(zhuǎn)換常常是不可能的。
2.5 梯形圖編程
如圖五是一個(gè)用梯形圖編寫(xiě)的火災(zāi)報(bào)警程序。FD1,FD2和FD3 是三個(gè)火災(zāi)探測(cè)器,
MAN1是一個(gè)手動(dòng)按鈕,用來(lái)觸發(fā)火災(zāi)報(bào)警。當(dāng)三個(gè)探測(cè)器中的任兩個(gè)或三個(gè)全部探測(cè)到有火災(zāi)情況發(fā)生時(shí),于是Alarm_SR功能塊驅(qū)動(dòng)報(bào)警線圈報(bào)警。ClearAlarm按鈕清除報(bào)警。當(dāng)有一個(gè)探測(cè)器處于ON,相應(yīng)的火災(zāi)警告指示燈亮。如果該指示燈在報(bào)警清除后繼續(xù)保持亮,就表明該探測(cè)器或者有錯(cuò),或者在該探測(cè)器的附近有火災(zāi)。
三. 順序功能流程圖(SFC-Sequential Function Chart)
順序功能流程圖是IEC 1131-3三種圖形化語(yǔ)言中的一種,是一種強(qiáng)大的描述控制程序的順序行為特征的圖形化語(yǔ)言,可對(duì)復(fù)雜的過(guò)程或操作由頂?shù)降椎剡M(jìn)行輔助開(kāi)發(fā)。SFC允許一個(gè)復(fù)雜的問(wèn)題逐層地分解為步和較小的能夠被詳細(xì)分析的順序。
3.1 順序功能流程圖的基本概念
順序功能流程圖可以由步、有向連線和過(guò)渡的集合描述。如下圖反映了SFC的主要特征。
步用矩形框表示,描述了被控系統(tǒng)的每一特殊狀態(tài)。MFC中的每一步的名字應(yīng)當(dāng)是唯一的并且應(yīng)當(dāng)在MFC中僅僅出現(xiàn)一次。一個(gè)步可以是激活的,也可以是休止的,只有當(dāng)步處于激活狀態(tài)時(shí),與之相應(yīng)的動(dòng)作才會(huì)被執(zhí)行,至于一個(gè)步是否處于激活狀態(tài),則取決于上一步及過(guò)渡。
有向連線
有向連線表示功能圖的狀態(tài)轉(zhuǎn)化路線,每一步是通過(guò)有向連線連接的。
過(guò)渡
過(guò)渡表示從一個(gè)步到另一個(gè)步的轉(zhuǎn)化,這種轉(zhuǎn)化并非任意的,只有當(dāng)滿足一定的轉(zhuǎn)換條件時(shí),轉(zhuǎn)化才能發(fā)生。轉(zhuǎn)換條件可以用ST、LD或FBD來(lái)描述。轉(zhuǎn)換定義可以用ST、IL、LD或FBD來(lái)描述。過(guò)渡用一條橫線表示,可以對(duì)過(guò)渡進(jìn)行編號(hào)。
動(dòng)作(action)
每一步是用一個(gè)或多個(gè)動(dòng)作(action)來(lái)描述的。動(dòng)作包含了在步被執(zhí)行時(shí)應(yīng)當(dāng)發(fā)生的一些行為的描述,動(dòng)作用一個(gè)附加在步上的矩形框來(lái)表示。每一動(dòng)作可以用IEC的任一語(yǔ)言如ST、FBD、LD或IL來(lái)編寫(xiě)。每一動(dòng)作有一個(gè)限定器(Qulifier),用來(lái)確定動(dòng)作什么時(shí)候執(zhí)行;標(biāo)準(zhǔn)還定義了一系列限定器(Qulifier),精確地定義了一個(gè)特定與步相關(guān)的動(dòng)作什么時(shí)候執(zhí)行。每一動(dòng)作還有一個(gè)指示器變量,該變量?jī)H僅是用于注釋。動(dòng)作的表示如下圖所示:
l 轉(zhuǎn)化規(guī)則
順序功能流程圖的任一步可能是激活的,也可能是休止的,與之相應(yīng)的動(dòng)作(Action)只有在步處于激活狀態(tài)時(shí),方能被執(zhí)行,所以,步被激活和被休止的過(guò)程編確定了系統(tǒng)的行為。初始狀態(tài)是指指令運(yùn)行的開(kāi)始即被激活的那個(gè)狀態(tài),這個(gè)步的標(biāo)志為S0。每個(gè)過(guò)程都可以是有效的,也可以是無(wú)效的,只有緊接其前的各個(gè)階段都處于激活狀態(tài)時(shí),過(guò)渡才是有效的,只有同時(shí)滿足(1)過(guò)渡是有效的 (2)過(guò)渡對(duì)應(yīng)的接受特性為真,與過(guò)渡相連的下一步方能處于激活狀態(tài),同時(shí),緊接其前的各個(gè)步全部被休止。當(dāng)幾個(gè)過(guò)渡可以同時(shí)被超越時(shí),他們將同時(shí)被超越。
3.2 順序功能流程圖(SFC)的幾種主要形式
按著結(jié)構(gòu)的不同,順序功能流程圖(SFC)可分為以下幾種形式:單序列控制、同時(shí)序列控制、分支結(jié)構(gòu)序列、轉(zhuǎn)移序列和起始步。
3.3 順序功能流程圖(SFC)的程序執(zhí)行
順序功能流程圖(SFC)程序的執(zhí)行應(yīng)遵循相應(yīng)的規(guī)則,每一程序組織單元(POU)與一任務(wù)(task)相對(duì)應(yīng),任務(wù)負(fù)責(zé)周期性地執(zhí)行程序組織單元(POU)內(nèi)的IEC程序,順序功能流程圖(SFC)內(nèi)的動(dòng)作也是以同樣周期被執(zhí)行。
3.4 對(duì)不安全的SFC的處理
SFC編譯器有能力采用相應(yīng)的算法檢測(cè)到某些結(jié)構(gòu)不安全的SFC。如果一個(gè)完全整個(gè)流程圖能分解為一個(gè)單步,該SFC就是安全的,否則是不安全的。
3.5 SFC編程舉例
我們現(xiàn)在用SFC編寫(xiě)一個(gè)工業(yè)電梯(lift)程序。電梯(lift)系統(tǒng)如圖所示。電梯通過(guò)一個(gè)電動(dòng)絞車(chē)控制上升或下降,可按要求停止在任一樓層。當(dāng)電梯將到達(dá)某一被選樓層的位置時(shí),一微型接近開(kāi)關(guān)(Proximity Switch)起作用并發(fā)出信號(hào),讓電梯減速并停在正確的位置。當(dāng)電梯停下后,門(mén)微動(dòng)開(kāi)關(guān)(Floor Switches)起作用并將門(mén)打開(kāi)。該工業(yè)電梯(lift)的MFC程序如圖所示。
程序從“Init”起始步開(kāi)始。主要順序從“DoorOpen”步開(kāi)始,依次執(zhí)行“Shutting”步、“MoveLeft”步、“Inching”步、 “Stopping”步、 “Opening”步等,最終實(shí)現(xiàn)對(duì)電梯的順序控制。
本文相關(guān)信息
- [有關(guān)專(zhuān)業(yè)] 自動(dòng)化技術(shù)概述
- [有關(guān)專(zhuān)業(yè)] 自動(dòng)化技術(shù)加速縫制設(shè)備產(chǎn)業(yè)升級(jí)
- [新聞資訊] 自動(dòng)化控制系統(tǒng)和關(guān)鍵精密測(cè)試儀器國(guó)產(chǎn)化規(guī)劃論證會(huì)在北京召開(kāi)
- [新聞資訊] 自動(dòng)化市場(chǎng)08年全球規(guī)模將達(dá)640億美元
- [新聞資訊] 自動(dòng)立式壓濾機(jī)在沸石生產(chǎn)中的應(yīng)用通過(guò)鑒定
- [有關(guān)專(zhuān)業(yè)] 自動(dòng)識(shí)別技術(shù)市場(chǎng)分析(一)
- [新聞資訊] 自動(dòng)化企業(yè):直面危機(jī) 守望春暖花開(kāi)
- [新聞資訊] 自動(dòng)化軟件發(fā)展趨勢(shì)
- [新聞資訊] 自動(dòng)化軟件設(shè)計(jì)IEC 61131-3 標(biāo)準(zhǔn)專(zhuān)題(二)
- [新聞資訊] 自動(dòng)化軟件設(shè)計(jì)IEC 61131-3 標(biāo)準(zhǔn)專(zhuān)題(三)