版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
監(jiān)控與數(shù)據(jù)采集技術(shù)Ch4
SCADA系統(tǒng)應(yīng)用軟件編程與組態(tài)
由SCADA系統(tǒng)的組成可以知道,SCADA系統(tǒng)的應(yīng)用軟件開發(fā)包括:(1)人機界面軟件(中控室上位機和觸摸屏)(2)下位機應(yīng)用軟件(3)通信網(wǎng)絡(luò)組態(tài)三部分。
除了驅(qū)動定制開發(fā),通信網(wǎng)絡(luò)組態(tài)部分一般較少涉及程序開發(fā),主要是在上位機和下位機進行驅(qū)動配置與參數(shù)組態(tài),以及對網(wǎng)絡(luò)設(shè)備進行配置等。一、SCADA系統(tǒng)應(yīng)用軟件1、下位機(控制器)應(yīng)用軟件下位機由于種類繁多,應(yīng)用軟件開發(fā)平臺與控制器捆綁,因此,下位機應(yīng)用軟件開發(fā)平臺比較多。但隨著控制器標(biāo)準(zhǔn)化和編程環(huán)境一致性的增強,下位機應(yīng)用軟件開發(fā)逐步標(biāo)準(zhǔn)化,軟件的可讀性、可復(fù)用性等也有了很大程度的提升。由于下位機承擔(dān)現(xiàn)場直接控制功能,對現(xiàn)場設(shè)備進行數(shù)據(jù)采集和控制,如果下位機程序出現(xiàn)異常,可能導(dǎo)致系統(tǒng)停機,甚至發(fā)生嚴(yán)重事故,因此,下位機應(yīng)用軟件的可靠性非常重要,這就對下位機應(yīng)用軟件的開發(fā)提出了更高的要求。
目前,多數(shù)下位機編程支持IEC61131-3國際標(biāo)準(zhǔn),此外,一些常見(蓓福、貝加萊等)的編程套件還支持高級語言,甚至Matlab等。2、上位機人機界面軟件
人機界面是指人和機器在信息交換和功能上接觸或互相影響的人機結(jié)合界面,英文稱作HumanMachineInterface(HMI),有些地方稱為ManMachineInterface(MMI)。目前信息技術(shù)已經(jīng)深深地影響了人們的生活與工作,特別是隨著各種移動設(shè)備的廣泛應(yīng)用,人們幾乎時時刻刻都要通過人機界面進行人機操作。例如,在手機App上購物、在銀行ATM機上存取款等操作在工業(yè)自動化領(lǐng)域,除了控制器、變頻器等大量控制設(shè)備上集成的人機界面,還有兩種類型的人機界面被廣泛使用。(1)現(xiàn)場操作員面板/終端/觸摸屏
在制造業(yè)流水線及機床等單體設(shè)備上,大量采用了PLC作為控制設(shè)備,但是PLC自身沒有顯示、鍵盤輸入等人機交互功能,因此,通常需要配置觸摸屏或嵌入式工業(yè)計算機作為人機界面。它們通過與PLC通信,實現(xiàn)對生產(chǎn)過程的現(xiàn)場監(jiān)視和控制,方便現(xiàn)場操作人員操作,還可利用觸摸屏完成參數(shù)設(shè)置、參數(shù)顯示、報警確認(rèn)、打印等功能(2)中控室上位機人機界面SCADA系統(tǒng)中央監(jiān)控系統(tǒng)的服務(wù)器與現(xiàn)場控制站進行通信,工程師站、操作員站等需要安裝、配置對生產(chǎn)過程進行監(jiān)視、控制、報警、記錄等功能的工業(yè)控制應(yīng)用軟件,具有這樣功能的工業(yè)控制應(yīng)用軟件也稱為人機界面,這一類人機界面通常用工業(yè)控制組態(tài)軟件(后簡稱組態(tài)軟件)開發(fā)。和終端相比,上位機人機界面不存在工程下載(Download)的問題,而是直接運行在工作站(通常是商用機器、工控機、工作站或服務(wù)器)上。污水處理廠人機界面示例二、SCADA系統(tǒng)下位機編程規(guī)范IEC61131-31、傳統(tǒng)PLC編程語言的不足梯形圖語言規(guī)范不一致程序可復(fù)用性差缺乏足夠的程序封裝能力不支持?jǐn)?shù)據(jù)結(jié)構(gòu)程序執(zhí)行具有局限性難以實現(xiàn)選擇或并行等復(fù)雜順控操作傳統(tǒng)的梯形圖編程在算術(shù)運算處理、字符串或文字處理等方面均不能提供強有力的支持2、IEC61131-3標(biāo)準(zhǔn)的產(chǎn)生1992年以后,IEC陸續(xù)頒布施行可編程序控制器國際標(biāo)準(zhǔn)IEC61131的各個部分。已正式頒布的有:IEC61131-1通用信息,2003年5月出版第二版)IEC61131-2裝置要求與測試,2003年2月出版第二版)IEC61131-3編程語言,2003年1月出版第二版)IEC61131-4用戶導(dǎo)則(1995)IEC61131-5通信服務(wù)規(guī)范2000)IEC61131-7模糊控制編程軟件工具實施(2000)IEC61131-8IEC61131-3語言的應(yīng)用和實現(xiàn)導(dǎo)則(2001)
中國的工業(yè)過程測量和控制標(biāo)準(zhǔn)化委員會按與IEC國際標(biāo)準(zhǔn)等效的原則,組織翻譯出版工作。1995年12月29日頒布了PLC的國家標(biāo)準(zhǔn)GB/T15969.1,15969.2,15969.3,15969.4,涉及IEC61131的第一、第二、第三和第四部分。GB/T15969.5《通信服務(wù)規(guī)范》在2003年5月頒布出版,GB/T15969.8《IEC61131-3語言的實現(xiàn)導(dǎo)則》,已于2007年8月實施。IEC61131-3是當(dāng)今世界第一個為工業(yè)自動化控制系統(tǒng)的軟件設(shè)計提供標(biāo)準(zhǔn)化編程語言的國際標(biāo)準(zhǔn)。這顯然是注意到由于DCS等以數(shù)字技術(shù)為基礎(chǔ)的控制裝置在發(fā)展進程中過于專有化,給用戶帶來的大量不便。這一標(biāo)準(zhǔn)為可編程控制器軟件技術(shù)的發(fā)展,乃至整個工業(yè)控制軟件技術(shù)的發(fā)展,起了舉足輕重的推動作用??梢哉f,沒有編程語言的標(biāo)準(zhǔn)化,便沒有今天PLC走向開放式系統(tǒng)的堅實基礎(chǔ)。這個標(biāo)準(zhǔn)將現(xiàn)代軟件的概念和現(xiàn)代軟件工程的機制與傳統(tǒng)的PLC編程語言成功地結(jié)合,又對當(dāng)代種類繁多的工業(yè)控制器中的編程概念及語言進行了標(biāo)準(zhǔn)化。3、特點IEC61131-3允許在同一個PLC中使用多種編程語言,允許程序開發(fā)人員對每一個特定的任務(wù)選擇最合適的編程語言,還允許在同一個控制程序中不同的軟件模塊用不同的編程語言編制,以充分發(fā)揮不同編程語言的應(yīng)用特點。標(biāo)準(zhǔn)中的多語言包容性很好地正視了PLC發(fā)展歷史中形成的編程語言多樣化的現(xiàn)實,為PLC軟件技術(shù)的進一步發(fā)展提供了足夠的技術(shù)空間和自由度。4、優(yōu)勢采用現(xiàn)代軟件模塊化原則,主要內(nèi)容包括:編程語言支持模塊化,將常用的程序功能劃分為若干單元,并加以封裝,構(gòu)成編程的基礎(chǔ)。模塊化時,只設(shè)置必要的、盡可能少的輸入和輸出參數(shù),盡量減少交互作用和內(nèi)部數(shù)據(jù)交換。模塊化接口之間的交互作用均采用顯性定義。將信息隱藏于模塊內(nèi),對使用者來講只需了解該模塊的外部特性(即功能、輸入和輸出參數(shù)),而無需了解模塊內(nèi)算法的具體實現(xiàn)方法。IEC61131-3支持自頂而下(TopDown)和自底而上(BottomUp)的程序開發(fā)方法。自頂而下的開發(fā)過程是用戶首先進行系統(tǒng)總體設(shè)計,將控制任務(wù)劃分為若干個模塊,然后定義變量和進行模塊設(shè)計,編寫各個模塊的程序;自底而上的開發(fā)過程是用戶先從底部開始編程,例如先導(dǎo)出函數(shù)和功能塊,再按照控制要求編制程序。無論選擇何種開發(fā)方法,IEC61131-3所創(chuàng)建的開發(fā)環(huán)境均會在整個編程過程中給予強有力的支持。IEC61131-3所規(guī)范的編程系統(tǒng)獨立于任一個具體的目標(biāo)系統(tǒng),它可以最大限度地在不同的PLC目標(biāo)系統(tǒng)中運行。這樣不僅創(chuàng)造了一種具有良好開放性的氛圍,奠定了PLC編程開放性的基礎(chǔ),而且可以有效規(guī)避標(biāo)準(zhǔn)與具體目標(biāo)系統(tǒng)關(guān)聯(lián)而引起的利益糾葛,體現(xiàn)標(biāo)準(zhǔn)的公正性。將現(xiàn)代軟件概念濃縮,并加以運用。例如:數(shù)據(jù)使用DATA_TYPE聲明機制;功能(函數(shù))使用FUNCTION聲明機制;數(shù)據(jù)和功能的組合使用FUNCTION_BLOCK聲明機制。完善的數(shù)據(jù)類型定義和運算限制。軟件工程師很早就認(rèn)識到許多編程的錯誤往往發(fā)生在程序的不同部分,其數(shù)據(jù)的表達和處理不同。IEC61131-3從源頭上注意防止這類低級的錯誤,雖然采用的方法可能導(dǎo)致效率降低一點,但換來的價值卻是程序的可靠性、可讀性和可維護性。對程序執(zhí)行具有完全的控制能力。傳統(tǒng)的PLC只能按掃描方式順序執(zhí)行程序,對程序執(zhí)行的其他要求,如由事件驅(qū)動某一段程序的執(zhí)行、程序的并行處理等均無能為力。IEC61131-3允許程序的不同部分、在不同的條件(包括時間條件)下、以不同的比率并行執(zhí)行結(jié)構(gòu)化編程。對于循環(huán)執(zhí)行的程序、中斷執(zhí)行的程序、初始化執(zhí)行的程序等可以分開設(shè)計。此外,循環(huán)執(zhí)行的程序還可以根據(jù)執(zhí)行的周期分開設(shè)計。1、概述IEC61131-3編程語言標(biāo)準(zhǔn)分為兩部分:公用元素、編程語言公用元素部分給出軟件模型和編程模型,引入配置、資源、任務(wù)和存取路徑等基本概念。說明各種編程語言中使用的字符集、標(biāo)識符、關(guān)鍵字等,定義數(shù)據(jù)的外部表示、數(shù)據(jù)類型、變量和程序組織單元等,定義順序功能表圖的基本元素等。編程語言部分定義了兩大類編程語言:文本化編程語言和圖形化編程語言三、IEC61131-3標(biāo)準(zhǔn)的主要內(nèi)容圖6.1IEC61131-3標(biāo)準(zhǔn)的層次與結(jié)構(gòu)語言元素表6.1語言元素示例語言元素含義示例分界符具有不同含義的專用字符(,),=,+,-,*,$,;,:=,#,空格符關(guān)鍵字標(biāo)準(zhǔn)標(biāo)識符,作為編程語言中的“字”RETAIN,CONFIGURATION,END_VAR,FUNCTION,PROGRAM直接量用于表示不同數(shù)據(jù)類型的數(shù)值78,4.372E-5,16#a5標(biāo)識符字母數(shù)字字符串,用于用戶指定的變量名、標(biāo)號或POU等MW212,Doutput1,SwitchIn,realyout,P1_V3關(guān)鍵字關(guān)鍵字(keyword)是語言元素特征化的詞法單元。關(guān)鍵字是標(biāo)準(zhǔn)標(biāo)志符。在IEC61131-3標(biāo)準(zhǔn)中,關(guān)鍵字是結(jié)構(gòu)聲明和語句的固定符號表示法,其拼寫和含義均由IEC61131-3標(biāo)準(zhǔn)明確規(guī)定。因此,關(guān)鍵字不能用于用戶定義的變量或其他名稱。這一點與高級編程語言是一致的。關(guān)鍵字不區(qū)分字母的大、小寫。例如,關(guān)鍵字“FOR”和“for”是等價的。為了更好地進行區(qū)別,關(guān)鍵字通常以大寫字母表示。表6.3所示為關(guān)鍵字及其含義。關(guān)鍵字主要包括:基本數(shù)據(jù)類型的名稱、標(biāo)準(zhǔn)功能名、標(biāo)準(zhǔn)功能塊名、標(biāo)準(zhǔn)功能的輸入?yún)?shù)名、標(biāo)準(zhǔn)功能塊的輸入和輸出參數(shù)名、圖形編程語言中的EN和ENO變量、指令表語言中的運算符、結(jié)構(gòu)化文本語言中的語言元素、順序功能圖語言中的語言元素。直接量直接量用來表示常數(shù)變量的數(shù)值,其格式取決于變量的數(shù)據(jù)類型。直接量有3種基本類型:數(shù)字直接量字符串直接量時間直接量標(biāo)識符標(biāo)識符(identifier)是字母、數(shù)字和下劃線字符的組合。其開始必須是字母或下劃線字符,并被命名為語言元素(LanguageElement)。標(biāo)識符對字母的大、小寫不敏感,所以標(biāo)識符ABCD和abcD具有相同的意義。標(biāo)識符用于表示變量、標(biāo)號,以及功能、功能塊、程序組織單元等名稱。2、數(shù)據(jù)類型與變量(1)數(shù)據(jù)類型
IEC61131-3對數(shù)據(jù)類型進行了定義,從而防止對數(shù)據(jù)類型的不同設(shè)置而發(fā)生出錯。數(shù)據(jù)類型的標(biāo)準(zhǔn)化是編程語言開放性的重要標(biāo)準(zhǔn)。在IEC61131-3中定義一般數(shù)據(jù)類型和非一般數(shù)據(jù)類型兩類。非一般數(shù)據(jù)類型又可分為基本數(shù)據(jù)類型和衍生數(shù)據(jù)類型?;緮?shù)據(jù)類型有21種。數(shù)據(jù)類型與它在數(shù)據(jù)存儲器中所占用的數(shù)據(jù)寬度有關(guān)。
一般數(shù)據(jù)類型的數(shù)據(jù)用前綴“ANY”標(biāo)識,用于標(biāo)準(zhǔn)函數(shù)和標(biāo)準(zhǔn)功能塊的輸入和輸出連接。它采用分級結(jié)構(gòu)。衍生數(shù)據(jù)類型是由用戶定義的數(shù)據(jù)類型,它建立在基本數(shù)據(jù)類型的基礎(chǔ)上,也稱為導(dǎo)出數(shù)據(jù)類型。這類數(shù)據(jù)類型所定義的變量是全局變量。它可用與基本數(shù)據(jù)類型所使用的相同方法對變量進行聲明。在IEC61131-3標(biāo)準(zhǔn)中,變量分為單元素變量和多元素變量。(2)變量
與數(shù)據(jù)的外部表示相反,變量提供能夠改變其內(nèi)容的數(shù)據(jù)對象的識別方法。例如,可改變與PLC輸入、輸出或存儲器有關(guān)的數(shù)據(jù)。變量可以被聲明為基本數(shù)據(jù)類型、一般數(shù)據(jù)類型和導(dǎo)出數(shù)據(jù)類型。變量的類型和屬性變量的附加屬性3、程序組織單元及其組成圖
程序組織單元(1)程序組織單元概述表6.2IEC61131-3標(biāo)準(zhǔn)的3中POU及其含義類型關(guān)鍵字含義ProgramPROGRAM主程序,包括I/O的分配、全局變量和存取路徑FunctionBlockFUNCTION_BLOCK帶輸入和輸出變量的塊FunctionFUNCTION具有功能值的塊,用于擴展PLC的基本預(yù)算和操作集圖POU元素構(gòu)成聲明部分
定義程序組織單元內(nèi)所使用的變量,應(yīng)注意區(qū)別程序組織單元接口變量和程序組織單元局部變量。在程序組織單元的代碼部分,使用編程語言對邏輯電路或算法進行編程。
在IEC61131-3中,變量用于初始化、處理和存儲用戶數(shù)據(jù)。在每個程序組織單元的開始部分必須聲明變量,變量賦予的數(shù)據(jù)類型必須是已知的。
對不同的數(shù)據(jù)類型,程序組織單元變量的聲明部分分為不同的段,每個聲明部分對應(yīng)于一種變量類型,并可以包括一種或多種變量。接口部分
程序組織單元接口以及在程序組織單元中使用的局部數(shù)據(jù)區(qū)是借助于在聲明塊中將程序組織單元變量賦予變量類型進行定義的。程序組織單元接口分為以下幾個部分:調(diào)用接口:形式參數(shù)(輸入和輸入/輸出參數(shù))返回值:輸出參數(shù)或功能返回值全局接口:帶有全局/外部變量和存取路徑調(diào)用接口的變量也稱為形式參數(shù)。調(diào)用一個程序組織單元時,形式參數(shù)為實際參數(shù)代替,形式參數(shù)被賦予實際值或常數(shù)。代碼部分程序組織單元的指令或代碼部分緊接聲明部分,它包含PLC執(zhí)行的指令??梢岳肐EC61131-3提供的5種編程語言來編寫代碼,根據(jù)程序要完成的不同的功能要求和任務(wù)特點,合理利用這些編程語言來編寫代碼,從而完成適合于不同的控制任務(wù)和應(yīng)用領(lǐng)域的程序編寫。幾種組織單元的調(diào)用功能無“記憶/存儲”能力,而功能塊要求有“記憶/存儲”能力,因此,功能是不能調(diào)用功能塊的(2)功能
功能是一種可以賦予參數(shù),但沒有靜態(tài)變量的程序組織單元。有些書籍或文獻也稱功能為函數(shù)。當(dāng)用相同的輸入?yún)?shù)調(diào)用某一功能時,該功能總能夠生成相同的結(jié)果作為其功能值。功能有多個輸入變量,沒有輸出變量,但有一個功能值作為該功能的返回值。功能由功能名和一個表達式組成。功能分為標(biāo)準(zhǔn)功能和用戶定義功能(衍生功能)。
IEC61131-3標(biāo)準(zhǔn)定義了8類標(biāo)準(zhǔn)功能八種標(biāo)準(zhǔn)功能(1)類型轉(zhuǎn)換功能:數(shù)據(jù)類型的轉(zhuǎn)換(2)數(shù)值類功能:對數(shù)值變量進行數(shù)學(xué)運算(3)算術(shù)類功能:計算多個輸入變量的算術(shù)功能(4)位串類功能:包括串移位運算和位串的按位布爾功能。(5)選擇和比較類功能:根據(jù)條件來選擇輸入信號作為輸出返回值。(6)字符串類功能:字符串功能用于對輸入的字符串進行處理,(7)時間數(shù)據(jù)類功能(8)枚舉數(shù)據(jù)類型的功能功能的結(jié)構(gòu)功能的文字形式可以表示為:FUNCTION功能名:返回的數(shù)據(jù)類型功能聲明部分功能本體部分END_FUNCTION功能的例子FUNCTIONSIMPLE_FUN:REALVAR_INPUTA,B
:REAL; C
:REAL:=1.0END_VARSIMPLE_FUN:=A*B/C;ENDFUNCTION(4)功能塊
功能塊是在執(zhí)行時能夠產(chǎn)生一個或多個值的程序組織單元。功能塊實例化是編程人員在功能塊說明部分用指定功能塊名和相應(yīng)的功能塊類型來建立功能塊的過程。每個功能塊實例有它的功能塊名、內(nèi)部變量、輸出變量及可能的輸入變量數(shù)據(jù)結(jié)構(gòu)。該數(shù)據(jù)結(jié)構(gòu)的輸出變量和必要的內(nèi)部變量的值能夠從這次執(zhí)行保護到下一次執(zhí)行。功能塊實例的外部只有輸入和輸出變量是可存取的。功能塊內(nèi)部變量對用戶來說是隱藏的。功能塊圖形表示圖6.5功能塊的圖形表示功能塊包括:標(biāo)準(zhǔn)功能塊衍生功能塊用戶定義功能塊
衍生功能塊是利用標(biāo)準(zhǔn)功能塊創(chuàng)造的新功能塊。IEC61131-3允許用戶利用已有的功能塊和功能生成新的功能塊。任意功能塊均可采用便于管理且功能更簡單的功能和/或功能塊進行編程。
IEC61131-3中定義了5種標(biāo)準(zhǔn)功能塊。五種標(biāo)準(zhǔn)功能塊(1)雙穩(wěn)元素功能塊(2)邊緣檢測功能塊(3)計數(shù)器功能塊(4)定時器功能塊(5)通信功能塊功能塊段的文字形式可以表示為:FUNCTION_BLOCK功能塊名功能塊聲明功能塊體END_FUNCTION_BLOCK功能與功能塊區(qū)別
功能和功能塊的主要區(qū)別在于,相同輸入?yún)?shù)調(diào)用時,功能總是產(chǎn)生相同的結(jié)果(功能值),功能沒有“記憶”特性。
功能有輸入變量,沒有輸出變量,但有一個功能值作為該功能的返回值;而功能塊可以有輸入和輸出變量。
功能塊可以調(diào)用功能,而功能不能調(diào)用功能塊。
(5)程序
程序是程序組織單元之一,它由功能和功能塊組成。PROGRAM類型的程序組織單元稱為主程序。在一個多CPU的PLC控制系統(tǒng)中,能同時執(zhí)行多個主程序,這一點體現(xiàn)了程序與功能塊的不同。程序代表PLC用戶的最高層,能存取PLC的I/O口,并能使它們能為其它程序組織單元所存取。IEC61131-3標(biāo)準(zhǔn)使用變量以存儲信息。但是,它們的存儲位置不再需要由用戶自行定義,而是由編程系統(tǒng)自行進行管理,每個變量具有固定的數(shù)據(jù)類型。IEC61131-3規(guī)定若干數(shù)據(jù)類型,這些數(shù)據(jù)類型在位數(shù)量和符號的使用方面有所不同。程序以PROGRAM關(guān)鍵字開始,隨后是程序名、程序聲明和程序體,最后以END_PROGRAM關(guān)鍵字結(jié)束。與功能或功能塊的聲明類似,程序聲明包括在整個程序聲明中所使用變量的聲明。圖6.6IEC61131-3標(biāo)準(zhǔn)的軟件模型4、軟件、通信和功能模型(1)軟件模型軟件模型描述基本的軟件元素及其相互關(guān)系。這些元素包括:程序組織單元,即程序和功能塊組態(tài)元素,即配置、資源、任務(wù)、全局變量和存取路徑。它是現(xiàn)代PLC的軟件基礎(chǔ)該模型描述了如何將一個復(fù)雜程序分解為若干小的可管理部分,并在各分解部分之間有清晰和規(guī)范的接口的方法。IEC61131-3軟件模型分為輸入輸出界面、通信界面和系統(tǒng)界面輸入輸出界面:每個PLC都要讀取來自實際過程的輸入信號和輸出控制信號通信界面:PLC需要與其它設(shè)備、包括PLC、計算機、人機界面等,提供操作顯示畫面和操作面板等系統(tǒng)界面:是PLC的軟件和硬件之間的界面(2)主要內(nèi)容1)配置(Configuration)
語言元素(結(jié)構(gòu)元素),相當(dāng)于IEC61131-1標(biāo)準(zhǔn)定義的PLC系統(tǒng)。位于軟件模型的最上層,等同于一個PLC軟件或應(yīng)用程序多臺PLC構(gòu)成的一個控制系統(tǒng)中,每一臺PLC的應(yīng)用程序都是一個獨立的配置配置將系統(tǒng)內(nèi)所有資源結(jié)合成組,為資源提供數(shù)據(jù)交換的手段一個配置可有多個資源,配置中定義該配置的全局變量、資源、存取路徑等,它反映PLC的硬件物理結(jié)構(gòu),為程序與物理I/O通道之間提供接口2)資源(Resource)
語言元素,結(jié)構(gòu)元素位于軟件模型的第二層,等同于一個CPU為程序和PLC物理輸入輸出通道提供接口程序只有裝入資源才能執(zhí)行一個資源具有“信號處理功能”、“人機接口功能”和“傳感器和執(zhí)行器接口功能”資源聲明在該資源內(nèi)的全局變量、任務(wù)和程序聲明等每個資源可以支持多于一個程序。資源使PLC能夠加載、啟動和執(zhí)行許多總體獨立的程序3)任務(wù)(Task)
語言元素,結(jié)構(gòu)元素位于軟件模型第三層。規(guī)定程序組織單元在運行期的特性任務(wù)是執(zhí)行控制元素,具有調(diào)用能力。它控制一系列程序組織單元周期地執(zhí)行,或者根據(jù)一個特定的事件觸發(fā)來執(zhí)行任務(wù)有任務(wù)名和三個輸入?yún)?shù)★SINGAL:事件觸發(fā)輸入端,上升沿觸發(fā)與任務(wù)相關(guān)聯(lián)的程序組織單元執(zhí)行一次★INTERVAL:周期執(zhí)行時的時間間隔。該任務(wù)的有關(guān)程序組織單元按該時間間隔周期執(zhí)行★PRIORITY:對任務(wù)設(shè)置的優(yōu)先級,0表示最高優(yōu)先級
任務(wù)(Task)的執(zhí)行無優(yōu)先級執(zhí)行優(yōu)先級最高的POU先執(zhí)行同等優(yōu)先級的根據(jù)等待時間最長的POU先執(zhí)行優(yōu)先級執(zhí)行較低優(yōu)先級程序組織單元的執(zhí)行被延緩不能中斷具有同樣優(yōu)先級或較高優(yōu)先級的其他單元的執(zhí)行由任務(wù)使能的程序組織單元實施的控制遵循下列原則:SINGAL不為零,表示是事件觸發(fā)的單任務(wù)INTERVAL不為零,SINGAL為零,該任務(wù)結(jié)合的程序組織單元周期執(zhí)行多個任務(wù)執(zhí)行時,PRIORITY數(shù)值小的任務(wù)先被執(zhí)行相同優(yōu)先級的多個任務(wù),等待時間長的程序組織單元先被執(zhí)行沒有任務(wù)結(jié)合的程序具有最低的優(yōu)先級,在資源開始執(zhí)行前執(zhí)行與任務(wù)沒有直接結(jié)合的功能塊實例根據(jù)求值次序執(zhí)行與任務(wù)結(jié)合的功能塊實例的執(zhí)行與求值規(guī)則無關(guān)數(shù)據(jù)同步規(guī)則
?功能塊執(zhí)行時,來自其他功能塊的所有輸入采用同樣的求值結(jié)果
?同一功能塊的輸出送到兩個或多個功能塊,全部目的功能塊與任務(wù)有顯式或隱式的結(jié)合,則目的功能塊輸入信號在求值時間內(nèi),與源功能塊有同樣的求值結(jié)果4)全局變量(GLOBALVARIABLE)
全局變量能用于整個工程項目,可被該工程內(nèi)所有軟件元素存取。在配置聲明段聲明的全局變量能夠用于該配置在資源聲明段聲明的全局變量能夠用于該資源在一個系統(tǒng)中不能有相同名稱的兩個全局變量在程序組織單元中需要對所用的全局變量用外部變量聲明全局變量用于與其他網(wǎng)絡(luò)進行數(shù)據(jù)交換
VAR_GLOBAL
全局變量聲明
END_VAR5)存取路徑變量(ACCESSVARIABLE)
存取路徑變量用于將全局變量、直接表示變量和功能塊的輸入、輸出和內(nèi)部變量聯(lián)系起來,實現(xiàn)信息的存取它提供在不同配置之間交換數(shù)據(jù)和信息的方法,每一配置內(nèi)的變量可被其它遠程配置存取。兩種存取方法:讀寫(READ_WRITE)方式和只讀(READ_ONLY)VAR_ACCESS
存取路徑變量名:外部存取的變量:存取路徑的數(shù)據(jù)類型和存取方式END_VAR6)軟件模型的特點能夠靈活地用于寬范圍的不同的PLC體系,通用性強。適合小規(guī)模系統(tǒng)和大規(guī)模分散系統(tǒng)在一臺PLC上可以同時裝載、啟動和執(zhí)行多個獨立程序。標(biāo)準(zhǔn)允許一個配置內(nèi)有多個資源,每個資源可支持多個程序。傳統(tǒng)的PLC程序只能同時運行一個程序增強了分級設(shè)計的分解。一個復(fù)雜程序可以通過分層分解,最終分解為可管理的程序組織單元。程序可被定義為一個功能塊和函數(shù)的網(wǎng)絡(luò)。軟件能夠被設(shè)計成可重復(fù)使用的程序組織單元。實現(xiàn)對程序執(zhí)行的完全控制能力可經(jīng)通信網(wǎng)絡(luò)提供交換信息的工具(2)用戶程序結(jié)構(gòu)▲傳統(tǒng)PLC用戶程序結(jié)構(gòu)采用各種功能模塊組織塊OB功能塊FB功能FC數(shù)據(jù)塊DB系統(tǒng)功能塊SFB系統(tǒng)功能SFC▲IEC標(biāo)準(zhǔn)規(guī)定用戶程序結(jié)構(gòu)采用程序組織單元程序組織單元ProgramOrganizationUnit程序Program功能塊FunctionBlock功能Function標(biāo)準(zhǔn)功能塊用戶功能塊標(biāo)準(zhǔn)功能用戶功能程序塊PB采用程序組織單元的優(yōu)點可對每個應(yīng)用領(lǐng)域設(shè)置用戶的功能塊庫,便于工程的應(yīng)用??蓪δ軌K進行測試和記錄。能夠提供全球范圍內(nèi)的庫存取功能??筛淖兙幊?,用于建立功能塊網(wǎng)絡(luò)??芍貜?fù)使用,使用的次數(shù)無限制??晒?jié)省工廠投資成本傳統(tǒng)的PLC模型僅包括一個資源,運行一個任務(wù),控制一個程序,且運行于一個封閉系統(tǒng)中。對PLC的使用者來說,除可通過編制程序來控制外,輸入采樣、輸出設(shè)置和PLC例行程序均是不可見、不可控的。(3)與傳統(tǒng)PLC軟件模型比較
而IEC61131-3的軟件模型從理論上描述了將一個復(fù)雜程序如何分解為若干小的不同的可管理部分,并在各分解部分之間有清晰和規(guī)范的接口方法。
為使標(biāo)準(zhǔn)的規(guī)定適應(yīng)寬泛的應(yīng)用范圍,又能被PLC制造廠商樂意接受和支持,IEC61133-3規(guī)定了二大類編程語言:文本化編程語言:指令清單語言(IL)(用的很少,新標(biāo)準(zhǔn)很可能取消)結(jié)構(gòu)化文本語言(ST)圖形化編程語言:梯形圖語言(LD)功能塊圖語言(FBD)連續(xù)功能圖(CFC)SFC放在通用部分,不僅作為編程語言,還可以看作一種程序設(shè)計方法四、IEC61131-3標(biāo)準(zhǔn)的編程語言
IEC61131-3標(biāo)準(zhǔn)是一個強有力的、靈活的、可移植的、開放性的工業(yè)控制編程語言國際標(biāo)準(zhǔn)。目前,歐美等西方國家都致力于IEC61131-3標(biāo)準(zhǔn)的推廣與應(yīng)用,市場上基于這個標(biāo)準(zhǔn)的產(chǎn)品較多,德國KW公司的MULTIPROG(被德國菲尼克斯公司收購)德國Infoteam的OPenPCS德國3S公司的CoDeSys等
這些軟件的開發(fā)商都不生產(chǎn)控制系統(tǒng)硬件產(chǎn)品,而是專著于IEC61131-3標(biāo)準(zhǔn)的控制系統(tǒng)編程環(huán)境開發(fā)。這也是這些產(chǎn)品都具有很好的移植功能,適合于多種軟、硬件平臺的原因之一。三菱電機、歐姆龍、施耐德、研華、和利時、匯川等國內(nèi)外控制器生產(chǎn)商都和這些廠家有所合作,并推出面向自家產(chǎn)品的編程平臺。
除了這些商業(yè)軟件,市場上還出現(xiàn)了符合IEC61131-3標(biāo)準(zhǔn)的開源軟件,如Beremiz。MULTIPROG羅克韋爾Studio5000LogixDesigner羅克韋爾Studio5000LogixDesigner圖6.7不同編程語言實現(xiàn)相同的功能示例(1)梯形圖語言梯形圖語言是從繼電器-接觸器控制基礎(chǔ)上發(fā)展起來的一種編程語言,其特點是易學(xué)易用,歷史悠久。特別是對于具有電氣控制背景的人而言,梯形圖可以看作是繼電邏輯圖的軟件延伸和發(fā)展。盡管兩者的結(jié)構(gòu)非常類似,但梯形圖軟件的執(zhí)行過程與繼電器硬件邏輯的連接是完全不同的。
(2)功能塊圖
功能塊圖編程語言是將各種功能塊連接起來實現(xiàn)所需控制功能。功能塊圖編程語言源于信號處理領(lǐng)域。功能塊圖編程語言是IEC61499標(biāo)準(zhǔn)的基礎(chǔ)。功能塊圖語言在過程控制中的應(yīng)用更加廣泛。它用一系列相互連接的圖形塊表達功能、功能塊和程序的行為,就如同在電子電路圖常見的一樣。也可以將它想像為用許多處理元件之間的信號流量圖來描述一個系統(tǒng)的行為。功能塊圖編程語言的圖形符號有功能、功能塊和連接元素組成。
功能塊圖的應(yīng)用實例功能塊圖的內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)當(dāng)實際液位測量值小于等于所設(shè)定的最小液位時,輸出一個ON信號;當(dāng)測量值大于等于最高液位時,輸出一個OFF信號。當(dāng)然,由于液體不可能同時低于最低位和高于最高位,程序中用“RS”或“SR”功能塊都可以。(3)結(jié)構(gòu)化文本語言(ST)結(jié)構(gòu)化文本語言(ST)是高層編程語言,類似于PASCAL編程語言。它不采用底層的面向機器的操作符,而是采用高度壓縮的方式提供大量抽象語句來描述復(fù)雜控制系統(tǒng)的功能。一般而言,它可以用來描述功能、功能塊和程序的行為,也可以在SFC中描述步、動作塊和轉(zhuǎn)移的行為。
相比較而言,它特別適合于定義復(fù)雜的功能塊。這是因為它具有很強的編程能力,可方便地對變量賦值,調(diào)用功能和功能塊,創(chuàng)建表達式,編寫條件語句和迭代程序等。
結(jié)構(gòu)化文本語言編寫的程序格式自由,可在關(guān)鍵詞與標(biāo)識符之間的任何地方插入制表符、換行符和注釋。它還具有易學(xué)易用、易讀易理解的特點
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度創(chuàng)新股權(quán)買賣合同范本3篇
- 2024年貸款中介服務(wù)協(xié)議標(biāo)準(zhǔn)版版B版
- 2024年蘋果數(shù)據(jù)安全與隱私保護合作協(xié)議3篇
- 2024版委托代理協(xié)議書3篇
- 2024版女方不遵守離婚協(xié)議書
- 2024版建筑工程設(shè)計委托合同3篇
- 蘇東坡人物介紹下載
- 2024年鐵礦探礦權(quán)轉(zhuǎn)包合同范本3篇
- 2024年跨境電商業(yè)務(wù)抵押貸款合同范本3篇
- 二零二五年度專業(yè)市場店面承包合同協(xié)議書含年度市場運營管理3篇
- 2023北師大版六年級上冊數(shù)學(xué)期末試卷(共8套)
- 企業(yè)的涉稅風(fēng)險
- 武漢大學(xué)抬頭信簽紙
- 新人教版七年級下冊生物每課知識點總結(jié)
- 印刷作業(yè)指導(dǎo)書
- 浙江產(chǎn)業(yè)帶分布情況
- 2022年農(nóng)業(yè)示范基地建設(shè)工作總結(jié)
- 硬筆書法比賽方案精選
- 火力發(fā)電廠山谷型干貯灰場設(shè)計
- 柳宗元毛筆楷書字帖
- 電伴熱帶熱計算表xls
評論
0/150
提交評論