Пример разработки проекта
1. Перед запуском TRACE MODE воспользуемся пользовательской библиотекой компонентов
Для этого скопируем файл tmdevenv.tmul из поддиректории %TRACE MODE%\Lib в директорию %TRACE MODE %.
2. Создайте новый Простой проект
В левом окне Навигатора проекта отобразится дерево проекта, содержащее слои Ресурсы, Система (с созданным узлом АРМ RTM_1), Источники/Приемники и Библиотеки_компонентов. В правом окне Навигатора проекта отобразится содержимое узла RTM_1 – пустая группа Каналы и один канал класса CALL Экран#1, вызывающий соответствующий компонент – шаблон экрана, предназначенный для отображения с помощью графических элементов (ГЭ) средств человеко-машинного интерфейса на узле RTM_1:
3. Подготовка к созданию экранов АРМ
Проиллюстрируем создание системы автоматизации путем проектирования "от шаблонов", т.е. будем создавать информационную базу проекта – каналы по аргументам разрабатываемых шаблонов экранов, дополняя основной подход методами автопостроения и связывания каналов в узлах проекта.
Перейдем в слой Библиотеки_компонентов, где в разделе Пользовательская откроем библиотеку Library_1. Сохраненный в данной библиотеке объект Object_1 содержит в своем слое Resources необходимый для дальнейшей разработки набор графических объектов – изображения клапанов, емкостей, двигателей и т.д.
Перенесем группы в слой Ресурсы текущего проекта с помощью механизма drag-and-drop и переименуем их, как показано ниже.
Здесь же в слое Ресурсы создадим группу Картинки для помещения в нее текстур, которые будут применены в оформлении создаваемых графических экранов.
В группе Картинки создадим новый компонент – Библиотека_Изображений#1.
|
Откроем двойным щелчком вновь созданную библиотеку для редактирования. Для ее наполнения воспользуемся иконкой на панели инструментов. В открывшемся диалоге выбора файлов для импорта укажем поддиректорию …\Lib\Texture. Выберем нужный файл или несколько файлов, которые будем использовать в качестве текстур в нашем проекте, и нажмем экранную кнопку Открыть.
Подобным описанному выше способу создадим в слое Ресурсы группу Анимация, в ней - библиотеку Библиотека_Видеоклипов#1. Наполним ее содержимым …\Lib\Animation.
4. Создание статической части графического экрана
Двойным щелчком на компоненте Экран#1 откроем окно графического редактора. В его свойствах выберем разрешение и фоновое изображение.
С помощью графических объектов (ГО), сохраненных в ресурсных библиотеках и вызываемых с помощью иконки панели инструментов , а также разных графических элементов (ГЭ), создадим статическую часть экрана. Вид ГЭ настраиваем в свойствах.
5. Создание динамического текста с привязкой к аргументу экрана
Сначала подготовим на экране вывод динамического текста для отображения численного значения какого-либо источника сигнала – внешнего или внутреннего - путем указания динамизации атрибута Текст ГЭ.
В свойствах текста из всех предлагаемых типов динамизации атрибута выберем Значение.
В открывшемся меню настройки параметров динамизации выбираем Привязка.
В открывшемся окне Свойства привязки выбираем на панели инструментов и тем самым создаем аргумент шаблона экрана.
|
Переименуйте аргумент в Уровень_жидк, измените тип на IN/OUT и нажмите Готово.
6. Автопостроение канала
Для создания канала в узле проекта по аргументу шаблона экрана воспользуемся процедурой автопостроения.
Для этого в слое Система выберем узел RTM_1, в поле компонентов узла выберем Экран#1, откроем его свойства.
Выберем вкладку Аргументы, выделим аргумент Уровень_жидк и с помощью иконки создадим канал класса Float типа Input с именем Уровень_жидк.
7. Добавление функции управления
Введем в состав графического экрана ГЭ, позволяющий реализовать ввод числовых значений с клавиатуры. Созданный на предыдущем этапе аргумент шаблона экрана будет служить для их приема.
Разместим иконку ГЭ Кнопка рядом с предыдущимГЭ Текст, переименуем ее.
Откроем вкладку События, раскроем меню По нажатию (MousePress), выберем из списка команду Передать значение, в раскрывшемся меню настроек выбранной команды в поле Тип передачи выберем из списка Ввести и передать.
Щелчком в поле Результат вызовем табличный редактор аргументов и привяжемся к аргументу Уровень_жидк.
8. Размещение ГЭ Тренд
Дополним созданный экран новым ГЭ для совместного просмотра изменений значений канала узла во времени и отслеживании предыстории – трендом.
В левой части графического экрана разместим ГЭ Тренд для вывода значений Уровень_жидк. Во вкладке Кривые создадим новую кривую. Настроим для нее привязку к аргументу Уровень_жидк, толщину и цвет линий.
|
Экран примет следующий вид.
9. Создание динамической части графического экрана
Для отображения состояния дискретных сигналов датчиков уровня жидкости применим цветовую индикацию, определяемую для ГЭ Эллипс.
Примем максимальный уровень сливной емкости за 100 у.е, НУ – 25 у.е., ВУ – 60 у.е., ПВУ – 75 у.е., АВУ – 90 у.е.
Тогда для НУ определяем следующие свойства.
Подобным образом выполним настройку свойств для остальных датчиков.
При достижении жидкости уровня ВУ включается насос1, а уровня ПВУ – насос2.
Для имитации движения откачиваемой жидкости вставим видеоклипы fluid_blue1 на соответствующие места трубопровода.
Изменим их свойства таким образом, чтобы клипы становились видны при достижении величины Уровень_жидк определенного уровня (ВУ и ПВУ).
При достижении жидкости уровня АВУ включается аварийная сигнализация.
Для ее имитации вставим видеоклип lamp_alarm_red0.
Изменим его свойства таким образом, чтобы клип становился виден при достижении величины Уровень_жидк уровня АВУ.
Уровень продукта в емкости будем отображать с помощью динамической заливки.
10. Создание дополнительного экрана
Сейчас для моделирования уровня жидкости необходимо каждый раз нажимать на кнопку Уровень_жидкости и задавать нужные значения.
Создадим дополнительный экран с генератором синусоиды. Это позволит анализировать поведение системы в автоматическом режиме.
Переименуем имеющийся экран Экран#1 в Ручной_режим,скопируем его и сохраним под именем Авто_режим.
С помощью процедуры автопостроения создадим канал Уровень_жидк2.
Удалим из нового экрана ГЭ Уровень_жидкости и <текст>. Перенастроим все привязки нового экрана.
Введем в состав проекта источник сигнала – внутренний генератор синусоиды, свяжем его с созданным каналом. Для этого проделаем следующие действия:
- откроем слой Источники/Приемники и создадим в нем группу компонентов Генераторы
- откроем группу Генераторы_1 и создадим в ней компонент Синусоида
- захватим левой кнопкой созданный источник и перетащим курсор на узел RTM_1 в слое Система, а затем, в открывшемся окне компонентов, на канал Уровень_жидк2.
Для осуществления переходов между экранами необходимо предусмотреть соответствующие средства. В качестве них будем использовать ГЭ Кнопки Автоматическое моделирование и Ручное моделирование.
Откроем свойства ГЭ Кнопки Автоматическое моделирование, в разделе Действия выделим пункт MousePress и добавим переход на экран Авто_режим.
Подобным образом поступим для организации перехода на экран Ручной_режим.
Окончательно экраны будут выглядеть следующим образом.
11. Создание отчета тревог и СПАД архива
Выделите канал Уровень_жидк в группе каналы RTM узла и вызовите контекстное меню. Выберите строку редактировать в появившемся меню. Настройте панель границы.
Выделите узел RTM и вызовите контекстное меню. Выберите строку создать группу. Среди предложенных групп выберите строку словари_сообщений. Выделите созданную группу словари_сообщений и вызовите контекстное меню. Среди предложенных словарей выберите словарь_для_FLOAT.
Двойным щелчком по созданному словарю сообщений или выделив его, вызвав контекстное меню и выбрав редактировать, откройте окно для редактирования словаря. В поле имя введите имя словаря, например Для_уровня.. Двойным щелчком левой клавиши мыши на каждой строчке откройте окно для редактирования сообщения.
Редактируя все сообщения, настройте словарь сообщений.
Выделите узел RTM. Вызовите контекстное меню и выберите редактировать. Перейдите на закладку отчет тревог/дамп/параметры. Произведите заполнение полей.
Перейдите на закладку архивы. Произведите заполнение полей.
В окне редактирования канала Уровень_жидк задайте границы, на закладке архивация настройте архивацию и создание отчета тревог.
Теперь все вышеперечисленные действия проведите для канала Уровень_жидк2.
Результат запуска проекта на исполнение будет отличаться тем, что цвет заливки емкости будет определяться уровнем жидкости. Посмотрите созданный отчет тревог тревоги.txt, который размещается в директории с именем узла, размещенной в директории проекта.