Небольшая помощь в задаче по GPSS
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.138] |
|
|
Небольшая помощь в задаче по GPSS
|
Сообщ.
#1
,
|
|
|
|
Нужна небольшая помощь в решении задачи по моделировнию на GPSS
Задача: Для обеспечения надежности АСУ ТП в ней используется две ЭВМ. Первая ЭВМ выполняет обработку данных о технологическом процессе и выработку управляющих сигналов, а вторая находится в "горячем резерве". Данные в ЭВМ поступают через 10 +/- 2с., обрабатываются в течение 3с., затем посылается управляющий сигнал, поддерживающий заданный темп процесса. Если к моменту посылки следующего набора данных не получен управляющий сигнал, то интенсивность выполнения технологического процесса уменьшается вдвое и данные посылаются через 20 +/- 4с. Основная ЭВМ каждые 30с. посылает резервной ЭВМ сигнал о работоспособности. Отсутствие сигнала означает необходимость включения резерв-ной ЭВМ вместо основной. Характеристики обеих ЭВМ одинаковы. Подключение резервной ЭВМ занимает 5с., после чего она заменяет основную до восстановления, а процесс возвращается к нормальному темпу. Отказы ЭВМ происходят через 300 +/- 30с. Восстановление занимает 100с. Резервная ЭВМ абсолютно надежна. Смоделировать 1 час работы системы. Определить среднее время нахождения технологического процесса в заторможенном состоянии и среднее число пропущенных из-за отказов данных. Все есть, кроме этого момента: Если к моменту посылки следующего набора данных не получен управляющий сигнал, то интенсивность выполнения технологического процесса уменьшается вдвое и данные посылаются через 20 +/- 4с Помогите реализовать Код: 1 GENERATE 10,2 2 GATE FV MAIN,A2 3 A1 SEIZE MAIN 4 ADVANCE 3 5 RELEASE MAIN 6 TERMINATE 7 A2 ADVANCE 5 8 SEIZE REZ 9 ADVANCE 3 10 RELEASE REZ 11 TERMINATE 12 GENERATE 300,30 13 FUNAVAIL MAIN 14 ADVANCE 100 15 FAVAIL MAIN 16 TERMINATE 17 GENERATE 3600 18 TERMINATE 1 |
|
Сообщ.
#2
,
|
|
|
|
S_T_I_M, вам нужно начать пользоваться переменными для получения времени генерации
например tim1 variable (10+10#x$ypr) tim2 variable (2+2#x$ypr) GENERATE (v$tim1),(v$tim2) ну а дальше уже сам думайте как включить/выключить управляющий сигнал |
|
Сообщ.
#3
,
|
|
|
|
TEMENb, что-то я не понял как связать поступление управляющего сигнала с переменными для получения времени генерации?
|
|
Сообщ.
#4
,
|
|
|
|
S_T_I_M, используй сохраняемые величины, Люк.
транзакт прошел дженерейт - слил x$ypr в ноль. прошел эвм - включил x$ypr в единицу. |