Статус-4

Oct
6
2009

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

  • передача больших потоков информации по локальной сети (не менее 10000 событий в секунду);
  • высокая скорость архивирования (не хуже 3000 событий в секунду) и поиск данных;
  • объектная ориентированность, включая составные объекты;
  • отсутствие выделенных серверов;
  • единая операционная система для рабочих станций и контроллеров;
  • возможность резервирования сетей и контроллеров;
  • полная гальваническая развязка по всем внешним линиям модулей УСО;
  • максимальная разгрузка рабочих станций от обработки "сырых" данных, поступающих от объекта управления и перенос ее на уровень технологических контролеров (линеаризация, масштабирование, границы, тревоги и т.д.);
  • высоконадежная и скоростная файловая система;
  • надежная, предсказуемая и высокоскоростная операционная система;
  • "on_line" конфигурирование;
После анализа этих требований, мы пришли к выводу, что выполнить их сможет только операционная система "жесткого реального времени" и после довольно длительных поисков остановились на QNX4. Надо сказать, что прежде чем приступить к реализации проекта мы подвергли QNX4 достаточно серьезной проверке. Проверялась работоспособность системы при отсутствии свободного пространства на диске и в памяти, максимальной нагрузке сетевыми данными, произвольном выключении питания и т.д. QNX4 с честью выдержал все проверки, а наличие технологии FLEET, позволяющей автоматически создавать резервные пути доставки информации не оставило нам иного выбора. Графический пользовательский интерфейс OpenLook на базе Photon microGUI также показал свои высокие характеристики в части скоростной двухмерной графики и способности выдерживать большие нагрузки, а возможность загрузки графических приложений на контроллерах с минимальной конфигурацией QNX4 делает его незаменимым для создания удаленных тест мониторных систем. В качестве основного принципа построения системы была выбрана распределенная общая память (Distributed Shared Memory), известная как одна из форм многопроцессорных кластерных систем, в которых она поддержана на аппаратном уровне. Естественно в недорогих системах реализация такой памяти аппаратными методами пока не достижима, поэтому все проблемы синхронизации возлагаются на программное обеспечение и локальную сеть. К счастью QSSL предоставило низкоуровневый доступ к сети, что позволило реализовать широковещательную рассылку. Проект получил название Статус-4 и содержит два разделяемых сегмента, в которых размещаются три иерархические индексированные базы данных:
  • база описания объектов содержит описания элементарных (дискретные, аналоговые, целые и т.д.) и составных объектов, создаваемых пользователем (задвижки, насосы, компрессоры и т.д.);
  • база оперативных объектов содержит текущие значения объектов и флаги достоверности (признаки перехода границ, отказы и т.д.);
  • база состояния модулей УСО содержит текущее состояние модулей УСО (наличие питание, контрольные суммы и т.д.);
Основное управление базами осуществляет программа администратор, у которого регистрируются все остальные клиенты Статус-4 и получают соответствующий доступ к данным. По чтению данные доступны как собственная память клиента, а по записи с помощью специальных функций, выполняющих сетевую синхронизацию. Таким образом, все базы данных в пределах одного сегмента локальной сети, включая контроллеры, имеют идентичные данные, различия возникают только на момент сетевой рассылки. В этом плане QNET является незаменимой, так как установка и разрыв соединение выполняется с минимальными потерями. Постоянные соединения отсутствуют вовсе, по следующей причине. Представим себе, что система организована по клиент серверной технологии, т.е. процессы узла клиента, установили виртуальное соединение с процессами узла сервера и произошла непредвиденная остановка сервера, в этом случае все процессы клиентского узла во первых, должны каким то образом определить, что произошло нарушение соединений, а во вторых перебросить все соединения на резервный сервер, что обычно получается медленно и плохо. При организации базы данных по выше описанному принципу, в большинстве случаев сервер не требуется совсем и отказ любого узла системы, приводит только к потере функций, выполняемых этим узлом, например частной копии архивов, частной копии сводки событий и т.д. По большому счету в системе Статус-4 сервер требуется только на момент загрузки копий баз данных в память. Синхронизация данных в базах выполняется тремя способами, описанными в литературе. Применительно к Статус-4 выглядит это так:
  • модификация базы данных описания объектов (создание новых объектов, изменение настроек объектов и т.д.), генератор изменения рассылает каждому доступному в данный момент узлу измененные данные с контролем;
  • изменение оперативных данных оператором, генератор изменения посылает сообщение узлу владельцу переменной, а тот уже рассылает его всем широковещательно;
  • изменение оперативных данных программами (драйверы устройств, технологические программы), генератор изменения собирает данные в пакет и рассылает его всем широковещательно;

Естественно метод широковещательной рассылки требует к себе особого отношения для обеспечения гарантированной доставки информации. В системе Статус-4 применен метод дублированной рассылки со сквозной нумерацией посылок.
Чтобы разгрузить систему от обработки сырых данных, поступающих от объекта, обработкой таких данных занимается генератор изменения, включая необходимость отправки по сети, масштабирование, линеаризацию, контроль границ, отказы, вывод на принтер, занесение в историю и сводку событий. Таким образом, данные, рассылают в сети уже в обработанном виде и, по сути, управляют действиями, которые должен выполнить узел, принявший сообщение, что значительно разгружает рабочее станции и сервера, которым остается только выполнение работ с дисковой памятью и графикой. Для синхронизации данных по времени, в системе реализована служба единого времени с разрешающей способностью 1мС. В настоящее время точность синхронизации составляет 20мС, что является вполне достаточным для многих приложений, и при необходимости может быть увеличена. Естественно в Статус-4 реализованы все необходимые средства для разработки и исполнения в режиме реального времени технологических проектов. Все средства разбиты по функциональному принципу и объединены соответствующими средствами on_line редактирования. В состав пакета программ входят следующие подсистемы:
  • база данных
  • события/аварии
  • история
  • мнемосхемы
  • отчеты
  • тренды
  • технологическое программирование
  • управление объектами
  • контроль состояния системы
  • интерактивные оповещения и управление
  • главное меню
  • документирование

В бета тестировании находится подсистема накопители, позволяющая выполнять накопление и сбор интегральных почасовых данных с поминутным усреднением. Такие данные зачастую необходимы для создания материальных отчетов и режимных листов.
Подсистема база данных позволяет создавать конфигурацию проекта в реальном времени, включая составные объекты, а также выполнять физическую привязку каналов модулей УСО к переменным базы во время работы системы.
Подсистема событий/аварий выполняет ведение сводок событий и аварий в суточных файлов с возможностью создания частных копий и поиск записей по заданным ключам.
Подсистема истории позволяет создавать частные копии архивов на различных узлах и сохранять данные по совмещенному событийно-временному принципу. Данные сохраняются в суточных файлах и оптимизированы по скорости чтения/записи.
Подсистема мнемосхем оснащена редактором мнемосхем, позволяющих выполнять группировку объектов с созданием шаблонов. Скорость регенерации данных на экране составляет 100мс. В состав подсистемы включены редакторы растровой и трехмерной графики.
Подсистема отчетов позволяет создавать выходные документы, как в текстовом формате, так и в формате HTML.
Подсистема трендов позволяет вести кольцевые буфера данных, заполняемых по отсечкам времени, причем задаются два периода, период дискретизации данных и период занесения в буфер. В каждую запись включаются сведения о наибольшем, наименьшем и среднем значении данных за заданный период и значение флажков достоверности.
В подсистему технологического программирования включен компилятор и интерпретатор языка программирования LCON 4. LCON 4 относится к классу языков структурированного текста. В состав языка включен большой набор функций и передаточных звеньев с возможностью организации параллельных процессов и пошагового выполнения. Кроме того, в набор функций включена функция промышленного PID регулятора с большим количеством параметров, подержанных со стороны базы данных Статус-4.
Остальные подсистемы включают в себя большое количество сервисных средств, позволяющих выполнять непрерывное и периодическое наблюдение за состоянием всей системы в режиме реального времени.

  • Полностью русская система, включая всю документацию
  • Объектно-ориентированный подход при создании и программировании АСУ ТП
  • Сетевая архитектура с возможностью многократного резервирования
  • Возможность конфигурации и программирования системы в пределах всей сети
  • Безсерверная архитектура по принципу "всё у всех"
  • Возможность иметь дело с десятками тысяч точек без снижения скорости обработки
  • Обеспечение высокой производительности, при использовании аппаратуры, на процессорах Intel серии х86
  • Графический интерфейс OpenLook на базе Photon microGUI
  • Создание конфигурации и программирование системы в режиме "on-line" с автоматической генерацией составных объектов
  • Мощный графический построитель с возможностью работы с составными объектами и типовыми отображениями
  • Большие возможности построения отчетов и трендов
  • Возможность удаленного подсоединения
  • Непрерывное горячее резервирование (до 3-х резервных станций), автоматическое восстановление
  • Неограниченное количество драйверов устройств
  • Сертифицированная стандартом POSIX операционная система QNX 4.х
  • Многопоточная файловая система с повышенной надежностью и высокой степенью восстанавливаемости
  • Избыточная сетевая архитектура
  • Работа в режиме защищенной памяти
  • Интерактивные оповещения
  • Встроенный язык технологического программирования LCON 4 с возможностью доступа к объектам
  • Встроенные средства контроля сети, работы основных программ, состояния модулей УСО
Построитель и редактор базы данных
  • Стандартные типы объектов: дискрет, аналог, целое, цвет, PID
  • Создание собственных типов объектов на основе стандартных типов и константных полей, например, объект типа ЗАДВИЖКА может состоять из полей
  • o объекты дискретные: команды открытия/закрытия, концевики открытия/закрытия, муфта, местное
  • o объекты аналоговые: позиционер
  • o константа: время хода
  • Возможность копирования и размножения любых объектов с автоматической генерацией вложенных объектов
  • Редактор пользователей проекта с возможностью задания пароля, уровня доступа и узлов разрешенного управления
  • Редактор устройств (типы модулей УСО) с возможностью создания до 8-ми групп каналов, каждая группа может быть назначена как дискретный ввод/вывод, аналоговый ввод/вывод и т.д.
  • Редактор модулей УСО с привязкой физических каналов к нужным объектам
Графический построитель
  • Может работать как в векторном, так и в растровом режиме
  • Поддерживает 256 специально подобранных цветов
  • Содержит большое количество примитивов отображений для стандартных объектов: числа, столбики, надписи и т.д.
  • Позволяет создавать типовые отображения для любых объектов, включая составные, что значительно облегчает создание видео кадров и уменьшает количество ошибок
  • Выполняет разделение видео кадров по узлам управления
  • Позволяет создавать обзорные видео кадры, отображающие состояние объектов на заданных мнемосхемах
  • Выполняет связи видео кадров
  • Позволяет настраивать вызов необходимой программы с заданными параметрами: именем файла, объектом или строкой текста
  • Вызывает редактор технологических шрифтов с возможностью создания новых и редактирования уже имеющихся шрифтов
  • Позволяет определять размеры и начальное положение видео кадров и т.д.
Обработка данных реального времени
  • Обработка "сырых данных", поступающих от модулей УСО возлагается на узел, владеющий данной переменной, такой подход обеспечивает разделение нагрузки по узлам сети
  • Обработку данных выполняет драйвер УСО, все необходимые данные для обработки содержатся в описании соответствующего объекта
  • В обработку может быть включена фильтрация, линеаризация, отслеживание границ, включение звука, занесение в историю, в события, в аварии, вывод на принтер, фиксацию обрывов, перегрузок и т.д.
  • Для обеспечения горизонтального разделения по обработке данных, введено понятия "друзья объекта", под которыми понимаются узы, на которых будут выполняться действия по архивированию, занесение в архивы событий, аварий и т.д.
Обработка тревог
  • Для каждой точки могут быть настроены действия, выполняемые по изменению состояния точки, точка может заноситься в сводку событий, сводку аварий, в архив истории, выведена на принтер, включать звуковую сигнализацию
  • Звуковая сигнализация трех тональная: предупредительная, аварийная, выход за границу достоверности
  • После запуска системы на экране всегда присутствует оперативное окно текущих событий
  • Сводка событий позволяет просматривать тревоги за заданный интервал времени и при необходимости выводить списки событий на принтер, кроме того, сводка тревог снабжена фильтром тревог, который позволяет отбирать тревоги по большому количеству критериев, например, по заданному узлу, типу события, имени пользователя и т.д.
  • Сводка аварий содержит список объектов, находившихся в состоянии аварии, удаление из списка аварий выполняется по квитированию, сводка аварий может быть выведена на принтер
  • На дискретное событие может быть настроен вывод оперативного сообщения или заданной мнемосхемы
Печать событий
  • Для каждого объекта может быть установлен признак вывода на принтер
  • Вывод данных на принтер может содержать большое количество полей, размер, и количество которых может быть настроено, кроме того, может быть настроено место расположения принтера событий
Сбор исторических данных
  • Исторические данные собираются для объектов типа дискрет, аналог и целое
  • Для объектов типа аналог устанавливается дельта занесения в историю
  • Исторические данные собираются за сутки и оформляются в отдельный файл
  • Файлы истории оптимизированы по скорости записи/чтения
  • Просмотр истории возможен, как по отдельным объектам, так и по составным объектам
  • При просмотре истории может выполняться масштабирование, как по величине, так и по времени с различными типами усреднения min, max, среднее, три одновременно
  • Запрос истории может быть выполнен за любой интервал времени
  • Исторические данные могут вызываться из наборов трендов
  • Возможен просмотр истории в табличном виде
  • Возможен вывод на принтер или в файл, как в графическом, так и в табличном виде
  • Система сбора исторических данных снабжена программой восстановления испорченных файлов
Тренды реального времени
  • Система трендов позволяет создавать наборы трендов до 10-ти на один набор
  • Набор может быть создан, как из отдельных стандартных объектов, так и из составного объекта
  • Наборы трендов группируются по узлам и ведутся администратором трендов, который выполняет ведение кольца истории для всех наборов данного узла, в любой момент может быть выдана команда на перегрузку наборов трендов при их модификации
  • Возможен просмотр трендов ведущихся на другом узле
  • При создании набора, указывается период сканирования, период усреднения, размер буфера хранения и тип усреднения: максимум, минимум, среднее, текущее
  • Программа просмотра трендов позволяет выполнять масштабирование по величине
  • При просмотре трендов может быть выполнено автоматическое изменение размеров окна для более удобного совмещения разных наборов
  • При необходимости может быть вызвана история из текущего набора
  • Может быть выполнено фотографирование с последующим выводом данного снимка на принтер
  • В Статус-4 реализована система оперативных трендов, работающая без администратора трендов и кольца истории, этот тип трендов удобен для оперативного контроля над выбранным объектом
Генератор отчетов
  • Система отчетов реализована на базе HTML текста, который позволяет достаточно гибко строить отчеты различных видов
  • Отчеты могут генерироваться либо по заданному времени или по запросу оператора
  • Отчеты снабжены системой функций, которые позволяют выбирать интегральные параметры по заданным объектам, за заданный интервал времени
  • Возможен расчет отчета за период времени, задаваемый вручную, для контроля правильности расчета
Слежение за состоянием аппаратуры контроллеров
  • В системе Статус-4 реализована расширенная система контроля над состоянием контролеров и модулей УСО
  • Контроль состояния ведется на двух уровнях: на уровне драйвера и модулей УСО
  • Изменение состояния модулей выводится в сводку событий
  • Контроль ведется по большому количеству параметров, включая контрольные суммы программ, наличия питания, обрывов, перегрузок и т.д.
  • В состав системы включена программа просмотра отказов объектов, имеющих физические вводы
Технологическое программирование
  • В комплект поставки системы включен язык технологического программирования LCON 4
  • LCON 4 выполнен в виде структурированного текста на русском языке
  • Язык программирования позволяет выполнять любые логические и арифметические операции в свободной записи
  • В состав языка включен большой набор функций, таких как: PID, основные передаточные функции, фильтры различных видов и т.д.
  • LCON 4 позволяет выполнять несколько параллельных процессов в рамках одной программы, кроме того, на узле может быть запущено несколько программ технологического управления
  • Поддержана система процедур с параметрами
  • Технологическая программа может быть запущенна для отладки на любом узле данного проекта
  • LCON 4 позволяет оперировать, как с объектами стандартных типов и их полями, так и с составными объектами с доступом к вложенным объектам и их полям
Оперативные оповещения.
В состав системы включена система оперативных сообщений, которая позволяет по заданному фронту дискретного объекта выполнить вывод сообщения или вызвать нужную мнемосхему.



content bottomleft content bottomright