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

相关推荐

  • sql2000数据库如何复制?

    请问下我在SQL2000下建立的数据库如何从一台电脑复制到另一台电脑里?有高手知道好的方法吗? 最佳答案 1、启动MS SQL 2000企业管理器;准备建立连接…

    SIMATIC WinCC 2019年6月11日
  • 怎么在wincc画面上做个按钮,点击一下打开一个Excel文件

    怎么在wincc画面上做个按钮,点击一下打开一个Excel文件脚本怎么写谢谢了 最佳答案 转载: 依然 大侠的回答弄明白如下的例子,估计EXCEL也就能实现了在…

    SIMATIC WinCC 2019年6月10日
  • wincc的变量管理器

    在wincc的变量管理器中插入simatic s7 protocol suite ,在s7的变量连接列表里profibus有一和二两个,工业…

    SIMATIC WinCC 2019年6月11日
  • WINCC做阀门的模板

    系统有很多个开关型阀门,要求在主画面上点击某个阀门,会弹出这个阀门对应的小画面来,希望在这个小画面里实现开阀,关阀操作,并指示阀门的状态;1.有一个笨办法可以实现:预先做出很多个小…

    SIMATIC WinCC 2019年6月11日
  • WINCC冗余打印

    上位系统为两台工控机(WINCC)组成的冗余系统,要求定时打印,但问题是两个机子设置一样,所以会打印两份报表,有什么办法可以使其只打印一份,同时要保证系统有一台上位机故障时也能确保…

    SIMATIC WinCC 2018年12月5日
  • OS更新,授权和许可证

    各位师傅,我看到手册有这么一句“首先,在授权盘或存储区上备份授权与许可证密钥。更新操作系统时,现有的授权和许可证密钥将从设备上永久删除。”这句话什么意思啊?进行OS更新要做这一步吗…

    SIMATIC WinCC 2019年6月11日
  • 如何提取wincc中的pdl

    如何提取wincc中的pdl,将一个项目中的pdl,提取到另一个项目中? 最佳答案 在你的项目程序里面,有一个文件夹Gracs文件夹,里面存放的是pdl文件,提取出来即可! 提问者…

    SIMATIC WinCC 2017年11月25日
  • wincc6.2版本的文件如何在6.0里打开?

    原来的wincc文件用的是6.2版本编辑的,现在想在6.0里打开和编辑,不知该如何设置?希望大家能根据经验给些建议和方法!谢谢! 最佳答案 wincc6.2 能打开6.0…

    SIMATIC WinCC 2019年6月11日
  • wincc 5.1转换为6.0后历史趋势的处理疑问!

    各位高手,当Wincc5.1画面转换为Wincc6.0后,历史趋势、报警记录需要重新连点吗?需要怎么处理才能保持原画面的功能不变?谢谢各位高手!!! 问题补充:画面我已经转换好了,…

    SIMATIC WinCC 2019年6月11日
  • 恢复出场设置后触摸屏不能用

    用PROSAVE连接触摸屏后,点击了恢复出厂设置,触摸屏更新完之后,由主画面进入设置画面,比如设置完IP地址后,不能点确定也不能点击关闭,相当于卡在这个画面中出不来了,断电再设置别…

    SIMATIC WinCC 2021年7月5日