浙大中控DCS形化編程講義課件_第1頁(yè)
浙大中控DCS形化編程講義課件_第2頁(yè)
浙大中控DCS形化編程講義課件_第3頁(yè)
浙大中控DCS形化編程講義課件_第4頁(yè)
浙大中控DCS形化編程講義課件_第5頁(yè)
已閱讀5頁(yè),還剩244頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2006年度產(chǎn)品和技術(shù)培訓(xùn)

圖形化編程主講人:孫志明2006年度產(chǎn)品和技術(shù)培訓(xùn)

圖形化編程主講人:孫志明一、圖形化軟件概述一、圖形化軟件概述圖形化組態(tài)的作用?編寫自定義控制方案,如精餾、聯(lián)鎖反應(yīng)、燃燒等圖形化組態(tài)的作用?編寫自定義控制方案,如精餾、聯(lián)鎖反應(yīng)、燃燒四種編程語(yǔ)言梯形圖(LD)順控圖(SFC)功能塊圖(FBD)ST語(yǔ)言四種編程語(yǔ)言梯形圖(LD)啟動(dòng)方式推薦方式:通過(guò)單擊組態(tài)軟件的算法,彈出自定義控制算法設(shè)置對(duì)話框,點(diǎn)擊圖形編程中的“編輯”,啟動(dòng)圖形化編程軟件;啟動(dòng)方式推薦方式:通過(guò)單擊組態(tài)軟件的算法,彈出自定義控制算法軟件操作界面

工程欄信息欄工具欄菜單欄編輯區(qū)編譯成功提示編譯出錯(cuò)提示狀態(tài)欄

軟件操作界面

工程欄信息欄工具欄菜單欄編輯區(qū)編譯成功提示編譯幫助菜單項(xiàng)簡(jiǎn)介幫助菜單項(xiàng)簡(jiǎn)介二、圖形化編程基礎(chǔ)

二、圖形化編程基礎(chǔ)

主要內(nèi)容:工程、段落、區(qū)段編程基本步驟程序運(yùn)行原理及執(zhí)行次序工程管理數(shù)據(jù)類型變量系統(tǒng)資源培訓(xùn)什么?主要內(nèi)容:工程、段落、區(qū)段培訓(xùn)什么?

工程、段落、區(qū)段浙大中控DCS形化編程講義課件工程SControl用一個(gè)工程(Project)描述一個(gè)控制站的所有程序。每個(gè)工程唯一對(duì)應(yīng)一個(gè)控制站,工程必須指定其對(duì)應(yīng)的控制站地址。工程SControl用一個(gè)工程(Project)描述一個(gè)控制段落工程包含一個(gè)或多個(gè)段落(Section)。SControl通過(guò)任務(wù)管理來(lái)管理多個(gè)段落文件,在工程文件中保存配置信息。段落是通常意義上的一個(gè)文檔,是組成工程的基本單位。新建段落時(shí)必須指定段落的編輯類型和程序類型。段落工程包含一個(gè)或多個(gè)段落(Section)。區(qū)段區(qū)段指在同一段落中有數(shù)據(jù)信號(hào)相連的元素的總和。一個(gè)段落可以包含一個(gè)或多個(gè)區(qū)段(SFC段落只有一個(gè)區(qū)段)。區(qū)段只是一個(gè)表示段落中元素間關(guān)系的概念,新建區(qū)段不會(huì)生成任何新文件。區(qū)段區(qū)段指在同一段落中有數(shù)據(jù)信號(hào)相連的元素的總和。工程、段落和區(qū)段的關(guān)系工程段落區(qū)段工程、段落和區(qū)段的關(guān)系工程段落區(qū)段組態(tài)文件說(shuō)明軟件(產(chǎn)生文件)文件擴(kuò)展名文件說(shuō)明SControl軟件

.PRJ工程文件.FBDFBD文件.LADLAD文件.SFCSFC文件.BIN二進(jìn)制代碼文件.C臨時(shí)文件.H臨時(shí)文件.EXP.EXT模塊導(dǎo)出文件組態(tài)文件說(shuō)明軟件(產(chǎn)生文件)文件擴(kuò)展名文件說(shuō)明.PRJ文件保存路徑

一個(gè)組態(tài)的相關(guān)文件必須保存在正確的文件夾下,否則在組態(tài)中進(jìn)行聯(lián)編時(shí)會(huì)出錯(cuò)。段落文件須保存在工程文件夾下;工程文件與工程文件夾須保存在組態(tài)文件夾下的“Control”文件夾下;“Control”文件夾須保存在組態(tài)文件夾下。文件保存路徑

一個(gè)組態(tài)的相關(guān)文件編程基本步驟浙大中控DCS形化編程講義課件基本步驟

建立圖形化組態(tài)工程并與系統(tǒng)組態(tài)軟件建立關(guān)聯(lián);根據(jù)控制方案的特點(diǎn)及需要選擇合適的編輯器在建好的工程中新建段落,在段落中編寫程序,編寫的過(guò)程中進(jìn)行保存;程序編寫完畢后,通過(guò)編譯檢查程序語(yǔ)法錯(cuò)誤,修改程序至程序編譯無(wú)誤;將程序下載到主控卡,聯(lián)機(jī)調(diào)試程序,使程序運(yùn)行時(shí)符合控制方案的要求;基本步驟

建立圖形化組態(tài)工程并與系統(tǒng)組態(tài)軟件建立關(guān)聯(lián);程序運(yùn)行原理及執(zhí)行次序

圖形化自定義程序下載到控制站后,每隔一個(gè)運(yùn)行周期運(yùn)行一次。

控制站執(zhí)行程序時(shí),先判斷段落的執(zhí)行次序,對(duì)于段落中的執(zhí)行次序,先判斷區(qū)段的執(zhí)行次序,然后再判斷區(qū)段中各個(gè)編程元素的執(zhí)行次序。

程序運(yùn)行原理及執(zhí)行次序

圖形化自定義程序下載到控制站后,每隔新建工程新建工程工程與組態(tài)關(guān)聯(lián)

工程與組態(tài)關(guān)聯(lián)

段落新建及保存

段落新建及保存

按編輯類型可將段落分類為FBD段落LD段落SFC段落ST語(yǔ)言段落按程序類型分可將段落分類為:程序段落模塊段落程序類型和段類型按編輯類型可將段落分類為程序類型和段類型任務(wù)管理SControl以系統(tǒng)組態(tài)軟件中設(shè)置的控制周期為1Ts,即:如果在系統(tǒng)組態(tài)軟件的組態(tài)過(guò)程中設(shè)置了控制周期為0.1s,則1Ts=0.1s.用戶還可通過(guò)操作“移到隊(duì)首”、“上移”、“下移”、“移到隊(duì)尾”等操作設(shè)置同一運(yùn)行周期各程序運(yùn)行的優(yōu)先級(jí),即排在隊(duì)列靠前的同一運(yùn)行周期程序比排在隊(duì)列靠后的程序優(yōu)先執(zhí)行。不同運(yùn)行周期的程序之間的優(yōu)先級(jí)無(wú)法比較。任務(wù)管理可以對(duì)每個(gè)段落設(shè)置密碼進(jìn)行保護(hù)

只有當(dāng)編輯界面打開(kāi)后,才可以進(jìn)行設(shè)置密碼和刪除密碼的操作。

可以對(duì)每個(gè)段落設(shè)置密碼進(jìn)行保護(hù)只有當(dāng)編輯界面打開(kāi)后,才可以練習(xí)請(qǐng)大家花5分鐘的時(shí)間:1、熟悉軟件界面2、新建一個(gè)工程3、使用不同的編輯器建立幾個(gè)段落4、改變段落的執(zhí)行周期5、調(diào)整段落的執(zhí)行次序練習(xí)請(qǐng)大家花5分鐘的時(shí)間:數(shù)據(jù)類型圖形化軟件提供的變量數(shù)據(jù)類型數(shù)據(jù)類型圖形化軟件提供的變量數(shù)據(jù)類型半浮點(diǎn)——2字節(jié)半浮點(diǎn)——2字節(jié)數(shù)據(jù)類型編輯器SControl內(nèi)置數(shù)據(jù)類型編輯器,用戶可以用數(shù)據(jù)類型編輯器生成自己的數(shù)據(jù)類型,并可以在任何編輯變量類型的地方使用。系統(tǒng)內(nèi)已預(yù)定義了部分?jǐn)?shù)據(jù)類型,這些數(shù)據(jù)類型只讀,用戶無(wú)法修改刪除。數(shù)據(jù)類型編輯器SControl內(nèi)置數(shù)據(jù)類型編輯器,用戶可以用浙大中控DCS形化編程講義課件問(wèn)題?模擬量輸入信號(hào)數(shù)據(jù)類型?

structAI模擬量輸入信號(hào)的PV成員數(shù)據(jù)類型?

SFLOAT開(kāi)關(guān)量輸入信號(hào)數(shù)據(jù)類型?

structDI開(kāi)關(guān)量輸入信號(hào)的VAL成員數(shù)據(jù)類型?

BOOL問(wèn)題?模擬量輸入信號(hào)數(shù)據(jù)類型?變量分類變量按結(jié)構(gòu)分為:基本變量:基本數(shù)據(jù)類型(如BOOL、SFLOAT、INT等)構(gòu)成的變量稱為基本變量。復(fù)合變量:復(fù)合數(shù)據(jù)類型(如結(jié)構(gòu)體、數(shù)組等)所對(duì)應(yīng)的變量為復(fù)合變量。變量分類變量按結(jié)構(gòu)分為:變量分類變量按作用范圍分為:組態(tài)中定義的變量;全局變量(“工程”菜單下“變量編輯器”中定義);私有變量(“對(duì)象”菜單下“變量定義”中定義);輸入變量與輸出變量(“對(duì)象”菜單下“變量定義”中定義);變量分類變量按作用范圍分為:變量聲明變量聲明變量作用范圍SCControl中可以使用的變量有四類:組態(tài)中定義的變量作用范圍:整個(gè)組態(tài),包括圖形化工程和SCX語(yǔ)言程序、操作組態(tài)全局變量作用范圍:整個(gè)圖形化工程,包括各個(gè)段落私有變量作用范圍:只在該段落起作用輸入變量與輸出變量作用范圍:只在自定義段落起作用變量作用范圍SCControl中可以使用的變量有四類:變量查找根據(jù)所查找目標(biāo)數(shù)據(jù)源的分類(當(dāng)前段、當(dāng)前工程)進(jìn)行變量、位號(hào)以及模塊的查詢。變量查找根據(jù)所查找目標(biāo)數(shù)據(jù)源的分類(當(dāng)前段、當(dāng)前工程)進(jìn)行變系統(tǒng)資源位號(hào)系統(tǒng)變量單回路控制模塊串級(jí)回路控制模塊冷熱啟動(dòng)及下載組態(tài)標(biāo)志系統(tǒng)資源位號(hào)模入量位號(hào)成員模入量位號(hào)成員開(kāi)入量位號(hào)成員名稱類型說(shuō)明VALBOOL測(cè)量值MANBOOL手自動(dòng)切換開(kāi)關(guān)OFF:自動(dòng);ON:手動(dòng)MVALBOOL手動(dòng)輸入信號(hào)值FLAGBOOL質(zhì)量碼開(kāi)入量位號(hào)成員名稱系統(tǒng)變量

系統(tǒng)變量

單回路控制模塊單回路控制模塊串級(jí)回路控制模塊串級(jí)回路控制模塊串級(jí)回路控制模塊串級(jí)回路控制模塊

冷熱啟動(dòng)及下載組態(tài)標(biāo)志

BOOLg_bHotStartup

熱啟動(dòng)標(biāo)志,熱啟動(dòng)時(shí)為ON,需要編程清0;BOOLg_bColdStartup

冷啟動(dòng)標(biāo)志,冷啟動(dòng)時(shí)為ON,需要編程清0;g_bDownUsrPrgFlag

下載用戶程序標(biāo)志,下載了用戶程序之后為ON,需要編程清0;

g_bDownCfgFlag

下載組態(tài)標(biāo)志,下載了組態(tài)(包括硬件組態(tài)、用戶程序組態(tài))后為ON,需要編程清0。冷熱提問(wèn)需要在流程圖上顯示累積量,在哪里定義?提問(wèn)需要在流程圖上顯示累積量,在哪里定義?三、功能塊圖(FBD)語(yǔ)言

三、功能塊圖(FBD)語(yǔ)言

功能塊圖(FBD)概述功能塊圖的程序結(jié)構(gòu)和執(zhí)行次序FBD的編程元素模塊庫(kù)介紹常用模塊介紹控制策略的FBD實(shí)現(xiàn)FBD編程注意事項(xiàng)培訓(xùn)什么?主要內(nèi)容:功能塊圖(FBD)概述培訓(xùn)什么?主要內(nèi)容:FBD概述FBD是一種圖形化的編程語(yǔ)言FBD用功能和功能塊來(lái)構(gòu)建控制策略FBD直觀、易于維護(hù)IEC61131-3標(biāo)準(zhǔn)定義了FBD編程語(yǔ)言要素FBD概述FBD是一種圖形化的編程語(yǔ)言功能塊指包含內(nèi)部狀態(tài)的程序塊功能塊分為基本功能塊和自定義功能塊FFB都可用EN輸入和ENO輸出進(jìn)行配置FFB由帶有輸入和輸出的圖形框來(lái)描述FBD概述功能塊指包含內(nèi)部狀態(tài)的程序塊FBD概述EN和ENO(使能)EN是功能塊的缺省的第0號(hào)輸入。ENO是功能塊缺省的第0號(hào)輸出。可以隱藏EN和ENO引腳。如果當(dāng)調(diào)用功能塊時(shí)EN值等于ON時(shí),則由FFB定義的算法才被執(zhí)行。ENO=ENEN和ENO(使能)EN是功能塊的缺省的第0號(hào)輸入。FBD段落:即一幅FBD圖FBD區(qū)段:有鏈路相連的元素的組合區(qū)段起始模塊:那些輸入只連接變量的模塊區(qū)段啟動(dòng)模塊:位置最上的起始模塊一個(gè)FBD段落可以包含一個(gè)或多個(gè)FBD區(qū)段FBD程序結(jié)構(gòu)FBD段落:即一幅FBD圖FBD程序結(jié)構(gòu)FBD執(zhí)行次序區(qū)段的執(zhí)行從啟動(dòng)模塊開(kāi)始。區(qū)段內(nèi)的執(zhí)行次序由區(qū)段內(nèi)的數(shù)據(jù)流決定。段落中區(qū)段間的執(zhí)行次序由區(qū)段的啟動(dòng)模塊的位置決定。執(zhí)行次序由上到下。FBD執(zhí)行次序區(qū)段的執(zhí)行從啟動(dòng)模塊開(kāi)始。執(zhí)行次序

執(zhí)行次序FBD編輯器-組態(tài)元素選擇連接線取反最近選擇的功能塊功能塊選擇注釋文本調(diào)試文本跳轉(zhuǎn)按鈕FBD編輯器-組態(tài)元素選擇連接線取反最近選擇的功能塊功能塊選FBD編輯器-IEC模塊庫(kù)算術(shù)運(yùn)算模塊比較運(yùn)算模塊轉(zhuǎn)換運(yùn)算模塊計(jì)數(shù)器模塊邏輯模塊數(shù)學(xué)模塊選擇模塊定時(shí)器模塊觸發(fā)器模塊FBD編輯器-IEC模塊庫(kù)算術(shù)運(yùn)算模塊FBD編輯器-輔助模塊庫(kù)控制模塊通訊輔助模塊累積模塊輸入處理系統(tǒng)模塊文本代碼模塊輔助計(jì)算電量轉(zhuǎn)換信號(hào)選擇模塊浮點(diǎn)處理模塊

FBD編輯器-輔助模塊庫(kù)控制模塊FBD編輯器-自定義模塊庫(kù)自定義模塊庫(kù)收集了當(dāng)前工程所編輯的所有模塊。FBD編輯器-自定義模塊庫(kù)自定義模塊庫(kù)收集了當(dāng)前工程所編輯的FBD編輯器-附加庫(kù)附加庫(kù)主要包括一些特殊模塊、鍋爐模塊、造氣模塊、DEH模塊、智能通訊卡模塊供用戶使用。

注:DEH模塊、智能通訊卡模塊只供ECS-100X系統(tǒng)使用。FBD編輯器-附加下面我們介紹幾個(gè)較常用的模塊,其他模塊的使用可以參考相應(yīng)的幫助文檔。

下面我們介紹幾個(gè)較常用的模塊,其他模塊的使用可以參考相應(yīng)的幫算術(shù)運(yùn)算-ADD算術(shù)運(yùn)算-ADD在使用這個(gè)模塊的時(shí)候,要注意模塊的輸入、輸出變量的數(shù)據(jù)類型。該模塊可以有多個(gè)輸入?yún)?shù),我們可以用鼠標(biāo)拖動(dòng)模塊下方的黑點(diǎn)來(lái)增加或減少輸入變量。可以通過(guò)點(diǎn)擊“顯示EN/ENO”隱藏EN/ENO引腳。可以通過(guò)點(diǎn)擊“幫助”按鈕來(lái)查看該模塊的使用說(shuō)明。在使用這個(gè)模塊的時(shí)候,要注意模塊的輸入、輸出變量的數(shù)據(jù)類型。例1:求溫度TI101(量程0~600℃)和 TI102(量程0~600℃)的平均值,并將運(yùn)算結(jié)果存放至自定義變量TT中。例1:求溫度TI101(量程0~600℃)和 TI102(量算數(shù)運(yùn)算--DIV算數(shù)運(yùn)算--DIV算數(shù)運(yùn)算--DIV除法運(yùn)算時(shí)應(yīng)注意其運(yùn)算結(jié)果應(yīng)在半浮點(diǎn)數(shù)據(jù)類型的表示范圍內(nèi)。例:要求計(jì)算流量FI101(0~500M3/h)和FI102(0~600M3/h)的比值。首先,新建浮點(diǎn)型變量BIZHI。其次,圖形化編程如下:算數(shù)運(yùn)算--DIV除法運(yùn)算時(shí)應(yīng)注意其運(yùn)算結(jié)果應(yīng)在半浮點(diǎn)數(shù)據(jù)算術(shù)運(yùn)算-MOVE算術(shù)運(yùn)算-MOVE

算術(shù)運(yùn)算-MOVE

這個(gè)模塊相當(dāng)于賦值的功能。例如,我們將位號(hào)TI101的報(bào)警高限設(shè)定為0.9,則圖形化編程如下:算術(shù)運(yùn)算-MOVE這

比較運(yùn)算--GT比較運(yùn)算--GT比較運(yùn)算--GE例如,當(dāng)壓力PT101(0~10KPa)超過(guò)80%時(shí)要求打開(kāi)電磁閥KO101。參考程序如下:比較運(yùn)算--GE例如,當(dāng)壓力PT101(0轉(zhuǎn)換運(yùn)算—SFLOAT_TO_FLOAT轉(zhuǎn)換運(yùn)算—SFLOAT_TO_FLOAT轉(zhuǎn)換運(yùn)算—SFLOAT_TO_FLOAT例:求溫度TI101(0~600℃)和TI102(0~800℃)的平均值,并將計(jì)算結(jié)果存放到自定義變量TT(0~700℃)中。轉(zhuǎn)換運(yùn)算—SFLOAT_TO_FLOAT例:求溫度TI101

邏輯運(yùn)算--AND邏輯運(yùn)算--AND

邏輯運(yùn)算--AND例:要求當(dāng)三個(gè)開(kāi)關(guān)KI101、KI102和KI103都打開(kāi)時(shí)(為ON)啟動(dòng)電機(jī)KT101,否則關(guān)閉KT101。邏輯運(yùn)算--AND例:要求當(dāng)三個(gè)開(kāi)關(guān)KI1

數(shù)學(xué)函數(shù)--ABS數(shù)學(xué)函數(shù)--ABS

數(shù)學(xué)函數(shù)--ABS例:要求當(dāng)流量FT101(0~6000M3/h)超過(guò)或低于某個(gè)設(shè)定值的30%時(shí)產(chǎn)生報(bào)警(變量BJT=ON),該設(shè)定值為半浮點(diǎn)變量FF(0~6000M3/h)。數(shù)學(xué)函數(shù)--ABS例:要求當(dāng)流量FT101

選擇模塊--SEL選擇模塊--SEL

選擇模塊--SEL例:當(dāng)操作員將開(kāi)關(guān)(一字節(jié)變量KT)打至OFF時(shí),選擇測(cè)點(diǎn)一(位號(hào)TI101)作為控制回路的輸入信號(hào);當(dāng)操作員將開(kāi)關(guān)(一字節(jié)變量KT)打至ON時(shí),選擇測(cè)點(diǎn)二(位號(hào)TI102)作為控制回路的輸入信號(hào)。選擇模塊--SEL例:當(dāng)操作員將開(kāi)關(guān)(一字節(jié)

選擇模塊--MAX選擇模塊--MAX選擇模塊--MAX例:某裝置有3個(gè)溫度測(cè)點(diǎn),分別為TI101(0~600℃)、TI102(0~600℃)、TI103(0~600℃),要求將最高的溫度信號(hào)作為連鎖程序的判斷條件。當(dāng)溫度超過(guò)其量程的90%時(shí)打開(kāi)電磁閥KO101。選擇模塊--MAX例:某裝置有3個(gè)溫度測(cè)點(diǎn),TON定時(shí)器模塊TON定時(shí)器模塊浙大中控DCS形化編程講義課件TON定時(shí)器模塊

定時(shí)器的基準(zhǔn)為控制周期,定時(shí)時(shí)間必須設(shè)置為運(yùn)行周期的整數(shù)倍。例:某連鎖控制程序,要求當(dāng)溫度TI105(0~1000℃)超過(guò)600℃時(shí)打開(kāi)電磁閥KO102。TON定時(shí)器模塊定時(shí)器的基準(zhǔn)為控制周期,定時(shí)時(shí)間必

TOFF定時(shí)器模塊TOFF定時(shí)器模塊浙大中控DCS形化編程講義課件TOFF定時(shí)器模塊

注意,當(dāng)延時(shí)時(shí)間到達(dá)之后輸出為OFF狀態(tài)。定時(shí)器的基準(zhǔn)為控制周期,定時(shí)時(shí)間必須設(shè)置為運(yùn)行周期的整數(shù)倍。例:要求當(dāng)電機(jī)KT101跳閘時(shí)(由ON變?yōu)镺FF),延時(shí)5秒種后點(diǎn)亮報(bào)警指示燈TT。TOFF定時(shí)器模塊注意,當(dāng)延時(shí)時(shí)間到達(dá)之后輸出為OFF狀態(tài)

定時(shí)器--TP定時(shí)器--TP浙大中控DCS形化編程講義課件

定時(shí)器--TP該模塊用于產(chǎn)生持續(xù)時(shí)間一定的脈沖。定時(shí)器的基準(zhǔn)為控制周期,定時(shí)時(shí)間必須設(shè)置為運(yùn)行周期的整數(shù)倍。定時(shí)器--TP該模塊用于產(chǎn)生持續(xù)時(shí)間一定的脈沖例:請(qǐng)利用TP模塊制作一個(gè)自復(fù)位按鈕,要求當(dāng)按下按鈕KT101后(即為ON)延時(shí)5秒種后將KT101復(fù)位(即為OFF)。例:請(qǐng)利用TP模塊制作一個(gè)自復(fù)位按鈕,要求當(dāng)按下按鈕KT10

RS觸發(fā)器模塊RS觸發(fā)器模塊RS觸發(fā)器模塊

RS模塊常用于連鎖程序的編制。

例:當(dāng)水位LI101(0~200mm)高于量程的60%時(shí)打開(kāi)放水閥門KO101,但要求操作員可以按下手動(dòng)開(kāi)關(guān)(為ON時(shí))強(qiáng)行將該閥門關(guān)閉(用自定義變量MT表示該軟手動(dòng)開(kāi)關(guān))。RS觸發(fā)器模塊RS模塊常用于連鎖程序的編制。例:當(dāng)水位LSR觸發(fā)器模塊

SR觸發(fā)器模塊

報(bào)警模塊--AIALM報(bào)警模塊--AIALM

報(bào)警模塊--AIALM每個(gè)模擬量輸入位號(hào)都有自己的質(zhì)量碼,主要用于位號(hào)的報(bào)警分析,在圖形化組態(tài)中質(zhì)量碼為WORD類型。例:當(dāng)溫度TE105超過(guò)高高限或低于低低限時(shí)將變量THL置為ON。報(bào)警模塊--AIALM每個(gè)模擬量輸入位號(hào)都有自

累積函數(shù)--TOTAL_ACCUM累積函數(shù)--TOTAL_ACCUM

累積函數(shù)--TOTAL_ACCUM例:有一流量信號(hào)FI101(0~100M3/h),要求將該流量累積。首先,我們定義一8字節(jié)累積量FQ101,量程100,單位M3,系數(shù)3600累積函數(shù)--TOTAL_ACCUM例:有

其次,使用該模塊實(shí)現(xiàn)流量的累積。如下圖:注:該模塊每秒鐘執(zhí)行一次,因此要求程序的執(zhí)行周期不大于0.5秒。

使用該模塊時(shí)必須保證流量信號(hào)的量程下限為0。其次,使用該模塊實(shí)現(xiàn)流量的累積。如下圖:注:該模塊每秒鐘

累積函數(shù)--SUB_ACCUM累積函數(shù)--SUB_ACCUM

累積函數(shù)--SUB_ACCUM該模塊可用于累積量的清零。例:將累積量FQ101清零。參考程序如下:累積函數(shù)--SUB_ACCUM該模塊可用單回路模塊--BSC

該模塊的功能是產(chǎn)生一個(gè)單回路PID控制。使用時(shí)與被控對(duì)象組成回路,以MV作為被控對(duì)象的輸入,以被控對(duì)象的輸出作為BSC模塊的輸入—PV;并正確的設(shè)置模塊的內(nèi)部參數(shù),可使測(cè)量值PV穩(wěn)定地等于給定值。單回路模塊--BSC該模塊的功能是產(chǎn)生一個(gè)單回路PID

單回路模塊--BSCX注:BSCX是BSC模塊的擴(kuò)展模塊,在BSC模塊的基礎(chǔ)上增加了該模塊的成員,便于用戶使用。單回路模塊--BSCX注例:某單回路控制,回路輸入信號(hào)為溫度TI101(0~600℃),回路輸出為調(diào)節(jié)閥FV101。首先,聲明自定義單回路如下:例:某單回路控制,回路輸入信號(hào)為溫度TI101(0~600℃其次,進(jìn)行圖形化編程如下:其次,進(jìn)行圖形化編程如下:例:某連鎖控制,當(dāng)壓力PT101(0~8KPa)超過(guò)5KPa時(shí)將回路PTC101強(qiáng)制切為手動(dòng)?;芈稰TC101的輸入信號(hào)為PT101,輸出位號(hào)為PV101。首先將工程值轉(zhuǎn)化成半浮點(diǎn)數(shù),5KPa對(duì)應(yīng)的半浮點(diǎn)值為0.625。其次進(jìn)行自定義回路的聲明。例:某連鎖控制,當(dāng)壓力PT101(0~8KPa)超過(guò)5KPa浙大中控DCS形化編程講義課件文本代碼模塊--TEXTCODE我們可以利用該模塊在功能塊圖編輯器或梯形圖編輯器中使用ST語(yǔ)言編輯器編寫文本代碼,使程序編制更為靈活。ST語(yǔ)言的語(yǔ)法請(qǐng)參考ST編輯器。雙擊該模塊,將彈出如下對(duì)話框,點(diǎn)擊“代碼”按鈕將彈出文本編輯器進(jìn)行程序編制。文本代碼模塊--TEXTCODE我們可以利用該模塊在功能塊圖浙大中控DCS形化編程講義課件

控制策略的FBD實(shí)現(xiàn)

例1:某連鎖控制,要求當(dāng)溫度TI101(0~800℃)超過(guò)400℃時(shí),全開(kāi)冷水調(diào)節(jié)閥TV101;當(dāng)溫度低于200℃時(shí)關(guān)閉冷水閥TV101。控制策略的FBD實(shí)現(xiàn)例1:某連鎖控制,例2:要求當(dāng)操作員打開(kāi)開(kāi)關(guān)K101(為ON)時(shí),開(kāi)始對(duì)流量FT101(0~600M3/h)進(jìn)行累積;當(dāng)操作員關(guān)閉該開(kāi)關(guān)(為OFF)時(shí)停止累積,并對(duì)累積量清零。我們?cè)O(shè)置自定義8字節(jié)累積量FQ101,圖形化編程如下:例2:要求當(dāng)操作員打開(kāi)開(kāi)關(guān)K101(為ON)時(shí),開(kāi)始對(duì)流量F例3:某溫度控制單回路,回路輸入信號(hào)為溫度TI101(0~1000℃),回路輸出信號(hào)為調(diào)節(jié)閥TV101。正常工況下回路處于自動(dòng)控制狀態(tài);當(dāng)溫度高于900℃時(shí)回路轉(zhuǎn)到手動(dòng)控制狀態(tài),由操作員手動(dòng)控制,同時(shí)發(fā)出報(bào)警信號(hào)(使自定義變量MFT=ON)。例3:某溫度控制單回路,回路輸入信號(hào)為溫度TI101(0~1浙大中控DCS形化編程講義課件注意事項(xiàng)!

對(duì)于編程的時(shí)候經(jīng)常出現(xiàn)的一些錯(cuò)誤,你是否知道是怎么引起的?出現(xiàn)變量非法的提示?是否在變量定義的時(shí)候使用了非法字符?例如,PI-101;圖形化組態(tài)的時(shí)候不允許使用減號(hào)“-”,但是可以采用下劃線“_”注意事項(xiàng)!對(duì)于編程的時(shí)候經(jīng)常出現(xiàn)的一些錯(cuò)誤,你是注意事項(xiàng)!出現(xiàn)數(shù)據(jù)類型不匹配的提示?輸入輸出引腳所連接的數(shù)據(jù)與功能塊所要求的數(shù)據(jù)類型不匹配?例如注意事項(xiàng)!出現(xiàn)數(shù)據(jù)類型不匹配的提示?四、梯形圖(LD)語(yǔ)言四、梯形圖(LD)語(yǔ)言主要內(nèi)容:概念觸點(diǎn)線圈垂直連接線編程注意事項(xiàng)培訓(xùn)什么?主要內(nèi)容:概念培訓(xùn)什么?梯形圖概述梯形圖在原電器控制系統(tǒng)中的接觸器、繼電器梯形圖基礎(chǔ)上演變而來(lái),與電氣操作原理相呼應(yīng),形象、直觀和實(shí)用。觸點(diǎn)和線圈來(lái)構(gòu)建邏輯控制方案很容易將電氣聯(lián)鎖圖轉(zhuǎn)換為梯形圖程序聯(lián)鎖程序習(xí)慣使用梯形圖語(yǔ)言進(jìn)行編輯

梯形圖概述梯形圖在原電器控制系統(tǒng)中的接觸器、繼電器梯形圖基礎(chǔ)LD編輯器程序結(jié)構(gòu)LD段落的設(shè)計(jì)對(duì)應(yīng)于繼電器開(kāi)關(guān)的梯級(jí)(rung)。圖形的左邊是匯流條,相應(yīng)于梯級(jí)的相線,只有直接或間接與相線有開(kāi)關(guān)量相連的元素在編程期間被“掃描”。右匯流條缺省不畫出,但可以認(rèn)為所有的線圈和FFB開(kāi)關(guān)量輸出都接到右匯流條上,從而建立電流回路。LD編輯器程序結(jié)構(gòu)LD段落的設(shè)計(jì)對(duì)應(yīng)于繼電器開(kāi)關(guān)的梯級(jí)(ru四個(gè)概念LD段落:即一幅LD圖,一個(gè)LD段落由若干個(gè)LD區(qū)段組成。LD區(qū)段:有鏈路相連的元素的組合。區(qū)段起始模塊:區(qū)段內(nèi)那些輸入只連接變量或左匯流條的模塊。區(qū)段啟動(dòng)模塊:區(qū)段中位置最上的起始模塊。

四個(gè)概念LD段落:即一幅LD圖,一個(gè)LD段落由若干個(gè)LD區(qū)段LD執(zhí)行次序區(qū)段的執(zhí)行從啟動(dòng)模塊開(kāi)始。區(qū)段內(nèi)的執(zhí)行次序由區(qū)段內(nèi)的數(shù)據(jù)流決定。LD段落中區(qū)段間的執(zhí)行次序由區(qū)段的啟動(dòng)模塊在段落圖形中的位置決定。執(zhí)行次序由上到下。LD執(zhí)行次序區(qū)段的執(zhí)行從啟動(dòng)模塊開(kāi)始。LD編輯器-組態(tài)元素常開(kāi)觸點(diǎn)常閉觸點(diǎn)正跳變觸點(diǎn)負(fù)跳變觸點(diǎn)線圈取反線圈置位線圈復(fù)位線圈正跳變線圈負(fù)跳變線圈垂直連接線LD編輯器-組態(tài)元素常開(kāi)觸點(diǎn)常閉觸點(diǎn)正跳變觸點(diǎn)負(fù)跳變觸點(diǎn)線圈LD編輯器—觸點(diǎn)認(rèn)識(shí)SCCONTROL的觸點(diǎn):觸點(diǎn)的特點(diǎn):每一個(gè)觸點(diǎn)都有一個(gè)變量和它對(duì)應(yīng),觸點(diǎn)是在變量的控制下斷開(kāi)或閉合。

變量觸點(diǎn)LD編輯器—觸點(diǎn)認(rèn)識(shí)SCCONTROL的觸點(diǎn):變量LD編輯器—觸點(diǎn)觸點(diǎn)分類:常開(kāi)觸點(diǎn)常閉觸點(diǎn)正跳變觸點(diǎn)負(fù)跳變觸點(diǎn)LD編輯器—觸點(diǎn)觸點(diǎn)分類:LD編輯器—觸點(diǎn)不同類型的觸點(diǎn)有什么區(qū)別?LD編輯器—觸點(diǎn)不同類型的觸點(diǎn)有什么區(qū)別?LD編輯器—觸點(diǎn)假設(shè)觸點(diǎn)對(duì)應(yīng)的變量為TEMP。

LD編輯器—觸點(diǎn)假設(shè)觸點(diǎn)對(duì)應(yīng)的變量為TEMP。LD編輯器—線圈認(rèn)識(shí)SCCONTROL的線圈:線圈的特點(diǎn):每一個(gè)線圈都有一個(gè)變量和它對(duì)應(yīng),線圈的得電狀態(tài)決定了變量的狀態(tài)。變量線圈LD編輯器—線圈認(rèn)識(shí)SCCONTROL的線圈:變量LD編輯器—線圈線圈的分類:常開(kāi)線圈常閉線圈置位線圈復(fù)位線圈正跳變線圈負(fù)跳變線圈LD編輯器—線圈線圈的分類:LD編輯器—線圈不同類型的線圈有什么區(qū)別?LD編輯器—線圈不同類型的線圈有什么區(qū)別?LD編輯器—線圈假設(shè)線圈相關(guān)的變量為TEMP。LD編輯器—線圈假設(shè)線圈相關(guān)的變量為TEMP。浙大中控DCS形化編程講義課件LD編輯器—垂直連接線垂直連接線可以同時(shí)連接多個(gè)輸入和多個(gè)輸出,相當(dāng)于或的功能,連接線的左邊作為或的輸入,右邊作為或的輸出。垂直連接線上可以連接所有布爾量的數(shù)據(jù)鏈路,包括所有觸點(diǎn)、線圈及功能塊的布爾量引腳。LD編輯器—垂直連接線垂直連接線可以同時(shí)連接多個(gè)輸入和多個(gè)輸編程示例3例3:當(dāng)開(kāi)關(guān)DI101為ON,或者開(kāi)關(guān)DI102為OFF時(shí)電機(jī)DJ101為ON;DI101為OFF,且DI102為ON,則DJ101為OFF。編程示例3例3:當(dāng)開(kāi)關(guān)DI101為ON,或者開(kāi)關(guān)DI102為編程示例3編程示例3例4:有三個(gè)開(kāi)關(guān)按紐K1、K2、K3。當(dāng)任何一個(gè)按鈕按下時(shí)(即為ON),其他按鈕均彈出(即為OFF)?編程示例4例4:有三個(gè)開(kāi)關(guān)按紐K1、K2、K3。當(dāng)任何一個(gè)按鈕按下時(shí)(編程示例4編程示例4編程示例5例5:開(kāi)燈程序,KOSTART為開(kāi)燈信號(hào)。當(dāng)KOSTART為ON時(shí)要求燈(KO1001)開(kāi)5秒關(guān)5秒,交替閃爍。當(dāng)KOSTART為OFF時(shí)燈(KO1001)關(guān)。編程示例5例5:開(kāi)燈程序,KOSTART為開(kāi)燈信號(hào)。當(dāng)KOS編程示例5編程示例5注意事項(xiàng)!所有的編程元素必須直接或間接的通過(guò)一個(gè)布爾輸入引腳連接到代表電流相線的左匯流條。如下圖就是一個(gè)典型的錯(cuò)誤:注意事項(xiàng)!所有的編程元素必須直接或間接的通過(guò)一個(gè)布爾輸入引腳注意事項(xiàng)!變量引用或連線時(shí)應(yīng)注意數(shù)據(jù)類型必須保持一致。注意事項(xiàng)!變量引用或連線時(shí)應(yīng)注意數(shù)據(jù)類型必須保持一致。五、順控圖(SFC)語(yǔ)言五、順控圖(SFC)語(yǔ)言SFC概述SFC的元素及其連接規(guī)則步轉(zhuǎn)換跳轉(zhuǎn)擇一分支/擇一結(jié)合并行分支/并行結(jié)合SFC控制變量SFC的應(yīng)用主要內(nèi)容:培訓(xùn)什么?SFC概述主要內(nèi)容:培訓(xùn)什么?SFC概貌SFC由步進(jìn)式順序控制器演變而來(lái)SFC是順序流程的圖形化表示SFC把流程分解為步和轉(zhuǎn)換SFC可以方便的實(shí)現(xiàn)批量過(guò)程控制SFC診斷、排錯(cuò)方便,易于維護(hù)IEC61131-3標(biāo)準(zhǔn)規(guī)定了SFC編程要素SFC概貌SFC由步進(jìn)式順序控制器演變而來(lái)SFC元素七種基本元素SFC元素七種基本元素步類型步類型有三種:起始步普通步終止步起始步和終止步必須有且只能各有一個(gè)SFC的執(zhí)行從起始步開(kāi)始到終止步結(jié)束步類型步類型有三種:步(Step)步是控制流程中相對(duì)獨(dú)立的一組操作的組合在步中可以定義隨意數(shù)目的操作步在緊接在前的轉(zhuǎn)換條件滿足時(shí)激活步在激活時(shí)才執(zhí)行相應(yīng)的操作步在緊接在后的轉(zhuǎn)換條件滿足時(shí)退出激活狀態(tài)步(Step)步是控制流程中相對(duì)獨(dú)立的一組操作的組合A步的操作X轉(zhuǎn)換的條件B步的操作Y轉(zhuǎn)換的條件C步的操作Z轉(zhuǎn)換的條件滿足不滿足滿足滿足不滿足不滿足……控制框圖:A步的操作X轉(zhuǎn)換的條件B步的操作Y轉(zhuǎn)換的條件C步的操作Z轉(zhuǎn)換如何將我們的任務(wù)交給“步”去完成?SFC編輯器操作!如何將我們的任務(wù)交給“步”去完成?SFC編輯器操作!步屬性對(duì)話框“步屬性”中可設(shè)置兩個(gè)功能:運(yùn)行時(shí)間、操作。步屬性對(duì)話框“步屬性”中可運(yùn)行時(shí)間 在運(yùn)行時(shí)間的填充框中填入U(xiǎn)LONG類型的位號(hào)(變量),可以將該步的激活時(shí)間賦給該位號(hào)(變量),時(shí)間單位是毫秒。運(yùn)行時(shí)間 在運(yùn)行時(shí)間的填充操作(Action)操作是對(duì)實(shí)際現(xiàn)場(chǎng)設(shè)備進(jìn)行的操縱一個(gè)步中可以有0個(gè)或多個(gè)操作操作的類型由操作限定詞來(lái)描述操作(Action)操作是對(duì)實(shí)際現(xiàn)場(chǎng)設(shè)備進(jìn)行的操縱操作限定詞時(shí)態(tài)圖StepNSRLDPDS操作限定詞時(shí)態(tài)圖StepNSRLDPDS=賦值操作限定詞。表示在步的整個(gè)激活期間賦值操作一直進(jìn)行,直到步退出激活狀態(tài)恢復(fù)成不激活狀態(tài)。如果是賦值操作限定詞(=),則是應(yīng)用ST語(yǔ)言編寫控制算法,操作變量就是自己編寫的一段ST語(yǔ)言程序,此時(shí)操縱的對(duì)象就是對(duì)應(yīng)的ST語(yǔ)言程序。執(zhí)行到該操作時(shí),就運(yùn)行該ST語(yǔ)言程序。=賦值操作限定詞。表示在步的整個(gè)激活期間賦值操作一直進(jìn)行,轉(zhuǎn)換(Transition)轉(zhuǎn)換指明控制從一個(gè)步轉(zhuǎn)移到下一步的條件當(dāng)轉(zhuǎn)換條件滿足時(shí),緊接在前的步從激活態(tài)變成不激活態(tài)。然后緊接在后的步將從不激活態(tài)轉(zhuǎn)變成激活態(tài)只有當(dāng)緊接在前的步在激活狀態(tài)時(shí),轉(zhuǎn)換的條件才被測(cè)試轉(zhuǎn)換(Transition)轉(zhuǎn)換指明控制從一個(gè)步轉(zhuǎn)移到下一步轉(zhuǎn)換和步的連接圖例轉(zhuǎn)換和步的連接圖例浙大中控DCS形化編程講義課件跳轉(zhuǎn)(Jump)跳轉(zhuǎn)允許程序從不同的步繼續(xù)執(zhí)行跳轉(zhuǎn)(Jump)跳轉(zhuǎn)允許程序從不同的步繼續(xù)執(zhí)行跳轉(zhuǎn)連接圖例順序跳轉(zhuǎn)順序回路根據(jù)跳轉(zhuǎn)對(duì)象的不同,可以構(gòu)成順序跳轉(zhuǎn)和順序環(huán)路,但不能在不同的并行區(qū)域間跳轉(zhuǎn)。跳轉(zhuǎn)連接圖例順序跳轉(zhuǎn)順序回路根據(jù)跳轉(zhuǎn)對(duì)象的不同,可以浙大中控DCS形化編程講義課件擇一分支擇一分支提供了在SFC程序中實(shí)現(xiàn)條件控制的控制流程選擇執(zhí)行的方法。每一個(gè)分支都有執(zhí)行的轉(zhuǎn)換條件,擇一分支被激活時(shí),會(huì)依次對(duì)各個(gè)分支的轉(zhuǎn)換條件進(jìn)行判斷,轉(zhuǎn)換條件滿足的分支被激活。在擇一分支結(jié)構(gòu)內(nèi)只能有一個(gè)分支被激活。分支轉(zhuǎn)換條件的優(yōu)先級(jí)從左到右,比如如果左邊第一個(gè)和第二個(gè)分支的轉(zhuǎn)換條件都被滿足時(shí),左邊第一個(gè)分支被激活,即只執(zhí)行這個(gè)分支的程序。擇一分支和擇一接合必須一一對(duì)應(yīng)。分支必須結(jié)束于同一擇一接合或者結(jié)束于跳轉(zhuǎn),但至少有一個(gè)分支結(jié)束于擇一接合。擇一分支擇一分支提供了在SFC程序中實(shí)現(xiàn)條件控制的控制流程選擇一分支圖例擇一分支圖例例:根據(jù)如下要求編寫一段順控程序:有兩個(gè)電機(jī)A、B,啟動(dòng)開(kāi)關(guān)分別為KO101、KO102,ON時(shí)啟動(dòng)電機(jī),OFF時(shí)關(guān)閉電機(jī);兩電機(jī)一開(kāi)一備,工作/備用指示開(kāi)關(guān)為WKSDB,ON時(shí)表示電機(jī)A工作,B備用,OFF時(shí)表示電機(jī)B工作,A備用;有一電機(jī)啟動(dòng)按鈕DJSTART,要求DJSTART置ON后,延遲5秒再啟動(dòng)電機(jī)。電機(jī)A、B開(kāi)反饋分別為KO101K、KO102K,ON時(shí)表示開(kāi)到位,OFF表示未開(kāi)到位。要求電機(jī)啟動(dòng)后,需確認(rèn)開(kāi)反饋到位后方能進(jìn)入后續(xù)的順控程序。例:根據(jù)如下要求編寫一段順控程序:浙大中控DCS形化編程講義課件并行分支并行分支使流程中幾個(gè)子流程同時(shí)進(jìn)行各分支的執(zhí)行不相互影響并行分支和并行接合必須一一對(duì)應(yīng)只有當(dāng)所有的分支的最后一步都激活時(shí),才測(cè)試并行接合緊接的轉(zhuǎn)換的條件是否滿足在并行結(jié)構(gòu)內(nèi)部的跳轉(zhuǎn)不能跳到并行結(jié)構(gòu)的外部。并行分支并行分支使流程中幾個(gè)子流程同時(shí)進(jìn)行并行分支圖例并行分支圖例例:根據(jù)如下要求編寫一段順控程序:有兩個(gè)電機(jī)A、B,啟動(dòng)開(kāi)關(guān)分別為KO101、KO102,ON時(shí)啟動(dòng)電機(jī),OFF時(shí)關(guān)閉電機(jī);要求兩電機(jī)A、B同時(shí)啟動(dòng),其開(kāi)反饋分別為KO101K、KO102K,ON時(shí)表示開(kāi)到位,OFF表示未開(kāi)到位。要求電機(jī)啟動(dòng)后,必須確認(rèn)開(kāi)反饋已到位。有一電機(jī)啟動(dòng)按鈕DJSTART,要求DJSTART置ON后,延遲5秒再啟動(dòng)兩電機(jī)。例:根據(jù)如下要求編寫一段順控程序:浙大中控DCS形化編程講義課件SFC控制變量復(fù)位變量為ON時(shí),SFC程序起始步被設(shè)置為激活步,其它步都強(qiáng)制變?yōu)椴患せ顮顟B(tài),順控程序從頭開(kāi)始重新執(zhí)行。為OFF時(shí),復(fù)位變量無(wú)效。

注意:在起始步中,默認(rèn)給復(fù)位變量賦OFF,在終止步中,默認(rèn)給復(fù)位變量賦ON。運(yùn)行變量為ON時(shí),SFC程序正常執(zhí)行。為OFF時(shí),所有其它控制變量都無(wú)效,SFC程序停止運(yùn)行。SFC控制變量復(fù)位變量SFC控制變量保持(禁止轉(zhuǎn)換)變量為ON時(shí),當(dāng)前激活步將一直保持執(zhí)行而不管緊接的轉(zhuǎn)換條件是否滿足,轉(zhuǎn)換條件測(cè)試將不進(jìn)行。此變量受運(yùn)行變量和復(fù)位變量的影響。強(qiáng)制步進(jìn)變量為ON時(shí),當(dāng)前激活步不管轉(zhuǎn)換條件是否滿足,都變?yōu)椴患せ顮顟B(tài),按順序的下一步變?yōu)榧せ顮顟B(tài)。強(qiáng)制步進(jìn)變量受以上所有變量的影響。操作使能變量為ON時(shí),步中的操作才被執(zhí)行。SFC控制變量保持(禁止轉(zhuǎn)換)變量控制變量只能選用在系統(tǒng)組態(tài)中定義的變量。每個(gè)SFC段落必須要設(shè)置復(fù)位變量,程序初次下載到控制站時(shí),必須對(duì)該復(fù)位變量賦ON,使程序從起始步開(kāi)始執(zhí)行。其他控制變量可根據(jù)實(shí)際需要,做有選擇的設(shè)置??刂谱兞恐荒苓x用在系統(tǒng)組態(tài)中定義的變量。

練習(xí)時(shí)間例:現(xiàn)場(chǎng)有三臺(tái)電機(jī)正在使用,分別是電機(jī)1、電機(jī)2和電機(jī)3,他們的開(kāi)關(guān)狀態(tài)分別用f1、f2、f3表示,電機(jī)的啟動(dòng)和關(guān)閉要求用程序控制。將啟動(dòng)按鈕start置為on,電機(jī)1首先啟動(dòng),間隔5秒時(shí)間以后,電機(jī)2啟動(dòng),再間隔5秒,電機(jī)3啟動(dòng);啟動(dòng)過(guò)程完成后,才可以進(jìn)入關(guān)電機(jī)過(guò)程。將啟動(dòng)按鈕start置為off,電機(jī)3首先關(guān)閉,間隔5秒時(shí)間以后,電機(jī)2關(guān)閉,再間隔5秒時(shí)間以后,電機(jī)1關(guān)閉;關(guān)閉過(guò)程完成后,才可以重新進(jìn)入開(kāi)電機(jī)過(guò)程。練習(xí)時(shí)間例:現(xiàn)場(chǎng)有三臺(tái)電機(jī)六、ST語(yǔ)言六、ST語(yǔ)言ST語(yǔ)言概述ST語(yǔ)言的語(yǔ)法自定義函數(shù)和功能塊ST語(yǔ)言中的模塊調(diào)用ST語(yǔ)言在非ST段落中的應(yīng)用示例培訓(xùn)什么?主要內(nèi)容:培訓(xùn)什么?主要內(nèi)容:ST語(yǔ)言結(jié)構(gòu)化文本語(yǔ)言

IEC61131-3標(biāo)準(zhǔn)語(yǔ)言SCControl集成ST語(yǔ)言結(jié)構(gòu)化文本語(yǔ)言使用方法在工程中加入ST段落編制函數(shù)和模塊在梯形圖和功能塊圖中插入文本代碼在順控圖步的操作中使用=操作限定詞在順控圖轉(zhuǎn)換條件中使用ST邏輯表達(dá)式使用方法在工程中加入ST段落編制函數(shù)和模塊數(shù)據(jù)類型變量類型關(guān)鍵字字節(jié)長(zhǎng)度布爾類型BOOL1字WORD2雙字DWORD4整數(shù)INT2無(wú)符號(hào)整數(shù)UINT2長(zhǎng)整數(shù)LONG4無(wú)符號(hào)長(zhǎng)整數(shù)ULONG4半浮點(diǎn)SFLOAT2浮點(diǎn)FLOAT4數(shù)組

結(jié)構(gòu)數(shù)據(jù)類型變量類型關(guān)鍵字字節(jié)長(zhǎng)度布爾類型BOOL1字標(biāo)識(shí)符

以英文字母開(kāi)頭續(xù)以英文字母、數(shù)字或下劃線字符長(zhǎng)度最多為24個(gè)字符標(biāo)識(shí)符以英文字母開(kāi)頭關(guān)鍵字(1)

關(guān)鍵字描述CASE…OF…ELSE…END_CASECASE語(yǔ)句BOOLWORDDWORDINTLONGUINTULONGSFLOATFLOAT數(shù)據(jù)類型EXIT終止循環(huán)FALSE邏輯假FOR…TO…BY…DO…END_FORFOR語(yǔ)句FUNCTION…END_FUNCTION函數(shù)定義FUNCTION_BLOCKEND_FUNCTION_BLOCK功能塊定義IF…THEN…ELSEIF…ELSE…END_IFIF語(yǔ)句關(guān)鍵字(1)關(guān)鍵字描述CASE…OF…ELSE…END_C關(guān)鍵字(2)

ON邏輯真OFF邏輯假REPEAT…UNTIL…END_REPEATREPEAT語(yǔ)句RETURN函數(shù)返回TRUE邏輯真VAR…END_VARVAR_INPUT…END_VARVAR_OUTPUT…END_VAR變量定義WHILE…DO…END_WHILEWHILE語(yǔ)句關(guān)鍵字(2)ON邏輯真OFF邏輯假REPEAT…UNTIL運(yùn)算符(1)

運(yùn)算符描述類型優(yōu)先級(jí)()表達(dá)式運(yùn)算

9.取結(jié)構(gòu)成員

8[]取數(shù)組成員

8-單目負(fù)

7NOT取反邏輯運(yùn)算7*(MUL)乘算術(shù)運(yùn)算6/(DIV)除算術(shù)運(yùn)算6MOD取余算術(shù)運(yùn)算6+(ADD)加算術(shù)運(yùn)算5-(SUB)減算術(shù)運(yùn)算5運(yùn)算符(1)運(yùn)算符描述類型優(yōu)先級(jí)()表達(dá)式運(yùn)算

9.取結(jié)構(gòu)運(yùn)算符(2)

>大于比較運(yùn)算4>=大于等于比較運(yùn)算4<=小于等于比較運(yùn)算4<小于比較運(yùn)算4=等于比較運(yùn)算4<>不等于比較運(yùn)算4AND與邏輯運(yùn)算3XOR異或邏輯運(yùn)算2OR或邏輯運(yùn)算1運(yùn)算符(2)>大于比較運(yùn)算4>=大于等于比較運(yùn)算4<=小于表達(dá)式

表達(dá)式為變量、操作符、常量、函數(shù)的組合,求值結(jié)果為單個(gè)值表達(dá)式的求值按運(yùn)算符的優(yōu)先級(jí)按順序進(jìn)行,優(yōu)先級(jí)高的運(yùn)算符先被處理。相同優(yōu)先級(jí)的按從左到右的順序執(zhí)行

實(shí)例A+B*(C-3)+FUNC1(2,D)表達(dá)式表達(dá)式為變量、操作符、常量、函數(shù)的組合,求值結(jié)果為單運(yùn)算符號(hào)歸納賦值比較等于比較不等于二次計(jì)算===!=報(bào)表==<>SCX===!=ST==〈〉:=運(yùn)算符號(hào)歸納

八種常用語(yǔ)句浙大中控DCS形化編程講義課件賦值語(yǔ)句賦值語(yǔ)句將“=”右邊表達(dá)式的值賦給左邊的變量。賦值時(shí)可使用“=”或“:=”作為運(yùn)算符。舉例:A=4;(*將變量A賦值為4*)B:=4;(*將變量B賦值為4*)賦值語(yǔ)句賦值語(yǔ)句將“=”右邊IF語(yǔ)句

IFA>0THENB=1;(*B:=1;亦可*)ELSEIFA<-5THENB=2;ELSEB:=3;END_IF;規(guī)定了一組語(yǔ)句在規(guī)定的邏輯表達(dá)式為TRUE時(shí)執(zhí)行。

IF語(yǔ)句IFA>0THEN規(guī)定了一組語(yǔ)句在規(guī)定的CASE語(yǔ)句

CASE語(yǔ)句規(guī)定了整數(shù)類型的選擇項(xiàng),以及選擇項(xiàng)在不同的值時(shí)的幾組語(yǔ)句組。

CASETWOF1:I=1;(*1:I:=1;亦可*)2:I=2;ELSEI=3;END_CASE;CASE語(yǔ)句CASE語(yǔ)句規(guī)定了整數(shù)類型的選擇項(xiàng),F(xiàn)OR語(yǔ)句

FORK=1TO100BY2DO DOSOMETHING();(*循環(huán)體*)END_FOR;循環(huán)語(yǔ)句,規(guī)定了終止條件和一組語(yǔ)句,當(dāng)終止條件沒(méi)有成TRUE時(shí),這組語(yǔ)句被循環(huán)執(zhí)行。FOR語(yǔ)句FORK=1TO100BY2DOWHILE語(yǔ)句

J=1;WHILEJ<=100DOJ=J+2;END_WHILE;循環(huán)語(yǔ)句,規(guī)定了終止條件和一組語(yǔ)句,當(dāng)終止條件沒(méi)有成TRUE時(shí),這組語(yǔ)句被循環(huán)執(zhí)行。WHILE語(yǔ)句J=1;循環(huán)語(yǔ)句,規(guī)定了終止條件和一組語(yǔ)REPEAT語(yǔ)句

J=1;REPEATJ=J+2;UNTILJ=101END_REPEAT;終止條件的判斷在語(yǔ)句組執(zhí)行一次后才進(jìn)行,所以規(guī)定的語(yǔ)句組至少會(huì)執(zhí)行一次。當(dāng)終止條件成TRUE時(shí),循環(huán)被終止。REPEAT語(yǔ)句J=1;終止條件的判斷在語(yǔ)句組執(zhí)行一次函數(shù)和功能塊

ST語(yǔ)言中可以調(diào)用程序模塊:函數(shù)、功能塊。函數(shù)

是個(gè)程序模塊,只有一個(gè)輸出,根據(jù)輸入可以唯一確定輸出。如:SFLOATADD_SFLOAT(SFLOATa,SFLOATb);

功能塊

是個(gè)程序模塊,有多個(gè)輸出,或輸出不但和當(dāng)前輸入有關(guān)還和上次內(nèi)部狀態(tài)有關(guān)如:voidBSC(SFLOATPV,UINTN,[OUT]SFLOATMV);如何調(diào)用??函數(shù)和功能塊ST語(yǔ)言中可以調(diào)用程序模塊:函數(shù)、功能塊。函數(shù)調(diào)用語(yǔ)句

ret=Func(in1,in2);

(*作為表達(dá)式返回值*)Func(in1,in2);(*作為子程序處理,函數(shù)返回值為空類型*)函數(shù)調(diào)用語(yǔ)句ret=Func(in1,in2);

(功能塊的調(diào)用語(yǔ)句

調(diào)用功能塊時(shí)要嚴(yán)格按照輸入輸出順序,先輸入輸入?yún)?shù),再輸入輸出參數(shù),參數(shù)順序按照定義時(shí)的順序。輸出參數(shù)必須是變量:

FuncBlock(in1,in2,out1,out2)功能塊的調(diào)用語(yǔ)句調(diào)用對(duì)于函數(shù)和功能塊,系統(tǒng)中有已經(jīng)定義好的標(biāo)準(zhǔn)庫(kù)函數(shù)及標(biāo)準(zhǔn)功能塊供我們使用,我們也可以使用ST語(yǔ)言來(lái)自己編制函數(shù)和功能塊。對(duì)于函數(shù)和功能塊,系統(tǒng)中有已經(jīng)定義好的標(biāo)準(zhǔn)庫(kù)函數(shù)及標(biāo)準(zhǔn)功函數(shù)定義

FUNCTION(定義函數(shù))FUNC3(函數(shù)名):BOOL(輸出變量屬性)VAR_INPUT

IN1:BOOL;(定義輸入變量和類型)END_VARVAR

TEMP1:BOOL;(函數(shù)執(zhí)行時(shí)用到的中間變量)END_VAR

FUNC3=DoSomething();END_FUNCTION(結(jié)束函數(shù)定義)函數(shù)定義FUNCTION(定義函數(shù))FUNC3(函數(shù)名)函數(shù)的示例例1:使用ST編制一個(gè)定時(shí)器清零的函數(shù)。形參為:CTROL1:BOOL;(*定時(shí)器清零開(kāi)關(guān):ON清零*)number1:INT;(*定時(shí)器序號(hào)*)CTROL2:BOOL;(*定時(shí)器清零開(kāi)關(guān):ON清零*)number2:INT;(*定時(shí)器序號(hào)*)實(shí)現(xiàn)的功能是當(dāng)開(kāi)關(guān)CTROL1按下時(shí)第number1號(hào)定時(shí)器清零;當(dāng)CTROL2按下時(shí)第number2號(hào)定時(shí)器清零。函數(shù)的示例例1:使用ST編制一個(gè)定時(shí)器清零的函數(shù)。功能塊定義

FUNCTION_BLOCK(定義功能塊)FB3(功能塊名)VAR_INPUT

IN1:BOOL;(定義輸入變量和類型)END_VARVAR_OUTPUT

OUT1:BOOL;(定義輸出變量和類型)END_VARVAR

TEMP1:BOOL;(定義中間變量和類型)END_VAR

DoSomething();END_FUNCTION_BLOCK(結(jié)束功能塊定義)功能塊定義FUNCTION_BLOCK(定義功能塊)FB功能塊的示例

例2:某測(cè)點(diǎn)為冗余控制,要求當(dāng)操作員將開(kāi)關(guān)K101打開(kāi)時(shí)(為ON),選擇測(cè)點(diǎn)1(LI1011)作為單回路LIC101的輸入信號(hào);當(dāng)操作員將開(kāi)關(guān)K101關(guān)閉時(shí)(為OFF),選擇測(cè)點(diǎn)1和測(cè)點(diǎn)2(LI1012)的平均值作為該回路的輸入信號(hào)?;芈返妮敵鰹檎{(diào)節(jié)閥LV101。請(qǐng)使用ST語(yǔ)言編寫自定義功能塊實(shí)現(xiàn)該功能,并完成該控制方案。功能塊的示例例2:某測(cè)點(diǎn)為冗余控制,要求當(dāng)操作員將開(kāi)關(guān)K1FUNCTION_BLOCKCHOICEVAR_INPUT IN1:SFLOAT; IN2:SFLOAT; K:BOOL;END_VARVAR_OUTPUTOUT:SFLOAT;END_VARVAREND_VARIFK=ONTHENOUT=IN1;ELSEOUT=AVE_SFLOAT(IN1,IN2);END_IF;END_FUNCTION_BLOCKFUNCTION_BLOCKCHOICE在FBD段落中調(diào)用該模塊實(shí)現(xiàn)控制方案如下:(設(shè)置自定義回路0作為該液位控制回路)在FBD段落中調(diào)用該模塊實(shí)現(xiàn)控制方案如下:(設(shè)置自定義回ST中可調(diào)用的函數(shù)和功能塊

ST語(yǔ)言編寫程序語(yǔ)句時(shí)可以調(diào)用各種模塊,如:標(biāo)準(zhǔn)函數(shù)、標(biāo)準(zhǔn)功能塊、STFUNCTION、STFUNCTION_BLOCK、LD和FBD生成的自定義功能塊。ST中可調(diào)用的函數(shù)和功能塊ST語(yǔ)言編寫程序語(yǔ)句時(shí)可以調(diào)用各標(biāo)準(zhǔn)函數(shù)庫(kù)

算術(shù)運(yùn)算比較運(yùn)算邏輯運(yùn)算類型轉(zhuǎn)換數(shù)學(xué)函數(shù)選擇函數(shù)混合運(yùn)算通訊輔助累積輔助折線表運(yùn)算輸入處理標(biāo)準(zhǔn)函數(shù)庫(kù)算術(shù)運(yùn)算通訊輔助比如:

SFLOATADD_SFLOAT(SFLOATa,SFLOATb);UINTMOVE_UINT(UINTa);SFLOATINT_TO_SFLOAT(INTa);SFLOATMAX_SFLOAT(SFLOATa,SFLOATb);比如:標(biāo)準(zhǔn)功能塊庫(kù)對(duì)于ST語(yǔ)言可用的系統(tǒng)功能塊,它們的使用方法與模塊庫(kù)中的功能塊的使用方法是一致的。比如:voidSR(BOOLS1,BOOLR,[OUT]BOOLQ1);voidBSC(SFLOATPV,UINTN,[OUT]SFLOATMV);標(biāo)準(zhǔn)功能塊庫(kù)對(duì)于ST語(yǔ)言可在ST的FUNCTION模塊中:可以調(diào)用其它STFUNCTION,允許嵌套可以調(diào)用標(biāo)準(zhǔn)函數(shù)模塊調(diào)用限制在ST的FUNCTION模塊中:可以調(diào)用其它STF可以調(diào)用其它STFUNCTION可以調(diào)用標(biāo)準(zhǔn)函數(shù)可以調(diào)用標(biāo)準(zhǔn)功能塊可以調(diào)用其它ST功能塊,不能嵌套在ST的FUNCTION_BLOCK模塊中:模塊調(diào)用限制可以調(diào)用其它STFUNCTION在ST的FUNCTI可以調(diào)用其它STFUNCTION可以調(diào)用標(biāo)準(zhǔn)函數(shù)可以調(diào)用標(biāo)準(zhǔn)功能塊可以調(diào)用其它ST功能塊可以調(diào)用各種編程語(yǔ)言生成的功能塊模塊調(diào)用限制在TEXTCODE模塊中:可以調(diào)用其它STFUNCTION模塊調(diào)用限制在TEXTC可以調(diào)用其它STFUNCTION可以調(diào)用標(biāo)準(zhǔn)函數(shù)可以調(diào)用標(biāo)準(zhǔn)功能塊可以調(diào)用其它ST功能塊可以調(diào)用各種編程語(yǔ)言生成的功能塊模塊調(diào)用限制在SFC中的=操作中:可以調(diào)用其它STFUNCTION模塊調(diào)用限制在SFC中的TEXTCODE模塊應(yīng)用示例

例6.3:有自定義單回路FIC101(回路序號(hào)為0),回路輸入位號(hào)為FI101,回路輸出位號(hào)為FV101。當(dāng)選擇開(kāi)關(guān)CH101為OFF時(shí)為正常單回路控制,當(dāng)選擇開(kāi)關(guān)CH101為ON時(shí)輸出調(diào)節(jié)閥FV101為固定閥位值,即當(dāng)開(kāi)關(guān)KI101為ON時(shí)將調(diào)節(jié)閥FV101開(kāi)至50%;當(dāng)開(kāi)關(guān)K101為OFF時(shí)將調(diào)節(jié)閥關(guān)閉。請(qǐng)使用ST語(yǔ)言實(shí)現(xiàn)該控制要求。TEXTCODE模塊應(yīng)用示例

例6.3:有自定義單回路FICBSC(FI101,0,FV101);IFCH101=ONTHENIFKI101=ONTHEN g_bsc[0].SwTV=ON;g_bsc[0].TV=0.5;g_bsc[0].SwTV=ON;g_bsc[0].TV=0.0;ELSEEND_IF;END_IF;BSC(FI101,0,FV101);ELSEEND_IF;七、自定義功能塊的

設(shè)計(jì)與使用七、自定義功能塊的

設(shè)計(jì)與使用主要內(nèi)容:概述自定義模塊設(shè)計(jì)與使用培訓(xùn)什么?主要內(nèi)容:概述培訓(xùn)什么?概述在SCCONTROL中可以使用功能塊編輯器或梯形圖編輯器來(lái)設(shè)計(jì)自定義功能塊。從編程角度看,自定義功能塊相當(dāng)于子程序。自定義功能塊內(nèi)部包含了用戶定義的程序邏輯,外部則由輸入輸出變量組成其框架。在自定義功能塊內(nèi)部可引用一個(gè)或多個(gè)功能塊或其他自定義功能塊,但其本身不能循環(huán)嵌套。作為自定義功能塊的外部接口輸入輸出變量數(shù)最大可以定義各32個(gè)。概述在SCCONTROL中可以使用功能塊編輯器或梯形圖編輯器基本步驟首先,新建段落,并選擇段類型為“模塊”。其次,定義該模塊的輸入輸出變量。另外如果需要,也可定義私有變量或全局變量等。再次,根據(jù)工藝要求編寫該模塊的內(nèi)部算法。可以選擇適合的編程元素按算法要求組合在一起,從而實(shí)現(xiàn)我們的控制要求。最后,對(duì)該段落保存、編譯。如果編譯成功,則回到組態(tài)軟件中進(jìn)行聯(lián)編;如果出錯(cuò),則應(yīng)查找錯(cuò)誤、修改程序直至編譯成功。新程序段FBDLD段名稱變量聲明基本步驟首先,新建段落,并選擇段類型為“模塊”。新程序段FB自定義模塊設(shè)計(jì)與使用例1:要求制作一個(gè)名為“點(diǎn)燈模塊”的自定義功能塊。當(dāng)操作員按下按鈕時(shí)以固定的時(shí)間間隔點(diǎn)亮5盞電燈。自定義模塊設(shè)計(jì)與使用例1:要求制作一個(gè)名為“點(diǎn)燈模塊”的自定義模塊設(shè)計(jì)與使用自定義模塊設(shè)計(jì)與使用自定義模塊設(shè)計(jì)與使用自定義模塊設(shè)計(jì)與使用八、程序調(diào)試八、程序調(diào)試主要內(nèi)容:概述調(diào)試培訓(xùn)什么?主要內(nèi)容:概述培訓(xùn)什么?概述

調(diào)試是對(duì)編寫的程序進(jìn)行檢驗(yàn)的過(guò)程,以確保編寫的程序滿足我們的控制要求。調(diào)試分靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試。概述調(diào)試是對(duì)編寫的程序進(jìn)行檢驗(yàn)的過(guò)程,以確保編寫的程序滿足靜態(tài)調(diào)試信息欄(出錯(cuò))

信息欄(成功)

方法:編譯程序

鼠標(biāo)雙擊會(huì)怎樣?靜態(tài)調(diào)試信息欄(出錯(cuò))信息欄(成功)方法:編譯程序鼠動(dòng)態(tài)調(diào)試組態(tài)保存,編譯,下載連接、調(diào)試變量調(diào)試動(dòng)態(tài)調(diào)試組態(tài)保存,編譯,下載動(dòng)態(tài)調(diào)試?yán)?:實(shí)現(xiàn)對(duì)PI102的手工置值。動(dòng)態(tài)調(diào)試?yán)?:實(shí)現(xiàn)對(duì)PI102的手工置值。動(dòng)態(tài)調(diào)試?yán)?:在以下梯形圖程序中對(duì)開(kāi)關(guān)量Y5手工置值。打開(kāi)變量調(diào)試窗口添加變量Y5、D5、D6、D7、D8、D9、D10,并觀察D5、D6、D7、D8、D9、D10的狀態(tài)。把Y5置為ON,觀察D5、D6、D7、D8、D9、D10的狀態(tài)變化。動(dòng)態(tài)調(diào)試?yán)?:在以下梯形圖程序中對(duì)開(kāi)關(guān)量Y5手工置值。打調(diào)試輔助工具

調(diào)試文本

調(diào)試輔助工具

調(diào)試文本如何實(shí)現(xiàn)在調(diào)試狀態(tài)下從一個(gè)段落快速切換到其它段落?如何實(shí)現(xiàn)在調(diào)試狀態(tài)下從一個(gè)段落快速切換到其它段落?調(diào)試輔助工具

跳轉(zhuǎn)按鈕

調(diào)試輔助工具

跳轉(zhuǎn)按鈕九、綜合編程應(yīng)用

九、綜合編程應(yīng)用常見(jiàn)編程應(yīng)用累積問(wèn)題BSC模塊實(shí)現(xiàn)串級(jí)控制聯(lián)鎖設(shè)計(jì)(輸入處理、濾波)編程注意事項(xiàng)

注釋文本 乘除運(yùn)算主要內(nèi)容:培訓(xùn)什么?常見(jiàn)編程應(yīng)用主要內(nèi)容:培訓(xùn)什么?累積量的處理實(shí)現(xiàn)流量累積的兩個(gè)辦法:1、模擬量組態(tài)流量累積(常規(guī))2、通過(guò)定義8字節(jié)變量,用模塊Total_Accum進(jìn)行累積。(程序?qū)崿F(xiàn))累積量的處理實(shí)現(xiàn)流量累積的兩個(gè)辦法:方法一方法一方法二方法二

系統(tǒng)工作時(shí),對(duì)位號(hào)首先轉(zhuǎn)換成不帶量程不帶單位的無(wú)因次數(shù),也就是說(shuō),流量信號(hào)首先被轉(zhuǎn)換成0-100%之間的數(shù),由于位號(hào)的下限為0,所以直接除以量程即可。TOTAL_ACCUM實(shí)際上是對(duì)這樣的一組百分?jǐn)?shù)每秒鐘累加一次。流量累積原理系統(tǒng)工作時(shí),對(duì)位號(hào)首先轉(zhuǎn)換成不帶量程不帶單位的無(wú)因累積的結(jié)果放在FQ101中,但是我們需要查看的累積值是需要把每一個(gè)流量的瞬時(shí)信號(hào)還原成實(shí)際測(cè)量值,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論