首页 > 解决方案 > 阀门的部分尺寸问题

问题描述

我在运行期间设置阀门的部分大小时遇到​​问题。它似乎总是将放置在“属性”输入框中的值作为其第一个/初始部分大小。我想在启动期间从数据库中读取这个值(即在 Main > On Start up 中)。

尝试 1

如果我将从数据库中读取的值分配给变量“parcel_size”并将变量名称“parcel_size”放在 PortionSize 输入中,则表明 PortionSize 不能为零。我认为这意味着它试图在我从数据库中读取它之前分配值。如果我给变量“parcel_size”一个默认值,它只会将该值作为第一个部分大小。

尝试 2

我还尝试在 PortionSize 输入中输入一个数值,然后在 Main > On Start up 期间分配一个值,使用:

valve.set_portionSize(parcel_size, TON);

虽然这成功地分配了后续的部分大小,但它仍然将初始数值作为初始 PortionSize。

我认为可以通过将一个非常小的值设置为初始部分大小来绕过这个问题 - 但是它对我不起作用,因为我的操作也取决于“parcel_size”:

valve2.dispense(parcel_size, TON);

所以会发生什么,它会触发分配“parcel_size”数量,但是当通过阀门的part_size 很小时。我需要这些数量相同。

尝试 3

然后,我尝试先取消选中“部分重复操作”框,然后将以下代码放入 Main > Startup:

valve.set_portionSize(parcel_size, TON);
valve.actionOnPortion = true;

但是,这给了我“体积和质量参数不兼容”的错误

使用立方米更改代码无济于事:

valve.set_portionSize(parcel_size, CUBIC_METER);
valve.actionOnPortion = true;

有没有解决的办法?

任何人都可以提出解决这个问题的方法吗?

对不起,很长的帖子,但希望它能正确解释我的问题。

标签: javasimulationanylogic

解决方案


要从数据库中设置它,您需要具有如下代码作为值

在此处输入图像描述

我对此进行了测试,并且有效。

由于参数是静态参数 - 当您将鼠标悬停在参数旁边的小图标时可以看到

在此处输入图像描述

这意味着这个值在创建过程中被评估一次,并且永远不会再被评估。

如果您想在运行时更改,valve.set_portionSize(value)如果您想在模型执行期间更改值,则需要调用。

见下文

在此处输入图像描述


推荐阅读