Решение задач в моделирующих программах по созданию моделей, в которых сигналы или структура меняются в зависимости от выполнения некоторых условий, схожа с составлением блок-схемы алгоритма для составления программы с условиями на языке высокого уровня. В то же время здесь имеются особенности, связанные с тем, что Vissim на каждом шаге моделирования пересчитывает все сигналы всех блоков заново.
Статические условия
Статические условия предполагают сравнение величин, получаемых в одном и том же такте моделирования.
Для выполнения нескольких условий могут быть использованы несколько блоков управляемых переключателей merge:
Рис. 9 Структура модели для получения кусочно-линейной аппроксимации непрерывной функции
Динамические условия
- Обновление на каждом шаге моделирования
- Логика магнитного пускателя асинхронного электродвигателя
- Сохранение значения выходного сигнала блока merge
Выше рассмотрены условия, которые назовем статическими, поскольку операции сравнения выполняются безотносительно к текущему времени. Здесь происходит сравнение величин сигналов одного и того же такта моделирования.
Выделим также и динамические условия, в которых осуществляется сравнение не только величин, значения которых получены на текущем шаге моделирования (интегрирования), но и на предыдущих. Для такого сравнения требуется использовать блоки с памятью хотя бы на один шаг. И такие блоки есть в Vissim'е.
Обновление на каждом шаге моделирования
Как отмечалось, Vissim на каждом шаге моделирования пересчитывает значения выходных, а следовательно и входных сигналов всех блоков. Но только некоторые из блоков (интегратор, timeDelay, unitDelay и др.) сохраняют при необходимости значения сигналов предыдущего такта. Это следует учитывать при построении моделей.