基于西門子PLC300的流量累計程序?qū)嵗齙第1頁
基于西門子PLC300的流量累計程序?qū)嵗齙第2頁
基于西門子PLC300的流量累計程序?qū)嵗齙第3頁
基于西門子PLC300的流量累計程序?qū)嵗齙第4頁
基于西門子PLC300的流量累計程序?qū)嵗齙第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于西門子PLC300流量累計的程序【在工業(yè)中往往會遇到業(yè)主要求做流量累積程序,比方要求檢測到每月天然氣用量,石油采集量,生產(chǎn)材料的多少,針對這些情況,PLC300往往做得多不是很精準(zhǔn),下面我介紹一個精度相比照擬高的程序】由于有些地方采用T型圖很難實現(xiàn)STL方便復(fù)制,本例采用STL來編寫更加方便本例采用OB35中斷程序來實現(xiàn),OB35中斷時間為100ms,這個100ms很關(guān)鍵,為了確認(rèn)精度,采樣周期必須和這個中斷時間相同。定義流量統(tǒng)計極端程序為FC200,名稱為FLOWCOUNT針對運用的變量說明:名稱注釋說明Reset初始化變量當(dāng)累計到某個量時清0instantF瞬時流量儀表采集的流量,通過模量處理后過來Cycle采樣周期100ms根據(jù)周期性中斷的時間輸入LimitF最小瞬時流量INTF當(dāng)前累積量累積量的整數(shù)局部DECF當(dāng)前累積量累積量的小數(shù)局部Error誤差計算的誤差BEFORE上周期瞬時流量在OB35中編寫DEMO程序如下:CALL"FLOWCOUNT"Reset:=M11.0instantF:=MD120Cycle:=1.000000e+002LimitF:=0.000000e+000INTF:=MD124DECF:=MD128Error:=MD132BEFORE:=MD136FC200【FLOWCOUNT】功能塊針對流量累積計算的算法原理是:積分量:就是當(dāng)前中斷程序執(zhí)行的周期時間內(nèi)的流量總和當(dāng)前積分量=積分量+以前的計算誤差當(dāng)前累積量=當(dāng)前積分量+原累積量當(dāng)前計算誤差=原累積量-當(dāng)前累積量+當(dāng)前積分量程序編寫如下:在FC200的變量表內(nèi)設(shè)置接口變量:接口名稱數(shù)據(jù)類型注釋INResetBool初始化instantFReal瞬時量CycleReal采樣時間LimitFReal允許的最小瞬時量IN_outINTFDInt累積量DECFReal累積量小數(shù)局部ErrorReal累積量誤差BEFOREReal上周期累積瞬時量TEMPAverageReal瞬時平均值IntegralReal當(dāng)前積分量FlowmeterValueSmallAltReal上周期積分累積量SETSAVE=L12.1L#INTFLL#1000000000//這個值根據(jù)自己需求上線設(shè)定>=DO#ResetJCNA7d0LL#0T#INTFL0.000000e+000T#DECFT#Error//如果累積量大于清零值或者清零鍵復(fù)位,那么所以的清零重新累積A7d0:L#instantFL#BEFORE+RL2.000000e+000/RT#Average//當(dāng)前周期與上周期采樣的值平均L#AverageL#LimitF>=RJCNA7d1L#LimitFT#FlowmeterValueSmallAltL#AverageL#Cycle*RL3.600000e+006/RL#Error+RT#IntegralL#IntegralL#FlowmeterValueSmallAlt+RT#DECFL#FlowmeterValueSmallAltL#DECF-RL#Integral+RT#ErrorA7d1:L#DECFL1.000000e+000>=RJCNA7d2L#DECFRNDL#INTF+DT#INTFL#DECFRNDDTR//將ACCU1與ACCU2互換L#DECFTAK-RT#DECFA7d2:L#instantFT#BEFORECLR//計算的誤差A(yù)L12.1SAVEBE一些指令說明:1.TAK將ACCU1與ACCU2互換目錄ACCU1ACCU2執(zhí)行TAK指令之前<MW12><MW10>執(zhí)行TAK指令之后<MW10><MW12>2.DTR將長整型(32位)轉(zhuǎn)換為浮點數(shù)(32位IEEE754)例子:STL解釋LMD10//將32位整數(shù)載入ACCU1。DTR//從長整型轉(zhuǎn)換為浮點型(32位IEEEFP);結(jié)果存儲在ACCU1中。TMD20//將結(jié)果(BCD數(shù)字)傳送到MD20。3.RND取整實例STL解釋LMD10//將浮點數(shù)載入ACCU1-L。RND//將浮點數(shù)(32位,IEEE754)轉(zhuǎn)換為整型(32位)并對結(jié)果進(jìn)行舍入。TMD20//將結(jié)果(長整數(shù))傳送到MD20。轉(zhuǎn)換前的值轉(zhuǎn)換后的值MD10="100.5"=>RND=>MD20="+100"MD10="-100.5"=>RND=>MD20="-100"JCN當(dāng)RLO=0時跳轉(zhuǎn)實例

溫馨提示

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

最新文檔

評論

0/150

提交評論