Anylogi c, получите время, когда pedestrain находится в очереди - PullRequest
0 голосов
/ 16 апреля 2020

Я моделирую офис обслуживания клиентов и строю диаграмму состояния удовлетворенных / неудовлетворенных клиентов.

Как измерить, как долго каждый клиент (пешеход) находится в блоке pedService?

Я хочу сказать, что если клиент ожидает в очереди более 5 минут, он становится неудовлетворенным , Я попытался сделать условие в диаграмме состояния следующим образом:

   main.pedService.delayTime() > 5;

1 Ответ

0 голосов
/ 16 апреля 2020

Вы можете использовать следующий код в вашем сервисе (когда он запускает сервис, или когда он заканчивает сервис или выходит из блога):

time()-ped.getBlockEnterTime()

Это даст вам общее время, в течение которого пешеход был в сервисном блоке. При этом вы можете использовать свое состояние, чтобы сделать пешехода удовлетворенным или неудовлетворенным.

Это один из вариантов

Другой вариант состоит в том, чтобы инициировать управляемое пользователем событие, когда пешеход входит в блок, и сделать пешеход не удовлетворен, если он активирован: - когда он входит в блок, выполните ped.event.restart (5); - когда агент покидает блок, делайте ped.event.reset (); - в случае создания кода, необходимого для того, чтобы сделать пешехода неудовлетворенным

Разница в том, что второй метод сделает клиента неудовлетворенным, когда он находится в очереди, тогда как первый метод сделает его неудовлетворенным только после того, как он покинет очередь

...