浙大中控DCS圖形化編程課件_第1頁
浙大中控DCS圖形化編程課件_第2頁
浙大中控DCS圖形化編程課件_第3頁
浙大中控DCS圖形化編程課件_第4頁
浙大中控DCS圖形化編程課件_第5頁
已閱讀5頁,還剩499頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

2006年度產品和技術培訓

圖形化編程主講人:孫志明2006年度產品和技術培訓

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

工程欄信息欄工具欄菜單欄編輯區編譯成功提示編譯出錯提示狀態欄

軟件操作界面

工程欄信息欄工具欄菜單欄編輯區編譯成功提示編譯幫助菜單項簡介幫助菜單項簡介二、圖形化編程基礎

二、圖形化編程基礎

主要內容:工程、段落、區段編程基本步驟程序運行原理及執行次序工程管理數據類型變量系統資源培訓什么?主要內容:工程、段落、區段培訓什么?

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

.PRJ工程文件.FBDFBD文件.LADLAD文件.SFCSFC文件.BIN二進制代碼文件.C臨時文件.H臨時文件.EXP.EXT模塊導出文件組態文件說明軟件(產生文件)文件擴展名文件說明.PRJ文件保存路徑

一個組態的相關文件必須保存在正確的文件夾下,否則在組態中進行聯編時會出錯。段落文件須保存在工程文件夾下;工程文件與工程文件夾須保存在組態文件夾下的“Control”文件夾下;“Control”文件夾須保存在組態文件夾下。文件保存路徑

一個組態的相關文件

編程基本步驟浙大中控DCS圖形化編程課件基本步驟

建立圖形化組態工程并與系統組態軟件建立關聯;根據控制方案的特點及需要選擇合適的編輯器在建好的工程中新建段落,在段落中編寫程序,編寫的過程中進行保存;程序編寫完畢后,通過編譯檢查程序語法錯誤,修改程序至程序編譯無誤;將程序下載到主控卡,聯機調試程序,使程序運行時符合控制方案的要求;基本步驟

建立圖形化組態工程并與系統組態軟件建立關聯;程序運行原理及執行次序

圖形化自定義程序下載到控制站后,每隔一個運行周期運行一次。

控制站執行程序時,先判斷段落的執行次序,對于段落中的執行次序,先判斷區段的執行次序,然后再判斷區段中各個編程元素的執行次序。程序運行原理及執行次序

圖形化自定義程序下載到控制站后,每隔新建工程新建工程工程與組態關聯

工程與組態關聯

段落新建及保存

段落新建及保存

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

只有當編輯界面打開后,才可以進行設置密碼和刪除密碼的操作。

可以對每個段落設置密碼進行保護只有當編輯界面打開后,才可以練習請大家花5分鐘的時間:1、熟悉軟件界面2、新建一個工程3、使用不同的編輯器建立幾個段落4、改變段落的執行周期5、調整段落的執行次序練習請大家花5分鐘的時間:數據類型圖形化軟件提供的變量數據類型數據類型圖形化軟件提供的變量數據類型半浮點——2字節半浮點——2字節數據類型編輯器SControl內置數據類型編輯器,用戶可以用數據類型編輯器生成自己的數據類型,并可以在任何編輯變量類型的地方使用。系統內已預定義了部分數據類型,這些數據類型只讀,用戶無法修改刪除。數據類型編輯器SControl內置數據類型編輯器,用戶可以用浙大中控DCS圖形化編程課件問題?模擬量輸入信號數據類型?

structAI模擬量輸入信號的PV成員數據類型?

SFLOAT開關量輸入信號數據類型?

structDI開關量輸入信號的VAL成員數據類型?

BOOL問題?模擬量輸入信號數據類型?變量分類變量按結構分為:基本變量:基本數據類型(如BOOL、SFLOAT、INT等)構成的變量稱為基本變量。復合變量:復合數據類型(如結構體、數組等)所對應的變量為復合變量。變量分類變量按結構分為:變量分類變量按作用范圍分為:組態中定義的變量;全局變量(“工程”菜單下“變量編輯器”中定義);私有變量(“對象”菜單下“變量定義”中定義);輸入變量與輸出變量(“對象”菜單下“變量定義”中定義);變量分類變量按作用范圍分為:變量聲明變量聲明變量作用范圍SCControl中可以使用的變量有四類:組態中定義的變量作用范圍:整個組態,包括圖形化工程和SCX語言程序、操作組態全局變量作用范圍:整個圖形化工程,包括各個段落私有變量作用范圍:只在該段落起作用輸入變量與輸出變量作用范圍:只在自定義段落起作用變量作用范圍SCControl中可以使用的變量有四類:變量查找根據所查找目標數據源的分類(當前段、當前工程)進行變量、位號以及模塊的查詢。變量查找根據所查找目標數據源的分類(當前段、當前工程)進行變系統資源位號系統變量單回路控制模塊串級回路控制模塊冷熱啟動及下載組態標志系統資源位號模入量位號成員模入量位號成員

開入量位號成員名稱類型說明VALBOOL測量值MANBOOL手自動切換開關OFF:自動;ON:手動MVALBOOL手動輸入信號值FLAGBOOL質量碼開入量位號成員名稱系統變量

系統變量

單回路控制模塊單回路控制模塊串級回路控制模塊串級回路控制模塊串級回路控制模塊串級回路控制模塊

冷熱啟動及下載組態標志

BOOLg_bHotStartup

熱啟動標志,熱啟動時為ON,需要編程清0;

BOOLg_bColdStartup

冷啟動標志,冷啟動時為ON,需要編程清0;

g_bDownUsrPrgFlag

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

g_bDownCfgFlag

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

三、功能塊圖(FBD)語言

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

執行次序FBD編輯器-組態元素選擇連接線取反最近選擇的功能塊功能塊選擇注釋文本調試文本跳轉按鈕FBD編輯器-組態元素選擇連接線取反最近選擇的功能塊功能塊選FBD編輯器-IEC模塊庫算術運算模塊比較運算模塊轉換運算模塊計數器模塊邏輯模塊數學模塊選擇模塊定時器模塊觸發器模塊FBD編輯器-IEC模塊庫算術運算模塊FBD編輯器-輔助模塊庫控制模塊通訊輔助模塊累積模塊輸入處理系統模塊文本代碼模塊輔助計算電量轉換信號選擇模塊浮點處理模塊FBD編輯器-輔助模塊庫控制模塊FBD編輯器-自定義模塊庫自定義模塊庫收集了當前工程所編輯的所有模塊。FBD編輯器-自定義模塊庫自定義模塊庫收集了當前工程所編輯的FBD編輯器-附加庫附加庫主要包括一些特殊模塊、鍋爐模塊、造氣模塊、DEH模塊、智能通訊卡模塊供用戶使用。

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

下面我們介紹幾個較常用的模塊,其他模塊的使用可以參考相應的幫算術運算-ADD算術運算-ADD在使用這個模塊的時候,要注意模塊的輸入、輸出變量的數據類型。該模塊可以有多個輸入參數,我們可以用鼠標拖動模塊下方的黑點來增加或減少輸入變量。可以通過點擊“顯示EN/ENO”隱藏EN/ENO引腳。可以通過點擊“幫助”按鈕來查看該模塊的使用說明。在使用這個模塊的時候,要注意模塊的輸入、輸出變量的數據類型。例1:求溫度TI101(量程0~600℃)和 TI102(量程0~600℃)的平均值,并將運算結果存放至自定義變量TT中。例1:求溫度TI101(量程0~600℃)和 TI102(量

算數運算--DIV算數運算--DIV

算數運算--DIV除法運算時應注意其運算結果應在半浮點數據類型的表示范圍內。例:要求計算流量FI101(0~500M3/h)和FI102(0~600M3/h)的比值。首先,新建浮點型變量BIZHI。其次,圖形化編程如下:算數運算--DIV除法運算時應注意其運算結果應在半浮點數據

算術運算-MOVE算術運算-MOVE

算術運算-MOVE

這個模塊相當于賦值的功能。例如,我們將位號TI101的報警高限設定為0.9,則圖形化編程如下:算術運算-MOVE這

比較運算--GT比較運算--GT

比較運算--GE例如,當壓力PT101(0~10KPa)超過80%時要求打開電磁閥KO101。參考程序如下:比較運算--GE例如,當壓力PT101(0轉換運算—SFLOAT_TO_FLOAT轉換運算—SFLOAT_TO_FLOAT轉換運算—SFLOAT_TO_FLOAT例:求溫度TI101(0~600℃)和TI102(0~800℃)的平均值,并將計算結果存放到自定義變量TT(0~700℃)中。轉換運算—SFLOAT_TO_FLOAT例:求溫度TI101

邏輯運算--AND邏輯運算--AND

邏輯運算--AND例:要求當三個開關KI101、KI102和KI103都打開時(為ON)啟動電機KT101,否則關閉KT101。邏輯運算--AND例:要求當三個開關KI1

數學函數--ABS數學函數--ABS

數學函數--ABS例:要求當流量FT101(0~6000M3/h)超過或低于某個設定值的30%時產生報警(變量BJT=ON),該設定值為半浮點變量FF(0~6000M3/h)。數學函數--ABS例:要求當流量FT101

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

選擇模塊--SEL例:當操作員將開關(一字節變量KT)打至OFF時,選擇測點一(位號TI101)作為控制回路的輸入信號;當操作員將開關(一字節變量KT)打至ON時,選擇測點二(位號TI102)作為控制回路的輸入信號。選擇模塊--SEL例:當操作員將開關(一字節

選擇模塊--MAX選擇模塊--MAX

選擇模塊--MAX例:某裝置有3個溫度測點,分別為TI101(0~600℃)、TI102(0~600℃)、TI103(0~600℃),要求將最高的溫度信號作為連鎖程序的判斷條件。當溫度超過其量程的90%時打開電磁閥KO101。選擇模塊--MAX例:某裝置有3個溫度測點,TON定時器模塊TON定時器模塊浙大中控DCS圖形化編程課件TON定時器模塊

定時器的基準為控制周期,定時時間必須設置為運行周期的整數倍。例:某連鎖控制程序,要求當溫度TI105(0~1000℃)超過600℃時打開電磁閥KO102。TON定時器模塊定時器的基準為控制周期,定時時間必

TOFF定時器模塊TOFF定時器模塊浙大中控DCS圖形化編程課件TOFF定時器模塊

注意,當延時時間到達之后輸出為OFF狀態。定時器的基準為控制周期,定時時間必須設置為運行周期的整數倍。例:要求當電機KT101跳閘時(由ON變為OFF),延時5秒種后點亮報警指示燈TT。TOFF定時器模塊注意,當延時時間到達之后輸出為OFF狀態

定時器--TP定時器--TP浙大中控DCS圖形化編程課件

定時器--TP該模塊用于產生持續時間一定的脈沖。定時器的基準為控制周期,定時時間必須設置為運行周期的整數倍。定時器--TP該模塊用于產生持續時間一定的脈沖例:請利用TP模塊制作一個自復位按鈕,要求當按下按鈕KT101后(即為ON)延時5秒種后將KT101復位(即為OFF)。例:請利用TP模塊制作一個自復位按鈕,要求當按下按鈕KT10

RS觸發器模塊RS觸發器模塊RS觸發器模塊

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

SR觸發器模塊

報警模塊--AIALM報警模塊--AIALM

報警模塊--AIALM每個模擬量輸入位號都有自己的質量碼,主要用于位號的報警分析,在圖形化組態中質量碼為WORD類型。例:當溫度TE105超過高高限或低于低低限時將變量THL置為ON。報警模塊--AIALM每個模擬量輸入位號都有自

累積函數--TOTAL_ACCUM累積函數--TOTAL_ACCUM

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

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

使用該模塊時必須保證流量信號的量程下限為0。其次,使用該模塊實現流量的累積。如下圖:注:該模塊每秒鐘

累積函數--SUB_ACCUM累積函數--SUB_ACCUM

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

該模塊的功能是產生一個單回路PID控制。使用時與被控對象組成回路,以MV作為被控對象的輸入,以被控對象的輸出作為BSC模塊的輸入—PV;并正確的設置模塊的內部參數,可使測量值PV穩定地等于給定值。單回路模塊--BSC該模塊的功能是產生一個單回路PID

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

控制策略的FBD實現

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

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

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

四個概念LD段落:即一幅LD圖,一個LD段落由若干個LD區段LD執行次序區段的執行從啟動模塊開始。區段內的執行次序由區段內的數據流決定。LD段落中區段間的執行次序由區段的啟動模塊在段落圖形中的位置決定。執行次序由上到下。LD執行次序區段的執行從啟動模塊開始。LD編輯器-組態元素常開觸點常閉觸點正跳變觸點負跳變觸點線圈取反線圈置位線圈復位線圈正跳變線圈負跳變線圈垂直連接線LD編輯器-組態元素常開觸點常閉觸點正跳變觸點負跳變觸點線圈LD編輯器—觸點認識SCCONTROL的觸點:觸點的特點:每一個觸點都有一個變量和它對應,觸點是在變量的控制下斷開或閉合。

變量觸點LD編輯器—觸點認識SCCONTROL的觸點:變量LD編輯器—觸點觸點分類:常開觸點常閉觸點正跳變觸點負跳變觸點LD編輯器—觸點觸點分類:LD編輯器—觸點不同類型的觸點有什么區別?LD編輯器—觸點不同類型的觸點有什么區別?LD編輯器—觸點假設觸點對應的變量為TEMP。

LD編輯器—觸點假設觸點對應的變量為TEMP。LD編輯器—線圈認識SCCONTROL的線圈:線圈的特點:每一個線圈都有一個變量和它對應,線圈的得電狀態決定了變量的狀態。變量線圈LD編輯器—線圈認識SCCONTROL的線圈:變量THANKYOUSUCCESS2022/10/29125可編輯THANKYOUSUCCESS2022/10/22LD編輯器—線圈線圈的分類:常開線圈常閉線圈置位線圈復位線圈正跳變線圈負跳變線圈LD編輯器—線圈線圈的分類:THANKYOUSUCCESS2022/10/29127可編輯THANKYOUSUCCESS2022/10/22LD編輯器—線圈不同類型的線圈有什么區別?LD編輯器—線圈不同類型的線圈有什么區別?LD編輯器—線圈假設線圈相關的變量為TEMP。LD編輯器—線圈假設線圈相關的變量為TEMP。浙大中控DCS圖形化編程課件LD編輯器—垂直連接線垂直連接線可以同時連接多個輸入和多個輸出,相當于或的功能,連接線的左邊作為或的輸入,右邊作為或的輸出。垂直連接線上可以連接所有布爾量的數據鏈路,包括所有觸點、線圈及功能塊的布爾量引腳。LD編輯器—垂直連接線垂直連接線可以同時連接多個輸入和多個輸編程示例3例3:當開關DI101為ON,或者開關DI102為OFF時電機DJ101為ON;DI101為OFF,且DI102為

ON,則DJ101為OFF。編程示例3例3:當開關DI101為ON,或者開關DI102為編程示例3編程示例3例4:有三個開關按紐K1、K2、K3。當任何一個按鈕按下時(即為ON),其他按鈕均彈出(即為OFF)?編程示例4例4:有三個開關按紐K1、K2、K3。當任何一個按鈕按下時(編程示例4編程示例4編程示例5例5:開燈程序,KOSTART為開燈信號。當KOSTART為ON時要求燈(KO1001)開5秒關5秒,交替閃爍。當KOSTART為OFF時燈(KO1001)關。編程示例5例5:開燈程序,KOSTART為開燈信號。當KOS編程示例5編程示例5注意事項!所有的編程元素必須直接或間接的通過一個布爾輸入引腳連接到代表電流相線的左匯流條。如下圖就是一個典型的錯誤:注意事項!所有的編程元素必須直接或間接的通過一個布爾輸入引腳注意事項!變量引用或連線時應注意數據類型必須保持一致。注意事項!變量引用或連線時應注意數據類型必須保持一致。五、順控圖(SFC)語言五、順控圖(SFC)語言SFC概述SFC的元素及其連接規則步轉換跳轉擇一分支/擇一結合并行分支/并行結合SFC控制變量SFC的應用主要內容:培訓什么?SFC概述主要內容:培訓什么?SFC概貌SFC由步進式順序控制器演變而來SFC是順序流程的圖形化表示SFC把流程分解為步和轉換SFC可以方便的實現批量過程控制SFC診斷、排錯方便,易于維護IEC61131-3標準規定了SFC編程要素SFC概貌SFC由步進式順序控制器演變而來SFC元素七種基本元素SFC元素七種基本元素步類型步類型有三種:起始步普通步終止步起始步和終止步必須有且只能各有一個SFC的執行從起始步開始到終止步結束步類型步類型有三種:步(Step)步是控制流程中相對獨立的一組操作的組合在步中可以定義隨意數目的操作步在緊接在前的轉換條件滿足時激活步在激活時才執行相應的操作步在緊接在后的轉換條件滿足時退出激活狀態步(Step)步是控制流程中相對獨立的一組操作的組合A步的操作X轉換的條件B步的操作Y轉換的條件C步的操作Z轉換的條件滿足不滿足滿足滿足不滿足不滿足……控制框圖:A步的操作X轉換的條件B步的操作Y轉換的條件C步的操作Z轉換

如何將我們的任務交給“步”去完成?SFC編輯器操作!如何將我們的任務交給“步”去完成?SFC編輯器操作!

步屬性對話框“步屬性”中可設置兩個功能:運行時間、操作。步屬性對話框“步屬性”中可

運行時間

在運行時間的填充框中填入ULONG類型的位號(變量),可以將該步的激活時間賦給該位號(變量),時間單位是毫秒。運行時間 在運行時間的填充操作(Action)操作是對實際現場設備進行的操縱一個步中可以有0個或多個操作操作的類型由操作限定詞來描述操作(Action)操作是對實際現場設備進行的操縱操作限定詞時態圖StepNSRLDPDS操作限定詞時態圖StepNSRLDPDS=賦值操作限定詞。表示在步的整個激活期間賦值操作一直進行,直到步退出激活狀態恢復成不激活狀態。

如果是賦值操作限定詞(=),則是應用ST語言編寫控制算法,操作變量就是自己編寫的一段ST語言程序,此時操縱的對象就是對應的ST語言程序。執行到該操作時,就運行該ST語言程序。=賦值操作限定詞。表示在步的整個激活期間賦值操作一直進行,轉換(Transition)轉換指明控制從一個步轉移到下一步的條件當轉換條件滿足時,緊接在前的步從激活態變成不激活態。然后緊接在后的步將從不激活態轉變成激活態只有當緊接在前的步在激活狀態時,轉換的條件才被測試轉換(Transition)轉換指明控制從一個步轉移到下一步轉換和步的連接圖例轉換和步的連接圖例浙大中控DCS圖形化編程課件跳轉(Jump)跳轉允許程序從不同的步繼續執行跳轉(Jump)跳轉允許程序從不同的步繼續執行跳轉連接圖例順序跳轉順序回路

根據跳轉對象的不同,可以構成順序跳轉和順序環路,但不能在不同的并行區域間跳轉。跳轉連接圖例順序跳轉順序回路根據跳轉對象的不同,可以浙大中控DCS圖形化編程課件擇一分支擇一分支提供了在SFC程序中實現條件控制的控制流程選擇執行的方法。每一個分支都有執行的轉換條件,擇一分支被激活時,會依次對各個分支的轉換條件進行判斷,轉換條件滿足的分支被激活。在擇一分支結構內只能有一個分支被激活。分支轉換條件的優先級從左到右,比如如果左邊第一個和第二個分支的轉換條件都被滿足時,左邊第一個分支被激活,即只執行這個分支的程序。擇一分支和擇一接合必須一一對應。分支必須結束于同一擇一接合或者結束于跳轉,但至少有一個分支結束于擇一接合。擇一分支擇一分支提供了在SFC程序中實現條件控制的控制流程選擇一分支圖例擇一分支圖例例:根據如下要求編寫一段順控程序:有兩個電機A、B,啟動開關分別為KO101、KO102,ON時啟動電機,OFF時關閉電機;兩電機一開一備,工作/備用指示開關為WKSDB,ON時表示電機A工作,B備用,OFF時表示電機B工作,A備用;有一電機啟動按鈕DJSTART,要求DJSTART置ON后,延遲5秒再啟動電機。電機A、B開反饋分別為KO101K、KO102K,ON時表示開到位,OFF表示未開到位。要求電機啟動后,需確認開反饋到位后方能進入后續的順控程序。例:根據如下要求編寫一段順控程序:浙大中控DCS圖形化編程課件并行分支并行分支使流程中幾個子流程同時進行各分支的執行不相互影響并行分支和并行接合必須一一對應只有當所有的分支的最后一步都激活時,才測試并行接合緊接的轉換的條件是否滿足在并行結構內部的跳轉不能跳到并行結構的外部。并行分支并行分支使流程中幾個子流程同時進行并行分支圖例并行分支圖例例:根據如下要求編寫一段順控程序:有兩個電機A、B,啟動開關分別為KO101、KO102,ON時啟動電機,OFF時關閉電機;要求兩電機A、B同時啟動,其開反饋分別為KO101K、KO102K,ON時表示開到位,OFF表示未開到位。要求電機啟動后,必須確認開反饋已到位。有一電機啟動按鈕DJSTART,要求DJSTART置ON后,延遲5秒再啟動兩電機。例:根據如下要求編寫一段順控程序:浙大中控DCS圖形化編程課件SFC控制變量復位變量為ON時,SFC程序起始步被設置為激活步,其它步都強制變為不激活狀態,順控程序從頭開始重新執行。為OFF時,復位變量無效。

注意:在起始步中,默認給復位變量賦OFF,在終止步中,默認給復位變量賦ON。運行變量為ON時,SFC程序正常執行。為OFF時,所有其它控制變量都無效,SFC程序停止運行。SFC控制變量復位變量SFC控制變量保持(禁止轉換)變量為ON時,當前激活步將一直保持執行而不管緊接的轉換條件是否滿足,轉換條件測試將不進行。此變量受運行變量和復位變量的影響。強制步進變量為ON時,當前激活步不管轉換條件是否滿足,都變為不激活狀態,按順序的下一步變為激活狀態。強制步進變量受以上所有變量的影響。操作使能變量為ON時,步中的操作才被執行。SFC控制變量保持(禁止轉換)變量控制變量只能選用在系統組態中定義的變量。每個SFC段落必須要設置復位變量,程序初次下載到控制站時,必須對該復位變量賦ON,使程序從起始步開始執行。其他控制變量可根據實際需要,做有選擇的設置。控制變量只能選用在系統組態中定義的變量。

練習時間例:現場有三臺電機正在使用,分別是電機1、電機2和電機3,他們的開關狀態分別用f1、f2、f3表示,電機的啟動和關閉要求用程序控制。將啟動按鈕start置為on,電機1首先啟動,間隔5秒時間以后,電機2啟動,再間隔5秒,電機3啟動;啟動過程完成后,才可以進入關電機過程。將啟動按鈕start置為off,電機3首先關閉,間隔5秒時間以后,電機2關閉,再間隔5秒時間以后,電機1關閉;關閉過程完成后,才可以重新進入開電機過程。練習時間例:現場有三臺電機六、ST語言六、ST語言ST語言概述ST語言的語法自定義函數和功能塊ST語言中的模塊調用ST語言在非ST段落中的應用示例培訓什么?主要內容:培訓什么?主要內容:ST語言結構化文本語言IEC61131-3標準語言SCControl集成ST語言結構化文本語言使用方法在工程中加入ST段落編制函數和模塊在梯形圖和功能塊圖中插入文本代碼在順控圖步的操作中使用=操作限定詞在順控圖轉換條件中使用ST邏輯表達式使用方法在工程中加入ST段落編制函數和模塊數據類型變量類型關鍵字字節長度布爾類型BOOL1字WORD2雙字DWORD4整數INT2無符號整數UINT2長整數LONG4無符號長整數ULONG4半浮點SFLOAT2浮點FLOAT4數組

結構數據類型變量類型關鍵字字節長度布爾類型BOOL1字標識符

以英文字母開頭續以英文字母、數字或下劃線字符長度最多為24個字符標識符以英文字母開頭關鍵字(1)

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

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

運算符描述類型優先級()表達式運算

9.取結構成員

8[]取數組成員

8-單目負

7NOT取反邏輯運算7*(MUL)乘算術運算6/(DIV)除算術運算6MOD取余算術運算6+(ADD)加算術運算5-(SUB)減算術運算5運算符(1)運算符描述類型優先級()表達式運算

9.取結構運算符(2)

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

表達式為變量、操作符、常量、函數的組合,求值結果為單個值表達式的求值按運算符的優先級按順序進行,優先級高的運算符先被處理。相同優先級的按從左到右的順序執行

實例

A+B*(C-3)+FUNC1(2,D)表達式表達式為變量、操作符、常量、函數的組合,求值結果為單

運算符號歸納

賦值比較等于比較不等于二次計算===!=報表==<>SCX===!=ST==〈〉

:=運算符號歸納

八種常用語句浙大中控DCS圖形化編程課件

賦值語句賦值語句將“=”右邊表達式的值賦給左邊的變量。賦值時可使用“=”或“:=”作為運算符。舉例:

A=4;(*將變量A賦值為4*)

B:=4;(*將變量B賦值為4*)賦值語句賦值語句將“=”右邊IF語句

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

IF語句IFA>0THEN規定了一組語句在規定的CASE語句

CASE語句規定了整數類型的選擇項,以及選擇項在不同的值時的幾組語句組。

CASETWOF1:I=1;(*1:I:=1;亦可*)

2:I=2;ELSEI=3;END_CASE;CASE語句CASE語句規定了整數類型的選擇項,FOR語句

FORK=1TO100BY2DO DOSOMETHING();(*循環體*)END_FOR;循環語句,規定了終止條件和一組語句,當終止條件沒有成TRUE時,這組語句被循環執行。FOR語句FORK=1TO100BY2DOWHILE語句

J=1;WHILEJ<=100DOJ=J+2;END_WHILE;循環語句,規定了終止條件和一組語句,當終止條件沒有成TRUE時,這組語句被循環執行。WHILE語句J=1;循環語句,規定了終止條件和一組語REPEAT語句

J=1;REPEATJ=J+2;UNTILJ=101END_REPEAT;終止條件的判斷在語句組執行一次后才進行,所以規定的語句組至少會執行一次。當終止條件成TRUE時,循環被終止。REPEAT語句J=1;終止條件的判斷在語句組執行一次函數和功能塊

ST語言中可以調用程序模塊:函數、功能塊。函數

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

功能塊

是個程序模塊,有多個輸出,或輸出不但和當前輸入有關還和上次內部狀態有關如:voidBSC(SFLOATPV,UINTN,[OUT]SFLOATMV);

如何調用??函數和功能塊ST語言中可以調用程序模塊:函數、功能塊。函數調用語句

ret=Func(in1,in2);

(*作為表達式返回值*)Func(in1,in2);(*作為子程序處理,函數返回值為空類型*)函數調用語句ret=Func(in1,in2);

功能塊的調用語句

調用功能塊時要嚴格按照輸入輸出順序,先輸入輸入參數,再輸入輸出參數,參數順序按照定義時的順序。輸出參數必須是變量:

FuncBlock(in1,in2,out1,out2)功能塊的調用語句調用

對于函數和功能塊,系統中有已經定義好的標準庫函數及標準功能塊供我們使用,我們也可以使用ST語言來自己編制函數和功能塊。對于函數和功能塊,系統中有已經定義好的標準庫函數及標準功函數定義

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

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

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

FUNC3=DoSomething();END_FUNCTION(結束函數定義)函數定義FUNCTION(定義函數)FUNC3(函數名)函數的示例

例1:使用ST編制一個定時器清零的函數。形參為:

CTROL1:BOOL;(*定時器清零開關:ON清零*)number1:INT;(*定時器序號*)CTROL2:BOOL;(*定時器清零開關:ON清零*)number2:INT;(*定時器序號*)

實現的功能是當開關CTROL1按下時第number1號定時器清零;當CTROL2按下時第number2號定時器清零。函數的示例例1:使用ST編制一個定時器清零的函數。功能塊定義

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

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

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

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

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

例2:某測點為冗余控制,要求當操作員將開關K101打開時(為ON),選擇測點1(LI1011)作為單回路LIC101的輸入信號;當操作員將開關K101關閉時(為OFF),選擇測點1和測點2(LI1012)的平均值作為該回路的輸入信號。回路的輸出為調節閥LV101。請使用ST語言編寫自定義功能塊實現該功能,并完成該控制方案。功能塊的示例例2:某測點為冗余控制,要求當操作員將開關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段落中調用該模塊實現控制方案如下:(設置自定義回路0作為該液位控制回路)在FBD段落中調用該模塊實現控制方案如下:(設置自定義回ST中可調用的函數和功能塊

ST語言編寫程序語句時可以調用各種模塊,如:標準函數、標準功能塊、

STFUNCTION、STFUNCTION_BLOCK、

LD和FBD生成的自定義功能塊。ST中可調用的函數和功能塊ST語言編寫程序語句時可以調用各標準函數庫

算術運算比較運算邏輯運算類型轉換數學函數選擇函數混合運算通訊輔助累積輔助折線表運算輸入處理標準函數庫算術運算通訊輔助

比如:

SFLOATADD_SFLOAT(SFLOATa,SFLOATb);UINTMOVE_UINT(UINTa);SFLOATINT_TO_SFLOAT(INTa);SFLOATMAX_SFLOAT(SFLOATa,SFLOATb);比如:

標準功能塊庫對于ST語言可用的系統功能塊,它們的使用方法與模塊庫中的功能塊的使用方法是一致的。比如:voidSR(BOOLS1,BOOLR,[OUT]BOOLQ1);voidBSC(SFLOATPV,UINTN,[OUT]SFLOATMV);標準功能塊庫對于ST語言可在ST的FUNCTION模塊中:可以調用其它STFUNCTION,允許嵌套可以調用標準函數模塊調用限制在ST的FUNCTION模塊中:可以調用其它STF可以調用其它STFUNCTION可以調用標準函數可以調用標準功能塊可以調用其它ST功能塊,不能嵌套在ST的FUNCTION_BLOCK模塊中:模塊調用限制可以調用其它STFUNCTION在ST的FUNCTI可以調用其它STFUNCTION可以調用標準函數可以調用標準功能塊可以調用其它ST功能塊可以調用各種編程語言生成的功能塊模塊調用限制在TEXTCODE模塊中:可以調用其它STFUNCTION模塊調用限制在TEXTC可以調用其它STFUNCTION可以調用標準函數可以調用標準功能塊可以調用其它ST功能塊可以調用各種編程語言生成的功能塊模塊調用限制在SFC中的=操作中:可以調用其它STFUNCTION模塊調用限制在SFC中的TEXTCODE模塊應用示例

例6.3:有自定義單回路FIC101(回路序號為0),回路輸入位號為FI101,回路輸出位號為FV101。當選擇開關CH101為OFF時為正常單回路控制,當選擇開關CH101為ON時輸出調節閥FV101為固定閥位值,即當開關KI101為ON時將調節閥FV101開至50%;當開關K101為OFF時將調節閥關閉。請使用ST語言實現該控制要求。TEXTCODE模塊應用示例

例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;七、自定義功能塊的

設計與使用七、自定義功能塊的

設計與使用主要內容:概述自定義模塊設計與使用培訓什么?主要內容:概述培訓什么?概述在SCCONTROL中可以使用功能塊編輯器或梯形圖編輯器來設計自定義功能塊。從編程角度看,自定義功能塊相當于子程序。自定義功能塊內部包含了用戶定義的程序邏輯,外部則由輸入輸出變量組成其框架。在自定義功能塊內部可引用一個或多個功能塊或其他自定義功能塊,但其本身不能循環嵌套。作為自定義功能塊的外部接口輸入輸出變量數最大可以定義各32個。概述在SCCONTROL中可以使用功能塊編輯器或梯形圖編輯器基本步驟首先,新建段落,并選擇段類型為“模塊”。其次,定義該模塊的輸入輸出變量。另外如果需要,也可定義私有變量或全局變量等。再次,根據工藝要求編寫該模塊的內部算法。可以選擇適合的編程元素按算法要求組合在一起,從而實現我們的控制要求。最后,對該段落保存、編譯。如果編譯成功,則回到組態軟件中進行聯編;如果出錯,則應查找錯誤、修改程序直至編譯成功。新程序段FBDLD段名稱變量聲明基本步驟首先,新建段落,并選擇段類型為“模塊”。新程序段FB自定義模塊設計與使用

例1:要求制作一個名為“點燈模塊”的自定義功能塊。當操作員按下按鈕時以固定的時間間隔點亮5盞電燈。自定義模塊設計與使用例1:要求制作一個名為“點燈模塊”的自定義模塊設計與使用自定義模塊設計與使用自定義模塊設計與使用自定義模塊設計與使用八、程序調試八、程序調試主要內容:概述調試培訓什么?主要內容:概述培訓什么?概述

調試是對編寫的程序進行檢驗的過程,以確保編寫的程序滿足我們的控制要求。調試分靜態調試和動態調試。概述調試是對編寫的程序進行檢驗的過程,以確保編寫的程序滿足靜態調試

信息欄(出錯)

信息欄(成功)

方法:編譯程序

鼠標雙擊會怎樣?靜態調試信息欄(出錯)信息欄(成功)方法:編譯程序鼠動態調試組態保存,編譯,下載連接、調試變量調試動態調試組態保存,編譯,下載動態調試例1:實現對PI102的手工置值。動態調試例1:實現對PI102的手工置值。動態調試

例2:在以下梯形圖程序中對開關量Y5手工置值。打開變量調試窗口添加變量Y5、D5、D6、D7、D8、D9、D10,并觀察D5、D6、D7、D8、D9、D10的狀態。把Y5置為ON,觀察D5、D6、D7、D8、D9、D10的狀態變化。動態調試例2:在以下梯形圖程序中對開關量Y5手工置值。打調試輔助工具

調試文本

調試輔助工具

調試文本如何實現在調試狀態下從一個段落快速切換到其它段落?如何實現在調試狀態下從一個段落快速切換到其它段落?調試輔助工具

跳轉按鈕

調試輔助工具

跳轉按鈕九、綜合編程應用

九、綜合編程應用常見編程應用累積問題

BSC模塊實現串級控制聯鎖設計(輸入處理、濾波)編程注意事項

注釋文本 乘除運算主要內容:培訓什么?常見編程應用主要內容:培訓什么?累積量的處理

實現流量累積的兩個辦法:1、模擬量組態流量累積(常規)2、通過定義8字節變量,用模塊

Total_Accum進行累積。(程序實現)累積量的處理實現流量累積的兩個辦法:方法一方法一方法二方法二

系統工作時,對位號首先轉換成不帶量程不帶單位的無因次數,也就是說,流量信號首先被轉換成0-100%之間的數,由于位號的下限為0,所以直接除以量程即可。

TOTAL_ACCUM實際上是對這樣的一組百分數每秒鐘累加一次。流量累積原理系統工作時,對位號首先轉換成不帶量程不帶單位的無因

累積的結果放在FQ101中,但是我們需要查看的累積值是需要把每一個流量的瞬時信號還原成實際測量值,所以系統進行處理時,要將累積計算的結果FQ101乘以量程除以系數然后再顯示在操作站上。

所以請注意,這樣的累積模塊只能直接使用在流量信號下限為0的場合。累積的結果放在FQ101中,但是我們需要查看的累積舉個例子:對FI101進行流量累積并將累積結果存放于FQ101中。其中:FI10150-100m3/h,FQ101(自定義8字節),單位m3。首先:設置自定義8字節變量FQ101,量程100,系數3600

自定義一個2字節半浮點變量FI-101,量程為0-100,單位M3/h其次:根據公式{FI-101}*100={FI101}*(100-50)+50,我們可以求出FI-101的實時值下限非0流量信號的累積舉個例子:對FI101進行流量累積并將累積結果存放于FQ10最后,編程實現:最后,編程實現:當流量的PV值等于量程的下限時(比如斷線),會造成累積誤差。因此只有當流量大于其量程下限(可設為自定義浮點數)時才允許其進行累積,該浮點數可以設置為比量程下限稍大些的數值。當流量的PV值等于量程的下限時(比如斷線),會造成累積誤差。

通過語言編程實現流量累積,受在線下載組態的影響。使用模擬量累積的方法,不受在線下載組態的影響。通過語言編程實現流量累積,受在線下載組態的影響。

時間基準問題

目前控制站可用的時間函數有兩種:精確定時器和以控制周期為基準的定時器。其中控制站全局定義的256個秒定時器,256個分定時器,256個100毫秒定時器都是基于控制站的時鐘芯片,是相當精確的,不受下載組態的影響。而包括TON、TOFF、TP、以及順控圖中的各種延時操作內含的定時器,基準是控制周期,控制周期受系統負荷的影響有時會延長,這些定時器觸發的實際時間會比預定時間長。時間基準問題目

BSC模塊實現串級控制

在編制串級控制程序時,我們可以使用兩個單回路模塊來實現,但在編寫時應當注意內環與外環的無擾動切換。某鍋爐溫度控制,溫度位號TE111A,流量位號FI103,控制閥位號XV105S。考慮到使用單回路進行溫度控制存在較大的滯后,所以采用串級回路方式進行控制。我們將流量作為副控制對象,將溫度作為主控制對象。BSC模塊實現串級控制在編制串級浙大中控DCS圖形化編程課件K101為串級切換開關(自定義一字節變量)K101為串級切換開關(自定義一字節變量)

聯鎖設計聯鎖程序在設計時應該盡量考慮到安全問題,牢記現場生產安全第一。在聯鎖編程時應注意以下幾點內容:需進行聯鎖條件的濾波處理在現場運行時,象模擬量輸入信號、開關量輸入等信號容易受外界干擾,易引入虛假信號,因此,為保證正常生產不受影響,需對聯鎖條件進行條件判斷,只有當聯鎖條件連續幾個采樣周期都成立時,觸發聯鎖條件。對于一般的工藝來說,延遲2~3秒鐘觸發聯鎖條件并不會影響生產安全(如果需要這樣處理,必須得到廠方人員的認可,而不能自作主張,就把條件寫到程序中去),對于特殊工藝,需個別對待。聯鎖設計聯鎖程序在只允許有一個對輸出位號賦值操作

在程序中,對于每一個輸出位號應該有一個變量與之對應,在程序內部運算的結果均賦值給相關變量,在程序結尾處統一將變量賦值給相關位號。這一做法的目的,是防止由于主控卡突然掉電,造成只執行了一部分程序即進行輸出的情況,保證生產安全。只允許有一個對輸出位號賦值操作做好聯鎖測試記錄聯鎖測試正常是系統投運的基礎之一,在現場聯調前應編寫好調試方案,并經過用戶書面認可,調試時應該詳細進行聯鎖測試,任何聯鎖均可以看作是多輸入多輸出的一個對象,通過改變輸入判斷輸出是否符合聯鎖結果,并進行詳細記錄。聯鎖的測試記錄必須全面、細致,避免偷工減料,馬馬虎虎,差不多。同時,應盡可能想出一些異常情況,進行聯鎖試驗。所有的記錄應得到用戶的書面認可。做好聯鎖測試記錄

例:現場有個信號點A(0~100),控制要求當它小于25%時停電機DJ。

LSQ1:通道故障指示

AQC:聯鎖投入/切除開關例:現場有個信號點A(0~100),控制要求當它小于25

注釋文本

在編程中由于程序的復雜和繁瑣,有可能導致旁觀者難以理解編程人員的思路和程序的含義,所以推薦對程序進行文字注釋。注釋文本在編程中由于程

1)LD編輯器、FBD編輯器、SFC編輯器中的注釋使用注釋文本功能,注釋文本用于在程序中增加標注信息,以增加程序的可讀性。注釋文本的字體和顏色都可以修改。

再雙擊藍色方框,即可在藍色方框中編輯文字注釋,如:1)LD編輯器、FBD編輯器、SFC編輯器中的注釋2)ST語言編輯器中的注釋2)ST語言編輯器中的注釋

乘除運算

乘除運算應該考慮“溢出”問題,尤其是半浮點除法運算。半浮點的范圍在-7.9997~7.9997,當兩個半浮點相除時,應該對被乘(除)數與乘(除)數之間的倍數有一定的限制,不能超出半浮點的量程范圍。或者把半浮點數轉化為浮點數后再進行乘除。乘除運算乘除運

例如:求溫度位號TI-103(0-400攝氏度)和TI-107(0-1000攝氏度)的平均值。例如:求溫度位號TI-103(0-400攝氏度)和TI-謝謝!謝謝!THANKYOUSUCCESS2022/10/29252可編輯THANKYOUSUCCESS2022/10/222006年度產品和技術培訓

圖形化編程主講人:孫志明2006年度產品和技術培訓

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

工程欄信息欄工具欄菜單欄編輯區編譯成功提示編譯出錯提示狀態欄

軟件操作界面

工程欄信息欄工具欄菜單欄編輯區編譯成功提示編譯幫助菜單項簡介幫助菜單項簡介二、圖形化編程基礎

二、圖形化編程基礎

主要內容:工程、段落、區段編程基本步驟程序運行原理及執行次序工程管理數據類型變量系統資源培訓什么?主要內容:工程、段落、區段培訓什么?

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

溫馨提示

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

評論

0/150

提交評論