От датчика до графика (RS-485, OPC, SCADA)

Необходимость сбора данных, ведения статистики и анализа этой статистики попадается на каждом шагу. В промышленности это обычно показания разных датчиков (например температура, давление и т.д.). Но как же можно организовать казалось бы такой не сложный процесс? Тут надо понять что необходимо сделать для того чтобы всё заработало. Если кратко описать весь процесс, то будет он таким: ставим датчик, подключаем его прибору, далее тянем от этого прибора провод в компьютер и смотрим на компьютере показания с прибора. Всё, ничего сложного нету, осталось только разобраться как это делается… Рассмотрю как создать на примере приборов OWEN, сети RS-485 и программы MasterScada.Вот обычно те вопросы которые возникают при проектировании такой системы:
1) Что делать когда подключаем датчик в прибор (например, ТРМ202 фирмы OWEN).
2) Что делать с прибором подключенном к сети RS-485.
3) Что происходит на преобразователе AC4.
4) Как данные появляются в компьютере и кто их забирает из сети RS-485.
5) Как эти данные переползают в программу сбора данных (например, MasterScada).
6) Как они рисуются на графиках.
7) Откуда берутся в сети графики да еще и рассортированы по дате?

Начнем, картинки в кратце показывающие схему когда инфа с датчика прилетает в MasterScada и отображается на экране

На картинке показан этот длинный путь от обыкновенного датчика до полноценного графика. Начинается с того, что берется датчик куда-то вставляется и проводами присоединяется к прибору, который обычно стоит неподалеку. Думаю, тут не составит проблем взять нужный датчик и правильно, смотря глазами в инструкцию думаю мозгами догадаться как он подключается. =) Самое главное откопать в настройках прибора и выставить правильный тип датчик и немного повозиться чтобы убрать погрешность показаний. Обычно погрешность убирается настройками прямой, надо только подкоректировать её значения для этого датчика, если его показания не верны.

Дальше, если прибор подключен к сети RS-485 (а он на 100% должен быть подключен, иначе, нафига всё это =) про сеть читаем тут: RS-485 в википедии) настраиваем адрес. Внимание! Этеншен! (или как там его…) нельзя допускать чтобы в сети находились два или более приборов с одинаковыми адресами! Иначе получиться так, компьютер скажет «Прибор с адресом 45 дай свои данные датчика» и ему улетят данные с двух приборов одновременно, и придет компьютеру хрен знает че. Так что при настройке лучше иметь список со всеми приборами и их адресами, а еще если на том же списке где-нибудь в углу будут написаны параметры сети. Это скорость, стоп-биты и длина адреса. Параметры похожие на ком-портовые, ну еще бы, в системы преобразователь определяется как компорт, и настройки для обмена задаются для компорта в специально программе — OPC сервере, о нём немного попозже. И так, для прибора подключенного в сеть нужен его и только его ИНДИВИДУАЛЬНЫЙ адрес плюс настройки сети для обмена.

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

Преобразователь штука обычная и не интересная, это последняя точка сети RS-485. Обычно резистор стоит уже в преобразователе, например в АС-4 от OWEN, можно выбрать 3 резистора или вообще без него. Делается это переключателями со стороны которая идет к сети RS-485. С другой стороны у него идет юсб-порт. В компе как было выше написано после установки драйверов он определяется как ком-порт. Работа с ним не отличается от работы с другим, единственно если зависнет, можно выдернуть шнур и всунуть обратно, иногда помогает. =) Правда такого не было с этим преобразователем, это случалось с переходником юсб-ком порт, которым я подрубался к винчестеру для его реанимации. Но это уже не по теме.

Закончив с аппаратной частью можно переходить к программной. Это программа для получения данных с приборов OPC-сервер. Который обычно используется программами типа MasterScada, OPM и кучей других для получения через него данных с приборов. OPC-сервер устанавливается как обычная программа. OPC-сервер OWEN работает так, если мы хотим его сконфигурировать, то запускаем по отдельному ярлычку через пуск-программы. А если он запущен какой-либо программой и забирает данные, то ничего с ним сделать нельзя, придется остановить и выключить программу, которая его запустила.

Конфигурировать или настраивать его не сложно, достаточно задать настройки обмена в сети RS-485 (про них я писал выше, они должны быть одинаковы и в приборах и в OPC-сервере который собирает с приборов данные) и ввести список приборов с их адресами. Сразу на вкладке «Отладка» можно запустить сбор данных видя что нам дают приборы в ответ на запросы только что настроенного сервера. А да, настраивать список приборов и параметры обмена надо выбрав нужный ком-порт. Ком-порт смотрите в настройках оборудования, на котором висит преобразователь, в моём случае это АС-4 от овнов. Всё, если на вкладке «Отладка» нам идут чистые\хорошие\правильные\нужные в конце концов данные, значит всё впорядке. Сохраняем кофигурацию и закрываем.

Подбираемся ближе к финишу. Осталось настроить программу для сбора данных. Я рассмотрю частный случай на примере MasterScada, в других программах всё делается также либо аналогично. Правда она мне понравилась тем, что показалась мне самой «развитой» системой. А потом я просто убедился в этом, мало какие сходные продукты дают такую свободу в настройках, гибкость ну и кучу возможностей. MasterScada является такой средой проектирования, которую можно начинать разрабатывать проект как с аппаратной части (какие приборы подключены) так и со стороны самого объекта (например какой нибудь завод с цехами). Я обычно разрабатываю сначала одну, потом другое далее начинаю соединять датчики с их «Значениями». Значение — термин MasterScada, «Значение» может подключаться к одному из параметров прибора или лучше сказать соединятся с ним. Проектирую аппаратную часть нам необходимо добавить в неё «Компьютер». MasterScada может быть сетевой, то есть ставите её на разные компы, делаете единый проект и указывает в нём список всех компом. Далее к каждому компу добавляете все используемые им OPC-сервера. Дальше глубже… лезем за параметрами\переменными\значениями\показаниями (в общем называйте как хотите) в каждый OPC-сервер, тыкаем галкой по тем параметрам которые нам нужны и жмем «ОК». Параметры добавляются в список к своему OPC-серверу. Собственно думаю ничего сложного возникнуть не должно, в инструкции всё подробно написано. Кстати… это называется «дерево Системы».

Теперь «дерево Объектов». Со второй половиной тоже достаточно просто если ничего сложного вам не надо… Например просто видеть на экране значения с приборов. =) Да, возможности MasterScada огромны. Я бы даже сказал это целый фреймворк =). Достаточно заглянуть в справку и сколько классов и методов предоставляет сама MasterScada. Но! Это всё работает под .NetFramework 2.0 если я не ошибаюсь цифрой. Впрочем без него сама MasterScada как мне помнится и не работает, перед своей инсталляцией она сначала установить все необходимые ей пакеты. Блин, отвлекся, опять в прогерство потянуло… Так, строим «дерево Объектов», а именно пишем название главного объекта в самом вверху например «СпиртЗавод» и подключаем к нему объекты с именами «Цех Ликеро-водочный мой любимый» «Цех ликеро-водочный тут не угащают» =) и подключаем к ним «Значения». То есть параметры какие мы хотим смотреть с прибора. Делается это кликом правой кнопки мыши на объекте, да там вообще всё можно мышкой сделать. И подключать параметры с OPC-серверов к соответствующим «Значениям» делается мышкой: в дереве системы параметр хватается левой кнопкой мышки и отпускается только на его значении в дереве объектов. А потом «Запустить». Всё! Если всё сделано и настроено правильно, то через некоторое время или сразу (как настроили) появятся все параметры\значения с приборов.

Графики настраиваются индивидуально для каждого объекта. В MasterScada они называются тренды, видно из-за того что они круче чем просто графики, курим описание тренда в википеди: тренд. Надо создать тренд и мышкой перенести в него значение за которым необходимо наблюдать. Настроить можно всё, от цвета линии до обработки данных. Эти тренды можно сохранять автоматически в любое время, для этого в MasterScada есть настройки расписания. Но! Тренды никуда не скидываются сами, а очень жаль… Пришлось включить VisualStudio и написать программку которая берет эти сохраненные графики и кидает в сеть… Сложного ниче нет, берем файл и кидаем его, например, в сетевой диск откуда он будет доступен всем. Вот и всё, ничего сложного. Прогу не выкладываю тут, потому что она чисто специфическая под определенную сетку и под определенный проект в MasterScada, уж так получилось что надо было быстрее и времени делать её универсальной не было, так она и осталась «чисто узкоспециализированной». =) Удачи!

Запись опубликована в рубрике цифровая электроника. Добавьте в закладки постоянную ссылку.

Один комментарий на «От датчика до графика (RS-485, OPC, SCADA)»

  1. Иван говорит:

    Единственная, на весь итернет, статья про подключение датчиков к компу. Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*