使用TableFile和Method进行仓库仿真

  • Store配合TableFile处理仓库必要信息(Byref函数)
    • 初始化
    • 寻找空闲货位
      • byref函数
    • 入库策略
    • 出库策略

Store配合TableFile处理仓库必要信息(Byref函数)

  • 当有一个入库任务,需要先寻找空闲的货位(也可以按照策略来)
  • 当一个零件存储,要用一个清单记录零件名称,所存储的货位位置
  • 当有一个出库任务,需要先寻找对应零件的位置(也可以按照策略来)
  • 当一个零件出库,还要从仓库清单上清除该零件,以免重复查询

初始化

stock.delete

寻找空闲货位

param byref x,y:integer->booleanvar i:integer
var k:integer
if self.~.fullreturn false
elsefor i:=1 to self.~.XDimfor k:=1 to self.~.YDimif self.~.pe(i,k).emptyx:=iy:=kreturn trueendnextnext
end

寻找空闲货位的函数必须返回两个值,即空闲货位的X,Y,但是一个函数只能返回一个值作为结果,因此可以用如下方法解决:

  • 返回X,Y坐标作为一个引用(Byref)- -以上采用该方法
  • 返回X,Y坐标作为一个表
  • 将坐标存储在store的用户属性中

byref函数

可以使用byref将参数作为引用传递,可以向调用方法返回多个结果,只能输入本地变量

param byref a,b : real -- declares method1
a := a + 1
b := b + 1-- declares method2
var x, y : real
print x, " ", y -- 0 0
method1(x, y)
print x, " ", y -- 1 1
method1(x, x)
print x, " ", y -- 3 1

入库策略

var x:integer
var y:integer
var partName:stringwaituntil warehouse.full=false prio 1
warehouse.getFreePlace(x,y)
partName:=@.name
@.move(warehouse.pe(x,y))
stock.writerow(1,stock.YDim+1,partName,x,y)

出库策略

var x:integer
var y:integer
var part:string
var found:booleanpart:=cycletable[1,cycletable.position]
if cycletable.position>=cycletable.YDimcycletable.position:=1
elsecycletable.position:=cycletable.position+1
endstock.setcursor(1,1)
found:=stock.find(part)
if foundx:=stock["x",stock.cursorY]y:=stock["y",stock.cursorY]stock.cutrow(stock.cursorY)warehouse.pe(x,y).cont.move(station)
elsemessageBox("Can't find this part in the warehouse!", 1, 0)eventController.stop
end

下载链接

[Plant Simulation]使用TableFile和Method进行仓库仿真(Byref函数)相关推荐

  1. Tecnomatix Plant Simulation热力图生成工具V1.0.1

    众所周知,热力图是一定的数据集在展示页面上密度.分布以及变化的体现,通过选择不同的颜色来对应不同的数据区间,将数据量大小转化成颜色差异,图形化表达了业务场景下的数据差异,帮助仿真人员了解真实的数据量分 ...

  2. Tecnomatix plant simulation HBW立库使用

    Tecnomatix Plant Simulation中提供了一个免费的HBW(High Bay Warehouse)高架货物立体仓库,用于模拟我们工厂中的常用的物流仓储设施. 这个库对象一共有三个组 ...

  3. Plant Simulation常用命令

    Plant Simulation 是面向对象的三维离散事件仿真软件,使您能够快速.直观地构建逼真的物流模型. 您还可以使用高级统计工具执行复杂的生产分析.以下介绍该软件的一些常用命令. 1. clea ...

  4. Plant Simulation中的“开机自启”-autoexec

    本人原创,转载说明出处. 公众号:仿真社区Plant Simulation " 全文共595字,预计阅读2分钟." 目录 1.介绍 2.使用方法 3.示例 4.演示 1.介绍 我们 ...

  5. Plant Simulation使用技巧

    ** Plant Simulation使用技巧 ** 技巧 扩展启动选项 E:/chm_files/Plant/CHM/id74918.html F1:打开帮助文档 F2:重命名 F3:搜索.可搜索根 ...

  6. plant simulation 建模案例分析

    plant simulation建模案例分析 一.问题背景 二.问题描述与分析 1. 生产流程 2. 主要问题 三.建立概念模型 1. 模型范围 2.模型细节度 四.仿真设计 1.预热期及仿真时间的确 ...

  7. Tecnomatix plant simulation基础及Simtalk编程入门视频教程

    主要内容:                                                                       一.Tecnomatix plant simul ...

  8. Tecnomatix Plant Simulation 14 学习之路(五)

    1 方法写入指令 'print numOfLimitedObjects'统计的应该是"具体"工件的数量 例如上图,方法Method执行结果控制台应该显示数量为8 2 更新修改的方法 ...

  9. Tecnomatix Plant Simulation 2201

    Tecnomatix Plant Simulation 2201 做工厂仿真人员的福音!!!!!!!! 主要变化如下: 1.大家最最关注的帮助文档的语言变化: Tecnomatix Plant Sim ...

最新文章

  1. C++for循环中i++与++i的区别
  2. OpenGL之矩阵的基本变换和矩阵堆栈
  3. mysql中的shell脚本命令_shell脚本中mysql命令
  4. git介绍和常用操作
  5. 划重点|iOS15正式发布, 全新的通知推送系统,你必须要知道
  6. 什么样的企业适合建设中台
  7. java android长连接_基于Java Socket的自定义协议,实现Android与服务器的长连接(一)...
  8. 一台机器上安装两个tomcat
  9. android leaks工具,Androidx中ImmLeaksCleaner已经解决了InputMethodManager... - 简书
  10. android xml图片旋转,如何在Android中进行平滑的图像旋转?
  11. 上采样层什么意思_佛前上三柱香、磕三个头是什么意思!
  12. 独家丨我在北工大看王校长吃热狗
  13. 【四二学堂】代码写诗之--《二十一杯酒》
  14. 一场对爱情的反思《少有人走的路:心智成熟的旅程》
  15. 写好软文标题的10个方式
  16. 飞利浦Georg Jensen联名系列真无线耳机JT60重磅上市
  17. Wpf大屏软件开发过程中遇到的若干问题
  18. 使用LM324实现信号放大及电压比较综合报警电路
  19. Win10彻底删除OneDrive的方法
  20. 事务统计系统软件 php,PHP数据库事务处理

热门文章

  1. 魔王语言解释 C++
  2. matplotlib模块总结一【基本绘图操作】
  3. 韩老师坦克大战2.0版本
  4. kafka的安装使用
  5. Nginx报错Mixed Content: The page was loaded over HTTPS, This content should also be served over https
  6. 【尚医通】手机登录功能
  7. iOS图片占内存过大的问题完美解决
  8. python3GUI--天气预报小工具(附源码)
  9. 详解 Java 常用的四种锁机制优缺点
  10. 【深度学习小知识】ROI到ROI pooling 再到ROI Align