回复:关于根据设备的运行时间控制启停顺序

已锁定

volcanol

  • 帖子

    851
  • 精华

    12
  • 被关注

    59

论坛等级:奇侠

注册时间:2009-11-26

黄金 黄金 如何晋级?

发布于 2020-12-18 19:15:40

4楼

展开查看
以下是引用zhangli0在2020-12-16 10:39:11的发言 >2楼

排序有什么难度?300/400支持scl编程。建立一个fb,里面建立两个数组:pum_no,array[1..10]of int,序号pum_runtime,array[1..10]of int,运行时间。

fb中编程:

拷贝泵的运行数据到两个数组中。

Bstart上升沿输出清零:

pum_start_no:=0

启动按钮给这两个数组排序:

if Bstart then

for i:=1 to 9

      for j:=i to 9

           if pum_runtime[i]>pum_runtime[j] then

             ''''''时间交换

              temp:=pum_runtime[i]

              pum_runtime[i]:=pum_runtime[j]

              pum_runtime[j]:= temp

             '''''''序号交换

              temp:=pum_no[i]

              pum_no[i]:=pum_no[j]

               pum_no[j]:=temp

           end if

        end for

end for

pum_start_no:=pum_no[1]

Bstart:=0

end if

时间序号排好顺序后,则第一个位置的就是需要启动的泵。

在另外一个块编程判断前面这个fb的输出的值,用select case,等于几就启动几号泵,等于0则不启动

也想过用这个方法的。

最终采用了楼上的方法。

获取资料关注:https://www.cnblogs.com/volcanol/
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54716条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。