На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Небольшая помощь в задаче по GPSS
    Нужна небольшая помощь в решении задачи по моделировнию на 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
      S_T_I_M, вам нужно начать пользоваться переменными для получения времени генерации
      например

      tim1 variable (10+10#x$ypr)
      tim2 variable (2+2#x$ypr)

      GENERATE (v$tim1),(v$tim2)

      ну а дальше уже сам думайте как включить/выключить управляющий сигнал
        TEMENb, что-то я не понял как связать поступление управляющего сигнала с переменными для получения времени генерации?
          S_T_I_M, используй сохраняемые величины, Люк.

          транзакт прошел дженерейт - слил x$ypr в ноль. прошел эвм - включил x$ypr в единицу.
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0.0502 ]   [ 14 queries used ]   [ Generated: 23.09.26, 00:48 GMT ]