SCADA Systems

SCADA Systems

Sanford Leffler

Долго не мог себе представить в каком именно формате должна быть данная статья. Тема очень обширная и увлекательная (по крайней мере для меня). Её нельзя рассмотреть подробно в отрыве от пояснения отдельных протоколов передачи данных (по этой причине я и интересовался вашим интересом к таким штукам как PROFINET) и конкретных схемотехнических устройств обеспечивающих работоспособность всего того, о чем мы будем говорить.

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

Сейчас пришла пора поговорить о нервной системе нашего судна.

Маленькое предисловие

Это маленькое предисловие для всех тех, кто активно хочет учиться, но у кого возникают проблемы с тем, чтобы найти учебные материалы по темам подобным тем, что я озвучиваю у себя на канале. На примере SCADA-системы я хочу показать и, возможно, открыть кому-то глаза, но наши суда - абсолютно ничем не отличаются от любых береговых промышленных предприятий (не считая защиты от специфических климатических условий и двух фаз в розетке само собой). Системы которые встречаются на судах работают так же и на береговых предприятиях, где работает гораздо больше специалистов чем в море. Соответственно и людей которые об этом пишут тоже в предостатке. Не зацикливайтесь на судах, а изучайте промышленные энергосистемы в целом. Вы найдете намного больше полезных материалов чем если будете пытаться найти что-то вроде "книга про судовые трансформаторы". Автоматы - те-же, электродвигатели - те-же, датчики - те-же.

И на этой ноте мы продолжим.


Оглавление:

  1. Введение и определения;
  2. Идея и принцип действия;
  3. Простейшая структурная схема SCADA системы;
  4. Программируемый логический контроллер;
  5. Сигналы. Вводы/Выводы. Каналы;
  6. Трансмиттеры и DC/DC конверторы.


Введение и определения

SCADA [Supervisory Control and Data Acquisition], HMI [Human Machine Interface] или, как её часто называют на судах, AMS [Alarm Monitoring System] - автоматизированная система управления технологическими процессами [АСУ ТП] благодаря которой мы, в режиме реального времени (с небольшой задержкой), можем следить за температурами/давлением/оборотами/уровнями в танках и т.д., а так же производить (в современных HMI) определенные операции удалённо из ЦПУ (Открытие/закрытие клапанов, запуск генераторов и тд) . Как всё это функционирует? Из чего состоит? Какой путь проходит сигнал от датчика температуры до компьютера? Вот с этим и разберёмся.

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

SCADA [Supervisory Control and Data Acquisition] система - общее название для набора программного обеспечения обеспечивающего сбор, отображение и обработка данных какого-нибудь объекта управления. Это и есть то, что мы привыкли называть AMS. В неё входят все датчики, HMI, актуаторы и вообще всё что может быть включено в HMI.

HMI [Human Machine Interface] - думаю что из названия "Человеко-машинный интерфейс" понятно что речь идёт о тех самых мониторах с которых мы считываем параметры работающих на судне механизмов; это внешняя графическая оболочка с которой мы, непосредственно, и взаимодействуем: узнаём о тревогах и принимаем решения, выполняем сложные операции по типу запуска генераторов, исключаем определённые тревоги если устройство находится на техническом обслуживании.

Внешний вид HMI. Надеюсь все узнали.

PLC [Programmable Logic Controller], он же ПЛК [Программируемый Логический Контроллер] - мозг любой SCADA-системы и не только. Контроллер, который, в зависимости от загруженной в него программы выполняет соответствующее действие на основе имеющихся данных.

Идея и принцип действия

Понимаю что странно описывать тут идею после данного выше определения, но тем не менее, это важно для понимания ибо мы, как обычно, будем познавать систему методом "Изобрету свою систему".

В серии статей "Что там в щите?" мы разбирались с тем как работают извещение о, к примеру, перегреве электродвигателя: в определённый момент срабатывает тепловое реле и подаёт питание на сигнальную лампу что находится на щите.

Таким же образом, изолируя всё лишнее (В данном случае лишним является всё кроме самого узла извещения) мы получим примерно следующее:

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

При отработке нормально открытого контакта поплавкового датчика уровня у нас начинает светиться лампа. Что если вынести эту самую лампу со щита прямо в ЦПУ? Ничего. Мы сможем наблюдать из ЦПУ срабатывание этой лампы в случае превышения в каком-то танке уровня жидкости выше допустимого. Но ведь у нас не один поплавковый датчик уровня в машине?

Как не сложно догадаться вся система у нас состоит из сотен датчиков. Соответсвенно вы можете себе представить эту нелепую гирлянду если все подобные тревоги отображались в одном месте посредством обычных лампочек. Компьютер, который принимает показания этих датчиков и отображает их - всего один. Однако к нашему компьютеру не подходят тысячи проводов: это слишком сложно и дорого. Как быть?

Предположим у нас имеется опреснитель. Какие параметры и сигнализации могут нас там интересовать?

Измеряемые величины:

1. Температура воды на входе;

2. Давление нагнетания насоса;

3. Температура электродвигателя;

4. ...

Сигнализация:

1. Высокая температура воды;

2. Низкое давление нагнетания;

3. Высокая температура электродвигателя;

4. Ошибка запуска;

5. ...

Можно было бы придумать ещё пару сигнализаций, но это нам ни к чему. Вы только взгляните: как минимум 7 показаний должны приходить к нам на компьютер + часть из них должны сразу нам давать сигнализацию которая будет кричать на всю машину; сигналы должны быть чётко отделены друг от друга, т.е. компьютер должен понимать какой именно сигнал сработал и что именно он должен нам продемонстрировать...

Уже на данном этапе мы можем разделить все наши сигналы на два типа: Дискретные (Да/Нет) и Аналоговые (Показание имеет определённую величину в указанном диапазоне).

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

Под аналоговым сигналом подразумеваются сигналы, у которых нет ограничений по значением кроме их рабочего диапазона. Именно этот сигнал даёт нам температуру в пределе от -50⁰С до 680⁰С, к примеру. Подробнее о сигналах поговорим ниже.

Все эти сигналы должны куда-то собираться и где-то учитываться ещё до того, как попадут в компьютер. В этом и состоит главная роль ПЛК в составе SCADA систем - распределять питание по датчикам, проверять их состояние (положение), скомпоновать всё в удобный для передачи на компьютер формат и, собственно, передать данные на компьютер.

Простейшая структурная схема SCADA системы

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

Упрощённая схема подключения датчиков к HMI.

Сам опреснитель находится на 2-й палубе в машине, а ЦПУ - несколько выше. Расстояние немаленькое и провода от датчиков, само собой, тоже нужны длинные. Для того чтобы, в случае казуса, не менять длиннющую линию целиком, существуют Junction Box'ы, или "Промежуточные соединительные коробки" в которую приходят кипа кабелей, а покажет которую, один огромный кабель который удобно прокладывать по кабельной трассе до ЦПУ.

Когда устройств становится больше - вопрос удобной и компактной передачи данных становится ещё острее. Для решения этих задач умные люди придумали ПЛК.

Программируемый логический контроллер

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

Проще некуда.

С вводами и выводами мы разберёмся далее, пока уделим чуть больше внимания самому ПЛК и всему, что к нему может прилагаться.

Изображение типичного промышленного ПЛК от Siemens.

Далее подробнее рассмотрим клеммы ввода/вывода (далее I/O).

Под номером 1 тут обозначены аналоговые I/O, 2 - дискретные вводы, 3 - дискретные выводы.
Реальное фото дабы было проще представить о чём идёт речь.

Количество аналоговых и дискретных I/O отличается в зависимости от модели. Далее разговор пойдёт про модель выше, исключительно для примера. Как не трудно заметит - количество I/O тут явно недостаточно чтобы удовлетворить наши потребности по постройке судовой SCADA системы. Для решения этой проблемы первым на ум приходи решение сделать ещё больше I/O и получить что-то вроде этого:

Конечно это не реальное фото, а моя фотожаба.

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

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

Если датчик установлен на каком-либо отдалении от ПЛК - принято говорить что установлен он "в поле".

На манер датчиков на отдании от ПЛК может находиться и блок I/O. Таким образом понятие полевой шины предполагает такую себе децентрализацию в плане сбора данных с датчиков (и выдачей команд само собой). Мы берём, и выносим куда-то за пределы ЦПУ, в машинное отделение, щиты, которые содержат в себе исключительно устройства ввода/вывода, подключаем к ним блок, который будет собирать с них данные, а далее, по какому-либо известному и простому протоколу (типа Ethernet или шиной PROFIBUS) передавать эти данные на ПЛК. Одним проводом.

Грубо себе это можно представить следующим образом.

Из Устройства 1 выходит кабель, содержащий в себе 6 жил. Далее тот входит в соединительную коробку в которую так же входит другой шестижильный кабель. Распределительную коробку покидает двенадцатижильный кабель который поступает на щит I/O, откуда, по одному тонкому проводу типа Rj-45 или DB-9, поступает в ПЛК располагающийся в ЦПУ.

Шина для передачи данных топологии сети PROFIBUS типа DB-9 (витая пара)

Таким образом всё, что на схеме находится ниже ПЛК - это поле, а фиолетовая стрелка, обозначающая кабель передающий данные с "полевых I/O" - полевая шина.

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

Внешний вид полевого устройства ввода. Справа мы можем видеть множество клемм для подключения датчиков. Слева - блок обработки и передачи данных о датчиках на ПЛК.

Сигналы. Вводы/Выводы. Каналы

Выше было сказано что сигналы в SCADA условно можно разделить на дискретные "Да/Нет" и аналоговые "Значение". Что конкретно они из себя представляют?

Дискретный ввод

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

Для наглядности возьмём первый попавшийся ПЛК найденый по соответствующему запросу и посмотрим как к нему нужно подключаться.

Пример подключения поплавкового датчика уровня к ПЛК ОВЕН 100. Само собой модель ПЛК не играет роли. Дискретные вводы работают везде одинаково.

Для того, чтобы ПЛК получил дискретный сигнал "ДА" на клемме "1" нам необходимо подать на неё питание. В разрыв этого самого питания подключается какое либо реле. Это может быть как прессостат, так и доп. контакт реле пуска электродвигателя (в таком случае ПЛК сможет выдать нам сигнал о том, что электродвигатель запущен и полёт нормальный). Само собой подключение дополнительных датчиков осуществляется по аналогичной схеме.

Что же касается промышленных решений - тут отличие только в качестве и удобстве. Для примера рассмотрим полевой I/O модуль от siemens.

Как видите нам достаточно подать питание снизу, а дальше осуществлять подключение необходимых датчиков. Кстати. Отдельно рассмотрите маркировки всех четырёх I/O модулей вверху:

  1. DI - Digital Input - Дискретный ввод.
  2. DQ - Digital Output - Дискретный вывод.
  3. AI - Analog Input - Аналоговый ввод.
  4. AQ - Analog Output - Аналоговый вывод.

Присмотримся ближе к модулю и посмотрим как к нему подключиться. Начнём с первого DI модуля ввода.

Между общей точкой и отдельными каналами, в случае обрыва или отсутствия подключения датчика, должен иметься потенциал в 24В.

Выделенная зелёным прямоугольником часть является простой общей шиной. Все эти клеммы объединены в одну точку и именно относительно этой точки должно поступать питание на отдельные каналы вводов.

Просто меняя положение положительного проводника мы можем менять местами датчики и, как следствие, наводить бардак в нашей SCADA. Соответственно установив в разрыв этих двух клемм просто кусок провода - мы получим ни что иное как перемычку которая убедит систему в том, что никакой тревоги там нет и всё хорошо.

Возможет и другой вариант подключения:

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

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

Дискретный вывод

С дискретным выводом DQ дела обстоят точно так же как и с дискретным входом, кроме, само собой, исполняемой функции. Каждый отдельный канал работает как отдельное реле через которое можно подключать нагрузку. Обычно нагрузка эта не должна потреблять ток более 150мА, а потому годятся они только для питания других реле, которые собой будут запускать устройства мощнее.

Пример срабатывания дискретного вывода. Надпись: "Нормально открытый контакт находится внутри"

После принятия решения ПЛК или операторов дискретный вывод подаёт 24В на вход реле К1, которое в свою очередь, подаёт питание на контактор К2 и подаёт питание на мощную (для ПЛК) нагрузку в лице сирены.

Надеюсь что тут всё понятно и мы можем приступать к аналоговым I/O.

Аналоговый ввод

Вот тут уже дела обстоят сильно интереснее. Аналоговые вводы бывают разные и редко являются комбинированными. Среди самых распространённых стандартов выделю два:

  1. Токовая петля - 4-20мА (иногда 0-20мА)
  2. Сигнал напряжения 0-10В.

Можно встретить и другие варианты. Из списка выше мы поняли что аналоговый сигнал представляет собой некий диапазон значений. Разбираться в том, почему были приняты именно эти значения, а так же о внутренних преобразованиях этих сигналов в цифровые мы не будем. Нас интересует другое:

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

Допустим у нас есть преобразователь давления с токовой петлёй 4-20мА. Давайте подключим таковой к нашему ПЛК.

Параметры рандомного преобразователя давления.

Зная его параметры - смело подключаем к нашему ПЛК.

Пример подключения преобразователя давления к аналоговому вводу полевого модуля I/O.

Надеюсь и тут вопросов не осталось. Тем более что мы ещё вернёмся к подключению аналоговых приборов далее.

Аналоговые вывод

Глубоко убеждён что вам не нужно повторять про типы аналоговых сигналов. Тут ситуация обратима так же как и в случае с дискретными сигналами: аналоговый вывод способен выдавать сигналы токовой петли и/или напряжения. Гораздо чаще на практике встречается именно случай с токовыми петлями, а потому как пример её и возьмём.

Для примера подключим клапан с электроприводом степень которого можно задавать с помощью токовой петли.

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

Теперь мы можем, находясь в ЦПУ задавать процент открытия для данного клапана и, тем самым, осуществлять необходимые процессы по регулированию потока, давлению и т.д.

Каналы

Каждому датчику соответствует какой-либо канал. Канал представляет собой условное обозначение группы датчиков и каждого датчика в отдельности. Благодаря группе мы можем быстро отыскать нужный нам датчик как в на полевом модуле вводом/выводов, так и в поле у самого устройства. В схемах это выглядит следующим образом:

Качество не очень, но уж простите. Чем богат. Фото с моего прошлого контракта.

Соответсвенно при связи с ПЛК полевые модули, в своих сообщениях, непременно указывают группу и канал каждого отдельного датчика, которому соответствует определённый ввод/вывод полевого модуля. Именно поэтому очень важно чтобы каждый датчик был подключён к предназначенной для него клемме.

Трансмиттеры и DC/DC конверторы

Теперь поговорим о том, что дополнительно обслуживает SCADA систему.

Трансмиттеры

Трансмиттер, он же преобразователь, - устройство которое мы применяем когда нам нужно конвертировать одну физическую величину в другую. На первой схеме в разделе аналоговых вводов можно увидеть как температурный датчик Pt100 выходной величиной которого является сопротивление, подключается к аналоговому вводу ПЛК через преобразователь сигнала который конвертирует сигнал датчика температуры в привычные для ПЛК 4-20мА токовую петлю. Так может понадобится не только преобразовать одну величину в другую, но и усилить уже имеющийся сигнал в том случае. если линия передачи очень длинная и ПЛК не хватает мощности для того, чтобы поддерживать питание на должном уровне. Для примера рассмотрим пару трансмиттеров.

ABB CC-E I/I-1

Как мы можем увидеть - у прибора имеется два входа внизу, и два выхода сверху. Это двухканальный трансмиттер, что означает что к нему можно подключить сразу два датчика, и вывести из него два независимых канала. В качестве входной и выходной величины указана токовая петля 0-20мА. Это означает что данный трансмиттер работает как повторитель сигнала и может применяться в цепях, где сигналу с датчика требуется усиление. Так же подобные датчики применяют в качестве защитных устройств (к примеру сделать банальную гальваническую развязку), но об этом мы как-нибудь поговорим отдельно. Для всех интересующихся - вся дополнительная литература в моём канале в телеграм.

CS-A115

Теперь обсудим отечественных производителей. CS-A115 - это, прямо таки, ультимативный измерительный прибор который может преобразовать что угодно во что угодно. Как минимум на боковой панели мы можем увидеть что он способен преобразовать токовую петлю 0-20мА в токовую петлю 4-20мА. Тем не менее в руководстве по эксплуатации мы можем увидеть ещё больше возможных сценариев использования данного прибора.

Ток-ток, ток-напряжение, сопротивление-напряжение, термоЭДС-ток и т.д. Так же его можно подключать к компьютеру.

Само собой использоваться подобные устройства могут не только для преобразования показаний датчиков, а для и преобразования сигналов управления. Если клапану из прошлого примера понадобится сигнал напряжения 0-10В, а у нас на руках только токовая петля - выручит трансмиттер.

А это уже моё фото с работы. Преобразователь сигнала напряжения с датчика скорости TurboCharger'а главного в токовую петлю 4-20мА.

DC/DC конверторы

Что? Преобразователи постоянного тока в... постоянный ток? Зачем? А затем. Бывают пассивные датчики вроде магнитных магнитных датчиков оборотов.

Подобные я встречал как датчики оборотов TurboCharger'а главного.

Подобные датчики могут снабжаться платами питание на которые ниоткуда не приходит. Всё потому, что при работе этот датчик способен самостоятельно запитать свою же плату за счёт ЭДС которое он генерирует. Обычно это порядка 5,5В. А как мне грамотно передать сигнал напряжения в 5,5В на измерительный прибор диапазон входа которого 0-10В? Правильно, благодаря DC'/DC преобразователю, который поднимает значение сигнала напряжения до необходимых нам. Так же он может выполнять функцию гальванической развязки и бла-бла-бла всё то, что нам в рамках сегодняшней темы не нужно.

Случайный DC/DC преобразователь из интернета.

Итого

Типичный полевой щит. Тут мы можем увидеть как распределение SCADA системы, так и простой распределительный щит.
Уверен что теперь подобные схемы вас не пугают и вы достаточно осознанно её воспринимаете. Мы разобрали основы всех составляющих данной схемы.
Ну и ещё одна схема чтобы просто так.

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

Больше подробностей можно получить из прилагаемой к статье литературе у меня на канале. В этот раз её много.

Report Page