Как подсчитать количество людей при времени, равном 120 секундам во время эвакуации, используя функцию anylogic? - PullRequest
0 голосов
/ 02 июля 2019

Я работаю над пожарной эвакуацией пола здания и хотел бы подсчитать количество людей, оставшихся в здании через 120 секунд?Таймер должен запуститься, как только начнется процесс эвакуации, то есть по тревоге, которая гаснет через определенное время с использованием функции события.

Я знаю, как подсчитать общее количество людей в здании, используя функциюкомпонент getPeopleInsideCount и текст с помощью getPeopleInsideCount ().Но я не знаю, какой код использовать для моей проблемы.

Ниже приведен код:

return pedOffice.countPeds() + pedStudents.countPeds()  - pedSink.sink.count();

enter image description here

Ответы [ 2 ]

1 голос
/ 03 июля 2019

При этом он будет подсчитывать людей на этаже здания и через 120 секунд перестанет считать ...

Шаг 1: создать событие с таймаутом типа триггера и режимом: управление пользователем иtimeout = 120 секунд.

Шаг 2:

  • создать переменную с именем stopCounting в качестве логического значения с начальным значением false
  • создать переменную с именем peopleRemaining как int

Шаг 3: когда начинается эвакуация, введите код:

event.restart();

Шаг 4: в вашем случае используйте следующий код:

stopCounting=true;
peopleRemaining=getPeopleInsideCount();

Шаг 5В вашем тексте используйте следующий код вместо getPeopleInsideCount ()

stopCounting ? peopleRemaining : getPeopleInsideCount()
1 голос
/ 02 июля 2019

Добавьте динамическое событие, которое возвращает необходимое количество.

После срабатывания будильника вы можете вызвать это динамическое событие через 120 секунд, используя create_MyDynamicEvent(120, SECOND);

Это выполнит код события через 120 секунд.

ура

...