Академический Документы
Профессиональный Документы
Культура Документы
Система супервизорного
управления Citect SCADA.
Базовый курс и язык Cicode
Учебное пособие
Санкт-Петербург
2017
2
Содержание
Предисловие .................................................................................................................... 8
Используемые обозначения ................................................................................................................... 8
Введение .......................................................................................................................... 9
Часть1. Система супервизорного управления Citect SCADA. Базовый курс ......... 12
Глава 1. Среда конфигурирования Citect SCADA ..................................................... 12
1.1. Среда разработки Citect Studio ..................................................................................................... 12
Упражнение 1.1................................................................................................................................. 13
1.2. Построитель графики Citect.......................................................................................................... 13
Упражнение 1.2................................................................................................................................. 13
1.3. Редактор Cicode ............................................................................................................................. 13
Упражнение 1.3................................................................................................................................. 13
Глава 2. Управление проектами .................................................................................. 14
2.1. Создание нового проекта. Включение проектов ........................................................................ 14
Упражнение 2.1. Создание проекта Training .................................................................................. 14
2.2. Архивирование, удаление и восстановление проекта ................................................................ 16
Упражнение 2.2. Сохранение, удаление и восстановление проекта Training ............................. 17
2.3. Кластеры и серверы. Мастер конфигурирования компьютера ................................................. 18
Упражнение 2.3. Изменение свойств кластера и сервера ввода-вывода в проекте Training ..... 18
Упражнение 2.4. Настройка компьютера для проекта Training ................................................... 20
Упражнение 2.5. Запуск проекта Training ...................................................................................... 23
Глава 3. Настройка связи и работа с тегами .............................................................. 25
3.1. Мастер установки связи между устройствами ............................................................................ 25
Упражнение 3.1. Настройка связи для проекта Training ............................................................... 26
3.2. Тестирование связи (на примере проекта Training) .................................................................... 27
Упражнение 3.2. Создание дискетного тега ................................................................................... 29
Упражнение 3.3. Создание графической страницы ....................................................................... 29
Упражнение 3.4. Добавление на страницу графических объектов и их настройка .................... 30
Упражнение 3.5. Запуск проекта и тестирование связей .............................................................. 35
3.3. Структурированные имена тегов ................................................................................................. 37
3.4. Добавление тегов и их редактирование ....................................................................................... 42
Упражнение 3.6. Добавление тегов в проект Training. Проект Training1 .................................... 43
Упражнение 3.7. Создание привилегированного пользователя. Просмотр и модификация
тегов. Проект Training2 .................................................................................................................... 46
3.5. OPC Factory Server (OFS) .............................................................................................................. 49
3.5.1. Файл переменных приложения контроллера ....................................................................... 50
Упражнение 3.8. Создание таблицы переменных в формате CSV............................................... 50
3.5.2. Состав и режимы работы OFS ............................................................................................... 51
3.5.3. Конфигурирование OFS ......................................................................................................... 52
3.5.4. Запуск клиента OFS и тестирование связи ........................................................................... 54
3.5.5. Связь Citect SCADA с контроллером c помощью OFS ....................................................... 56
Глава 4. Графика ........................................................................................................... 61
4.1. Рисование графической страницы проекта Training2 ................................................................ 62
Упражнение 4.1. Создание новой графической страницы Oven .................................................. 62
Упражнение 4.2. Размещение в графической странице Oven символа Tank .............................. 62
Упражнение 4.3. Размещение на графической странице Oven набора символов Burner ........... 62
Упражнение 4.4. Размещение на графической странице многоугольника Oven ........................ 64
Упражнение 4.5. Размещение трубопровода на графической странице Oven ............................ 65
Упражнение 4.6. Размещение на графической странице Oven еще одного набора символов
Burner ................................................................................................................................................. 66
Упражнение 4.7. Просмотр созданной графической страницы Oven. Проект Training3 ........... 67
4.2. Цветовая анимация графических объектов во время выполнения проекта ............................. 67
Упражнение 4.8. Цветовая анимация графического объекта ....................................................... 67
4.3. Отображение столбиковой диаграммы во время выполнения проекта .................................... 68
Упражнение 4.9. Использование столбиковой диаграммы и предопределенного объекта
Джинн (Genie) ................................................................................................................................... 68
4
Предисловие
Учебное пособие предназначено для использования студентами при изучении дисциплин
"Проектирование компьютерных систем управления" и «Компьютерные системы управления». Эти
дисциплины включены в учебный план подготовки магистров и инженеров по направлениям 220200
"Автоматизация и управление", 220700 «Управление в технических системах» и специальности
220201 "Управление и информатика в технических системах" (национально-региональный
компонент государственного образовательного стандарта).
В качестве инструментального программного средства при создании компьютерных систем
управления в учебном пособии используется система супервизорного управления и сбора данных
Citect SCADA 2016 (или, иначе, Citect SCADA версии 8.0) компании Schneider Electric (Франция), а
также входящий в систему язык программирования Cicode. Название Citect SCADA с 2017 года
используется как замена для наименований Vijeo Citect и CitectSCADA (в последнем слове
отсутствует пробел); системы с такими названиями, которые различались маркетинговой
ориентацией, компания Schneider Electric предлагала для использования ранее.
Настоящее учебное пособие является существенно переработанным пособием [1] применительно к
версии системы Citect SCADA 2016 года.
Изложение материала в учебном пособии соответствует программе базового курса по системе
супервизорного управления Citect SCADA и курса по языку программирования Cicode, изучаемых
в центрах обучения компании Schneider Electric за рубежом и в РФ (см. Приложение 1). Поэтому
предлагаемый материал может быть использовано не только студентами, но и персоналом
производственных компаний — конечными пользователями и системными интеграторами — на
курсах повышения квалификации по SCADA-системам.
Для удобства пользователей учебное пособие содержит около 90 упражнений, выполнение которых
способствует более успешному освоению изучаемого материала, и 28 сквозных демонстрационных
проектов по основным разделам курса, которые нацелены на практическое изучение системы
супервизорного управления и служат удобным средством получения справочного материала. Это
позволяет использовать учебное пособие и для самостоятельного изучения.
Учебное пособие составлено при поддержке АО «Шнейдер Электрик», за что авторы выражают
компании искреннюю признательность.
Используемые обозначения
Названия окон, полей окон, меню, команд, акселераторов, клавиш, кнопок и т. п. в тексте книги
выделяются полужирным шрифтом. Исходные тексты программ и результаты их работы,
приводимые в учебном пособии, для удобства читателей печатаются с использованием
непропорционального (моноширинного) шрифта Courier New, а служебные слова языка Сicode в
тексте учебного пособия и в исходных текстах демонстрационных программ выделяются
полужирным шрифтом.
Курсивом в тексте выделяются определяющие вхождения новых понятий, а также отдельные слова
или выражения, на которые следует обратить внимание.
Имена папок, файлов и их расширения пишутся без кавычках.
Кроме шрифтовых выделений, используется два типа специальных абзацев: советы и замечания.
Со в ет
Наряду с данным учебным пособием пользуйтесь и другими документами, указанными в списке
использованной литературы [1-6].
За ме ч а н ие
При использовании Process Analyst, Citect SCADA Web Client или Citect SCADA Web Server следует
пользоваться обозревателем Internet Explorer версии 9.0 или выше.
Введение
Цель данного учебного пособия — предметно продемонстрировать основные возможности
системы Citect SCADA 2016 для ее изучения, что иллюстрируется цепочкой сквозных постепенно
наращиваемых демонстрационных примеров. Эти примеры в виде упакованных файлов содержатся
в прилагаемом архиве CitectSCADA2016_OvenTraining.zip, файлы называются
OvenTraining*.ctz. Для более быстрого и простого освоения изучаемого материала рекомендуем в
процессе упражнений параллельно с преподавателем повторять учебные примеры. При этом
примеры OvenTraining* можно использовать в качестве справочного материала. В качестве
названия повторяемого проекта используйте Training*, а его резервную копию называйте и
размещайте в пользовательской папке системы Citect SCADA.
Со в ет
Наряду с данным учебным пособием пользуйтесь и другими общедоступными документами,
указанными в списке использованной литературы [1-6].
Система Citect SCADA является системой супервизорного управления и сбора данных (или системой
диспетчерского управления) общепромышленного назначения. При разработке системы
Citect SCADA большое внимание уделялось гибкости; она позволяет построить, как показывает
опыт внедрения, систему супервизорного управления, удовлетворяющую практически любым
конкретным требованиям. Система супервизорного управления Citect SCADA пригодна для
решения как малых, так и больших задач. Систему Citect SCADA с успехом применяют для
наблюдения за производством и оборудованием и для управления технологическими процессами в
различных отраслях промышленности, в энергетике, при обработке и транспортировке нефти и газа,
в жилищно-коммунальной сфере и других областях. Доля рынка Citect SCADA составляет около
50 — 60% в Австралии и около 15 % в мире и постепенно увеличивается. Первая версия этой
SCADA-системы была разработана в середине 1980-х годов, в 2007 году — версия 7.00, а в 2016
году — версия 8.0, которая также имеет в своем названии год выпуска - 2016. Сильными сторонами
системы супервизорного управления Citect SCADA являются поддержка контроллеров практически
всех фирм-производителей, присутствующих на мировом рынке, мощная среда разработки,
относительная простота разработки приложений разной сложности, интеграция в коммерческое
предложение компании Schneider Electric. Благодаря гибкости систему Citect SCADA можно
расширять в соответствии с технологическими и информационными требованиями производства.
Система Citect SCADA легка в обучении и использовании. Такие особенности системы, как
шаблоны, genies (джинны), мастера, включаемые проекты, возможность удаленного развертывания
(deployment) и другие функциональные возможности сокращают время и усилия, необходимые для
настройки и повышения эффективности работы.
Перед установкой системы Citect SCADA 2016 убедитесь, что компьютер удовлетворяет
минимальным требованиям с точки зрения аппаратуры и программного обеспечения,
предъявляемым со стороны системы Citect SCADA. При этом может понадобиться обновление
компьютерного оборудования и программного обеспечения.
Версия 2016 года (или версия 8.0) системы Citect SCADA может работать в следующих
операционных системах:
Windows 10;
Windows 8;
Windows Server 2012 или Windows Server 2012 R2;
Windows 7 с Service Pack 1 (32 Bit или 64 Bit);
Windows Server 2008 R2 с Service Pack 1 (32 Bit или 64 Bit).
Систему Citect SCADA можно установить на виртуальных машинах:
Microsoft Hyper-V: соответствующая версия Windows;
VMware Workstation: базовые возможности без реализации функций горячего резервирования
«High Availability» и восстановления «Disaster Recovery»;
VMware vSphere.
10
За ме ч а н ие
При использовании подсистем Process Analyst, Web Client или Web Server следует пользоваться
обозревателем Internet Explorer версии 9.0 или выше. При установке Web Server необходимо обеспечить
совместную работу этой подсистемы с Microsoft Internet Information Server (MS IIS).
2. Оценка требуемого размера диска серверов дана для размещения системы реального времени и
откомпилированного проекта. Кроме того, предполагается, что для 20% входов-выходов система
строит тренды в среднем каждые 10 сек круглосуточно, причем эти значения сохраняются в
течение последних трех месяцев; каждый вход-выход в течение суток формирует один сигнал
тревоги.
Для всех указанных компьютеров имеются также рекомендации по поддержке графики: карта с
DirectX 9 (или более поздняя версия) с драйвером WDDM 1.0, разрешение экрана - 1920 x 1080
(система реального времени поддерживает и другие разрешения, как меньшие, так и большие, а
интегрированная среда разработки Citect Studio для рабочего места инженера-разработчика
поддерживает разрешение 1920 х 1080 и более). В случае, если используется не автономная (т.е. не
одномашинная “stand-alone”, а многомашинная) архитектура, то рекомендуется скорость сетевого
обмена – 100МБ/с.
данных. Это может происходить при некорректной работе антивирусных программ, а также в случае
сканирования файлов антивирусными программами «на лету», при этом в зависимости от
конфигурации файлы могут быть заблокированы, перемещены или удалены как подозрительные на
наличие вирусов. В критических случаях такая ситуация может привести к приостановке работы
системы Citect SCADA с серьезными последствиями для обслуживающего персонала и
оборудования.
Для предупреждения подобной работы антивирусных программ рекомендуется исключить из
проверки на вирусы каталоги, в которых размещены система Citect SCADA, файлы данных и
регистрационные данные проекта, архивы, в которых записываются сигналы тревоги.
После установки системы Citect SCADA необходимо выполнить ее лицензирование с помощью
аппаратного или программного ключа. Лицензия системы Citect SCADA может размещаться в
устройстве ключ аппаратной защиты Sentinel, которое включается в порт USB компьютера.
Ключ защиты может быть также программным (FLEXERA). В этом случае лицензия размещается
на лицензирующем сервере FlexNet Enterprise License Server, а управление ключами производится
с помощью программного менеджера плавающих лицензий Floating License Manager –
приложения, входящего в систему Citect SCADA. В обоих случаях система использует
динамический подсчет количества входов-выходов и других параметров для определения того,
превышен или нет лимит приобретенной лицензии: подсчет проводится для работающей системы
реального времени. Определяется количество используемых входов-выходов для сервера,
количество клиентских компьютеров с полным доступом (control clients - «управляющие» клиенты)
и количество клиентских компьютеров «только чтение» (manager clients или view-only clients –
«просматривающие» клиенты). Динамический подсчет означает, например, следующее: если на
графической странице в проекте используется тег, сопоставленный некоторому адресу в
контроллере, то он увеличивает счетчик входов-выходов только в том случае, когда графическая
страница открывается и производится запрос на чтение тега первый раз. В системе подсчитываются
не используемые адреса контроллера, а теги; это означает, что если к одному адресу привязаны два
тега, то именно при первом использовании каждого тега счетчик входов-выходов будет
увеличиваться. В проекте можно проверять текущее значение счетчика входов-выходов – оно
доступно на стандартной странице отладки и с помощью функции встроенного в систему языка
программирования Cicode.
При подсчете клиентских компьютеров не делается различия между web-клиентами и «обычными»
клиентами.
Если проект системы Citect SCADA запускается без ключа защиты, то система работает в
демонстрационном режиме. Демонстрационный режим позволяет использовать все возможности
системы Citect SCADA, но с ограниченным временем работоспособного состояния и ограниченным
количеством входов/выходов, причем в Мастере конфигурирования компьютера (см.ниже) может
быть указан вариант множественных процессов Windows и в этом случае выбрана сетевая модель
«автономная» (stand-alone), либо может быть указан вариант одиночного процесса.
Доступны следующие демонстрационные режимы:
Непрерывная работа в течение 15 минут с максимальным количеством 50 000 реальных входов-
выходов.
Непрерывная работа в течение 10 часов максимально с одним динамическим вводом/выводом
реального времени. Это подходит для демонстрационного режима с использованием дискового
ввода/вывода. Система Citect SCADA начнет работу в этом режиме, если отсутствует ключ
защиты, и в случае попытки использования второго входа-выхода через 15 минут после запуска
перейдет в режим 15-минутной работы (т.е. остановится).
Демонстрационный режим полезен для конфигурирования, выполняемого вне реальной системы, и
тестирования проекта. Тем не менее, если Citect SCADA будет использоваться в реальной системе,
то понадобится лицензия.
Ключи защиты системы Citect SCADA должны обновляться при обновлениях программного
обеспечения (upgrading). Можно получить или обновить лицензию системы Citect SCADA с
помощью факса, телефона, электронной почты или интерактивно через Интернет. Подробности
изложены в Руководстве по установке системы [2] и в html-справке, размещаемой на компьютере
при установке системы [3].
12
Упражнение 1.1
Запустите приложение Citect Studio, изучите имеющиеся команды меню и кнопки-иконки на
панели инструментов (снабжены всплывающими подсказками). Посмотрите справку о приложении
Citect Studio.
Упражнение 1.2
Перейдите в среду приложения Построитель графики Citect, изучите имеющиеся команды меню
и кнопки на панели инструментов (снабжены всплывающими подсказками). Посмотрите справку о
приложении Построитель графики Citect.
Упражнение 1.3
Запустите приложение Citect Studio и выберите в нем проект Example (этот демонстрационный
проект устанавливается при установке системы). Нажмите кнопку Запустить на панели
инструментов, чтобы запустить этот проект (в ответ на запрос нажмите кнопку OK). Перемещайтесь
по проекту, переходя на новые страницы с помощью команд меню Example. Окончив
ознакомление, закройте проект, нажав кнопку Закрыть.
14
Для создания нового проекта в среде Citect Studio выберите кнопку и строку Добавить | Новый
проект… на странице Проекты (вторая сверху иконка основного меню, рис. 2.1).
Со в ет
При заполнении диалогового окна, представленного ранее на рис. 2.2, для перехода в следующее поле
окна пользуйтесь курсором мыши или клавишей Tab. Для возврата в предыдущее поле воспользуйтесь
акселератором Shift+Tab.
При этом в качестве включаемых проектов по умолчанию используется проект, название которого
можно увидеть, сделав проект Training активным (нажмите на поле с соответствующей подсказкой)
и выбрав вкладку Включенные проекты рядом с открытой вкладкой Главная в верхней строке
окна Проекты (рис. 2.3).
требуемые параметры (название, путь к файлу с резервной копией и другие) и нажмите кнопку OK.
Более подробные сведения о сохранении проекта с описанием параметров содержатся в справке по
системе.
Для восстановления проекта в среде Citect Studio выберите строку Восстановить ниспадающего
меню, которое появляется при нажатии на иконку «стрелка вниз» рядом с кнопкой Резервное
копирование.
Для удаления проекта в среде Citect Studio на странице Проекты выберите проект, подлежащий
удалению, выполните команду Удалить | Удалить проект. В появившемся окне подтвердите
удаление проекта.
Со в ет
Не забывайте периодически сохранять проект, с которым Вы работаете, на диске.
За м еч а н ие
По умолчанию, если не указано другое расширение, архивным файлам дается расширение .ctz. Эти
файлы записываются в стандартном формате zip. Это значит, что для открытия такого файла можно
воспользоваться любым средством работы с zip-файлами.
Нажмите на иконку «стрелка вниз» справа от слова «Кластеры». В ниспадающем меню компонентов
конфигурации проекта выберите строку Серверы ввода/вывода. В области конфигурирования
серверов ввода-вывода определен сервер IOServer1. Изменим его имя на имя OvenSever, более
подходящее для нашего проекта. Подобно тому, как был добавлен комментарий в области
конфигурирования кластеров, выполните также добавление комментария для сервера ввода-вывода
OvenServer «Сервер ввода-вывода» (рис.2.8). Сохраните изменения: на вопрос о «каскадном»
изменении имени в появившемся окне ответьте положительно. Изменения других областей
конфигурирования в окне Топология проводятся аналогично.
За м еч а н ие
Каждый компьютер Citect SCADA может выполнять функции только одного сервера ввода-вывода.
При выполнении полного проекта сетью компьютеров Citect SCADA, в которой к устройству
ввода-вывода подключены несколько компьютеров, для проекта можно определить несколько
серверов ввода-вывода. После внесения любых изменений в области конфигурирования серверов
(изменение свойств существующих серверов или определение новых серверов) необходимо
20
запустить Мастер конфигурирования компьютера (см.ниже) для того, чтобы изменения были
учтены в исполнительной системе VijeoCitect при ее запуске на данном компьютере.
Диалоговое окно Проверка подлинности сервера задает пароль сервера, необходимый для
доверенного обмена данными между серверами работающей системы. Предусматривается, что
проверка пароля проводится автоматически. Необходимость настройки пароля сервера отмечена в
поле неотменяемой галочкой, а так как поля пароля и подтверждения пароля заполнены, то пароль
уже сконфигурирован и в его изменении нет нужды.
23
Последнее окно показывает, что настройка компьютера завершена, и можно нажать на кнопку
Готово.
(Citect Studio или Графический Редактор Citect), нажать «горячую клавишу» F5. После запуска
познакомьтесь с системой меню, списком имеющихся страниц, возникающими подсказками при
перемещении указателя мыши и т.п.
Закройте затем проект Training.
25
Мастер установки связи между устройствами можно запустить из среды Citect Studio, открыв
окно Топология, нажав на кнопку Устройства ввода/вывода и выбрав кнопку «Многоточие» в
правой части экрана (рис.3.2). В появившемся ниспадающем меню следует выбрать строку Новое
устройство. При этом активным должен быть требуемый проект (например, проект Training – см.
титульную строку окна Citect Studio).
26
Рис. 3.3. Окно Мастера установки связи между устройствами параметров связи
Рис. 3.4. Окно Мастера установки связи между устройствами для выбора Сервера ввода/вывода
Название Пояснения
Строка Порядковый номер строки таблицы
Первая часть обозначения оборудования (до 254
Оборудование символов для имени оборудования и имени
элемента в сумме)
Вторая часть обозначения оборудования, с
Имя элемента
которым может быть связан тег
Имя тега, должно быть уникально в кластере (до
Имя дескриптора
79 символов)
Указывается кластер, в котором определен тег,
Имя кластера обязательно указывать в случае нескольких
кластеров в проекте
Устройство IO Устройство ввода-вывода (до 31 символа)
Тип данных Тип данных – см. табл.3.2
Формат адреса зависит от протокола устройства
Адрес
ввода-вывода
Замечание Замечание к тегу, может быть на русском языке
Мин.значение в единицах изм. В двух полях указываются минимальное и
максимальное значения в инженерных единицах
Макс.значение в единицах изм.
измерения
Проект Имя проекта
Рис. 3.5. Окно Мастера установки связи между устройствами для конфигурирования
Устройства ввода/вывода
Теги (описатели или метки) переменных определяют текущие значения данных, связанных с
некоторым регистром устройства ввода-вывода. Каждый тег переменной определяется уникальным
в пределах кластера именем (дескриптором), типом данных, адресом, связанным с устройством
ввода-вывода (внешним или «внутренним», т.е. определенным в компьютере) и другими
характеристиками.
Определить тег переменной можно следующим образом: в среде приложения Citect Studio на
странице Модель системы на вкладке Теги можно заполнять строки таблицы или поля формы в
правой части вкладки (рис. 3.11).
Рис. 3.6. Окно Мастера установки связи между устройствами для задания типа Устройства ввода-вывода
29
В среде Citect Studio выполните команду Проекты | Упаковать (база данных тегов будет
проиндексирована, а все помеченные к удалению записи будут физически удалены). Такое
действие рекомендуется выполнять периодически.
Рис. 3.7. Окно Мастера установки связи между устройствами для задания производителя, модели и метода
коммуникации Устройства ввода/вывода
имя NewPage и нажмите кнопку OK). Графическая страница приобретет вид, показанный на
рис. 3.16.
Рис. 3.8. Окно Мастера установки связи между устройствами (используйте предложенные значения) для
Устройства ввода/вывода
Для размещения объекта Кнопка в графической странице достаточно в окне объектов (рис. 3.17)
выбрать нажатием и отпусканием левой кнопки мыши объект Кнопка, переместить мышь в нужное
место графической страницы, нажатием левой кнопки и перемещением мыши определить размеры
и местоположение кнопки и отпустить левую кнопку мыши. В результате появится окно
Свойства: Кнопка, которое пока закройте. Аналогичным образом добавьте в графическую
страницу еще один объект Кнопка, чтобы графическая страница приобрела вид, представленный
на рис. 3.18.
32
Для определения требуемых свойств объекта Кнопка следует ее выбрать (см. рис. 3.18) и
выполнить для кнопки команду Свойства… контекстного меню, вызываемого правой кнопкой
мыши. Появится окно конфигурирования кнопки, показанное на рис. 3.19. В этом окне имеются
пять основных (постоянных) горизонтальных закладок (Представление, Движение, Ввод, Доступ,
Метаданные) и по одной-две-три вертикальных, вспомогательных закладок, варьируемых в
зависимости от выбранной горизонтальной закладки (Общее, 3D Эффекты и Видимость при
выборе Представление; По горизонтали и По вертикали при выборе Движение; Касание и
Клавиатурные команды — при выборе Ввод; Общее и Запрещен — при выборе Доступ; Общее
– при выборе Метаданные). С помощью указанных закладок можно выбирать любую из десяти
вкладок, с помощью которых задаются требуемые свойства кнопки.
33
Свойства кнопки, обеспечивающей задание нулевого значения тега Test (или, что то же - FALSE)
при нажатии кнопки, иллюстрируют приведенный ранее рис. 3.19 и рис. 3.20. Аналогично, свойства
другой кнопки, обеспечивающей задание единичного значения тега Test (или значения TRUE) при
нажатии кнопки, представлены на рис. 3.21 и рис. 3.22.
Для размещения объекта Текст на графической странице достаточно в окне объектов (см. рис. 3.17)
выбрать нажатием и отпусканием левой кнопки мыши объект Текст, переместить мышь в нужное
место графической страницы, начать вводить нужный текст и нажать левую кнопку мыши. В
результате появится окно Свойства: Текст, в котором задайте свойства объекта в соответствии с
рис. 3.23 и 3.24.
34
Вид выбранной графической страницы при нажатии на первую и вторую кнопки иллюстрируют
рис. 3.26 и рис. 3.27. Использованный при создании проекта Training включенный проект
Tab_Style_Include содержит ряд полезных типичных функциональных возможностей, связанных с
реализацией системы меню, отображения сигналов тревоги (оповещений), построения трендов и
т.п. Пример таких возможностей показан на рис.3.28, в котором после нажатия на иконку с двумя
окнами (обведена на рисунке красной линией) появляется окно «Выбор страницы» с возможностью
использования ниспадающего меню.
Со в ет
Поэкспериментируйте, задавая различные параметры объектов Кнопка и Текст в Графическом
редакторе. Для отображения результатов при работе Исполнительной системы Citect достаточно
сохранять изменения в файле графической страницы NewPage и проводить компиляцию проекта (Alt-
F10), если на странице Проекты в строке с именем проекта отсутствует отметка о компиляции.
Результаты изменений будут подхвачены «на лету»: останавливать и запускать вновь Исполнительную
систему (т.е. выполнять команду F5), как правило, нет необходимости. Проанализируйте результаты
внесенных изменений в процессе работы приложения.
Для завершения работы приложения достаточно нажать кнопку Закрыть, расположенную в правом
верхнем углу.
37
Секция Зона определяет зону, номер или название установки. Например, при наличии трех
пастеризаторов с одинаковым управлением можно сконфигурировать теги для пастеризатора №1 и
скопировать их на пастеризаторы №№2 и 3. Тогда нужно просто изменить секцию зоны в именах
тегов на зоны второго и третьего пастеризаторов (табл. 3.3). Остальные теги остаются
неизменными. Если эта возможность не нужна, секцию зоны в имени тега можно опустить,
уменьшив тем самым количество символов в имени.
Таблица 3.3. Использование секции зоны в именах тегов
В секции Тип указывается тип параметра, технологического оборудования или средства управления
(табл. 3.4). Рекомендуется система именования по стандарту ISA.
38
Рис. 3.26. Отображение созданной страницы и ее вид при нажатии кнопки Задание тега Test=FALSE
Рис. 3.27. Вид созданной страницы при нажатии кнопки Задание тега Test=TRUE и наведении мышки на
текстовое поле «Вкл / Выкл»
43
Рис. 3.28. Возможности приложения по выбору страниц (свойство унаследовано из включенного проекта
Tab_Style_Include)
Теги переменных в таблице среды Citect Studio (окно Модель системы | Теги) можно
сконфигурировать быстро, т. к. в каждом теге есть много повторяющейся информации. Если два
тега переменных похожи друг на друга, выберите строку уже созданного тега, скопируйте ее в конец
таблицы и измените нужные поля. Напомним, что изменение можно выполнять в самой таблице
(нужно иметь в виду, что не все атрибуты тега отображаются в колонках таблицы, это отображение
можно настроить, см.рис.3.11) и в полях формы в правой части окна (здесь доступны все атрибуты).
Для сохранения сделанных изменений сконфигурированных тегов нужно нажать на кнопку
Сохранить в левой верхней части окна.
За ме ч а н ие
Информация об адресации тегов переменных приведена ранее в подразделе 3.2.
Со в ет
Не забывайте периодически сохранять проект на диске. Для этого в среде приложения Citect Studio
достаточно выбрать на странице Проекты проект Training и выполнить команду Резервное
копирование. В появившемся окне Создание резервной копии проекта следует указать требуемые
44
параметры и нажать кнопку OK (рис. 3.29). Проект сохраните под именем Training1. В дальнейшем
работайте с проектом Training1. Для этого достаточно выбрать в окне Проекты команду
Восстановить; она становится доступна, если нажать на кнопку со стрелкой вниз рядом с кнопкой
Резервное копирование. В появившемся окне Восстановить проект следует указать требуемые
параметры и нажать кнопку OK (рис. 3.29). Сделайте этот проект активным, щелкнув мышкой по
строке с его описанием на странице Проекты приложения Citect Studio.
Созданные в проекте Citect SCADA теги можно просматривать, а их значения изменять в процессе
исполнения проекта. Указанная возможность доступна только привилегированному пользователю.
Рис. 3.29. Архивирование проекта Training под именем Training1 и восстановления проекта Training1
45
Привилегии или права (рис. 3.30) могут быть установлены в проекте таким образом, чтобы только
определенные пользователи имели доступ к соответствующим командам и средствам управления
на графических страницах. Для этого необходимо, во-первых, создать роль, обладающую нужным
набором привилегий, и пользователю приписать ту или иную роль (рис. 3.31 и 3.32), и, во-вторых,
определить доступность команд и средств управления для привилегий (рис. 3.33). Первые из
указанных действий следует выполнять в Citect Studio, а вторые – в графическом построителе.
8 - высокий
0 - низкий
Рис. 3.36. Страница отображения и изменения тегов без возможности менять значения тегов
Теперь все управляющие элементы для таблицы доступны. Убедитесь в этом, вновь нажав правую
кнопку мыши, указывающей на любую строку таблицы тегов. Действие «Задать значение…» теперь
активно. С помощью появившегося диалогового окна можно изменить значение выбранного тега
(рис. 3.38). Экспериментируйте с изменением значений тегов и отображением новых значений на
страницах VariableTags и NewPage.
Закройте проект.
Со в ет
Не забывайте периодически сохранять проект на жестком диске. Для этого в среде
приложения Citect Studio достаточно на странице Проекты нажать на кнопку Резервное копирование
и сохранить проект Training1. В появившемся окне Создание резервной копии проекта следует
указать требуемые параметры и нажать кнопку OK (см. упр. 3.6). Проект сохраните под именем
Training2. В дальнейшем работайте с проектом Training2. Для этого достаточно нажать на кнопку
«Стрелка вниз» справа от кнопки Резервное копирование и выбрать строку Восстановить. В
появившемся окне Восстановить проект следует указать требуемые параметры и нажать кнопку OK
(см. указанное ранее упр. 3.6). Сделайте этот проект активным, щелкнув мышкой по строке с его
описанием на странице Проекты приложения Citect Studio.
В состав дистрибутива Citect SCADA входит OFS, который зарезервирован для использования в
Citect SCADA и не требует отдельной лицензии. Кроме того, OFS можно приобрести и использовать
независимо от Citect SCADA в двух версиях: малая (до 1000 элементов ввода-вывода с лицензией
на одиночный компьютер или на площадку с 10 компьютерами) и большая (лицензии на одиночный
компьютер, на площадку с 10 компьютерами или на площадку с 200 компьютерами).
Указанные версии OFS для работы сервера с контроллерами и другими устройствами ввода-вывода
требуют лицензии, однако если для целей отладки или обучения сконфигурирован режим
«симуляции» для всего сервера, то сервер запускается и работает.
Также компания Schneider Electric предлагает для использования бесплатный демонстрационный
вариант OFS. Эта программа является полнофункциональным сервером, который, будучи
установлен, после каждого запуска работает 72 часа.
Программное обеспечение OFS включает в себя: сервер OPC (то есть OFS); конфигуратор OFS;
менеджер OFS, упрощающий работу с сервером; пример клиентского приложения OFS как
приложение MS Windows; инструмент регистрации OFS – привязка лицензии к компьютеру;
документацию по установке и использованию. Мастер установки создает группу OFS с ярлыками
для запуска указанных компонентов, а также отдельный ярлык для запуска OFS в режиме
«симуляции». Также отметим, что в полнофункциональном варианте OFS и при запуске
демонстрационного варианта имеется возможность «симуляции» не только всего сервера в целом,
но и связи с отдельными контроллерами/устройствами по выбору.
Программное обеспечение OFS взаимодействует с файлами экспорта переменных,
сгенерированными инструментальной программной системой контроллеров Unity Pro и подобным
программным обеспечением для контроллеров компании Schneider Electric других типов. Также оно
52
обеспечивает прямую и динамическую связь с приложениями Unity Pro. Последнее означает, что
если в процессе отладки или наладки системы управления изменено приложение для контроллера
и, соответственно, сохраненный файл с приложением на компьютере (например, изменены адреса
переменных), то OFS «подхватывает» эти изменения, и это не требует переконфигурирования и
перезапуска OFS.
Рис. 3.39. Вид приложения OFS Configuration Tool после запуска и конфигурирования вкладки
Devices | Device overview
Конфигурации для остальных вкладок, расположенных в левом поле главного окна приложения
OFS Configuration Tool, можно использовать по умолчанию и не менять. Обратим лишь внимание
на вкладку OFS Server Settings | Simulation: именно здесь можно отметить режим «симуляции» для
всего OFS (рис. 3.41). В случае, если планируется выполнить физически подключение к
контроллеру для чтения или записи данных, нужно снять отметку в строке Simulator Mode. Если
проводится «симуляция» отдельного устройства (рис.3.39) или всего сервера, то верхним пределом
53
ч
Рис. 3.44. Создание новой группы
В результате работы Мастера установки связи между устройствами Citect SCADA получит
информацию о возможности подключения к устройству-контроллеру с именем PLC_OFS через
OFS, который был сконфигурирован в разделе 3.5.3. Кроме того, будет выполнен импорт
пользовательских и системных тегов (список находится на странице Модель системы | Теги –
рис.3.49). Имена тегов изменены: к именам, определенным нами в упр. 3.8, добавлено в качестве
префикса имя устройства PLC_OFC.
58
Рис. 3.50. Возможность импорта тегов после того, как создано устройство ввода-вывода
Создадим теперь новую графическую станицу в среде приложения Построитель графики Citect с
помощью кнопки Новый на панели инструментов или команды Файл | Новый…. В появившемся
окне Новый следует нажать на кнопку Страница. В результате появится окно
Использовать шаблон, представленное на рис. 3.51.
59
Глава 4. Графика
Графические страницы являются одними из основных компонентов системы Citect SCADA. Они
предназначены для операторов, специалистов по эксплуатации, менеджеров и могут
предусматривать как отображение данных, так и ввод данных. Графическая страница имеет шаблон,
объекты, нарисованные на странице, и присущие графической странице свойства.
При создании проекта новые страницы можно разрабатывать сообразно требуемому стилю. В
основе простейшей страницы лежит шаблон Blank, представляющий собой пустое окно.
Разработчик может добавлять в это окно объекты с разными функциональными возможностями и
разрабатывать новые шаблоны для страниц своего проекта. Для разработчиков, ограниченных
сжатыми сроками проектирования, и лиц, изучающих систему Citect SCADA, существуют
предварительно разработанные шаблоны, которые позволяют быстро создавать страницы c
большим и полезным набором функциональных возможностей.
Как указывалось ранее, включаемый проект Tab_Style_Include является предварительно
сконфигурированным проектом. Он предназначен для сокращения времени, необходимого для
настройки нового проекта, и содержит шаблоны и страницы, выполненные в стиле операционной
системы Windows 7. При создании нового проекта проект Tab_Style _Include автоматически входит
в него как включаемый проект. Это означает, что все шаблоны проекта и его другие средства
доступны для использования при создании графических страниц. Создаваемый с применением этих
шаблонов проект будет иметь стиль дизайна Windows 7. Наряду с шаблонами стандартной графики
для создания технологических графических страниц в проект входят предопределенные страницы
трендов и сигналов тревог (оповещений), страницы для отображения тегов, страницы файлов для
демонстрации текстовых файлов, а также разнообразные всплывающие окна. Все они оснащены
обычными меню и панелями инструментов для навигации, панелями инструментов для навигации
сигналов тревог (оповещений), которые обеспечивают единство функциональных возможностей и
внешнего вида графических страниц в пределах всего проекта (рис. 4.1).
Специализированная строка меню содержит ряд предопределенных меню, каждое их которых
содержит предопределенные команды. На этапе исполнения строка меню может модифицироваться
в соответствии с потребностями конкретного проекта, о чем будет сказано далее.
Панель инструментов навигации содержит навигационные кнопки и кнопки прямого доступа к
основным страницам (трендов, сигналов тревог - оповещений, отображения тегов и др.).
Панель инструментов сигналов тревог обеспечивает доступ к страницам сигналов тревог и
отображает, по крайней мере, три активных страницы сигналов тревог.
В большинстве проектов создаются шаблоны, разработанные для использования с конкретным
объектом управления технологическим процессом.
Создание новой графической страницы возможно несколькими способами. В среде
приложения Citect Studio следует выбрать проект, сделать его активным и перейти к Построителю
графики, нажав на соответствующую кнопку в левой колонке страницы. В среде
Построителя графики Citect нажать иконку Новый на панели инструментов или выполнить
команду Файл | Новый….
Объекты на странице можно рисовать, выбрав объекты из панели инструментов (см. приведенный
ранее рис. 3.17) или из позиции меню Объекты. Действия по рисованию (размещению в
графическом окне) каждого объекта несколько отличаются. Конкретную информацию о том, как
рисовать каждый объект, можно найти в [3], тема
Using Citect SCADA | Defining and Drawing Graphics Pages | Understanding Object Types.
Со в ет
Для изменения размеров графических объектов страницы пользуйтесь маркерами (прямоугольными
метками), появляющимися по контуру объекта после его выбора. Маркеры можно переместить в новую
позицию, используя левую кнопку мыши.
Объектами можно манипулировать с помощью меню Правка, Вид, Текст и Порядок. Как и в
других пакетах для рисования, графические объекты можно вращать, масштабировать и
выравнивать.
62
Параметр Значение
Стиль Tab_style_1
Разрешение XGA
Шаблон normal
Связанный
Предназначено для показа заголовка
Цвет фона Серый (задайте в свойствах страницы)
сконфигурировали набор символов как анимированную картинку, при помощи которой создается
иллюзия движения при условии единичного значением тега Burner_Stat. Снабдите добавленный
набор символов поясняющим текстом Burner – Горелка (см. рис. 4.2), аналогично тому, как это
делалось в упр. 3.4.
Со в ет
Не забудьте снова сохранить страницу — не ждите, пока страница будет полностью создана!
Со в ет
Не забудьте снова сохранить страницу — не ждите, пока страница будет полностью создана!
65
Рис. 4.6. Сохранение растрового изображения с именем burner_off и анимация набора символов
Для выделенного графического объекта вершины можно выбирать по отдельности или группой и
перемещать в другое место, изменяя таким образом форму графического объекта. Для добавления
вершины достаточно выбрать графический объект, установить курсор в требуемое место линии и
нажать клавишу Insert. Для удаления вершины достаточно выбрать графический объект, выбрать
вершину и нажать клавишу Delete.
Со в ет
При записи выражения в поле Выражение массива пользуйтесь Мастером выражений (кнопка его
активизации расположена справа). Это позволит избежать опечаток в записи идентификаторов тегов
или функций (процедур). Сохраните модифицированную страницу Oven, выполните компиляцию и
запустите проект. Зарегистрируйтесь как привилегированный пользователь, откройте страницу Oven,
перейдите на страницу VariableTags, задавайте различные значения тега Oven_Temp и наблюдайте за
изменениями цветов заполнения многоугольника Oven. Завершите работу проекта.
В появившемся диалоге Вставить джинн в поле Библиотека выберите библиотеку controls, в поле
Джинн — Ramp Up…tn2 и нажмите кнопку OK. В следующем диалоге
Genie — Ramp Up Down Button выберите тег переменной Oven_Temp и нажмите кнопку OK
(рис. 4.10). Разместите объект Джинн в графической странице Oven в соответствии с рис. 4.11.
Со в ет
Сохраните модифицированную страницу Oven, выполните компиляцию и запустите проект. С
помощью Genie — Ramp Up Down Button задавайте различные значения тега Oven_Temp и
наблюдайте за изменениями цветов заполнения многоугольника Oven. Убедитесь в наличии
всплывающих подсказок для графических объектов Печь, Столбиковая диаграмма и Джинн.
Завершите работу проекта.
Рис. 4.8. Размещение объекта - столбиковой диаграммы (бар-графа) на графической странице Oven
«Инженерные единицы») задает вывод единиц измерения, в данном случае градусов Цельсия –
строка берется из определения тега (см. упр. 3.6). Выберите вкладку Доступ (Общее) диалога
свойств и введите текст всплывающей подсказки Значение температуры печи. Выберите вкладку
Представление (Общее) диалога свойств и установите желаемый шрифт, цвет, выравнивание,
эффекты или воспользуйтесь значениями, предлагаемыми по умолчанию. Для завершения диалога
нажмите кнопку OK.
Со в ет
Для более удобного отображения числового значения температуры поместите в графическую страницу
прямоугольник с границей черного цвета и белым цветом заполнения, переместите в него графический
объект Число, сгруппируйте их и поместите сгруппированный объект на прежнее место внутрь
многоугольника.
Рис. 4.10. Настройка объекта Джинн — Ramp Up Down Button на графической странице Oven
Рис. 4.11. Размещение объекта Джинн — Ramp Up Down Button на графической странице Oven
72
Задайте в поле Текст начальный отображаемый текст, а в поле Текст: — его цвет (красный) и
нажмите кнопку Применить (рис. 4.15).
Задайте тег, состояние которого нужно отобразить, и текст, соответствующий возможным
состояниям тега. Для этого выберите вкладку Представление (Отображаемое значение)
диалогового окна свойств, настройте ее в соответствии с рис. 4.16 и нажмите кнопку Применить.
Во вкладке Заливка (Цвет) задайте цвета, которыми будет отображаться текст в зависимости от
состояния тега (рис. 4.17) и нажмите кнопку Применить. Во вкладке Ввод (Касание) задайте
переключение тега Burner_Stat при щелчке левой кнопкой мыши по объекту Текст (рис. 4.18). Для
переключения состояния дискретного тега используйте функцию Toggle, которую выбирайте с
помощью Мастера алгебраических выражений и функций. Нажмите кнопку Применить. В поле
73
Подсказка: вкладки Доступ (Общее) задайте текст всплывающей подсказки, которая будет
появляться во время выполнения, если курсор мыши поместить над объектом (рис. 4.19). Для
закрытия диалогового окна нажмите кнопку OK.
Рис. 4.13. Вид вкладки Представление (Отображаемое значение) объекта Число на графической странице
Oven
74
Рис. 4.15. Задание начальных параметров отображаемого текста объекта Текст в графической странице Oven
75
Еще одним способом отображения текста (а также значений тегов) является использование
стандартной функции Prompt (“выводимый текст”). Результат выводится в фиксированном месте
на экране. При использовании включенного проекта Tab_Style_Include все страницы, созданные на
основе шаблона tab_style_1.Normal, отображают строку – результат выполнения функции
Prompt – в левом нижнем углу страницы. Напомним, что пользовательские страницы NewPage и
Oven созданы на основе указанного шаблона.
Для демонстрации возможностей функции Prompt измените текст команды, приведенный на
рис. 4.18, добавив вызов рассматриваемой функции:
Toggle (Burner_Stat);
Prompt ("Знач. Burner_Stat: "+IntToStr(Burner_Stat));
Аргументом функции Prompt является строка, состоящая из постоянной части, заключенной в
кавычки, к которой добавляется с помощью знака «+» строковое представление текущего значения
тега Burner_Stat (использован вызов еще одной стандартной функции IntToStr, преобразующей
целое значение в строку).
Сохраните графическую страницу, выполните компиляцию проекта, запустите проект,
протестируйте сделанные изменения. Не забудьте проверить переключение цвета, текста,
изменение значения дискретного тега, вывод текста в поле слева внизу страницы и появление
всплывающей подсказки для графических объектов страницы Oven. Завершите работу проекта.
Со в ет
Сохраните проект на магнитном диске. Для этого в среде приложения Citect Studio достаточно выбрать
на странице Проекты проект Training3 и выполнить команду Резервное копирование. В
появившемся окне Создание резервной копии проекта следует указать требуемые параметры и
нажать кнопку OK. Проект сохраните под именем Training4. В дальнейшем работайте с проектом
Training4. Для этого достаточно в окне Проекты выполнить команду Восстановление (нажав на
кнопку со стрелкой вниз, расположенную рядом с кнопкой Резервное копирование). В появившемся
окне Восстановить проект следует указать требуемые параметры (новый проект, имя проекта
Training4) и нажать кнопку OK. Сделайте этот проект активным, щелкнув мышкой по строке с его
описанием.
Рис. 4.16. Задание тега и отображаемого текста объекта Текст в графической странице Oven
76
Рис. 4.17. Задание цветов отображаемого текста объекта Текст в графической странице Oven
Рис. 4.18. Задание условия переключения дискретного тега при нажатии объекта Текст в графической
странице Oven
Для задания для клапана трубопровода всплывающей подсказки выберите вкладку Доступ (Общее)
и заполните поле Подсказка: «Щелкните мышкой для изменения значения тега Gas_Valve» и
завершите диалог нажатием кнопки OK. Сохраните графическую страницу, выполните
компиляцию проекта, запустите проект, протестируйте сделанные изменения.
За ме ч а н ие
Вставив символ из библиотеки на графическую страницу, можно перемещать его, изменять его размер
и форму, переносить на передний план, редактировать его свойства точно так же, как и с другими
типами объектов. Символ из библиотеки можно вставить на графическую страницу как непривязанный
(unlinked) или как привязанный (linked) символ. Непривязанный символ, в отличие от привязанного, не
обновляется при изменении символа в библиотеке. Разорвать связь символа с библиотекой можно
командой Правка | Разорвать связь.
Рис. 4.19. Задание текста всплывающей подсказки для объекта Текст на графической странице Oven
При тестировании щелкните левой кнопкой мыши по изображению клапана несколько раз. После
каждого щелчка обратите внимание на изменение цвета изображения клапана и проверьте значение
78
За ме ч а н ие
Рассмотрения других более развитых средств графики Citect SCADA будет продолжено далее в главе 9
после изучения сигналов тревог, трендов, команд и управляющих элементов.
Рис. 4.20. Вид графической страницы Oven после добавления клапана трубопровода
Рис. 4.21. Задание изменения цвета клапана в зависимости от состояния дискретного тега Gas_Valve
графической страницы Oven
79
Рис. 4.23. Задание изменения значения дискретного тега при щелчке по клапану трубопровода
80
За ме ч а н ие
Обратите внимание, что команда Включить (Enable) не доступна на странице активных оповещений
(Active Alarms), а доступна только на странице отключенных оповещений (Disabled Alarms). И
наоборот, команда Заблокировать (Disable) доступна на странице активных оповещений
(Active Alarms) и не доступна на странице отключенных оповещений (Disabled Alarms).
Рис. 5.3. Конфигурирование аналогового оповещения (длинная строка таблицы показана в двух фрагментах)
Рис. 5.4. Конфигурирование цифровых оповещений (длинные строки таблицы разбиты на две
части)
Рис. 5.5. Страница Oven, меню оповещений (вверху) и поле для отображения активных оповещений (внизу)
85
В рамках системы Citect SCADA рассматриваются следующие состояния оповещений. Факт его
возникновения означает, что система зафиксировала такие состояния тегов переменных, которые
сделали сконфигурированное оповещение активным. Если состояния тегов переменных
изменились, оповещение может стать не активным. С другой стороны, человек-оператор может
подтвердить, что он увидел факт возникновения оповещения, даже если оно уже не является
активным. Кроме того, человек-оператор может заблокировать какое-то оповещение или через
какое-то время вновь разрешить отмечать в системе это оповещение.
Во включенном проекте Tab_Style_Include разные состояния оповещений отображаются на
«предустановленных» экранах разным шрифтом (рис. 5.8).
Если оповещение активно и не подтверждено оператором, то используется полужирный желтый
цвет шрифта.
Если оповещение не активно и не подтверждено оператором, то используется обычный желтый цвет
шрифта.
Если оповещение активно и подтверждено, то используется бледно-желтый цвет.
Если оповещение не активно и подтверждено, то используется бледно-синий цвет, причем факт
подтверждения отражается в окне последовательности событий, но строка об оповещении исчезает
со страницы активных оповещений.
Если оповещение заблокировано, то используется яркий голубой шрифт, оповещение удаляется со
страницы активных оповещений, но появляется на странице отключенных оповещений.
86
Со в ет
Сохраните проект на магнитном диске. Для этого в среде приложения Citect Studio достаточно выбрать
на странице Проекты проект Training5 и выполнить команду Резервное копирование. В
появившемся окне Создание резервной копии проекта следует указать требуемые параметры и
нажать кнопку OK. Проект восстановите с именем Training6. Для этого достаточно на странице
Проекты выполнить команду Восстановление. В появившемся окне Восстановить проект следует
указать требуемые параметры (новый проект, имя проекта Training6) и нажать кнопку OK. В
дальнейшем работайте с проектом Training6, сделав его активным.
За ме ч а н ие
Рассмотрение других аспектов сигналов тревог будет продолжено далее в главе 12.
88
Рис. 6.6. Вид графической страницы Oven в результате запуска проекта Training6
93
Совет
Сохраните проект Training6 на магнитном диске. Для этого в среде приложения Citect Studio
достаточно выбрать на странице Проекты этот проект и выполнить команду
Резервное копирование. В появившемся окне Создание резервной копии проекта следует указать
требуемые параметры и нажать кнопку OK. Затем выполните команду Восстановить. В появившемся
окне Восстановить проект следует указать требуемые параметры и нажать кнопку OK (новый
проект, имя проекта Training7). В дальнейшем работайте с проектом Training7.
Когда тренд отображается в окне первый раз, значения отображаются динамически, в режиме
реального времени. Расположение линий графика представляет значения каждого тренд-тега.
График сдвигается вдоль окна тренда при отображении новых значений.
Поскольку все данные тренда записываются на диск, то можно использовать архивный режим для
обратной прокрутки и просмотра прошлых значений. В архивном режиме данные тренда
отображаются статически и отображаются только значения за определенный период. Можно также
прокручивать тренд назад к архивным данным или вперед к данным реального времени. Тренд
позволяет указать конечную дату для отображения архивных данных. Упомянутые возможности
можно реализовать с помощью обширной библиотеки стандартных Cicode-функций по работе с
оповещениями (сигналами тревоги). Наиболее просто эти задачи можно решить с помощью
графического элемента Анализатор технологических процессов Process Alalyst, работа с
которым будет рассмотрена в Главе 8.
Каждый элемент данных тренда, кроме трендов переменных с плавающей точкой, занимает при
хранении два байта. С учетом сказанного можно рассчитать для каждого тренд-тега место, занятое
на магнитном диске за определенный период:
T * N *2
Q 464 * N 176 ( )
P
94
В большинстве случаев разумно создавать копии архивных файлов, например, для последующего
анализа или сохранении достаточного пространства на сервере трендов.
95
В окне диалога выберите вкладку Регулятор (По вертикали), настройте ее в соответствии с рис. 7.3
и нажмите кнопку Применить. Обратите внимание, что в поле При максимуме: указано значение
420, соответствующее высоте в пикселях прямоугольника, отображающего столбиковую
диаграмму. Один из способов определения этого значения состоит в использовании сетки на
редактируемой странице: используя меню Вид | Настройки сетки… можно указать подходящий
шаг по вертикали (рис. 7.4) и оценить нужные размеры. Теперь имеется возможность изменять
значение аналогового тега как с помощью ползункового переключателя, так и с помощью
управляющего элемента Genie — Ramp Up Down Button. Добавьте для ползункового
переключателя всплывающую подсказку (рис. 7.5) и нажмите кнопку OK.
97
За м еч а н ие
Системные клавиатурные команды и клавиатурные команды страницы будут рассмотрены далее.
Любой графический объект страницы может воспринимать ввод с клавиатуры наряду с вводом от
мыши. Для определения клавиатурной команды графического объекта следует воспользоваться его
свойством Ввод (Клавиатурные команды) (рис. 7.8).
Система Citect SCADA не позволяет непосредственно присваивать значение, вводимое с помощью
клавиатуры, пользовательскому тегу. Для этой цели используется служебный тег ArgValue1,
являющийся внутренней переменной, в которой формируется значение, вводимое с помощью
клавиатуры. В процессе формирования выполняется проверка корректности вводимых значений.
Как только оператор нажимает клавишу Enter, введенное в служебный тег ArgValue1 значение
копируется в пользовательский тег. Пример клавишной последовательности: ###ENTER. При этом
в поле команды может стоять оператор A = ArgValue1.
Ввести несколько значений можно с помощью внутренних переменных-тегов Arg1, Arg2, … Arg8.
Пример клавишной последовательности: ###,###ENTER. При этом в поле команды могут стоять
операторы: A = Arg1; B = Arg2. Но при вводе нескольких значений в отличие от предыдущего
100
Рис. 7.9. Объект для клавиатурного ввода значения пользовательского тега Oven_Temp
Рис. 7.10. Конфигурирование графического объекта Текст для клавиатурного ввода значения
пользовательского тега Oven_Temp
102
друга, которое применяется для сравнения процессов. Кнопка Показать/Скрыть точки позволяет
включить или скрыть точечное отображение процесса. Кнопка Показать/Скрыть курсор
позволяет включить или скрыть отображение курсора. Кнопка
Показать/Скрыть курсорные метки позволяет включить или скрыть отображение меток курсора.
Кнопка Отображение списка кривых позволяет скрывать или отображать панель инструментов
объектов. Кнопка Показать свойства открывает окно конфигурирования анализатора процессов.
Кнопка Справка вызывает вывод на экран справки по анализатору процессов.
END
В случае, если в проекте не планируется автоматически восстанавливать сохраненную ранее
конфигурацию Анализатора процессов, не делайте отметку в свойствах страницы, показанную на
рис. 8.2.
a) b)
c) d)
106
e) f)
Рассмотрим более подробно работу с диалоговым окном Добавить кривые. В поле Тип: можно
выбрать тренды или оповещения (сигналы тревог). Кнопка Поиск позволяет выполнить поиск
доступных трендов или сигналов тревог, результаты поиска помещаются в поле
Результаты поиска в виде списка, в котором можно выбрать нужный тренд или сигнал тревоги для
его конфигурирования. В поле Добавить кривые в: можно выбрать панель, в которой будет
отображаться выбранный тренд или оповещение (сигнал тревоги). В поле Тип кривой: можно
выбрать тип пера — аналоговый, цифровой или для оповещения (сигнала тревоги). В поле
Название кривой: можно задать название пера. Кнопка Добавить позволяет перенести выбранные
в поле Результаты поиска элементы в поле Выбранные элементы. С помощью кнопки Справка
можно вызвать справку по Анализатору процессов, а с помощью кнопки OK тренды или сигналы
тревог, представленные списком в окне Выбранные элементы, включаются для отображения в
работающей странице.
В окне Добавление новых кривых (см. приведенный ранее рис. 8.5) нажмите кнопку OK.
Изменяйте значение аналогового тега Oven_Temp, например, с помощью ползункового
переключателя, состояния горелки и вентиля подачи газа и пронаблюдайте поведение
107
Со в ет
Если панели и перья созданы по время работы проекта, то их конфигурация при переключении между
страницами проекта автоматически не сохраняется. Для сохранения конфигурации Анализатора
процессов следует использовать команды Сохранить представление и Загрузить представление –
соответствующие иконки размещены слева в верхней строке окна Анализатора процессов (см. для
примера рис. 8.7).
Сигнал тревоги
не подтвержден
Сигнал тревоги
выключен
Рис. 8.8. Отображение дискретного оповещения Горелка выключена, но клапан включен проекта
Training9 в Анализаторе процессов
Для настройки свойств анализатора процессов во время исполнения следует нажать кнопку
Показать свойства на главной панели инструментов. В результате появится диалоговое окно,
позволяющее конфигурировать свойства Анализатора процессов, представленное на рис. 8.9.
Это окно содержит три вкладки. Вкладка Главная страница позволяет добавлять и
конфигурировать панели отображения и курсоры, удалять панели и курсоры, добавлять и
конфигурировать перья, удалять перья и задавать свойства перечисленных элементов,
используемых по умолчанию. Вкладка Панели инструментов позволяет определять состав кнопок
на главной и навигационной панелях инструментов. Вкладка Список объектов позволяет
конфигурировать состав столбцов в списке объектов.
109
Еще один способ запуска Анализатора процессов состоит в отображении всплывающего окна
Анализатора (иконка показана на рис. 8.10 и на рис. 8.12). После отображения нужной страницы (в
примере на рис. 8.12 это страница Oven) можно выполнить команду Тренды | Всплывающее окно
Process Analyst и провести конфигурирование Анализатора вручную или загрузив сохраненное
представление (см. приведенный ранее рис. 8.11). Всплывающее окно Анализатора процессов
остается на переднем плане и его можно передвинуть в удобное место на экране.
Рис. 9.1. Замена пурпурного цвета на прозрачный в файле, импортированном в графическую страницу
Lighting
В графике используется около 16.7 млн. разных оттенков, и настройка диапазона цветов по одному
является слишком трудоемкой. В этом случае удобно использовать операцию Настроить цвета,
которая дает пользователю возможность выбирать полный диапазон настраиваемых оттенков, а
также изменять яркость и насыщенность избранных оттенков и всего изображения.
Рис. 9.2. Настройка цветов изображения FloorPlan графической страницы Lighting проекта Training9
При использовании изображения в качестве статического фона бывает полезно его заблокировать,
чтобы его невозможно было выбрать в среде приложения Построитель графики Citect. Это
позволит работать с другими графическими объектами поверх фонового изображения, не боясь
случайно выбрать само фоновое изображение.
Рис. 9.3. Настройка цветов изображения FloorPlan графической страницы Lighting проекта Training9
За ме ч а н ие
Для отмены фиксации изображения в качестве фона следует выполнить команду
Правка | Не учитывать фиксацию.
Командой Файл | Сохранить как…сохраните графический объект Джинн. Для этого в окне
Сохранить как нажмите кнопку Новый. В появившемся окне Новая библиотека в поле
Название: укажите Training, нажмите кнопку OK, а в поле Джинн: окна Сохранить как укажите
ValveControl и нажмите кнопку OK (рис. 9.12) Разместите графический объект
Training.ValveContol на графической странице Oven. В окне его свойств поместите Gas_Valve и
нажмите кнопку OK (рис. 9.13). Сохраните графическую страницу Oven, выполните компиляцию,
запустите проект, посмотрите работу графического объекта Genie.ValveContol и завершите работу
проекта.
116
В созданный джинн можно в любое время внести изменения. Если джинн был вставлен на страницы
проекта, то перед изменением джинна убедитесь, что все страницы проекта сохранены. После
внесения изменений сохраните джинн и выполните команду Средства | Обновить страницы,
чтобы обновить все вставленные экземпляры джиннов в проекте.
Как следует из выполненного упражнения, в любом месте джинна текст или имена тегов
переменных могут быть заменены именем подстановки, для которого используется синтаксис
%Имя% (в нашем примере %Valve%). При вставке джинна на графическую страницу
пользователю предлагается заменить в данном экземпляре джинна имя подстановки на имя тега
переменной или текст (в рассмотренном упражнении в качестве такового использован тег
переменной Gas_Valve).
Со в ет
Сохраните проект Training10 на диске. Для этого в среде приложения Citect Studio достаточно выбрать
в окне Проекты этот проект и выполнить команду Резервное копирование. В появившемся окне
Создание резервной копии проекта следует нажать кнопку OK. Восстановите проект с новым
именем. Для этого достаточно выполнить команду Восстановить…. В появившемся окне
Восстановить проект следует указать требуемые параметры (новый проект, имя проекта Training11)
и нажать кнопку OK. В дальнейшем работайте с проектом Training11.
Откройте графическую страницу Oven, разместите на ней графический элемент Кнопка, задайте
его свойства в соответствии с рис. 9.16. При нажатии на кнопку мыши графический объект вызывает
выполнение функции:
AssWin(“!MyPopup”, 200, 200, 2+4+64+128)
Пояснения параметров: AssWin – имя библиотечной функции Cicode, которая приводит к
отображению новое окно, !MyPopUp — имя созданной всплывающей страницы; 200, 200 —
горизонтальная и вертикальная координаты левого верхнего угла всплывающего окна; числа задают
режим отображения окна и объяснение их приведено в п. 23.3.5. Сохраните графическую страницу,
выполните компиляцию, запустите проект и протестируйте работу кнопки Управление задвижкой
на странице Oven. Возможный вид экрана показан на рис. 9.17.
Завершите работу проекта. Сохраните проект под именем Training11, затем восстановите проект
под именем Training12 и в дальнейшем работайте с этим проектом.
119
Рис. 9.16. Свойства кнопки - графического элемента Управление задвижкой на странице Oven
121
Рис. 9.17. Вид страницы Oven после нажатия на кнопку Управление задвижкой
122
Рис. 10.2. Модификация свойств графического объекта Набор образов страницы Oven
За ме ч а н ие
Используйте систему помощи для получения сведений об использованных функциях Cicode.
Для определения категории в среде приложения Citect Studio на странице Проекты выберите
проект, сделайте его активным, выберите на странице Модель системы окно Алармы и перейдите
в колонку таблицы оповещений, имеющее имя Категория.
Рис. 12.1. Конфигурирование устройства для создания архивного файла журнала оповещений (тревог)
Выполните компиляцию и запустите проект. Откройте страницу Oven и убедитесь, что с помощью
обработки событий создаются аналоговые и дискретные тревоги (должны слышаться акустические
сигналы). Посмотрите журнал тревог в файле С:\ProgramData\Schneider Electric\Citect SCADA 2016\
Data\My_Alarm_Log.txt или в файле [DATA]:My_Alarm_Log.txt, если каталог [DATA] имеет
127
Рис. 12.2. Свойства категорий оповещений (сигналов тревог), длинная строка таблицы разбита на две части
Так как проект Training16 выполняется, то для того, чтобы вступили в силу сделанные изменения,
достаточно сохранить таблицу конфигурирования на странице Навигация | Конфигурация меню
и выполнить компиляцию проекта, использовав «горячие клавиши» Alt-F10. После этого нужно
перезапустить клиентское приложение; сделать это можно после запуска Менеджера
исполнительной системы Citect SCADA из программной группы меню Пуск MS Windows так, как
показано на рис. 13.2.
Протестируйте выполненные изменения. Вид системы меню с новыми элементами при исполнении
проекта Training16 показан на рис. 13.3
133
Рис. 13.3. Новые элементы системы меню первого и второго уровня при выполнении проекта
Завершите работу проекта. Архивируйте проект под именем Training16, восстановите проект под
именем Training17 и в дальнейшем работайте с ним.
Фиксированный набор иконок (рис. 13.4) расположен в верхней левой части страниц, созданных на
основе шаблонов в стиле Tab_Style_1. Поясним назначение иконок (слева направо, сверху вниз).
Откройте страницу NewPage и откройте окно с ее свойствами. На вкладке Общее заполните поля
Пред.страница и След.страница так, как показано на рис. 13.6. Тем самым может быть определена
круговая последовательность из трех пользовательских страниц, в которой для каждой страницы
имеется предыдущая и следующая страницы:
NewPage – Oven – Lighting – NewPage и т.д.
135
Рис. 13.6. Заполнение полей Предыдущая страница и Следующая страница для страницы NewPage
Договоримся, что каждая из этих страниц будет иметь родительскую, в качестве которой выберем
страницу MyHome – одну на всех. Для ее определения для страницы NewPage перейдите на вкладку
Окружение в свойствах страницы, нажмите на кнопку Добавить и добавьте свойство,
определяющее родительскую страницу (ParentPage), и значение MyHome. Для этого заполните два
поля появившегося окна так, как показано на рис. 13.7.
Выполните аналогичные действия по образцу рис. 13.6 и рис. 13.7 для страниц Oven и Lighting. Тем
самым для всех трех пользовательских страниц NewPage, Oven и Lighting будут определены
предыдущая, следующая и родительская страницы.
Для того, чтобы определить в проекте Training17 страницу MyHome как домашнюю, необходимо
внести изменения в параметры, находящиеся в файле Citect.ini. Для этого запустите Редактор
136
настройки (выполните команду Проекты | Редактор настройки, см. приведенный ранее рис.
12.6), найдите группу параметров [Page] и для параметра HomePage задайте значение имени
страницы MyHome (рис. 13.8).
Рис. 13.9. Ниспадающее меню, позволяющее создавать и редактировать учетные записи пользователей
Выберите строку Создать пользователя и заполните поля в появившемся окне так, как показано
на рис. 13.10. В качестве пароля используйте пароль USER. Нажмите OK.
За м еч а н ие
В поле Тип на рис. 13.10 можно указать роль пользователя (создавать и редактировать роли можно
только в приложении Citect Studio). В нашем случае такая возможность отсутствует, так как в проекте
Training17 (как и в предшествующих) определена единственная роль Administrators.
Архивируйте проект под именем Training17, восстановите проект под именем Training18 и в
дальнейшем работайте с ним.
Файл формата отчета может содержать различную информацию, в том числе простой текст,
команды форматирования, выражения на языке Cicode и имена тегов переменных.
Простой текст (например, заголовок отчета и пояснения) размещаются в желательном формате.
Выражения на языке Cicode и теги переменных размещаются в фигурных скобках. Если необходимо
включить в отчет фрагмент программы на языке Cicode, то это можно сделать в операторских
скобках {CICODE} … {END}. В фигурных скобках можно разместить и комментарий: {! … }.
Задайте формат отчета в файле в соответствии со следующим текстом:
--------------------------------------------------------------
ОТЧЕТ ПО РАБОТЕ ПЕЧИ: REPORT ON OVEN
--------------------------------------------------------------
{Time(1) } {Date(2) }
{! после двоеточия указан формат вывода числа}
Температура печи Oven_Temp = {Oven_Temp:###.##}
Состояние задвижки Gas_Valve: {Gas_Valve:##}
Состояние горелки Burner_Stat: {Burner_Stat}
{! указывать формат вывода не обязательно}
{FF} {! Form Feed - перевод строки}
В том случае, если необходимо внести изменения в файл формата, то после изменений этого файла,
его сохранением и закрытием текстового редактора, достаточно выполнить компиляцию проекта
(по команде Alt-10) и без перезапуска всего проекта перезагрузить сервер отчетов. Для этого можно
запустить Менеджер исполнительной системы и выполнить перезагрузку сервера (рис. 14.4).
141
Рис. 14.5. Выбор шаблона при создании новой страницы для вывода отчетов
При отображении этой страницы во время работы системы можно использовать кнопку для выбора
нужного файла, который пользователь хочет просмотреть, но в случае, когда такой файл заранее
известен (а это как раз справедливо для вывода файла отчета), имя файла можно указать на этапе
проектирования. Для этого нужно дважды щелкнуть мышкой на любой области открытой страницы
и в появившемся окне, реализующем ввод параметров джинна, ввести имя нужного файла (рис.
14.6). Сохраните страницу с именем show_report_file.
142
Для решения нашей задачи создания и отображения файла отчета добавим новые элементы в
систему меню. В конец таблицы Визуализация | Конфигурация меню добавьте три строки в
соответствии с рис. 14.7. Дополнительно в колонке Порядок поставьте числа 100.
Первая строка Отчеты задает новую позицию меню 1-го уровня и не содержит команд. Две
последующие строки задают меню 2-го уровня. По команде Создать отчет будет вызвана функция
Cicode Report c параметром – названием отчета. По команде Вывести отчет будет выполнен
переход на созданную страницу show_report_file благодаря выполнению функции PageDisplay.
Завершите работу проекта. Архивируйте проект под именем Training19, восстановите проект под
именем Training20 и в дальнейшем работайте с ним.
144
В среде приложения Редактор проектов Citect добавьте еще одно событие. Для этого выполните
команду Нстройка | События и сконфигурируйте событие в соответствии с рис. 15.2.
Скомпилируйте проект. Запустите приложение Мастер установки (Мастер
конфигурирования компьютера) в режиме Индивидуальная установка, включите событие
RunRealTime и выключите событие Temp. Запустите проект и пронаблюдайте за изменением тега
Oven_Temp. Повторите эксперимент, задав большую периодичность события. Обратите внимание
145
За ме ч а н ие
Минимальное значение для периода события составляет одну секунду. Если в упражнении вместо
одного события сконфигурировать два события с разными именами и периодом 1 секунда, но с
одинаковыми остальными параметрами, то пользовательская функция будет вызываться с меньшими
интервалами (примерно вдвое меньше – через половину секунды; если исполнительная система не
будет успевать обрабатывать события, частота выполнения функции будет меньше).
Со в ет
Рекомендуем не назначать блокированным графическим объектам стиль скрытый, чтобы операторы,
забывшие зарегистрироваться с достаточными правами доступа, могли бы, по крайней мере, знать о
существовании этих графических объектов.
Чтобы определить стиль блокировки графического объекта страницы следует выполнить команду
Свойства… его контекстного меню, в появившемся окне Свойства: ИмяОбъекта выбрать окно
свойства Доступ (Запрещен) и выбрать нужный стиль блокировки графического объекта.
Рис. 15.6. Назначение зоны и привилегий графическому объекту-кнопке Задание тега Test=FALSE
Рис. 15.7. Назначение зоны и привилегий графическому объекту Задание тега Test=TRUE
Для создания пользователя в среде приложения Citect Studio на странице Проекты выберите
проект, сделайте его активным, выберите страницу Безопасность и перейдите на вкладку
Пользователи.
Во включенном проекте Tab_Style_Include для привилегированных пользователей-
администраторов предусмотрена возможность добавления пользователей (но не ролей) в процессе
работы системы. Эти действия можно выполнить с помощью меню, появляющегося при нажатии на
правую кнопку мыши на иконки в левом верхнем углу всех страниц, созданных по шаблону
tab_style_1.Normal.
В ячейке Зоны просмотра роли DesignerType ничего не указано, т. к. пользователи с этой ролью
будут иметь глобальные привилегии и, следовательно, автоматически будут имеют доступ ко всем
зонам. Содержимое полей Зоны привилегий 3 и Зоны привилегий 4 коррелировано с уровнями
приоритетов графических страниц и графических объектов зон 1 и 2 (см. приведенные ранее
рис. 15.4 — 15.7).
В ячейках Зона просмотра ролей OperatorType1 и OperatorType2 указаны номера зон, к которым
операторы, имеющие соответствующего роли, имеют доступ. Для удобства имена операторов
определяются именами графических страниц зон 1 и 2. Содержимое полей Зоны привилегий 3 и
Зоны привилегий 4 коррелировано с уровнями приоритетов графических страниц и графических
объектов зон 1 и 2 (см. приведенные ранее рис. 15.4 — 15.7).
Заполнение ячеек Права и Зоны просмотра в каждой строке взаимоисключающее: если заполнена
одна ячейка, то другая пустая.
На странице Пользователи для каждой новой роли создадим по одному пользователю: сделайте
это в соответствии с рис. 15.9. Для упрощения пароли для новых пользователей перед сохранением
таблицы оставим пустыми, после сохранения изменений в колонке Пароль появятся точки.
151
За ме ч а н ие
Привилегии могут назначаться как исключительно (независимо от других привилегий), так и
иерархически (например, привилегия уровня 3 имеет доступ к уровням 3, 2 и 1). Этим управляет
параметр [Privilege]Exclusive (рис.15.10), который по умолчанию имеет значение 1 (не иерархические
привилегии). В случае, если среди параметров отсутствует нужные секция и параметр, которому нужно
152
дать значение, отличное от значения по умолчанию, секцию и параметр следует создать, использовав
кнопку Добавить.
Упражнение 16.1
Познакомьтесь с предопределенными шаблонами включаемых системных проектов Include и
Tab_Style_Include. Для этого перейдите в среду приложения Построитель графики Citect. Для
просмотра очередного шаблона нажмите кнопку Открыть на панели инструментов, в появившемся
окне Открыть выберите вкладку Шаблон, в поле Проект: выберите включаемый проект Include
или Tab_Style_Include, поле Заголовок отметьте, в поле Разрешение выберите по умолчанию, в
полях Стиль: и Шаблон: выберите необходимый шаблон и нажмите кнопку OK. По окончании
просмотра шаблона закройте его окно.
Проект Tab_Style_Include является предварительно сконфигурированным проектом, который
инсталлируется с системой. Он предназначен для сокращения времени, необходимого для
конфигурирования нового проекта, и содержит предопределенные шаблоны и страницы,
выполненные в стиле операционной системы MS Windows 7.
При создании нового проекта проект Tab_Style_Include может автоматически входить в новый
проект как включаемый проект. Это означает, что все шаблоны и другие возможности включаемого
проекта Tab_Style_Include доступны в новом проекте при создании графических страниц. Наряду
с шаблоном Normal стандартной графики для создания технологических графических страниц в
проект Tab_Style_Include включены предопределенные страницы трендов и оповещений, страница
средств администрирования, страницы для представления текстовых файлов, а также
разнообразные всплывающие окна. Все они оснащены меню и панелями инструментов навигации,
выполненными в одном стиле, которые обеспечивают согласованную функциональность и внешний
вид в пределах всего проекта. Включаемый проект поддерживает и мультимониторное
отображение, что позволяет одновременно отображать несколько графических страниц на
нескольких мониторах компьютера.
Командой Файл | Свойства выведите окно свойств шаблона, в поле Цвет фона задайте белый цвет
(рис. 16.4) и нажмите кнопку OK.
Рис. 16.5. Свойства графического объекта Teкст, используемого в строке заголовка созданного шаблона
Рис. 16.6. Свойства кнопки, используемой в строке заголовка созданного шаблона для закрытия окна
работающего проекта
157
Рис. 16.8. Четыре формы для конфигурирования текстового объекта с информацией о пользователе
Рис. 16.9. Фрагмент шаблона _base стиля Tab_Style_1 из включаемого проекта Tab_Style_Include
158
Скопируйте две строки фрагмента, задающие дату и время (см. рис. 16.9), в пользовательский
шаблон MyNormal проекта Training22Tmplt. Импортируйте (Файл | Импорт…) логотип Санкт-
Петербургского политехнического университета из рабочей папки, уменьшите растровое
изображение и расположите графические элементы аналогично оригинальному расположению (см.
рис. 16.9) – в правом нижнем углу.
Сохраните пользовательский шаблон MyNormal.
Левый верхний угол панели инструментов имеет координаты 0 – 75, а размер прямоугольника
1024 х 50). Эти параметры видны в правом нижнем углу окна Построителя графики Citect (рис.
6.11)
Рис. 16.11. Размеры графического объекта Прямоугольник (1024 х 50) и положение его левого верхнего угла
(0, 75), который определяет его точку анимации
Точки вывода анимации AN1 и AN2 расположите в пределах панели инструментов соответственно
в точках с координатами (340, 100) и (510, 100), как это показано на рис. 16.12. С этой целью
откройте шаблон tab_style_1.blank проекта Tab_Style_Include, выполните команду
Средства | Перейти к объекту…, в появившемся окне Перейти к объекту выберите
Точка анимации AN1 и нажмите кнопку OK. В появившемся окне Точка анимации в поле
Координата по Х введите 340, в поле Координата по Y введите 100 и нажмите кнопку OK.
Аналогично задайте координаты для AN2. С помощью кнопки Сохранить на панели инструментов
сохраните измененный шаблон Tab_Style_Include – tab_style_1.blank@-XGA, в появившемся окне
нажмите кнопку OK и закройте окно шаблона. Чтобы точки вывода анимации в шаблоне MyNormal
проекта Training22Tmplt, скрытые под панелью инструментов, стали видны, выберите
прямоугольник панели инструментов и выполните команду Порядок | На задний план. Для
улучшения видимости точек вывода анимации добавьте позади них темные прямоугольники (см.
рис. 16.12). Точка вывода анимации 1 отображает вводимые с клавиатуры символы, а точка вывода
анимации 2 отображает текст-подсказку, выводимую в результате выполнения Citect-функции
Prompt. Пояснения по поводу отображения вводимых с клавиатуры символов и функции
Prompt(“text”) см. в тексте Упражнения 4.11. Добавим, что параметры шрифта для вывода
информации в точки анимации AN1 и AN2 указываются в файле citect.ini. Так, шрифт вывода
подсказки задается в разделе [Font]Prompt. В случае необходимости изменение параметров следует
производить, запуская редактор работы с файлом citect.ini из Построителя графики Citect или
приложения Citect Studio.
Рис. 16.13. Фрагмент шаблона _base стиля Tab_Style_1 из включаемого проекта Tab_Style_Include
160
За ме ч а н ие
Два варианта вывода подсказки Prompt и информации о нажимаемых клавишах включены в шаблон
для решения учебных задач, однако необходимо иметь в виду следующие особенности. Включение в
шаблон точек AN1 и AN2 связано с изменением шаблона blank, входящего в стиль Tab_Style_1. Но это
стиль из системного проекта Tab_Style_Include, который при обновлении системы Citect SCADA
заменяется на исходный системный. Это означает, что при обновлении страниц (при выполнении,
например, команды Средства | Обновить страницы в активном проекте) положение точек анимации
AN1 и AN2 во всех шаблонах, которые основаны на шаблоне blank, входящего в стиль Tab_Style_1,
изменится на исходное. В свою очередь изменится и отображение графических объектов на страницах,
созданных на основе подобных пользовательских шаблонов. Использование функции
DspPromptAndKeyEcho преодолевает указанную проблему обновления версий, хотя выводит
информацию двух видов (подсказку Prompt и информацию о нажимаемых клавишах) в одну строку.
Рис. 16.15. Дополнительная панель объектов, поддерживающая работу с точками вывода анимации
161
Аналогичным образом настройте остальные объекты Cicode и убедитесь, что точки вывода
анимации имеют последовательные номера, которые используются в качестве первого аргумента
в вызове функции AlarmDsp(). Этот номер находится в поле Объект AN на вкладке Доступ
свойств каждого из объектов. Второй и третий аргументы в вызове функции AlarmDsp() означают,
что в данном случае будут отображаться до четырех последних активных сигналов тревог.
Добавьте два набора символов в левый верхний угол панели инструментов, в которую вы ранее
добавили точки вывода анимации AN1 и AN2. Используйте параметры символов, представленные
на рис. 16.18 и 16.19.
За ме ч а н ие
Функции PageAlarm(),PageHardware() и PageSummary() по умолчанию открывают страницы
с именами Alarm, Hardware и Summary, включенные в проект из системного проекта
Tab_Style_Include. Если вы хотите использовать отличающиеся названия для страниц сигналов тревог,
163
то должны ввести собственные названия этих страниц в файл Citect.ini. Установите INI-параметры
[Page] AlarmPage, HardwarePage и SummaryPage в соответствии с названиями ваших страниц.
Сохраните пользовательский шаблон MyNormal. Текущий вид шаблона представлен на рис. 16.20.
Рис. 16.23. Вид пользовательского шаблона MyNormal после включения боковой панели навигации
В заключение протестируйте использование точки вывода анимации AN1. С этой целью нажмите
какую-либо произвольную клавишу компьютера, например, клавишу g, действие которой в проекте
не определено, и пронаблюдайте за информацией, выводимой в области AN1 и AN2. Далее нажмите
клавишу Ctrl+H компьютера, действие которой в проекте определено. В результате произойдет
переход на страницу MyHome.
Завершите работу проекта и сохраните его.
Листинг 16.1
Чтобы раскрыть меню, нажмите кнопку Меню страниц (рис. 16.29). Команда Oven отображается в
нормальном виде и отделена от остальных команд меню сепаратором – горизонтальной линией,
команда NewPage недоступна, а команда Lighting отмечена.
Протестируйте команды меню. Для этого выполните команду Oven меню Меню страниц. Если
пользователь обладает нужными правами доступа, будет выполнен переход на графическую
страницу Oven. Вернитесь на страницу MyPage и попытайтесь выполнить команду NewPage.
Перехода не произойдет, т. к. эта команда недоступна. Выполните команду Lighting, и будет
выполнен переход на графическую страницу Lighting.
170
Использование типа данных в ассоциативном имени не является обязательным, но если тип данных
указан, то параметр подстановки – тег – должен иметь соответствующий тип данных (digital,
int, real, string или другой используемый в системе Citect SCADA тип данных).
За м еч а н ие
Тип строковой переменной указывать обязательно.
Во-вторых, замена ассоциативных имен может быть подготовлена с помощью функции ассоциации
Ass, вызов которой выглядит так:
Ass(-2, ”асс_имя”, ”ИмяТега”, 0)
В случае ассоциативного имени-числа оно указывается без кавычек:
Ass(-2, число, ”ИмяТега”, 0)
После нескольких вызовов функции Ass, задающих сопоставление пар имен, должен быть сделан
вызов функции отображения окна. Имена тегов переменных будут подставлены на место
ассоциативных имен.
Сначала рассмотрим возможность отображения страниц с разными параметрами без использования
особенностей суперджиннов. Такие страницы могут быть «обычными», то есть занимать все
пространство окна, а также могут быть «всплывающими», появляющимися в новом окне
небольшого размера рядом с вызывающей кнопкой или в фиксированном месте экрана.
Определение и передача параметров в этих случаях одинакова. Для примера будем рассматривать
всплывающий вариант.
Настройте размеры. Расположите курсор в правом нижнем углу под графическими объектами
страницы, он будет указывать необходимый размер всплывающей страницы (в строке состояния
внизу экрана будут отображаться координаты курсора относительно верхнего левого угла
страницы — в нашем случае 160, 130, где 160 является шириной, а 130 — высотой окна).
Выполните команду Файл | Свойства, в появившемся окне на вкладке Представление в поле
Ширина: укажите 160, в поле Высота: укажите 130.
Вкладка Сопоставления позволяет задать дополнительные свойства для ассоциативных имен.
Настройте эту вкладку в соответствии с рис. 17.5 (в случае, если ассоциативные имена являются
числами, вкладку Сопоставление можно не заполнять) и нажмите кнопку OK.
173
Рис. 17.2. Свойства графического объекта всплывающего окна для управления горелкой
Рис. 17.3. Свойства графического объекта всплывающего окна для управления краном трубопровода
174
За м еч а н ие
Имена тегов в вызове функции AssWin() указываются в кавычках. Если кавычки опустить, то вместо
имени тега функции будет передано значение тега.
Рис. 17.6. Свойства графического объекта Кнопка для вызова всплывающей страницы с сопоставлением имен
В том случае, если оператор обнаружил, что читаемые значения тега некорректны, например, из-за
неисправного датчика или ошибок коммуникаций, он может решить, что в SCADA-системе следует
использовать принудительно устанавливаемые значения тега – это и есть режим замещения
значений тега (режим Override). В программируемых контроллерах подобный вариант изменения
значений при отладке или эксплуатации системы управления называется форсированием. Режим
замещения значений тега может быть статическим или динамическим, причем в системе
Citect SCADA имеется три варианта статического режима, различающиеся начальным
принудительным значением. В статическом режиме пользователь может устанавливать значение
тега, а в динамическом это делает система (не пользователь). Переменная Tag1.OverrideMode.V
определяет режим замещения для тега Tag1 и может принимать следующие значения:
0 – режим замещения отключен
1 – статический режим замещения, начальным значением тега является значение Tag1.Field.V в
момент включения режима
2 – статический режим замещения, начальным значением тега является значение Tag1.Valid.V в
момент включения режима
3– статический режим замещения, начальным значением тега является последнее значение
замещения, которое было перед предыдущим выходом из режима замещения
178
4 – динамический режим, при котором тег повторяет текущее значение хорошего качества
(Tag1.Valid.V), причем запись значения тега со стороны пользователя запрещена.
Еще одна возможность по управлению изменениями тега связана с управлением записью значений
тега в устройство ввода-вывода: запись со стороны SCADA-системы можно запретить, что является
подчас очень важным при отладке, запуске в эксплуатацию системы управления или внесению
изменений. Этот режим носит название запрета записи значений тега (Control Inhibit). Переменная
Tag1.ControlMode.V имеет значения:
0 – режим запрета записи отключен
1– режим запрета записи включен.
В проекте, созданном на основе системного проекта Tab_Style_Include и стиля Tab_Style_1 имеются
стандартные страницы для задания указанных специальных режимов для каждого тега или группы
тегов. Это может сделать привилегированный пользователь на странице отображения списка тегов
(подобно тому, как можно менять значения тегов – см. упр. 3.7). Ввиду того, что при ненулевом
режиме замещения или ненулевом режиме запрета записи проект в системе Citect SCADA
выполняет предусмотренные при разработке функции с важными особенностями (например,
отображаются не считываемые из устройства ввода значения тега, а значения, установленные
оператором; вводимые оператором значения тега не передаются в устройство вывода), то в системе
предусмотрены следующие дополнительные возможности по информированию оператора о таких
особенностях:
• имеются две стандартные страницы для отображения списка тегов, значения которых
замещаются (Manual Override) и значения которых запрещено записывать (Control
Inhibit);
• графические объекты, которые анимируют теги, находящиеся в рассматриваемых режимах,
отображаются дополнительно специальным образом – выделяются цветом фона,
отмечаются сеткой из точек и т.п.
Характером отображения можно управлять с помощью параметров на странице [Page] файла
Citect.ini. (в настоящем пособии используются стандартные настройки включенного проекта и эти
вопросы не рассматриваются – для настройки, отличной от стандартной, см. справку по системе).
Рис. 17.9. Стандартная страница со списком тегов, находящихся в режиме замещения значений
Рис. 17.10. Отображение графических объектов с сеткой точек в случае специальных режимов тегов
180
Рис. 17.11. Суперджинн !SG_mytag для отображения расширенных свойств тега, который заменит
ассоциативное имя ?mytag?
Все графические объекты являются текстовыми (за исключением иконки внизу окна для выхода).
Следующие текстовые поля приведены для пояснений других полей и не имеют анимации:
Значение, полученное из устройства В/В
во время
Последнее значение хорошего качества
Значение замещения
Три текствых поля «###.#» имеют отображаемые значения и всплывающие подсказки,
соответственно:
?mytag?.Field.V и Прочитанное значение тега ?mytag?
?mytag?.Valid.V и Значение хорошего качества тега ?mytag?
181
Укажите также свойства страницы (измените ее размеры и заполните строку для сопоставления
имен) в соответствии с рис. 17.15.
Не забудьте точку анимации джинна переместить в левый верхний угол кнопки, как показано на
приведенном выше рис. 17.17. Выполните также действие по присоединению используемого
суперджинна !SG_mytag к джинну. Для этого выполните команду
Правка | Присоединить суперджинны (рис. 17.19). В появившемся окне нажмите кнопку
Добавить, выберите суперджинн !SG_mytag в библиотеке Training и нажмите OK и еще раз OK
для закрытия окна присоединения. Сохраните джинн под именем MySG_TagQuality в библиотеке
Training.
Рис. 17.21. Использование суперджинна !SG_mytag в трех экземплярах джинна MySG_TagQuality в процессе
исполнения проекта на странице Oven
Важно иметь в виду, что поведение объекта ActiveX в значительной мере определяется свойствами
самого объекта. Функциональность, надежность и пригодность объекта к использованию с
Citect SCADA будут зависеть от способа создания этого объекта разработчиком. Также надо иметь
в виду, что возможность использования конкретного объекта ActiveX зависит от его установки на
компьютере, поэтому на разных компьютерах могут быть доступны для использования разные
наборы объектов ActiveX.
Объект ActiveX включается в проект Citect SCADA с помощью Построителя графики Citect.
Воспользовавшись кнопкой ActiveX палитры графических объектов можно выбирать объекты
ActiveX для использования в своих графических страницах. Это действие похоже на вставку
обычных графических объектов: как и другие графические объекты, их можно перемещать,
копировать и изменять их размеры.
В системе Citect SCADA многие важные и полезные свойства обеспечиваются с помощью объектов
ActiveX, входящих в систему стандартным образом. Например, анализатор технологических
процессов Process Analyst, работе с которым посвящена Глава 8, реализован в системе как объект
ActiveX. Также такими объектами являются графический управляющий элемент обмена
информацией с базами данных, планировщик для создания расписаний, управляющий элемент Vijeo
Web Gate.
Решим задачу использования объекта ActiveX на графической странице рассматриваемого проекта
Training21SuperGenie1.
Рис. 17.22. Выбор управляющего элемента ActiveX для вставки на страницу Oven
Изучите свойства графического объекта, которые будут выведены в открывшемся окне. Обратите
внимание на вкладки Представление (General), Представление (Привязка тегов) и
Представление (Configure). Заполните поля этих вкладок в соответствии с рис. 17.23. Закройте
окно свойств и разместите графический объект на странице Oven, например, так, как показано на
рис. 17.24.
Для работы с объектами ActiveX язык Cicode имеет ряд функций, описание которых содержится в
справке по функциям языка Cicode. Пример использования некоторых из этих функций рассмотрен
ранее в разд. 8.1.
187
Служебное слово
(прописные Диапазон
Тип данного (формат)
символы, выделение значений
синим цветом)
Со в ет
1.Если необходимо определить тип данных DIGITAL, используемый в тегах переменных, то можно
для этого использовать тип INT (при этом TRUE экв. 1, а FALSE экв 0).
2.Cicode хранит числа с плавающей точкой как 64-битовые числа для уменьшения ошибок округления
при выполнении вычислений с плавающей точкой. При сравнении значений типа данных REAL
рекомендуется использовать функцию округления Round() перед выполнением сравнения.
Префикс
Тип идентификатора Область применения переменной
переменной
За ме ч а н ие
Для переменных с областью действия GLOBAL и MODULE перед префиксами, указанными в
табл. 18.2, рекомендуется использовать соответственно префиксы g и m.
Со в ет
Обратите внимание на ступенчатую запись, оформление комментариев и цветовые выделения в ИСР.
В примере, приведенном на рис. 18.4, определение одномерного массива строк gsArray1 совмещено
с инициализацией его элементов. При этом элементы массива получают следующие значения:
gsArray1[ 0 ] = "This"
gsArray1[ 1 ] = "is"
gsArray1[ 2 ] = "a"
gsArray1[ 3 ] = "String"
gsArray1[ 4 ] = "Array"
Примеры определения двумерного и трехмерного массивов с инициализацией его элементов
иллюстрирует рис. 18.5. Двумерные массивы (матрицы) располагаются в памяти построчно и в
таком же порядке инициализируются. Аналогичным образом выполняется и обработка трехмерных
массивов.
Константы можно записывать также в виде именованных констант. В этом случае идентификатор
константы должен иметь префикс c, а константа определена и инициализирована в начале файла
Cicode:
MODULE REAL cmrPI = 3.14; ! Именованная константа
! Именованная константа
GLOBAL STRING cgsProjectName = "Generic";
FUNCTION
tst( )
Message( "cmrPI", cmrPI, 0 );
Message( "cgsProjectName", cgsProjectName, 0 );
END
За ме ч а н ие
К сожалению, приходится констатировать, что в языке Cicode разрешено изменять значения
именованных констант. (Однако, очевидно, такие действия определяются желанием автора проекта.)
196
Обозначение Назначение
+ Сложение
- Вычитание
* Умножение
/ Деление
MOD Получение остатка от деления целого на целое
Операцию сложения можно использовать также для конкатенации двух строк (приписывания к
первой строке второй строки). Примеры использования арифметических операций иллюстрирует
рис. 19.1. Обратите внимание на возможность использования в Cicode-программе комментариев в
стиле языка C++.
Обозначение Назначение
Обозначение Назначение
= Проверка на равенство
<> Проверка на неравенство
< Проверка на "меньше"
> Проверка на "больше"
<= Проверка на "меньше или равно"
>= Проверка на "больше или равно "
Обозначение Назначение
Обозначение Назначение
Операторы языка Cicode можно разделить на три группы — операторы присваивания, операторы
ветвлений (условный IF … THEN и переключатель SELECT CASE) и циклические операторы
(FOR … DO и WHILE … DO). Этого достаточно для программирования любых алгоритмов.
Со в ет
Обратите внимание на смысл аргументов в вызове функции RealToStr и средства форматирования
результирующей строки при автоматическом преобразовании (см. приведенный ранее рис. 19.7).
Со в ет
Внимательно изучите приведенные примеры — это очень полезно.
201
Обозначение Назначение
^b Возврат - backspace
^f Подача страницы - form feed
^n Новая строка - new line
^t Горизотальная табуляци - horizontal tab
^v Вертикальная табуляция - vertical tab
^' Одиночная кавычка - single quote
^" Двойные кавычки - double quote
^^ Символ «крышечка» - Caret
^r Возврат каретки - carriage return
^0xhh Шсстнадцатиричный код hh (например, ^0x1A)
202
Со в ет
Если внешний оператор IF в гнезде условных операторов записан в полной форме, то вложенный
оператор IF помещайте в ветвь ELSE. В этом случае код получается более понятным и его проще
сопровождать. Обратите внимание на ступенчатую запись условных операторов IF и их построчное
расположение.
19.3.2. Переключатель
Переключатель выполняет одну из групп операторов в зависимости от значения проверяемого
выражения. Переключатель является более эффективным способом записи кода по сравнению с
гнездом операторов IF и его использование предпочтительнее. Переключатель можно использовать
всегда, когда проверяемое выражение единственное. В отличие от других языков
программирования проверяемое выражение может быть любого типа, кроме типа OBJECT.
END
В частном случае, когда начальное значение Проверяемогоcвыражения нулевое (то есть ложное),
тело цикла не будет выполнено ни разу. В процессе работы выполнение тела цикла будет
повторяться до тех пор, пока значение Проверяемого_выражения не станет нулевым.
Пример использования цикла WHILE … DO приведен на рис. 19.16. Нетрудно заметить, что для
приведенного примера использование цикла FOR … DO предпочтительнее. Однако, когда заранее
неизвестно количество повторений тела цикла, применение цикла WHILE … DO является
единственной возможностью.
что и тип параметра. Это значение будет использовано, если в вызове функции не будет указан
соответствующий аргумент. Параметры с умалчиваемыми значениями должны располагаться в
конце списка параметров.
RETURN Возвращаемое_значение; — необязательный оператор в определении функции. Но он
должен обязательно присутствовать, если функция имеет возвращаемое значение. В качестве
Возвращаемого_значения можно использовать константу, переменную или выражение, тип
которого должен совпадать с типом значения, возвращаемого функцией. После
Возвращаемого_значения должна следовать точка с запятой.
Оператор; — каждый оператор должен размещаться в отдельной строке.
END — обязательный элемент определения функции, отмечающий конец функции. Должен
размещаться в отдельной строке. Является служебным словом, после которого не должно быть
точки с запятой.
На рис. 19.16, приведенном ранее, дан пример определения функции без возвращаемого значения с
областью действия PUBLIC по умолчанию, а на рис. 20.1 приведен более подробный набор и других
примеров определения функций.
В качестве Переменной можно использовать переменную, элемент массива или тег переменной,
причем их тип должен совпадать с типом значения, возвращаемого функцией. Все сказанное ранее
относительно Списка_аргументов справедливо и в данном случае. Если возвращаемое значение
не нужно, то вызов функции можно выполнять не с помощью оператора присваивания, а с помощью
имени с аргументами, как вызов процедуры. В качестве примера см. вызовы функций PrivFunRet
в примерах, приведенных ранее на рис. 20.1.
208
FUNCTIONS: PUBLIC
<list of the PUBLIC functions contained
in this file> - список функций PUBLIC, входящих в файд
PRIVATE
<list of the PRIVATE functions contained
in this file> - список функций PRIVATE, входящих в файл
*/
За ме ч а н ие
Имейте в виду, что каждая глобальная константа или глобальная переменная должна определяться
только в одном экземпляре в одном из файлов в соответствующей секции. Не забывайте
инициализировать глобальные и модульные переменные при их определении.
FUNCTIONS: PUBLIC
OpenRecipeDatabase
CloseRecipeDatabase
ReadRecipeData
WriteRecipeData
GatherRecipeData
RecipeForm
OpenRecipeDatabase
PRIVATE
ButtonCallback
*/
NOTES: примечания
*/
Порядок следования определений функций в соответствующей секции файла является значимым.
Определения функций инициализации и закрытия должны помещаться в начале секции.
Определения функций обработки команд должны следовать за ними, а определения локальных
сервисных функций должны размещаться в конце файла.
Приведем пример оформления заголовка и определения функции:
/*
FUNCTION : OpenRecipeDatabase
ARGUMENTS:
STRING sName Name of the recipe database
INT dwMode Mode to open the recipe database (0 for
read only, 1 for read/write)
NOTES:
*/
FUNCTION
OpenRecipeDatabase( STRING sName, INT dwMode)
...
END
211
Так, переключение строки состояния выполняется командой Вид | Строка состояния. Если ни
одна из панелей инструментов не отображается, то для конфигурирования панелей инструментов и
окон следует выполнить команду Отладка | Настройки… или активизировать акселератор Ctrl+T.
В появившемся диалоге Настройки… выбрать вкладку Окна и панели, установить флажки для тех
панелей инструментов и окон, которые требуется сделать видимыми и нажать кнопку OK
(рис. 22.3).
Панель Панель Строка
инструментов инстументов меню
Строка
Файл Citect
заголовка
Панель
Формат инструментов
Панель Правка
инструментов
инструментов
Формат
Вид Панель
инструментов
Панель Панель Отладка
инструментов инструментов
Закладки Настраиваемый
Окно
Файлы
Окно
редактирования
Окно точек
останова
Окно
вывода
Окно с
ошибками
компиляции Строка
состояния
Окно глобальных переменных. Это окно используется для отображения списка значений глобальных
и модульных переменных. Глобальная или модульная переменная добавляется в список только при
включенном режиме отладки после первого присвоения ей значения (рис. 22.18). При последующем
изменении значения глобальной переменной новое значение также обновляется в соответствующей
строке списка.
220
Окно стека. Это окно используется для отображения списка значений из стека для текущего потока.
Стек содержит вызовы функций с указанием значений их аргументов, значения всех переменных,
используемых в функциях и возвращаемые функциями значения (рис. 22.19). Окно стека
показывается и обновляется только при включенном режиме отладки (построчная трассировка).
Окно потоков. Это окно имеет вид, представленный на рис. 22.20. Окно потоков показывается и
обновляется только при включенном режиме отладки. Окно имеет следующие столбцы. Столбец
Name отображает имя потока — имя функции, запустившей поток (эта функция может быть
вызвана, например, из функции TaskNew( )). Если вы Щелкните левой кнопкой мыши по имени
потока, то переведете фокус отладчика на этот поток и отладчик отобразит источник этого потока.
За м еч а н ие
Если поток не был запущен из функции TaskNew( ), то имя в столбце Name отобразится как
Command.
Окно с ошибками компиляции. Это окно имеет вид, представленный ранее на рис. 22.9. Окно
отображает список ошибок, выявленных в процессе компиляции. Если щелкнуть два раза левой
кнопкой мыши по строке списка ошибок, то в окне редактирования отобразится файл, содержащий
ошибку, в котором будет выделена ошибочная строка.
Окно файлов. Это окно имеет вид, представленный ранее на рис. 22.2, и содержит три вкладки.
Вкладка Все проекты отображает иерархическое дерево всех проектов и их Cicode- и VBA-файлов.
Вкладка Открыть проект отображает иерархическое дерево текущего выбранного проекта и всех
включенных проектов. Вкладка Открытые файлы отображает названия всех файлов, открытых в
настоящее время для редактирования. Щелчок по любому из этих файлов приведет к его загрузке в
окно редактирования и сделает его активным.
Рис. 23.1. Пример определения команды языка Cicode графического объекта Набор образов
Каждое выражение или оператор команды обычно выполняет отдельную задачу, например,
присваивает переменной значения, вычисляет значения или отображает сообщения на экране. Если
нужно оценить состояние производственного процесса вместо управления им, в поле Команда
следует записать соответствующее выражение или его частную разновидность, например,
переменную. Можно задать значение переменной в поле Команда, в поле Выражение или в
вызываемой функции Cicode путем использования оператора присваивания:
<VAR_TAG> = Value;
Здесь <VAR_TAG> является именем переменной, которой присваивается новое значение, а Value
задает новое значение.
За ме ч а н ие
В качестве Value можно использовать не только константу, но и переменную или выражение.
В поле Команда графического объекта можно задавать не один, а несколько операторов, например,
так, как это показано на рис. 23.2.
Рис. 23.2. Пример задания нескольких операторов в поле Команда (кнопка tst*(), графическая страница
Debug проекта CicodeDebug)
225
В приведенном примере в поле Вверх команда использованы три оператора, разделенные точкой с
запятой. Операторы представляют собой операторы присваивания тегам переменных требуемых
значений. В процессе работы проекта CicodeDebug при нажатии кнопки tst*(), расположенной на
графической странице Debug, последовательно выполняются указанные в поле Вверх команда
операторы присваивания.
За ме ч а н ие
Обязательно разделяйте операторы Cicode-команды точкой с запятой. При невыполнении этого
требования нельзя правильно обнаружить конец оператора, что приведет к ошибке компиляции. После
последнего оператора точку с запятой можно опускать.
Число операторов, которые можно ввести в поле Команда, ограничено только размерами этого поля
(71 строка и 207 символов в строке; в одной строке можно располагать любое число операторов, что
определяется длиной строки). Однако для наглядности не следует использовать слишком много
операторов (в соответствии с "правилом семи" не используйте более семи операторов). Для
выполнения этого требования, при необходимости, оформляйте эти операторы в виде функции
(функций) и в поле Команда помещайте только вызов функции (функций). Другой возможностью
является использование включаемых файлов, содержащих необходимые операторы, о чем будет
сказано далее.
Как указывалось ранее, количество операторов и выражений, которые можно ввести в поле
Команда или Выражение, ограничивается перечисленными в предыдущем абзаце размерами поля.
Если размеры поля недостаточны, то можно использовать включаемый файл с расширением .cii
и поместить в него выражения и операторы Cicode-команды. Включаемый файл представляет собой
обычный текстовый ASCII-файл, который можно создать с помощью текстового редактора,
встроенного в ИСР Cicode-программ. Как и файлы с расширением .ci, включаемые файлы хранятся
в папке проекта и сохраняются при сохранении проекта.
За ме ч а н ие
Следует отметить, что во включаемый файл нельзя помещать вызовы функций. При использовании в
поле Команда включаемого файла нельзя одновременно в это поле помещать вызовы функций. Вместе
с тем, при отсутствии включаемого файла в поле Команда можно одновременно помещать вызовы
функций, выражения и операторы. Не путайте включаемые файлы и включаемые проекты — это
совершенно разные вещи.
Здесь filename задает имя файла с расширением .cii по правилам DOS, а использование угловых
скобок является обязательным.
Пример использования включаемого файла при задании свойств графического объекта
иллюстрируют рис. 23.3 и 23.4.
Рис. 23.3. Пример использования включаемого файла в поле Команда (кнопка tst*(), графическая страница
Debug проекта CicodeDebug)
времени между двумя вызовами функции. Более подробные сведения о функции см. в [3], ключевое
слово для поиска SysTime.
16 — отсутствие заголовка. Окно отображается с тонкой рамкой, без заголовка и без иконок
"Максимизировать/минимизировать" и системного меню. Нельзя изменять размер окна.
32 — разрешено эхо. В этом случае весь ввод с клавиатуры, подсказки, сообщения об ошибках
отображаются в родительском окне. Этот режим следует использовать при работе с дочерними
окнами (режимы 1 и 2).
64 — всегда на переднем плане (всплывающее окно).
128 — открыть уникальное окно. Этот режим предотвращает открытие окна два или более раз.
256 — открыть окно целиком. Этот режим обеспечивает такое отображение, когда ни одна часть
окна не выходит за пределы экрана.
512 — открыть уникальное окно. Этот режим предотвращает открытие окна одновременно два
или более раз, но то же окно, связанное с другим содержимым, может быть открыто.
1024 — запрет динамического изменения размера окна. Имеет более высокий приоритет по
сравнению с параметром [Page]DynamicSizing;
sTag1..8 — первые восемь физических тегов для связывания с Super Genie.
См. пример проекта Training21SuperGenie1, графическая страница Oven. Более подробные
сведения о функции см. в [3], ключевое слово для поиска AssWin.
Функция DspPopupMenu( ) позволяет создавать всплывающие пользовательские меню, которые
могут содержать подменю и команды. Пример использования этой функции рассмотрен ранее в
главе 16, проект Training22Tmplt, графическая страница MyPage.
Категория Назначение
Категория Назначение
Format Functions (11 функций) Операции конвертирования данных
FTP Functions (5 функций) Мониторинг FTP коммуникаций и файлов
FuzzyTech Functions (7 функций) Поддержка управления с нечеткой логикой
Group Functions (10 функций) Управление группами областей, категориями
сигналов тревог и т.п.
I/O Device Functions (4 функций) Операции с устройствами ввода/вывода
Keyboard Functions (17 функций) Операции с клавиатурой
Mail Functions (5 функций) Операции с использованием почты
Math/Trigonometry Functions Математические и тригонометрические функции
(25 функций)
Menu Functions (19 функций) Действия по работе с древовидным меню
Miscellaneous Functions (53 функции) Прочие функции
.Net Functions (6 функций) Действия по доступу к веб-сервисам с
использованием .net-объектов
Page Functions (43 функций) Операции с графическими страницами
Plot Functions (12 функций) Операции с графиками и диаграммами
Process Analyst Functions (5 функций) Действия, относящиеся к Анализатору
технологических процессов
Quality Functions (10 функций) Действия по организации работы с типом данных
QUALITY
Report Functions (4 функции) Операции с отчетами
Scheduler Functions (38 функций) Действия, относящиеся к Планировщику Citect
Security Functions (25 функции) Операции с пользователями и их правами
Sequence of Events (SOE) Functions Действия, относящиеся к SOE
(4 функции)
Server Functions (14 функций) Действия по работе с серверами Citect и доступом к
ним клиентов
SPC Functions (12 функций) Обработка статистики процессов управления
SQL Functions (37 функций) Операции с SQL-базами данных
String Functions (32 функции) Операции со строками
Super Genie Functions (21 функция) Операции с Super Genie
Task Functions (35 функции) Управление задачами
Table (Array) Functions (3 функции) Получение максимума, минимума, математического
ожидания или отклонения для значений элементов
таблицы или массива
Tag Functions (41 функций) Управление тегами
Time/Date Functions (22 функции) Получение значения даты или времени
Timestamp Functions (12 функций) Действия по работе с типом данных TIMESTAMP
Trend Functions (84 функций) Операции с трендами
Window Functions (32 функции) Управление отображением окон
Более подробные сведения об отдельных категориях стандартных функций и их составе см. в [3],
тема Cicode Reference | Cicode Programming Reference | Cicode
235
Литература
1. Давыдов В.Г. Система супервизорного управления Vijeo Citect. Базовый курс: Учеб. пособие.
Санкт-Петербургский государственный политехнический университет. Компания Schneider
Electric// Изд.СПбГПУ. 2009. - 208 с.
2. Citect SCADA 2016. Installation and Configuration Guide. November 2016. – 88p. (англ.яз.)
3. Файл Citect SCADA.chm (Citect SCADA Help, встроенная справка, англ.яз.)
4. OPC Factory Server V3.60. User Manual. 35008244.11. Schneider Electric. 2015. – 410p. (англ.яз.)
5. Vijeo Citect. Технический обзор. Высокоэффективное решение для диспетчерского управления
и сбора данных. Schneider Electric. 2015. – 67c.
6. Руководство по решениям в автоматизации. Практические аспекты систем управления
технологическими процессами. // Перевод с англ. под редакцией Ю.А.Фролова и
В.Н.Хохловского. –Schneider Electric. MKP-CAT-AUGUIDE-11. 2011. – 320c.
236
Предметный указатель
Citect SCADA панель инструментов навигации графической
SCADA-система, система супервизорного страницы, 61
управления и сбора данных, 9 панель инструментов сигналов тревог
Citect Studio графической страницы, 61
интегрированная среда разработки Citect- периодические тренды, 88
приложений, 12 Построитель графики Citect, 13
OFS (OPC Factory Server), 49 привилегии, 45
OPC (OLE for Process Control), 49 проекты OvenTraining, 9
Process Analyst просмотр и редактирование тегов в процессе
аналоговые перья, 108 исполнения проекта, 44
главная панель инструментов, 102 расширенные оповещения (Advanced Alarms), 80
навигационная панель инструментов, 103 Редактор Cicode, 13
панель инструментов объектов, 103 рисование объекта на странице, 61
перья сигналов тревог, 108 система меню, 131
цифровые перья, 108 смешанные тренды, 88
аналоговые оповещения (Analog Alarms), 80 событийные тренды, 88
аппаратные оповещения (сигналы тревог), 80 создание нового проекта, 14
включаемый проект Tab_Style_Include, 16 создание новой графической страницы, 29, 61
всплывающая графическая страница, 117, 172 сопоставление имен (association), 171
графические страницы, 61 специализированная строка меню графической
графический объект Кнопка, 30 страницы, 61
графический объект Текст, 33 структурированные имена тегов переменных, 37
демонстрационный режим, 11 суперджинн (supergenie), 171, 180
джинн (genie), 114 теги (дескрипторы) переменных, 28
добавление нового сигнала тревоги, 81 требования к аппаратуре и программному
ИСР обеспечению компьютера, 9
Интегрированная среда разработки и отладки управление проектами, 14
Cicode-программ, 212 цифровые оповещения (Digital Alarms), 80
кластеризация, 18 Язык Cicode
ключ аппаратной защиты, 11 ИСР, окно просмотра вывода, 219
команды ввода с помощью клавиатуры ИСР, окно просмотра глобальных переменных,
(клавиатурные команды), 98 220
конфигурируемые оповещения (сигналы тревог), ИСР, окно просмотра ошибок компиляции, 222
80 ИСР, окно просмотра потоков, 221
критическое обновление программного ИСР, окно просмотра стека, 221
обеспечения, 11 ИСР, окно просмотра точек останова, 219
лицензирование, 11 ИСР, окно просмотра файлов, 222
манипуляции с объектами графической страницы, ИСР, панель инструментов Citect, 218
61 ИСР, панель инструментов Вид, 219
мастер конфигурирования компьютера, 20 ИСР, панель инструментов Закладки, 219
мастер экспресс-настройки параметров связи, 25 ИСР, панель инструментов Отладка, 219
оповещения с отметкой времени ИСР, панель инструментов Правка, 218
(Time Stamped Alarms), 80 ИСР, панель инструментов Файл, 218
определение клавиатурной команды ИСР, панель инструментов Формат, 219
графического объекта, 99 программа проекта, 190
определение клавиатурной команды страницы, 99 технология модульного программирования, 206
определение системной клавиши или
клавиатурной комбинации, 98
237