你现在位置:首页>技术论文>行业应用>供水工程>正文
6台泵自动轮换问题
日期:2006-4-15 21:09:36 来源:本站整理  
点击: 作者:未知
点击【】放大字体.

6台泵自动轮换问题

WWW_PLCJS@_COM%-PLC-技.术_网

 
   有一变压器冷却项目,1台变压器有6台冷却泵,A.当变压器低压侧(二次输出)投入时,需要轮换启动2台冷却泵(即每隔2小时
WWcW_PLCJS_COM-PLC-技.术_网

  轮换启动,每次要保证有2台泵运行);B.当变压器高压侧(一次输入)投入时,需要轮换启动3台冷却泵(即每隔2小时
WWW.PLCJS.COM——可编程控制器技术门户

  轮换启动,每次要保证有3台泵运行),当冷却泵故障退出运行后,将按排列顺序自动启动备用冷却器。请问:如何对以轮换进行简单有效的组态?
WWW_P※LCJS_COM-PLC-)技.术_网

  当A条件向B转换时,怎样判断并启动第3台泵,当B条件向A转换时,怎样判断并退出第3台泵?循环排列方式要本着均衡、对称的原则。
WWcW_PLCJS_COM-PLC-技.术_网

以下是对《6台泵自动轮换问题》的回复:

WW.W_PLCJS_COM-PLC-技.术_网

匿名回复:

W1WW_P4LCJS_COM-PLC-技.术_网

    怎么没有人回复阿?是我没有说清楚吗?
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

匿名回复:
WWW_PL※CJS_COM-PLC-技.术_网

    -----系统初始化(开始)-------
WWW_PL※CJS_COM-PLC-技.术_网

  1.分配6个Word内存(水泵编号),将这6个Word内容分别初始化为1,2,3,4,5,6
——可——编——程——控-制-器-技——术——门——户

  2.定义变量:V1(需要开启台数)V2(当前开启台数)V3(水泵输出缓存)V4(循环计数器)V5(保存水泵编号首地址)V6(水泵运行输入缓存)V7(水泵故障输入缓存)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

  ------系统初始化(结束)-------
WWW_PL※CJS_COM-PLC-技.术_网

  ------每隔2小时执行1次(开始)-------
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

  1.用循环移位指令对6个Word进行移位(注意:每次必须移1个Word)。这样第一次移位后,数据应该是2,3,4,5,6,1下一次应该是3,4,5,6,1,2依此类推。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

  ------每隔2小时执行1次(结束)-------
WWW_PLC※JS_COM-PmLC-技.术_网

  ------每次故障执行1次(开始)-------
P.L.C.技.术.网——可编程控制器技术门户

  1.将水泵切换程序执行1次。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

  ------每次故障执行1次(结束)-------
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

  ------水泵切换程序(开始)-------
——可——编——程——控-制-器-技——术——门——户

  1.将V2、V3和V5设置为0
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  2.循环:如果(V4 <= 6)并且(V2 <= V1)则->如果将"常数1"左移@V5(间接寻址)位,然后和V6和V7进行AND操作,如果结果位0(说明此泵未开,并且没有故障),则将V2加1。然后将结果对V3进行1次OR操作。
WWW_PL※CJS_COM-PLC-技.术_网

  3.跳出循环后,将V3内容复制到物理输出。
WWW_PLC※JS_COM-PmLC-技.术_网

  ------水泵切换程序(结束)-------
WW.W_PLCJS_COM-PLC-技.术_网

  如果条件A满足要求,则将V1设为2,如果条件B满足要求,则将V1设为3
WWW_P※LCJS_COM-PLC-)技.术_网

匿名回复:
WWW_PLCJS@_COM%-PLC-技.术_网

    补充:每隔2小时还应该将水泵切换程序执行1次。 :)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

匿名回复:
WWW_PL※CJS_COM-PLC-技.术_网

    
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

  谢谢microtomato
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

  
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

  还有没有更简单的方法啊?
plcjs.技.术_网

  
WWW.PLCJS.COM——可编程控制器技术门户

匿名回复:
WWcW_PLCJS_COM-PLC-技.术_网

    microtomato:
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

   能不能把程序贴上来,这样看的更好理解一些.
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

匿名回复:
plcjs.技.术_网

    to microtomato:
WW.W_PLC※JS_C,OM-PL,C-技.术_网

   对你的方法,我有几个疑问,清执教:
WWW.PLCJS.COM——可编程控制器技术门户

   1,定义变量:V4的循环计数是给哪个计数?V5(保存水泵编号首地址),这个在程序中怎么做?
WWW_PLCJS_COM-PLC-技.术_网

   2,能否将水泵切换程序在详细的说一遍。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

匿名回复:
WWW_PL※CJS_COM-PLC-技.术_网

    还有,我用的S7-300,再STEP7 V5.2里该如何定义V变量?
WWW_P※LCJS_CO※M-PLC-技-.术_网

匿名回复:
——可——编——程——控-制-器-技——术——门——户

    定义的变量V能否用字代替?
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

匿名回复:
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    不要没事找事,用的着这样吗?这和在空调系统压缩机启动退出不是一回事吗?
WWcW_PLCJS_COM-PLC-技.术_网

匿名回复:
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    回candy2000:
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  1.真够死板的:) 我这里的V1、V2等只是1个代号而已,你可以在符号表里面进行定义啊,比如V1代表DB1.DBW100,当然你也可以不起V1这样讨厌的名字。
WWW_P※LCJS_COM-PLC-)技.术_网

  2.V4的功能就是给循环体进行计数,每循环1次,该计数值+1。如果V4的值=6,则说明已经把所有的6台泵都检测过了,此时就可以退出循环。V2是当前已经开启的水泵台数,每当找到1台完好的泵,则该计数值+1。如果V2=V1,则说明已经开启了足够多数量的水泵,此时就退出循环。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

  3.V5这个变量的内容就是你存放“水泵编号”这块内存的起始地址。比如你把代表“水泵编号”的1,2,3,4,5,6放在了DBW100开始的6个字,那么V5就应该初始化为100,这样间接寻址时就会自动到DBW100去取数据了。如果V5=101,那么程序就去取DBW101的数据了。当然你也可以找块你喜欢的地方保存这些数据。
WWW_PL※CJS_COM-PLC-技.术_网

  4.程序的运作方式就是这样:
WW.W_PLC※JS_C,OM-PL,C-技.术_网

  (a)每隔2小时(也就是你的切换时间)对6台泵的启动优先级进行排序。然后调用“水泵切换程序”
WWcW_PLCJS_COM-PLC-技.术_网

  (b)每次故障(无论哪台泵发生故障),都调用一次“水泵切换程序”
P.L.C.技.术.网——可编程控制器技术门户

  (c)在“水泵切换程序”中,(1)首先将代表“当前水泵运行台数”的变量初始化为0(2)根据水泵的优先级依次检测水泵的启动条件是否满足要求,如果满足要求则开(并且把“当前水泵运行台数”这个变量+1),反之则找下1台。(3)如果“当前水泵运行台数”变量=“需要运行的台数”,则跳出循环(可以开的水泵已经够多了)。(4)如果循环了6次(你的水泵一共就6台)“当前水泵运行台数”还是小于“需要运行的水泵台数”,则跳出循环(所有水泵中就这么几台是好的)。(5)刷新输出。
WW.W_PLCJS_COM-PLC-技.术_网

  5.这里的移位指令移位的具体位数就是“水泵编号”的值。比如1号泵就移1位,2号泵就移2位。(假设你代表水泵故障和水泵运行的输入端是从1开始的,比如I0.1是1号泵的运行,I1.1是1号泵的故障,如果从0开始,则前面的移位数就必须减1)这样你就得到了1个用于比较的参考值。然后将这参考值和故障输入和运行输入进行比较,将比较结果和输出缓冲或1下就能决定该泵是否运行了。
WW.W_PLCJS_COM-PLC-技.术_网

  ------------------------------
WWW_PLCJS@_COM%-PLC-技.术_网

  设你的I0.1~I0.6依次是1~6号泵的故障输入(如果故障,则对应输入端为on),I1.1~I1.6依次是1~6号泵的运行输入(如果运行,则对应输入端为on),I2.1~I2.6依次是泵的运行输出(如果运行,则对应输出端为on)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  如果现在要知道2号泵是否可以运行:(1)将常数1左移2位,得到二进制0000000000000100,然后把整个故障输入取1下反再对该二进制进行一次AND操作,如果现2号泵没有故障,则得出结果仍然为0000000000000100,如果2号泵有故障,则结果为0000000000000000。此时再把整个运行输入取1下反,再对刚才的结果进行一次AND操作。如果2号泵没有运行,则原先为0000000000000100计算结果还是0000000000000100。如果2号泵已经运行了,则计算结果就是0000000000000000。经过2次判断后,将计算结果和输出缓冲区进行OR操作。这样就把2号泵的输出状态写下去了。这下应该明白了吧 :)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

匿名回复:

本新闻共5页,当前在第11 2  3  4  5  
W1WW_P4LCJS_COM-PLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行