PLC模糊控制代碼_第1頁
PLC模糊控制代碼_第2頁
PLC模糊控制代碼_第3頁
PLC模糊控制代碼_第4頁
PLC模糊控制代碼_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單輸入單輸出模糊控制1200測(cè)試2015.8.27說明 通過西門子1200控制器,使用博途 V13SP1的scl編程語言實(shí)現(xiàn)模糊控制算法,反模糊計(jì)算復(fù)雜,為了簡(jiǎn)化算法,將輸出功能函數(shù)簡(jiǎn)化為矩形,隸屬度只取矩形的中點(diǎn)。實(shí)驗(yàn)測(cè)試通過matlab7.0測(cè)試模糊控制結(jié)果,如下1、測(cè)試1,輸入0.5,輸出2、測(cè)試2,輸入0.85,輸出lnrtial_CaliBoolReiraneoce*Fis DBb3、測(cè)試3,輸入1.14、測(cè)試4,輸入0.44,輸出5、測(cè)試5,輸入1.2程序代碼命曲莎褻雜転曰回占土爼三星油匸虻旦呦善 ':|"'| IB三I 畑In|v CPU Sft面IFI

2、S / FIS1 CPU 1214C AC/DC/Rly / 程序塊Fis FBI名稱Fis編號(hào)1編號(hào)自動(dòng)信息標(biāo)題作者版本一0.1 用戶自定義IDFis屬性 常規(guī)類型汪釋FB語言SCL系列Fis名稱數(shù)據(jù)類型偏移量默認(rèn)值可從HMI訪問在HMI中可 見設(shè)置值注釋 InputinReal0.00.0TrueTrueFalseinshReal4.00.0TrueTrueFalseinslReal8.00.0TrueTrueFalseoutshReal12.00.0TrueTrueFalseoutslReal16.00.0TrueTrueFalse Outpu toutReal20.00.0TrueTr

3、ueFalseInOut StaticthenBool24.0falseTrueTrueFalseclause_typeBool24.1falseTrueTrueFalseclause_valByte25.016#0TrueTrueFalse亍 clause_val_bollArray0.7 ofBool25.0FalseFalseFalseclause_val_boll0Bool0.0FalseFalseFalseclause_val_boll1Bool0.1FalseFalseFalseclause_val_boll2Bool0.2FalseFalseFalseclause_val_bol

4、l3Bool0.3FalseFalseFalseclause_val_boll4Bool0.4FalseFalseFalseclause_val_boll5Bool0.5FalseFalseFalseclause_val_boll6Bool0.6FalseFalseFalseclause_val_boll7Bool0.7FalseFalseFalseif_valByte26.016#0TrueTrueFalsemuByte27.016#0TrueTrueFalsetempInt28.00TrueTrueFalselabelInt30.00TrueTrueFalsein putByte32.01

5、6#0TrueTrueFalsefuzzy_outByte33.016#0TrueTrueFalseclauseInt34.00TrueTrueFalsenum eratorDInt36.00TrueTrueFalsedenomina torDInt40.00TrueTrueFalsejInt44.00TrueTrueFalse outputsArray0.4 of Byte46.0TrueTrueFalseoutputs0Byte0.016#0TrueTrueFalseoutputs1Byte1.016#0TrueTrueFalseoutputs2Byte2.016#0TrueTrueFal

6、seoutputs3Byte3.016#0TrueTrueFalseoutputs4Byte4.016#0TrueTrueFalse output_m emfArray0.4 of Byte52.0TrueTrueFalseoutput_m em f0Byte0.00TrueTrueFalseoutput_m em f 1Byte1.064TrueTrueFalseoutput_m em f2Byte2.0128TrueTrueFalseoutput_m em f3Byte3.0191TrueTrueFalseoutput_m em f4Byte4.0255TrueTrueFalse in p

7、ut_memfArray0.4, 0.3 of Byte58.0TrueTrueFalsein put_memf 0,0 Byte0.016#00TrueTrueFalsein put_memf 0,1 Byte1.016#00TrueTrueFalsein put_memf 0,2 Byte2.016#0DTrueTrueFalsein put_memf 0,3 Byte3.016#07TrueTrueFalsein put_memf 1,0 Byte4.016#1ATrueTrueFalsein put_memf 1,1 Byte5.016#0ATrueTrueFalsein put_me

8、mf 1,2 Byte6.016#5ETrueTrueFalsein put_memf 1,3 Byte7.016#0FTrueTrueFalsein put_memf 2,0 Byte8.016#48TrueTrueFalsein put_memf 2,1 Byte9.016#08TrueTrueFalsein put_memf 2,2 Byte10.016#95TrueTrueFalsein put memf 2,3 Byte11.016#08TrueTrueFalsein put memf 3,0 Byte12.016#95TrueTrueFalsein put memf3,1 Byte

9、13.016#14TrueTrueFalsein put memf 3,2 Byte14.016#BFTrueTrueFalsein put memf 3,3 Byte15.016#06TrueTrueFalsein put memf 4,0 Byte16.016#BFTrueTrueFalsein put memf4,1 Byte17.016#06TrueTrueFalsein put_memf 4,2 Byte18.016#FFTrueTrueFalseTotally Integrated Automati on Portal名稱數(shù)據(jù)類型偏移量默認(rèn)值可從HMI訪 問在HMI中可 見設(shè)置值注

10、in put_memf 4,3Byte19.016#00TrueTrueFalse rulesArray0.9 of Byte78.0TrueTrueFalserules0Byte0.0#GAP_ZEROTrueTrueFalserules1Byte1.0#TURN_ZEROTrueTrueFalserules2Byte2.0#GAP_VSMALLTrueTrueFalserules3Byte3.0#TURN_VSMALLTrueTrueFalserules4Byte4.0#GAP_SMALLTrueTrueFalserules5Byte5.0#TURN_SMALLTrueTrueFalser

11、ules6Byte6.0#GAP_MEDIUMTrueTrueFalserules7Byte7.0#TURN_MEDIUMTrueTrueFalserules8Byte8.0#GAP_BIGTrueTrueFalserules9Byte9.0#TURN_BIGTrueTrueFalseTemp ConstantGAP_ZEROByte16#00GAP_VSMALLByte16#01GAP_SMALLByte16#02GAP_MEDIUMByte16#03GAP_BIGByte16#04TURN_ZEROByte16#80TURN_VSMALLByte16#81TURN_SMALLByte16#

12、82TURN_MEDIUMByte16#83TURN_BIGByte16#84MU_MAXByte16#FFIO_NUMByte16#07LABEL_NUMByte16#70DEFAULT_VALUEByte16#000001/ 初始化0002 #label:= 0;0003 #the n:= 0;0004 #if_val:=#MU_MAX ;00050006 / 輸入值歸一化.0007 #i nput:=INT_TO_BYTE(REAL_TO_INT(#i n-#in sl)/(#i nsh-#i nsl)*255.0);0008 #input :=DINT_TO_BYTE ( TRUNC(

13、#in - #insl) / (#insh - #insl) *255.0 );0009 /#i nput := 16#c5;.0010 / 模糊控制算法.0011 FOR #clause :=0 TO 9 DO0012 #clause_val := #rules#clause; / 存儲(chǔ)當(dāng)前規(guī)則0013 #clause_type := #clause_val_boll7 ; / 條件分支 0;結(jié)果分支 10014 IF NOT #clause_type - 斤HEN / 當(dāng)前為調(diào)節(jié)分支0015 IF#then THEN是否分析結(jié)果0016#then :=0;/0017#if_val := #

14、MU_MAX ;/ 復(fù)位 mu0018 END_IF;|0019 IFBYTE_TO_INT (#input) <BYTE_TO_INT (#input_memf#label,| 0) THEN/ 如果輸入在點(diǎn) 1 左邊0020#mu:= 0;隸屬度為 00021 ELSE輸入在點(diǎn)1右邊0022 IF-q BYTE_TO_INT (# in put) < BYTE_TO_INT (#i nput_memf#label,2) THEN / 輸入在點(diǎn) 1,3 之間0023#temp:=# in put;/用斜率1計(jì)算隸屬度0024#temp:=#temp-BYTE_TO_INT (#i

15、nput_memf#label,0);0025 IF#input_memf#label, 1= 0 THEN / 斜率 1 為 00026#temp:=#MU_MAX ;/隸屬度為最大值0027 ELSE0028/斜率1不為00029#temp:=#temp*BYTE_TO_INT (#input_memf#label,1) ;/ 根據(jù)斜率 1 計(jì)算隸屬度0030 END_IF;0031 IF#temp <16#100 THEN / 隸屬度未超限0032#mu:= INT_TO_BYTE(#temp);0033 ELSE0034/.隸屬度超限0035#mu := #MU_MAX ;003

16、6 END_IF;|0037 ELSE/輸入在點(diǎn)3右邊,即第二天斜線上0038#temp:=# input;0039#temp:=#temp-BYTE_TO_INT(#input_memf#label,|2);0040#temp:=#temp*BYTE_TO_INT(#input_memf#label,3);0041#temp:= BYTE_TO_INT (#MU_MAX)-#temp ;0042 IF#temp <0 THEN / 隸屬度小于 00043#mu:= 0;0044 ELSE0045/ 隸屬度不小于00046#mu := INT_TO_BYTE (#temp);0047 E

17、ND_IF;|0048 END_IF;0049 END_IF;0050#if_val:=#mu;0051#iabel:=#label+ 1;00520053 ELSE0054#then :=/«當(dāng)前為結(jié)果分支|1;/開始計(jì)算結(jié)果BYTE_TO_INT (#if_val) THEN0055 IFBYTE_TO_INT (#outputs BYTE_TO_INT (#clause_val&#IO_NUM) <0056#outputs BYTE_TO_INT (#clause_val&#IO_NUM) := #if_valTotally Integrated Auto

18、mati on Portal0057 END_IF;0058 END_IF;00590060 END_FOR;00610062 / 重心法 計(jì)算模糊輸出0063 /(*0064 #nu merator:=0;/ 復(fù)位累積值0065 #den omi nator:=0;0066 FOR #j :=0 TO 4 DO0067/ Stateme nt section FOR0068#numerator:=#numerator+BYTE_TO_DINT (#outputs#j)*BYTE_TO_DINT (#output_memf#j)0069#denominator:=#denominator+BYTE_TO_DINT (#outputs#j) ;0070 #outputs#j:= 0;0071 IF#denominator<>0 THEN分母不為 00072#f

溫馨提示

  • 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)論