Условное выполнение субмодели

Условное выполнение алгоритмов субмоделей

Достаточно часто при работе с программами возникает необходимость ввода условий работы отдельных субмоделей проекта. Условное выполнение алгоритмов субмоделей эффективно, например, если работа сложного устройства представлена в виде конечного автомата.

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

В SimInTech предусмотрена функция задания условий, по которым будут выполняться алгоритмы субмоделей проекта (условное выполнение субмоделей). Предусмотрена возможность задания нескольких условий выполнения, при совместном выполнении которых будут выполняться алгоритмы.

Чтобы задать условие выполнения субмодели необходимо выполнить следующие действия:

  1. Зайти в субмодель в режиме редактирования;
  2. Выбрать в меню «Субструктуры» объект «Условие выполнения субмодели» (см. Рисунок 1);

    Рисунок 1. Меню «Субструктуры» объект «Условие выполнения субмодели»

  3. Поместить объект «Условие выполнения субмодели» в тело субмодели (см. Рисунок 2);

    Рисунок 2. Объект «Условие выполнения субмодели»

    При этом у редактируемой субмодели автоматически появится новый порт входа (см. Рисунок 3).

    Рисунок 3. Субмодель с портом входа "условие выполнения субмодели"

    Соединим линией связи появившийся вход с условием выполнения субмодели. Выполнение алгоритмов субмодели будет происходить только в том случае, если на данном входе будет логическая "1", и не будет выполняться до тех пор, пока на входе "0". При этом на линиях связи неактивных субмоделей будут сохраняться последние просчитанные значения.

Пример

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

На рисунке (Рисунок 4) представлен алгоритм, подающий команды на запуск/отключение насосов в случае переходов НПС с режима на режим. Данный блок должен просчитываться только в случае подачи оператором команды на переход. В остальных случаях данный блок программой может не выполняться.

Рисунок 4. Субмодель управления насосами НПС при переходе с режима на режим

Решая эту задачу, поместим объект «Условие выполнения субмодели» в тело субмодели. На вход условия подадим сигнал о переключении оператором режима (см. Рисунок 5). Условие "1" будет удерживаться на входе в течение 2 секунд после нажатия оператором кнопки перехода. В течение этого времени алгоритмы субмодели будут просчитываться и подавать команды включения/отключения насосов в базу данных. По истечение этого времени на линиях связи останутся последние запомненные значения, а блоки не будут просчитываться повторно до следующего переключения режима.

Рисунок 5. Условие выполнения субмодели