Я хочу менять параметр parSize
в определенное время. Например, параметр parSize
должен быть равен 50 в XX:XX часов и равен 30 в YY:YY часов. Это изменение параметра повторяется каждый день в одно и то же время.
Время, когда параметр должен быть изменен, может быть введено вручную конечным пользователем до начала моделирования. Параметры для каждого времени хранятся с разделением по часам и минутам как int.
Мой подход состоит в том, чтобы запускать циклическое событие для каждого изменения параметра, которое повторяется каждый день в моменты времени XX:XX, YY:YY и т. д.
Есть ли лучший способ изменить параметры в определенное время дня (повторяется каждый день)?
Как я могу вызвать событие с моими входными параметрами int
(один для часа, один для минут) времени? Чтобы дата появления не устанавливалась вручную в окне выбора, а по коду и моим входным параметрам конечного пользователя?
у меня 7 подходов в день
Вместо этого используйте объект DynamicEvent с именем MyDynamicEvent
.
Дайте ему 2 аргумента типа double:
minsToDailyChange
(в минутах с полуночи).newValue
За каждую из 7 смен в день звоните create_MyDynamicEvent(0, SECOND, minsFromMidnightForThisChange, newValue)
при старте модели
В коде действия напишите:
set_parSize(newValue);
create_MyDynamicEvent(24, HOUR, minsFromMidnightForThisChange, newValue)
Теперь у вас есть 7 параллельных DE, которые управляют собой и будут менять значение каждые 24 часа на новое требуемое значение.
Умный подход Бенджамин, спасибо! Знаете ли вы, как я могу преобразовать 2 параметра времени в minsToDailyChange
? Допустим, пользователь вводит int a = 8
и int b = 30
. Итак, 08:30 утра. Как я могу преобразовать это время через код в параметр minsToDailyChange
?
Просто a*60 + b
, нет?
Сколько изменений в день вы ожидаете? (информирует о лучшем подходе, есть много разных способов)