浙大中控DCS圖形化演示課件_第1頁
浙大中控DCS圖形化演示課件_第2頁
浙大中控DCS圖形化演示課件_第3頁
浙大中控DCS圖形化演示課件_第4頁
浙大中控DCS圖形化演示課件_第5頁
已閱讀5頁,還剩245頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

2、ontrol用一個工程(Project)描述一個控制 站的所有程序。 每個工程唯一對應一個控制站,工程必須指定 其對應的控制站地址。 段落 工程包含一個或多個段落(Section)。 SControl通過任務管理來管理多個段落文件, 在工程文件中保存配置信息 。 段落是通常意義上的一個文檔,是組成工程 的基本單位。 新建段落時必須指定段落的編輯類型和程序 類型。 區(qū)段 區(qū)段指在同一段落中有數(shù)據(jù)信號相連的元素的總和。 一個段落可以包含一個或多個區(qū)段(SFC段落只有一個 區(qū)段)。 區(qū)段只是一個表示段落中元素間關系的概念,新建區(qū) 段不會生成任何新文件。 工程、段落和區(qū)段的關系 工程 段落 區(qū)段 組態(tài)

3、文件說明 軟件(產(chǎn)生文件) 文件擴展名文件說明 SControl軟件 .PRJ 工程文件 .FBD FBD文件 .LAD LAD文件 .SFC SFC文件 .BIN 二進制代碼文件 .C 臨時文件 .H 臨時文件 .EXP .EXT 模塊導出文件 文件保存路徑 一個組態(tài)的相關文件 必須保存在正確的文件夾 下,否則在組態(tài)中進行聯(lián) 編時會出錯。 段落文件須保存在工程文 件夾下; 工程文件與工程文件夾須 保存在組態(tài)文件夾下的 “Control”文件夾下; 1.“Control”文件夾須保 存在組態(tài)文件夾下。 編程基本步驟 基本步驟 建立圖形化組態(tài)工程工程并與系統(tǒng)組態(tài)軟件建立關 聯(lián); 根據(jù)控制方案的特

4、點及需要選擇合適的編輯器 在建好的工程中新建段落段落,在段落中編寫程序編寫程序, 編寫的過程中進行保存; 程序編寫完畢后,通過編譯編譯檢查程序語法錯誤, 修改程序至程序編譯無誤; 將程序下載下載到主控卡,聯(lián)機調(diào)試調(diào)試程序,使程序 運行時符合控制方案的要求; 程序運行原理及執(zhí)行次序程序運行原理及執(zhí)行次序 圖形化自定義程序下載到控制站后,每隔 一個運行周期運行一次。 控制站執(zhí)行程序時,先判斷段落的執(zhí)行次序 , 對于段落中的執(zhí)行次序,先判斷區(qū)段的執(zhí)行次 序,然后再判斷區(qū)段中各個編程元素的執(zhí)行次序。 新建工程 工程與組態(tài)關聯(lián) 段落新建及保存 按編輯類型可將段落分類為 qFBD段落 qLD段落 qSFC

5、段落 qST語言段落 按程序類型分可將段落分類為: q程序段落 q模塊段落 程序類型和段類型 任務管理 SControl以系統(tǒng)組態(tài)軟件中設置的控制周期為 1Ts,即:如果在系統(tǒng)組態(tài)軟件的組態(tài)過程中設 置了控制周期為0.1s,則1Ts = 0.1s. 用戶還可通過操作“移到隊首”、“上移”、 “下移”、“移到隊尾”等操作設置同一運行周 期各程序運行的優(yōu)先級,即排在隊列靠前的同一 運行周期程序比排在隊列靠后的程序優(yōu)先執(zhí)行。 不同運行周期的程序之間的優(yōu)先級無法比較。 可以對每個段落設置密碼進行保護可以對每個段落設置密碼進行保護 只有當編輯界面打開后,才可以進行設置密碼和刪除密碼的操作只有當編輯界面打

6、開后,才可以進行設置密碼和刪除密碼的操作。 練習 請大家花5分鐘的時間: 1、熟悉軟件界面 2、新建一個工程 3、使用不同的編輯器建立幾個段落 4、改變段落的執(zhí)行周期 5、調(diào)整段落的執(zhí)行次序 數(shù)據(jù)類型 q圖形化軟件提供的變量數(shù)據(jù)類型 半浮點2字節(jié) 數(shù)據(jù)類型編輯器 qSControl內(nèi)置數(shù)據(jù)類型編輯器,用戶可以用數(shù)據(jù)類型 編輯器生成自己的數(shù)據(jù)類型,并可以在任何編輯變量 類型的地方使用。 q系統(tǒng)內(nèi)已預定義了部分數(shù)據(jù)類型,這些數(shù)據(jù)類型只讀, 用戶無法修改刪除。 問題? 模擬量輸入信號數(shù)據(jù)類型? structAI 模擬量輸入信號的PV成員數(shù)據(jù)類型? SFLOAT 開關量輸入信號數(shù)據(jù)類型? struct

7、DI 開關量輸入信號的VAL成員數(shù)據(jù)類型? BOOL 變量分類 變量按結構分為: 基本變量:基本數(shù)據(jù)類型(如BOOL、 SFLOAT、INT等)構成的變量稱為基本變量。 1. 復合變量:復合數(shù)據(jù)類型(如結構體、數(shù) 組等)所對應的變量為復合變量。 變量分類 變量按作用范圍分為: 組態(tài)中定義的變量; 全局變量(“工程”菜單下“變量編輯器” 中定義); 私有變量(“對象”菜單下“變量定義”中 定義); 輸入變量與輸出變量(“對象”菜單下“變 量定義”中定義); 變量聲明 變量作用范圍 SCControl中可以使用的變量有四類: 組態(tài)中定義的變量 作用范圍:整個組態(tài),包括圖形化工程和SCX語言 程序、

8、操作組態(tài) 全局變量 作用范圍:整個圖形化工程,包括各個段落 私有變量 作用范圍:只在該段落起作用 輸入變量與輸出變量 作用范圍:只在自定義段落起作用 變量查找 q根據(jù)所查找目標數(shù)據(jù)源的分類(當前段、當 前工程)進行變量、位號以及模塊的查詢。 系統(tǒng)資源 位號 系統(tǒng)變量 單回路控制模塊單回路控制模塊 串級回路控制模塊串級回路控制模塊 冷熱啟動及下載組態(tài)標冷熱啟動及下載組態(tài)標 志志 模入量位號成員 開入量位號成員 名稱類型說明 VALBOOL測量值 MANBOOL手自動切換 開關 OFF:自動 ;ON: 手動 MVALBOOL手動輸入信 號值 FLAGBOOL質(zhì)量碼 系統(tǒng)變量 單回路控制模塊 串級回

9、路控制模塊 串級回路控制模塊 冷熱啟動及下載組態(tài)標志 BOOL g_bHotStartup 熱啟動標志,熱啟動時為ON,需要編程清0; BOOL g_bColdStartup 冷啟動標志,冷啟動時為ON,需要編程清0; g_bDownUsrPrgFlag 下載用戶程序標志,下載了用戶程序之后為ON, 需要編程清0; g_bDownCfgFlag 下載組態(tài)標志,下載了組態(tài)(包括硬件組態(tài)、用 戶程序組態(tài))后為ON,需要編程清0。 提問 需要在流程圖上顯示累積量,在哪里定義? 功能塊圖(FBD)概述 功能塊圖的程序結構和執(zhí)行次序 FBD的編程元素 模塊庫介紹 常用模塊介紹 控制策略的FBD實現(xiàn) FB

10、D編程注意事項 培訓什么? 主要內(nèi)容: FBD概述 FBD是一種圖形化的編程語言 FBD用功能和功能塊來構建控制策略 FBD直觀、易于維護 IEC61131-3標準定義了FBD編程語言要素 功能塊指包含內(nèi)部狀態(tài)的程序塊 功能塊分為基本功能塊和自定義功能塊 FFB都可用EN輸入和ENO輸出進行配置 FFB由帶有輸入和輸出的圖形框來描述 FBD概述 EN和ENO(使能) EN是功能塊的缺省的第0號輸入。 ENO是功能塊缺省的第0號輸出。 可以隱藏EN和ENO引腳。 如果當調(diào)用功能塊時EN值等于ON時,則由FFB 定義的算法才被執(zhí)行。 ENO = EN FBD段落:即一幅FBD圖 FBD區(qū)段:有鏈路

11、相連的元素的組合 區(qū)段起始模塊:那些輸入只連接變量的模塊 區(qū)段啟動模塊:位置最上的起始模塊 一個FBD段落可以包含一個或多個FBD區(qū)段 FBD程序結構 FBD執(zhí)行次序 區(qū)段的執(zhí)行從啟動模塊開始。 區(qū)段內(nèi)的執(zhí)行次序由區(qū)段內(nèi)的數(shù)據(jù)流決定。 段落中區(qū)段間的執(zhí)行次序由區(qū)段的啟動模塊的 位置決定。執(zhí)行次序由上到下。 執(zhí)行次序 FBD編輯器-組態(tài)元素 選擇 連接線 取反 最近選擇的功能塊 功能塊選擇 注釋文本 調(diào)試文本 跳轉按鈕 FBD編輯器-IEC模塊庫 算術運算模塊 比較運算模塊 轉換運算模塊 計數(shù)器模塊 邏輯模塊 數(shù)學模塊 選擇模塊 定時器模塊 觸發(fā)器模塊 FBD編輯器-輔助模塊庫 控制模塊 通訊輔

12、助模塊 累積模塊 輸入處理 系統(tǒng)模塊 文本代碼模塊 輔助計算 電量轉換 信號選擇模塊 浮點處理模塊 FBD編輯器-自定義模塊庫 自定義模塊庫收集了 當前工程所編輯的所 有模塊。 FBD編輯器-附加庫 附加庫主要包括一些特殊模塊、鍋爐模塊、造氣模塊、DEH模塊、 智能通訊卡模塊供用戶使用 注:DEH模塊、智能通訊卡模塊只供ECS-100X系統(tǒng)使用。 下面我們介紹幾個較常用的模塊,其他模塊的使 用可以參考相應的幫助文檔。 算術運算-ADD 在使用這個模塊的時候,要注意模塊的輸入、輸出 變量的數(shù)據(jù)類型。 該模塊可以有多個輸入?yún)?shù),我們可以用鼠標拖動 模塊下方的黑點來增加或減少輸入變量 。 可以通過點

13、擊“顯示EN/ENO”隱藏EN/ENO引腳。 可以通過點擊“幫助”按鈕來查看該模塊的使用說 明。 例1:求溫度TI101(量程0600)和 TI102(量程0600)的平均值,并將 運算結果存放至自定義變量TT中。 算數(shù)運算-DIV 算數(shù)運算-DIV 除法運算時應注意其運算結果應在半浮點 數(shù)據(jù)類型的表示范圍內(nèi)。 例:要求計算流量FI101(0500M3/h)和FI102 (0600M3/h)的比值。 首先,新建浮點型變量BIZHI。 其次,圖形化編程如下: 算術運算-MOVE 算術運算-MOVE 這個模塊相當于賦值的功能。例如,我們將位 號TI101的報警高限設定為0.9,則圖形化編程如下:

14、比較運算-GT 比較運算-GE 例如,當壓力PT101(010KPa)超過80%時要求打 開電磁閥KO101。 參考程序如下: 轉換運算SFLOAT_TO_FLOAT 轉換運算SFLOAT_TO_FLOAT 例:求溫度TI101(0600)和TI102(0800) 的平均值,并將計算結果存放到自定義變量TT (0700)中。 邏輯運算-AND 邏輯運算-AND 例:要求當三個開關KI101、KI102和KI103都打開 時(為ON)啟動電機KT101,否則關閉KT101。 數(shù)學函數(shù)-ABS 數(shù)學函數(shù)-ABS 例:要求當流量FT101(06000M3/h)超過或低于 某個設定值的30%時產(chǎn)生報警

15、(變量BJT=ON),該 設定值為半浮點變量FF(06000M3/h)。 選擇模塊-SEL 選擇模塊-SEL 例:當操作員將開關(一字節(jié)變量KT)打至OFF時, 選擇測點一(位號TI101)作為控制回路的輸入信 號;當操作員將開關(一字節(jié)變量KT)打至ON時, 選擇測點二(位號TI102)作為控制回路的輸入信 號。 選擇模塊-MAX 選擇模塊-MAX 例:某裝置有3個溫度測點,分別為TI101 (0600)、TI102(0600)、TI103 (0600),要求將最高的溫度信號作為連鎖程 序的判斷條件。當溫度超過其量程的90%時打開電 磁閥KO101。 TON定時器模塊 定時器的基準為控制周

16、期,定時時間必須設置 為運行周期的整數(shù)倍。 例:某連鎖控制程序,要求當溫度TI105(01000) 超過600時打開電磁閥KO102。 TOFF定時器模塊 TOFF定時器模塊 注意,當延時時間到達之后輸出 為OFF狀態(tài)。 定時器的基準為控制周期,定 時時間必須設置為運行周期的整 數(shù)倍。 例:要求當電機KT101跳閘時(由ON變?yōu)镺FF),延時5 秒種后點亮報警指示燈TT。 定時器-TP 定時器-TP 該模塊用于產(chǎn)生持續(xù)時間一定的脈沖。 定時器的基準為控制周期,定時時間必須設置為運行周期 的整數(shù)倍。 例:請利用TP模塊制作一個自復位按鈕,要求當 按下按鈕KT101后(即為ON)延時5秒種后將KT

17、101 復位(即為OFF)。 RS觸發(fā)器模塊 RS觸發(fā)器模塊 RS模塊常用于連鎖程序的 編制。 例:當水位LI101(0200mm)高于量程的60%時 打開放水閥門KO101,但要求操作員可以按下手 動開關(為ON時)強行將該閥門關閉(用自定 義變量MT表示該軟手動開關)。 SR觸發(fā)器模塊 報警模塊-AIALM 報警模塊-AIALM 每個模擬量輸入位號都有自己的質(zhì)量碼, 主要用于位號的報警分析,在圖形化組態(tài) 中質(zhì)量碼為WORD類型。 例:當溫度TE105超過高高限或低于低低限時將變 量THL置為ON。 累積函數(shù)-TOTAL_ACCUM 累積函數(shù)-TOTAL_ACCUM 例:有一流量信號FI10

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

19、參數(shù),可使測量值PV 穩(wěn)定地等于給定值。 單回路模塊-BSCX 注:BSCX是BSC模塊的擴展模塊, 在BSC模塊的基礎上增加了該模塊 的成員,便于用戶使用。 例:某單回路控制,回路輸入信號為溫度TI101 (0600),回路輸出為調(diào)節(jié)閥FV101。 首先,聲明自定義單回路如下: 其次,進行圖形化編程如下: 例:某連鎖控制,當壓力PT101(08KPa)超過5KPa 時將回路PTC101強制切為手動?;芈稰TC101的輸 入信號為PT101,輸出位號為PV101。 首先將工程值轉化成半浮點數(shù),5KPa對應的半 浮點值為0.625。 其次進行自定義回路的聲明。 文本代碼模塊-TEXTCODE 我

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

21、例3:某溫度控制單回路,回路輸入信號為溫度 TI101(01000),回路輸出信號為調(diào)節(jié)閥 TV101。正常工況下回路處于自動控制狀態(tài);當溫 度高于900時回路轉到手動控制狀態(tài),由操作員 手動控制,同時發(fā)出報警信號(使自定義變量 MFT=ON)。 注意事項! 對于編程的時候經(jīng)常出現(xiàn)的一些錯誤,你是 否知道是怎么引起的? 出現(xiàn)變量非法的提示? 是否在變量定義的時候使用了非法字符?例如, PI-101;圖形化組態(tài)的時候不允許使用減號“-”, 但是可以采用下劃線“_” 注意事項! 出現(xiàn)數(shù)據(jù)類型不匹配的提示? 輸入輸出引腳所連接的數(shù)據(jù)與功能塊所要求的數(shù) 據(jù)類型不匹配? 例如 主要內(nèi)容:主要內(nèi)容: 概念

22、 觸點 線圈 垂直連接線 編程注意事項 培訓什么? 梯形圖概述 梯形圖在原電器控制系統(tǒng)中的接觸器、繼電器 梯形圖基礎上演變而來,與電氣操作原理相呼 應,形象、直觀和實用。 觸點和線圈來構建邏輯控制方案 很容易將電氣聯(lián)鎖圖轉換為梯形圖程序 聯(lián)鎖程序習慣使用梯形圖語言進行編輯 LD編輯器程序結構 LD段落的設計對應于繼電器開關的梯級(rung)。 圖形的左邊是匯流條,相應于梯級的相線,只有直接或間 接與相線有開關量相連的元素在編程期間被“掃描”。 右匯流條缺省不畫出,但可以認為所有的線圈和FFB開關 量輸出都接到右匯流條上,從而建立電流回路。 四個概念 LD段落:即一幅LD圖,一個LD段落由若干個

23、LD區(qū)段組成。 LD區(qū)段:有鏈路相連的元素的組合。 區(qū)段起始模塊:區(qū)段內(nèi)那些輸入只連接變量或左匯流條的模塊。 區(qū)段啟動模塊:區(qū)段中位置最上的起始模塊。 LD執(zhí)行次序 區(qū)段的執(zhí)行從啟動模塊開始。 區(qū)段內(nèi)的執(zhí)行次序由區(qū)段內(nèi)的數(shù)據(jù)流決定。 LD段落中區(qū)段間的執(zhí)行次序由區(qū)段的啟動模塊在段落圖形中 的位置決定。執(zhí)行次序由上到下。 LD編輯器-組態(tài)元素 常開觸點 常閉觸點 正跳變觸點 負跳變觸點 線圈 取反線圈 置位線圈 復位線圈 正跳變線圈 負跳變線圈 垂直連接線 LD編輯器觸點 認識認識SCCONTROLSCCONTROL的觸點:的觸點: 觸點的特點:觸點的特點: 每一個觸點都有一個變量和它對應,觸點

24、是在每一個觸點都有一個變量和它對應,觸點是在 變量的控制下斷開或閉合。變量的控制下斷開或閉合。 變量變量 觸點觸點 LD編輯器觸點 觸點分類: 常開觸點 常閉觸點 正跳變觸點 負跳變觸點 LD編輯器觸點 不同類型的觸點有什么區(qū)別?不同類型的觸點有什么區(qū)別? LD編輯器觸點 假設觸點對應的變量為TEMP。 LD編輯器線圈 認識認識SCCONTROLSCCONTROL的線圈:的線圈: 線圈的特點:線圈的特點: 每一個線圈都有一個變量和它對應,線圈的得每一個線圈都有一個變量和它對應,線圈的得 電狀態(tài)決定了變量的狀態(tài)。電狀態(tài)決定了變量的狀態(tài)。 變量變量 線圈線圈 LD編輯器線圈 線圈的分類:線圈的分類

25、: 常開線圈 常閉線圈 置位線圈 復位線圈 正跳變線圈 負跳變線圈 LD編輯器線圈 不同類型的線圈有什么區(qū)別? LD編輯器線圈 假設線圈相關的變量為TEMP。 LD編輯器垂直連接線 垂直連接線可以同時連接多個輸入和多個輸出,相當于或 的功能,連接線的左邊作為或的輸入,右邊作為或的輸出。 垂直連接線上可以連接所有布爾量的數(shù)據(jù)鏈路,包括所有 觸點、線圈及功能塊的布爾量引腳。 編程示例3 例3:當開關DI101為ON,或者開關DI102為OFF 時電機DJ101為ON;DI101為OFF,且DI102為 ON,則DJ101為OFF。 編程示例3 例4:有三個開關按紐K1、K2、K3。當任何一 個按鈕

26、按下時(即為ON),其他按鈕均彈 出(即為OFF)? 編程示例4 編程示例4 編程示例5 例5:開燈程序,KOSTART為開燈信號。當 KOSTART為ON時要求燈(KO1001)開5秒關5 秒,交替閃爍。當KOSTART為OFF時燈 (KO1001)關。 編程示例5 注意事項! 所有的編程元素必須直接或間接的通過一個 布爾輸入引腳連接到代表電流相線的左匯流 條。 如下圖就是一個典型的錯誤: 注意事項! 變量引用或連線時應注意數(shù)據(jù)類型必須保持一致。 SFCSFC概述概述 SFCSFC的元素及其連接規(guī)則的元素及其連接規(guī)則 步步 轉換轉換 跳轉跳轉 擇一分支擇一分支/ /擇一結合擇一結合 并行分支

27、并行分支/ /并行結合并行結合 SFCSFC控制變量控制變量 SFCSFC的應用的應用 主要內(nèi)容:主要內(nèi)容: 培訓什么? SFC概貌 SFC由步進式順序控制器演變而來 SFC是順序流程的圖形化表示 SFC把流程分解為步和轉換 SFC可以方便的實現(xiàn)批量過程控制 SFC診斷、排錯方便,易于維護 IEC61131-3標準規(guī)定了SFC編程要素 SFC元素 七種基本元素 步類型 步(Step) 步是控制流程中相對獨立的一組操作的組合 在步中可以定義隨意數(shù)目的操作 步在緊接在前的轉換條件滿足時激活 步在激活時才執(zhí)行相應的操作 步在緊接在后的轉換條件滿足時退出激活狀態(tài) A步的操作 X轉換的條件 B步的操作

28、Y轉換的條件 C步的操作 Z轉換的條件 滿足 不滿足 滿足 滿足 不滿足 不滿足 控制框圖: 如何將我們的任務交給 “步”去完成? SFC編輯器 操作!操作! 步屬性對話框 “步屬性”中可設置兩個功能: 運行時間、操作。 運行時間 在運行時間的填充框中填入ULONG 類型 的位號(變量),可以將該步的激活時間 賦給該位號(變量),時間單位是毫秒。 操作(Action) 操作是對實際現(xiàn)場設備進行的操縱 一個步中可以有0個或多個操作 操作的類型由操作限定詞來描述 操作限定詞時態(tài)圖 Step N S R L D P DS = 賦值操作限定詞。表示在步的整個激活期 間賦值操作一直進行,直到步退出激活狀

29、態(tài) 恢復成不激活狀態(tài)。 如果是賦值操作限定詞(=),則是應用ST語言 編寫控制算法,操作變量就是自己編寫的一段ST語 言程序,此時操縱的對象就是對應的ST語言程序。 執(zhí)行到該操作時,就運行該ST語言程序。 轉換(Transition) 轉換指明控制從一個步轉移到下一步的條件 當轉換條件滿足時,緊接在前的步從激活態(tài)變 成不激活態(tài)。然后緊接在后的步將從不激活態(tài) 轉變成激活態(tài) 只有當緊接在前的步在激活狀態(tài)時,轉換的條 件才被測試 轉換和步的連接圖例 跳轉(Jump) 跳轉允許程序從不同的步繼續(xù)執(zhí)行 跳轉連接圖例 順序跳轉順序跳轉順序回路順序回路 根據(jù)跳轉對象的不同,可以構成順序跳轉和順 序環(huán)路,但不

30、能在不同的并行區(qū)域間跳轉。 擇一分支 擇一分支提供了在SFC程序中實現(xiàn)條件控制的 控制流程選擇執(zhí)行的方法。 每一個分支都有執(zhí)行的轉換條件,擇一分支被 激活時,會依次對各個分支的轉換條件進行判 斷,轉換條件滿足的分支被激活。 在擇一分支結構內(nèi)只能有一個分支被激活。分 支轉換條件的優(yōu)先級從左到右,比如如果左邊 第一個和第二個分支的轉換條件都被滿足時, 左邊第一個分支被激活,即只執(zhí)行這個分支的 程序。 擇一分支和擇一接合必須一一對應。 分支必須結束于同一擇一接合或者結束于跳轉, 但至少有一個分支結束于擇一接合。 擇一分支圖例 例:根據(jù)如下要求編寫一段順控程序: 有兩個電機A、B,啟動開關分別為KO1

31、01、KO102, ON時啟動電機,OFF時關閉電機; 兩電機一開一備,工作/備用指示開關為WKSDB, ON時表示電機A工作,B備用,OFF時表示電機B工 作,A備用; 有一電機啟動按鈕DJSTART,要求DJSTART置ON后, 延遲5秒再啟動電機。 電機A、B開反饋分別為KO101K、KO102K,ON時表 示開到位,OFF表示未開到位。要求電機啟動后, 需確認開反饋到位后方能進入后續(xù)的順控程序。 并行分支 并行分支使流程中幾個子流程同時進行 各分支的執(zhí)行不相互影響 并行分支和并行接合必須一一對應 只有當所有的分支的最后一步都激活時,才測 試并行接合緊接的轉換的條件是否滿足 在并行結構內(nèi)

32、部的跳轉不能跳到并行結構的外 部。 并行分支圖例 例:根據(jù)如下要求編寫一段順控程序: 有兩個電機A、B,啟動開關分別為KO101、 KO102,ON時啟動電機,OFF時關閉電機; 要求兩電機A、B同時啟動,其開反饋分別為 KO101K、KO102K,ON時表示開到位,OFF表 示未開到位。要求電機啟動后,必須確認開 反饋已到位。 有一電機啟動按鈕DJSTART,要求DJSTART置 ON后,延遲5秒再啟動兩電機。 SFC控制變量 復位變量 為ON時,SFC程序起始步被設置為激活步,其 它步都強制變?yōu)椴患せ顮顟B(tài),順控程序從頭開 始重新執(zhí)行。為OFF時,復位變量無效。 注意:在起始步中,默認給復位

33、變量賦OFF, 在終止步中,默認給復位變量賦ON。 運行變量 為ON時,SFC程序正常執(zhí)行。為OFF時,所有其 它控制變量都無效,SFC程序停止運行。 SFC控制變量 保持(禁止轉換)變量 為ON時,當前激活步將一直保持執(zhí)行而不管緊 接的轉換條件是否滿足,轉換條件測試將不進 行。此變量受運行變量和復位變量的影響。 強制步進變量 為ON時,當前激活步不管轉換條件是否滿足, 都變?yōu)椴患せ顮顟B(tài),按順序的下一步變?yōu)榧せ?狀態(tài)。強制步進變量受以上所有變量的影響。 操作使能變量 為ON時,步中的操作才被執(zhí)行。 控制變量只能選用在系統(tǒng)組態(tài)中定義的變量。 每個SFC段落必須要設置復位變量,程序初次下載 到控制

34、站時,必須對該復位變量賦ON,使程序從起 始步開始執(zhí)行。 其他控制變量可根據(jù)實際需要,做有選擇的設置。 練習時間 例:現(xiàn)場有三臺電機正在使用,分別是電機1、電機 2和電機3,他們的開關狀態(tài)分別用f1、f2、f3 表示,電機的啟動和關閉要求用程序控制。將 啟動按鈕start置為on,電機1首先啟動,間隔5 秒時間以后,電機2啟動,再間隔5秒,電機3啟 動;啟動過程完成后,才可以進入關電機過程。 將啟動按鈕start置為off,電機3首先關閉,間 隔5秒時間以后,電機2關閉,再間隔5秒時間以 后,電機1關閉;關閉過程完成后,才可以重新 進入開電機過程。 STST語言概述語言概述 STST語言的語法

35、語言的語法 自定義函數(shù)和功能塊自定義函數(shù)和功能塊 STST語言中的模塊調(diào)用語言中的模塊調(diào)用 STST語言在非語言在非STST段落中的應用示例段落中的應用示例 培訓什么? 主要內(nèi)容:主要內(nèi)容: ST語言 結構化文本語言 IEC61131-3標準語言 SCControl集成 使用方法 在工程中加入ST段落編制函數(shù)和模塊 在梯形圖和功能塊圖中插入文本代碼 在順控圖步的操作中使用=操作限定詞 在順控圖轉換條件中使用ST邏輯表達式 數(shù)據(jù)類型 變量類型 關鍵字 字節(jié)長度 布爾類型 BOOL1 字 WORD2 雙字 DWORD4 整數(shù) INT2 無符號整數(shù) UINT2 長整數(shù) LONG4 無符號長整數(shù)ULO

36、NG4 半浮點 SFLOAT2 浮點FLOAT4 數(shù)組 結構 標識符 以英文字母開頭 續(xù)以英文字母、數(shù)字或下劃線 字符長度最多為24個字符 關鍵字(1) 關鍵字描述 CASEOFELSEEND_CASECASE 語句 BOOL WORD DWORD INT LONG UINT ULONG SFLOAT FLOAT 數(shù)據(jù)類型 EXIT終止循環(huán) FALSE邏輯假 FORTOBYDOEND_FORFOR語句 FUNCTIONEND_FUNCTION函數(shù)定義 FUNCTION_BLOCK END_FUNCTION_BLOCK 功能塊定義 IFTHENELSEIFELSEEND_I F IF語句 關鍵字

37、(2) ON邏輯真 OFF邏輯假 REPEATUNTILEND_REPEA T REPEAT 語句 RETURN函數(shù)返回 TRUE邏輯真 VAREND_VAR VAR_INPUTEND_VAR VAR_OUTPUTEND_VAR 變量定義 WHILEDOEND_WHILEWHILE語句 運算符(1) 運算符描述類型優(yōu)先級 ()表達式運算 9 .取結構成員 8 取數(shù)組成員 8 單目負 7 NOT取反邏輯運算7 * (MUL)乘算術運算6 / (DIV)除算術運算6 MOD取余算術運算6 + (ADD)加算術運算5 (SUB)減算術運算5 運算符(2) 大于比較運算4 =大于等于比較運算4 =小于

38、等于比較運算4 小于比較運算4 =等于比較運算4 不等于比較運算4 AND與邏輯運算3 XOR異或邏輯運算2 OR或邏輯運算1 表達式 表達式為變量、操作符、常量、函數(shù)的組 合,求值結果為單個值 表達式的求值按運算符的優(yōu)先級按順序進 行,優(yōu)先級高的運算符先被處理。相同優(yōu) 先級的按從左到右的順序執(zhí)行 實例 A + B * (C-3) + FUNC1(2,D) 賦 值 比較等于 比較不等于 二次計算 = = = != 報表 = = SCX = = != ST = = := 賦值語句 賦值語句將“=”右邊表達式的值賦給左邊 的變量。 賦值時可使用“=”或“:=”作為運算符。 舉例: A=4; (*將

39、變量A賦值為4*) B:=4; (*將變量B賦值為4*) IF語句 IF A 0 THEN B = 1; (* B:=1; 亦可*) ELSEIF A -5 THEN B = 2; ELSE B := 3; END_IF; 規(guī)定了一組語句在規(guī)定的邏輯表達式為TRUE時執(zhí)行。 CASE語句 CASE語句規(guī)定了整數(shù)類型的選擇項,以及選擇項 在不同的值時的幾組語句組。 CASE TW OF 1 : I = 1; (* 1:I:=1; 亦可*) 2 : I = 2; ELSE I = 3; END_CASE; FOR語句 FOR K = 1 TO 100 BY 2 DO DOSOMETHING();

40、(*循環(huán)體*) END_FOR; 循環(huán)語句,規(guī)定了終止條件和一組語句,當終止條 件沒有成TRUE時,這組語句被循環(huán)執(zhí)行。 WHILE語句 J = 1; WHILE J = 100 DO J = J + 2; END_WHILE; 循環(huán)語句,規(guī)定了終止條件和一組語句,當終止條 件沒有成TRUE時,這組語句被循環(huán)執(zhí)行。 REPEAT語句 J = 1; REPEAT J = J + 2; UNTIL J = 101 END_REPEAT; 終止條件的判斷在語句組執(zhí)行一次后才進行,所 以規(guī)定的語句組至少會執(zhí)行一次。當終止條件成 TRUE時,循環(huán)被終止。 函數(shù)和功能塊 ST語言中可以調(diào)用程序模塊:函數(shù)、

41、功能塊。 函數(shù) 是個程序模塊,只有一個輸出,根據(jù)輸入可以 唯一確定輸出。 如:SFLOAT ADD_SFLOAT(SFLOAT a,SFLOAT b); 功能塊 是個程序模塊,有多個輸出,或輸出不但和當 前輸入有關還和上次內(nèi)部狀態(tài)有關 如:void BSC(SFLOAT PV,UINT N,OUT SFLOAT MV); 如何調(diào)用? 函數(shù)調(diào)用語句 ret = Func(in1,in2); (*作為表達式返回 值*) Func(in1,in2);(*作為子程序處理,函數(shù) 返回值為空類型*) 功能塊的調(diào)用語句 調(diào)用功能塊時要嚴格按照輸入輸出順序, 先輸入輸入?yún)?shù),再輸入輸出參數(shù),參數(shù) 順序按照定義

42、時的順序。 輸出參數(shù)必須是變量: FuncBlock(in1,in2,out1,out2) 對于函數(shù)和功能塊,系統(tǒng)中有已經(jīng)定義好 的標準庫函數(shù)及標準功能塊供我們使用, 我們也可以使用ST語言來自己編制函數(shù)和 功能塊。 函數(shù)定義 FUNCTION(定義函數(shù)) FUNC3(函數(shù)名): BOOL (輸出變量屬性) VAR_INPUT IN1:BOOL; (定義輸入變量和類型) END_VAR VAR TEMP1 : BOOL;(函數(shù)執(zhí)行時用到的中間變量) END_VAR FUNC3 = DoSomething(); END_FUNCTION (結束函數(shù)定義) 函數(shù)的示例 例1:使用ST編制一個定時器

43、清零的函數(shù)。 形參為: CTROL1:BOOL; (*定時器清零開關:ON清零*) number1:INT; (*定時器序號*) CTROL2:BOOL; (*定時器清零開關:ON清零*) number2:INT; (*定時器序號*) 實現(xiàn)的功能是當開關CTROL1按下時第number1 號定時器清零;當CTROL2按下時第number2號定 時器清零。 功能塊定義 FUNCTION_BLOCK(定義功能塊) FB3(功能塊名) VAR_INPUT IN1:BOOL; (定義輸入變量和類型) END_VAR VAR_OUTPUT OUT1 : BOOL; (定義輸出變量和類型) END_VAR

44、 VAR TEMP1 : BOOL; (定義中間變量和類型) END_VAR DoSomething(); END_FUNCTION_BLOCK (結束功能塊定義) 功能塊的示例 例2:某測點為冗余控制,要求當操作員將開關 K101打開時(為ON),選擇測點1(LI1011)作 為單回路LIC101的輸入信號;當操作員將開關 K101關閉時(為OFF),選擇測點1和測點2 (LI1012)的平均值作為該回路的輸入信號。 回路的輸出為調(diào)節(jié)閥LV101。請使用ST語言編寫 自定義功能塊實現(xiàn)該功能,并完成該控制方案。 FUNCTION_BLOCK CHOICE VAR_INPUT IN1:SFLOA

45、T; IN2:SFLOAT; K:BOOL; END_VAR VAR_OUTPUT OUT:SFLOAT; END_VAR VAR END_VAR IF K=ON THEN OUT=IN1; ELSE OUT=AVE_SFLOAT(IN1,IN2); END_IF; END_FUNCTION_BLOCK 在FBD段落中調(diào)用該模塊實現(xiàn)控制方案如下: (設置自定義回路0作為該液位控制回路) ST中可調(diào)用的函數(shù)和功能塊 ST語言編寫程序語句時可以調(diào)用各種模塊, 如:標準函數(shù)、標準功能塊、 ST FUNCTION、ST FUNCTION_BLOCK、 LD和FBD生成的自定義功能塊。 標準函數(shù)庫 算術

46、運算 比較運算 邏輯運算 類型轉換 數(shù)學函數(shù) 選擇函數(shù) 混合運算 通訊輔助 累積輔助 折線表運算 輸入處理 比如: SFLOAT ADD_SFLOAT(SFLOAT a,SFLOAT b); UINT MOVE_UINT(UINT a); SFLOAT INT_TO_SFLOAT(INT a); SFLOAT MAX_SFLOAT(SFLOAT a,SFLOAT b); 標準 功能塊庫 對于ST語言可用的系統(tǒng)功能塊,它們的使用方 法與模塊庫中的功能塊的使用方法是一致的。 比如:void SR(BOOL S1,BOOL R,OUTBOOL Q1); void BSC(SFLOAT PV,UINT

47、 N,OUT SFLOAT MV); 在ST 的 FUNCTION 模塊中: 可以調(diào)用其它 ST FUNCTION,允許嵌套 可以調(diào)用標準函數(shù) 模塊調(diào)用限制 可以調(diào)用其它 ST FUNCTION 可以調(diào)用標準函數(shù) 可以調(diào)用標準功能塊 可以調(diào)用其它 ST 功能塊,不能嵌套 在ST 的 FUNCTION_BLOCK 模塊中: 模塊調(diào)用限制 可以調(diào)用其它 ST FUNCTION 可以調(diào)用標準函數(shù) 可以調(diào)用標準功能塊 可以調(diào)用其它 ST 功能塊 可以調(diào)用各種編程語言生成的功能塊 模塊調(diào)用限制 在TEXTCODE 模塊中: 可以調(diào)用其它 ST FUNCTION 可以調(diào)用標準函數(shù) 可以調(diào)用標準功能塊 可以

48、調(diào)用其它 ST 功能塊 可以調(diào)用各種編程語言生成的功能塊 模塊調(diào)用限制 在SFC中的 = 操作中: TEXTCODE模塊應用示例 例6.3:有自定義單回路FIC101(回路序號為0), 回路輸入位號為FI101,回路輸出位號為FV101。 當選擇開關CH101為OFF時為正常單回路控制, 當選擇開關CH101為ON時輸出調(diào)節(jié)閥FV101為固 定閥位值,即當開關KI101為ON時將調(diào)節(jié)閥 FV101開至50%;當開關K101為OFF時將調(diào)節(jié)閥關 閉。請使用ST語言實現(xiàn)該控制要求。 BSC(FI101,0,FV101); IF CH101=ON THEN IF KI101=ON THEN g_bs

49、c0.SwTV=ON; g_bsc0.TV=0.5; g_bsc0.SwTV=ON; g_bsc0.TV=0.0; ELSE END_IF; END_IF; 七、自定義功能塊的七、自定義功能塊的 設計與使用設計與使用 主要內(nèi)容:主要內(nèi)容: 概述 自定義模塊設計與使用 培訓什么? 概述 在SCCONTROL中可以使用功能塊編輯器或梯形圖編 輯器來設計自定義功能塊。 從編程角度看,自定義功能塊相當于子程序。 自定義功能塊內(nèi)部包含了用戶定義的程序邏輯, 外部則由輸入輸出變量組成其框架。 在自定義功能塊內(nèi)部可引用一個或多個功能塊或 其他自定義功能塊,但其本身不能循環(huán)嵌套。 作為自定義功能塊的外部接口輸

50、入輸出變量數(shù)最 大可以定義各32個。 基本步驟 首先,新建段落,并選擇段類型 為“模塊”。 其次,定義該模塊的輸入輸出變 量。另外如果需要,也可定義私 有變量或全局變量等。 再次,根據(jù)工藝要求編寫該模塊 的內(nèi)部算法??梢赃x擇適合的編 程元素按算法要求組合在一起, 從而實現(xiàn)我們的控制要求。 最后,對該段落保存、編譯。如 果編譯成功,則回到組態(tài)軟件中 進行聯(lián)編;如果出錯,則應查找 錯誤、修改程序直至編譯成功。 新程序段新程序段 FBD LDFBD LD 段名稱段名稱 變量聲明變量聲明 自定義模塊設計與使用 例例1 1:要求制作一個名為“點燈模塊”的自 定義功能塊。當操作員按下按鈕時以固定 的時間間

51、隔點亮5盞電燈。 自定義模塊設計與使用 自定義模塊設計與使用 八、程序調(diào)試八、程序調(diào)試 主要內(nèi)容:主要內(nèi)容: 概述 調(diào)試 培訓什么? 概述 調(diào)試是對編寫的程序進行檢驗的過程,以 確保編寫的程序滿足我們的控制要求。 調(diào)試分靜態(tài)調(diào)試和動態(tài)調(diào)試。 靜態(tài)調(diào)試 信息欄(出錯) 信息欄(成功) 方法:編譯程序 鼠標雙擊會怎樣?鼠標雙擊會怎樣? 動態(tài)調(diào)試 q組態(tài)保存,編譯,下載 q連接、調(diào)試 q變量調(diào)試 動態(tài)調(diào)試 例1:實現(xiàn)對PI102的手工置值。 動態(tài)調(diào)試 例2:在以下梯形圖程序中對開關量Y5手工置值。 打開變量調(diào)試窗口添加變量Y5、D5、D6、D7、D8、 D9、D10,并觀察D5、D6、D7、D8、D

52、9、D10的狀 態(tài)。 把Y5置為ON, 觀察D5、D6、D7、D8、D9、D10的狀態(tài)變化。 調(diào)試輔助工具 調(diào)試文本 如何實現(xiàn)在調(diào)試狀態(tài)下從一個段落快速切 換到其它段落? 調(diào)試輔助工具 跳轉按鈕 九、綜合編程應用九、綜合編程應用 常見編程應用 累積問題 BSC模塊實現(xiàn)串級控制 聯(lián)鎖設計(輸入處理、濾波) 編程注意事項 注釋文本 乘除運算 主要內(nèi)容:主要內(nèi)容: 培訓什么? 累積量的處理累積量的處理 實現(xiàn)流量累積的兩個辦法: 1、模擬量組態(tài)流量累積(常規(guī)) 2、通過定義8字節(jié)變量,用模塊 Total_Accum進行累積 。(程序?qū)崿F(xiàn)) 方法一方法一 方法二方法二 系統(tǒng)工作時,對位號首先轉換成不帶量程不 帶單位的無因次數(shù) ,也就是說,流量信號首先被 轉換成0-100%之間的數(shù),由于位號的下限為0,所 以直接除以量程即可。 TOTAL_ACCUM實際上是對這樣的一組百分數(shù)每 秒鐘累加一次。 流量累積原理 累積的結果放在FQ101中,但是我們需要查看 的累積值是需要把每一個流量的瞬時信號還原成 實際測量值,所以系統(tǒng)進行處理時,要將累積計 算的

溫馨提示

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

最新文檔

評論

0/150

提交評論