浙大中控DCS圖形化編程_第1頁(yè)
浙大中控DCS圖形化編程_第2頁(yè)
浙大中控DCS圖形化編程_第3頁(yè)
浙大中控DCS圖形化編程_第4頁(yè)
浙大中控DCS圖形化編程_第5頁(yè)
已閱讀5頁(yè),還剩246頁(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)介

1、一、圖形化軟件概述圖形化組態(tài)的作用?編寫自定義控制方案,如精餾、聯(lián)鎖反應(yīng)、燃燒等四種編程語(yǔ)言梯形圖( LD ) 順控圖(SFC) 功能塊圖( FBD ) ST語(yǔ)言 方式推薦方式:通過(guò)單擊組態(tài)軟件的算法,彈出自定義控制算法設(shè)置對(duì)話框, 點(diǎn)擊圖形編程中的“編輯”,啟動(dòng)圖形化編程軟件;工程欄工程欄信息欄信息欄工具欄工具欄菜單菜單欄欄編輯區(qū)編輯區(qū)編譯成功提示編譯出錯(cuò)提示狀態(tài)欄狀態(tài)欄 幫助二、圖形化編程基礎(chǔ)二、圖形化編程基礎(chǔ) 主要內(nèi)容:主要內(nèi)容:工程、段落、區(qū)段編程基本步驟程序運(yùn)行原理及執(zhí)行次序工程管理數(shù)據(jù)類型變量系統(tǒng)資源培訓(xùn)什么? 工程、段落、區(qū)段工程SControl用一個(gè)工程(Project)描述一

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

3、FBD FBD文件 .LAD LAD文件 .SFC SFC文件 .BIN 二進(jìn)制代碼文件 .C 臨時(shí)文件 .H 臨時(shí)文件 .EXP.EXT模塊導(dǎo)出文件 文件保存路徑 一個(gè)組態(tài)的相關(guān)文件必須保存在正確的文件夾下,否則在組態(tài)中進(jìn)行聯(lián)編時(shí)會(huì)出錯(cuò)。段落文件須保存在工程文件夾下;工程文件與工程文件夾須保存在組態(tài)文件夾下的“Control”文件夾下;1.“Control”文件夾須保存在組態(tài)文件夾下。 編程基本步驟基本步驟建立圖形化組態(tài)工程工程并與系統(tǒng)組態(tài)軟件建立關(guān)聯(lián);根據(jù)控制方案的特點(diǎn)及需要選擇合適的編輯器在建好的工程中新建段落段落,在段落中編寫程序編寫程序,編寫的過(guò)程中進(jìn)行保存;程序編寫完畢后,通過(guò)編譯

4、編譯檢查程序語(yǔ)法錯(cuò)誤,修改程序至程序編譯無(wú)誤;將程序下載下載到主控卡,聯(lián)機(jī)調(diào)試調(diào)試程序,使程序運(yùn)行時(shí)符合控制方案的要求;程序運(yùn)行原理及執(zhí)行次序程序運(yùn)行原理及執(zhí)行次序 圖形化自定義程序下載到控制站后,每隔一個(gè)運(yùn)行周期運(yùn)行一次。 控制站執(zhí)行程序時(shí),先判斷段落的執(zhí)行次序 ,對(duì)于段落中的執(zhí)行次序,先判斷區(qū)段的執(zhí)行次序,然后再判斷區(qū)段中各個(gè)編程元素的執(zhí)行次序。 新建工程工程與組態(tài)關(guān)聯(lián)段落新建及保存按編輯類型可將段落分類為qFBD段落qLD段落qSFC段落qST語(yǔ)言段落 按程序類型分可將段落分類為:q程序段落q模塊段落程序類型和段類型任務(wù)管理SControl以系統(tǒng)組態(tài)軟件中設(shè)置的控制周期為1Ts,即:如果

5、在系統(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ú)法比較。 可以對(duì)每個(gè)段落設(shè)置密碼進(jìn)行保護(hù)可以對(duì)每個(gè)段落設(shè)置密碼進(jìn)行保護(hù) 只有當(dāng)編輯界面打開后,才可以進(jìn)行設(shè)置密碼和刪除密碼的操作只有當(dāng)編輯界面打開后,才可以進(jìn)行設(shè)置密碼和刪除密碼的操作。 練習(xí)請(qǐng)大家花5分鐘的時(shí)間:1、熟悉軟件界面 2、新建一個(gè)工程3、使用不同的編輯器建立幾個(gè)段落4、改變段落的執(zhí)行周期5、調(diào)整段落的執(zhí)行次序數(shù)

6、據(jù)類型q圖形化軟件提供的變量數(shù)據(jù)類型半浮點(diǎn)2字節(jié)數(shù)據(jù)類型編輯器qSControl內(nèi)置數(shù)據(jù)類型編輯器,用戶可以用數(shù)據(jù)類型編輯器生成自己的數(shù)據(jù)類型,并可以在任何編輯變量類型的地方使用。q系統(tǒng)內(nèi)已預(yù)定義了部分?jǐn)?shù)據(jù)類型,這些數(shù)據(jù)類型只讀,用戶無(wú)法修改刪除。問(wèn)題? 模擬量輸入信號(hào)數(shù)據(jù)類型? structAI 模擬量輸入信號(hào)的PV成員數(shù)據(jù)類型? SFLOAT 開關(guān)量輸入信號(hào)數(shù)據(jù)類型? structDI 開關(guān)量輸入信號(hào)的VAL成員數(shù)據(jù)類型? BOOL變量分類變量按結(jié)構(gòu)分為: 基本變量:基本數(shù)據(jù)類型(如BOOL、SFLOAT、INT等)構(gòu)成的變量稱為基本變量。1. 復(fù)合變量:復(fù)合數(shù)據(jù)類型(如結(jié)構(gòu)體、數(shù)組等)所

7、對(duì)應(yīng)的變量為復(fù)合變量。變量分類變量按作用范圍分為:組態(tài)中定義的變量;全局變量(“工程”菜單下“變量編輯器”中定義);私有變量(“對(duì)象”菜單下“變量定義”中定義);輸入變量與輸出變量(“對(duì)象”菜單下“變量定義”中定義);變量聲明變量作用范圍SCControl中可以使用的變量有四類:組態(tài)中定義的變量作用范圍:整個(gè)組態(tài),包括圖形化工程和SCX語(yǔ)言程序、操作組態(tài)全局變量作用范圍:整個(gè)圖形化工程,包括各個(gè)段落私有變量作用范圍:只在該段落起作用 輸入變量與輸出變量作用范圍:只在自定義段落起作用變量查找q根據(jù)所查找目標(biāo)數(shù)據(jù)源的分類(當(dāng)前段、當(dāng)前工程)進(jìn)行變量、位號(hào)以及模塊的查詢。系統(tǒng)資源 位號(hào) 系統(tǒng)變量 單

8、回路控制模塊單回路控制模塊 串級(jí)回路控制模塊串級(jí)回路控制模塊 冷熱啟動(dòng)及下載組態(tài)標(biāo)冷熱啟動(dòng)及下載組態(tài)標(biāo)志志模入量位號(hào)成員 開入量位號(hào)成員名稱類型說(shuō)明VALBOOL測(cè)量值MANBOOL手自動(dòng)切換開關(guān)OFF:自動(dòng);ON:手動(dòng)MVALBOOL手動(dòng)輸入信號(hào)值FLAGBOOL質(zhì)量碼系統(tǒng)變量單回路控制模塊串級(jí)回路控制模塊串級(jí)回路控制模塊 冷熱啟動(dòng)及下載組態(tài)標(biāo)志 BOOL g_bHotStartup 熱啟動(dòng)標(biāo)志,熱啟動(dòng)時(shí)為ON,需要編程清0; BOOL g_bColdStartup 冷啟動(dòng)標(biāo)志,冷啟動(dòng)時(shí)為ON,需要編程清0; g_bDownUsrPrgFlag 下載用戶程序標(biāo)志,下載了用戶程序之后為ON,

9、需要編程清0; g_bDownCfgFlag 下載組態(tài)標(biāo)志,下載了組態(tài)(包括硬件組態(tài)、用戶程序組態(tài))后為ON,需要編程清0。提問(wèn) 需要在流程圖上顯示累積量,在哪里定義? 功能塊圖(FBD)概述 功能塊圖的程序結(jié)構(gòu)和執(zhí)行次序 FBD的編程元素 模塊庫(kù)介紹 常用模塊介紹 控制策略的FBD實(shí)現(xiàn) FBD編程注意事項(xiàng) 培訓(xùn)什么?主要內(nèi)容: FBD概述FBD是一種圖形化的編程語(yǔ)言FBD用功能和功能塊來(lái)構(gòu)建控制策略FBD直觀、易于維護(hù)IEC61131-3標(biāo)準(zhǔn)定義了FBD編程語(yǔ)言要素功能塊指包含內(nèi)部狀態(tài)的程序塊功能塊分為基本功能塊和自定義功能塊FFB都可用EN輸入和ENO輸出進(jìn)行配置FFB由帶有輸入和輸出的圖

10、形框來(lá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 = ENFBD段落:即一幅FBD圖FBD區(qū)段:有鏈路相連的元素的組合區(qū)段起始模塊:那些輸入只連接變量的模塊區(qū)段啟動(dòng)模塊:位置最上的起始模塊一個(gè)FBD段落可以包含一個(gè)或多個(gè)FBD區(qū)段 FBD程序結(jié)構(gòu)FBD執(zhí)行次序區(qū)段的執(zhí)行從啟動(dòng)模塊開始。區(qū)段內(nèi)的執(zhí)行次序由區(qū)段內(nèi)的數(shù)據(jù)流決定。段落中區(qū)段間的執(zhí)行次序由區(qū)段的啟動(dòng)模塊的位置決定。執(zhí)行次序由上到下。執(zhí)行次序 FBD編輯器-組態(tài)元素選擇連接線取反最近選擇

11、的功能塊功能塊選擇注釋文本調(diào)試文本跳轉(zhuǎn)按鈕FBD編輯器-IEC模塊庫(kù)算術(shù)運(yùn)算模塊比較運(yùn)算模塊轉(zhuǎn)換運(yùn)算模塊計(jì)數(shù)器模塊邏輯模塊數(shù)學(xué)模塊選擇模塊定時(shí)器模塊觸發(fā)器模塊FBD編輯器-輔助模塊庫(kù) 控制模塊 通訊輔助模塊 累積模塊 輸入處理 系統(tǒng)模塊 文本代碼模塊 輔助計(jì)算 電量轉(zhuǎn)換 信號(hào)選擇模塊 浮點(diǎn)處理模塊 FBD編輯器-自定義模塊庫(kù)自定義模塊庫(kù)收集了當(dāng)前工程所編輯的所有模塊。 FBD編輯器-附加庫(kù)附加庫(kù)主要包括一些特殊模塊、鍋爐模塊、造氣模塊、DEH模塊、智能通訊卡模塊供用戶使用注:DEH模塊、智能通訊卡模塊只供ECS-100X系統(tǒng)使用。下面我們介紹幾個(gè)較常用的模塊,其他模塊的使用可以參考相應(yīng)的幫助文

12、檔。算術(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ō)明。 例1:求溫度TI101(量程0600)和TI102(量程0600)的平均值,并將 運(yùn)算結(jié)果存放至自定義變量TT中。 算數(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(0500M3/h)和FI102(0600M3/h)的比值。 首先,新建浮點(diǎn)型變量BIZHI。 其

13、次,圖形化編程如下: 算術(shù)運(yùn)算-MOVE 算術(shù)運(yùn)算-MOVE 這個(gè)模塊相當(dāng)于賦值的功能。例如,我們將位號(hào)TI101的報(bào)警高限設(shè)定為0.9,則圖形化編程如下: 比較運(yùn)算-GT 比較運(yùn)算-GE 例如,當(dāng)壓力PT101(010KPa)超過(guò)80%時(shí)要求打開電磁閥KO101。 參考程序如下:轉(zhuǎn)換運(yùn)算SFLOAT_TO_FLOAT轉(zhuǎn)換運(yùn)算SFLOAT_TO_FLOAT 例:求溫度TI101(0600)和TI102(0800)的平均值,并將計(jì)算結(jié)果存放到自定義變量TT(0700)中。邏輯運(yùn)算-AND邏輯運(yùn)算-AND 例:要求當(dāng)三個(gè)開關(guān)KI101、KI102和KI103都打開時(shí)(為ON)啟動(dòng)電機(jī)KT101,否

14、則關(guān)閉KT101。數(shù)學(xué)函數(shù)-ABS數(shù)學(xué)函數(shù)-ABS 例:要求當(dāng)流量FT101(06000M3/h)超過(guò)或低于某個(gè)設(shè)定值的30%時(shí)產(chǎn)生報(bào)警(變量BJT=ON),該設(shè)定值為半浮點(diǎn)變量FF(06000M3/h)。選擇模塊-SEL選擇模塊-SEL 例:當(dāng)操作員將開關(guān)(一字節(jié)變量KT)打至OFF時(shí),選擇測(cè)點(diǎn)一(位號(hào)TI101)作為控制回路的輸入信號(hào);當(dāng)操作員將開關(guān)(一字節(jié)變量KT)打至ON時(shí),選擇測(cè)點(diǎn)二(位號(hào)TI102)作為控制回路的輸入信號(hào)。選擇模塊-MAX 選擇模塊-MAX 例:某裝置有3個(gè)溫度測(cè)點(diǎn),分別為TI101(0600)、TI102(0600)、TI103(0600),要求將最高的溫度信號(hào)作

15、為連鎖程序的判斷條件。當(dāng)溫度超過(guò)其量程的90%時(shí)打開電磁閥KO101。TON定時(shí)器模塊 定時(shí)器的基準(zhǔn)為控制周期,定時(shí)時(shí)間必須設(shè)置為運(yùn)行周期的整數(shù)倍。例:某連鎖控制程序,要求當(dāng)溫度TI105(01000) 超過(guò)600時(shí)打開電磁閥KO102。TOFF定時(shí)器模塊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。定時(shí)器-TP定時(shí)器-TP 該模塊用于產(chǎn)生持續(xù)時(shí)間一定的脈沖。定時(shí)器的基準(zhǔn)為控制周期,定時(shí)時(shí)間必須設(shè)置為運(yùn)行周期的整數(shù)倍。 例:請(qǐng)利用TP

16、模塊制作一個(gè)自復(fù)位按鈕,要求當(dāng)按下按鈕KT101后(即為ON)延時(shí)5秒種后將KT101復(fù)位(即為OFF)。RS觸發(fā)器模塊RS觸發(fā)器模塊RS模塊常用于連鎖程序的編制。 例:當(dāng)水位LI101(0200mm)高于量程的60%時(shí)打開放水閥門KO101,但要求操作員可以按下手動(dòng)開關(guān)(為ON時(shí))強(qiáng)行將該閥門關(guān)閉(用自定義變量MT表示該軟手動(dòng)開關(guān))。 SR觸發(fā)器模塊報(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。 累積函數(shù)-TOTAL_ACCUM累積函

17、數(shù)-TOTAL_ACCUM 例:有一流量信號(hào)FI101(0100M3/h),要求將該流量累積。 首先,我們定義一8字節(jié)累積量FQ101,量程100,單位M3,系數(shù)3600 其次,使用該模塊實(shí)現(xiàn)流量的累積。如下圖: 注:該模塊每秒鐘執(zhí)行一次,因此要求程序的執(zhí)行周期不大于0.5秒。 使用該模塊時(shí)必須保證流量信號(hào)的量程下限為0。累積函數(shù)-SUB_ACCUM累積函數(shù)-SUB_ACCUM 該模塊可用于累積量的清零。 例:將累積量FQ101清零。 參考程序如下:?jiǎn)位芈纺K-BSC 該模塊的功能是產(chǎn)生一個(gè)單回路PID控制。使用時(shí)與被控對(duì)象組成回路,以MV作為被控對(duì)象的輸入,以被控對(duì)象的輸出作為BSC模塊的輸

18、入PV;并正確的設(shè)置模塊的內(nèi)部參數(shù),可使測(cè)量值PV穩(wěn)定地等于給定值。單回路模塊-BSCX注:BSCX是BSC模塊的擴(kuò)展模塊,在BSC模塊的基礎(chǔ)上增加了該模塊的成員,便于用戶使用。 例:某單回路控制,回路輸入信號(hào)為溫度TI101(0600),回路輸出為調(diào)節(jié)閥FV101。 首先,聲明自定義單回路如下: 其次,進(jìn)行圖形化編程如下:例:某連鎖控制,當(dāng)壓力PT101(08KPa)超過(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)行自定義回路的聲明。文本代碼模塊-TEXTCO

19、DE 我們可以利用該模塊在功能塊圖編輯器或梯形圖編輯器中使用ST語(yǔ)言編輯器編寫文本代碼,使程序編制更為靈活。 ST語(yǔ)言的語(yǔ)法請(qǐng)參考ST編輯器。 雙擊該模塊,將彈出如下對(duì)話框,點(diǎn)擊“代碼”按鈕將彈出文本編輯器進(jìn)行程序編制??刂撇呗缘腇BD實(shí)現(xiàn) 例1:某連鎖控制,要求當(dāng)溫度TI101(0800)超過(guò)400時(shí),全開冷水調(diào)節(jié)閥TV101;當(dāng)溫度低于200時(shí)關(guān)閉冷水閥TV101。 例2:要求當(dāng)操作員打開開關(guān)K101(為ON)時(shí),開始對(duì)流量FT101(0600M3/h)進(jìn)行累積;當(dāng)操作員關(guān)閉該開關(guān)(為OFF)時(shí)停止累積,并對(duì)累積量清零。 我們?cè)O(shè)置自定義8字節(jié)累積量FQ101,圖形化編程如下: 例3:某溫度

20、控制單回路,回路輸入信號(hào)為溫度TI101(01000),回路輸出信號(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)。注意事項(xiàng)! 對(duì)于編程的時(shí)候經(jīng)常出現(xiàn)的一些錯(cuò)誤,你是否知道是怎么引起的?出現(xiàn)變量非法的提示?是否在變量定義的時(shí)候使用了非法字符?例如,PI-101;圖形化組態(tài)的時(shí)候不允許使用減號(hào)“-”,但是可以采用下劃線“_”注意事項(xiàng)!出現(xiàn)數(shù)據(jù)類型不匹配的提示?輸入輸出引腳所連接的數(shù)據(jù)與功能塊所要求的數(shù)據(jù)類型不匹配?例如 主要內(nèi)容:主要內(nèi)容:概念觸點(diǎn)線圈垂直連接線編程注意事項(xiàng)培訓(xùn)什么?梯形圖

21、概述梯形圖在原電器控制系統(tǒng)中的接觸器、繼電器梯形圖基礎(chǔ)上演變而來(lái),與電氣操作原理相呼應(yīng),形象、直觀和實(shí)用。觸點(diǎn)和線圈來(lái)構(gòu)建邏輯控制方案很容易將電氣聯(lián)鎖圖轉(zhuǎn)換為梯形圖程序聯(lián)鎖程序習(xí)慣使用梯形圖語(yǔ)言進(jìn)行編輯 LD編輯器程序結(jié)構(gòu)LD段落的設(shè)計(jì)對(duì)應(yīng)于繼電器開關(guān)的梯級(jí)(rung)。圖形的左邊是匯流條,相應(yīng)于梯級(jí)的相線,只有直接或間接與相線有開關(guān)量相連的元素在編程期間被“掃描”。右匯流條缺省不畫出,但可以認(rèn)為所有的線圈和FFB開關(guān)量輸出都接到右匯流條上,從而建立電流回路。 四個(gè)概念LD段落:即一幅LD圖,一個(gè)LD段落由若干個(gè)LD區(qū)段組成。LD區(qū)段:有鏈路相連的元素的組合。區(qū)段起始模塊:區(qū)段內(nèi)那些輸入只連接

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

23、點(diǎn)分類:常開觸點(diǎn)常閉觸點(diǎn)正跳變觸點(diǎn)負(fù)跳變觸點(diǎn)LD編輯器觸點(diǎn)不同類型的觸點(diǎn)有什么區(qū)別?不同類型的觸點(diǎn)有什么區(qū)別?LD編輯器觸點(diǎn)假設(shè)觸點(diǎn)對(duì)應(yīng)的變量為TEMP。 LD編輯器線圈認(rèn)識(shí)認(rèn)識(shí)SCCONTROLSCCONTROL的線圈:的線圈:線圈的特點(diǎn):線圈的特點(diǎn):每一個(gè)線圈都有一個(gè)變量和它對(duì)應(yīng),線圈的得每一個(gè)線圈都有一個(gè)變量和它對(duì)應(yīng),線圈的得電狀態(tài)決定了變量的狀態(tài)。電狀態(tài)決定了變量的狀態(tài)。變量變量線圈線圈LD編輯器線圈線圈的分類:線圈的分類:常開線圈常閉線圈置位線圈復(fù)位線圈正跳變線圈負(fù)跳變線圈LD編輯器線圈不同類型的線圈有什么區(qū)別?LD編輯器線圈假設(shè)線圈相關(guān)的變量為TEMP。LD編輯器垂直連接線垂直連接

24、線可以同時(shí)連接多個(gè)輸入和多個(gè)輸出,相當(dāng)于或的功能,連接線的左邊作為或的輸入,右邊作為或的輸出。垂直連接線上可以連接所有布爾量的數(shù)據(jù)鏈路,包括所有觸點(diǎn)、線圈及功能塊的布爾量引腳。編程示例3例3:當(dāng)開關(guān)DI101為ON,或者開關(guān)DI102為OFF時(shí)電機(jī)DJ101為ON;DI101為OFF,且DI102為 ON,則DJ101為OFF。編程示例3例4:有三個(gè)開關(guān)按紐K1、K2、K3。當(dāng)任何一個(gè)按鈕按下時(shí)(即為ON),其他按鈕均彈出(即為OFF)?編程示例4編程示例4編程示例5例5:開燈程序,KOSTART為開燈信號(hào)。當(dāng)KOSTART為ON時(shí)要求燈(KO1001)開5秒關(guān)5秒,交替閃爍。當(dāng)KOSTART

25、為OFF時(shí)燈(KO1001)關(guān)。編程示例5注意事項(xiàng)!所有的編程元素必須直接或間接的通過(guò)一個(gè)布爾輸入引腳連接到代表電流相線的左匯流條。 如下圖就是一個(gè)典型的錯(cuò)誤:注意事項(xiàng)!變量引用或連線時(shí)應(yīng)注意數(shù)據(jù)類型必須保持一致。SFCSFC概述概述SFCSFC的元素及其連接規(guī)則的元素及其連接規(guī)則步步轉(zhuǎn)換轉(zhuǎn)換 跳轉(zhuǎn)跳轉(zhuǎn) 擇一分支擇一分支/ /擇一結(jié)合擇一結(jié)合并行分支并行分支/ /并行結(jié)合并行結(jié)合SFCSFC控制變量控制變量SFCSFC的應(yīng)用的應(yīng)用 主要內(nèi)容:主要內(nèi)容:培訓(xùn)什么?SFC概貌SFC由步進(jìn)式順序控制器演變而來(lái)SFC是順序流程的圖形化表示SFC把流程分解為步和轉(zhuǎn)換SFC可以方便的實(shí)現(xiàn)批量過(guò)程控制SFC

26、診斷、排錯(cuò)方便,易于維護(hù)IEC61131-3標(biāo)準(zhǔn)規(guī)定了SFC編程要素SFC元素七種基本元素步類型步(Step)步是控制流程中相對(duì)獨(dú)立的一組操作的組合在步中可以定義隨意數(shù)目的操作步在緊接在前的轉(zhuǎn)換條件滿足時(shí)激活步在激活時(shí)才執(zhí)行相應(yīng)的操作步在緊接在后的轉(zhuǎn)換條件滿足時(shí)退出激活狀態(tài)A步的操作X轉(zhuǎn)換的條件B步的操作Y轉(zhuǎn)換的條件C步的操作Z轉(zhuǎn)換的條件滿足不滿足滿足滿足不滿足不滿足控制框圖: 如何將我們的任務(wù)交給 “步”去完成?SFC編輯器操作!操作! 步屬性對(duì)話框“步屬性”中可設(shè)置兩個(gè)功能:運(yùn)行時(shí)間、操作。 運(yùn)行時(shí)間在運(yùn)行時(shí)間的填充框中填入U(xiǎn)LONG 類型 的位號(hào)(變量),可以將該步的激活時(shí)間賦給該位號(hào)(

27、變量),時(shí)間單位是毫秒。 操作(Action)操作是對(duì)實(shí)際現(xiàn)場(chǎng)設(shè)備進(jìn)行的操縱一個(gè)步中可以有0個(gè)或多個(gè)操作操作的類型由操作限定詞來(lái)描述操作限定詞時(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ǔ)言程序。轉(zhuǎn)換(Transition)轉(zhuǎn)換指明控制從一個(gè)步轉(zhuǎn)移到下一步的條件當(dāng)轉(zhuǎn)換條件滿足時(shí),緊接在前的步從激活態(tài)變成不激活態(tài)。然后緊接在后的步將從不激活態(tài)轉(zhuǎn)變成激活

28、態(tài)只有當(dāng)緊接在前的步在激活狀態(tài)時(shí),轉(zhuǎn)換的條件才被測(cè)試轉(zhuǎn)換和步的連接圖例跳轉(zhuǎn)(Jump)跳轉(zhuǎn)允許程序從不同的步繼續(xù)執(zhí)行跳轉(zhuǎn)連接圖例順序跳轉(zhuǎn)順序跳轉(zhuǎn)順序回路順序回路 根據(jù)跳轉(zhuǎn)對(duì)象的不同,可以構(gòu)成順序跳轉(zhuǎn)和順序環(huán)路,但不能在不同的并行區(qū)域間跳轉(zhuǎn)。擇一分支擇一分支提供了在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è)分支的程序。擇一分支和

29、擇一接合必須一一對(duì)應(yīng)。分支必須結(jié)束于同一擇一接合或者結(jié)束于跳轉(zhuǎn),但至少有一個(gè)分支結(jié)束于擇一接合。擇一分支圖例例:根據(jù)如下要求編寫一段順控程序: 有兩個(gè)電機(jī)A、B,啟動(dòng)開關(guān)分別為KO101、KO102,ON時(shí)啟動(dòng)電機(jī),OFF時(shí)關(guān)閉電機(jī); 兩電機(jī)一開一備,工作/備用指示開關(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開反饋分別為KO101K、KO102K,ON時(shí)表示開到位,OFF表示未開到位。要求電機(jī)啟動(dòng)后,需確認(rèn)開反饋到位后方能進(jìn)入后續(xù)的順控程序。并行分支并行分支使流程中

30、幾個(gè)子流程同時(shí)進(jìn)行各分支的執(zhí)行不相互影響并行分支和并行接合必須一一對(duì)應(yīng)只有當(dāng)所有的分支的最后一步都激活時(shí),才測(cè)試并行接合緊接的轉(zhuǎn)換的條件是否滿足在并行結(jié)構(gòu)內(nèi)部的跳轉(zhuǎn)不能跳到并行結(jié)構(gòu)的外部。并行分支圖例例:根據(jù)如下要求編寫一段順控程序: 有兩個(gè)電機(jī)A、B,啟動(dòng)開關(guān)分別為KO101、KO102,ON時(shí)啟動(dòng)電機(jī),OFF時(shí)關(guān)閉電機(jī); 要求兩電機(jī)A、B同時(shí)啟動(dòng),其開反饋分別為KO101K、KO102K,ON時(shí)表示開到位,OFF表示未開到位。要求電機(jī)啟動(dòng)后,必須確認(rèn)開反饋已到位。 有一電機(jī)啟動(dòng)按鈕DJSTART,要求DJSTART置ON后,延遲5秒再啟動(dòng)兩電機(jī)。SFC控制變量復(fù)位變量 為ON時(shí),SFC程序

31、起始步被設(shè)置為激活步,其它步都強(qiáng)制變?yōu)椴患せ顮顟B(tà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控制變量保持(禁止轉(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í),步中的操

32、作才被執(zhí)行。控制變量只能選用在系統(tǒng)組態(tài)中定義的變量。每個(gè)SFC段落必須要設(shè)置復(fù)位變量,程序初次下載到控制站時(shí),必須對(duì)該復(fù)位變量賦ON,使程序從起始步開始執(zhí)行。其他控制變量可根據(jù)實(shí)際需要,做有選擇的設(shè)置。 練習(xí)時(shí)間例:現(xiàn)場(chǎng)有三臺(tái)電機(jī)正在使用,分別是電機(jī)1、電機(jī)2和電機(jī)3,他們的開關(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ò)程

33、完成后,才可以重新進(jìn)入開電機(jī)過(guò)程。STST語(yǔ)言概述語(yǔ)言概述STST語(yǔ)言的語(yǔ)法語(yǔ)言的語(yǔ)法自定義函數(shù)和功能塊自定義函數(shù)和功能塊STST語(yǔ)言中的模塊調(diào)用語(yǔ)言中的模塊調(diào)用STST語(yǔ)言在非語(yǔ)言在非STST段落中的應(yīng)用示例段落中的應(yīng)用示例 培訓(xùn)什么? 主要內(nèi)容:主要內(nèi)容:ST語(yǔ)言結(jié)構(gòu)化文本語(yǔ)言 IEC61131-3標(biāo)準(zhǔn)語(yǔ)言SCControl集成使用方法在工程中加入ST段落編制函數(shù)和模塊 在梯形圖和功能塊圖中插入文本代碼在順控圖步的操作中使用=操作限定詞 在順控圖轉(zhuǎn)換條件中使用ST邏輯表達(dá)式 數(shù)據(jù)類型變量類型 關(guān)鍵字 字節(jié)長(zhǎng)度 布爾類型 BOOL1字 WORD2雙字 DWORD4整數(shù) INT2無(wú)符號(hào)整數(shù) U

34、INT2長(zhǎng)整數(shù) LONG4無(wú)符號(hào)長(zhǎng)整數(shù)ULONG4半浮點(diǎn) SFLOAT2浮點(diǎn)FLOAT4數(shù)組 結(jié)構(gòu)標(biāo)識(shí)符以英文字母開頭 續(xù)以英文字母、數(shù)字或下劃線 字符長(zhǎng)度最多為24個(gè)字符 關(guān)鍵字(1)關(guān)鍵字描述CASEOFELSEEND_CASECASE 語(yǔ)句BOOL WORD DWORD INT LONGUINT ULONG SFLOAT FLOAT數(shù)據(jù)類型EXIT終止循環(huán)FALSE邏輯假FORTOBYDOEND_FORFOR語(yǔ)句FUNCTIONEND_FUNCTION函數(shù)定義FUNCTION_BLOCKEND_FUNCTION_BLOCK功能塊定義IFTHENELSEIFELSEEND_IFIF語(yǔ)句關(guān)鍵

35、字(2)ON邏輯真OFF邏輯假REPEATUNTILEND_REPEATREPEAT 語(yǔ)句RETURN函數(shù)返回TRUE邏輯真VAREND_VARVAR_INPUTEND_VARVAR_OUTPUTEND_VAR變量定義WHILEDOEND_WHILEWHILE語(yǔ)句運(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)算符(2)大于比較運(yùn)算4=大于等于比較運(yùn)算4=小于等于比較運(yùn)算4小于比較運(yùn)算4=等于比較運(yùn)算4不等于

36、比較運(yùn)算4AND與邏輯運(yùn)算3XOR異或邏輯運(yùn)算2OR或邏輯運(yùn)算1表達(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) 賦 值 比較等于 比較不等于 二次計(jì)算 = = = != 報(bào)表 = = SCX = = != ST = = := 賦值語(yǔ)句賦值語(yǔ)句將“=”右邊表達(dá)式的值賦給左邊的變量。賦值時(shí)可使用“=”或“:=”作為運(yùn)算符。舉例: A=4; (*將變量A賦值為4*) B:=4; (*將變量B賦值為4*)IF語(yǔ)句 IF A 0

37、THEN B = 1; (* B:=1; 亦可*) ELSEIF A -5 THEN B = 2; ELSE B := 3; END_IF; 規(guī)定了一組語(yǔ)句在規(guī)定的邏輯表達(dá)式為TRUE時(shí)執(zhí)行。CASE語(yǔ)句 CASE語(yǔ)句規(guī)定了整數(shù)類型的選擇項(xiàng),以及選擇項(xiàng)在不同的值時(shí)的幾組語(yǔ)句組。 CASE TW OF 1 : I = 1; (* 1:I:=1; 亦可*) 2 : I = 2; ELSE I = 3; END_CASE; FOR語(yǔ)句 FOR K = 1 TO 100 BY 2 DODOSOMETHING(); (*循環(huán)體*) END_FOR;循環(huán)語(yǔ)句,規(guī)定了終止條件和一組語(yǔ)句,當(dāng)終止條件沒有成TR

38、UE時(shí),這組語(yǔ)句被循環(huán)執(zhí)行。WHILE語(yǔ)句 J = 1; WHILE J = 100 DO J = J + 2; END_WHILE; 循環(huán)語(yǔ)句,規(guī)定了終止條件和一組語(yǔ)句,當(dāng)終止條件沒有成TRUE時(shí),這組語(yǔ)句被循環(huán)執(zhí)行。REPEAT語(yǔ)句 J = 1; REPEAT J = J + 2; UNTIL J = 101 END_REPEAT; 終止條件的判斷在語(yǔ)句組執(zhí)行一次后才進(jìn)行,所以規(guī)定的語(yǔ)句組至少會(huì)執(zhí)行一次。當(dāng)終止條件成TRUE時(shí),循環(huán)被終止。函數(shù)和功能塊ST語(yǔ)言中可以調(diào)用程序模塊:函數(shù)、功能塊。函數(shù) 是個(gè)程序模塊,只有一個(gè)輸出,根據(jù)輸入可以唯一確定輸出。如:SFLOAT ADD_SFLOAT

39、(SFLOAT a,SFLOAT b); 功能塊 是個(gè)程序模塊,有多個(gè)輸出,或輸出不但和當(dāng)前輸入有關(guān)還和上次內(nèi)部狀態(tài)有關(guān)如:void BSC(SFLOAT PV,UINT N,OUT SFLOAT MV); 如何調(diào)用?函數(shù)調(diào)用語(yǔ)句 ret = Func(in1,in2); (*作為表達(dá)式返回值*) Func(in1,in2);(*作為子程序處理,函數(shù)返回值為空類型*) 功能塊的調(diào)用語(yǔ)句 調(diào)用功能塊時(shí)要嚴(yán)格按照輸入輸出順序,先輸入輸入?yún)?shù),再輸入輸出參數(shù),參數(shù)順序按照定義時(shí)的順序。 輸出參數(shù)必須是變量: FuncBlock(in1,in2,out1,out2) 對(duì)于函數(shù)和功能塊,系統(tǒng)中有已經(jīng)定義

40、好的標(biāo)準(zhǔn)庫(kù)函數(shù)及標(biāo)準(zhǔn)功能塊供我們使用,我們也可以使用ST語(yǔ)言來(lái)自己編制函數(shù)和功能塊。函數(shù)定義FUNCTION(定義函數(shù)) FUNC3(函數(shù)名): BOOL(輸出變量屬性) VAR_INPUT IN1:BOOL; (定義輸入變量和類型)END_VAR VAR TEMP1 : BOOL;(函數(shù)執(zhí)行時(shí)用到的中間變量)END_VAR FUNC3 = DoSomething();END_FUNCTION (結(jié)束函數(shù)定義)函數(shù)的示例 例1:使用ST編制一個(gè)定時(shí)器清零的函數(shù)。 形參為: CTROL1:BOOL; (*定時(shí)器清零開關(guān):ON清零*) number1:INT; (*定時(shí)器序號(hào)*) CTROL2:B

41、OOL; (*定時(shí)器清零開關(guān):ON清零*) number2:INT; (*定時(shí)器序號(hào)*) 實(shí)現(xiàn)的功能是當(dāng)開關(guān)CTROL1按下時(shí)第number1號(hào)定時(shí)器清零;當(dāng)CTROL2按下時(shí)第number2號(hào)定時(shí)器清零。功能塊定義FUNCTION_BLOCK(定義功能塊) FB3(功能塊名)VAR_INPUT IN1:BOOL; (定義輸入變量和類型)END_VAR VAR_OUTPUT OUT1 : BOOL; (定義輸出變量和類型)END_VAR VAR TEMP1 : BOOL; (定義中間變量和類型)END_VAR DoSomething();END_FUNCTION_BLOCK (結(jié)束功能塊定義)

42、功能塊的示例 例2:某測(cè)點(diǎn)為冗余控制,要求當(dāng)操作員將開關(guān)K101打開時(shí)(為ON),選擇測(cè)點(diǎn)1(LI1011)作為單回路LIC101的輸入信號(hào);當(dāng)操作員將開關(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)該功能,并完成該控制方案。FUNCTION_BLOCK CHOICEVAR_INPUTIN1:SFLOAT;IN2:SFLOAT;K:BOOL;END_VARVAR_OUTPUT OUT:SFLOAT;END_VARVAREND_VAR IF K=ON THEN OUT=IN1; ELS

43、E OUT=AVE_SFLOAT(IN1,IN2); END_IF;END_FUNCTION_BLOCK 在FBD段落中調(diào)用該模塊實(shí)現(xiàn)控制方案如下:(設(shè)置自定義回路0作為該液位控制回路)ST中可調(diào)用的函數(shù)和功能塊ST語(yǔ)言編寫程序語(yǔ)句時(shí)可以調(diào)用各種模塊,如:標(biāo)準(zhǔn)函數(shù)、標(biāo)準(zhǔn)功能塊、 ST FUNCTION、ST FUNCTION_BLOCK、 LD和FBD生成的自定義功能塊。標(biāo)準(zhǔn)函數(shù)庫(kù)算術(shù)運(yùn)算比較運(yùn)算邏輯運(yùn)算類型轉(zhuǎn)換數(shù)學(xué)函數(shù)選擇函數(shù)混合運(yùn)算通訊輔助累積輔助折線表運(yùn)算輸入處理 比如: SFLOAT ADD_SFLOAT(SFLOAT a,SFLOAT b); UINT MOVE_UINT(UINT

44、a); SFLOAT INT_TO_SFLOAT(INT a); SFLOAT MAX_SFLOAT(SFLOAT a,SFLOAT b); 標(biāo)準(zhǔn) 功能塊庫(kù)對(duì)于ST語(yǔ)言可用的系統(tǒng)功能塊,它們的使用方法與模塊庫(kù)中的功能塊的使用方法是一致的。比如:void SR(BOOL S1,BOOL R,OUTBOOL Q1); void BSC(SFLOAT PV,UINT N,OUT SFLOAT MV);在ST 的 FUNCTION 模塊中:可以調(diào)用其它 ST FUNCTION,允許嵌套 可以調(diào)用標(biāo)準(zhǔn)函數(shù) 模塊調(diào)用限制可以調(diào)用其它 ST FUNCTION可以調(diào)用標(biāo)準(zhǔn)函數(shù) 可以調(diào)用標(biāo)準(zhǔn)功能塊 可以調(diào)用其它

45、 ST 功能塊,不能嵌套在ST 的 FUNCTION_BLOCK 模塊中:模塊調(diào)用限制可以調(diào)用其它 ST FUNCTION可以調(diào)用標(biāo)準(zhǔn)函數(shù) 可以調(diào)用標(biāo)準(zhǔn)功能塊 可以調(diào)用其它 ST 功能塊可以調(diào)用各種編程語(yǔ)言生成的功能塊 模塊調(diào)用限制在TEXTCODE 模塊中:可以調(diào)用其它 ST FUNCTION可以調(diào)用標(biāo)準(zhǔn)函數(shù) 可以調(diào)用標(biāo)準(zhǔn)功能塊 可以調(diào)用其它 ST 功能塊可以調(diào)用各種編程語(yǔ)言生成的功能塊 模塊調(diào)用限制在SFC中的 = 操作中:TEXTCODE模塊應(yīng)用示例例6.3:有自定義單回路FIC101(回路序號(hào)為0),回路輸入位號(hào)為FI101,回路輸出位號(hào)為FV101。 當(dāng)選擇開關(guān)CH101為OFF時(shí)為

46、正常單回路控制,當(dāng)選擇開關(guān)CH101為ON時(shí)輸出調(diào)節(jié)閥FV101為固定閥位值,即當(dāng)開關(guān)KI101為ON時(shí)將調(diào)節(jié)閥FV101開至50%;當(dāng)開關(guān)K101為OFF時(shí)將調(diào)節(jié)閥關(guān)閉。請(qǐng)使用ST語(yǔ)言實(shí)現(xiàn)該控制要求。 BSC(FI101,0,FV101);IF CH101=ON THEN IF KI101=ON THEN g_bsc0.SwTV=ON; g_bsc0.TV=0.5; g_bsc0.SwTV=ON; g_bsc0.TV=0.0;ELSEEND_IF;END_IF;七、自定義功能塊的七、自定義功能塊的設(shè)計(jì)與使用設(shè)計(jì)與使用 主要內(nèi)容:主要內(nèi)容:概述自定義模塊設(shè)計(jì)與使用培訓(xùn)什么?概述在SCCONTR

47、OL中可以使用功能塊編輯器或梯形圖編輯器來(lái)設(shè)計(jì)自定義功能塊。從編程角度看,自定義功能塊相當(dāng)于子程序。自定義功能塊內(nèi)部包含了用戶定義的程序邏輯,外部則由輸入輸出變量組成其框架。在自定義功能塊內(nèi)部可引用一個(gè)或多個(gè)功能塊或其他自定義功能塊,但其本身不能循環(huán)嵌套。作為自定義功能塊的外部接口輸入輸出變量數(shù)最大可以定義各32個(gè)?;静襟E首先,新建段落,并選擇段類型為“模塊”。其次,定義該模塊的輸入輸出變量。另外如果需要,也可定義私有變量或全局變量等。再次,根據(jù)工藝要求編寫該模塊的內(nèi)部算法??梢赃x擇適合的編程元素按算法要求組合在一起,從而實(shí)現(xiàn)我們的控制要求。最后,對(duì)該段落保存、編譯。如果編譯成功,則回到組態(tài)

48、軟件中進(jìn)行聯(lián)編;如果出錯(cuò),則應(yīng)查找錯(cuò)誤、修改程序直至編譯成功。新程序段新程序段FBD LDFBD LD段名稱段名稱變量聲明變量聲明自定義模塊設(shè)計(jì)與使用 例例1 1:要求制作一個(gè)名為“點(diǎn)燈模塊”的自定義功能塊。當(dāng)操作員按下按鈕時(shí)以固定的時(shí)間間隔點(diǎn)亮5盞電燈。自定義模塊設(shè)計(jì)與使用自定義模塊設(shè)計(jì)與使用八、程序調(diào)試八、程序調(diào)試 主要內(nèi)容:主要內(nèi)容:概述調(diào)試培訓(xùn)什么?概述 調(diào)試是對(duì)編寫的程序進(jìn)行檢驗(yàn)的過(guò)程,以確保編寫的程序滿足我們的控制要求。調(diào)試分靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試。靜態(tài)調(diào)試 信息欄(出錯(cuò)) 信息欄(成功) 方法:編譯程序 鼠標(biāo)雙擊會(huì)怎樣?鼠標(biāo)雙擊會(huì)怎樣?動(dòng)態(tài)調(diào)試組態(tài)保存,編譯,下載連接、調(diào)試 變量調(diào)試

49、 動(dòng)態(tài)調(diào)試?yán)?:實(shí)現(xiàn)對(duì)PI102的手工置值。動(dòng)態(tài)調(diào)試 例2:在以下梯形圖程序中對(duì)開關(guān)量Y5手工置值。打開變量調(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)變化。調(diào)試輔助工具調(diào)試文本 如何實(shí)現(xiàn)在調(diào)試狀態(tài)下從一個(gè)段落快速切換到其它段落? 調(diào)試輔助工具跳轉(zhuǎn)按鈕 九、綜合編程應(yīng)用九、綜合編程應(yīng)用 常見編程應(yīng)用 累積問(wèn)題 BSC模塊實(shí)現(xiàn)串級(jí)控制 聯(lián)鎖設(shè)計(jì)(輸入處理、濾波) 編程注意事項(xiàng) 注釋文本 乘除運(yùn)算 主要內(nèi)容:主要內(nèi)容:培訓(xùn)什么?累積量的處理累積量的處理 實(shí)現(xiàn)流量累積的兩個(gè)

50、辦法:1、模擬量組態(tài)流量累積(常規(guī))2、通過(guò)定義8字節(jié)變量,用模塊 Total_Accum進(jìn)行累積 。(程序?qū)崿F(xiàn))方法一方法一方法二方法二 系統(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ù)每秒鐘累加一次。流量累積原理 累積的結(jié)果放在FQ101中,但是我們需要查看的累積值是需要把每一個(gè)流量的瞬時(shí)信號(hào)還原成實(shí)際測(cè)量值,所以系統(tǒng)進(jìn)行處理時(shí),要將累積計(jì)算的結(jié)果FQ101乘以量程除以系數(shù)然后再顯示在操作站上。 所以請(qǐng)注意,這樣的累積模塊只能直接使用在流量信號(hào)下限為0的場(chǎng)合。 舉個(gè)例子:對(duì)FI101進(jìn)行流量累積并將累積結(jié)果存放于FQ101中。其中:FI101 50-100m3/h,F(xiàn)Q101(自定義8字節(jié)),單位m3。首先: 設(shè)置自定義8字節(jié)變量FQ101,量程100,系數(shù)3600 自定義一個(gè)2字節(jié)半浮點(diǎn)

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論