Заморозка объектов

Описание функции заморозки блоков, портов и линий связи

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

Для заморозки входного/выходного порта блока необходимо выполнить следующие действия:

  1. Выделить блок во время расчета;
  2. Нажать правой кнопкой мыши на блоке. В появившемся меню выбрать Действия → Изменить вход-выход (см. Рисунок 1);

    Рисунок 1. Изменение портов входа/выхода блока

  3. В появившемся окне будут отображены все входные и выходные порты выбранного блока, а также текущее их состояние ("Включен" или "Заморожен") и текущее значение, передающееся по порту. Для перевода любого порта в состояние "заморожен" необходимо дважды щелкнуть левой кнопкой мыши на строке "Состояние" соответствующего порта (см. Рисунок 2).

    Рисунок 2. Отладка портов входа/выхода блока

В процессе расчета по замороженным выходам/входам блоков можно вручную менять подаваемое значение. Для этого в окне "Отладка" (см. Рисунок 2) необходимо дважды щелкнуть левой кнопкой мыши на строке "Значение" соответствующего порта и ввести новое значение.

Состояние портов блоков не сохраняется в prt-файле и при повторной загрузке проекта всем портам блоков присваивается значение "Включен".

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

  1. Выделить блок/линию в режиме редактирования либо во время расчета;
  2. В главном меню выбрать пункт "Исключить объекты" (см. Рисунок 3);

    Рисунок 3. Кнопки "Исключить объекты" и "Включить объекты" в главном меню

  3. Убедиться в том, что выбранный блок поменял свой цвет на серый (см. рисунок 4). В случае, если исключаем из расчета линию связи, она также меняет свой цвет на серый.

При исключении объектов из расчета во время работы программы, на выходном порту блока либо на линии связи будет сохранено значение, запомненное в момент "заморозки".

Состояние блоков и линий сохраняется в prt-файле. При исключении объектов из расчета в режиме редактирования, либо при последующих загрузках проекта с замороженным блоком, на выходном порту блока будет также сохраняться значение, запомненное в момент "заморозки".

При заморозке субмодели, из расчета автоматически исключаются все блоки и линии связи, входящие в состав субмодели.

В случае если во время расчета был заморожен блок, имеющий линии связи с активными блоками, при последующей загрузке система выдаст сообщение об ошибке "[Ошибка]: "Вход блока связан с выключенным из расчета блоком" в объекте ___" (см. Рисунок 4).

Рисунок 4. Фрагмент программы с замороженным блоком

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

  1. Дважды щелкнуть левой кнопкой мыши на линии связи в режиме расчета;
  2. В появившемся окне установить галочку "Заморозить блок" (см. Рисунок 5).

    Рисунок 5. Заморозка линии связи

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

Состояние линий связи в данном случае не сохраняется в prt-файле и при повторной загрузке проекта линия связи будет активна.

Примеры работы с функцией заморозки

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

Рисунок 6. Отладка блока

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

  1. Дважды щелкнем левой кнопкой мыши на линии связи на входе отлаживаемого блока;
  2. В появившемся окне "Просмотр значений на линии" установим галочку "Заморозить блок" (см. Рисунок 7);

    Рисунок 7. Отладка блока. Заморозка линии связи

  3. Поочередно изменим значение на замороженной линии на значения 1,2,3. Для этого дважды щелкнем левой кнопкой мыши на строке "Значение сигнала" и введем новое значение.
  4. Выполним проверку работы блока по графику (см. Рисунок 8).

    Рисунок 8. Отладка блока. График.