Genies и Super Genies (джины и суперджины)
Каждый графический объект на графической странице настраивается индивидуально. Часто при разработке графического интерфейса приходится создавать типовые группы объектов, предназначенные для решения конкретной задачи. Например, группа из трех объектов (кнопка "ПУСК", кнопка "СТОП" и индикатор состояния - лампочка зеленого/красного цвета) предназначена для пуска/останова насоса, электродвигателя, конвейера и т. д. с индикацией их состояния. Тогда каждый раз для решения этой задачи разработчику придется создавать эти три объекта и конфигурировать их (задавать свойства). Но таких задач на одной графической странице может оказаться много. Читатель уже понял, что время специалиста в этом случае будет расходоваться неэффективно.
Для решения подобных задач Citect предлагает механизм, названный джином. Предлагается объединить несколько связанных задачей объектов в группу, предварительно придав этим объектам соответствующие свойства, а затем сохранить эту группу в библиотеке джинов, которая устроена аналогично библиотеке объектов. Джин может управляться как единый объект (его можно копировать, перемещать, масштабировать и т.д.), при этом обрабатываются все составляющие джина.
Теперь на решение вышеописанной задачи уйдет гораздо меньше времени. Надо лишь выбрать требуемого джина из библиотеки, вставить его в графическую страницу и в появившийся на экране диалог ввести имя/имена переменной/переменных.
Citect предлагает два типа сложных объектов:
· джины, которые размещаются на графической странице при проектировании системы, причем их количество на странице не ограничено;
· суперджины, которые представляют собой динамические страницы, активизируемые в режиме исполнения для ввода/вывода данных.
Таким образом, основное отличие этих двух механизмов в том, что джин объединяет несколько объектов и привязан к странице, а суперджин является отдельной страницей. В каких случаях может быть полезен суперджин ?
Когда технологические параметры поддерживаются на заданном значении контроллером (регулятором), оператор должен иметь возможность "вмешаться" в процесс (перейти с автоматического режима работы на ручной, изменить задание контроллеру). Постоянное нахождение на экране всех этих " рычагов " управления перегружает окно, к тому же пользоваться ими оператору приходится не часто. Вот тут и приходит на помощь суперджин (выпадающая страница).
Поскольку требования по управлению различными контурами регулирования идентичны, суперджин можно один раз создать, определив свойства его компонентов, и сохранить в библиотеку. Для использования суперджина на графической странице нужно лишь указывать его имя в команде, вызывающей этот суперджин на экран.
Объекты типа джин и суперджин позволяют экономить дисковое пространство компьютера, так как в его памяти хранится лишь одна копия.
Пакет Citect поставляется с библиотекой джинов и суперджинов. Вызов библиотеки производится автоматически при выборе инструмента Paste Genie (вставка джина). На рис.1.2.9 приведен раздел Моторы библиотеки джинов.
Рис.1.2.9. Раздел Моторы библиотеки джинов.
Часто суперджины и джины используются вместе. Это достигается привязкой джина к суперджину, когда одна из функций джина активизирует суперджин (выпадающую страницу). В библиотеке джинов Citect некоторые джины уже связаны с суперджинами (джины с символом руки).
Механизм работы джина, связанного с суперджином, будет более понятен, если читатель внимательно прочтет следующие несколько абзацев. Следует еще раз подчеркнуть, что речь пойдет только о механизме "срабатывания" , а не о методике создания джинов и суперджинов.
Например, на мнемосхеме технологического процесса имеется несколько центробежных насосов. По каждому насосу оператор должен получать информацию о скорости вращения и иметь возможность управлять работой насоса: включить/выключить насос, выбрать режим ручного или автоматического управления насосом.
Задача очень простая - можно создать джин, реализующий все эти функции. Примерный вид этого джина представлен на рис.1.2.10а. На мнемосхеме представлено несколько насосов и для каждого нужен свой джин. Citect допускает любое количество джинов на странице, но она будет перегружена информацией, которая не нужна оператору постоянно.
Рис.1.2.10. К описанию механизма суперджина. |
Предлагается второе решение этой задачи - создать джин и суперджин. Постоянно на мнемосхеме процесса присутствуют джины для управления насосами, один из которых представлен на рис.1.2.10б. Но в этом случае они намного компактнее и не перегружают интерфейс. При определении свойств кнопки PUMP1 (насос1) джина на закладке INPUT (см. рис.1.2.6) в этом случае надо задать команду, которая будет выполняться при ее нажатии. Примером такой команды может быть AssPopUp (sPage, sTag1..8):
· AssPopUp - функция, открывающая суперджинн в выпадающей странице и имеющая следующие аргументы:
o sPage - имя страницы суперджина;
o sTag1..8 - имена переменных, связанных с суперджином.
Джин, связанный с суперджином (рис.1.2.10в), заранее создан и сохранен в библиотеку джинов и суперджинов. При определении свойств компонентов (кнопок) этого суперджина должны быть использованы заменяемые имена с синтаксисом ? type number ? :
o type - тип переменной (т.е. string, integer, real или digital);
o number - позиция имени переменной (1-8) в списке функции AssPopUp() джина, который вызывает страницу суперджина.
Применительно к рассматриваемому примеру функция (команда), вызывающая суперджин, может иметь вид AssPopUp("SGenie", "%PUMP%", "%STATUS%"), а заменяемые имена переменных суперджина - ?digital 1? и ?digital 2? .
Кнопки суперджина SGenie (рис.1.2.10в) имеют следующие свойства:
Закладка - Appearance (General) Опция - Text | Закладка - Input (Touch) Поле - Command |
СТАРТ | ? Digital 1?=1 |
СТОП | ? Digital 1?=0 |
АВТО | ? Digital 2?=1 |
РУЧ | ? Digital 2?=0 |
ВЫХОД | WinFree( ); |
В режиме исполнения нажатие кнопки джина PUMP1 активизирует команду AssPopUp("SGenie", "%PUMP%", "%STATUS%"). При этом произойдет подстановка первой переменной PUMP в заменяемое имя ?digital 1?, а второй переменной STATUS - в заменяемое имя ?digital 2? суперджина, что вызовет появление выпадающей страницы с пультом управления насосом PUMP1 (рис.1.2.10в). После выполнения действий по управлению насосом выпадающая страница может быть закрыта щелчком по кнопке ВЫХОД (функция WinFree( ) закрывает страницу).
В результате применения суперджинов выигрывает оператор, который взаимодействует с управляемым процессом через интерфейс, имея всю необходимую информацию и средства управления.
Лекция №19
Citect
Алармы в Citect
Типы алармов
Citect поддерживает два типа алармов:
· аппаратные алармы;
· конфигурируемые алармы.
Аппаратные алармы призваны информировать оператора о неисправностях, возникающих в устройствах (Hardware) системы управления (контроллерах, модулях ввода/вывода, каналах связи). Citect постоянно запускает диагностические процедуры для проверки как собственного состояния, так и состояния всего периферийного оборудования независимо от желания оператора. Сведения об обнаруженных неисправностях выводятся оператору автоматически. Это свойство Citect является встроенным и не нуждается в предварительной настройке (конфигурировании). Аппаратные алармы отображаются на специальной странице (Hardware Alarm Page).
Алармы, вызываемые отклонениями технологических параметров за допустимые границы, неисправностью технологического оборудования, надо предварительно конфигурировать. Система алармов Citect позволяет конфигурировать алармы по отдельным переменным, по группам переменных, по выражениям, по результатам расчетов и т. д.
В Citect различают четыре типа алармов:
· дискретные (digital) алармы;
· аналоговые (analog) алармы;
· алармы с метками времени (time stamped);
· составные (advanced) алармы.
Дискретные алармы срабатывают при изменении состояния дискретной переменной. При этом для срабатывания аларма можно использовать любое из двух состояний: TRUE / ON (1) или FALSE / OFF (0). По умолчанию аларм срабатывает, когда переменная принимает значение TRUE / ON (1). Если при конфигурировании аларма перед именем переменной поставить логический оператор NOT, это приведет к инвертированию логики. Аларм сработает, когда переменная примет значение FALSE / OFF (0). Например, для создания дискретного аларма, срабатывающего при выключении насоса (переменная PUMP), в поле имени переменной надо ввести NOT PUMP и аларм сработает на FALSE/OFF (0).
Citect допускает возможность конфигурирования дискретного аларма в зависимости от изменения состояния одной или двух дискретных переменных. Если определены две переменные, то они обе должны изменить свое состояние для срабатывания аларма. Для создания аларма, срабатывающего при одновременно открытых двух клапанах, достаточно в соответствующие поля ввести имена переменных, например, VALVE1 и VALVE2. Аларм сработает, когда оба клапана будут в состоянии TRUE / ON.
Аналоговые алармы базируются на анализе выхода значений переменной за указанные верхние и нижние пределы. Аналоговые алармы могут быть заданы в нескольких комбинациях (см. раздел 3.1):
· High и High High (верхний и выше верхнего);
· Low и Low Low (нижний и ниже нижнего);
· Deviation (отклонение от нормы);
· Rate of Change - ROC (скорость изменения).
Алармы с меткой времени подобны дискретным алармам - аларм срабатывает при изменении дискретного параметра. Однако эти алармы имеют точную привязку ко времени (с разрешением в 1 миллисекунду !!!), которая позволяет установить точное время его срабатывания. Таймер обычно считывает время из устройства ввода/вывода. Миллисекундная точность позволяет выявлять взаимосвязи между алармами.
Составные алармы срабатывают, когда результат выражения Cicode меняет значения от FALSE к TRUE. Они требуют большего времени на обработку, чем другие типы алармов. Поэтому большое количество составных алармов существенно ухудшает характеристики системы управления. Составные алармы рекомендуется использовать лишь в том случае, когда невозможно применить другие типы алармов.
Конфигурирование алармов
Конфигурирование алармов можно производить в Citect Explorer или в Project Editor. В первом случае следует выбрать проект и открыть папку Alarms. В окне содержания проектов (Contents) появятся четыре иконки, каждая из которых предназначена для конфигурирования определенного типа алармов. В Project Editor для конфигурирования алармов потребуется открыть меню Alarms и выбрать соответствующую команду.
На рис.3.3.1 приведен интерфейс Citect Explorer с открытой папкой Alarms.
Рис.3.3.1. Интерфейс Citect Explorer с открытой папкой Alarms. |
Двойной щелчок по любой из представленных в поле Contents иконок вызывает появление на экране соответствующего диалога конфигурирования аларма. На рис.3.3.2 и 3.3.3 приведены диалоги для конфигурирования дискретного и аналогового алармов.
Рис.3.3.2. Диалог для конфигурирования дискретного аларма. |
Читатель уже обратил внимание на поле Var Tag A. Имени переменной WP_STAT предшествует логический оператор NOT. Значит, дискретный аларм сработает на FALSE/OFF.
Рис.3.3.3. Диалог для конфигурирования аналогового аларма. |
Каждый тип аларма имеет свои специфические параметры (поля) для настройки, но имеются и общие для всех типов алармов параметры:
· Alarm Tag - имя аларма;
· Alarm Name - имя физического устройства, связанного с алармом;
· Variable Tag - переменная, вызывающая аларм;
· Category - номер группы (категории) аларма (см. ниже).
Первые два понятия - Alarm Tag и Alarm Name - используются системой Citect только для организации вывода алармов на монитор и их регистрации (на диск, принтер и т. д.). В нижней части каждого диалога размещены четыре кнопки: Add (добавить связь), Replace (заменить), Delete (удалить), Help (справка). Конфигурирование любого аларма завершается нажатием кнопки Add. Для конфигурирования следующего аларма надо вновь заполнить поля диалога и снова нажать кнопку Add. При каждом нажатии этой кнопки срабатывает счетчик, и в поле Record появляется число, характеризующее общее количество алармов данного типа в проекте. Таким образом, при конфигурировании большого количества алармов данного типа достаточно один раз войти в соответствующий диалог и произвести конфигурирование всех алармов данного типа.
В правой части диалога имеется линейка для просмотра всех созданных алармов данного типа. Это дает возможность редактировать ранее созданные алармы. Заканчивается редактирование аларма нажатием кнопки Replace. В отличие от дискретных и аналоговых алармов составные алармы срабатывают на результат выражения Cicode (рис.3.3.4).
Рис. 3.3.4. Диалог Advanced Alarms. |
Cicode - выражение состоит из базовых элементов языка Cicode. В этом выражении могут быть константы, значения переменных, а также результаты сложных вычислений. В рассматриваемом диалоге выражение HW_TEMP>=80 имеет следующий смысл: запустить состояние аларма, когда значение некоторой переменной HW_TEMP будет больше или равно 80 (True).
Категории алармов
В системе Citect предусмотрена возможность классифицировать алармы по самым различным признакам: по участкам производства, по типу алармов, имени, приоритету и т. д. В зависимости от этого каждый аларм может быть отнесен к определенной категории, и каждая категория обрабатывается как группа. Для каждой категории можно установить индивидуальные атрибуты отображения элементов аларма (шрифт и тип страницы), способ регистрации (на принтер или в файл) и действие, производимое тогда, когда срабатывает аларм определенной категории (например, включение звукового сигнала).
При разработке проекта можно определить до 255 категорий. Если категория для аларма не установлена, аларм будет иметь такие же атрибуты, как и аларм категории 0. Категория 255 используется для всех аппаратных алармов. Если не определять категорию аларма 0 или 255, Citect использует значения по умолчанию для этих категорий.
Каждая категория может иметь свой приоритет. Приоритеты алармов могут быть использованы для определения порядка их появления, обеспечивая необходимую для оператора фильтрацию. Важность приоритета уменьшается с увеличением его значения от 1 до 255. Таким образом, приоритет с номером 1 - самый высокий. Например, если алармы с приоритетами от 1 до 8 должны выводиться на экран, то первыми будут выводиться алармы с приоритетом 1 в порядке их поступления, затем - алармы с приоритетом 2 и т. д.
Задание свойств категории алармов производится в специализированном диалоге Alarm Categories, приведенном на рис. 3.3.5.
Рис. 3.3.5. Диалог Alarm Categories.
Поля Alarm On Font и Alarm Off Font предназначены для выбора шрифтов при выводе "включенных" (активных) алармов и "выключенных" алармов (переменная возвратилась в нормальное состояние).
Поля ON Action и OFF Action предписывают действие, которое должно быть реализовано при включении (выключении) аларма. Действие задается командой на языке Cicode.
Поле ACK Action предписывает действие, которое должно быть реализовано при подтверждении аларма. Также как и для предыдущих полей, действие задается командой на языке Cicode.
Каждый аларм может быть представлен на странице текущих алармов (Alarm Display) и в сводке алармов (Alarm Summary) одной строкой. Поля Alarm Format и Summary Format определяют формат вывода всех алармов данной категории на этой странице. Символ ^t между полями формата означает признак табуляции (выравнивание выводимой информации в полях формата). Действие этого формата распространяется только при отображении алармов на экран.
Поля Log Alarm Transitions (ON, OFF, ACK) определяют момент регистрации алармов данной категории (когда включается, выключается, подтверждается).
Отображение алармов
Для предоставления оператору информации об алармах в Citect можно создавать страницы текущих алармов (Alarm Display) и страницы сводки алармов (Alarm Summary). Более того, Citect предлагает для этих целей готовые шаблоны. Основные типы таких шаблонов приведены в главе 1. После создания новой страницы с использованием шаблона следует произвести ее конфигурирование в диалоге Properties (свойства страницы, рис.3.3.6).
Рис.3.3.6. Диалог Properties (свойства страницы).
Этот диалог содержит несколько закладок, на которых можно определить заголовок окна в режиме исполнения (Window Title), предыдущую и последующую страницы (Previous, Next) в порядке их расположения в проекте, время обновления (scan time), видимые размеры окна, его стиль (закладка Appearance), клавиши и команды, выполняемые при их нажатии (закладка Keyboard Commands), команды, выполняемые при закрытии или открытии окна (закладка Events) и т. д.
Когда страницы для отображения алармов созданы, остается произвести конфигурирование алармов в соответствующих диалогах с присвоением категории и заполнить диалог Alarm Categories для каждой категории. При запуске режима исполнения алармы будут появляться на страницах алармов.
Рис. 3.3.7. Страница текущих алармов Alarm Display.
Пример страницы текущих алармов Alarm Display приведен на рис.3.3.7.
Возможные выводимые поля в Alarm Display (текущие алармы):
· имя переменной, имя аларма, описание аларма;
· категория аларма, справочная информация, зона, уровень доступа;
· тип или состояние аларма: заблокирован, подтвержден, не подтвержден;
· время/дата смены состояния или подтверждения аларма: время и дата возникновения, время и дата окончания, время и дата подтверждения, длительность.
Для дискретных алармов имеется поле состояния: on (вкл.), off (выкл.).
Для алармов с метками времени в поле времени и даты добавлена информация о миллисекундах. Для аналоговых алармов предусмотрены поля для состояний (HiHi, Hi, Lo, LoLo, Rate, Deviation), значения переменной (Value) и полосы удержания аларма (Deadband - зона нечувствительности). Так же, как и на любой графической странице, на страницах текущих алармов и сводок алармов можно расположить различные средства навигации и управления алармами (кнопки перехода на другие страницы проекта, кнопки подтверждения алармов, линейки прокрутки, регистрации алармов в файл или на принтер и т. д.). Читатель еще не забыл, что для сетевого доступа к алармам с компьютера отображения (Display Client) один из компьютеров сети должен быть сконфигурирован как сервер алармов (Alarm Server). Это может быть отдельный компьютер, играющий роль сервера алармов, либо компьютер, на который возложены функции нескольких серверов (в том числе и сервера алармов).
Лекция №20
Тренды в Citect
Тренды в Citect
В системе Citect реализована единая распределенная система построения трендов реального времени и графиков для анализа технологических процессов, функционирующая в архитектуре клиент - сервер. Сбор, хранение и обработку информации для ее представления в графическом виде осуществляет сервер трендов (Trends Server). При необходимости вывода трендов реального времени и архивных трендов на экран компьютера визуализации (Display Client) клиент запрашивает у сервера необходимые данные. Таким образом, по сети передаются только пакеты "полезных данных" меньшего размера, что существенно уменьшает нагрузку на сеть.
Рис. 4.2.1. Вариант сетевой архитектуры системы Citect. |
Citect предоставляет возможность вывести на тренд любую переменную или значение выражения на языке Cicode. Можно одновременно посмотреть на экране любое количество трендов и увидеть до восьми графиков в любом окне тренда. Накопление данных продолжается даже тогда, когда дисплей не активен. Можно перемещаться по страницам проекта, не влияя на процесс построения трендов и систему регистрации данных.
В Citect можно строить периодические тренды - Trend Periodic (регистрация данных через определенные интервалы времени с разрешением до нескольких миллисекунд), тренды по событию - Trend Event (регистрация данных в момент наступления события) и периодические тренды по событию -Trend Periodic Event.
Регистрация данных
Citect может хранить любое количество данных. Объем хранимой информации определяется размерами жесткого диска компьютера. При этом применяется эффективный метод хранения информации, максимизирующий использование дискового пространства (компрессия файлов).
Объем выборки для хранения в файлах задается в процессе конфигурирования тренда временным периодом от 10 миллисекунд до 24 часов в сутки. Конфигурирование трендов можно производить в Citect Explorer или в Project Editor. В этом случае в Citect Explorer должна быть открыта папка Tags, а в Project Editor - меню Tags (см. рис.3.3.1).
По аналогии с алармами при конфигурировании трендов используется понятие Tag (Trend Tags). Tags (теги) - это внутренние переменные системы Citect, которым присваиваются имена с целью идентификации трендовых переменных (в предыдущем разделе - алармов) при выводе их на экран и регистрации в файлы. Щелчок по иконке Trend Tags в окне Contents интерфейса Citect Explorer выводит на экран диалог конфигурирования трендов (рис. 4.2.2).
Поле Expression предназначено для ввода выражения или имени переменной, которая будет отображаться трендом. Частота выборки данных (Sample Period) вводится в формате HH:MM:SS. Можно ввести одну цифру, например 2, и это будет означать 2 секунды. Ввод десятичной цифры система воспринимает, как долю секунды. Например, 0.2 будет означать 200 миллисекунд.
Поле Type предназначено для выбора типа тренда (периодический, по событию, периодический по событию).
Рис. 4.2.2. Диалог конфигурирования трендов. |
В нижней части диалога размещены четыре кнопки: Add (добавить связь), Replace (заменить), Delete (удалить), Help (справка). Конфигурирование тренда завершается нажатием кнопки Add. Для конфигурирования следующего тренда надо вновь заполнить поля диалога и снова нажать кнопку Add. При каждом нажатии этой кнопки срабатывает счетчик, и в поле Record появляется число, характеризующее общее количество трендов в проекте. Редактирование параметров ранее сконфигурированных трендов завершается нажатием клавиши Replace.
Считанная с устройств ввода/вывода информация используется для построения архивных трендов и сохраняется в файлы для дальнейшего анализа.
Citect использует круговую систему записи в файлы, что предпочтительней, чем в один большой файл. По умолчанию используются 10 файлов, регистрирующих данные в течение одной недели, начиная с полуночи воскресенья (рис.4.2.3). В самом начале регистрации данные записываются в первый файл. С полуночи следующего воскресенья запись будет производиться во второй файл. С полуночи следующего воскресенья запись будет производится в третий файл и т. д. После 10 недель в первый файл записываются новые данные, уничтожая при этом старую информацию. Также по умолчанию имя файла будет содержать 8 символов имени переменной тренда.
Рис. 4.2.3. Круговая система записи данных в файлы. |
Частоту записи в журнал и количество используемых журнальных файлов можно изменять. Для настройки параметров файлов следует открыть диалог Trend Tags и нажать F2 для отображения дополнительных опций (см. рис.4.2.4).
Рис. 4.2.4. Диалог настройки параметров регистрации данных в файл. |
Не вдаваясь в подробное описание полей диалога, следует отметить лишь поле Format для выбора формата данных при их записи в файл (данные в файл записываются в заданном формате через запятую) и поля Time и Period для выбора временного диапазона и периода записи данных в файл. Например, если в поле Period выбрать [ 1 : 00 : 00 ], то это будет означать смену файла для записи данных каждый час. Запись 20 th Avril означает смену файла один раз в год - 20 апреля.
Пример расчета дискового пространства, необходимого для файлов тренда.
Каждое значение требует для хранения два байта. Можно предварительно рассчитать объем памяти, занимаемый архивом при его записи на диск, по следующей формуле:
V=464 * N +176 + (T * N * 2) / t ,
где:
V - объем памяти (байт);
N - количество файлов;
T - время хранения информации (сек);
t - период выборки (сек).
Например, если в архив записывается одно значение переменной каждые десять секунд в течение одной недели, и используется пять файлов данных (пять недель), то требуемый объем памяти будет равен 607296. V= 464*5 +176 + {7*24*60*60*5*2}/10=607296
Отображение трендов
Для отображения трендов на экране в системе Citect предусмотрены специальные шаблоны страниц:
· одиночный тренд (SingleTrend) - шаблон для создания страницы с одним окном трендов, в котором имеется до 8 перьев;
· двойной тренд (DoubleTrend-) - шаблон для создания страницы с двумя окнами трендов, в каждом из которых имеется до 8 перьев;
· сравнительный тренд (CompareTrend) - шаблон для создания страницы c двумя трендами, наложенными один на другой в целях их сравнения (до четырех пар графиков);
· масштабный тренд (ZoomTrend) - шаблон страницы с функцией масштабирования;
· выпадающий тренд (PopTrend) - шаблон для вывода тренда в любом месте экрана (в отдельном окне).
· тренды по событию (EventTrend) - шаблон страницы с одним окном для тренда по событию во времени на восемь перьев;
Эти шаблоны практически исчерпывают все потребности разработчика при создании трендов проекта. Если все-таки появится необходимость в создании нового шаблона, Citect и в этом случае предоставит свой инструмент. В графическом редакторе Graphics Builder на линейке инструментов имеется иконка NEW, щелчок по которой выводит на экран меню, одна из опций которого предназначена для создания нового шаблона (рис.4.2.5).
Рис.4.2.5. Меню New для создания новой страницы, шаблона, символа, джинна и суперджина. |
Создание нового шаблона - интересная, творческая работа. Но читателю не менее интересно оценить то, что уже создал Citect. Тренды, созданные с помощью этих шаблонов, является одновременно и трендами реального времени (текущие данные появляются в реальном времени в правой части графика), и архивными трендами.
Все шаблоны страниц уже снабжены различными средствами навигации и чтения значений параметров. Здесь присутствуют:
· кнопки перемещения маркера по графикам влево и вправо, при этом перемещать репер можно маленькими или большими шагами, а также в начало или конец графика;
· кнопка вывода статистических параметров - минимума, максимума, статистического среднего и стандартного отклонения;
· кнопка увеличения выделенного участка графика;
· кнопки изменения разрешения по времени и охватываемому периоду;
· кнопка, позволяющая в реальном времени менять параметры перьев;
· кнопки вывода данных графика на печать и записи в файл;
· кнопка копирования данных в буфер обмена Windows для их использования в других приложениях (в табличном формате) типа Word, Excel и т. д.
В качестве примера такого шаблона предлагается одиночный тренд (SingleTrend)-, приведенный на рис. 4.2.6.
Рис.4.2.6. Шаблон одиночного тренда с окном настройки перьев. |
Панель сравнения графиков предоставляет оператору возможность одновременно выводить два графика, назначив каждому перу свои временные характеристики.
Двойной щелчок мышью по полю тренда выводит на экран диалог конфигурирования перьев (8 перьев) тренда. Вводить с клавиатуры имена переменных нет необходимости. Достаточно открыть в поле каждого пера список переменных проекта и выбрать переменную, которая будет отображаться этим пером на тренде.
Для переконфигурирования перьев тренда в режиме Runtime Citect предлагает использовать специальные страницы трендов и функцию PageTrend(), позволяющую подключать к этим страницам требуемые переменные (перья). С помощью этой функции можно выводить на одну страницу тренда переменные, имеющие одну и ту же частоту выборки (одновременно не более восьми).
При создании такой страницы тренда следует все поля диалога конфигурирования перьев оставить пустыми, а функцию PageTrend( ) связать с одной из кнопок страницы меню. Теперь нажатие этой кнопки в режиме исполнения будет вызывать функцию PageTrend(sPage, sTag1 ... sTag8):
· sPage - имя страницы тренда;
· sTag1 ... sTag8 - имена переменных.
Остается ввести имя страницы тренда и имена переменных для соответствующих перьев. Например, функция PageTrend("MyTrend", "PV1", "PV2", " PV3") обеспечит вывод переменных PV1, PV2, PV3 на страницу тренда с именем MyTrend.
Все вышеизложенное делает механизм трендов в Citect удобным не только при конфигурировании (разработке), но и в процессе эксплуатации (Runtime).
При запуске режима Runtime страница одиночного тренда будет выглядеть следующим образом (рис.4.2.7).
Рис.4.2.7. Страница одиночного тренда в режиме Runtime. |
Лекция №21