Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методика Имитационное моделирование и функциона...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.4 Mб
Скачать
      1. Задание условий перехода к следующему шагу в точке слияния

Разветвившись в точке ветвления процесса, параллельно выполняемые ветки могут снова объединиться в одной точке слияния (Рис.33). Продолжительность каждой параллельной ветки, в общем случае, будет разной, следовательно, в точку слияния они попадут в разное время. Первая ветка процесса, достигшая точки слияния, может ожидать в ней поступления остальных параллельных веток, а может продолжить движение без остановки. Время, в течение которого она ожидает поступления остальных параллельных веток в точке слияния, называется временем синхронизации.

Рис.33. Диаграмма с параллельными ветками, объединенными в точке ветвления

Задание времени синхронизации для процессов в нотации ЕРС

На диаграмме процесса в нотации ЕРС в качестве точки слияния параллельных веток процесса используются операторы. Время синхронизации задается в окне свойств каждого оператора (Рис.34).

Рис.34. Задание времени синхронизации для оператора

Оператор «И»

Если в качестве оператора слияния используется оператор «И», дальнейший ход выполнения процесса запустится только в случае, если выполнятся все ветки, входящие в этот оператор. Выполнение одной из веток запускает время синхронизации, в течение которого процесс ожидает выполнения остальных веток. Если по окончании времени синхронизации остальные ветки процесса не выполнились, процесс останавливается.

Если время синхронизации в операторе не задано, процесс будет ожидать выполнения остальных веток до окончания имитации.

Оператор «ИЛИ»

Если в качестве оператора слияния используется оператор «ИЛИ», выполнение одной из веток, входящей в оператор, запускает время синхронизации и дальнейший ход выполнения процесса. Если в течение времени синхронизации выполняются другие ветки процесса, дальнейший ход процесса они не запускают.

Если время синхронизации в операторе не задано, каждая ветка процесса, входящая в оператор, запускает дальнейший ход выполнения процесса. Исключением являются те ветки процесса, которые выполняются в одно время. В этом случае дальнейший ход процесса запускает только одна из выполненных веток.

Оператор «Исключающее ИЛИ»

Если в качестве оператора слияния используется оператор «Исключающее ИЛИ», вне зависимости от значения времени синхронизации каждая ветка процесса, входящая в этот оператор, запускает дальнейший ход выполнения процесса.

Задание времени синхронизации для процессов в нотациях Процесс, Процедура

На диаграммах процессов в нотациях Процесс, Процедура в качестве точки слияния параллельных веток используется блок процесса, у которого несколько входящих стрелок «Связь предшествования».

Время синхронизации задается для всех диаграмм процессов нотациях Процесс, Процедура один раз в параметре «Время синхронизации для Процессов/Процедур» (меню ФСА −> Параметры ФСА).

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

Если значение времени синхронизации не установлено, процесс будет ожидать выполнения всех веток в точке слияния до окончания имитации.

Управление ходом процесса в точке слияния при помощи переменных

В точке слияния веток процесса время синхронизации запускается для каждого экземпляра процесса отдельно. Это означает, что Функция 3, представленная на Рис.35, никогда не выполнится, т.к. ветки процесса, которые сливаются в операторе «И», выполняются в рамках разных экземпляров процесса.

Рис.35. Параллельные ветки, запущенные в рамках разных экземпляров процесса

В этом случае управлять ходом процесса в точке слияния можно при помощи переменных. Для того чтобы процесс «Сборка изделия» начал выполняться в момент, когда возникнут события «Деталь 1 сформирована», «Деталь 2 закуплена», необходимо:

  1. Преобразовать диаграмму к виду:

Рис.36. Преобразованная диаграмма процесса

  1. В списке «Переменные» процесса «Формирование детали 1» задать переменную x (Тип переменной – Целый, Стартовое значение = 0).

  2. В списке «Действия с переменными» процесса «Формирование детали 1» задать действие: x = 1.

  3. В списке «Условия» события «Деталь 2 закуплена» задать логическое выражение: x=5.

  4. В списке «Условия» события «Деталь 2 не закуплена» задать логическое выражение: x != 5.

  5. Для вспомогательного процесса задать минимальное время выполнения (см. Рис.37).

Процесс «Сборка изделия» начнет выполняться только тогда, когда выполнятся оба события: «Деталь 1 сформирована» и «Деталь 2 закуплена».