RSRC LVINLBVWw` m w@tP <@ǵZS^"DI&mP7G0}Ja?ُ B~0ُ B~C-YWx ua%SS78$LVINpid_control_labview85.viVIPVPID Advanced.viPTH07addonscontrolpidpid.llbPID Advanced.vi?NILVPID VIVIPID Advanced (DBL).viPTH0=addonscontrolpidpid.llbPID Advanced (DBL).vi@ setpoint@ output high@ output low@P output range@! auto? (T)@ manual control @ output@ process variable@ setpoint high@ setpoint low@P setpoint range@ proportional gain (Kc)@ integral time (Ti, min)@ derivative time (Td, min)@P  PID gains @ dt (s)@!reinitialize? (F) @ beta@ linearity@ dt out (s)L     NILVPID VIVINI_AALPro.lvlibPolynomial Interpolation.viPTH0;Analysis 5stat.llbPolynomial Interpolation.vi @error@ interpolation error@ interpolation value @ x value @@X@@Y$P  c d1` P c(@flg@oRt@eof@Pudf@ Initial filter state@ dfd@ txd@ old@ extP  P c@!Reinitialize controller?@!dfd@!txd@!old@!extP  c @ Filter time-constant Tf [s]P   c4@ Time step Ts [s]P  @ Setpoint y_SP [%]P  @! Auto/Man?P !@ Manual control u_man [%]P #  c@ Output high@ Output low@P&'Output range [%]@Pdfd@Ptxd@Pold@PextP ()*+,@ Setpoint high@ Setpoint low@P./Setpoint range [%]P 0)*+,@ Proportional gain Kc@ Integral time Ti [sec]@ Derivative time Td [sec]@P234 PID gains@Pdfd@Ptxd@Pold@PextP 56789 @!stopP ; @P=== c7"@@Raw_meas_min_max [V]@@dfd@@txd@@old@@extP @ABCD$@@Scaled_meas_min_max [%]P FABCD$@@Raw_control_min_max [V]P HABCD(@@Scaled control_min_max [%]P JABCD c8 @ outputP M @ Kc Scaling@ Ti Scaling@ Td Scaling2@POPQ$Cluster. PID Scaling from Sec to Min c d;@!reinitialize? (F) c @ beta@ process variable@ setpoint@ linearity@ dt out (s) @ ymfk@ a @error c@ interpolation error @ x value@ interpolation value FH!50#(@J! c@millisecond multiple c<d c0 cP c d  c c c c `>P d d4000 0"$0%-00100%:000<> 0?E> 0G> 0I> 0K0LN0R08LST0UVVWXYZ[V\]^ _`abcdefga5hijklmnopqrasX  tuvbw`xMyyz{0t|}(F~00000V{x͕=oAw>DŽ!D@ $( rA(@BTHXBpJ"%e:,*Jx.֑PXi<{<Όwl"jMmq5>l~5","#Kt+qYk7W_X[jSMXMk3;9@* +3;'*?nU5kR#J{k`Hrr؞P׏"YvSLX tDžFMobwu]ؐXƖm̓K؆mhcO,+cwƲdc_`wtP؂;Z ;LW?ZcVkWZP7l9 sܱɲMXWYix*~~%69'ncZP(#NL!>ODg[yfVlZycY\nκl۲u/Tda=d{%Wu\蕄v+ߤ\Pz^$?WzsTa?\yw3^5gV'#h+ek\ |EVIDSpid_control_labview85.viDSDSPID Advanced (DBL).viPTH0 DSDSNI_AALPro.lvlibPolynomial Interpolation.viPTH0  xXlw?;qv']:*VK2J` IjJNi*vVD ǜcqQD(j+ꭳ-6T)&GIPpp5"żwEw}}}'CT{SHVڡD WmJ.p#vxFk=RY$շ؇Hk㢧t`#pg7:^pwb(!~,FϜG.8pl6jH[ }oЗs㗧MvjL 5K'^zb6Kzi(K[R } (+iX3sezLoPU|)6*"Fue傲Tri'ϐ{dfdq1'tA)t Z)64g;r[H.❶8MdUܬTNQA`c/13ϐܷ @ [BěQy!=IK*{fv 1&(0Z.2%CC@,Wg<{gav\Z.΂Rh h͵B ń-Ʒ7XtF|BiraT"nۡM5DL|F>[ĩTM~'>'I*"6ro-\tޡ/-ۯ#ޯVM)yV%3c%j^e8ʏ+Y4p*zox t*#.!#{o!n#;f(769)ޘ" sDSgUsTjjO jy3L7Ԑu &RSD.r̀hHFEDNEۀlQ6R}UYjVi#/"V sܠ"QӡR>"M*]@֩s**"&m cݭP1CdRE" _MEE!ew Vgu_aD8ȧQE" _sE_"m#n*WYCI(|q̍K۩Z[Ⱦw[AC/@+B{nSګ ިVYGT5gW>/9[کhM0bO 6tE`噋ܥ^_pEiRu kbyEom[>Ttm%6] n]3Ha4tA]>O.KWajn,mhl^VdGB8RL^r|Dof'uToyi`ArGwU|ML 1.׵p{/m6p5JIӌgBt!h5DeQ[Bg{s;PY<٩x *\"s :ni-X]XT1iA63RIq5ʥ!~iSzhKzCO'Hҋfs7/hJtҏ}\_rހ<+@'P @=@O t 见fxf>خY> @=4z EoX; ߲mOG%#giv)_ϵ5Kp?掹't;=~Osqﯽ ?yrrwХ> ,9 P8.5 P @!stop@ Proportional gain Kc@ Integral time Ti [sec]@ Derivative time Td [sec]@P PID gains@ Setpoint high@ Setpoint low@P Setpoint range [%]@ Output high@ Output low@P Output range [%]@ Manual control u_man [%]@! Auto/Man?@ Setpoint y_SP [%]@ Time step Ts [s] @ Filter time-constant Tf [s]@!Reinitialize controller?@ Initial filter state "@@Raw_meas_min_max [V]$@@Scaled_meas_min_max [%]$@@Raw_control_min_max [V](@@Scaled control_min_max [%] @ output&P  P pTTTuu$TT$;a$aI2x!a!!!!!,,,,+,,,,,++,,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,###,,,#,##,,,,,,,,#,,#,,,,,########xC! @!stop@ Initial filter state@ Proportional gain Kc@ Integral time Ti [sec]@ Derivative time Td [sec]@P PID gains@ Time step Ts [s]?@ setpoint@ output high@ output low@P output range@! auto? (T)@ manual control @ output@ process variable@ setpoint high@ setpoint low@Psetpoint range@ proportional gain (Kc)@ integral time (Ti, min)@ derivative time (Td, min)@P PID gains @ dt (s)@!reinitialize? (F) @ beta@ linearity@ dt out (s)L     P @ Td Scaling@ Ti Scaling@ Setpoint y_SP [%]@ Setpoint low@ Setpoint high@P%$Setpoint range [%]<_Q @millisecond timer value@millisecond multiple @ Filter time-constant Tf [s]@ Output low@ Output high@P-,Output range [%]@ Kc Scaling2@P/"!$Cluster. PID Scaling from Sec to Min@!Reinitialize controller?@ interpolation value@ Manual control u_man [%]@! Auto/Man? @ ymfk@ a P***@@*Y@@*X @ x value@ interpolation error$@@*Scaled_meas_min_max [%]"@@*Raw_meas_min_max [V] @error$?;2:98P $@@*Raw_control_min_max [V](@@*Scaled control_min_max [%]l !"#$%&''&()*++,-.. /001123344+56# 70**89:2;<*=<>*=>@?A=*AB=*B?;2:98@(FPHPpid_control_labview85.viRDoutputHLHfwxScaled control_min_max [%]H_qapLHcwxRaw_control_min_max [V]H_ qapL{{Hcv~vScaled_meas_min_max [%]HfxhwLGTGTH\i\i`B~OBORaw_meas_min_max [V]HWfdxWhWw`D^kj^kjInitial filter stateHq~Jq ~I]D#0s#0s19. November 2007]D r rfinn@techteach.no[DggBy Finnn Haugen\PID Control LoopOD6K7KManPDS5`MS6`MAutodDyyReinitialize controller?gDFilter time-constant Tf [s]H$F$E\D.;e.;e Time step Ts [s]HANHANG]DHU HU  Setpoint y_SP [%]H[h[[UDuRuS Auto/Man?dD#$Manual control u_man [%]H'S)RWDJJ Output highH%@?VD+8F+8F Output lowH>K@>>?PPane\DOutput range [%]YDPP Setpoint highH%@?XD+8L+8L Setpoint lowH>K@>>?PPane^Dn{n{Setpoint range [%]`DppProportional gain KcH%@?bD+8t+8tIntegral time Ti [sec]H>K@>>?dDQ^Q^Derivative time Td [sec]Hdq@dd?PWd.Wd.PaneUDDQ?DQ? PID gainsP9F9FstopP$KXKXSTOPPPanegDIVMIVLMeasurement signal scaling:eD||Control signal unscaling:gD_^Polynomial Interpolation.vigDp.}p0}Polynomial Interpolation.viRD$vxBSensorTD$ 98dActuatorSD$;t=sYProcessL7r{7s7tDQ^R,&&(a=1/((Tf/Ts)+1); ymfk=(1-a)*ymfk1+a*ymk;MD''aPD.;.;ymfkND;0H;;1H;TfNDN0[<N1[<TsOD0#D1#DymkQD(05N(15Nymfk1tD/ 1 (Formula Node: Measurement lowpass filter`DTi and Td in minutes`D*],\Ti and Td in minutesRDDivide[D&y(xPID Advanced.vigDgiWait Until Next ms MultipleHDnoHD VD=(J[=*JZ Td ScalingHDM)Z8M+Z7VD((W*(V Ti ScalingHD+)88++87VD(Z*Y Kc ScalingHD )2 +1PDy${$PanepDv$x# $Cluster. PID Scaling from Sec to MinHD HDy y HD HDjw;jw;HD HDHI HD  HD+8$+8$HD+*8++8HDHDjw%jw%HD44HD^_HD^_ HD33VD%2%2 While LoopHDZggZhgW+x\{tldl$I6AqE@HG`Eq,=Rj(ԣ(EAϵⳍs(]L{gffd3lvwc-zak$@wYj/?|OTe;YJz#Kݳ3HD}w!_iJ>M]9,]>^lײw ;7Y{_ʲxd_$ GO^eR(o.6[| x`Gl?ѻ_?!;JhߺKNֶ[:6nҲ~sӧUmXZ!~q {s k*Z:*kḌR90!֑Κ!aS:7JzG3j{-\CCL+5ʿu%w)+y<-H'Yӹ;YIS_O&+ NВ |P dԨ%Ֆ+y(V'BA":E`XXcI(R* c$ot0wZOjHZw܉1sgf) .Y.֬ BUͪLYԬUB"0`y}l[SwxfYchA&" ^W߾n6#B!ݷo$៕061Dޠ{f.B^ CZFg:'J>:f4s/} hE1jH;5g,ќIzNw1Kru`U:T/٤HPp(s4\D9ƣ\$%"1E0"jp!HiIbQz#hI9."E}` &p(0D/t]a2լT7%w&t, Sh=#C gP Mv́@PY9Y,kkߪkQdPUa}U4N%chOtߣ}'ҏs)TCv^nuX Au8o{*7-X @ٳ1 RzZo2QAկ>ޫՀbn ukn4k&lB:gz?ӍOn˶Up~.yZ9yAD(ўˈ6D@`8U:uziJ8ʬvEbLL{C{}r2daڛ0-"Ӧ"Ӧi>0>aX.28!3fr3 i8b,@r2ɴS04i==eڋ0tgL{IL;#1i/u "yڗi?m! B)l3mKpl_]pY(lJl=|!f-IIdKR-fPȖ\8ْDBg`d[@]>X [2?k&ۜ(ْFl dKm.$[ryR-"q%E)y>"[ْՎȖ#[Қْ5ȖKlIHi?I.8wfLδKE=i 8}LUr20Ii@3 'ȴ%ƴ0mD=t/^Lۮ21ms_m`/S\ aQ?! 2sp($,!Z>`)#=P6hm9,xbxCĆf ŢFfYzcң:?=`M Q _GC3,Sr&';q1H7FĮg.K+(SDnF._)TF(vCBľv)v%.- 8R>aJ/X|*]%ؕr]a[m0Ir;׮&*-0l7o{ "$MX|HeV60K(hzrY 0 ʡ&?)&AG4?5wP1- lW\eubS$+N >8[l"mUsEe*Wn3%v bϳP8+#hֲ˖ʰq\E)៫fC3&TV*Bv [  ' J(:4270d*vٟ!FPUY|Cz#0ʤTdmR;(*(* GW.%;* =tX CeGD^jty#HWpNJHwI i I&"߀CZeMY Y&H\]?W8 sMQ A%BY,^i9v[L3sZ|a6{i(ik<ɦ5Ph;[v. .*ws.m"ե骫1`'Fqހc2٘n%6 LQv­zp(p480HO3 Cag^`_c_?M!DzrZ9ݽ %u~ Η"F;fc4?=;zt|qOawHGSgD5~Z5RF<觜ҳ씳D"v%fVr>U$/$'v_LN48}v_{{\4nѰ1Wخjv4KraG)Tj~ 0 xP*VKW˴z4\l3eƙ,4n8ZwW'BAFkzsEƁއg!,q V@]04:kl{r x>Ozlމ@\k K' +V<8jGdˈw=0VLGM:# d,m:BK u <-f#Ɂb1/#7{,jZ33N,^ WGtt6#@q`w8vt$Wv`wS: {vڄt:y KG4ؚ͉#xGG4z#f#.CE1/hCG\f##Ţu'W*{uP#?> C#pK_cQ5AZM2 ~&@xRJEs+II()#2yupTxD&WM<'D5A^cjBd}=^mDc;$?4cAnaկx&-}6CnƁmfN}v y?9?=ݽݽ"vpT0W OoA;NҒJ omfORXMNk%Li6JJ CJfR>A gP|މgU;%Lí&E%FE|t%|U^U~ iBx8/mC~kbHbޚPT|oEd0>4Pi|b,ɷ=]ăTȇ[ $W_R0W* p15s?q?ŠCmG4zSeߖ~ B.1)en<6_h \J,\q:mQlz]Y 725TEϤSN׆ۭyE@#3[ i,# L" 5  V'Dr->뮏~y ߮r#paddonscontrolpidpid.llbPID Advanced.viNILVPID $PTH0IUVIPID Advanced (DBL).viPTH0=addonscontrolpidpid.llbPID Advanced (DBL).viNILVPID $PTH0IUVINI_AALPro.lvlibPolynomial Interpolation.viPTH0;Analysis 5stat.llbPolynomial Interpolation.viPTH0%AnalysisNI_AALPro.lvlib  /xO>Jx[ |Tՙ?߹3<`&B* (Ȅ7Da;EV)[+`Xj (JkUǥ҅@b"?Y5wνsa[/w}9)Mɪ4/ D]ZTi,Z4)3 D$z$LBKx9 &C_& ~K5< Q6q ʃ10Pof(5 e1'U-.a_mla$8#~%bI-ܡb=ڄYX8z5OM2<ص_~afbX5 kk{} V 3"*98jnL& F.UhOx2 w,DpqDtxŗd\\ܱqg#-kweXNЊSFKfK'ML0ʧ1pN0cb7+ l" 37iFXtv`E"F 6B9] /D 6HT4-6g2"3`* 6Hi pQ_l8\f/ wj,0$_ A\x9\v6ApZy vEdIGࠞ=O?'[0MU0}ϰ -ܑ=?OOo>ٶ ;LJڋ>CGz+$v=KtQv#dI&N-y5Q+D cš7K&ok;],qzg1pƈOׯNv9 FT4E4c6 [pH,.{rL2:QDwǣM^r`7I_4X)dו|-*jq{Ӛn :p+>=qZJHkChjt2ԑ s jETh!hC)ш aǩcNsJ,PbEF  X(GU+!8{[J' V9ǺĈ`uJvkhJ5rW%WnWIIu-cc-(O 6c 9J9TrhJa~UXUzC5&p,~@B(j?ʵ8rD1HxZi`߀=Ja;TTbdI iZ4}eIIҠP=\x_ߠI#J8>wА?"5hKUc/T ݧ4OZ#&y}oj <cIJ'#-ICŬ@gl^ xV yS [Ȋ6X@+8ЭFObqu;oѶ?{y=dYyc7DsOd> |T"mpWD5Ε7Esqť!BgZs/TzޢI^|=bӵ*QC$+<&Eyi1ÈF#.I|žvi 6ds#f/J.LzEF[~_2W({ut!ftcӒxFK,7 GH~~B?ws} 㩪ufJd0sgS4Mc_MxEX@o,/nȫMMaTQ)FL@MHCDUzGf/B#اAO}žC8pۑm;Vwô. xfOL7Q+Dĥ;M߳$ X:A(׏iqC xƗ1EZNhOz -glgaZt8~Z?lӢ,ĠL~!׺xn&vm2y&^W3q3q›fBoē Agy&.V27u2q˲D?fb&seLQ2Q2v 3AۏL=<P#G_tz֫^zIokwHLMfl\|u lYEul(\&sp1ӹy\I^=cy&W'aSlОF'؏bBdcQ#F|41o2p}mV巭~1>dd?Kpmay~)b;mu .j$S$#>?X~^ih cOTN?o:lO?=i@S/d U ]Gv~EQ% ȧf%fPs&y#դm#u?Y/۴g5Ֆ@FqѺ+aaTO2[I/͠fQSmnYo;m>5Ql3fPvЎz(p$'0 >QM#\#(pʧ(vΠB ZWϏ e1nw}BM(b۠ ʹn L)@&tyVA^6&Al5;=޴{WCtSC' oNՠD)%vnnVnTl9q=^?Yz+)gK '#>nejHG h3,RFw%{1.aԘu:0otOGYtkKj=NOG;Q;ُҌ~LXF|ՌK=M ud+ ^b+a@R-nIb?aq5O;j~PqtLZf݅ܛ#lt!ރj[7lD'hK5m5m5WߍIj-dƣ$E01 J¹zIQ\GpDs7UhFoN 4;ą7{s3A<6!p TVa`crE q>օvFDiT֮%_DU,t2cv$OqR[s슣Yh,*<#n6IT-zT } q (\[U9%#)Ty4hU]u1{ c[ 4/S "穜 U;$?9X.R)U'p-/?)8AVEtBFiN4".%Po[0.!-Ze˽:du2ȤNîDY $*vv:eoA`m:<=[ c8"{na²CL\m7bDQ fE/`cfMW}qBCm]]ES &,PՔd͏}"rxCJnͲOKkaP WnGMCz4T-:Æ'*]EY[m7Q G}Q$Y~To&)۽bd3YhYC/:~qbos MS*d=><ʺH.=9[КhU>Q\Llx{jWݮ| $me}C#WmbU蹲8J:.5묢-]gUq 3W#a?W*Ë֖C54#t^_T"ojD*&ՃNa ٟ -1^;6ǎ[mM 32~a>C];-zf巊,7z(CCkkХd ]ICgWk}oKR{yVmN^p+eK~R,AV{$]|I&=&:m&C?,$}Y>ý !^({-;UUANbI>*>bI>*>-;?qX  _  f  m oI%TahomaTahomaTahoma00RSRC LVINLBVWw` m w@ 4 TLVSRlBDPWRTSGLIviCONPTM80DFDSLIdsVICD vers DLDR4FPTDHCPMp\ICONpicl8DTHPLIfpTRecjFPHb FPSE 0FPTS DLIbd XPICC lBDHb BDSE BDTS MUID HIST PRT FTAB x@0,#0))*0*|*+++ , ,l , - -p-.$.p./ /p/0 0l014112H233p3 4!4h"4#5$5t%5&6('6(6)7,*7x+7,8,-8.8/9409192:83:4:5;P6;7<8>h?>@?@A?B@C@\D@EAFA|GAHB$IBxJBKC LCxNCPDTQDRESEpTEUF(VFtWFXGYGxZG[H \Hl]H^I4_I`IaJbJdcJdJeKHfKgKhL,iLxjLkMlM\mMnNNP^L^X^`M`O``uvvvvDvpid_control_labview85.vi