S7-300的數(shù)值轉(zhuǎn)換功能_第1頁
S7-300的數(shù)值轉(zhuǎn)換功能_第2頁
S7-300的數(shù)值轉(zhuǎn)換功能_第3頁
S7-300的數(shù)值轉(zhuǎn)換功能_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

創(chuàng)建數(shù)值轉(zhuǎn)換功能在編寫功能之前,首先看一下該功能編寫完成后的格式。如圖3.2.23所示,F(xiàn)C201即為數(shù)值轉(zhuǎn)換功能。它有五個(gè)輸入:IN、IN_MIN、IN_MAX、OUT_MIN、OUT_MAX和一個(gè)輸出:OUT。其中:IN:需要進(jìn)行轉(zhuǎn)換的原始輸入變量IN_MIN:原始變量的下限值IN_MAX:原始變量的上限值OUT_MIN:轉(zhuǎn)換成的目標(biāo)變量的下限值OUT_MAX:轉(zhuǎn)換成的目標(biāo)變量的上限值OUT:輸出目標(biāo)變量這段程序的意義是:將AI0CSM334的PIW256輸入通道0)轉(zhuǎn)換成0~100的數(shù),存儲到”MYDATA,.AI0(DB3.DBD0)中。再將AI1轉(zhuǎn)換成0~100的數(shù),存儲至到”MYDATA'.AI1中。EB1.IBD72manipulatedvalueFDCT.LMN-0m000000e+000 -lu.000000e+002 EB1.IBD72manipulatedvalueFDCT.LMN-0m000000e+000 -lu.000000e+002 -530027648-FC202"MYUNSCALE”EN ENOIN OUTIN_MININ_EaXOUT_MINPQR25fi輸出通道a-r,AOO?AO1r'MYDATAr\A01 -0?000000e+000 -l?000000e+002 -530027648-EC202■,"MYUNSCALE?EN ENOIN OTHINJ1ININ_MAXOUT_MINOUTMAXPQR25g輸出通道1-1MA01w在Network1上會出現(xiàn)輸入框,在其中輸入SUB_I,意思是整數(shù)的減法運(yùn)算,回車。如圖3.2.32所示。pcsaiFC2M"KYSCALE""yvacAiE"EH EH9EJf EUCiiraa-DsiK綺入通道口aio 緬入通iSiah"JilO11-IN"KYDAIA"1.A "All10-IffOUT-10■DDT1-Il53DD-5300-IW_KIN日一ME日一IW_v?lXo.oaoQCiae+O.O£lCl£lClCle+aaa -□1TT_MINaoa 一i.oaoQCiae+l.QQQQQQei^圖3.2.32減法運(yùn)算點(diǎn)擊紅色的”???”,輸入變量值。輸入第一個(gè)字母,系統(tǒng)會自動輔助用戶輸入其余字符。如圖3.2.33圖3.2.33輸入臨時(shí)變量按照上述方法,輸入Network1全部程序:MOVE:將輸入變量(左側(cè))的數(shù)值賦給輸出變量(右側(cè))DI_R:雙精度整數(shù)轉(zhuǎn)換為實(shí)數(shù)SUB_R:實(shí)數(shù)減法運(yùn)算如圖3.2.34所示。為了使讀者看得更清楚,這里將該行程序分成兩行書寫。以下多行程序同理。在實(shí)際編程中,這段代碼只有一行。圖3.2.34Network1程序的含義是:TEMPINT=IN_MAX-IN_MINTEMPINT是整數(shù)值,我們想將它轉(zhuǎn)換為實(shí)數(shù)值。由于INT格式無法直接轉(zhuǎn)換為Real格式。因此首先將TEMPINT轉(zhuǎn)換為雙精度整數(shù)TEMPDINT,再轉(zhuǎn)換為實(shí)數(shù)SCALEIN。最后SCALEOUT=OUT_MAX-OUT_MIN它們都是實(shí)數(shù),可以直接相減。然后輸入Network2,如圖3.2.35所示。其含義是:賦值:TEMPINT=IN

如果:TEMPINT<IN_MIN則:TEMPINT=IN_MINMOVEEN ENOIN OUTCMP<=lINIIN2MOVEEN ENOIN OUT#IN--#TEMPINI#TEMPINI--#TEMFINI圖3.2.35Network2輸入Network3,如圖3.2.36所示。其含義是:如果:TEMPINT>IN_MIN則:TEMPINT=IN_MAX這里沒有賦值TEMPINT=IN,是因?yàn)镹etwork2巳經(jīng)做了這一步,因此不必重復(fù)。圖3.2.36Network3這兩段代碼防止了輸入值溢出,即如果IN>IN_MAX或者IN<IN_MIN,則使用IN_MAX或者IN_MIN來代替實(shí)際巳經(jīng)溢出的IN值。最關(guān)鍵的最后一行代碼Network4,如圖3.2.37所示。

DIV_REN ENOINIOUTIN2MLfL_REN ENOINIOUTIN2ITEMFREfiL-#SCALEIN-#TEMFREflL-#OUT_MIN-TTEYFREAL #TEMFREAL-#SC:ALEOITT--tTEKFRESLADD_REN ENOINIOUTIN2圖3.2.37Network4讓我們來分析這段代碼。首先巳經(jīng)知道,IN的值在Network2和3中巳經(jīng)賦值給了TEMPINT。本行代碼開始的TEMPINT即為輸入值IN。轉(zhuǎn)換公式為:OUT=—IN—IN-MIN——x(OUTMAX-OUTMIN)+OUTMININMAX-INMINDI_R的作用是將雙精度整數(shù)值轉(zhuǎn)換為實(shí)數(shù)值,以便進(jìn)行MUL_R乘法運(yùn)算和DIV_R除法運(yùn)算。CMP>R是比較指令,SCALEIN作為分母,這里程序要求SCALEIN>0。全部編輯完畢后點(diǎn)擊保存。同樣的方法,讀者可以自行創(chuàng)建輸出的數(shù)值轉(zhuǎn)換功能。它們之間的區(qū)別在于:模擬量輸入是把Word格式的5530?27648的數(shù)據(jù)輸入成為0~100的Real值。而輸出則相反,要將0~100的Real值輸出成為Word格式的5530?27648的數(shù)據(jù)。這里給出程序內(nèi)容,供讀者參考。如圖3.2.39-3.2.43所示。圖

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論