Wincc水泵启动队列问题。

有个项目有4台水泵,想每30分钟把他们排一次对列,要求是启动的水泵不参与排队,排队的依据是水泵的累计运行时间(PLC里有计时),运行时间少的排前面。排玩对还要设置水泵投入运行。我懵逼了,完全不知道怎么下手,求大侠们帮帮忙。

问题补充:
我是用Wincc脚本来做的,可以提供脚本参考一下就更好了。

最佳答案

1、给水泵编号1~4,
2、全局脚本编程:
vbs,周期30min:
dim run(4),pump(4),runtime(4),max
run(0)=hmiruntime.tags("pump1.run").read
run(1)=hmiruntime.tags("pump2.run").read
run(2)=hmiruntime.tags("pump3.run").read
run(3)=hmiruntime.tags("pump4.run").read

pump(0)=1
pump(1)=2
pump(2)=3
pump(3)=4

if (run(0)) then
   runtime(0)=无穷大
else
  runtime(0)=hmiruntime.tags("pump1.runtime").read
end if
 if (run(1)) then
   runtime(1)=无穷大
else
  runtime(1)=hmiruntime.tags("pump2.runtime").read
end if
if (run(2)) then
   runtime(2)=无穷大
else
  runtime(2)=hmiruntime.tags("pump3.runtime").read
end if
if (run(3)) then
   runtime(3)=无穷大
else
  runtime(3)=hmiruntime.tags("pump4.runtime").read
end if
''以上如果当前泵在运行,则runtime赋值无穷大,否则就是当前实际运行时间
for i=0 to 3
     for j=i to 3
         if runtime(i)>runtime(j) then
            max=runtime(i)
            runtime(i)=runitme(j)
            runtime(j)=max’运行时间交换
            max=pump(i)
            pump(i)=pump(j)
            pump(j)=max''泵需要交换
         end if
     next
next
交换完成后pump()数组保存的就是应该启动泵的顺序,所以只要启动pump(0)的数值对应的泵就行了。

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc167303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月10日 下午9:05
下一篇 2017年6月10日 下午9:06

相关推荐

  • 怎样在画面模板中显示中文名称?

    我的要求是在主画面的按钮中用vbs给画面模板中的静态文本中显示我要的中文名称比如显示“一号电机”这个该怎么做?谢谢! 最佳答案 你用的应该是结构变量吧!应该在这个结构变量里面建立一…

    SIMATIC WinCC 2019年6月11日
  • wincc项目无法激活

    直接新建一个项目,不该任何东西是可以激活的。我要修改画面运行系统中的全屏显示就会跳出如图2的提示。点击否就无法修改,于是我点击了是,更改好后。我在重新把计算机该回本机名称。之后关闭…

    2021年7月5日
  • wincc组态中的图形请教

    各位高手:在WINCC组态中,我看到有的人能不用WINCC图形库,而是用图库之外的图形,使得组态效果更美;这些图元好象是另外画的,请教高手:是在CAD中呢还是在PHOTOSHOP&…

    SIMATIC WinCC 2019年6月11日
  • wincc 6.0移植7.0过程中报错

    4年前的项目用的是wincc 6.0做的 现在2期开始了 准备用wincc 7.0 用项目移植器移植过程中报错如下:*******…

    SIMATIC WinCC 2019年6月11日
  • 在wincc上如何显示变频器正负4000H对应正负50HZ频率

    我从变频器读到的0-4000H在上位机wincc上显示0-50HZ,但是变频器反转时读到上位机的是****,请各位同行提示怎么让上位机wincc显示-0-50HZ频率。谢谢 最佳答…

    SIMATIC WinCC 2020年11月1日
  • WinCC的C脚本如何遍历画面中的对象,并在遍历的过程中改变对象的属性

    众所周知,WinCC的VBS脚本可以使用For Each in循环遍历画面中的所有对象(按钮、IO域、静态文本等),并在循环中改变这些对象的属性。于是有下面两个…

    2021年7月5日
  • 需要Mapper.zip

    我想要将wincc集成到STEP7中,发现安装时没有选择自定义安装,网站上查找需要Mapper.zip既OS V7.0,请哪位好心人发给我一份吧。先谢谢了。邮箱号:ext…

    SIMATIC WinCC 2019年6月11日
  • wincc脚本调试框闪动太快怎么办

    如题,我是用的WINCC中脚本输出框调试程序,可运行时框内的数字更新太快,我看到有错误但来不及我好好看就滚动走了,我拉了滚动条也不行还是自动向上刷新,请问怎么就让那个程序框暂停,或…

    2021年7月5日
  • wincc趋势曲线添加

    要在wincc趋势曲线图中新增加一个变量曲线,但趋势图左上方没有“组态趋势”图标按键,只有“曲线放大、运行/停止、左右移动”,请问高手从哪里调出“组态趋势”像书本形的那个按键,以便…

    SIMATIC WinCC 2021年7月5日
  • Wincc 7.5 和1200plc 通讯慢

    大家好,最近我在用wincc 上位机监控和做报表,我在运行时画面上的数据太慢了,主要是开始运行慢刷新也慢,过一会还连接中段没有数据显示,请问问题出在哪?1 我在…

    SIMATIC WinCC 2020年11月1日