SIMATIC-PCS7-標準培訓-10-自定義功能塊_第1頁
SIMATIC-PCS7-標準培訓-10-自定義功能塊_第2頁
SIMATIC-PCS7-標準培訓-10-自定義功能塊_第3頁
SIMATIC-PCS7-標準培訓-10-自定義功能塊_第4頁
SIMATIC-PCS7-標準培訓-10-自定義功能塊_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

SIMATICPCS7標準培訓自定義功能塊2023/2/5內(nèi)容FB和FC塊的結構LAD編程語言設計自定義功能塊FC設計實例FB設計實例SCL編程簡介2023/2/52SciampleTraining---SIMATICPCS7FB和FC塊的結構引腳變量聲明程序體塊屬性FB的背景數(shù)據(jù)塊2023/2/53SciampleTraining---SIMATICPCS7塊的引腳FB和FC塊是實現(xiàn)一定功能的程序塊,例如:量程轉換、PID控制器、信號濾波等;FB和FC將程序分解成相對獨立的部分;在FB和FC內(nèi)部避免使用直接地址,而是通過塊的引腳與調(diào)用程序實現(xiàn)數(shù)據(jù)交換,可以防止讀取到無效數(shù)據(jù);設計良好的塊可以被多次調(diào)用,只需改變引腳連接,可節(jié)約編程工作量。2023/2/54SciampleTraining---SIMATICPCS7塊的三種引腳輸入端(IN):變量輸入,只讀;輸出端(OUT):結果輸出,避免讀取輸出端;輸入輸出端(IN_OUT):用于需要回寫的變量,例如需要自復位的按鈕。2023/2/55SciampleTraining---SIMATICPCS7變量聲明FB和FC塊中所有用到的變量必須先聲明;變量聲明中包括對引腳的聲明;FB和FC塊中的變量聲明類型:IN,OUT,IN_OUT塊的引腳;TEMP臨時變量,用于程序的中間數(shù)據(jù)存儲;STAT靜態(tài)變量,在FB中用于保存重要數(shù)據(jù),F(xiàn)C沒有靜態(tài)變量。塊中的變量可以采用所有PCS7支持的基本和復合數(shù)據(jù)類型,但是塊的引腳在連接時必須滿足兩端數(shù)據(jù)類型一致。2023/2/56SciampleTraining---SIMATICPCS7塊屬性FB和FC塊包含以下屬性:NAME:塊名稱VERSION:版本號FAMILY:塊分類AUTHOR:作者S7_TASKLIST:調(diào)用塊的執(zhí)行順序S7_m_c:塊是否需要與WinCC變量連接可以在編寫自定義功能塊時設置屬性。2023/2/57SciampleTraining---SIMATICPCS7FB的背景數(shù)據(jù)塊FC和FB的區(qū)別:FC塊沒有背景數(shù)據(jù)塊;背景數(shù)據(jù)塊與變量聲明中確定的數(shù)據(jù)結構一致;背景數(shù)據(jù)塊中不包含臨時變量;用于保存每個周期的變量數(shù)值,可以在其他程序中訪問背景數(shù)據(jù)塊中的數(shù)據(jù);FC塊的引腳不能空置,不能賦初值;FB塊的引腳可以不連,保持其默認的初始值;FC常用于一些簡單的邏輯運算和不需數(shù)據(jù)存儲的功能,也用于調(diào)用其他FB和FC塊實現(xiàn)程序的結構化;FB更適合于編寫復雜的運算功能。2023/2/58SciampleTraining---SIMATICPCS7程序體FB和FC塊的程序可以采用多種編程語言編寫;LAD、FBD:適于編寫較簡單的功能,程序直觀易懂;STL:適于編寫貼近內(nèi)核的程序,功能強大,但程序晦澀難懂;SCL:適于編寫復雜的運算功能,功能強大,接近高級語言,程序易懂。2023/2/59SciampleTraining---SIMATICPCS7LAD編程語言位邏輯指令比較指令MOVE與數(shù)據(jù)轉換指令整數(shù)運算指令浮點數(shù)運算指令字邏輯運算指令計數(shù)器指令定時器指令2023/2/510SciampleTraining---SIMATICPCS7常開觸點常閉觸點取反輸出線圈置位線圈復位線圈檢測下降沿檢測上升沿復位-置位觸發(fā)器置位-復位觸發(fā)器檢測變量上升沿檢測變量下降沿位邏輯指令2023/2/511SciampleTraining---SIMATICPCS7三種數(shù)據(jù)類型CMP?I整數(shù)比較CMP?D長整數(shù)比較CMP?R實數(shù)比較六種比較條件==IN1等于IN2<>IN1不等于IN2>IN1大于IN2<IN1小于IN2>=IN1大于等于IN2<=IN1小于等于IN2比較指令2023/2/512SciampleTraining---SIMATICPCS7MOVE指令可實現(xiàn)簡單的數(shù)據(jù)轉換功能IN:I,Q,M,D,常數(shù)OUT:I,Q,M,D2023/2/513SciampleTraining---SIMATICPCS7BCD_IBCD碼轉換為整型I_BCD整型數(shù)轉換為BCD碼BCD_DIBCD碼轉換為長整型DI_BCD長整型數(shù)轉換為BCD碼I_DINT整形數(shù)轉換為長整型DI_REAL長整型數(shù)轉換為實型數(shù)INV_I整型數(shù)的二進制反碼(按位取反)INV_DI長整型數(shù)的二進制反碼(按位取反)NEG_I整型數(shù)的2的補碼(加負號)NEG_DI長整型數(shù)的2的補碼(加負號)NEG_R實型數(shù)的相反數(shù)(加負號)數(shù)據(jù)轉換指令2023/2/514SciampleTraining---SIMATICPCS7ADD_I整型數(shù)加法SUB_I整型數(shù)減法MUL_I整型數(shù)乘法DIV_I整型數(shù)除法ADD_DI長整型數(shù)加法SUB_DI長整型數(shù)減法MUL_DI長整型數(shù)乘法DIV_DI長整型數(shù)除法MOD_DI長整型數(shù)取模運算(求余數(shù))整數(shù)運算指令2023/2/515SciampleTraining---SIMATICPCS7ADD_R實型數(shù)加法SUB_R實型數(shù)減法MUL_R實型數(shù)乘法DIV_R實型數(shù)除法浮點數(shù)運算指令2023/2/516SciampleTraining---SIMATICPCS7WAND_W字“與”WOR_W字“或”WXOR_W字“異或”WAND_DW雙字“與”WOR_DW雙字“或”WXOR_DW雙字“異或”字邏輯運算指令2023/2/517SciampleTraining---SIMATICPCS7S_CUD向上-向下計數(shù)器S_CD向下計數(shù)器S_CU向上計數(shù)器計數(shù)器指令2023/2/518SciampleTraining---SIMATICPCS7S_PULSE---(SP)脈沖定時器S_PEXT---(SE)擴展脈沖定時器S_ODT---(SD)延時接通定時器S_ODTS---(SS)帶保持延時接通定時器S_OFFDT---(SF)延時斷開定時器定時器指令2023/2/519SciampleTraining---SIMATICPCS7S_PULSE脈沖定時器2023/2/520SciampleTraining---SIMATICPCS7S_PEXT擴展脈沖定時器2023/2/521SciampleTraining---SIMATICPCS7S_ODT延時開啟定時器2023/2/522SciampleTraining---SIMATICPCS7S_ODTS帶保持延時開啟定時器2023/2/523SciampleTraining---SIMATICPCS7S_OFF延時斷開計時器2023/2/524SciampleTraining---SIMATICPCS7設計自定義功能塊分解程序功能選擇FC和FB塊設計引腳和變量結構2023/2/525SciampleTraining---SIMATICPCS7分解程序功能可以按照以下原則對程序進行功能分解:按照實現(xiàn)的功能劃分:如電機起停邏輯、閥門控制器等;按照控制的設備劃分:如除氧器、加壓泵等;按照控制回路劃分:如汽包水位控制器、主管壓力控制器等;按照算法單元劃分:如量程轉換,浮點運算等;2023/2/526SciampleTraining---SIMATICPCS7選擇FC和FB塊選擇合理的程序塊劃分原則;盡量將實現(xiàn)功能所需的數(shù)據(jù)包含到功能塊中;需要大量中間數(shù)據(jù)的功能塊應選擇FB,如:計算浮點數(shù)多項式;需要讀取多個掃描周期數(shù)據(jù)的功能塊采用FB,例如:PID控制器;不需數(shù)據(jù)存儲或只需臨時數(shù)據(jù)存儲的功能塊可采用FC實現(xiàn),例如:量程轉換等。2023/2/527SciampleTraining---SIMATICPCS7設計引腳和變量結構將需要在調(diào)用時變化的數(shù)據(jù)設計成塊的引腳;合理利用IN,IN_OUT,OUT三種引腳類型,優(yōu)先使用IN和OUT類型,避免不必要的麻煩;需要在多個周期中使用的變量應為靜態(tài)變量;

只在單個周期使用或僅僅一個語句使用的變量應為臨時變量;對FB塊中變量賦初值時應考慮安全;臨時變量不能賦初值。2023/2/528SciampleTraining---SIMATICPCS7FC設計實例量程轉換功能引腳變量聲明LAD實現(xiàn)量程轉換在OB1中調(diào)用2023/2/529SciampleTraining---SIMATICPCS7量程轉換功能從模擬量輸入通道讀到的是一個沒有工程單位的數(shù)值,與輸入信號的對應關系是:0Kp--4mA--012Kp--20mA--27648在程序中必須先對其做量程轉換,之后才能得到實際的測量信號;量程轉換是一個最常用的功能,但必須經(jīng)過多步運算才能實現(xiàn),因而有必要將其編寫成功能塊。2023/2/530SciampleTraining---SIMATICPCS7引腳將一個0到27648的數(shù)值轉換成從低量程(0Kp)到高量程(12Kp)之間的數(shù)值;為了確??梢栽诔绦蛑卸啻握{(diào)用,需要將一些變量引出成為引腳;要轉換的數(shù)值應該是一個輸入引腳;高低量程根據(jù)不同的信號可能不同,應該設計成輸入引腳;量程轉換的結果應該作為輸出引腳。2023/2/531SciampleTraining---SIMATICPCS7變量聲明其他數(shù)據(jù)只是在運算過程中使用,可以定義成臨時變量。引腳的數(shù)據(jù)類型:輸入:SV:WORD;HLM:REAL;LLM:REAL;輸出:PV:REAL在量程轉換功能中沒有需要多個周期使用的數(shù)據(jù),可以用FC實現(xiàn)。將自定義量程轉換功能定義成FC1。2023/2/532SciampleTraining---SIMATICPCS7LAD實現(xiàn)量程轉換FC12023/2/533SciampleTraining---SIMATICPCS7在OB1中調(diào)用FC1FC1的引腳不能空置連接變量的數(shù)據(jù)類型與聲明的類型一致2023/2/534SciampleTraining---SIMATICPCS7FB設計實例信號濾波功能引腳變量聲明LAD實現(xiàn)信號濾波FB1在CFC中調(diào)用FB12023/2/535SciampleTraining---SIMATICPCS7信號濾波功能為了消除模擬量信號的高頻噪聲,在信號讀入之后需要先經(jīng)過濾波器;根據(jù)要求不同可以選用多次濾波,如四次濾波;在濾波器中,將連續(xù)對同一個信號采樣,并將連續(xù)四次采樣的平均值作為當前時刻的實際值輸出;濾波器可以用于各種模擬量信號,用功能塊實現(xiàn)可以節(jié)約編程量。2023/2/536SciampleTraining---SIMATICPCS7引腳濾波器應該是一個單輸入單輸出的系統(tǒng),輸入端是一個任意的模擬量信號,輸出是經(jīng)過濾波之后的模擬量信號;2023/2/537SciampleTraining---SIMATICPCS7變量聲明由于濾波算法中需要保存連續(xù)四次的采樣值,并作平均運算,因而需要使用FB來實現(xiàn);可以將連續(xù)四次采樣值保存在一個實型數(shù)組中,并且必須將其聲明成靜態(tài)類型(STAT);在FB中輸入輸出和靜態(tài)變量可以設置初值:輸入:SV:REAL;(初值為0.0)輸出:PV:REAL;(初值為0.0)靜態(tài):BUF:ARRAY[1..4]OFREAL;(0

溫馨提示

  • 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

提交評論