Как передать параметр из Main агенту в Anylogic - PullRequest
0 голосов
/ 08 июля 2019

my Main содержит конвейер, который транспортирует коробку (мой агент) от A до B. Я добавил переключатель, с помощью которого пользователь может выбрать размер коробки («маленький», «средний», «большой»).& "очень большой").Теперь я хочу, чтобы каждая коробка сохраняла значение переключателя.Я пробовал много разных вещей, таких как привязка его к параметру, но мне не удалось это выяснить.

Изображение моей модели:

enter image description here

код, который я использовал для радиокнопки:

if( value == 0 )
    radioValue = 1;
else if( value == 1 )
    radioValue = 2;
else if( value == 2 )
    radioValue = 3;
 else if( value == 3 )
    radioValue = 4;

radioValue - параметр в Main, с которым я связал радиокнопку.

Как мнепередать этот параметр агенту, и как мне прочитать его позже?

Заранее спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Не видя больше кода, мое общее предложение будет заключаться в том, чтобы рассмотреть циклический просмотр агентов (например, с помощью цикла for) и сделать так, чтобы все они установили локальную переменную cartSize, равную radioValue (я бы не использовал «размер»).потому что его также использовали для агентских наборов, я верю).Просто плеваться здесь, но что-то вроде этого?

for (int x = 0; x < carton.size(); x++) {
     carton.get(x).cartSize = radioValue;
} 
0 голосов
/ 08 июля 2019

в вашем агенте Kist создайте переменную с именем size типа int.

в блоке исходного кода, в свойствах, в действии «on at exit», в разделе action свойств напишите следующий код:

agent.size=radioValue;

Это одна из самых основных вещей, которую нужно делать в AnyLogic ... поэтому я предлагаю вам пройти обучение, прежде чем даже начинать работать над любой моделью. Это можно сделать, пройдя учебники, книгу anylogic in 3 days или мой курс здесь: noorjax.teachable.com / p / anylogic

позже вы можете использовать agent.size для доступа к размеру вашего агента в любом из блоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...