Search
Write a publication
Pull to refresh

О создании собственной SCADA системы



Начну с того, что с недавнего времени я работаю инженером АСУ на сахарном заводе. Здесь много автоматики и разнообразного ПО, по большей части устаревшего. Одна из основных проблем — Scada-системы. Для нас они являются слишком дорогими, медленными и требовательными. Не стану перечислять конкретные недостатки и проблемы, скажу лишь, что у нас их немало. Исходя из вышеописанного и оценив возможности, мы решили, что стоит попробовать сделать собственную Scada-систему.

В качестве полигона для испытаний мы выбрали станцию фильтрации суспензии (говоря «мы» я имею в виду себя и своего брата — один разрабатывает скаду, другой делает проекты). Этот вариант отлично для нас подходил, поскольку часть древних панелей оператора давно вышла из строя и нужно было найти другое решение, в данном случае — переход на стационарный ПК.

Разработка проекта была скрыта от остальных, поэтому, когда нас спрашивали о том, что мы делаем, мы отвечали что это секрет. В дальнейшем, не долго думая, мы так и назвали систему: Secret-scada. Сама скада является OPC клиентом с обменом по OPC DA версии 3.0 или ниже. В качестве OPC сервера мы используем простой и качественный KEPServerEX. Во-первых, потому что он поддерживает DA 3.0, во-вторых, имеет множество драйверов для различных контроллеров (полный список вы можете увидеть здесь), стоимостью обычно не выше 895$. На нашем объекте используются контроллеры Modicon Momentum, количество используемых тегов: 700 штук. Для наглядности приведу схему передачи данных от датчика в Scada-систему. Все просто:


Сама скада использует OpenGL, либо DirectX в качестве рендера, на усмотрение пользователя. Для этой цели используется кроссплатформенный игровой движок ZenGL. Так получилось, что я с ним хорошо знаком уже много лет и не сомневаюсь в его качестве. Все текстуры и изображения создавались с использованием 3Ds Max и Photoshop. Текстуры труб, сборников и уровней, подготовлены так, чтобы растягивание этих элементов не приводило к потере качества изображения. Пользователь также может добавлять свои изображения в формате png. Многие элементы могут связываться с тегами и меняться в зависимости от значения тега. Создание и редактирование списка аварийных сообщений, также предусмотрено в редакторе проектов. Некоторые базовые возможности демонстрируются на этом видео:

http://youtu.be/epMCQnjXrvc
* к сожалению мне не удалось снять видео так, чтобы оно не тормозило. Все действия пришлось делать медленно, чтобы все было понятно. В действительности, программа работает очень шустро даже на слабых машинах.

Скриншот из редактора проектов:
Скриншот 1

Скриншоты Scada-системы в работе:
Скриншот 1
Скриншот 2
Скриншот 3

При разработке скады, я хотел сделать её как можно менее громоздкой и простой. Думаю, что отчасти это мне удалось, по крайней мере, для текущего проекта. Система уже успешно отработала один свекловичный сезон и получила высокую оценку. Теперь мы планируем внедрить её на станции вакуум аппаратов. Здесь проект гораздо более глобальный, на ~4000 тегов, с большим количеством мнемосхем. Также есть мысли по распространению Scada-системы для широкого круга пользователей. Поэтому сейчас ведется разработка второй версии программы. Она будет сильно отличаться от текущей версии в плане возможностей и минималистичности интерфейса. Вот как выглядит сейчас новая версия Scada-системы:

Скриншот 1
Скриншот 2
Скриншот 3

В ближайших планах создание редактора трендов, добавление возможностей ведения логов и создание встроенного веб-клиента.

Хотелось бы услышать Ваше мнение по поводу программы.
Спасибо за внимание!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.