- удобство интерфейса среды разработки;
- качество документации – ее полнота, уровень русификации;
- поддержка со стороны создателя – количество инсталляций, дилерская сеть, обучение, условия обновления версий и так далее.
Выбор будет производиться между двумя SCADA-системами: WinCC немецкой фирмы Siemens и Citect австралийской фирмы CiTecgnologies.
2.1.1 SCADA-система Citect
Особенность компании CiTechnologies (Ci - Control Instrumentation) в том, что она не только разработчик SCADA-системы Citect, но и системный интегратор. В систему вложен весь опыт системной интеграции, и не только в собственно ПО, но и в "базу знаний. Таким образом, SCADA-система Citect - это программный пакет, созданный на основе большого опыта компании. Уникальность его в двух аспектах:
- возможности постепенных инвестиций в используемый продукт;
- чисто технических особенностях.
2.1.1.1 Особенности использования Citect
Citect предлагает пользователям систему разработки бесплатно, цена же систем исполнения сравнима с соответствующими компонентами других SCADA-пакетов.
Одна из характеристик SCADA-системы Citect - гибкость, которая проявляется в нескольких чертах. Во-первых, для SCADA-системы Citect естественным является режим распределенной разработки приложений. Во-вторых, в SCADA-систему Citect заложено огромное многообразие подходов к разработке приложений. Так, возможна разработка приложений без программирования вообще на основе поставляемых библиотек графических объектов, шаблонов, драйверов и т.д. Возможна и самостоятельная разработка новых компонентов приложений, и модификация базовых. В зависимости от профессиональных навыков разработчика, приложение можно создавать как с использованием языка SCADA-системы Citect, называемого Cicode, так и более знакомых, традиционных языков программирования (Visual Basic, C).
В SCADA-системе Citect предусмотрено простое наращивание дополнительных узлов проекта и возможность перераспределения их функций. Выполняются такие процедуры на уровне конфигурирования каждого узла.
2.1.1.2 Технические возможности системы
SCADA-система Citect используется как 32-разрядное приложение Windows NT, Windows 95 и 98. Сбор данных, формирование алармов и построение трендов может происходить одновременно с редактированием и компиляцией. Ядро SCADA-системы Citect является многозадачным ядром реального времени, с вытеснением задач по приоритетам. Оно обеспечивает равномерное выполнение всех приложений.
2.1.1.3 База данных реального времени приложения
Для каждого нового проекта автоматически создаётся файловая структура в формате dBase. Для хранения данных проекта (теги, начальные значения параметров и т.п.) инициализируется около 60 файлов. Эти файлы могут отдельно импортироваться в EXCEL для редактирования или документирования. Для тестирования разрабатываемой конфигурации в SCADA-системе Citect можно создать "электронный контроллер" ("memory PLC"), который эмулирует работу контроллера с помощью вводимых вручную тегов, и его работу можно проверить в системе исполнения (runtime).
2.1.1.4 Архитектура клиент/сервер SCADA-системы Citect
В SCADA-система Citect сервер выполняет пять функций (рисунок 2.1):
- сервер ввода/вывода является выделенным коммуникационным сервером, организуя обмен информацией между устройствами ввода-вывода и узлом, выполняющим функцию визуализации (клиентом);
- cервер алармов непрерывно отслеживает данные, сравнивая их с допустимыми пределами и проверяя выполнение заданных условий, и непосредственно отображает все алармы на соответствующем узле визуализации;
- cервер отчётов генерирует отчёты по истечению определённого времени или при возникновении определённого события;
- cервер трендов собирает и регистрирует трендовую информацию, позволяя фиксировать развитие процесса в реальном времени или ретроспективно (исторически) в окне трендов или в файле;
- cервер синхронизации (тайм-сервер), который синхронизирует работу всех персональных компьютеров сети.
Рисунок 2.1 – Клиент-серверная архитектура Citect
Задача сервера ввода-вывода выполняется на одном компьютере (узле). Если в больших прикладных системах этот узел становится перегруженным, другие серверы могут устанавливаться на других узлах. А если и задача сервера ввода-вывода перегружает узел, то можно расширить число серверов ввода-вывода. Все узлы визуализации могут осуществлять доступ ко всем серверам через сеть. SCADA-система Citect поддерживает NetBIOS, TCP/IP и другие сетевые протоколы. Одновременно может выполняться несколько протоколов.
2.1.1.5 Сервер алармов
В SCADA-системе Citect различаются четыре типа алармов:
- цифровые алармы, возникают в ответ на изменение состояния;
- аналоговые алармы, базируются на анализе выхода за указанные верхние и нижние пределы, изменяемом смещении, скорости изменения, описании уровня алармов;
- алармы с метками времени базируются на таймере, который работает в контроллере и регистрирует алармы с точностью до миллисекунд;
- составные алармы, возникающие в результате событий или комбинации событий.
Аппаратные алармы всегда регистрируются отдельно и визуализируются на отдельном дисплее алармов.
2.1.1.6 Сервер отчетов
Язык программирования Cicode поддерживает простой набор операторов, с помощью которых можно генерировать отчёт и задавать его шаблон. Значения времени хранятся в аккумуляторах языка Cicode - регистрах, которые кумулятивно запоминают такие переменные в виде количества часов работы или счётчиков. Таймеры и счётчики могут запускаться по некоторому событию, временно приостанавливаться и т.п. Можно также задавать событие, которое запускает генерацию отчёта и уровень привилегированности пользователя, определяющий права пользователя на запуск генерации отчёта. Отчёты сохраняются на диске в файле. Отчёты могут генерироваться в EXCEL с помощью DDE-связей. В Citect есть и электронная почта, по которой отчёты могут посылаться.
2.1.1.7 Резервирование
Ещё одним отличительным свойством SCADA-системы Citect является то, что среди стандартных функций здесь предусмотрено дублирование. Сервер ввода-вывода может дублироваться с помощью резервного сервера ввода-вывода, на котором выполняется та же самая прикладная задача. При отказе основного сервера резервный сервер продолжает работу без какой-либо потери информации.
Могут также дублироваться серверы трендов, отчётов и алармов. Дублирование возможно и на уровне сети. Это делается установкой в компьютере двух сетевых карт и организацией дублированной связи с контроллерами.
Утилита "Computer setup" ("Установка компьютера") позволяет конфигурировать компьютер как узел визуализации (клиент), как основной или резервный сервер ввода-вывода, сервер алармов, трендов или отчётов. Она также позволяет конфигурировать временную синхронизацию и запрещение срабатывания определённых клавиш.
2.1.1.8 500 функций
В SCADA-системе Citect встроен гибкий язык программирования Cicode, сравнимый по возможностям с языками Pascal/C. Именно на нем написана сама SCADA-система. Cicode позволяет создавать программы любой степени сложности. Исходный файл на Cicode создается редактором и компилируется вместе с проектом.
Проект всегда компилируется с системой исполнения. Во время компиляции проверяются все dbf-файлы, транслируется Cicode. В SCADA-системе Citect есть специальные функции для проверки производительности системы.
Во время исполнения системы может активизироваться специальное ядро, которое поддерживает команды мониторинга контроллеров и сетевых взаимодействий, проверки загрузки центрального процессора, проверки ошибок и т.д.
2.1.1.9 Возможности HMI в SCADA-системе Citect
Графические объекты на дисплеях оператора можно построить с помощью Графического редактора (Graphics Builder). SCADA-система Citect поддерживает неограниченное количество окон - "страниц". Для их создания предлагается использовать библиотеку шаблонов. Для упрощения создания графических объектов на странице поставляются три библиотеки - объектов, "джиннов" и "суперджиннов". Объекты - это статические картинки, классифицированные по группам, таким как механизмы, резервуары, насосы и так далее. "Джинны" и "суперджинны" - это динамические объекты, к ним могут прикрепляться меняющиеся переменные. Для "джиннов" место на экране зафиксировано (например, ползунок на линейке со шкалой), а для "суперджиннов" - нет. "Суперджинны" могут открывать новое окно. Во время исполнения "суперджинн" может запускаться несколько раз. Каждое видимое окно является "потомком" со своими собственными переменными. Когда во время исполнения вызывается "суперджинн", автоматически создаётся окно-"потомок" с реальными значениями переменных. Такая процедура значительно ускоряет разработку сходных объектов. Эти объекты могут использоваться для любого другого клиента.
После всех этих процедур компилируется прикладная задача. Во время компиляции графика запоминается, а программа на Cicode проверяется на наличие синтаксических ошибок. Установленный ранее проект деинсталлируется и заменяется вновь созданным.
2.1.1.10 Новые технологии
В настоящее время для разработки систем автоматизации активно начинают применяться COM/DCOM-технологии, причем как квалифицированными разработчиками прикладного ПО, так и в предлагаемых на рынке инструментальных системах. Новые технологии в SCADA-системе Citect находят свою реализацию в виде:
- OPC-компонентов для подключения широкого спектра контроллерного оборудования и промышленных сетей стандартным, формально описанным способом (OPC-спецификация);
- ActiveX-объектов для расширения функциональных возможностей разрабатываемого приложения за счет уже разработанных и готовых к использованию программных компонентов.
2.1.1.11 Выводы (Citect)
Итак, важными характеристиками SCADA-системы Citect являются следующие: