得到準(zhǔn)確ms級(jí)的代碼執(zhí)行周期做自己的多功能定時(shí)器塊_第1頁(yè)
得到準(zhǔn)確ms級(jí)的代碼執(zhí)行周期做自己的多功能定時(shí)器塊_第2頁(yè)
得到準(zhǔn)確ms級(jí)的代碼執(zhí)行周期做自己的多功能定時(shí)器塊_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、本文格式為Word版,下載可任意編輯得到準(zhǔn)確ms級(jí)的代碼執(zhí)行周期,做自己的多功能定時(shí)器塊 /*/*得到代碼執(zhí)行周期*/*1、OB1的臨時(shí)變量區(qū)供應(yīng)了OB1_PREV_CYCLE INT 上一次掃描的運(yùn)行時(shí)間(ms),,長(zhǎng)時(shí)間的累積會(huì)有不少的誤差。為什么呢,由于系統(tǒng)供應(yīng)給你的數(shù)值可能是有舍棄小數(shù)后值。而且供應(yīng)的是用戶程序運(yùn)行時(shí)間,是否包含接口掃描、通訊、映射等時(shí)間不得而知。你可以通過累積OB1_PREV_CYCLE 和sfc64的后臺(tái)時(shí)間比較就知道,兩個(gè)的差別。我的方法是通過讀取系統(tǒng)時(shí)鐘,這樣無累積誤差,(SFC64供應(yīng)正向增長(zhǎng)的雙字運(yùn)行時(shí)間)/*獲得系統(tǒng)時(shí)鐘和程序執(zhí)行周期* CALL SFC

2、64 ( RET_VAL := LD 96); L LD 96; L #sysT; -D ; JPZ posA; /計(jì)數(shù)滿了,就少計(jì)一個(gè)周期,影響可以忽視 L #cycT; posA: T #cycT; L LD 96; T #sysT; /-消退了系統(tǒng)供應(yīng)時(shí)鐘的累積誤差。誤差最大一個(gè)執(zhí)行周期(310ms);/*/*多功能定時(shí)器*/*嵌入程序的定時(shí)器,是實(shí)現(xiàn)功能塊封裝的重要部分,實(shí)現(xiàn)便利的移植系統(tǒng)供應(yīng)的IEC定時(shí)器,復(fù)位比較麻煩,必需再次執(zhí)行;自制FB功能塊可同時(shí)便利實(shí)現(xiàn)以下幾個(gè)功能1、開關(guān)量濾波功能;延時(shí)接通延時(shí)斷開,也可處理有干擾波動(dòng)值閥值比較;2、Ton定時(shí)器;(TofSet=0)3、T

3、of定時(shí)器;(TonSet=0)定時(shí)精度最小1ms,實(shí)際精度是一個(gè)周期;定時(shí)范圍2,147,483,647ms(596小時(shí));/-以下是寫的FB塊,測(cè)試用了好長(zhǎng)時(shí)間,也還能精簡(jiǎn),拋磚引玉;歡迎指教;/-/符號(hào)解釋:開關(guān)量濾波,單位ms;/計(jì)數(shù)到后, tonAct(DINT)/tofAct(DINT)不再遞增。設(shè)定值小于等于0,輸出同步輸入。/設(shè)定時(shí)間=set*ration,單位ms。電平使能,復(fù)位結(jié)束后,使能還在則重新計(jì)時(shí);VAR_INPUT TonSet : INT ; /設(shè)定延時(shí)啟動(dòng)值,默認(rèn)為0無延時(shí);DIW0 TofSet : INT ; /設(shè)定延時(shí)斷開值,默認(rèn)為0無延時(shí);DIW2 Ra

4、tio : INT := 100; /設(shè)定值倍率1=1ms(默認(rèn)100ms)DIW4 CycT : INT ; /OB1上次掃描周期,單位ms,DIW6 Rst : BOOL ; /復(fù)位計(jì)時(shí)器內(nèi)部保存值和輸出,DIX8.0 En : BOOL ; /需要濾波的DI,DIX8.1 END_VARVAR_OUTPUT OK : BOOL ; /濾波輸出,DIX10.0 END_VARVAR tonAct : DINT ; /DID12 tofAct : DINT ; /DID16 END_VAR/*BEGIN SET ; L l#0; A #Rst; JCN ton; R #OK; T #tonAct; T #tofAct; BE ; ton: A #En; JCN tof; T #tofAct; A #OK; BEc ; L #Ratio; L #TonSet; *I ; /不要用*D,假如設(shè)定錯(cuò)誤成負(fù)數(shù),會(huì)錯(cuò)誤被解釋成正的大值; L #tonAct; =D ; S #OK; BEC ; L #CycT; +D ; T #tonAct; BE ; tof: T #tonAct; AN #OK; BEc ; L #Ratio; L #TofSet; *i ; /不要用*D,假如設(shè)定錯(cuò)誤成負(fù)數(shù),會(huì)錯(cuò)誤被解釋成正的大值; L #tofAct;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論