Создание окна управления оборудованием

Ручное управление в проекте

SimInTech является открытой программной средой, позволяющей при математическом моделировании использовать данные, полученные из различных источников. Одним из возможных источников являются окна управления, в которых пользователь может задавать различные воздействия на математическую модель, используя интерактивные элементы, такие как виртуальные кнопки, переключатели, ручки и т.п.

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

Создание окна управления

  1. Откройте файл с гидравлической моделью «Схема теплогидравлики 1.prt»;
  2. В главном окне SimInTech нажмите кнопку «Менеджер данных» (Рисунок 1);

    Рисунок 1. Кнопка вызова менеджера данных

    Нажатие на данную кнопку вызывает на экран диалоговое окно «Менеджер данных» (Рисунок 2), которое служит для настройки различных каналов воздействия на математическую модель, а так же для настройки обмена данными.

    Рисунок 2. Диалоговое окно «Менеджер данных»

  3. Нажмите кнопку Добавить категорию (Рисунок 2). Введите название новой категории Окна управления оборудованием. Переименование категории, как и любого другого объекта Менеджера данных, можно осуществить нажатием правой кнопки на этом объекте, и выбором пункта Переименовать.
  4. Выделите созданную категорию и нажмите кнопку «Окно анимации» (Рисунок 3):

    Рисунок 3. Окно «Менеджер данных» после добавления новой категории

    В категории Окна управления оборудованием появится новый элемент Окно анимации. При необходимости раскройте список категорий, нажав на значок «+» слева от имени категории.

  5. Введите имя для вновь созданного элемента «Окно управления задвижкой» (Рисунок 4):

    Рисунок 4. Окно «Менеджер данных» после добавления нового окна анимации

  6. Осуществите двойне нажатие на «Окне управления задвижкой».

    После этого откроется окно редактора (Рисунок 5), в котором будет происходить создание панели управления и панель примитивов (Рисунок 6), из которых будут формироваться элементы управления оборудованием.

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

    Рисунок 5. Пустое окно управления задвижкой

    Рисунок 6. Панель примитивов

Создание интерфейса управления оборудованием

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

Окно управления задвижкой в нашем примере будет содержать две кнопки, одна из которых позволяет послать команду на открытие задвижки, другая – на закрытие.

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

Разместите на окне управления задвижкой следующие элементы панели примитивов:

Расположите примитивы относительно друг друга так, как показано на рисунке (Рисунок 7).

Рисунок 7. Окно управления задвижкой после размещения примитивов и оформления надписей

Каждый примитив представляет собой объект, свойства которого можно редактировать. Для редактирования свойств примитива необходимо выполнить следующие действия:
  1. Выделить объект, осуществить клик правой кнопкой мыши, в всплывающем окне выбрать пункт меню Свойства объекта (Рисунок 8);

    Рисунок 8. Всплывающее меню примитива

  2. После этого появится диалоговое окно редактирования свойств объекта, в котором пользователь может изменить свойства выбранного примитива.

    Рисунок 9. Окно свойств примитива

Измените свойства примитивов следующим образом:
  1. Задайте в свойстве Имя объекта (Name, верхняя строка окна, Рисунок 9) следующие имена:
    • для кнопок – Open_Button и Close_Button;
    • для верхней текстовой подписи – Name_TextLabel;
    • для линейного прибора – Position_Bar;
  2. Для улучшения внешнего вида окна управления задвижкой увеличьте размер шрифтов до «15» для текстовых надписей.

Создание переменных окна управления задвижкой

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

Перейдите в главное меню Окна управления задвижкой и выберите пункт меню Сервис подпункт Глобальные свойства… (Рисунок 10). В появившемся диалоговом окне Общие свойства (Рисунок 11) необходимо добавить новое свойство для панели управления.

Внимание!!! Если имя добавляемого сигнала в окне управления совпадает с именем свойства объекта, для которого вызвано данное окно, то его значение автоматически устанавливается равным значению свойства объекта.

Например, в данном случае мы добавим сигнал «Name», тогда при вызове данного окна его значение станет равным имени задвижки, для которой вызывается окно управления.

Рисунок 10. Вызов окна добавления свойств

Рисунок 11. Окно добавления общих свойств

Нажмите кнопку добавить сигнал и введите следующие значения (Рисунок 11):

Имя – Name

Название – Имя объекта

Режим – Вход

Тип данных – Строка.

Для отображения состояния задвижки мы будем использовать переменную, которая присутствует в свойствах объекта «Задвижки общего вида» кода HS – Состояние:

  1. Добавьте новый сигнал и настройте его свойства как показано на рисунке (Рисунок 12).

    Рисунок 12. Окно добавления общих свойств

  2. Закройте диалоговое окно нажатием кнопки Ок.

    Таким образом, мы добавили две переменные, в которые будут передаваться имя и положение задвижки, для которой мы вызвали окно управления во время моделирования.

  3. Перейдите в главное меню Окна управления задвижкой и выберите пункт меню Сервис → Локальные переменные… (Рисунок 10). В появившемся диалоговом окне Локальные переменные (Рисунок 13) необходимо добавить те сигналы, которые будет отображать (и формировать) данное окно управления. В нашем случае мы будем отображать Положение задвижки и посылать команды Команда Открыть и Команда Закрыть.

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

    Сигнал в базе данных состоит из имени объекта и имени сигнала, разделенных нижним подчеркиванием. Например, сигнал Положение задвижки Z1 в базе данных имеет имя Z1_xq01.

    Для формирования правильного имении сигнала управления следует в локальных переменных создавать имена, используя знак нижнего подчеркивания в начале имени (Рисунок 13).

    Рисунок 13. Окно локальных переменных

  4. Добавьте локальные переменные как показано на рисунке выше (Рисунок 13) и закройте окно нажатием кнопки Ок.

Программирование окна управления задвижкой

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

Перейдите в главное меню «Окна управления задвижкой» и выберите пункт меню «Сервис», подпункт «Скрипт…» (Рисунок 14).

Рисунок 14. Вызов окна программирования

В появившемся текстовом окне Язык программирования введите следующий текст программы, как показано ниже (Рисунок 15):

Рисунок 15. Скрипт управления задвижкой

Вся программа заключена между ключевыми словами formattext и end;. Использование данного ключевого слова позволяет формировать имя переменной, используя шаблон. Вместо выражения, заключенного в фигурные скобки, будет подставлено его значение. В нашем случае при вызове диалогового окна значение общей переменной «Name» будет равной значению данного свойства у задвижки. Для задвижки Z1 после вызова окна управления, выражение типа {Name}_yb02 будет преобразовано, в соответствии с шаблоном, в выражение Z1_yb02 – имени сигнала в базе данных.

Строки, заключенные между ключевыми словами initialization и end, исполняются 1 раз при открытии окна:

Строки основного текста программы выполняются на каждом шаге моделирования, пока окно управления активно:

Закройте окно нажатием кнопки Применить в левом верхнем углу, сохранив внесенные изменения.

Связь задвижки с окном управления

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

  1. Перейдите на гидравлическую схему.
  2. Выделите задвижку «Z1» и вызовите окно редактирования свойств (Рисунок 16);

    Рисунок 16. Окно редактирования свойств Z1

  3. Установите имя задвижки в соответствии с именем в базе данных.
  4. В строке «Ссылка» нажмите кнопку редактирования (Рисунок 17).

    Рисунок 17. Редактирование ссылки

  5. В появившемся диалоговом окне выберите категорию Панели управления и элемент Окно управления задвижкой (Рисунок 17).
  6. В строке «Режим показа формы» выберите «Управление объектом» (см. Рисунок 17).
  7. Установите (аналогичным способом) связь второй задвижки Z2 с окном управления.
  8. Перейдите на теплогидравлическую схему, установите режим «Индикация», используя кнопку в верх-ней части окна: (Рисунок 18):

    Рисунок 18. Схемное окно теплогидравлической модели

  9. Запустите модель на расчет.
  10. Убедитесь, что при двойном клике на задвижке появляется окно управления задвижкой;
  11. Убедитесь, что при нажатии кнопок на панели управления задвижкой, значения сигналов в базе данных Команда Открыть и Команда Закрыть меняются;
  12. Остановите расчет, сохраните и закройте проект.

Ручное управление задвижкой в комплексной модели

  1. Откройте пакет Pack2.pak, созданный при выполнении задания 8. В данный пакет входят 2 проекта:
    • Схема теплогидравлики 1.prtтеплогидравлическая модель;
    • Схема автоматики 2.prt – модель системы управления.

    Обе этих модели загружаются автоматически при загрузке пакета;

  2. Убедитесь, что теплогидравлическая модель содержит ранее созданное окно управления. Для этого в главном окне SimInTech нажмите кнопку Менеджер данных (Рисунок 1) и проверьте наличие добавленной категории с окном.

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

  3. Для этого необходимо перейти в схему автоматики и выделить субмодель Алгоритм управления задвижкой Z2 (Рисунок 19).

    Рисунок 19. Схемное окно модели автоматики

  4. Перейдите в главное окно программы, в котором выберите пункт меню Правка → Исключить объекты (Рисунок 20). Блоки, исключенные из расчета, на схеме отображаются черным цветом и при моделировании не участвуют в обмене сигналами. Таким образом, мы отключили в схеме алгоритм управления второй задвижкой и исключили ситуацию, когда сигналы, настроенные пользователем через Окно управления задвижкой, противоречат сигналам из системы управления.

    Рисунок 20. Меню исключения блока из расчёта

  5. Сохраните Схема автоматики 2.prt;
  6. Запустите комплексную модель на расчет;
  7. Осуществите двойной клик на второй задвижки.
  8. В появившемся окне управления подавайте команды на открытие и закрытие задвижки. Убедитесь, что математическая модель корректно отрабатывает сигналы на открытие и закрытие (Рисунок 21).

Рисунок 21. Управление второй задвижкой в «ручном режиме»