千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

楼宇自控
收藏本版 |订阅

楼宇自控 今日: 3116 |主题: 9172

发新帖
打印 上一主题 下一主题

西门子DDC的PID调节功能...

[复制链接]
jjgls 发布于: 2009-6-18 20:35 1224 次浏览 4 位用户参与讨论
跳转到指定楼层
&nbsp;兄弟们,在西门子DDC中例如MEC、PXC中使用 LOOP指令,能不能两条LOOP指令同时使用啊<br/>如下 :<br/>00180&nbsp;&nbsp;&nbsp;&nbsp; IF("SUNMER".EQ.ON)THEN GOTO 220<br/>00190&nbsp;&nbsp;&nbsp;&nbsp; LOOP(128,"X-B1.S.TEMP","X-B1.VALVE","X-B1.S.TEMP.SP",10000,200,0.0,1,50.0,"X-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B1.VALVE.MIN","X-B1.VALVE.MAX",0)<br/>00200 &nbsp; &nbsp; 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&nbsp;&nbsp;&nbsp; GOTO 240<br/>00220&nbsp;&nbsp;&nbsp;&nbsp; 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)&nbsp;&nbsp; ;根据温度调水阀<br/>00230 &nbsp; &nbsp;&nbsp; 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&nbsp; 260<br/><br/><br/>但是我发现 好像紧跟 的第二个LOOP指令好像不管,如果不行该怎么办啊?我现在需要PID调节水阀 风阀 加湿阀。谢谢兄弟们了<br/>
回复

使用道具 举报

已有4人评论

新浪微博达人勋

千家认证

沙发
mayberlin 发表于 2010-9-25 15:46:00
<div class="quote"><b>以下是引用<i>jjgls</i>在2009-6-18 20:36:00的发言:</b><br/>&nbsp;兄弟们,在西门子DDC中例如MEC、PXC中使用 LOOP指令,能不能两条LOOP指令同时使用啊<br/></div>
<p>Ans.Loop的指令不能像你這樣使用,在這個指令的用法上是有一些限制的,不是不能兩條Loop指令同時使用甚至可以多條同時使用,</p>
<p>Loop指令必須每次都被執行到,所以通常會被放在最前面的行號以確保每次都能被執行到</p>
<p>例如:</p>
<p>&nbsp;</p>
<p>00100&nbsp;&nbsp;&nbsp;&nbsp; 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 &nbsp; &nbsp; 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&nbsp;&nbsp;&nbsp;&nbsp; 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)&nbsp;&nbsp; </p>
<p>00140&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp;&nbsp;&nbsp; C</p>
<p>10000&nbsp;&nbsp;&nbsp;&nbsp; GOTO 100</p>
<p>&nbsp;</p>
<p>這樣一來你去Trace你的程式就可以看到每次你的行號前面都會有ET了(E=Enable,T=Trace)</p>
<p>可是在100及130行的"X-B1.VALVE"會有相反的動作,建議可以這麼改</p>
<p>例如</p>
<p>&nbsp;</p>
<p>00100&nbsp;&nbsp;&nbsp;&nbsp; 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 &nbsp; &nbsp; 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&nbsp;&nbsp;&nbsp;&nbsp; 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)&nbsp;&nbsp; </p>
<p>00140&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp;&nbsp;&nbsp; C</p>
<p>01000&nbsp;&nbsp;&nbsp;&nbsp; IF("SUMMER".EQ.ON)THEN "X-B1.VALVE"=$LOC12 ELSE "X-B1.VALVE"=$LOC11</p>
<p>01010&nbsp;&nbsp;&nbsp;&nbsp; C</p>
<p>30000&nbsp;&nbsp;&nbsp;&nbsp; GOTO 100</p>
<p>&nbsp;</p>
<p>這樣一來程式就能運作正常,可是你的控制方式就不知道是否正確?</p>
<p>1.如問題中的程式190跟220行(等於我改的100及130行),只有TYPE的參數是相反的,這表是同樣的溫度跟同樣的閥體,在夏天與非夏天動作完全箱反,難道在夏天當冰水閥到冬天就變成熱水閥?</p>
<p>2.如問題中的程式230行,加濕閥控制加濕是正確的,但請留意加濕的特性是否可以用LOOP來寫,恐怕值得商確</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
[此贴子已经被作者于2010-9-25 15:52:01编辑过]

回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

板凳
未名 发表于 2010-9-25 17:34:00
<p>路过赚积分的</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

地板
lh80966149 发表于 2010-9-29 10:40:00
赚积分
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

5#
zhanyu2008 发表于 2010-9-29 12:55:00
看不懂这个的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城