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

如何在AnyLogic中设置潮汐周期事件,实现船舶定时通航控制

AnyLogic船舶过桥潮汐通行问题分步解决指南

核心思路

你需要通过两个循环事件分别控制高潮的开始(解锁Hold)和结束(锁定Hold),再配合全局变量关联Hold块的放行条件,实现每日8-18点(10小时)的通行周期。


分步操作

  • 创建全局控制变量

    • 在AnyLogic的项目视图中,右键点击Main -> 选择添加 -> 变量
    • 变量类型选boolean,名称设为isHighTide,初始值设为false(代表初始为低潮,禁止通行)
  • 设置高潮开始事件(解锁Hold)

    • 拖拽一个事件到主画布,命名为event_highTideStart
    • 打开事件属性面板:
      • 类型选择timeout-cyclic
      • 首次触发时间:输入8(对应仿真开始后8小时,即每日8点)
      • 周期:输入24(每24小时重复一次)
      • 在动作栏输入代码:
        isHighTide = true;
        // 替换成你自己的Hold块名称,比如你的块叫Hold_ship就改成Hold_ship.setAllowed(true)
        holdBlock.setAllowed(true);
        
  • 设置高潮结束事件(锁定Hold)

    • 再拖拽一个事件到主画布,命名为event_highTideEnd
    • 打开事件属性面板:
      • 类型选择timeout-cyclic
      • 首次触发时间:输入18(8点+10小时=18点,高潮结束时间)
      • 周期:输入24(每24小时重复一次)
      • 在动作栏输入代码:
        isHighTide = false;
        // 同样替换成你的Hold块名称
        holdBlock.setAllowed(false);
        
  • 配置Hold块的放行规则

    • 打开你的Hold块属性面板:
      • 找到允许继续选项,选择基于条件
      • 在条件输入框中输入isHighTide(只有当变量为true时,船舶才能通过)
  • 调试验证(可选)

    • 拖拽一个文本控件到画布,在文本属性中输入:
      isHighTide ? "当前状态:高潮(可通行)" : "当前状态:低潮(禁通行)"
      
    • 运行仿真,观察文本变化:0-8点显示低潮,8-18点显示高潮,18点后回到低潮,每日循环。

内容的提问来源于stack exchange,提问作者Agung Limowa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 17:42:40