千家论坛_智能建筑与智能家居技术交流社区
标题:
西门子DDC的PID调节功能
[打印本页]
作者:
jjgls
时间:
2009-6-18 20:36
标题:
西门子DDC的PID调节功能
兄弟们,在西门子DDC中例如MEC、PXC中使用 LOOP指令,能不能两条LOOP指令同时使用啊<br/>如下 :<br/>00180 IF("SUNMER".EQ.ON)THEN GOTO 220<br/>00190 LOOP(128,"X-B1.S.TEMP","X-B1.VALVE","X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X- B1.VALVE.MIN","X-B1.VALVE.MAX",0)<br/>00200 LOOP(128,"X-B1.S.TEMP","X-B1.F.VALVE","X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X-B1.F.VALVE.MIN","X-B1.F.VALVE.MAX",0)<br/>00210 GOTO 240<br/>00220 LOOP(0,"X-B1.S.TEMP","X-B1.VALVE","X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X-B1.VALVE.MIN","X-B1.VALVE.MAX",0) ;根据温度调水阀<br/>00230 LOOP(0,"X-B1.S.RH","X-B1.RH.VALVE","X-B1.RH.SP",10000,200,0.0,1,50.0,"X-B1.F.VALVE.MIN","X-B1.F.VALVE.MAX",0);根据湿度调加湿阀<br/>00240 GOTO 260<br/><br/><br/>但是我发现 好像紧跟 的第二个LOOP指令好像不管,如果不行该怎么办啊?我现在需要PID调节水阀 风阀 加湿阀。谢谢兄弟们了<br/>
作者:
mayberlin
时间:
2010-9-25 15:46
<div class="quote"><b>以下是引用<i>jjgls</i>在2009-6-18 20:36:00的发言:</b><br/> 兄弟们,在西门子DDC中例如MEC、PXC中使用 LOOP指令,能不能两条LOOP指令同时使用啊<br/></div>
<p>Ans.Loop的指令不能像你這樣使用,在這個指令的用法上是有一些限制的,不是不能兩條Loop指令同時使用甚至可以多條同時使用,</p>
<p>Loop指令必須每次都被執行到,所以通常會被放在最前面的行號以確保每次都能被執行到</p>
<p>例如:</p>
<p> </p>
<p>00100 LOOP(128,"X-B1.S.TEMP","X-B1.VALVE","X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X-B1.VALVE.MIN","X-B1.VALVE.MAX",0)<br/></p>
<p>00110 LOOP(128,"X-B1.S.TEMP","X-B1.F.VALVE","X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X-B1.F.VALVE.MIN","X-B1.F.VALVE.MAX",0)</p>
<p>00130 LOOP(0,"X-B1.S.TEMP","X-B1.VALVE","X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X-B1.VALVE.MIN","X-B1.VALVE.MAX",0) </p>
<p>00140 LOOP(0,"X-B1.S.RH","X-B1.RH.VALVE","X-B1.RH.SP",10000,200,0.0,1,50.0,"X-B1.F.VALVE.MIN","X-B1.F.VALVE.MAX",0)<br/></p>
<p>00150 C</p>
<p>10000 GOTO 100</p>
<p> </p>
<p>這樣一來你去Trace你的程式就可以看到每次你的行號前面都會有ET了(E=Enable,T=Trace)</p>
<p>可是在100及130行的"X-B1.VALVE"會有相反的動作,建議可以這麼改</p>
<p>例如</p>
<p> </p>
<p>00100 LOOP(128,"X-B1.S.TEMP",$LOC11,"X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X-B1.VALVE.MIN","X-B1.VALVE.MAX",0)<br/></p>
<p>00110 LOOP(128,"X-B1.S.TEMP","X-B1.F.VALVE","X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X-B1.F.VALVE.MIN","X-B1.F.VALVE.MAX",0)</p>
<p>00130 LOOP(0,"X-B1.S.TEMP",$LOC12,"X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X-B1.VALVE.MIN","X-B1.VALVE.MAX",0) </p>
<p>00140 LOOP(0,"X-B1.S.RH","X-B1.RH.VALVE","X-B1.RH.SP",10000,200,0.0,1,50.0,"X-B1.F.VALVE.MIN","X-B1.F.VALVE.MAX",0)<br/></p>
<p>00150 C</p>
<p>01000 IF("SUMMER".EQ.ON)THEN "X-B1.VALVE"=$LOC12 ELSE "X-B1.VALVE"=$LOC11</p>
<p>01010 C</p>
<p>30000 GOTO 100</p>
<p> </p>
<p>這樣一來程式就能運作正常,可是你的控制方式就不知道是否正確?</p>
<p>1.如問題中的程式190跟220行(等於我改的100及130行),只有TYPE的參數是相反的,這表是同樣的溫度跟同樣的閥體,在夏天與非夏天動作完全箱反,難道在夏天當冰水閥到冬天就變成熱水閥?</p>
<p>2.如問題中的程式230行,加濕閥控制加濕是正確的,但請留意加濕的特性是否可以用LOOP來寫,恐怕值得商確</p>
<p> </p>
<p> </p>
[此贴子已经被作者于2010-9-25 15:52:01编辑过]
作者:
未名
时间:
2010-9-25 17:34
<p>路过赚积分的</p>
<p> </p>
<p> </p>
作者:
lh80966149
时间:
2010-9-29 10:40
赚积分
作者:
zhanyu2008
时间:
2010-9-29 12:55
看不懂这个的。
欢迎光临 千家论坛_智能建筑与智能家居技术交流社区 (http://bbs.qianjia.com/)
Powered by Discuz! X3.2