首页 理论教育 自动化集装箱码头设计与仿真-模型结构布局

自动化集装箱码头设计与仿真-模型结构布局

时间:2023-10-09 理论教育 版权反馈
【摘要】:仿真模型的交通网络按照某真实码头的交通网络进行布局,水平运输系统仿真模型的整体界面如图8-18所示。图8-19码头交通网络的网状有向图抽象图8-20场桥的内部结构图8-21冲突区域的内部结构界面内的冲突区域同样是在Frame的基础上通过二次开发得到的,涉及控件Tab lefile 、Method 、Buffer和Variable,如图8-21所示。veh in用于记录已被允许进入冲突区域的车辆及其轨迹,veh _wait则用于记录在冲突区域外等待的车辆。

自动化集装箱码头设计与仿真-模型结构布局

仿真模型的交通网络按照某真实码头的交通网络进行布局,水平运输系统仿真模型的整体界面如图8-18所示。该图中贯穿整个界面的横向粗实线表示码头岸线,岸线附近的双矩形结构表示码头岸桥。图中各不相连的深色横向矩形表示箱区,黑色边框的透明矩形表示冲突区域,界面下方的大号黑色边框表示车辆集结地。

图8-18 某集装箱码头水平运输系统仿真整体界面图

以上水平运输系统的交通网络中,冲突区域共计99个,非冲突区域的数量为167,非冲突区域中的轨迹数量接近800。这些冲突区域和非冲突区域的网状有向图抽象如图8-19所示,图中的黑色正方形表示冲突区域,箭头则表示非冲突区域及区域内轨迹的方向。界面内的车辆以Transporter控件建立,非冲突区域内的轨迹采用Track控件建立,轨迹上的交接点则以Track控件上的Sensor表示。界面内的其他对象均采用二次开发的方式实现。

界面内的岸桥和场桥是在Frame的基础上经过二次开发得到的,涉及控件Tablefile、 Method、 Entity、 Singleproc、 Buffer和Variable,其内部结构如图8-20所示,图中的attr和state为Tablefile控件,b_sp、b_up和b_down为Buffer控件,trolley、 up和down为Singleproc控件,yc_init、yc_reached、sp_down、at_bottom、at_ top和trolley_end为Method控件,上方的spreader为Variable控件,下方的spreader则为Entity控件。模型以attr和state两个Tablefile控件分别存储场桥的参数和状态。模型以Entity控件模拟场桥小车,以Entity在各Singleproc内的移动过程模拟小车在四个场桥关键点之间的移动过程,并以Buffer暂时存放已经到达关键点并处于等待状态的小车。小车在各关键点之间的移动时间根据小车实时速度和移动距离计算,在各关键点处的到达事件以Singleproc的退出事件表示,各事件发生时的系统状态变化则通过各Method控件实现。岸桥类的内部结构与场桥基本相同,此处不再赘述。

图8-19 码头交通网络的网状有向图抽象(www.xing528.com)

图8-20 场桥的内部结构

图8-21 冲突区域的内部结构

界面内的冲突区域同样是在Frame的基础上通过二次开发得到的,涉及控件Tab lefile 、Method 、Buffer和Variable,如图8-21所示。图中的init、 reset、 step、 if_v_enter和ve_nter为Method控件,grids、 trajects、 belong、 occu、 veh_in和veh_ wait为Tablefile控件,cr _ind为Variable控件。cr _ind用于记录该冲突区域控件的索引号;grids用于记录冲突区域的网格空间;trajects用于记录冲突区域的轨迹;belong用于记录网格空间和轨迹之间的关系;occu用于记录车辆对各网格的占用情况。为了避免车辆在冲突区域产生死锁,这类区域以银行家算法的原理对进入区域的车辆进行限制。veh in用于记录已被允许进入冲突区域的车辆及其轨迹,veh _wait则用于记录在冲突区域外等待的车辆。init用于初始化冲突区域的轨迹和网格;if _v_enter用于判断车辆进入冲突区域的条件是否满足;v_enter则用于将车辆对象转移到区域内部,并且将相关的网格空间标记为占用状态;step会根据冲突区域的交通情况逐渐解开网格的占用状态,并在合适的时机将车辆控件移出冲突区域;reset则用于清除该冲突区域控件中的车辆控件,以及该冲突区域自身。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈