Методические указания по заданию. 1. В Tagname Dictionary найдите требуемый тэг и выберите для него параметр Log Data
1. В Tagname Dictionary найдите требуемый тэг и выберите для него параметр Log Data. Чтобы обеспечить запись значений заданных тэгов в архивные файлы на диске, воспойзуйтесь меню Special или в менеджере приложения нажмите Configure – Historical Loggging. Далее в появившемся окне Historical Logging Properties отметьте Enable Historical Logging и укажите путь к специальной папке для записи архивов (данная папка должна быть предварительно создана средствами MS Windows). Запустите WindowViewer и спустя некоторое время убедитесь, что запись в архивные файлы производиться.
2. Необходимо создать окно «trend_hist» с аналогичными параметрами окна «Main».
Необходимо задать анимационные связи для кнопки «Тренды истор.». Для кнопки «Тренды истор.» зададим свойство открытия окна «trend_hist», при помощи анимационной связи Show Window.
Для вывода графической информации из архивных файлов рекомендуется использовать мастер Hist Trend w/Scooter and Scale (кнопка Wizards, раздел Trends). Вставьте выбранный объект в рабочее окно. Далее нажмите дважды на мастере тренда, чтобы открыть диалоговое окно настройки Historical Trend Chart Wizard. С помощью кнопки Suggest задайте имена тэгов тренда архива и шкалы пера, а затем посредством кнопки Pens привяжите тэги уровня наполнения к любым перьям (привязать тэги к перьям можно только после отключения WindowViewer).
Создайте кнопку с анимационной связью Action, в которой с помощью функции HTUpdateToCurrentTime реализуйте обновление рассматриваемого объекта с учетом последних записанных на диск данных. Пример анимационной связи Action:
Анимационная связь Action |
HTUpdateToCurrentTime("HistTrend"); |
Для вывода числовой информации из архивных файлов используйте мастер Trend Pen Legend (кнопка Wizards, раздел Trends). Проследите, чтобы цветовая индикация для тэгов в данных объектах соответствовала цветам соответствующих графиков в мастере тренда.
3. Необходимо создать окно «trend_real» с аналогичными параметрами окна «Main».
Необходимо задать анимационные связи для кнопки «Тренды реал.». Для кнопки «Тренды реал.» зададим свойство открытия окна «trend_real», при помощи анимационной связи Show Window.
Для создания графика реального времени необходимо выбрать инструмент тренд реального времени (кнопка Real-time Trend панели Drawing).
Для дискретных тэгов увеличьте разброс значений и разнесите соответствующие графики по вертикальной оси с помощью привязки к перьям тренда арифметических выражений следующего вида: «ДискретныйТэг * а + b», где а, b - числовые коэффициенты, рассчитанные на основе выбранного масштаба вывода данных трендом реального времени.
Задание 7. Обмен данными с MS Excel.
Цель работы:
Работа с системными функциями InTouch. Организация обмена данными с MS Excel: «непрерывная» связь, обмен по запросу.
Теоретические положения
Системные функции.
InTouch предоставляет пользователю множество встроенных функций, которые могут привязываться к объектам или кнопкам, а также использоваться в сценариях для выполнения различных задач. Доступны следующие типы функций: строковый (String), математический (Math), системный (System), дополнительный (Add-ons), смешанный (Misc), пользовательский (Quick). Системные функции используются для выполнения таких операций над системой, как запуск или активизация другого приложения Windows, копирование, удаление или перемещение файлов, чтение и запись данных в файлы, поиск информации для текущего приложения. В ряде системных функций используется параметр Trigger. InTouch выполняет подобную функцию каждый раз, когда меняется значение Trigger. Trigger может быть любым аналоговым тэгом (не обязательно системным тэгом). Этот параметр используется только в выражениях связей анимации, а при использовании данной функции в сценарии любой аналоговый тэг может использоваться как заглушка, поскольку данный параметр не влияет на выполнение сценария.
Обмен данными MS Excel и InTouch.
Когда другое приложение MS Windows запрашивает значение данных из InTouch, оно также должно знать три компонента адреса ввода/вывода:
а) VIEW (имя приложения – application name) указывает выполняемую программу InTouch, содержащую требуемый элемент данных;
б) TAGNAME (имя темы – topic name) используется всегда при чтении или записи тэга в базе данных InTouch;
в) ActualTagname (имя элемента – item name) указывает собственно тэг, определенный в словаре тэгов InTouch.
Например, чтобы обратиться к значению данных InTouch из Excel, необходимо в той ячейке таблицы, куда будет вставлено это значение, ввести формулу удаленной ссылки DDE: «=VIEW|TAGNAME!'ИмяТэга'». Если в качестве сетевого протокола используется Wonderware NetDDE, то перед именем приложения в адресе ввода/вывода должно стоять имя удаленного узла. Например: «\\ИмяУзла\ VIEW|TAGNAME!'ИмяТэга'».
Для связи с каким-либо приложением в выполняемой программе InTouch должна быть задана следующая информация: имя приложения (Application Name), имя темы внутри приложения (Topic Name); конкретный элемент внутри темы (Item), где хранится нужное значение данных. Например, в случае обращения к MS Excel, именем приложения будет «Excel», имя темы будет скомпоновано из имен книги и листа «[ИмяКниги.xls]ИмяЛиста», а именем элемента будет указатель табличной ячейки, в которой будет происходить чтение или запись требуемых данных (например, R5C3).
Функции WWExecute (передает команду в заданное приложение и тему), WWPoke (передает значение в заданное приложение, тему и элемент), WWRequest (делает однократный запрос значения из заданного приложения, темы и элемента) используют такие же функции MS Windows, что и MS Visual Basic (DDEML). Одна функция обычно выполняет несколько задач. Например, WWPoke выполняет сразу три операции: DDE Initiate, DDE Poke, DDE Terminate. Благодаря этому, эти функции более защищены от ошибок и, вместе с тем, они менее эффективны при обработке множества сообщений DDE. Следует отметить, что когда команда DDE выполняет длительную процедуру в другом приложении, то это может привести к замедлению связи, но потери данных не произойдет.
Содержание задания
1. Создать кнопку вызова заданной книги MS Excel. При этом, если приложение MS Excel уже находится в оперативной памяти, то не загружать его вторично, а просто активизировать. С помощью данной кнопки обеспечить также запись в специальный файл служебной информации о рабочей книге MS Excel: дату и время последнего обновления, размер файла.
2. В книге MS Excel создать таблицу, в которую из InTouch поступают текущие значения тэгов работы клапанов, уровня наполнения, задания для уровней (рис.73). По окончании каждого технологического цикла записывать в таблицу MS Excel дату и время окончания цикла, а также объем полученного продукта (запись проводить с сохранением предыдущих значений).
Рис.73. Окно MS Excel, для организации обмена данных с InTouch.
3. Из MS Excel передавать в InTouch плановый объем порции выпускаемого продукта следующим способом:
- создать аналоговый тэг типа I/O для чтения из некоторой ячейки таблицы MS Excel;