![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Создание простейшего проектаСтр 1 из 7Следующая ⇒
Работа №1 Создание простейшего проекта Постановка задачи – создать операторский интерфейс (человеко-машинный интерфейс) системы мониторинга, содержащий один узел АРМ (автоматизированное рабочее место). При этом будет использован механизм автопостроения каналов TRACE MODE методом " от шаблонов". В дальнейшем, в состав системы будут введены функции управления, реализовано взаимодействие с приложением Windows по протоколу обмена DDE, а в завершение будет произведено подключение аналогового сигнала от модуля удаленного ввода. Создание узла АРМ Загрузим инструментальную систему двойным щелчком левой клавиши (ЛК) мыши по иконке
выберем стиль разработки Простой. После нажатия ЛК мыши на экранной кнопке Создать, в левом окне Навигатора проекта отобразится дерево проекта, содержащее слои Ресурсы, Система (с созданным узлом АРМ RTM_1), Источники/Приемники и Библиотека_компонентов. В правом окне Навигатора проекта отобразится содержимое узла RTM_1 – пустая группа Каналы и один канал класса CALL ( Вызов) Экран#1, вызывающий соответствующий компонент – шаблон экрана, предназначенный для отображения с помощью графических элементов (ГЭ) средств человеко-машинного интерфейса на узле RTM_1 АРМ графического экрана:
Автопостроение канала Для создания канала в узле проекта по аргументу шаблона экрана воспользуемся процедурой автопостроения. Для этого: · в слое Система выберем ЛК узел RTM_1; · в поле компонентов узла ЛК выберем Экран#1; · щелчком правой кнопки мыши (ПК) вызовем контекстное меню; · в нем щелчком ЛК откроем свойства компонента Экран#1: · выберем ЛК вкладку Аргументы; · выделим ЛК аргумент Параметр и с помощью иконки Задание границ и уставок Двойным щелчком ЛК по каналу Параметр откроем бланк редактирования его атрибутов и заполним раздел Границы следующим образом: Создание генератора синуса и привязка его к каналу Введем в состав проекта источник сигнала – внутренний генератор синусоиды, свяжем его с созданным каналом и опробуем в работе выполненные средства отображения. Для этого проделаем следующие действия: · откроем слой Источники/Приемники и через ПК создадим в нем группу компонентов Генераторы: · двойным щелчком ЛК откроем группу Генераторы_1 и через ПК создадим в ней компонент Синусоида; · захватим с помощью ЛК созданный источник и, не отпуская ЛК, перетащим курсор на узел RTM_1 в слое Система, а затем, в открывшемся окне компонентов, на канал Параметр. Отпустим ЛК.
Запуск проекта · Сохраним проект с помощью иконки · на инструментальной панели выберем ЛК иконку · ЛК выделим в слое Система узел RTM_1, а после, нажав ЛК иконку · запуск/останов профайлера осуществляется с помощью иконки В открывшемся окне ГЭ справа от надписи " Значение параметра" должно показываться изменение синусоидального сигнала. То же значение должен отображать и стрелочный прибор:
Добавление функции управления Введем в состав графического экрана ГЭ, позволяющий реализовать ввод числовых значений с клавиатуры. Создадим новый аргумент шаблона экрана для их приема. Размещение ГЭ Тренд Дополним созданный экран новым ГЭ для совместного просмотра изменений значений каналов узла во времени и отслеживании предыстории – трендом. В правой части графического экрана разместим ГЭ Тренд
ГЭ примет вид:
Запуск проекта · Сохраним проект с помощью иконки · на инструментальной панели выберем ЛК · с помощью иконки Теперь с помощью кнопки Управление будем вводить величину " управляющего воздействия" и наблюдать результат в соседнем поле и тренде:
Простейшая обработка данных С помощью нового компонента проекта – шаблона программы свяжем два имеющихся канала операцией сложения. Будем суммировать реальные значения каналов Параметр и Управление, а результат помещать во вновь созданный аргумент экрана Сумма (с отображением на ГЭ Текст и Тренд) без создания дополнительного канала в узле проекта.
Запуск проекта · Сохраним проект с помощью иконки · на инструментальной панели выберем ЛК · с помощью иконки Вводя теперь с помощью кнопки " Управление" " управляющие воздействия" будем наблюдать соответствующее изменение реального значения канала Управление и результата работы программы суммирования: Связь по протоколу DDE с приложением MS Windows на примере MS Excel МРВ как DDE-сервер Организуем запрос реальных значений каналов узла разработанного проекта приложением MS Windows в качестве, которого выберем книгу MS Excel. Для этого выполним: · запуск приложения MS Excel; · запишем в двух ячейках первого столбца запросы на получение данных: =RTM0|GET! Параметр =RTM0|GET! Управление где 0 – индивидуальный номер узла в проекте; · запустим на исполнение узел АРМ RTM_1; · в меню таблицы MS Excel Правка выберем команду Связи, выделим оба параметра и нажмем кнопку Обновить, после чего закроем окно кнопкой ОК. Убедимся, что значения в ячейках книги Excel изменяются вместе с соответствующими реальными значениями каналов узла (значения канала Параметр меняется постоянно, а канала Управление – после введения нового значения с помощью ГЭ Кнопка): МРВ как DDE-клиент В том случае, когда требуется получать данные от внешнего приложения по протоколу DDE, МРВ TRACE MODE 6 должен выступать в роли DDE-клиента. Например, если необходимо вводить во вновь создаваемый канал Из_таблицы узла RTM_1 (в его атрибут Входное значение ) данные из ячейки R3C3 книги MS Excel, необходимо в слое Источники/Приемники создать новую группу DDE, а в ней – компонент DDE#1 и отредактировать его следующим образом: где в атрибуте Имя: · Excel – имя приложения; · Sheet1 – имя листа книги MS Excel; · R3C3 – адрес ячейки. ADVISE – режим посылки клиенту значения при каждом его изменении. После необходимо создать канал класса Float типа Input с именем Из_таблицы и привязать к нему с помощью механизма drag-and-drop источник Excel.Sheet1.R3C3. После процедур сохранения проекта и подготовки его к запуску в реальном времени, запустим MS Excel, а затем узел АРМ RTM_1. Вводя в ячейку R3C3 произвольные значения, их можно наблюдать в атрибутах канала Из_таблицы с помощью окна просмотра компонентов, открываемого через основное меню отладчика: Таким образом, в результате будем наблюдать следующее:
Запуск проекта · Сохраним проект с помощью иконки · на инструментальной панели выберем ЛК · с помощью иконки Нагревая или охлаждая чувствительный элемент подключенного к модулю датчика, можно наблюдать изменение сигнала на тренде. Если по каким-либо причинам датчик отсутствует, то можно выполнить привязку компонента CJC#2 к каналу Параметр и наблюдать в итоге флуктуации измеряемой модулем температуры " холодного" спая.
Контрольные вопросы Вопрос 1. Аргумент экрана создается: a) в табличном редакторе аргументов, открываемом в поле свойств ГЭ «Текст»; b) в табличном редакторе аргументов, открываемом в поле свойств ГЭ «Подсказка»; c) в табличном редакторе аргументов, открываемом в поле свойств ГЭ «Шрифт». Вопрос 2. Динамизация ГЭ производится: a) настройкой его атрибутов; b) настройкой атрибутов канала, вызывающего графический экран; c) настройкой компонента Источник/приемник. Вопрос 3. Тип аргумента экрана может быть: a) только IN и OUT; b) только IN/ OUT и OUT; c) любым из перечисленных. Работа №2 Реализация Для начала работы над проектом загрузим инструментальную систему – интегрированную среду разработки TRACE MODE 6 и с помощью иконки Выделим ЛК в дереве проекта слой Система, ПК на правом свободном поле вызовем командное меню и создадим для контроллера узел EmbeddedRTM,
Для создания узла АРМ проделаем аналогичную операцию с использованием Навигатора проекта, пользуясь ЛК и ПК мыши:
Таким образом, нами созданы два узла проекта – контроллера и АРМ:
Создание компонентов Источников/приемников контроллера В качестве контроллера будем использовать PC-based контроллер серии WinCon8000. В контроллере установлено два модуля – I-8017H (8 AI) в слоте 1 и I-8024 (4 AO) в слоте 2. Создадим описание данных модулей. Выделим ЛК слой Источники/приемники и ПК вызовем контекстное меню с использованием которого создадим группу PC-based контроллеров: Войдя во вновь созданную группу PC-based_контроллер_1, а также с помощью вызова по ПК меню создадим группу OEM_WinCon:
В ней заполним слот 1 модулем 8017Н и слот 2 модулем 8024U:
В результате процедура автопостроения мы имеем источники/приемники для обоих модулей:
Редактирование каналов Настройки границ Зададим границы для созданного канала ввода WinCon _AI#0, для этого двойным щелчком ЛК вызовем редактор канала и заполним бланк Границы следующим образом:
Настройка сетевого обмена Поскольку данные из каналов, созданных в узле контроллера предполагается использовать в узле АРМ, настроим направление сетевого обмена, IP-адрес, период пересчета базы каналов, код проекта. Для этого откроем узел на редактирование:
И установим следующие настройки:
Работа №3 Задание начальных значений каналов С помощью процедуры группового редактирования группы компонентов REGUL узла контроллера зададим начальные значения: На этом закончим работу с узлом контроллера EmbeddedRTM_1 и приступим к формированию базы каналов узла АРМ RTM_2.
Подготовка групп компонентов к просмотру в профайлере Для удобства наблюдения атрибутов каналов узлов при работе в профайлерах все созданные группы компонентов в узлах EmbeddedRTM_1 и RTM_2 пометим как Загружаемые, отредактировав последовательно их свойства во вкладке Флаги. Например, для группы REGUL узла контроллера:
Настройки границ Для приведения данных, получаемых от контроллера к относительным величинам, отредактируем каналы группы REGUL_from_WinCon, Ai_От_WinCon и AO_От_WinCon, настроив в основном бланке разделы Граница и Обработка: и
Для каналов, находящихся в группе компонентов I7017#1, зададим групповым образом границы, соответствующие входному диапазону, установленного для модуля – (0÷ 10) В.
Подготовка базы каналов АРМ для формирования параметров имитации объекта Теперь для того чтобы задавать параметры объекта с узла АРМ, дополним группу Упр_WinCon каналами типа Output:
Групповым образом зададим созданным каналам начальные значения и взведем для них флаг Отработать:
Откроем дополнительную панель Навигатора и определим связь между соответствующими каналами группы Упр_WinCon узла RTM_2 (источники) и каналами группы SIMULATOR узла EmbeddedRTM_1 (приемники):
Сохраним выполненный проект с помощью иконки
Контрольные вопросы Вопрос 1. Аргумент программ предназначены: a) для передачи реальных значений каналов текущего узла в программу; b) для передачи констант в программу; c) для передачи любых атрибутов каналов из базы каналов проекта в программу. Вопрос 2. Привязка аргументов программ к атрибутам каналов производится: a) в редакторе программ; b) в табличном редакторе аргументов канала, вызывающего программу; c) возможны оба варианта. Вопрос 3. Тип аргумента программы может быть: a) только IN и OUT; b) только IN/ OUT и OUT; c) любым из перечисленных.
РАБОТА №4 Создание аргументов Сформируем аргументы шаблона экрана с автопривязкой к атрибутам каналов. Для этого откроем свойства шаблона и перейдем во вкладку Аргументы. Будем исходить из того, что тип аргументов для отображения с использованием ГЭ определим как IN, а для аргументов, предполагающих их формирование посредством ГЭ - IN/OUT. Для автоматического создания имен аргументов по именам соответствующих каналов во вкладке Редактор аргументов настроек ИС установим флажок в пункте Переименовывать аргументы при привязке и нажмем клавишу Готово. В окне табличного редактора аргументов с помощью иконки · выделим ЛК строку ARG_000; · откроем группу компонентов Упр_WinCon узла RTM_2; · захватим ЛК канал Уст_3адание и, удерживая ЛК нажатой, перетащим его на строку, содержащую ARG_000. В результате выполненных действий будем иметь:
Для отображения на графическом экране реальных значений каналов Ai_from_WinCon1 и AO_from_WinCon1 без предварительных операций перетащим с помощью мыши данные каналы в окно табличного редактора аргументов:
Создадим с помощью иконки
Последовательно перетащим на созданные аргументы каналы Уст_Кп, Уст_Ки, Уст_Кд, Уст_3ону, Уст_Ручное_управление, Уст_Режим, Уст_К_Об, Уст_Т_Об, Уст_Запазд_Об и Уст_Шум_Об. В результате получим:
Закроем окно свойств шаблона Экран#1. Чтобы приступить непосредственно к созданию графического экрана совершим двойной щелчок ЛК по шаблону Экран#1 и тем самым запустим редактор графики.
Создание гистограммы В правом верхнем углу экрана с помощью объемных ГЭ Выделив ЛК ГЭ
Определенная гистограмма будет отображать уровень заполнения, связанный с шестым входом модуля I-7017 в диапазоне 0 – 10, цвет заполнения – синий. Остальные настройки ГЭ сохранены заданными по умолчанию. Закроем свойства ГЭ.
В левом верхнем углу экрана с помощью объемных ГЭ изобразим клапан. Среднюю часть клапана сделаем полупрозрачной, задав параметр Прозрачность = 30 (полупрозрачный).
Перемещение ГЭ Шток клапана выполним перемещающимся. В качестве величины, задающей перемещение, возьмем реальное значение дискретного выхода модуля I-7067 – DO_1_R. Определим начальную и конечную точки перемещения ГЭ:
Использование видеоклипов Здесь же разместим видеоклип из библиотеки анимаций. Воспользуемся иконкой
В нижней части экрана разместим ГЭ Кнопка для реализации перехода на Экран#1. В свойствах ГЭ укажем ссылку на шаблон Экран#1:
Бегущие дорожки Реализацию бегущих дорожек сделаем таким образом, чтобы они отображали состояние обмена с модулями удаленного ввода/вывода. Анализ состояния обмена будем осуществлять по атрибуту Достоверность канала AIn#1 для модуля I-7017. Поскольку атрибут Достоверность принимает значение 1 в случае возникновения проблем со связью по последовательным коммуникациям, то необходимо предусмотреть программу, инвертирующую значение данного атрибута для применения в целях динамизации ГЭ Линия. Определим в качестве аргумента шаблона экрана Экран#2 LINK_7017, добавив в редактор аргументов: Выделим последовательно ГЭ Линия, связывающие изображения АРМ и модулей вводы/вывода, и задав им динамическое свойство Бегущая дорожка, привяжем их к соответствующим аргументам:
Изменить направление движения бегущей дорожки можно «перевернув» ее в ходе редактирования. В результате проделанной работы Экран#2 будет иметь вид:
Вернемся к шаблону Экран#1. ГЭ Кнопка настраивается на переход к шаблону экрана Экран#2 следующим образом:
Сохраним внесенные изменения с помощью иконки
РАБОТА№5 Учебный проект. Создание SQL-запроса для работы с внешней реляционной базой данных Постановка задачи – разработка SQL-запросов для записи во внешнюю базу данных MS Access реальных значений каналов Ai_from_WinCon1 и AO_from_WinCon1 в таблицу Tab1, а также каналов AIn#1… AIn#8 в таблицу Tab2. Причем, в целях оптимизации количества транзакций запись в Tab1 будет осуществляться по существенным изменениям реальных значений каналов, в свою очередь в Tab2 – в фоновом режиме в каждом цикле пересчета базы каналов. Исходным материалом для проектирования служат информационная и математическая базы проекта, созданные в предыдущих работах, сохраненных с именем regul.prj.
Создание SQL-запросов Разработку экранов начнем с запуска интегрированной среды разработки ТКАСЕ МООЕ 6. Для создания запроса к СУБД выделим ЛК слой Шаблоны_связей_с_СУБД и по щелчку ПК создадим новый компонент – База_данных#1:
Щелчком ПК на вновь созданном компоненте вызовем его свойства и, перейдя во вкладке Аргументы, приступим к созданию аргументов и их привязке к атрибутам каналов.
Создание аргументов При создании аргументов будем учитывать то, что тип аргументов для записи в СУБД должен быть определен как IN, а для автоматического формирования имен аргументов по именам соответствующих каналов при осуществлении привязки во вкладке Редактор аргументов настроек ИС установим флажок в пункте Переименовывать аргументы при привязке. В навигаторе проекта откроем слой Система, в ней – узел RTM_2 и выделим ЛК группу компонентов Ai_От_WinCon. Удерживая ЛК нажатой, перетащим канал Ai_from_WinCon1 в окно табличного редактора аргументов, отпустим ЛК. Те же операции проделаем с каналом AO_from_WinCon1, что расположен в группе AO_От_WinCon. В результате выполненных действий получим:
Далее, а Навигаторе проекта выделим группу компонентов I7017#1 и также перетащим ее в окно табличного редактора аргументов шаблона База_данных#1. Получим:
Последний аргумент TESTING_36_R выделим ЛК и удалим с помощью иконки Создадим с помощью иконки
Привязку данного аргумента выполним позже. Закроем окно табличного редактора аргументов.
Создание таблиц Создадим в файле regul.mdb две таблицы для записи реальных значений каналов и метки времени. Для этого откроем бланк Запрос редактора шаблона и с помощью иконки
Выполним запрос с помощью иконки
Создадим второй запрос, используя возможности редактирования – копирования и вставки, и также выполним его из интегрированной среды разработки:
Далее закроем шаблон запроса и откроем вновь, поскольку необходимо выполнить переподключение к БД. В бланке Схема редактора проверим результат выполненных действий:
Таким образом, подготовительные работы завершены. Теперь необходимо перейти к созданию запросов, помещающих реальное значение каналов в соответствующие поля таблиц базы данных. Разработку запросов будем производить с помощью Мастера запросов.
РАБОТА№6 Генерация документов Постановка задачи – создать шаблон документа, включающий дату/время, логотип компании, таблицу с мгновенными значениями, тренд и таблицу с выводом архивных каналов, принимающих данные от контроллера и модуля удаленного ввода, а также дополнить проект новым экраном, включающим ГЭ для ручной генерации документов.
Создание шаблона документа Дополним созданную в Работе №4 ресурсную библиотеку Библиотека_Изображений#1 логотипом TRACE MODE из bmp-файлов, размещенных в папке Lib в директории Logotip. Для этого откроем библиотеку и выполним операцию импорта с помощью иконки
Содержимое Библиотека_Изображений#1 станет следующим:
Выберем в дереве проекта слой Шаблоны_документов и создадим новый компонент – Документ#1:
Двойным щелчком откроем его на редактирование:
Разместим в левом верхнем углу документа логотип TRACE MODE, воспользовавшись иконкой
Нажмем Enter и в следующей строке введем надпись «Проект REGUL – сводка», отформатировав ее с помощью инструментов выбора шрифта и форматирования:
В итоге получим:
Выведем в табличной форме мгновенные значения (на момент генерации документа) параметров регулятора, работающего в узле контроллера – Кп, Ки, Кд, Задание и реакция объекта Ai_from_WinCon1 из групп компонентов REGUL_from_WinCon и Ai_От_WinCon узла RTM_2, а также напряжений, подаваемых на входы удаленного аналогового ввода I-7017 – AIn#1… AIn#8 из группы компонентов I7017#1 узла RTM_2 (всего 13 аргументов). Флаг в настройках ИС Переименовывать аргументы при привязке должен быть установлен. Для формирования списка аргументов шаблона Документ#1 откроем окно Аргументы из пункта Вид основного меню:
Воспользовавшись механизмом drag’n’drop, создадим необходимый список аргументов:
Выполним надпись в документе «Параметры регулятора: », нажмем Enter и с помощью иконки
Зададим для таблицы следующие параметры и нажмем кнопку Готово:
В первой строке таблицы выполним надписи - Кп, Ки, Кд, Задание и Реакция объекта. С помощью механизма drag’n’drop перетащим во вторую строку таблицы соответствующие аргументы из открытого окна Аргументы:
Далее выполним надпись «Напряжение на входах модуля I-7017, В: » и вставим таблицу с 8 столбцами и двумя строками, выполнив надписи и привязав к ячейкам таблицы аргументы шаблона документа:
Для разделения секций мгновенных значений от архивных, воспользуемся горизонтальной линией при помощи иконки
Для определения временного интервала при организации выборки архивных данных, помещаемых в документ, воспользуемся свойствами ГЭ Тренд, расположенного на графическом экране Экран#1. Вызовем на редактирование Экран#1 и откроем свойства ГЭ Тренд. Двойным щелчком ЛК откроем в основном бланке отроку Ось времени и свяжем атрибуты Левая граница и Правая граница с вновь созданными аргументами экрана L_Mark и R_Mark, имеющих тип IN/OUT и тип данных UDINT неимеющих привязок к атрибутам каналов:
Создадим в списке аргументов шаблона документа Документ#1 два аргумента с типом данных UDINT и в поле Привязка свяжем их с аргументами шаблона экрана Экран#1 L_Mark и R_Mark:
Через аргументы From и To будет передаваться в шаблон документа Документ#1 временной интервал выборки из архива, соответствующий интервалу, отображающемуся на тренде Экран#1. Вставим в документ архивный тренд с помощью иконки Через контекстное меню, вызываемое по щелчку ПК, перейдем к свойствам тренда:
В бланке Аргументы с помощью экранной кнопки Добавить определим отображение трех кривых для аргументов, связанных с каналами Задание, Ai_from_WinCon1 и AIn#6:
Выберем в свойствах тренда вкладку Архив и выполним привязку интервала выборки к абсолютному времени, задаваемому аргументами From и To, сняв флаг Использовать быструю выборку:
Во вкладке Вид выберем тип отображения и зададим ширину тренда:
Конфигурацию тренда, задаваемую во вкладках Оси, Колонтитулы и Легенда оставим заданными по умолчанию и нажмем кнопку Готово.
В шаблоне документа Документ#1 получим:
Для численного представления данных, отображаемых на тренде, ниже поместим архивную таблицу, привязанную к используемому нами временному интервалу, задаваемому аргументами From и To:
Определим четыре столбца в таблице и нажмем кнопку Готово:
С помощью механизма drag’n’drop перетащим в ячейки таблицы аргументы, Ai_from_WinCon1_R, AIn#6_R и Задание_R и через разделитель «. » укажем в явном виде атрибуты каналов – Базовое имя и Реальное значение, выводимых из архива:
Через контекстное меню откроем свойства архивной таблицы:
Выберем вкладку Архив и зададим следующие параметры и нажмем кнопку Готово:
Создание канала класса Вызов в узле RTM_2 Для выполнения генерации подготовленного шаблона документа Документ#1 в узле RTM_2 выполним следующие действия – откроем дополнительное окно Навигатора проекта и перетащим шаблон документа в корневую группу узла RTM_2:
Изменим имя компонента – вновь созданного канала класса Вызов Документ#1: 41 на Документ_1, затем откроем его через контекстное меню на редактирование и выставим Параметр равным 1:
Популярное:
|
Последнее изменение этой страницы: 2017-03-11; Просмотров: 3202; Нарушение авторского права страницы