回复:顺序启动按钮后输出

已锁定

zhangli0

西门子1847工业学习平台

  • 帖子

    17143
  • 精华

    63
  • 被关注

    890

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2024-03-28 09:58:45

12楼

展开查看
以下是引用小蚂蚂在2024-03-28 09:18:43的发言 >10楼

  你这个如果我触摸屏按了 4-3-1-2 按钮 , 你这个是从扫描程序段先后顺序执行的.在4完成后就有可能会执行1-2-3. 而不是3-1-2的顺序.

以下是引用zhangli0在2024-03-28 08:48:51的发言 >8楼:你的需要加水的状态...

引用8楼详细内容:

你的需要加水的状态在加满水前不会自动消失的,所以按照我的思路一个加满后会自动加另外一个。

我写的中间的根据srun状态打开阀门计算流量累计并完成的这部分逻辑你可以单独写一个功能块。其他你认为我的这个哪里不合适你可以提出来,

以下是引用小蚂蚂在2024-03-27 23:37:03的发言 >6楼:  你这个我觉得不...

引用6楼详细内容:

  你这个我觉得不太好用

以下是引用zhangli0在2024-03-27 17:21:36的发言 >4楼:这是更改后的逻辑

引用4楼详细内容:



这是更改后的逻辑

你说的这个是因为我根本就没有给你写这个fifo功能,我写的是固定顺序的,或者是你的需要加水的条件是一个个进来的,完成一个加水再来一个信号,这样顺序是人为控制的。你完全可以做一个排序,用排序控制srun的状态就行了。如果需要,你直接定义一个db,用数组fifo就行了。

进栈:初始状态,db中数据都是0,按一个按钮把对应的数字写到db中第一个为0的位置,如果有优先级的话,也保存到db中,然后按优先级排序,没有这步直接省略。那么点了4个按钮后,数字按照先后的顺序保存到db中。

出栈:读取第一个位置的数字,用select case判断,等于几则打开对应的阀门,完成后,fifo队列的数据前移一个地址,最后一个地址补0.

重复前面的工作就行了。

活到老,学到老!为了生活学习吧!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10587条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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