Вы находитесь на странице: 1из 238

1

Федеральное государственное автономное образовательное


учреждение высшего образования «Санкт-Петербургский
политехнический университет Петра Великого»
————————
АО "Шнейдер Электрик"

В.Г. Давыдов, В.Н. Хохловский

Система супервизорного
управления Citect SCADA.
Базовый курс и язык Cicode
Учебное пособие

Санкт-Петербург
2017
2

Эта страница намеренно оставлена пустой


3

Содержание
Предисловие .................................................................................................................... 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

4.4. Отображение числовых значений во время выполнения проекта ............................................ 69


Упражнение 4.10. Отображение числовых значений .................................................................... 69
4.5. Отображение текста во время выполнения проекта ................................................................... 72
Упражнение 4.11. Отображение текста и его анимация. Проект Training4 ................................ 72
Упражнение 4.12. Анимация клапана трубопровода. Проект Training5 ..................................... 76
Глава 5. Оповещения - сигналы тревоги (Alarms)..................................................... 80
5.1. Конфигурирование сигналов тревог ............................................................................................ 81
Упражнение 5.1. Добавление сигналов тревог .............................................................................. 81
5.2. Отображение оповещений (сигналов тревог) ............................................................................. 81
Упражнение 5.2. Просмотр оповещений. Проект Training6 ......................................................... 81
Глава 6. Графики тегов — тренды (Trends) ............................................................... 88
6.1. Конфигурирование тренд-тегов ................................................................................................... 88
Упражнение 6.1. Создание и конфигурирование тренд-тега........................................................ 89
6.2. Отображение трендов.................................................................................................................... 90
Упражнение 6.2. Создание, конфигурирование и отображение тренд-тега на обычной
графической странице ...................................................................................................................... 90
Глава 7. Команды и средства управления (Commands and Controls)....................... 95
7.1. Ползунковый переключатель (Slider) .......................................................................................... 95
Упражнение 7.1. Создание и тестирование ползункового переключателя ................................. 95
7.2. Команды ввода с помощью мыши (Touch commands) ............................................................... 98
7.3. Команды ввода с помощью клавиатуры (Keyboard commands) ................................................ 98
Упражнение 7.2. Ввод с клавиатуры для графического объекта. Проект Training8 ................ 100
Глава 8. Расширенная графика. Анализатор технологических процессов
(Process Analyst) .......................................................................................................... 102
8.1. Общие сведения об анализаторе процессов .............................................................................. 102
Упражнение 8.1. Добавление анализатора процессов на графическую страницу .................... 104
8.2. Свойства анализатора процессов. Отображение трендов и сигналов тревог ......................... 104
Упражнение 8.2. Настройка анализатора процессов при конструировании и выполнении.
Отображение трендов, аналоговых и дискретных оповещений. Проект Training9 .................. 105
8.3. Типы перьев Анализатора процессов и настройка свойств Анализатора процессов в период
исполнения. Мгновенные тренды ..................................................................................................... 108
Глава 9. Дополнительные черты графики. Изображения, джинны (genie) и
всплывающие страницы............................................................................................. 112
9.1. Графическая страница. Импорт графики, настройка цветов и использование графических
изображений в качестве фона ............................................................................................................ 112
Упражнение 9.1. Импорт графики и замена цвета ...................................................................... 112
Упражнение 9.2. Осветление синих оттенков и замена зеленых оттенков ............................... 113
Упражнение 9.3. Изображение как фон графической страницы. Проект Training10 ............... 113
9.2. Джинны (Genies) .......................................................................................................................... 114
Упражнение 9.4. Создание пользовательского джинна для управления задвижкой подачи газа
.......................................................................................................................................................... 115
Упражнение 9.5. Просмотр свойств джинна на графической странице. Проект Training11 ... 117
9.3. Всплывающие окна ..................................................................................................................... 117
Упражнение 9.6. Создание всплывающего окна (Popup Window). Проект Training12 ............ 118
Глава 10. Устройства. Конфигурирование устройства для регистрации действий
оператора ..................................................................................................................... 122
Упражнение 10.1. Конфигурирование и использование устройства для регистрации команд
оператора. Проект Training13 ........................................................................................................ 122
Глава 11. События. Определение и обработка событий ......................................... 124
Упражнение 11.1. Определение и разрешение событий. Проект Training14 ............................ 124
Глава 12. Оповещения: категории, группы и звуковое оформление ..................... 126
Упражнение 12.1. Категории сигналов тревог. Проект Training15 ............................................ 126
Упражнение 12.2. Звуковое оформление сигналов тревог. Проект Training16 ........................ 129
Глава 13. Система навигации .................................................................................... 131
Упражнение 13.1. Конфигурирование меню. Проект Training17............................................... 131
Упражнение 13.2. Использование набора иконок в стиле Tab_Style_1. Проект Training18 .... 133
Упражнение 13.3. Клавишные команды системного уровня. Проект Training19 ..................... 138
Глава 14. Отчеты: определение, создание и просмотр ........................................... 139
5

Упражнение 14.1. Определение (конфигурирование) отчета ..................................................... 139


Упражнение 14.2. Создание и просмотр отчетов. Отображение текстового файла. Проект
Training20 ........................................................................................................................................ 140
Глава 15. Дополнительные возможности работы с событиями. Ограничение прав
доступа ......................................................................................................................... 144
15.1. Выполнение процессов в реальном масштабе времени ......................................................... 144
Упражнение 15.1. Выполнение Cicode-функции пользователя. Проект Training21 ................ 144
Упражнение 15.2. Выполнение Cicode-функции пользователя с использованием нескольких
событий. Проект Training22........................................................................................................... 145
15.2. Ограничение прав доступа пользователей .............................................................................. 145
15.3. Зоны и привилегии .................................................................................................................... 146
Упражнение 15.3. Назначение зон и привилегий графическим страницам и графическим
объектам .......................................................................................................................................... 147
15.4. Добавление пользователей с различными правами доступа ................................................. 149
Упражнение 15.4. Модификация параметров ролей и пользователей ....................................... 149
Упражнение 15.5. Тестирование созданной политики безопасности ........................................ 151
Глава 16. Пользовательские шаблоны, точки анимации и пользовательские меню
...................................................................................................................................... 153
16.1. Шаблоны Citect SCADA ........................................................................................................... 153
Упражнение 16.1............................................................................................................................. 153
16.2. Создание собственных шаблонов ............................................................................................ 153
Упражнение 16.2. Создание собственного шаблона. Проект Training22Tmplt......................... 154
16.3. Настройка собственных шаблонов .......................................................................................... 156
Упражнение 16.3. Настройка созданного шаблона MyNormal. Создание строки заголовка .. 156
Упражнение 16.4. Настройка созданного шаблона MyNormal. Создание панелей инструментов
.......................................................................................................................................................... 157
16.4. Точки вывода анимации (AN) .................................................................................................. 158
Упражнение 16.5. Настройка созданного шаблона MyNormal. Использование
зарезервированных точек вывода анимации ................................................................................ 158
16.5. Отображение в шаблоне сигналов тревог ............................................................................... 161
Упражнение 16.6. Настройка созданного шаблона MyNormal. Отображение сигналов тревог
.......................................................................................................................................................... 161
16.6. Навигация (перемещение) в шаблоне ...................................................................................... 164
Упражнение 16.7. Настройка созданного шаблона MyNormal. Боковые панели инструментов
навигации ........................................................................................................................................ 164
16.7. Использование пользовательского шаблона ........................................................................... 165
Упражнение 16.8. Использование созданного шаблона MyNormal ........................................... 165
16.8. Пользовательские меню ............................................................................................................ 167
Упражнение 16.9. Создание и применение пользовательского меню ....................................... 169
Глава 17. Всплывающие окна, сопоставление имен и суперджинны. Элементы
ActiveX......................................................................................................................... 171
17.1. Сопоставление имен тегов ........................................................................................................ 171
Упражнение 17.1. Создание всплывающей графической страницы с сопоставлением имен.
Проект Training21SuperGenie ........................................................................................................ 172
Упражнение 17.2. Вызов всплывающей графической страницы с сопоставлением имен ...... 174
17.2. Расширенные свойства тегов (extensions) ............................................................................... 176
Упражнение 17.2. Изменение расширенных свойств тегов на стандартных страницах .......... 178
17.3. Создание и использование суперджиннов .............................................................................. 180
Упражнение 17.3. Создание суперджинна для отображения информации о расширенных
свойствах тега ................................................................................................................................. 180
Упражнение 17.4. Джинн: присоединение суперджинна и размещение экземпляров джинна на
графической странице .................................................................................................................... 183
17.4. Объекты ActiveX ....................................................................................................................... 185
Упражнение 17.5. Использование объекта ActiveX .................................................................... 186
Часть 2. Основы языка Cicode в системе Citect SCADA ........................................ 189
Глава 18. Язык Cicode: назначение языка, структура программы, данные .......... 189
18.1. Структура Cicode-программы .................................................................................................. 190
18.2. Данные языка Cicode ................................................................................................................. 191
18.2.1. Типы данных ....................................................................................................................... 191
6

18.2.2. Определение переменных .................................................................................................. 192


18.2.2.1. Правила именования переменных .............................................................................. 193
18.2.2.2. Примеры определения переменных ........................................................................... 193
18.2.3. Определение массивов ....................................................................................................... 193
18.3. Константы языка Cicode ........................................................................................................... 194
Глава 19. Операторы языка Cicode ........................................................................... 196
19.1. Выражения языка Cicode .......................................................................................................... 196
19.1.1. Арифметические операции ................................................................................................ 196
19.1.2. Битовые операции............................................................................................................... 196
19.1.3. Операции отношений ......................................................................................................... 197
19.1.4. Логические операции ......................................................................................................... 197
19.1.5. Приоритеты (порядок выполнения) операций ................................................................. 197
19.2. Оператор присваивания ............................................................................................................ 199
19.2.1. Форматирование текстовых строк. Использование Escape-последовательностей ....... 201
19.3. Операторы ветвлений ................................................................................................................ 202
19.3.1. Условный оператор ............................................................................................................ 202
19.3.2. Переключатель .................................................................................................................... 203
19.4. Циклические операторы ............................................................................................................ 203
19.4.1. Цикл FOR … DO ................................................................................................................. 204
19.4.2. Цикл WHILE … DO............................................................................................................ 204
Глава 20. Функции языка Cicode............................................................................... 206
20.1. Определение функции ............................................................................................................... 206
20.2. Вызов функции .......................................................................................................................... 207
Глава 21. Структура Cicode-файлов (*.ci). Использование комментариев ........... 208
21.1. Синтаксис комментариев .......................................................................................................... 208
21.2. Структура и использование комментариев в заголовке файла с расширением .ci .............. 208
21.3. Использование комментариев в заголовке определения функции ....................................... 209
Глава 22. Интегрированная среда разработки и отладки Cicode-программ ......... 211
22.1. Основные приемы работы в ИСР ............................................................................................. 212
22.1.1. Определение предпочтений при редактировании ........................................................... 213
22.1.2. Создание и сохранение Cicode-файла ............................................................................... 213
22.1.3. Открытие существующего Cicode-файла ......................................................................... 214
22.1.4. Удаление существующего Cicode-файла ......................................................................... 214
22.1.5. Поиск текста в Cicode-файле ............................................................................................. 214
22.1.6. Компиляция Cicode-файла и просмотр информации об ошибках ................................. 215
22.1.7. Режимы ИСР ....................................................................................................................... 216
22.1.8. Размещение окон и панелей инструментов ИСР ............................................................. 216
22.1.9. Назначение и использование панелей инструментов ИСР ............................................. 217
22.1.10. Назначение и использование окон просмотра ИСР ...................................................... 218
22.2. Отладка фрагментов и функций Cicode-программы .............................................................. 221
Глава 23. Использование Cicode-файлов, Cicode-команд и Cicode-функций в
системе Citect SCADA................................................................................................ 223
23.1. Использование Cicode-файлов ................................................................................................. 223
23.2. Использование Cicode-команд ................................................................................................. 223
23.3. Часто используемые функции .................................................................................................. 225
23.3.1. Функции для работы с сигналами тревог (Alarm Functions)........................................... 226
23.3.2. Функции для работы с графическими страницами (Page Functions) ............................. 227
Упражнение 23.1. Использование функции PageAlarm( ) ............................................... 227
Упражнение 23.2. Использование функции PageDisplay( )........................................... 228
Упражнение 23.3. Использование функции PageGoto( ) .................................................. 228
Упражнение 23.4. Использование функции PageHardware()........................................... 228
Упражнение 23.5. Использование функции PageLast() .................................................... 228
Упражнение 23.6. Использование функции PageNext() .................................................... 228
Упражнение 23.7. Использование функции PagePrev() .................................................... 229
Упражнение 23.8. Использование функции PageSummary() ............................................. 229
23.3.3. Функции для работы с отчетами (Report Functions) ........................................................ 229
23.3.4. Функции для работы со временем и датой (Time/Date Functions) ................................. 229
Упражнение 23.9. Использование функции Date() .............................................................. 229
7

Упражнение 23.10. Использование функции Time() ............................................................ 229


Упражнение 23.11. Использование функции SysTime() .................................................... 230
23.3.5. Разные функции (Miscellaneous Functions) ....................................................................... 230
Упражнение 23.12. Использование функции FullName() .................................................. 230
Упражнение 23.13. Использование функции Login() ......................................................... 230
Упражнение 23.14. Использование функции Name() ............................................................ 231
Упражнение 23.15. Использование функции UserInfo() .................................................. 231
23.4. Категории стандартных функций Cicode и их назначение .................................................... 233
Литература .................................................................................................................. 235
Предметный указатель ............................................................................................... 236
Приложение 1. Учебные курсы Центра обучения АО «Шнейдер Электрик» по
тематике пособия ........................................................................................................ 237
8

Предисловие
Учебное пособие предназначено для использования студентами при изучении дисциплин
"Проектирование компьютерных систем управления" и «Компьютерные системы управления». Эти
дисциплины включены в учебный план подготовки магистров и инженеров по направлениям 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 или выше.

Ваши отзывы об учебном пособии, замечания и предложения направляйте по адресу:


cst@icc.spbstu.ru для авторов учебного пособия.
9

Введение
Цель данного учебного пособия — предметно продемонстрировать основные возможности
системы 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).

Требования к аппаратному обеспечению зависят от многих факторов: количества входов-выходов,


количества оповещений (сигналов тревоги или «алармов») и трендов, частоты обновления, в случае
многомашинной архитектуры для серверов – от особенностей кластеризации и количества
клиентских машин, для клиентских машин – от сложности пользовательского интерфейса.
Приводимые ниже ориентировочные данные основаны на оценке односерверной архитектуры с
десятью клиентскими компьютерами, при этом нагрузка на процессор сервера не превышает 25%.
За м еч а н ие
Частота процессора используемого компьютера не является в настоящее время характеристикой
быстродействия компьютера. Требования к компьютеру по быстродействию могут быть даны на основе
оценки PassMark® Software. Для определения быстродействия процессора (пусть, например, это будет
Core i3 CPU), следует ввести запрос на поиск в Интернете «PassMark Core i3». Результат покажет
быстродействие процессора по отношению к аналогичным известным процессорам.

С учетом сделанных замечаний можно привести в качестве примера следующие параметры


аппаратуры:
 Клиентский компьютер: PassMark® процессора – 2000, число ядер – 2, ОЗУ – 4ГБ, диск – 10ГБ,
память графической карты – 128МБ.
 Компактная архитектура, серверный компьютер для 1500 входов-выходов: PassMark®
процессора – 1800, число ядер – 1, ОЗУ – 4ГБ, диск – 10ГБ, память графической карты – 64МБ.
 Архитектура средней сложности, серверный компьютер для 50 000 входов-выходов: PassMark®
процессора – 8000, число ядер – 4, ОЗУ – 8ГБ, диск – 100ГБ, память графической карты – 128МБ.
За м е ч а н ия
1. Если серверы планируется использовать для решения задачи удаленного развертывания (Remote
Deployment), то дисковое пространство должно быть достаточно для размещения
сконфигурированных версий и двух дополнительных версий.

2. Оценка требуемого размера диска серверов дана для размещения системы реального времени и
откомпилированного проекта. Кроме того, предполагается, что для 20% входов-выходов система
строит тренды в среднем каждые 10 сек круглосуточно, причем эти значения сохраняются в
течение последних трех месяцев; каждый вход-выход в течение суток формирует один сигнал
тревоги.

 Рабочее место инженера-разработчика проекта с компактной архитектурой (1500 входов-


выходов): PassMark® процессора – 2000, число ядер – 2, ОЗУ – 8ГБ, диск – 10ГБ, память
графической карты – 128МБ.
 Рабочее место инженера-разработчика проекта с архитектурой средней сложности(50 000
входов-выходов): PassMark® процессора –8000, число ядер – 4, ОЗУ – 8ГБ, диск – 100ГБ, память
графической карты – 128МБ.
За м еч а н ие
Для более производительной работы инженера-разработчика на компьютере рекомендуется
использовать твердотельные диски (SSD). Если устанавливаются не твердотельные диски, то
рекомендуемая скорость их вращения – не менее 7200 об./мин.

Для всех указанных компьютеров имеются также рекомендации по поддержке графики: карта с
DirectX 9 (или более поздняя версия) с драйвером WDDM 1.0, разрешение экрана - 1920 x 1080
(система реального времени поддерживает и другие разрешения, как меньшие, так и большие, а
интегрированная среда разработки Citect Studio для рабочего места инженера-разработчика
поддерживает разрешение 1920 х 1080 и более). В случае, если используется не автономная (т.е. не
одномашинная “stand-alone”, а многомашинная) архитектура, то рекомендуется скорость сетевого
обмена – 100МБ/с.

Использование антивирусного программного обеспечения на компьютерах с работающей системой


реального времени Citect SCADA может приводить к снижению ее производительности и потере
11

данных. Это может происходить при некорректной работе антивирусных программ, а также в случае
сканирования файлов антивирусными программами «на лету», при этом в зависимости от
конфигурации файлы могут быть заблокированы, перемещены или удалены как подозрительные на
наличие вирусов. В критических случаях такая ситуация может привести к приостановке работы
системы 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. Система супервизорного управления


Citect SCADA. Базовый курс
В Части 1 пособия приведены базовые сведения о работе в рассматриваемой SCADA-системе и ее
особенностях в среде конфигурирования Citect Studio и построителе графики Citect.
Рассматривается создание и свойства тегов, работа с разнообразными графическими объектами и
решение базовых задач, характерных для SCADA-системы: связь с устройствами ввода-вывода с
помощью OPC-сервера, система оповещений (сигналы тревог или «алармы»), построение трендов,
создание отчетов, определение событий, привилегии и права пользователей.

Глава 1. Среда конфигурирования


Citect SCADA
Система Citect SCADA состоит из ряда приложений, самыми важными из которых являются
следующие: Среда разработки Citect Studio, Построитель графики Citect и Редактор Cicode.

1.1. Среда разработки Citect Studio


Начиная с версии 8.0 в систему входит интегрированная среда разработки Citect Studio, которая
объединяет функции двух прежних – Проводника Citect (Citect Explorer) и Редактора проектов
(Project Editor), имеет модернизированный пользовательский интерфейс и значительно расширяет
возможности отсутствующих в версии 8.0 Проводника и Редактора проектов.
Приложение Citect Studio является основной подсистемой системы Citect SCADA / CitectSCADA и
позволяет создавать проекты Citect SCADA и управлять ими. Citect Studio служит также
управляющим конфигурационным приложением, из которого можно запустить подсистемы
Построитель графики Citect, Редактор Cicode и другие. Приложение Citect Studio применяется
также для создания файлов конфигурации проекта Citect SCADA и управления ими. Файлы
конфигурации проекта содержат информацию о конфигурации проекта Citect SCADA, которая не
относится к графическим страницам. С помощью Citect Studio можно просматривать все записи
файлов конфигурации проекта Citect SCADA.
Для запуска среды разработки SCADA-приложений Citect Studio выполните команду
Start(Пуск) | Programs (Программы) | Schneider Electric | Citect SCADA 2016 | Citect Studio (из-
за версии операционной системы команда может отличаться от приведенной), но удобнее это делать
с помощью ярлыка, расположенного на рабочем столе. При запуске приложения Citect Studio
автоматически запускаются приложение Построитель графики Citect. При закрытии
Проводника Citect указанное приложение автоматически закрывается.
Со в ет
Для получения дополнительной информации о приложении Citect Studio в среде этого приложения
выполните команду Справка (иконка расположена в левом нижнем углу окна).
13

Справочная система выполнена как набор взаимосвязанных html-страниц и отображается в одном


из установленных Интернет-браузеров.

Упражнение 1.1
Запустите приложение Citect Studio, изучите имеющиеся команды меню и кнопки-иконки на
панели инструментов (снабжены всплывающими подсказками). Посмотрите справку о приложении
Citect Studio.

1.2. Построитель графики Citect


Приложение Построитель графики Citect служит для создания и редактирования графических
страниц, в т. ч. объектов, входящих в состав графических страниц. Приложение
Построитель графики Citect запускается одновременно с приложением Citect Studio.
Со в ет
Для получения дополнительной информации о приложении Построитель графики Citect в среде этого
приложения выполните команду Справка | Справка по построителю графики.

Упражнение 1.2
Перейдите в среду приложения Построитель графики Citect, изучите имеющиеся команды меню
и кнопки на панели инструментов (снабжены всплывающими подсказками). Посмотрите справку о
приложении Построитель графики Citect.

1.3. Редактор Cicode


Приложение Редактор Cicode применяется для написания и редактирования программ,
написанных на языке Cicode, и представляет собой интегрированную среду разработки (ИСР). Это
приложение можно также использовать в качестве отладчика на этапе выполнения для трассировки
Cicode-программы и исправления ошибок программирования. В среде Редактора Cicode можно
получить справку по любой Cicode-функции. Для этого следует щелкнуть правой кнопкой мыши по
имени функции и выполнить команду Справка контекстного меню. Для запуска приложения
Редактор Cicode достаточно в любой из сред Citect Studio или Редактор Citect нажать кнопку
Редактор Cicode на панели инструментов или выполнить команду
Инструменты/Средства | Редактор Cicode.

Упражнение 1.3
Запустите приложение Citect Studio и выберите в нем проект Example (этот демонстрационный
проект устанавливается при установке системы). Нажмите кнопку Запустить на панели
инструментов, чтобы запустить этот проект (в ответ на запрос нажмите кнопку OK). Перемещайтесь
по проекту, переходя на новые страницы с помощью команд меню Example. Окончив
ознакомление, закройте проект, нажав кнопку Закрыть.
14

Глава 2. Управление проектами


Как указывалось ранее, Citect Studio является приложением, с помощью которого выполняется
управление проектами и запуск конфигурационных приложений и исполняемых программ. В среде
Citect Studio выполняются основные задачи, к числу которых относятся создание, удаление,
сохранение и восстановление проектов. Далее эти задачи будут последовательно рассмотрены.

2.1. Создание нового проекта. Включение проектов


Первое, что нужно сделать для конфигурирования нового Citect-проекта, это создать новый проект.
Каждый проект имеет собственную папку в папке …\User, размещенной в системном (скрытом)
каталоге операционной системы Program Data. Папка проекта создается при создании проекта и ей
присваивается то же самое имя, что и проекту.
За ме ч а н ие
В Citect SCADA длина имени проекта не должна превышать 64 символа, а имя может содержать любые
символы, кроме точки с запятой и одиночной кавычки.

Для создания нового проекта в среде Citect Studio выберите кнопку и строку Добавить | Новый
проект… на странице Проекты (вторая сверху иконка основного меню, рис. 2.1).

Упражнение 2.1. Создание проекта Training


Создайте новый проект. С этой целью откройте приложение Citect Studio, выберите страницу
Проекты , нажмите на кнопку Добавить и выберите строку Новый проект… в ниспадающем
меню. Настройте параметры проекта в соответствии с рис. 2.2. В поле Name: укажите имя Training,
а проект OvenTraining используйте, при необходимости, в качестве справочного проекта. Система
размещает проект в папке:
ProgramData\Schneider Electric\Citect SCADA 2016\User
местоположение которой было указано при инсталляции системы Citect SCADA.
При создании проекта следует указать стиль, в который объединяются шаблоны, то есть базовые
образцы будущих страниц проекта. Можно использовать имеющиеся стили (это, очевидно, проще)
или создавать новые. По умолчанию в качестве стиля шаблонов графической страницы в
ниспадающем меню диалогового окна указан вариант SxW_Style_1_HD1080 (для работы с
монитором с разрешением 1920 х 1080 пикселей), который рекомендуется поменять на стиль,
соответствующий используемому разрешению монитора. Имеется возможность выбора стилей из
двух групп – в соответствии со спецификацией StruxerWare компании Schneider Electric (эти стили
начинаются с префикса SxW_) и в соответствии с системой меню приложений, работающих в
операционной системе MS Windows 7 (эти стили начинаются с префикса Tab_). В каждой группе
имеется выбор для разных разрешений монитора. Различия между группами состоят в наборе
шаблонов графических страниц, внешнем виде системы меню и других подобных особенностях
отображения информации в проекте.
За м еч а н ие
Напомним часто используемые обозначения разрешений экрана (в пикселях):
VGA - 640 x 480
SVGA - 800 x 600
XGA - 1024 x 768
SXGA - 1280 x 1024
HD768 - 1366 x 768
HD1080 - 1920 x 1080
WUXGA - 1920 x 1200
Так как стили StruxerWare являются более сложными (в них предусмотрены больше деталей для
отображения), а стили в духе Windows 7 более простые, далее в рамках базового курса освоения
SCADA-системы будем строить учебный проект, взяв в качестве основы стиль Tab_Style_1
подходящего разрешения. Для завершения этапа создания проекта нажмите кнопку OK. Теперь
Citect SCADA создаст файлы конфигурации нового проекта. Обратите внимание на строку
Training, появившуюся в списке проектов.
15

Рис. 2.1. Создание нового проекта

Рис. 2.2. Создание проекта Training


16

Со в ет
При заполнении диалогового окна, представленного ранее на рис. 2.2, для перехода в следующее поле
окна пользуйтесь курсором мыши или клавишей Tab. Для возврата в предыдущее поле воспользуйтесь
акселератором Shift+Tab.

При этом в качестве включаемых проектов по умолчанию используется проект, название которого
можно увидеть, сделав проект Training активным (нажмите на поле с соответствующей подсказкой)
и выбрав вкладку Включенные проекты рядом с открытой вкладкой Главная в верхней строке
окна Проекты (рис. 2.3).

Рис. 2.3. Включаемые файлы нового проекта Training

Включаемый проект Tab_Style_Include является предварительно сконфигурированным проектом и


все его возможности наследуются новым проектом Training. Включенный проект содержит ряд
шаблонов, которые можно использовать для создания новых графических страниц. Проект
включает предопределенные страницы отображения трендов и сигналов тревог (оповещений),
страницу средств проектирования и др. Все они имеют меню навигации и панель инструментов, что
обеспечивает единство функциональных возможностей и внешнего вида по всему проекту.
В больших системах удобнее разрабатывать проект не как один большой проект, а разбить его на
ряд проектов меньшей сложности. Например, можно создать отдельные проекты для каждого
участка завода, тогда перед включением в основной проект можно разработать и проверить каждый
проект в отдельности.
Проект Citect SCADA не включается в компиляцию какого-либо другого проекта, если он явно не
включен в этот проект. Для включения другого проекта в текущий проект следует в среде
Citect Studio перейти на страницу Проекты и на вкладке Включенные проекты выполнить
команду Включить проект; соответствующая кнопка размещена в правой части страницы.

2.2. Архивирование, удаление и восстановление проекта


Проекты Citect SCADA можно сохранять в архивных файлах, занимающих, при необходимости,
намного меньше места, нежели исходные папки проекта. Во время разработки проекта
резервирование следует выполнять регулярно на случай непреднамеренного удаления или
разрушения файлов. Архивную копию можно сохранять на локальном диске, съемном диске или в
сети. Очень важно вести историю архивных файлов, чтобы всегда можно было вернуться к
предыдущей версии проекта (особенно это важно при внесении изменений в уже работающую
систему).
Для архивирования проекта в среде Citect Studio на странице Проекты нажмите на кнопку
Резервное копирование. В появившемся окне Создание резервной копии проекта укажите
17

требуемые параметры (название, путь к файлу с резервной копией и другие) и нажмите кнопку OK.
Более подробные сведения о сохранении проекта с описанием параметров содержатся в справке по
системе.
Для восстановления проекта в среде Citect Studio выберите строку Восстановить ниспадающего
меню, которое появляется при нажатии на иконку «стрелка вниз» рядом с кнопкой Резервное
копирование.
Для удаления проекта в среде Citect Studio на странице Проекты выберите проект, подлежащий
удалению, выполните команду Удалить | Удалить проект. В появившемся окне подтвердите
удаление проекта.
Со в ет
Не забывайте периодически сохранять проект, с которым Вы работаете, на диске.

За м еч а н ие
По умолчанию, если не указано другое расширение, архивным файлам дается расширение .ctz. Эти
файлы записываются в стандартном формате zip. Это значит, что для открытия такого файла можно
воспользоваться любым средством работы с zip-файлами.

Рис. 2.4. Архивирование проекта

Упражнение 2.2. Сохранение, удаление и восстановление проекта


Training
Выполните архивирование проекта Training. Для этой цели на странице Проекты нажмите на
кнопку Резервное копирование. В появившемся окне Создание резервной копии проекта
укажите требуемые параметры и нажмите кнопку OK (рис. 2.4).
Удалите проект Training, который был ранее архивирован в указанной Вами папке. Для этого в
среде Citect Studio выберите проект, подлежащий удалению, выполните команду Удалить проект.
Появится диалоговое окно с предупреждением. Для подтверждения удаления проекта нажмите
кнопку Да.
Восстановите проект Training. Для этого в среде Citect Studio выполните команду Восстановить
ниспадающего меню, которое появляется при нажатии на иконку «стрелка вниз» рядом с кнопкой
Резервное копирование. Появится диалоговое окно. С помощью кнопки Обзор… в указанной
Вами папке выберите архивный файл Training.ctz, выберите радиокнопку Новый проект и
нажмите кнопку OK. Появится подсказка Восстановление. Требуется подтвердить создание новой
папки для проекта, нажмите кнопку OK. Проект Training вновь появится в списке проектов.
18

2.3. Кластеры и серверы. Мастер конфигурирования


компьютера
Кластеризация дает возможность группировать в пределах одного проекта независимые наборы
серверных компонентов Citect SCADA, что позволяет одновременно контролировать несколько
систем и управлять ими. Для каждого проекта Citect SCADA нужно иметь хотя бы по одному из
следующих компонентов — сервер ввода-вывода, сервер отчетов, сервер сигналов тревог
(оповещений) и сервер трендов. Эти компоненты можно распределить между несколькими
компьютерами, но в простейшем случае эти компоненты можно разместить на одном компьютере.
Такая конфигурация называется автономной. В данном учебном пособии будет рассматриваться
автономная конфигурация проектов.
Для проекта с автономной конфигурацией следует определить один кластер и по одному серверу
ввода-вывода, отчетов, сигналов тревог (оповещений) и трендов в этом кластере. При создании
проектов на основе начального проекта из групп SxW_Style_1 или Tab_Style_1, входящих в систему
(а именно так был создан проект Training – см.рис.2.2), в проекте определяются некоторые
основные компоненты, необходимые для разработки любого проекта: кластер с именем Cluster1,
четыре упомянутых сервера с именами IOServer1, ReportServer1, AlartmServer1 и TrendServer1; для
сервера ввода-вывода определены два устройства ввода-вывода Internal и Cicode. Рассмотрим,
каким образом можно изменять имена и параметры этих компонентов, а также добавлять новые для
развития нашего проекта.

Упражнение 2.3. Изменение свойств кластера и сервера


ввода-вывода в проекте Training
В среде Citect Studio выберите проект Training и перейдите на страницу Топология (третья сверху
иконка в вертикальной колонке у левого края окна). Выбирая представление топологии проекта По
компьютерам или По кластерам, можно увидеть набор определенных в проекте серверов и их
привязку к компьютерам или кластерам (рис. 2.5 и рис. 2.6).

Рис. 2.5. Представление топологии проекта по компьютерам

Так, автономно работающий компьютер имеет в SCADA-системе IP-адрес 127.0.0.1 – стандартный


сетевой адрес локального компьютера, который обычно имеет название localhost.
19

Рис. 2.6. Представление топологии проекта по кластерам

Для изменения свойств имеющихся компонентов и добавления других необходимых компонентов


следует перейти в режим редактирования: нажмите на кнопку Редактировать в верхней строке
окна. В области конфигурирования кластеров одним из двух показанных способов (см. на рис.2.7
возможности редактирования) добавьте Замечание для автоматически определенного кластера
Cluster1, набрав текст «Кластер автономно работающего компьютера». Сохраните изменения, нажав
на кнопку Сохранитиь.

Рис. 2.7. Редактирование полей в области конфигурирования кластеров

Нажмите на иконку «стрелка вниз» справа от слова «Кластеры». В ниспадающем меню компонентов
конфигурации проекта выберите строку Серверы ввода/вывода. В области конфигурирования
серверов ввода-вывода определен сервер IOServer1. Изменим его имя на имя OvenSever, более
подходящее для нашего проекта. Подобно тому, как был добавлен комментарий в области
конфигурирования кластеров, выполните также добавление комментария для сервера ввода-вывода
OvenServer «Сервер ввода-вывода» (рис.2.8). Сохраните изменения: на вопрос о «каскадном»
изменении имени в появившемся окне ответьте положительно. Изменения других областей
конфигурирования в окне Топология проводятся аналогично.
За м еч а н ие
Каждый компьютер Citect SCADA может выполнять функции только одного сервера ввода-вывода.
При выполнении полного проекта сетью компьютеров Citect SCADA, в которой к устройству
ввода-вывода подключены несколько компьютеров, для проекта можно определить несколько
серверов ввода-вывода. После внесения любых изменений в области конфигурирования серверов
(изменение свойств существующих серверов или определение новых серверов) необходимо
20

запустить Мастер конфигурирования компьютера (см.ниже) для того, чтобы изменения были
учтены в исполнительной системе VijeoCitect при ее запуске на данном компьютере.

Рис. 2.8. Редактирование полей в области конфигурирования серверов ввода-вывода

Мастер конфигурирования компьютера (Computer Setup Wizard) позволяет быстро настроить


компьютер в соответствии с требованиями проекта Citect SCADA и является приложением, которое
определяет коммуникации SCADA-системы и аппаратные средства компьютера. С его помощью
можно при экспресс установке определить, является ли компьютер клиентом только для просмотра,
клиентом управления или же представляет собой компьютер SCADA-системы с процессами сервера
и клиента. При полной установке (ниже этот вариант конфигурирования называется
индивидуальной настройкой) он задает общие режимы использования сигналов тревог
(оповещений), отчетов, трендов и событий. Мастер конфигурирования компьютера указывает
также опции и параметры, которые определяют поведение SCADA-приложения как приложения MS
Windows.
Со в ет
При переходе к работе с другим проектом не забывайте перенастроить компьютер с помощью Мастера
конфигурирования компьютера.

Мастер конфигурирования компьютера можно запустить несколькими способами: из среды


Citect Studio — в окне Проекты нажатием кнопки Мастер установки (во второй верхней строке
окна), из среды Графического редактора Citect – выполнением команды
Средства | Мастер конфигурирования компьютера и, наконец, с помощью ярлыка
Мастер конфигурирования компьютера в программной группе Schneider Electric на рабочем
столе Windows (если был выполнен стандартный вариант установки системы и были созданы
ярлыки, доступные на рабочем столе).

Упражнение 2.4. Настройка компьютера для проекта Training


Перед настройкой компьютера выполните компиляцию проекта Training. Для этого в среде
Citect Studio выберите проект Training и выполните команду Компилировать (иконка в колонке
у левой границы окна), или используйте «горячие клавиши» Alt+F10, или выполните команду
Файл | Компилировать в Графическом редакторе Citect. Отсутствие предупреждений и
сообщений об ошибках в окне Citect Studio (в сообщениях компилятора в нижней части окна)
означает, что компиляция прошла успешно, в случае ошибок необходимо предпринять действия по
исправлению ошибок и выполнить компиляцию еще раз.
После запуска Мастера конфигурирования компьютера появляется окно, представленное на
рис. 2.9.
21

Рис. 2.9. Окно Мастера конфигурирования компьютера

Выберите Быструю установку и нажмите кнопку Далее. В результате появится окно


Настройка проекта, которое следует настроить в соответствии с рис. 2.10 (в поле
Название проекта: выбрать Training) и нажать кнопку Далее. Это диалоговое окно позволяет
выбрать проект для выполнения. Затем последовательно появятся еще четыре окна настройки
компьютера. Окно Настройка роли компьютера настройте в соответствии с рис. 2.11. Поскольку
на компьютере определена работа сервера (клиент в этом случае должен быть обязательно), то по
умолчанию выбран вариант Сервер и клиент управления, а остальные варианты не доступны.
Нажмите кнопку Далее.

Рис. 2.10. Окно Настройка проекта мастера конфигурирования компьютера


22

Рис. 2.11. Окно Настройка роли компьютера мастера конфигурирования компьютера

Следующие окна настройки компьютера Настройка сети, Проверка подлинности сервера и


Конфигурирование компьютера Citect настройте в соответствии с рис. 2.12, 2.13 и 2.14 и нажмите
последовательно кнопки Далее, Далее и Готово. Диалоговое окно Настройка сети позволяет
выбрать тип построения сети, используемый в проекте. Поскольку данный проект будет работать в
автономном режиме, выбран вариант с отсутствием сети.

Рис. 2.12. Окно Настройка сети мастера конфигурирования компьютера

Диалоговое окно Проверка подлинности сервера задает пароль сервера, необходимый для
доверенного обмена данными между серверами работающей системы. Предусматривается, что
проверка пароля проводится автоматически. Необходимость настройки пароля сервера отмечена в
поле неотменяемой галочкой, а так как поля пароля и подтверждения пароля заполнены, то пароль
уже сконфигурирован и в его изменении нет нужды.
23

Рис. 2.13. Окно Проверка подлинности сервера

Последнее окно показывает, что настройка компьютера завершена, и можно нажать на кнопку
Готово.

Рис. 2.14. Окно Конфигурирование компьютера Citect

Упражнение 2.5. Запуск проекта Training


Так как проект, над которым проводится работа, создан на основе начального проекта (см.рис.2.2),
мы можем запустить «пустой» проект и познакомиться с его существующими страницами. Это
упражнение также иллюстрирует технологию работы с типичным проектом SCADA-системы по его
разработке и доработке. Для запуска исполнительной системы можно нажать на иконку Выполнить
активный проект в колонке у левой границы окна Citect Studio, или использовать команду
Файл | Запустить в Графическом редакторе Citect, или, находясь в любой среде системы
24

(Citect Studio или Графический Редактор Citect), нажать «горячую клавишу» F5. После запуска
познакомьтесь с системой меню, списком имеющихся страниц, возникающими подсказками при
перемещении указателя мыши и т.п.
Закройте затем проект Training.
25

Глава 3. Настройка связи и работа с тегами


Система Citect SCADA может быть связана со многими типами устройств ввода-вывода систем
контроля и управления — программируемыми логическими контроллерами, регуляторами,
распределенными системами управления и т. п. Это позволяет обмениваться данными с
устройствами и выполнять супервизорное управление системой со стороны оператора.
Обмен информацией с устройствами ввода/вывода в системе Citect SCADA иллюстрирует рис. 3.1.

Рис. 3.1. Организация ввода/вывода в Citect SCADA

В процессе информационного обмена в общем случае используются Сервер ввода-вывода (таких


серверов может быть несколько, каждый из которых привязан к одному компьютеру), Модули,
Порты и Устройства ввода/вывода. Модули представляют собой интерфейсные платы
компьютера, а порты — порты связи на этих платах. Настроить перечисленные компоненты
удобнее всего и проще с помощью Мастера установки связи между устройствами.

3.1. Мастер установки связи между устройствами


Мастер установки связи между устройствами (Device Communication Wizard) позволяет быстро
установить соединение с новым или существующим устройством ввода-вывода. В каждом проекте
Citect SCADA должен быть хотя бы один сервер ввода-вывода, предназначенный для связи с
устройствами ввода-вывода. Каждое устройство ввода-вывода следует настроить в Citect SCADA в
соответствии с протоколом и параметрами связи. Следует также определить все интерфейсные
платы и порты связи в компьютере.
Во время работы Мастер установки связи между устройствами определяет имена серверов ввода-
вывода, интерфейсные платы компьютера, порты связи на этих платах и устройства ввода-вывода,
подключенные к портам (см. приведенный ранее рис. 3.1).
За м еч а н ие
Каждый компьютер Citect SCADA может выполнять функции только одного сервера ввода-вывода. При
выполнении проекта сетью компьютеров Citect SCADA, в которой к устройству ввода-вывода
подключены несколько компьютеров, для проекта можно определить несколько серверов
ввода-вывода, каждый из которых работает на одном из компьютеров.

Мастер установки связи между устройствами можно запустить из среды Citect Studio, открыв
окно Топология, нажав на кнопку Устройства ввода/вывода и выбрав кнопку «Многоточие» в
правой части экрана (рис.3.2). В появившемся ниспадающем меню следует выбрать строку Новое
устройство. При этом активным должен быть требуемый проект (например, проект Training – см.
титульную строку окна Citect Studio).
26

Рис. 3.2. Запуск Мастера установки связи между устройствами

Упражнение 3.1. Настройка связи для проекта Training


С помощью Мастера установки связи между устройствами настройте систему ввода-вывода для
учебного проекта Training. Для этого запустите приложение Citect Studio и выберите проект
Training. Открыв окно Топология, нажмите на кнопку Устройства ввода/вывода. В
отображаемой таблице имеется две строки с параметрами двух устройств ввода-вывода Internal и
Citect, которые были включены в наш проект благодаря использованию начального проекта
Tab_Style_Include. Нажмите теперь на кнопку «Многоточие» в правой части экрана (рис.3.2). В
появившемся ниспадающем меню выберите строку Новое устройство. Появится окно
Мастера установки связи между устройствами (рис.3.3). Нажмите на кнопку Далее для
продолжения. В следующем диалоговом окне задайте параметры Сервера ввода/вывода в
соответствии с рис. 3.4 и нажмите кнопку Далее.

Рис. 3.3. Окно Мастера установки связи между устройствами параметров связи

Появится диалоговое окно для конфигурирования Устройства ввода/вывода. Настройте его в


соответствии с рис. 3.5 и нажмите кнопку Далее. Задайте тип Устройства ввода/вывода (выберите
радиокнопку «Дисковое устройство», рис. 3.6) и также нажмите кнопку Далее. В следующем
диалоговом окне задайте для Устройства ввода/вывода изготовителя, тип и метод коммуникации:
выберите верхнюю строку «Общий протокол Citect» (рис. 3.7) и нажмите кнопку Далее. В
появившемся диалоговом окне ничего не меняйте (рис. 3.8) и для продолжения нажмите кнопку
Далее. В последнем диалоговом окне содержатся результирующие сведения (рис. 3.9). Нажмите
кнопку Готово.
Результаты настройки представлены на рис. 3.10. В таблице устройств ввода-вывода появилась
новая строка для устройства OvenDev, в которой указаны необходимые параметры.
27

Рис. 3.4. Окно Мастера установки связи между устройствами для выбора Сервера ввода/вывода

Таблица 3.1. Атрибуты тегов, отображаемые по умолчанию

Название Пояснения
Строка Порядковый номер строки таблицы
Первая часть обозначения оборудования (до 254
Оборудование символов для имени оборудования и имени
элемента в сумме)
Вторая часть обозначения оборудования, с
Имя элемента
которым может быть связан тег
Имя тега, должно быть уникально в кластере (до
Имя дескриптора
79 символов)
Указывается кластер, в котором определен тег,
Имя кластера обязательно указывать в случае нескольких
кластеров в проекте
Устройство IO Устройство ввода-вывода (до 31 символа)
Тип данных Тип данных – см. табл.3.2
Формат адреса зависит от протокола устройства
Адрес
ввода-вывода
Замечание Замечание к тегу, может быть на русском языке
Мин.значение в единицах изм. В двух полях указываются минимальное и
максимальное значения в инженерных единицах
Макс.значение в единицах изм.
измерения
Проект Имя проекта

3.2. Тестирование связи (на примере проекта Training)


Тестирование связи очень важно выполнить на ранних этапах разработки проекта. Далее
последовательно рассматриваются выполненная ранее настройка связи и ее тестирование путем
28

создания тега, используемого на графической странице.

Рис. 3.5. Окно Мастера установки связи между устройствами для конфигурирования
Устройства ввода/вывода

Теги (описатели или метки) переменных определяют текущие значения данных, связанных с
некоторым регистром устройства ввода-вывода. Каждый тег переменной определяется уникальным
в пределах кластера именем (дескриптором), типом данных, адресом, связанным с устройством
ввода-вывода (внешним или «внутренним», т.е. определенным в компьютере) и другими
характеристиками.
Определить тег переменной можно следующим образом: в среде приложения Citect Studio на
странице Модель системы на вкладке Теги можно заполнять строки таблицы или поля формы в
правой части вкладки (рис. 3.11).

Рис. 3.6. Окно Мастера установки связи между устройствами для задания типа Устройства ввода-вывода
29

Упражнение 3.2. Создание дискетного тега


Для тестирования созданных связей создайте тег переменной с именем Test, который может
принимать нулевое или единичное значения. Для этого откройте среду Citect Studio; проследите,
чтобы проект Training был активным. Выполните команду Модель системы | Теги, заполните
первую строку таблицы или поля формы правой части окна значениями свойств тега в соответствии
с рис. 3.12. Сохраните изменения; признаком сохранения является появившийся номер строки в
первой колонке таблицы тегов.
Протокол Generic, являющийся внутренним протоколом Citect SCADA, использует удобные и
естественные соглашения об адресации, представленные в табл. 3.2.
За ме ч а н ие
При удалении строк в таблицах Citect Studio строки получают отметку об удалении и не отображаются,
но не удаляются из таблиц. Их физическое удаление происходит при упаковке.

В среде Citect Studio выполните команду Проекты | Упаковать (база данных тегов будет
проиндексирована, а все помеченные к удалению записи будут физически удалены). Такое
действие рекомендуется выполнять периодически.

Создание новой графической станицы выполняется в среде приложения


Построитель графики Citect с помощью кнопки Новый или команды Файл | Новый…
(рис. 3.13).

Рис. 3.7. Окно Мастера установки связи между устройствами для задания производителя, модели и метода
коммуникации Устройства ввода/вывода

Упражнение 3.3. Создание графической страницы


Для создания новой графической страницы с использованием предопределенного шаблона в
появившемся окне Новый следует нажать кнопку Страница, в результате чего появится
следующее окно Использовать шаблон, представленное на рис. 3.14. Используйте параметры
шаблона графической страницы, предлагаемые по умолчанию, и нажмите кнопку OK. Появится
новая графическая страница. Для ее конфигурирования выполните команду Свойства страницы…
ее контекстного меню (вызывается с помощью правой кнопки мыши), выберите вкладку
Представление, в поле Цвет фона: задайте более светлый цвет фона страницы, чем он установлен
при ее открытии, и нажмите кнопку OK. С помощью команды Файл | Сохранить как… (рис. 3.15)
сохраните страницу под именем NewPage (выберите вкладку Страница, в поле Страница укажите
30

имя NewPage и нажмите кнопку OK). Графическая страница приобретет вид, показанный на
рис. 3.16.

Рис. 3.8. Окно Мастера установки связи между устройствами (используйте предложенные значения) для
Устройства ввода/вывода

Упражнение 3.4. Добавление на страницу графических объектов и


их настройка
Для тестирования созданных связей поместите на созданную графическую страницу NewPage три
графических объекта — две Кнопки и объект Текст. Настройте свойства объектов Кнопка таким
образом, чтобы при их нажатии созданный тег Test принимал соответственно нулевое и единичное
значения, а объект Текст настройте так, чтобы при изменении значения тега происходила
изменение выводимого текста и его цвета.
Далее рассмотрим добавление объекта Кнопка на созданную графическую страницу NewPage. Это
следует выполнять в среде Построитель графики Citect (см. приведенный ранее рис. 3.16).
За м еч а н ие
Для загрузки требуемой графической страницы достаточно нажать кнопку Открыть на панели
инструментов, или выполнить команду Файл | Открыть…, или же активизировать акселератор
Ctrl+O. Далее в появившемся окне Открыть следует выбрать во вкладке Страница имя нужного
проекта и страницы (см. приведенный ранее рис. 3.15) и нажать кнопку OK.
31

Рис. 3.9. Результирующее окно Мастера установки связи между устройствами

Рис. 3.10. Результирующие настройки коммуникаций проекта Training

Для размещения объекта Кнопка в графической странице достаточно в окне объектов (рис. 3.17)
выбрать нажатием и отпусканием левой кнопки мыши объект Кнопка, переместить мышь в нужное
место графической страницы, нажатием левой кнопки и перемещением мыши определить размеры
и местоположение кнопки и отпустить левую кнопку мыши. В результате появится окно
Свойства: Кнопка, которое пока закройте. Аналогичным образом добавьте в графическую
страницу еще один объект Кнопка, чтобы графическая страница приобрела вид, представленный
на рис. 3.18.
32

Рис. 3.11. Таблица для определения тегов переменных проекта Training

Рис. 3.12. Определение тега переменной Test проекта Training

Таблица 3.2. Адресация тегов для протокола Generic

Тип данных Адрес


INT, UINT Iномер
DIGITAL Dномер
STRING Sномер
REAL Rномер
LONG, LONGBCD Lномер или Iномер
BCD, BYTE Bномер

Для определения требуемых свойств объекта Кнопка следует ее выбрать (см. рис. 3.18) и
выполнить для кнопки команду Свойства… контекстного меню, вызываемого правой кнопкой
мыши. Появится окно конфигурирования кнопки, показанное на рис. 3.19. В этом окне имеются
пять основных (постоянных) горизонтальных закладок (Представление, Движение, Ввод, Доступ,
Метаданные) и по одной-две-три вертикальных, вспомогательных закладок, варьируемых в
зависимости от выбранной горизонтальной закладки (Общее, 3D Эффекты и Видимость при
выборе Представление; По горизонтали и По вертикали при выборе Движение; Касание и
Клавиатурные команды — при выборе Ввод; Общее и Запрещен — при выборе Доступ; Общее
– при выборе Метаданные). С помощью указанных закладок можно выбирать любую из десяти
вкладок, с помощью которых задаются требуемые свойства кнопки.
33

Свойства кнопки, обеспечивающей задание нулевого значения тега Test (или, что то же - FALSE)
при нажатии кнопки, иллюстрируют приведенный ранее рис. 3.19 и рис. 3.20. Аналогично, свойства
другой кнопки, обеспечивающей задание единичного значения тега Test (или значения TRUE) при
нажатии кнопки, представлены на рис. 3.21 и рис. 3.22.

Рис. 3.13. Создание новой графической страницы

Рис. 3.14. Задание параметров шаблона графической станицы

Для размещения объекта Текст на графической странице достаточно в окне объектов (см. рис. 3.17)
выбрать нажатием и отпусканием левой кнопки мыши объект Текст, переместить мышь в нужное
место графической страницы, начать вводить нужный текст и нажать левую кнопку мыши. В
результате появится окно Свойства: Текст, в котором задайте свойства объекта в соответствии с
рис. 3.23 и 3.24.
34

Рис. 3.15. Задание имени новой графической страницы

Рис. 3.16. Вид новой графической страницы после ее создания и конфигурирования

Для сохранения измененной страницы NewPage нажмите кнопку Сохранить на панели


инструментов, или выполните команду Файл | Сохранить, или же активизируйте акселератор
Ctrl+S. Для проверки работы созданных кнопок и текста командой Файл | Компилировать или с
помощью акселератора Alt+F10 выполните компиляцию проекта.
За м еч а н ие
При компиляции проекта система Citect SCADA проверяет наличие ошибок. Если ошибки выявлены,
выберите Перейти, чтобы отобразить место ошибки. Исправив все ошибки, сохраните исправленные
графические страницы и снова выполните компиляцию проекта.
35

Рис. 3.17. Окно (палитра) объектов

Рис. 3.18. Графическая страница NewPage с добавленными кнопками

Упражнение 3.5. Запуск проекта и тестирование связей


Запустите проект нажатием кнопки Выполнить активный проект в среде Citect Studio, или с
помощью команды Файл | Запустить в среде Графический Редактор Citect, или же нажатием
клавиши F5.
36

Рис. 3.19. Окно конфигурирования кнопки: вкладка Представление (Общие)

Если Вы работаете с демонстрационной версией SCADA-системы, то появляется окно


предупреждения, представленное на рис. 3.25, в котором для перехода в демонстрационный режим
следует нажать кнопку OK. Когда проект Training начнет выполняться, отобразится начальная
графическая страница. Перейдите на страницу NewPage.
В появившемся окне для тестирования созданной страницы NewPage используйте меню для ее
отображения на экране (рис. 3.26).
За ме ч а н ие
Если сервер ввода-вывода не имеет связи с устройством ввода-вывода, то на месте текстового объекта
появится сообщение #COM. Это является признаком ошибки, следует проверить определение
коммуникаций и повторить компиляцию и запуск.

Вид выбранной графической страницы при нажатии на первую и вторую кнопки иллюстрируют
рис. 3.26 и рис. 3.27. Использованный при создании проекта Training включенный проект
Tab_Style_Include содержит ряд полезных типичных функциональных возможностей, связанных с
реализацией системы меню, отображения сигналов тревоги (оповещений), построения трендов и
т.п. Пример таких возможностей показан на рис.3.28, в котором после нажатия на иконку с двумя
окнами (обведена на рисунке красной линией) появляется окно «Выбор страницы» с возможностью
использования ниспадающего меню.
Со в ет
Поэкспериментируйте, задавая различные параметры объектов Кнопка и Текст в Графическом
редакторе. Для отображения результатов при работе Исполнительной системы Citect достаточно
сохранять изменения в файле графической страницы NewPage и проводить компиляцию проекта (Alt-
F10), если на странице Проекты в строке с именем проекта отсутствует отметка о компиляции.
Результаты изменений будут подхвачены «на лету»: останавливать и запускать вновь Исполнительную
систему (т.е. выполнять команду F5), как правило, нет необходимости. Проанализируйте результаты
внесенных изменений в процессе работы приложения.

Для завершения работы приложения достаточно нажать кнопку Закрыть, расположенную в правом
верхнем углу.
37

Рис. 3.20. Конфигурирование кнопки: вкладка Ввод (Касание)

3.3. Структурированные имена тегов


Система Citect SCADA налагает некоторые ограничения на имена тегов переменных. Благодаря
этому облегчается и ускоряется разработка, настройка и запуск проекта, а также сокращается время
на последующее его сопровождение. Соблюдение правил именования тегов переменных особенно
полезно при использовании таких средств, как джинны и суперджинны (о них пойдет речь далее).
Каждое имя тега может содержать до 79 символов. Для соблюдения правил именования символы
имени следует разделять на части или секции, описывающие характеристики тега. Например, зона
размещения тега, тип тега и любые конкретные признаки. В правилах об именовании, принятых в
Citect SCADA, предполагается наличие четырех основных секций:
Зона_Тип_Местонахождение_Атрибут

Секция Зона определяет зону, номер или название установки. Например, при наличии трех
пастеризаторов с одинаковым управлением можно сконфигурировать теги для пастеризатора №1 и
скопировать их на пастеризаторы №№2 и 3. Тогда нужно просто изменить секцию зоны в именах
тегов на зоны второго и третьего пастеризаторов (табл. 3.3). Остальные теги остаются
неизменными. Если эта возможность не нужна, секцию зоны в имени тега можно опустить,
уменьшив тем самым количество символов в имени.
Таблица 3.3. Использование секции зоны в именах тегов

Участок Имя тега


Пастеризатор 1 P1_TIC_101_PV
Пастеризатор 2 P2_TIC_101_PV
Пастеризатор 3 P3_TIC_101_PV

В секции Тип указывается тип параметра, технологического оборудования или средства управления
(табл. 3.4). Рекомендуется система именования по стандарту ISA.
38

Рис. 3.21. Конфигурирование кнопки: вкладка Представление (Общие)

Таблица 3.4. Использование секции типа в именах тегов

Имя тега Значение


P1_TIC_101_PV Регулятор, показывающий температуру
P1_FIC_101_PV Регулятор, показывающий расход
P1_PUMP_101_PV Насос
P1_VALVE_101_PV Вентиль
39

Рис. 3.22. Конфигурирование кнопки: вкладка Ввод (Касание)

В секции Местонахождение указывается номер оборудования (табл. 3.5).


Таблица 3.5. Использование секции местонахождения в именах тегов

Имя тега Значение


P1_TIC_101_PV Регулятор, показывающий температуру №101
P1_TIC_102_PV Регулятор, показывающий температуру №102
P1_PUMP_101_PV Насос №101
P1_PUMP_102_PV Насос №102

В секции Атрибут указывается атрибут конкретного параметра, связанный с оборудованием


(табл. 3.6).
40

Рис. 3.23. Конфигурирование текста: вкладки Представление (Общие) и Представление


(Отображаемое значение)
41

Рис. 3.24. Конфигурирование текста: вкладки Заполнение(Цвет) и Доступ(Общие)

Рис. 3.25. Окно приглашения при работе с демонстрационной версией SCADA-системы


42

Таблица 3.6. Использование секции атрибутов в именах тегов

Имя тега Значение


P1_TIC_101_PV Переменная, отражающая технологический процесс
P1_TIC_101_SP Заданное значение (уставка)
P1_TIC_101_OP Выходное данное
P1_TIC_101_P Коэффициент пропорциональности
P1_TIC_101_I Коэффициент интегрирования
P1_TIC_101_CMD Управляющий сигнал
P1_TIC_101_V Значение

Рис. 3.26. Отображение созданной страницы и ее вид при нажатии кнопки Задание тега Test=FALSE

3.4. Добавление тегов и их редактирование


Теперь, настроив и протестировав связь между сервером ввода-вывода и устройством ввода-вывода,
можно определить теги переменных, необходимые для дальнейшего использования. Теги
переменных определяются точно так же, как ранее был определен тег Test.

Рис. 3.27. Вид созданной страницы при нажатии кнопки Задание тега Test=TRUE и наведении мышки на
текстовое поле «Вкл / Выкл»
43

Рис. 3.28. Возможности приложения по выбору страниц (свойство унаследовано из включенного проекта
Tab_Style_Include)

Теги переменных в таблице среды Citect Studio (окно Модель системы | Теги) можно
сконфигурировать быстро, т. к. в каждом теге есть много повторяющейся информации. Если два
тега переменных похожи друг на друга, выберите строку уже созданного тега, скопируйте ее в конец
таблицы и измените нужные поля. Напомним, что изменение можно выполнять в самой таблице
(нужно иметь в виду, что не все атрибуты тега отображаются в колонках таблицы, это отображение
можно настроить, см.рис.3.11) и в полях формы в правой части окна (здесь доступны все атрибуты).
Для сохранения сделанных изменений сконфигурированных тегов нужно нажать на кнопку
Сохранить в левой верхней части окна.

Упражнение 3.6. Добавление тегов в проект Training. Проект


Training1
Добавьте в проект Training аналогично тегу Test еще три тега переменных с атрибутами,
показанными в табл. 3.7, и для проверки выполните компиляцию проекта.
Таблица 3.7. Свойства добавленных тегов проекта Training

Имя дескриптора тега Oven_Temp Gas_Valve Burner_Stat


Имя кластера Cluster1 Cluster1 Cluster1
Название устройства в/в OvenDev OvenDev OvenDev
Адрес I0 D1 D2
Тип данных INT DIGITAL DIGITAL
Мин. исходное данное 0
Макс. исходное данное 400
Мин. значение в единицах изм. 0
Макс. значение в единицах изм. 130
Единица измерения Град.С
Формат ###
Нечувствительность
Температура в Состояние Состояние
Комментарий градусах Цельсия задвижки подачи горелки
газа

За ме ч а н ие
Информация об адресации тегов переменных приведена ранее в подразделе 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.30. Уровни прав (привилегий) в системе Citect SCADA

Рис. 3.31. Роль Administrators и ее права (привилегии)

Рис. 3.32. Создание пользователя с ролью Administrators


46

По умолчанию, во включаемом проекте Tab_Style_Include приняты ограничения доступа,


представленные в табл. 3.8.
За ме ч а н ие
Более подробно планирование безопасности работы системы на основе ограничения прав доступа будет
рассмотрено в Главе 15.

Рис. 3.33. Задание привилегий управляющего элемента

Таблица 3.8. Ограничения доступа включаемого проекта Tab_Style_Include

Элементы Глобальные привилегии


Редактирование атрибутов пользователя 8
Закрытие проекта 8
Подтверждение оповещений (тревог) 1
Отключение оповещений (тревог) 8
Отключение звука оповещений (тревог) 0

Упражнение 3.7. Создание привилегированного пользователя.


Просмотр и модификация тегов. Проект Training2
Перейдите на вкладку Безопасность системы конфигурирования для проекта Training1.
Используйте имеющуюся по умолчанию роль Administrators или создайте ее на странице
Безопасность | Роли (рис.3.31). На странице Безопасность | Пользователи создайте
привилегированного пользователя MAIN_USER (рис. 3.32), имеющего роль Administrators и
имеющего права с 1 по 8 (это можно обозначить «1..8» либо перечислением), и нажмите кнопку
Сохранить. В качестве пароля привилегированного пользователя используйте пароль USER. В
графическом редакторе на странице NewPage откройте окно со свойствами кнопки и проверьте
возможность изменения прав доступа (рис.3.33).
47

Для использования удобных возможностей включенного проекта Tab_Style_Include по отладке


приложений выполните следующие шаги.
1. Откройте страницу VariableTags активного проекта Training1 (рис.3.34)
2. Дважды щелкните мышкой по области конфигурирования правил изменения тегов при
отладке (рис.3.35, шаг 1)
3. В появившемся окне заполните поле привилегий перечислением номеров привилегий,
например, 1..8 (рис.3.35, шаг 2)
4. Сохраните открытую страницу.

Рис. 3.34. Открытие страницы отображения тегов

Рис. 3.35. Конфигурирование страницы отображения и изменения тегов


48

Для тестирования выполненной модификации выполните компиляцию, запустите проект Training1.


Путем выполнения команды Страницы | VariableTags перейдите на встроенную в проект
графическую страницу отображения тегов приложения. Щелкнув правой кнопкой мыши по любому
элементу в таблице тегов убедитесь, что из-за ограничений доступа строка «Задать значение…»
появившегося ниспадающего меню имеет серый цвет, т.е. неактивна (рис.3.36).

Рис. 3.36. Страница отображения и изменения тегов без возможности менять значения тегов

С помощью кнопки регистрации пользователей в левой части на панели инструментов


зарегистрируйте созданного ранее пользователя с именем MAIN_USER, имеющего роль
Administrators с паролем USER (рис. 3.37), и нажмите кнопку OK.

Рис. 3.37. Регистрация привилегированного пользователя


49

Теперь все управляющие элементы для таблицы доступны. Убедитесь в этом, вновь нажав правую
кнопку мыши, указывающей на любую строку таблицы тегов. Действие «Задать значение…» теперь
активно. С помощью появившегося диалогового окна можно изменить значение выбранного тега
(рис. 3.38). Экспериментируйте с изменением значений тегов и отображением новых значений на
страницах VariableTags и NewPage.
Закройте проект.

Рис. 3.38. Окно отладки тегов – изменение его значения

Со в ет
Не забывайте периодически сохранять проект на жестком диске. Для этого в среде
приложения Citect Studio достаточно на странице Проекты нажать на кнопку Резервное копирование
и сохранить проект Training1. В появившемся окне Создание резервной копии проекта следует
указать требуемые параметры и нажать кнопку OK (см. упр. 3.6). Проект сохраните под именем
Training2. В дальнейшем работайте с проектом Training2. Для этого достаточно нажать на кнопку
«Стрелка вниз» справа от кнопки Резервное копирование и выбрать строку Восстановить. В
появившемся окне Восстановить проект следует указать требуемые параметры и нажать кнопку OK
(см. указанное ранее упр. 3.6). Сделайте этот проект активным, щелкнув мышкой по строке с его
описанием на странице Проекты приложения Citect Studio.

3.5. OPC Factory Server (OFS)


OPC является средством связи между внешними по отношению к компьютеру цифровыми
устройствами (контроллерами, регуляторами, интеллектуальными датчиками и т.п.) и
приложением, работающем на компьютере. OPC представляет собой протокол, основанный на
стандарте OLE, для управления технологическими процессами. OPC — это сокращение от
OLE for Process Control (связывание и встраивание объектов для управления технологическими
процессами), предназначенное для предоставления бизнес-приложениям доступа к данным объекта
контроля единым с точки зрения интерфейса образом. OLE в свою очередь является сокращением
для обозначения стандарта обмена информацией между приложениями MS Windows (Object Linking
and Embedding – технология связывания и встраивания объектов). Стандарт OPC разработан
фондом OPC Foundation и изложен в документе OPC Specification, версии 1.0a и 2.0. Для
совместимости с OPC приложение MS Windows должно быть реализовано с интерфейсом COM,
описанным в документе OPC Specification.
Продукт OFS (OPC Factory Server) — это OPC-сервер, предназначенный для обмена данными с
программируемыми контроллерами компании Schneider Electric для поддержки OPC-клиентов,
таких как Excel, Citect SCADA или другие приложения MS Windows. OFS позволяет
50

оптимизировать коммуникации между приложениями MS Windows (в частности, SCADA-


системой) и оборудованием Schneider Electric.
ОРС действует подобно общему языку, поэтому разработчики аппаратного и программного
обеспечения могут разрабатывать свои продукты и знать, что другие продукты смогут
взаимодействовать с ними. ОРС основан на технологиях Microsoft: OLE (теперь ActiveX), COM
(объектная модель компонентов) и DCOM (объектная модель распределенных компонентов). ОРС
состоит из стандартного набора интерфейсов, свойств и методов, используемых в приложениях для
управления процессами и автоматизации производства. Технологии ActiveX/ COM определяют, как
отдельные компоненты приложения взаимодействуют и совместно используют данные. Говоря
иначе, OPC используется для предоставления данных объекта управления из одной программы в
другую, написанную кем-то другим.
Сервер OFS действует как шлюз между устройствами ввода-вывода (например, контроллерами
компании Schneider Electric) и приложением (например, Citect SCADA), которое хочет
использовать их данные. В архитектуре COM каждый вид сервера получает уникальный
идентификатор, который обозначается как ClassID (128-битное число). Для удобства каждое такое
число заменяется строковой ссылкой вида «Производитель.Приложение» с номером версии в
качестве дополнения. Для сервера OFS строковая ссылка — Schneider-Aut.OFS.

3.5.1. Файл переменных приложения контроллера


Взглянем на задачу работы с данными контроллера со стороны приложения MS Windows. Для того,
чтобы получить и использовать в приложении некоторый объект из контроллера, необходимо знать
протокол сети связи, адрес узла в сети и другие характеристики канала связи и устройства
назначения (тем самым мы сможем «добраться» до контроллера, который нас интересует) и, кроме
того, характеристики объекта в контроллере, значение которого мы хотим прочитать или записать:
адрес бита, регистра или таблицы, тип данных, длину в битах или словах. Для человека удобнее
использовать не численные значения адресов, а имена – символические обозначения.
Инструментальные системы программирования для разработки приложений контроллеров
предоставляют возможности по экспорту имен переменных, обычно это может быть сделано в
разных форматах. При изучении OFS и Citect SCADA мы по возможности будем использовать
наиболее распространенные варианты форматов и протоколов, которые подходят для контроллеров
разных компаний-производителей оборудования. В качестве примера рассмотрим вариант
представления таблицы адресов переменных в широко распространенном формате CSV (comma
separated variables), то есть в формате «переменных, разделенных запятыми». Следует отметить, что
слово «запятые» в данном контексте употребляется обобщенно: формат допускает использование в
качестве разделителей также пробелы, знаки табуляции и другие знаки, которые обычно OFS или
другое приложение распознают автоматически.
Итак, таблица имен переменных, которую можно использовать в OFS в формате CSV, состоит из
строк, имеющих следующий формат:
<адрес><разделитель><символическое имя><разделитель><комментарий>

Упражнение 3.8. Создание таблицы переменных в формате CSV


Используя доступную инструментальную систему программирования (например, Unity Pro,
SoMachine, TwidoSuite, TwidoSoft компании Schneider Electric или систему программирования
другой компании-производителя контроллеров) создайте приложение, в котором используются
переменные с привязанными адресами, и выполните экспорт таблицы имен в формате CSV. В
случае, если система программирования не доступна, выполните следующие шаги, которые
позволят промоделировать работу контроллера и запустить OFS в режиме «симуляции».
1. Создайте текстовый файл, задающий адреса и имена переменных: (в строках ниже
использован знак пробела в качестве разделителя):
%M0 MyBit0 Бит памяти номер 0
%M1 MyBit1 Бит памяти номер 1
%MW10 MyCounter Слово - значение счетчика
%MW11 MyTimer Слово - значение таймера
%MF12 MyReal Двойное слово, представляющее вещественное число
51

%I0.1.0 MyInputChanel0 Входной бит 0


%I0.1.1 MyInputChanel1 Входной бит 1
%Q0.1.16 MyOutputChanel0 Выходной бит 0
%Q0.1.17 MyOutputChanel1 Выходной бит 1

В таблице в начале каждой строки указан физический адрес объекта в контроллере в


соответствии с правилами стандарта Международной электротехнической комиссии IEC
61131-3: знак процента «%» является признаком физического адреса, «М» служит
обозначением внутренней памяти (от «Memory»), причем одиночная буква «M» обозначает
бит в зоне внутренних битов, а «MW» - шестнадцатибитовое слово в зоне внутренних слов
(сокращение от «Memory Word»), «MF» - двойное шестнадцатибитовое слово в зоне
внутренних слов для представления в данном случае вещественного числа (от «Memory
Float»), «I» (от «Input») обозначает зону входов, а «Q» (от «Output», но буква «O» заменена
на «Q») - зону выходов. Числа служат для указания адреса в соответствующей зоне: в зонах
памяти это порядковые номера, а зонах ввода и вывода используется так называемая
«географическая» адресация. Так, «0.1.17» означает нулевую монтажную корзину для
размещения модулей контроллера, 1-й модуль ввода или вывода и 17-й канал в этом
модуле. Далее через разделитель – пробел – указано имя переменной и еще через один
пробел – комментарий, который может в своем составе содержать пробелы.
2. Сохраните файл под именем «PLCSymbolTable.csv» в каталоге, где хранятся проекты
Citect SCADA (например, «C:\ProgramData\Schneider Electric\Citect SCADA 2016\User»).
Файл должен содержать простой текст без дополнительной служебной информации, таким
образом, файл не может иметь формат и расширение «doc», «docx» или «rtf».
Рекомендуется использовать стандартное Windows-приложение NotePad или аналогичное.
Отметим, что для создания набора строк можно использовать MS Word, и MS Excel, однако
в случае MS Word при сохранении следует использовать формат обычного текста «txt», а
после сохранения переименовать расширение файла на «csv». При работе с MS Excel
следует адреса, имена и комментарии формировать в колонках «A», «B» и «С», а при
сохранении файла выбрать формат «csv» с разделителями - запятыми.

3.5.2. Состав и режимы работы OFS


Программное обеспечение OFS компании Schneider Electric может быть запущено в
полнофункциональном

В состав дистрибутива 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.5.3. Конфигурирование OFS


Прежде чем запускать сервер, его необходимо сконфигурировать: указать, по какому протоколу и с
каким устройством/контроллером должна быть установлена связь, а также указать другие
параметры, например, необходимость обращаться физически к устройству или «симулировать»
связь с этом устройством посредством OFS. Для запуска приложения OFS Configuration Tool
выполняем команду Пуск | Программы | Schneider Electric | Ofs | OFS Configuration Tool. При
установке программы OFS были сконфигурированы два демонстрационных устройства
DevExample1 и DevExample2, которые можно использовать для ознакомления с
конфигурированием и работой OFS.
Нажав Ctrl+N или выполнив команду File | New Device Alias… , начнем конфигурирование нового
устройства: появившееся окно настраиваем в соответствии с рис. 3.39. В поле Device name
указываем имя PLC_OFS. Для заполнения поля Device address нажимаем кнопку просмотра,
расположенную в правой части поля. Появившееся окно Device address wizard заполняем в
соответствии с рис. 3.40 и нажимаем кнопку OK. Для заполнения поля Symbol table file, задающего
символьный файл описания соответствия адресов и переменных проекта, также используем кнопку
просмотра. Здесь могут быть указаны файлы разных форматов. В нашем случае следует выбрать в
ниспадающем меню, расположенном в правом нижнем углу окна, тип файла «CSV» и указать файл,
созданный в упр. 3.8 (см.п.3.5.1).

Рис. 3.39. Вид приложения OFS Configuration Tool после запуска и конфигурирования вкладки
Devices | Device overview

Конфигурации для остальных вкладок, расположенных в левом поле главного окна приложения
OFS Configuration Tool, можно использовать по умолчанию и не менять. Обратим лишь внимание
на вкладку OFS Server Settings | Simulation: именно здесь можно отметить режим «симуляции» для
всего OFS (рис. 3.41). В случае, если планируется выполнить физически подключение к
контроллеру для чтения или записи данных, нужно снять отметку в строке Simulator Mode. Если
проводится «симуляция» отдельного устройства (рис.3.39) или всего сервера, то верхним пределом
53

изменения целых и вещественных тегов можно управлять: значение 100, используемое по


умолчанию, можно заменить на другое (на рис.3.41 поставлено значение 300). Для сохранения
заданных параметров выполняем команду File | Save Configuration, после чего откроется окно
(рис. 3.42), говорящее о том, что для вступления в силу внесённых изменений обходимо перегрузить
OFS-сервер, если к этому моменту сервер уже был запущен. Нажимаем кнопку OK и закрываем
окно приложения OFS Configuration Tool.

Рис. 3.40. Конфигурирование окна Device address wizard

Рис. 3.41. Вкладка OFS Server settings | Simulation


54

3.5.4. Запуск клиента OFS и тестирование связи


Перед запуском клиента OFS нужно определить, будет ли клиент использовать режим «симуляции»
(запуск OPC Factory Server Simulator) или нет (запуск OPC Factory Server). В первом случае
подключение контроллера не требуется, будет происходить моделирование работы OFS-сервера, а
во втором случае требуется физически организовать связь компьютера и контроллера. В первом
случае сервер в режиме «симуляции» необходимо запустить до начала создания клиента с помощью
команды Пуск | Программы | Schneider Electric | Ofs | OPC Factory Server Simulator. Во втором
случае приложение OPC Factory Server запустится автоматически.

Рис. 3.42. Сообщение о необходимости перезапуска OFS-сервера

Рис. 3.43. Выбор сервера для приложения OFS Client

Для запуска приложения OFS Client выполняем команду


Пуск | Программы | Schneider Electric | Ofs |{OFS Testing Client}| OFS Client. В появившемся
окне (рис. 3.43) выбираем сервер Schneider-Aut.OFS и нажимаем кнопку OK. Далее в окне клиента
необходимо создать новую группу и добавить в неё переменные из символьного файла описания
переменных. Для этого в окне клиента выполняем команду Group | New Group. Поменяем поле
Update rate, задающее частоту обновления элементов-тегов, которые мы поместим в эту группу
следующим действием, с 1000 мс на 500 мс (рис. 3.44); нажимаем кнопку OK. Для добавления
новых элементов в группу выполняем команду Item | New… (рис. 3.45), выбираем PLC_OFS:
появится список символьных переменных из созданной ранее таблицы PLCSymbolTable. В списке
переменных последовательно выбираем переменную MyBit0, нажимаем кнопку ОК, переменную
MyCounter и нажимаем ОК (рис. 3.46). Можно включить в группу GRP1 и другие элементы-теги.
Если переходить со строки на строку в левой панели окна отображаемой группы GRP1, то на правой
панели будут отображаться сведения о элементе-теге, которые собирает OFS-сервер и отправляет
OFS-клиенту, среди которых в последней строке (Value) отображается текущее значение. Можно
также отметить, что в строке ввода имени элемента-тега (ItemID на рис. 3.46) допускается
указывать не только символический, но и физический адрес элемента: например, строка
PLC_OFS!%MW11 приведет к чтению и отображению тех же значений, что и строка
PLC_OFS!MyTimer (см.таблицу в упр. 3.8). Понятно, что использование символических имен
удобнее, чем использование физических адресов..
55

Дополнительно правильность проделанных действий можно подтвердить одним из двух способов,


что зависит от предварительного выбора режима – OPC Factory Server или OPC Factory Server
Simulator. При использовании режима OPC Factory Server в контроллер должен быть загружен и
запущен проект, для которого была построена таблица PLCSymbolTable. Изменяя значения
переменных в контроллере, можно наблюдать изменение значений читаемых элементов-тегов в
окне OFS-клиента. При использовании режима OPC Factory Server Simulation можно видеть
периодические изменения значений переменных: для битовых элементов-тегов чередуются
значения False-True, а для переменных целого или вещественного типа значение увеличивается до
указанного при конфигурировании OFS максимального значения (см.рис.3.41) с последующим
сбросом в ноль, при этом значения целого типа меняются на 1, а значения вещественного типа – на
0,1 с периодом, заданном в свойствах созданной группы (см.рис. 3.44). Вид окна клиента при выводе
значений из контроллера представлен на рис. 3.47.

ч
Рис. 3.44. Создание новой группы

Рис. 3.45. Выбор нового элемента в группе GRP1


56

Рис. 3.46. Добавление элементов-тегов в созданную группу

Рис. 3.47. Окно клиента OFS с отображением свойств элементов-тегов

3.5.5. Связь Citect SCADA с контроллером c помощью OFS


Для тестирования связи Citect SCADA с контроллером создадим проект Training2OFS на основе
проекта Training1. Для этого поступим так же, как в упр. 3.6. Восстановим (команда
Проекты | Восстановить: на странице Проекты кнопка со стрелкой вниз справа от команды
Резервное копирование) из проекта Training1 новый проект с именем Training2OFS.
57

Перейдем на страницу Топология и откроем вкладку Устройства ввода-вывода. Нажав на кнопку


с многоточием в правой стороне второй строки, откроем окно Мастера установки связи между
устройствами. С помощью команды Мастера настраиваем связь контроллера с сервером ввода-
вывода (табл. 3.9) аналогично тому, как это описано в разделе 3.1.
Таблица 3.9. Настройка связи контроллера с сервером ввода-вывода

Мастер, номер шага Параметры и действия


1. Мастер установки связи между Проект: Training2OFS. Нажать кнопку Далее
устройствами
2. Мастер установки связи между Использовать существующий сервер I/O: OvenServer.
устройствами Нажать кнопку Далее
3. Мастер установки связи между Создать новое устройство I/O: MyPLCOFS. Нажать
устройствами кнопку Далее
4. Мастер установки связи между Выбрать Внешнее устройство I/O. Нажать кнопку
устройствами Далее
5. Мастер установки связи между Производитель: Schneider Electric. Модель:
устройствами OPC Factory Server. Средства связи: OFSOPC.
Нажать кнопку Далее
6. Мастер установки связи между Адрес: PLC_OFS (указываем имя устройства, данное
устройствами в Конфигураторе OFS – см.рис. 3.44). Нажать
кнопку Далее
7. Мастер установки связи между Выбираем опцию «Привязать устройство к внешней
устройствами БД тегов». Выбираем в двух полях OPC и Schneider -
Aut.OFS.2 (рис. 3.48). Третье поле со строкой
подключения будет сформировано автоматически.
Нажать кнопку Далее
8. Мастер установки связи между Нажать кнопку Готово
устройствами

Рис. 3.48. Конфигурирование связи с OFS

В результате работы Мастера установки связи между устройствами Citect SCADA получит
информацию о возможности подключения к устройству-контроллеру с именем PLC_OFS через
OFS, который был сконфигурирован в разделе 3.5.3. Кроме того, будет выполнен импорт
пользовательских и системных тегов (список находится на странице Модель системы | Теги –
рис.3.49). Имена тегов изменены: к именам, определенным нами в упр. 3.8, добавлено в качестве
префикса имя устройства PLC_OFC.
58

Рис. 3.49. Импортированные теги, привязанные к адресам контроллера

Системные теги, которые не предполагается использовать в проекте, можно удалить (например,


путем выделения строк и нажатия на кнопку Удалить строки).
Импорт тегов, определенных для устройства OFS, с целью обновления списка можно выполнить не
только на этапе подключения устройства, но и позже. Этому на странице Топология | Устройства
ввода/вывода служит команда Импортировать метки…(рис. 3.50). Система не проверяет,
повторяются ли или нет импортируемые имена, поэтому список тегов необходимо проверять и не
допускать повторения в таблице тегов одних и тех же имен. Эту же задачу можно решить, выполняя
компиляцию проекта («горячая клавиша» Alt-F10).

Рис. 3.50. Возможность импорта тегов после того, как создано устройство ввода-вывода

Создадим теперь новую графическую станицу в среде приложения Построитель графики Citect с
помощью кнопки Новый на панели инструментов или команды Файл | Новый…. В появившемся
окне Новый следует нажать на кнопку Страница. В результате появится окно
Использовать шаблон, представленное на рис. 3.51.
59

Используем параметры шаблона графической страницы, предлагаемые по умолчанию, и нажимаем


кнопку OK. Для сохранения созданной страницы под именем PLC_OFS_Page нажимаем кнопку
Сохранить на панели инструментов, или выполняем команду Файл | Сохранить, или же
используем «горячую клавишу» Ctrl+S. В появившемся окне Сохранить как в поле Страница:
вкладки Страница указываем имя графической страницы PLC_OFS_Page и нажимаем кнопку OK.
Выведем на эту страницу значения трех тегов, которые считываются в приложение Citect SCADA
из контроллера или «симулируются» с помощью OFS. Для этого поместим на странице три
числовых поля для отображения значений тегов PLC_OFS_MyBit0, PLC_OFS_MyCounter и
PLC_OFS_MyReal, а также трех поясняющих текстовых полей. Вид страницы и свойства одного из
числовых полей показаны на рис. 3.52.
Сохраняем графическую страницу, в среде Citect Studio выполняем команды
Проекты | Упаковать, Компилировать (Alt-F10), Выполнить (F5) для тестирования проекта
(рис. 3.53). Как мы видим, выводимые значения меняются «симулятором» или контроллером и
передаются в приложение Citect SCADA с помощью OFS, что свидетельствует о правильной
настройке обмена информацией.
Сохраняем созданный проект под прежним именем Training2OFS.

Рис. 3.51. Задание параметров шаблона графической станицы


60

Рис. 3.52. Свойства графического объекта для вывода числа

Рис. 3.53. Тестирование приложения: чтение тегов с помощью OFS


61

Глава 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

4.1. Рисование графической страницы проекта Training2


Первым этапом настройки графической страницы после создания страницы и определения ее
свойств является рисование графических объектов на странице. Графические объекты, которые
следует нарисовать, и их примерное расположение на новой странице показаны на рис. 4.2. Эти
объекты представляют технологическую печь (духовку, oven).

Упражнение 4.1. Создание новой графической страницы Oven


В качестве проекта используйте проект Training2. Аналогично порядку действий, указанному ранее
в упр. 3.3, создайте новую графическую страницу. При создании новой графической страницы
используйте шаблон страницы с параметрами, указанными в табл. 4.1. Сохраните страницу под
именем Oven.
Со в ет
Регулярно сохраняйте создаваемую страницу — не ждите, пока страница будет полностью создана!
Пользуйтесь меню Порядок приложения Построитель графики Citect — его команды часто
оказываются весьма полезными. Если нужно отменить последнее выполненное действие, то нажимайте
кнопку Откат на панели инструментов или выполняйте команду Правка | Откат или используйте
«горячую клавишу» Ctrl+Z. Для удобства работы с графическими объектами установите на странице
режим показа сетки — выполните команду Вид | Настройка сетки…, в окне Настройка сетки
установите свойство Отобразить сетку и нажмите кнопку OK.

Таблица 4.1. Параметры графической страницы Oven

Параметр Значение
Стиль Tab_style_1
Разрешение XGA
Шаблон normal
Связанный 
Предназначено для показа заголовка 
Цвет фона Серый (задайте в свойствах страницы)

Упражнение 4.2. Размещение в графической странице Oven


символа Tank
Поместите символ Tank в графическую страницу. Для этого в Окне объектов приложения
Построитель графики Citect (см. приведенный ранее рис. 3.17) нажмите кнопку
Вставить символ, в появившемся окне Вставить символ выберите библиотеку tanks_cyl_conb_30
и символ tank (рис. 4.3), нажмите кнопку OK и поместите символ в нужном месте страницы. Для
того, чтобы повернуть символ на 180 градусов, в среде приложения Построитель графики Citect
выполните команду Порядок | Повернуть…, в появившемся окне Вращение выберите дважды
По часовой стрелке и нажмите кнопку OK. Снабдите добавленный символ поясняющим текстом
Gas Tank - Емкость с газом (см. приведенный ранее рис. 4.2), аналогично тому, как это делалось в
упр. 3.4.
Со в ет
Не забудьте еще раз сохранить страницу — не ждите, пока страница будет полностью создана! Если
сразу же после размещения графического объекта открывается диалоговое окно настройки его свойств,
просто нажмите кнопку OK, если не требуется изменять свойства, задаваемые по умолчанию. Чтобы
легче было рисовать, включите режим Привязать к сетке. Для его включения выполните команду
Вид | Настройка сетки, в появившемся окне отметьте Привязать к сетке и нажмите кнопку ОК. Если
при выборе действия в меню Правка, Вид, Текст или Порядок открывается диалоговое окно, то
нажмите кнопку Справка, чтобы получить дополнительную информацию по этому действию.

Упражнение 4.3. Размещение на графической странице Oven


набора символов Burner
Поместите набор символов Burner (Горелка) на графическую страницу. Для этого в Окне
объектов приложения Построитель графики Citect (см. приведенный ранее рис. 3.17) нажмите
кнопку Набор образов, переместите курсор в нужное место страницы (см. приведенный ранее
рис. 4.2), нажмите левую кнопку мыши, в появившемся окне Свойства: Набор образов нажмите
кнопку Задать, в окне Выбрать образ выберите библиотеку misk2 и символ flame001 (рис. 4.4).
63

Рис. 4.1. Типовой внешний вид графической страницы

Рис. 4.2. Примерный вид графической страницы

Наборы образов можно использовать на графической странице для отображения


последовательности изображений по некоторому условию. Это позволяет моделировать движение
(динамическое изображение). Заменим статическое изображение пламени Горелки динамическим
изображением пламени.
Подготовим изображения не горящей горелки и изображения горелки для анимации – изображения
с меняющимся видом пламени. Образ flame001 используем для того, чтобы сформировать
изображение не горящей горелки. Чтобы в образе flame001 убрать изображение пламени, дважды
нажмите на символ горелки, в появившемся окне Свойства: набор образов выберите символ
горелки, еще раз дважды щелкните по изображению, в появившемся окне Выбрать символ
нажмите на кнопку Правка. Построитель графики откроет новое окно с изображением flame001
(рис. 4.5 вверху). Щелкните мышкой по изображению горелки: оно должно быть выделено – т.е.
отмечено восьмью прозрачными квадратиками. Выполните команду
Средства | Редактор растровых изображений, в появившемся окне
Редактора растровых изображений (рис. 4.5 внизу) уберите изображение пламени, нажмите
кнопку  на панели инструментов и окно Редактор растровых изображений закроется. Для
сохранения откорректированного изображения символа нажмите кнопку Сохранить как, дайте
этому символу имя burner_off, укажите библиотеку global (рис. 4.6 вверху) и закройте текущее
окно. Далее в окне Oven приложения Построитель графики откройте Свойства (Properties)
контекстного меню объекта Symbol Set (Набор образов) и выберите радио-кнопку
Анимированный для закладки Представление, нажмите кнопку Задать для поля OFF образ,
выберите в библиотеке global символ burner_off, задайте другие свойства, как показано на рис. 4.6
внизу, нажмите на кнопку OK и поместите символ в нужном месте страницы. Таким образом, мы
64

сконфигурировали набор символов как анимированную картинку, при помощи которой создается
иллюзия движения при условии единичного значением тега Burner_Stat. Снабдите добавленный
набор символов поясняющим текстом Burner – Горелка (см. рис. 4.2), аналогично тому, как это
делалось в упр. 3.4.

Рис. 4.3. Выбор объекта (символа) tank

Со в ет
Не забудьте снова сохранить страницу — не ждите, пока страница будет полностью создана!

Упражнение 4.4. Размещение на графической странице


многоугольника Oven
Поместите многоугольник Oven на графическую страницу (см. приведенный ранее рис. 4.2). Для
этого в Окне объектов приложения Построитель графики (см. приведенный ранее рис. 3.17)
нажмите кнопку Полигон, отпустите кнопку мыши, переместите мышь в узел (место) страницы,
где должна находиться вершина многоугольника. Нажмите левую кнопку мыши и, не отпуская ее,
переместите мышь в узел следующей вершины и отпустите кнопку мыши. Аналогично постройте
остальные стороны многоугольника, а в последней вершине дважды "щелкните" левой кнопкой
мыши. Появится окно Свойства: Полигон, которое следует закрыть, нажав кнопку OK. Снабдите
добавленный прямоугольник поясняющим текстом Oven – Печь (см. приведенный ранее рис. 4.2).

Рис. 4.4. Свойства набора символов Burner

Со в ет
Не забудьте снова сохранить страницу — не ждите, пока страница будет полностью создана!
65

Рис. 4.5. Изменение растрового изображения flame001

Упражнение 4.5. Размещение трубопровода на графической


странице Oven
Поместите трубопровод на графическую страницу. Для этого в Окне объектов приложения
Построитель графики Citect (см. приведенный ранее рис. 3.17) нажмите кнопку Труба, отпустите
кнопку мыши, переместите мышь в узел (место) страницы, где должно находиться начало
трубопровода, нажмите левую кнопку мыши и, не отпуская ее, переместите мышь в узел
следующего изгиба трубопровода и отпустите кнопку мыши. Аналогично выполните остальные
участки трубопровода, а в конце трубопровода дважды "щелкните" левой кнопкой мыши. Появится
окно Свойства: Труба, которое следует настроить (например, ширина 12) и нажать кнопку OK.
Рассмотренные ранее графические объекты Полигон, Труба, а также графические объекты
Прямоугольник и Эллипс можно перемещать, изменять их размеры и форму, переносить на
передний план и т. д. Каждый из указанных графических объектов состоит из непрерывной серии
линий, соединяющих вершины. Каждая вершина изображается в виде маленького квадратика.
Формы рассмотренных ранее графических объектов можно изменять многими способами.
66

Рис. 4.6. Сохранение растрового изображения с именем burner_off и анимация набора символов

Для выделенного графического объекта вершины можно выбирать по отдельности или группой и
перемещать в другое место, изменяя таким образом форму графического объекта. Для добавления
вершины достаточно выбрать графический объект, установить курсор в требуемое место линии и
нажать клавишу Insert. Для удаления вершины достаточно выбрать графический объект, выбрать
вершину и нажать клавишу Delete.

Упражнение 4.6. Размещение на графической странице Oven еще


одного набора символов Burner
Поместите еще один набор символов Burner на графическую страницу с другой стороны
изображения печи. Для этого выделите существующий набор символов Burner, скопируйте его и
вставьте в страницу с помощью кнопок Копировать и Вставить на панели инструментов
приложения Построитель графики Citect, поверните копию на 180 градусов так, это делалось для
символа Gas Tank и разместите его так, как показано ранее на рис. 4.2.
Со в ет
Не забудьте снова сохранить страницу — не ждите, пока страница будет полностью создана!
67

Упражнение 4.7. Просмотр созданной графической страницы


Oven. Проект Training3
Сохраните, компилируйте и запустите проект. Протестируйте выполненную модификацию
страницы Oven. Обратите внимание, что если вы будете менять значение переменной Burner_Stat
(для этого, например, можно зарегистрироваться как пользователь MAIN_USER с паролем USER
и перейти на страницу изменения значений тегов VariableTags), то вид горелки будет меняться.
Завершите работу проекта.
Со в ет
Не забывайте периодически сохранять проект на диске компьютера. Сохраните проект Training2 под
именем Training3. В дальнейшем работайте с проектом Training3. Сделайте этот проект активным,
щелкнув мышкой по строке с его описанием на странице Проекты приложения Citect Studio.

4.2. Цветовая анимация графических объектов во время


выполнения проекта
Графические объекты страницы могут иметь динамические свойства (например, цвет, размер и
положение), которые могут изменяться во время выполнения проекта, отражая изменения условий
управляемого процесса. В частности, подходящий цвет заполнения полигона Печи (Oven) был бы
идеальным способом передачи оператору значения температуры Печи. Рассмотрим такую
возможность.

Упражнение 4.8. Цветовая анимация графического объекта


Определите свойства объекта Oven так, чтобы при изменении температуры менялся цвет
заполнения полигона.
Используйте проект Training3. В среде Построитель графики Citect на странице Oven двойным
щелчком левой кнопки мыши на объекте (полигоне) Oven откройте диалог Свойства: Полигон, во
вкладке Представление(Общее) отметьте поле Заполненный. Во вкладке Заполнение(Цвет)
выберите тип анимации Массив, в поле Выражение массива задайте выражение Oven_Temp/25,
определяющее индекс элемента массива, в поле Цвета массивов определите цвета заполнения
многоугольника, соответствующие различным значениям индекса Oven_Temp/25. Во вкладке
Доступ(Общие) в поле Подсказка задайте текст всплывающей подсказки Цветом заполнения
управляет тег Oven_Temp и нажмите кнопку OK (рис. 4.7).
За ме ч а н ие
Поскольку значение тега переменной Oven_Temp изменяется в диапазоне от 0 до 130 градусов (см.
определение этого тега в упр. 3.6), то значение индекса Oven_Temp/25 (а это деление чисел с
округлением частного до целого значения) изменяется в диапазоне от 0 до 5. Следовательно, в поле
Цвета массивов (см. приведенный рис. 4.7) следует определить цвета заполнения для первых шести
элементов массива цветов. При значениях тега Oven_Temp между 0 и 12 градусами будет использован
мерцающий черно-желтый цвет заполнения, между 13 и 37 градусами — желтый, между 38 и 87
градусами — зеленый, между 88 и 112 градусами — красный и при значении более 113
градусов — мерцающий черно-красный цвета заполнения.
68

Рис. 4.7. Анимация объекта Oven (полигона) цветом заполнения

Со в ет
При записи выражения в поле Выражение массива пользуйтесь Мастером выражений (кнопка его
активизации расположена справа). Это позволит избежать опечаток в записи идентификаторов тегов
или функций (процедур). Сохраните модифицированную страницу Oven, выполните компиляцию и
запустите проект. Зарегистрируйтесь как привилегированный пользователь, откройте страницу Oven,
перейдите на страницу VariableTags, задавайте различные значения тега Oven_Temp и наблюдайте за
изменениями цветов заполнения многоугольника Oven. Завершите работу проекта.

4.3. Отображение столбиковой диаграммы во время


выполнения проекта
Одним из динамических свойств графических объектов является свойство, задаваемое во вкладке
Заполнение(Цвет) диалогового окна свойств графического объекта. Если заполнение применяется
для прямоугольного объекта, то можно создать столбиковую диаграмму (или так называемый «бар-
граф») для отображения изменяемой величины. Например, можно нарисовать столбиковую
диаграмму и использовать свойство Заполнение(Уровень) для отображения температуры печи.

Упражнение 4.9. Использование столбиковой диаграммы и


предопределенного объекта Джинн (Genie)
Создайте столбиковую диаграмму для отображения температуры Печи в виде уровня заполнения
прямоугольника.
Поместите объект Прямоугольник в графическую страницу. Для этого в Окне объектов
приложения Построитель графики Citect (см. приведенный ранее рис. 3.17) нажмите кнопку
Прямоугольник и разместите объект Прямоугольник в графической странице Oven в
соответствии с рис. 4.8. Сразу же появится окно Свойства: Прямоугольник, которое следует
настроить в соответствии с рис. 4.9 и нажать кнопку OK.
Снабдите добавленную столбиковую диаграмму поясняющим текстом Oven_Temp (см. рис. 4.8),
аналогично тому, как это делалось ранее.
Со в ет
Не забудьте снова сохранить страницу — не ждите, пока страница будет полностью создана!

Для изменения значения температуры Духовки добавьте в графическую страницу


предопределенный графический объект Джинн. Для этого в Окне объектов приложения
Построитель графики Citect (см. приведенный ранее рис. 3.17) нажмите кнопку Вставить джинн.
69

В появившемся диалоге Вставить джинн в поле Библиотека выберите библиотеку 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

4.4. Отображение числовых значений во время


выполнения проекта
Вы можете отображать значение любого тега или выражения во время выполнения проекта как
число. Если значение тега или выражения изменяется, то отображающее его число на графической
странице автоматически обновляется.

Упражнение 4.10. Отображение числовых значений


Используйте графический объект Число для отображения значения тега переменной Oven_Temp
на странице Oven проекта Training3. В Окне объектов приложения Построитель графики Citect
(см. приведенный ранее рис. 3.17) нажмите кнопку Число и разместите объект Число в графической
странице Oven в соответствии с рис. 4.12. Сразу же появится диалоговое окно Свойства: Текст.
Выберите вкладку Представление (Отображаемое значение) диалогового окна свойств и вставьте
тег Oven_Temp в окно Числовое выражение (рис. 4.13). В качестве формата можно указать строку
###.# EU, в которой задается количество цифр до и после запятой, а EU (Engineering Units –
70

«Инженерные единицы») задает вывод единиц измерения, в данном случае градусов Цельсия –
строка берется из определения тега (см. упр. 3.6). Выберите вкладку Доступ (Общее) диалога
свойств и введите текст всплывающей подсказки Значение температуры печи. Выберите вкладку
Представление (Общее) диалога свойств и установите желаемый шрифт, цвет, выравнивание,
эффекты или воспользуйтесь значениями, предлагаемыми по умолчанию. Для завершения диалога
нажмите кнопку OK.

Рис. 4.9. Настройка объекта-столбиковой диаграммы в графической странице Oven


71

Со в ет
Для более удобного отображения числового значения температуры поместите в графическую страницу
прямоугольник с границей черного цвета и белым цветом заполнения, переместите в него графический
объект Число, сгруппируйте их и поместите сгруппированный объект на прежнее место внутрь
многоугольника.

Сохраните графическую страницу, выполните компиляцию проекта, запустите проект,


протестируйте сделанные изменения и завершите работу проекта.

Рис. 4.10. Настройка объекта Джинн — Ramp Up Down Button на графической странице Oven

Рис. 4.11. Размещение объекта Джинн — Ramp Up Down Button на графической странице Oven
72

4.5. Отображение текста во время выполнения проекта


Вы можете отображать на графической странице различные текстовые сообщения, зависящие от
состояния некоторого дискретного тега или выполнения некоторого условия. Например, вы можете
отображать слово Вкл. рядом с изображением двигателя во время его работы или на том же месте
слово Выкл. в ином случае.

Упражнение 4.11. Отображение текста и его анимация. Проект


Training4
На странице Oven проекта Training3 используйте графический объект Текст для отображения
состояния тега переменной Burner_Stat в виде соответствующего текста, изменения цвета текста в
зависимости от состояния тега и переключения тега.
В Окне объектов приложения Построитель графики Citect (см. приведенный ранее рис. 3.17)
щелкните левой кнопкой мыши на кнопке Текст, переместите указатель мыши в требуемое место
графической страницы (рис. 4.14), введите первый символ текста и нажмите левую кнопку мыши.
Сразу же появится диалоговое окно Свойства: Текст.

Рис. 4.12. Размещение объекта Число в графической странице Oven

Задайте в поле Текст начальный отображаемый текст, а в поле Текст: — его цвет (красный) и
нажмите кнопку Применить (рис. 4.15).
Задайте тег, состояние которого нужно отобразить, и текст, соответствующий возможным
состояниям тега. Для этого выберите вкладку Представление (Отображаемое значение)
диалогового окна свойств, настройте ее в соответствии с рис. 4.16 и нажмите кнопку Применить.
Во вкладке Заливка (Цвет) задайте цвета, которыми будет отображаться текст в зависимости от
состояния тега (рис. 4.17) и нажмите кнопку Применить. Во вкладке Ввод (Касание) задайте
переключение тега Burner_Stat при щелчке левой кнопкой мыши по объекту Текст (рис. 4.18). Для
переключения состояния дискретного тега используйте функцию Toggle, которую выбирайте с
помощью Мастера алгебраических выражений и функций. Нажмите кнопку Применить. В поле
73

Подсказка: вкладки Доступ (Общее) задайте текст всплывающей подсказки, которая будет
появляться во время выполнения, если курсор мыши поместить над объектом (рис. 4.19). Для
закрытия диалогового окна нажмите кнопку OK.

Рис. 4.13. Вид вкладки Представление (Отображаемое значение) объекта Число на графической странице
Oven
74

Рис. 4.14. Размещение объекта Текст на графической странице Oven

Рис. 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.12. Анимация клапана трубопровода. Проект


Training5
Рассмотрим еще один пример анимации изображений — дополним трубопровод на графической
странице Oven клапаном и выполним анимацию его изображения: на странице Oven проекта
Training4 добавьте графический объект для отображения клапана трубопровода и его состояния.
При щелчке левой кнопкой мыши по клапану предусмотрите изменение цвета изображения клапана
и изменение значения дискретного тега, связанного с клапаном, на противоположное. Для этого
выполните следующие действия.
В Окне объектов приложения Построитель графики Citect (см. приведенный ранее рис. 3.17)
щелкните левой кнопкой мыши по кнопке Набор образов, переместите указатель мыши в
требуемое место графической страницы (рис. 4.20) и нажмите левую кнопку мыши. Сразу же
появится диалоговое окно Свойства: Набор образов. Для изменения цвета изображения клапана в
зависимости от значения дискретного тега Gas_Valve выберите вкладку Представление (Общее)
диалога свойств, настройте ее в соответствии с рис. 4.21. Поля OFF образ: и ON образ: заполняйте
с помощью соответствующих кнопок Задать…в соответствии с рис. 4.22. Нажмите кнопку
Применить. Для изменения при щелчке левой кнопкой мыши по клапану значения дискретного
тега Gas_Valve выберите вкладку Ввод (Касание) диалогового окна свойств, настройте ее в
соответствии с рис. 4.23 и нажмите кнопку Применить. Обратите внимание, что в поле
Вверх команда использована стандартная функция языка Cicode Toggle(), действие которой
состоит в изменении значения дискретного тега, заданного аргументом, на противоположное.
77

Рис. 4.18. Задание условия переключения дискретного тега при нажатии объекта Текст в графической
странице Oven

Для задания для клапана трубопровода всплывающей подсказки выберите вкладку Доступ (Общее)
и заполните поле Подсказка: «Щелкните мышкой для изменения значения тега Gas_Valve» и
завершите диалог нажатием кнопки OK. Сохраните графическую страницу, выполните
компиляцию проекта, запустите проект, протестируйте сделанные изменения.
За ме ч а н ие
Вставив символ из библиотеки на графическую страницу, можно перемещать его, изменять его размер
и форму, переносить на передний план, редактировать его свойства точно так же, как и с другими
типами объектов. Символ из библиотеки можно вставить на графическую страницу как непривязанный
(unlinked) или как привязанный (linked) символ. Непривязанный символ, в отличие от привязанного, не
обновляется при изменении символа в библиотеке. Разорвать связь символа с библиотекой можно
командой Правка | Разорвать связь.

Рис. 4.19. Задание текста всплывающей подсказки для объекта Текст на графической странице Oven

При тестировании щелкните левой кнопкой мыши по изображению клапана несколько раз. После
каждого щелчка обратите внимание на изменение цвета изображения клапана и проверьте значение
78

дискретного тега Gas_Valve на вкладке VariableTags. Не забудьте проверить функционирование


всплывающей подсказки. Завершите работу проекта.
Со в ет
Сохраните проект на магнитном диске. Для этого в среде приложения Citect Studio достаточно выбрать
на странице Проекты проект Training4 и выполнить команду Резервное копирование. В
появившемся окне Создание резервной копии проекта следует указать требуемые параметры и
нажать кнопку OK. Проект восстановите с именем Training5. Для этого достаточно на странице
Проекты выполнить команду Восстановление. В появившемся окне Восстановить проект следует
указать требуемые параметры (новый проект, имя проекта Training5) и нажать кнопку OK. В
дальнейшем работайте с проектом Training5, сделав его активным.

За ме ч а н ие
Рассмотрения других более развитых средств графики Citect SCADA будет продолжено далее в главе 9
после изучения сигналов тревог, трендов, команд и управляющих элементов.

Рис. 4.20. Вид графической страницы Oven после добавления клапана трубопровода

Рис. 4.21. Задание изменения цвета клапана в зависимости от состояния дискретного тега Gas_Valve
графической страницы Oven
79

Рис. 4.22. Выбор изображения клапана трубопровода

Рис. 4.23. Задание изменения значения дискретного тега при щелчке по клапану трубопровода
80

Глава 5. Оповещения - сигналы тревоги


(Alarms)
Защита работающего оборудования предприятия является одной из центральных особенностей
системы Citect SCADA. Сигналы тревог обеспечивают постоянный мониторинг и другие требуемые
операции при возникновении любых ошибок оборудования. Citect SCADA поддерживает два типа
оповещений — оповещения или сигналы тревог аппаратных средств и конфигурируемые
оповещения или конфигурируемые сигналы тревог.
Оповещения (сигналы тревог или «алармы») аппаратных средств (аппаратные оповещения).
Система Citect SCADA непрерывно управляет диагностическими подпрограммами, чтобы
проверить все периферийное оборудование, в том числе устройства ввода/вывода. Обо всех
ошибках автоматически формируются сообщения оперативному персоналу. К аппаратным
оповещениям относятся также системные сообщения о работе программного обеспечения и самой
SCADA-системы. Оповещения аппаратных средств полностью интегрированы с
Citect SCADA — дополнительного конфигурирования их не требуется.
Конфигурируемые оповещения (сигналы тревог или «алармы»). В отличие от оповещений
аппаратных средств разработчику проекта требуется конфигурировать оповещения (сигналы
тревог) в виде сообщений об ошибочных ситуациях на предприятии (например, когда уровень
жидкости в резервуаре слишком высок или когда перегревается двигатель). Конфигурируемые
оповещения (сигналы тревог) вводятся в базу данных с помощью форм (диалоговых окон),
аналогичных формам для конфигурирования тегов переменных. Каждый тип оповещений (сигналов
тревог) имеет отличающиеся условия возникновения и параметры и, соответственно этому, свою
форму для конфигурирования.
Эта группа сигналов включает цифровые оповещения (сигналы тревог), оповещения с временной
меткой, аналоговые оповещения и расширенные оповещения.
Цифровые или двоичные оповещения (Digital Alarms) формируются в зависимости от значений
одного или двух двоичных тегов (возможно использование в проверяемом выражении операции
логического умножения AND).
Аналоговые оповещения (Analog Alarms) формируются, когда значение аналоговой переменной
выходит за заданные пределы. Аналоговый сигнал оповещения может формироваться как любая
комбинация следующих типов оповещений — High (Высокое значение сигнала), High High
(Критически высокое значение сигнала), Low (Низкое значение сигнала), Low Low (критически
низкое значение сигнала), Deviation (Отклонение значения сигнала от указанного при
конфигурировании заданного значения превышает величину отклонения) и Rate of Change
(Скорость изменения значения сигнала). Содержательно мы предполагаем, что аналоговая
величина при «правильных» условиях работы должна находиться около величины
Заданное_значение в пределах +- Отклонение. Выход аналоговой величины за пределы интервала
{Заданное_значение – Отклонение, Заданное_значение + Отклонение} отслеживает
исполнительная система реального времени, и этот выход приводит к оповещению. Другие
изменения значения тега (выход за пределы интервала {Low, High} или за пределы интервала {Low
Low, High High}) также приводят к оповещениям.
Расширенные оповещения (Advanced Alarms) формируются, когда значение логического
выражения, написанного на языке Cicode при конфигурировании оповещения, изменяется от
значения FALSE к значению TRUE.
Многоразрядные оповещения (Multi-digital Alarms) задаются с помощью трех цифровых тегов, тем
самым определяется 8 возможных комбинаций; далее можно определить, какие из этих комбинаций
будут формировать оповещение.
Оповещения с отметкой времени (Time Stamped Alarms) – цифровые и аналоговые: они похожи на
цифровые или аналоговые — сигнал включается при изменении состояния цифрового тега. В
отличие от обычных сигналов тревог эти сигналы снабжаются отметкой времени, полученной из
программируемого логического контроллера (ПЛК).
81

5.1. Конфигурирование сигналов тревог


Для добавления нового оповещения (сигнала тревоги) откройте приложение Citect Studio, выберите
требуемый проект (в нашем случае Training5), откройте страницу Модель системы и вкладку
Алармы, а затем с помощью ниспадающего меню, расположенного слева над таблицей, выберите
нужную строку, соответствующую типу добавляемого оповещения (рис. 5.1).

Упражнение 5.1. Добавление сигналов тревог


В проект Training5 добавьте одно аналоговое и два цифровых оповещения. Откройте приложение
Citect Studio, выберите отображение Аналоговых алармов (см. рис. 5.1). Как и любую таблицу в
Citect Studio, эту таблицу можно формировать двумя способами: непосредственно заполняя поля
таблицы или заполняя форму в правой части окна. В форме в правой части окна отображаются все
имеющиеся поля, а в таблице – только те колонки (они соответствуют полям формы), которые
отмечены для отображения. Нажав на кнопку с многоточием слева вверху таблицы, настройте
отображение колонок так, как показано на рис. 5.2. Настройте параметры аналогового оповещения
OvenTempAlarm так, как показано в длинной строке на рис.5.3. Нажмите кнопку Сохранить.
Для создания двух цифровых оповещений BurnerAlarm и ValveAlarm выберите отображение
Цифровых Алармов. Настройте параметры цифровых оповещений в соответствии с рис. 5.4,
выполните команду Сохранить. Выполните компиляцию проекта.

5.2. Отображение оповещений (сигналов тревог)


Во включаемом проекте Tab_Style_Include имеется несколько стандартных страниц, которые
можно использовать для отображения оповещений (сигналов тревог) различных типов.
Сконфигурированные активные оповещения отображаются на странице Активные алармы,
оповещения аппаратных средств — на странице Аппаратные алармы, история появления
оповещений из файла регистрации событий — на странице Исторические события и оповещения,
запрещенные вручную, — на странице Запрещенные алармы. Все перечисленные страницы
базируются на шаблонах оповещений включаемого проекта Tab_Style_Include.

Упражнение 5.2. Просмотр оповещений. Проект Training6


Выберите проект Training5 для включения и просмотра различных оповещений. Запустите проект
Training5, зарегистрируйтесь как привилегированный пользователь (MAIN_USER / USER).
Перейдите в графическую страницу Oven и смоделируйте появление аналогового оповещения
(выполните изменение значения тега Oven_Temp во всем диапазоне от минимума до максимума с
помощью клавиш со стрелками) и цифрового оповещения (переключите нескольку раз состояние
клапана трубопровода и состояние графического объекта управления горелкой) – см. рис. 5.5. Для
перехода на страницу активных оповещений Active Alarms используйте меню в верхней части
страницы. Возможный вид появившейся страницы иллюстрирует рис. 5.6. Выберите в списке
активных оповещений (Active Alarms) требуемый сигнал тревоги, например, OvenTempAlarm, и с
помощью правой кнопки мыши отобразите его контекстное меню (рис. 5.6). Команда контекстного
меню Квитировать (Acknowledge) служит для подтверждения оповещения (сигнала тревоги),
команда Заблокировать (Disable) — для отключения, то есть запрета возникновения этого
оповещения, кроме того, можно отобразить свойства оповещения по команде Свойства. Команда
Разрешить (Enable) позволяет системе вновь формировать оповещения (рис. 5.7).
82

Рис. 5.1. Добавление сигнала тревоги

Рис. 5.2. Настройка колонок таблицы аналогового оповещения


83

За ме ч а н ие
Обратите внимание, что команда Включить (Enable) не доступна на странице активных оповещений
(Active Alarms), а доступна только на странице отключенных оповещений (Disabled Alarms). И
наоборот, команда Заблокировать (Disable) доступна на странице активных оповещений
(Active Alarms) и не доступна на странице отключенных оповещений (Disabled Alarms).

Рис. 5.3. Конфигурирование аналогового оповещения (длинная строка таблицы показана в двух фрагментах)

Для упражнения отключите оповещение OvenTempAlarm и снова подключите его. Для


переключения между страницами оповещений пользуйтесь командами меню. Обратите внимание
на то, что кнопки, связанные с оповещениями и расположенные на панели инструментов в нижней
части окна (см. рис. 5.5), производят такие же действия, как и заданные в меню. Проверьте, к какому
результату на страницах оповещений приводят ваши команды, выполняемые после появления
контекстного меню (нажатие на правую кнопку мыши, указывающей на то или другое оповещение):
Квитировать, Заблокировать, Включить, Сведения.
84

Рис. 5.4. Конфигурирование цифровых оповещений (длинные строки таблицы разбиты на две
части)

Рис. 5.5. Страница Oven, меню оповещений (вверху) и поле для отображения активных оповещений (внизу)
85

Рис. 5.6. Контекстные меню выбранного оповещения на странице активных оповещений

Рис. 5.7. Контекстные меню выбранного оповещения на странице отключенных оповещений

В рамках системы Citect SCADA рассматриваются следующие состояния оповещений. Факт его
возникновения означает, что система зафиксировала такие состояния тегов переменных, которые
сделали сконфигурированное оповещение активным. Если состояния тегов переменных
изменились, оповещение может стать не активным. С другой стороны, человек-оператор может
подтвердить, что он увидел факт возникновения оповещения, даже если оно уже не является
активным. Кроме того, человек-оператор может заблокировать какое-то оповещение или через
какое-то время вновь разрешить отмечать в системе это оповещение.
Во включенном проекте Tab_Style_Include разные состояния оповещений отображаются на
«предустановленных» экранах разным шрифтом (рис. 5.8).
Если оповещение активно и не подтверждено оператором, то используется полужирный желтый
цвет шрифта.
Если оповещение не активно и не подтверждено оператором, то используется обычный желтый цвет
шрифта.
Если оповещение активно и подтверждено, то используется бледно-желтый цвет.
Если оповещение не активно и подтверждено, то используется бледно-синий цвет, причем факт
подтверждения отражается в окне последовательности событий, но строка об оповещении исчезает
со страницы активных оповещений.
Если оповещение заблокировано, то используется яркий голубой шрифт, оповещение удаляется со
страницы активных оповещений, но появляется на странице отключенных оповещений.
86

Рис. 5.8. Страница последовательности событий с историей возникновения оповещений

Обратите внимание, что аналоговые оповещения на странице последовательности событий в


колонке Сообщение сопровождаются численным значением аналогового тега, зафиксированным в
момент возникновения оповещения.
Во включенном проекте Tab_Style_Include имеется еще одна подготовленная страница,
расширяющая функциональные возможности при работе человека-оператора с оповещениями: так
называемая страница Сводка алармов (в английском варианте – Summary). Для того, чтобы сводку
оповещений можно было выводить во время работы, страницу Summary необходимо включить в
список страниц проекта. Для этого создайте новую страницу, используя шаблон Summary (стиль
Tab_Style_1, рис. 5.9), и сохраните эту страницу в своем проекте под именем Summary.
После компиляции и запуска проекта на выполнение, находясь на любой странице, щелкните
мышкой по кнопке со стрелкой, направленной вправо и находящейся в левой нижней части
страницы (рис. 5.10). В результате будет выведена сводная информация по оповещениям (алармам),
накопленная к настоящему времени.
87

Рис. 5.9. Создание страницы Summary со сводной информацией по оповещениям

Рис. 5.10. Подготовка вывода на экран сводки оповещений

Со в ет
Сохраните проект на магнитном диске. Для этого в среде приложения Citect Studio достаточно выбрать
на странице Проекты проект Training5 и выполнить команду Резервное копирование. В
появившемся окне Создание резервной копии проекта следует указать требуемые параметры и
нажать кнопку OK. Проект восстановите с именем Training6. Для этого достаточно на странице
Проекты выполнить команду Восстановление. В появившемся окне Восстановить проект следует
указать требуемые параметры (новый проект, имя проекта Training6) и нажать кнопку OK. В
дальнейшем работайте с проектом Training6, сделав его активным.

За ме ч а н ие
Рассмотрение других аспектов сигналов тревог будет продолжено далее в главе 12.
88

Глава 6. Графики тегов — тренды (Trends)


Визуальное представление прошлой и текущей деятельности, основанное на использовании
трендов, улучшает понимание технологических процессов. Тренд – это прямоугольная область на
странице проекта или в всплывающем окне, на которой система рисует график или графики
изменения значений переменных во времени. С помощью трендов можно представить значения
переменных – отразить технологический процесс – наглядным образом. Поскольку эти значения
изменяются во времени, то график может перемещаться по странице так, чтобы последние значения
всегда отображались.
Можно также прокручивать архивные данные, чтобы отображать прошлые значения переменных
или параметров процесса. Сбор архивных данных продолжается и тогда, когда графический показ
не активен. Вы можете переключаться между страницами, не мешая сбору данных. Можно
отображать в виде графика значение любой одиночной переменной или значение выражения,
записанного на языке Cicode. Можно отображать на экране любое количество трендов
одновременно (они должны размещаться на странице удобным образом) и на каждом тренде до
восьми временных графиков.
Система Citect SCADA поддерживает три типа трендов — Периодические (Periodic, графики
строятся постоянно на основе заданного интервала времени), Событийные (Event, очередные
точки графика строятся каждый раз, когда происходит заданное событие, т. е. определяемое в
событии условие оказывается истинным) и Смешанные (Periodic Event, построение графиков с
заданным периодом происходит только в случае выполнения заданного условия).
Тренды добавляются в систему Citect SCADA путем создания Тренд-тегов (Trend Tags). Каждый
тренд-тег имеет один или несколько отдельных файлов, в которых сохраняются данные.
Citect SCADA непрерывно сохраняет данные тренда, независимо от того, будет отображаться тренд
на графической странице или нет.
Для регистрации значений тега переменной с помощью тренда создайте тренд-тег и определите
один или более файлов для регистрации данных тренд-тега. Для отображения тренда создается
страница тренда и назначается перо для отображения значений тренд-тега в окне тренда.
Для сохранения регистрируемых данных система Citect SCADA использует ротацию цепочки из
нескольких архивных файлов, вместо того, чтобы сохранять их в одном большом файле. По
умолчанию Citect SCADA использует два файла, каждый из которых сохраняет данные на
протяжении одной недели, начиная с полуночи воскресенья. По умолчанию имя файла совпадает с
именем тренд-тега. Пользователь может изменить имя файла, период регистрации данных и число
архивных файлов.

6.1. Конфигурирование тренд-тегов


В среде приложения Citect Studio выберите требуемый проект (в нашем случае Training6), на
странице Модель системы откройте вкладку Тренды; обратите внимание, что перечень
отображаемых для конфигурации колонок можно менять. (рис. 6.1).
89

Рис. 6.1. Вкладка Тренды на странице Модель системы

Упражнение 6.1. Создание и конфигурирование тренд-тега


Добавьте в проект Training6 новый Тренд-тег и сконфигурируйте его. Для этого заполните первую
строку в таблице, показанной на рис. 6.1. Сконфигурируйте добавляемый Тренд-тег в соответствии
с рис. 6.2 (при этом для колонок, не показанных на этом рисунке, оставьте значения по умолчанию)
и нажмите кнопку Сохранить. Выполните компиляцию проекта и проверьте отсутствие ошибок на
этом этапе.

Рис. 6.2. Конфигурирование Тренд-тега


90

6.2. Отображение трендов


В проекте можно отображать тренды несколькими способами.
Первый способ является базовым, он основан на использовании графического элемента Тренд в
Графическом построителе. Этот объект представляет собой прямоугольник без дополнительных
осей, масштаба, курсор