You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LabVIEW电梯项目:如何重启While循环?队列异常求助

LabVIEW简易电梯项目逻辑异常求助

项目背景

  • 开发简易电梯控制系统,每层配置上下两个呼叫按钮,通过Case Structure实现电梯的上行、下行、等待三种状态逻辑。

遇到的问题

单次While Loop实现的异常

将包含Event Structure(处理按钮按压事件)的逻辑放入单个While Loop时,出现以下问题:

  • 按钮按压需多次操作才会触发响应
  • 仅执行楼层请求数组(队列)中的第三个请求
  • 已处理完成的楼层请求不会从数组中删除

双层嵌套While Loop的异常

改为双层嵌套While Loop后,新问题出现:

  • 仅能处理数组中的前两个请求(一个呼叫楼层、一个目标楼层)
  • 处理完成后电梯卡在等待状态,后续新增的楼层请求无法触发电梯运行
  • 推测核心原因:内层While Loop的Shift Registers未同步Event Structure更新后的请求数组,始终使用上一次迭代的旧数据

已尝试的方案及问题

尝试添加计时器,让电梯在等待状态超时后停止内层Loop,但仅能实现停止而非重启,还引发了楼层系统异常,出现负楼层的错误情况。

程序框图

  • 程序框图1:电梯主程序逻辑
  • 程序框图2:电梯状态处理细节

求助需求

如何实现电梯等待超时后重启内层While Loop?或者有没有更合理的架构方案解决当前的请求数组同步问题?

内容的提问来源于stack exchange,提问作者Ana Ci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 18:49:54