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

下載本文檔

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

文檔簡介

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論