к какому уровню многоуровневой иерархии относятся элементы армы серверы
Уровни иерархии ПТК ССПИ подстанции 220 Пр. Испытателей
К нижнему (полевому) уровню относятся все устройства, которые непосредственно связаны с объектом управления. С их помощью должны обеспечивается сбор информации, необходимой для реализации функциональных задач ССПИ, и выдача команд управления,.
В качестве ПТС нижнего (полевого) уровня должен быть использован набор локальных МП устройств (контроллеров), в том числе: устройств измерения, сигнализации и управления, подключаемых к промышленным сетям передачи данных. К полевому уровню относятся также МП устройства смежных подсистем, в том числе (в общем случае) РЗА, ПА, мониторинга и диагностики оборудования. Устройства нижнего уровня размещаются в помещениях релейных щитов.
К верхнему уровню относятся средства локальной вычислительной сети: устройства хранения, обработки и представления информации, подстанционные АРМы различного назначения.
Средний уровень образуют устройства концентрации и организации межуровневых коммуникаций (передача информации от устройств нижнего уровня на верхний уровень и от верхнего уровня на нижний), а также обеспечение информационного обмена с автономными подсистемами ССПИ и с внешними системами управления.
Комплекс ПТС, установленный на ПС, включает в себя следующие устройства нижнего (объектного) уровня:
средства МП РЗА, обеспечивающие реализацию функций защиты, аварийного осциллографирования, ОМП, управления коммутационными аппаратами с реализацией технологических и оперативных блокировок;
МП устройства автономных подсистем противоаварийной автоматики.
Устройства нижнего уровня ССПИ (распределенные средства сбора и обработки информации), обеспечивающие управление коммутационными аппаратами, измерение технологических величин и режимных параметров, осциллографирование аварийных процессов;
Связь устройств среднего уровня с локальной вычислительной сетью должна осуществляться по сети ETHERNET (100 Mb/s).
Для обеспечения повышенной надежности, устройства среднего уровня должны представлять собой контроллеры промышленного исполнения. С их помощью должен выполняться также обмен телеинформацией с ОДУ Северо-Запада и
Ленинградского РДУ,МЭС Северо-Запада,ЦУС Северо-Запада; обмен осуществляется по дублированным каналам связи с использованием протоколов ГОСТ Р МЭК 60870-5-104. С целью обеспечения естественной масштабируемости системы управления в процессе перспективного расширения оборудования подстанции при выборе ПТС для ССПИ ПС Проспект Испытателей состав и структура устройств верхнего и среднего уровней ССПИ должны быть предусмотрены в объемах, необходимых для автоматизации ПС с учетом ее полного развития.
Структуры АСУТП
Содержание
Введение
Архитектура АСУТП диктуется «сложностью» автоматизируемого производства. В простейшем случае АСУТП могут быть централизованными (сосредоточенными). При увеличении количества контролируемых параметров используется распределенная архитектура. При дальнейшем увеличении количества контролируемых параметров, а следовательно, датчиков, преобразователей, модулей ввода, модулей вывода, исполнительных устройств, а также компьютеров, отслеживающих состояние системы, становится целесообразно разделить АСУТП на уровни.
Централизованные (сосредоточенные) АСУТП
Основная отличительная особенность централизованной АСУТП: отслеживание состояния системы и отправка управляющих воздействий производится с использованием одного ПЛК или компьютера.
Централизованная АСУТП может рассматриваться, как частный случай распределенной системы.
Характеристики
Типовые сферы применения
Распределенные АСУТП
Распределенные АСУТП состоят из множества территориально разнесенных ПЛК и модулей ввода-вывода. Каждый контроллер работает с определенной группой устройств ввода-вывода и обслуживает определенную часть объекта управления и взаимодействует с остальными контроллерами на минимально необходимом уровне, достаточном для выполнения общей задачи.
Необходимость построения распределенных систем обуславливается ростом количества контролируемых параметров, увеличением территории, на которой должна функционировать АСУТП, а также усложнением алгоритмов управления.
Характеристики
Многоуровневые АСУТП
Многоуровневая архитектура применяется в случаях, когда контроль за функционированием производства должен осуществляться несколькими ответственными лицами. Система в этом случае обычно делится на три уровня:
Уровень датчиков и исполнительных устройств
Устройства подключаются к первому уровню через интерфейсы ASI, 1-Wire, CAN, HART и др. Интерфейсы аналогового уровня (4-20 мА, 0-5 В) считаются морально устаревшими. В настоящее время многие датчики содержат в своем составе встроенный микроконтроллер, выполняющий автоматическую калибровку и компенсацию нелинейностей датчика и цифровой интерфейс. При проектировании датчики выбираются таким образом, чтобы в них использовался одинаковый протокол обмена и физический интерфейс связи.
Уровень технологического оборудования
Уровень представлен ПЛК и модулями ввода-вывода, которые обмениваются информацией по промышленной сети типа Modbus RTU, Modbus TCP, Profibus и т.п.
Диспетчерский уровень
Уровень представлен рабочими станциями с человеко-машинным интерфейсом (HMI), предоставляемым SCADA-системами.
Ссылки
Литература
«Компьютерное управление технологическим процессом, экспериментом, оборудованием». Денисенко В.В., М., 2009 г.
Промышленное программирование, или Пара слов об АСУ ТП
Есть такая профессия — производство автоматизировать. Аббревиатура АСУ ТП означает «автоматизированная система управления технологическим процессом» — это система, состоящая из персонала и совокупности оборудования с программным обеспечением, использующихся для автоматизации функций этого самого персонала по управлению промышленными объектами: электростанциями, котельными, насосными, водоочистными сооружениями, пищевыми, химическими, металлургическими заводами, нефтегазовыми объектами и т.д. и т.п.
Фактически, каждый человек, живущий не в лесу и пользующийся благами цивилизации, использует результаты труда предприятий, на которых функционируют АСУ ТП.
Иногда на эту тему проскакивают статьи и на хабре. Обычно они не пользуются особой популярностью, но всё же я хочу написать несколько обзорных статей об АСУ ТП в надежде рассказать хабравчанам что-то интересное (а возможно, кому-то даже полезное) и привлечь на хабр больше своих коллег.
Сначала пара слов о себе. Я только начинаю свой жизненный путь в автоматизации, опыт работы без малого два года. За это время побывал на нескольких газовых месторождениях, сейчас работаю на нефтяном.
Поскольку область обширная, несмотря ни на что развивающаяся, местами противоречивая и спорная, буду стараться обобщать не в ущерб достоверности, но не могу избежать перекоса в свою область — то оборудование, софт и сферу, с которыми лично я сталкивался.
Итак, программно-технический комплекс АСУ ТП делится на три уровня: верхний (компьютеры), средний (контроллеры), нижний (полевое оборудование, датчики, исполнительные механизмы). Про нижний уровень рассказывать не буду — слишком уж это далеко от от тематики хабра, да и статья получится слишком большая.
Верхний уровень
Верхний уровень — это серверы и пользовательские ПК (у нас они называются АРМ — автоматизированное рабочее место). Сюда выводится состояние технологического процесса, и отсюда при необходимости оператором подаются команды на изменение его параметров. Для упрощения разработки создано большое количество SCADA-систем (от англ. supervisory control and data acquisition — диспетчерское управление и сбор данных). Это в некотором роде расширенный аналог IDE, в котором скомпилированная «программа» и выполняется.
Системы SCADA
Вообще, если отбросить академизм, то на предприятии для всех кроме асушников скада выглядит вот так:
А если совсем не повезёт, то вот так:
Подразумеваются два режима функционирования: режим разработки и режим выполнения (runtime). Не обязательно эти режимы взаимоисключающи: можно редактировать проект на одном АРМе, инженерном, заливать его, он обновится на пользовательских. Это очень важно — изменять проект без простоев и отключений, потому что технологический процесс прерывать нельзя, и операторы всегда должны иметь возможность его контролировать. В скаде создаются графические интерфейсы, настраиваются источники данных с полевых устройств, она отвечает за взаимодействие пользователя (оператора, диспетчера, технолога) с происходящим на производстве, а также за архивирование всех нужных данных в БД.
Архивирование — одна из обязательных функций, очень важно иметь возможность «вернуться назад во времени» для разбора полётов в случае чего-то непредвиденного либо для глобального анализа при медленных, длительных процессах. Например, недавно геологи попросили меня выгрузить табличкой данные по давлению нефти на скважинах за последний год.
Периодически скада складывает все собранные данные в БД. Их потом можно посмотреть в виде графиков (называем их трендами), а при необходимости, если оговорено в ТЗ на АСУТП, реализуется выгрузка в виде отчётов в эксель или ещё как-нибудь. Архивация сделана по-разному: в MS SQL; MS Access; в ту же MS SQL, но по своему хитрому алгоритму с дополнительной архивацией; а у кого-то вообще в свою собственную бинарную БД.
Особым пунктом в скадах идёт информирование оператора: текущие сообщения и аварийные. Они тоже обязательно архивируются. В общем виде сообщения делятся на текущие и важные (аварийные). Текущие прячут подальше, но журнал аварийных всегда выводится на экране оператора. К текстовым аварийным сообщениям привязываются звуковые, чтобы кто-нибудь не проспал ЧП 🙂
Рынок SCADA
Самыми распространёнными, по-моему, считаются скады производства Invensys Wonderware, Iconics, Siemens, Indusoft, AdAstra, Emerson, Rockwell Automation.
Я лично работал с виндовыми: Invensys Wonderware InTouch и более мощной System Platform, с Iconics Genesis32 — и с (пока ещё?) малоизвестной B&R APROL под SLES (формально, это не совсем скада, а покруче — из-под апрола программируются и сами контроллеры).
По поисковым запросам, например, SCADA, HMI можно посмотреть примеры интерфейсов и мнемосхем.
Внешний вид и юзабилити по приоритету, увы, находятся на последнем месте. Причём, это касается не только рантайма, но и разработки. Для разработки в каждой скаде существуют как минимум дефолтные библиотеки символов — от кнопок и прочих контролов до графических изображений насосов, труб, задвижек, ёмкостей. Здесь-то и могли бы умные разработчики SCADA-пакетов (не путать с нами, асушниками — разработчиками проектов в этих пакетах) добиться принципиального преимущества над конкурентами, сделав продуманные библиотеки, из которых бы даже самый далёкий от дизайна и юзабилити инженер при всём нежелании делал бы гуманные интерфейсы и мнемосхемы. К сожалению, сейчас эта сфера идёт по пути экстенсивного развития, по которому развивалась IT до недавнего времени — наращивание функционала, добавление плюшек, больше, выше, сильнее, harder, better, stronger, и о пользователях пока думают мало.
Средний уровень
Средний уровень — ПЛК, программируемые логические контроллеры. Здесь всё достаточно просто, чаще всего физически ПЛК состоят из отдельных модулей. Для программирования у каждого ПЛК есть своя среда разработки, иногда она объединена со средой для создания SCADA.
Состав ПЛК
Контроллер B&R серии X20
Зачем нужен блок питания — понятно. БП сделан отдельным именно модулем, а не устройством, чтобы гарантировать совместимость с данной линейкой ПЛК. Чаще всего входное напряжение у БП 220 В переменного тока, выходное — 24 В постоянного тока.
Процессорный модуль — это голова ПЛК. Внутри у него, само собой, ЦПУ, ОЗУ и ПЗУ, сервисный порт для прошивки и, возможно, коммуникационный порт (ethernet, RS232/422/485, Profibus, etc). Иногда коммуникационный порт используется и как сервисный. Иногда на модуле есть переключатель (у Allen Bradley ещё круче — там натуральный ключ с замочной скважиной) для перевода ПЛК в различные режимы работы. Отдельной кнопки включения/выключения нет, в лучшем случае — тот переключатель, иначе, если есть питание — ПЛК запускается, а выключается и перезагружается «по-варварски» отключением питания.
Контроллер Allen Bradley серии CompactLogix
Дискретные и аналоговые модули обрабатывают соответствующие сигналы. Входные модули принимают эти сигналы с поля, выходные — формируют их.
Дискретный сигнал — это обычно напряжение цепи 24 вольта. Есть 24 — это «1», нет — «0». Бывают модули на 220В, есть модули с проверкой целостности цепи. Дискретные сигналы, приходящие с поля, могут информировать, например, о состоянии насоса включен/выключен. Управляющие дискретные сигналы могут запускать либо останавливать этот насос. Оптимизация здесь не оправдана, поэтому на запуск будет отдельная цепь, на останов — отдельная.
Модули I/O одного типа могут быть объединены: например, один модуль с 16 дискретными входами и 16 дискретными выходами.
Аналоговые входные сигналы — это приходят показания с датчиков. Здесь чаще всего используется токовая петля 4-20 мА, в соотетствие которой ставятся пределы измерения датчика. Начинается от 4 мА для диагностирования обрыва цепи (если меньше 4 мА, значит где-то что-то не в порядке с проводкой).
Рассмотрим на примере уровня жидкости в резервуаре. Стоит уровнемер, он измеряет уровень от 0 до 2 метров. Тогда: уровень 0 метров — это 4 мА, уровень 2 метра — это 20 мА. Промежуточные значения калибруются по ситуации, не всегда 1 метр соответствует 4+(20-4)/2=12 мА, может быть небольшая погрешность, уровень в 1 метр может быть какие-нибудь 12,7553 мА.
Аналоговые выходные — то же, только на управление. Не встречал чтобы использовалось, т.к. всегда существуют наводки. В измерении это допустимая погрешность, в управлении — нет. Да и неудобно это. Вместо них используется цифровая передача данных по различным протоколам через коммуникационные модули.
Температурные модули замеряют сопротивление в цепи либо термо-ЭДС. Если на них подключаются термометры сопротивления — при нагревании металла его сопротивление, по законам физики, повышается, соответственно определяется температура. Если подключается термопара (два спаянных проводника из разных металлов, при нагревании стыка возникает разность потенциалов между другими концами), замеряется напряжение.
Интерфейсные (или коммуникационные) модули предоставляют нам порты под RJ45, DB9, DB15, просто клеммники или что ещё бог производителю на душу положит. Помимо реализации непосредственно интерфейса (физического разъёма под коннектор, физического уровня модели OSI) они также реализуют протокол обмена через этот разъём.
Протоколы и интерфейсы
Протоколов напридумывали и используют кучу: ModBus (RTU, TCP, ASCII), Profibus, Profinet, CAN, HART, DF1, DH485 и т.д. Некоторые особо хитрые производители реализуют свои протоколы поверх общепринятых.
Я достаточно тесно знаком с интерфейсами RS232/485 и протоколами Modbus. RS232 это всем знакомый COM-порт, с тремя основными линиями: Tx (transmit, передача), Rx (recieve, получение) и GND (ground, земля). RS485 это асинхронный полудуплексный последовательный интерфейс по 2 проводам (совмещённые Tx/Rx+ и Tx/Rx-) или 4 проводам (отдельно Tx+, Tx-, Rx+, Rx-) с разностью потенциалов на каждой паре от 2 до 10 вольт.
А модбас это в общем-то нехитрая штука, с проверкой целостности пакета по чексумме, подтверждением доставки и корректности запроса — или ответом, почему запрос неверен. В сети модбас есть два вида устройств: master — инициирует обмен; slave — выполняет запросы мастера. Пакет от мастера расходится ко всем слейвам, которые сравнивают адрес назначения со своим, если сходится, то смотрят следующие два байта — это команда работы с регистрами памяти — чтение/запись (за исключением нескольких редко используемых служебных команд), потом байты адреса и непосредственно данных, в конце чексумма. Достаточно подробно и понятно расписано на википедии.
Программная начинка
Первое, что нужно сказать, программа в ПЛК выполняется циклически с определённой частотой. Возможности зависят от контроллера, обычно это где-то 20, 50, 250 мс, 1, 2, 3, 4, 5 с. Естественно, это не гарантирует выполнение кода именно за такой промежуток времени, нельзя большие программы пихать в цикл 20 мс, к началу следующего цикла предыдущий должен быть завершён.
Второе, это языки программирования. По идее программируются ПЛК на языках, определённых стандартом МЭК61131:
Это «по идее». Но, например, Siemens придерживается своего наименования языков, а у B&R есть возможность писать на ANSI C.
Самые используемые контроллеры, безоговорочно, у Siemens и Allen Bradley (последним, к слову, принадлежит Rockwell Automation со своей линейкой SCADA-пакетов RSView). За ними по пятам идут Schneider Electric; ОВЕН; General Electric; AutomationDirect; ICP DAS; Advantech; Mitsubishi Electric; B&R.
Современные АСУ ТП
Прочитав интересную статью, мне захотелось поделиться своими знаниями и соображениями по поводу современных АСУ ТП. Описанное ниже относиться в большей степени к продукции таких фирм как Yokogawa, Siemens и Honeywell. Сразу хочу сказать, что у каждой из систем есть свои особенности, преимущества и недостатки, так что я описываю лишь общие характеристики современных АСУ ТП.
Современные автоматизированные системы управления технологическими процессами (АСУ ТП), применяемые на опасных производствах и предприятиях (химическая, нефтехимическая промышленности, ГЭС, ТЭС, АЭС и т.д.), как правило, состоят из распределенной системы управления (РСУ) и системы противоаварийной автоматической защиты (ПАЗ).
Основная задача ПАЗ — перевод производства в безопасное состояние, при возникновении каких-либо проблем в работе РСУ (выход технологических процессов за установленные границы, отказ оборудования, нештатные ситуации). Как правило, система ПАЗ получает данные от дублированных датчиков (одной из самых надежных схем считается «2оо3», когда срабатывание любых 2 из 3 датчиков, установленных на одной контрольной точке, считается необходимым условием для срабатывания защитной блокировки) и управляет резервированным оборудованием. У системы ПАЗ нет станций оператора, есть только инженерная станция, с помощью которой выполняется конфигурирование ПЛК системы ПАЗ. Со станций оператора РСУ можно видеть как работает система ПАЗ, но нельзя ей управлять. Конечное оборудование не зависит от оборудования РСУ, к примеру, если на трубопроводе заклинил клапан РСУ, то отработает отсекатель системы ПАЗ.
Особенности АСУ ТП
Выводы
Таким образом, заражение станции оператора вирусом маловероятно, но даже если это произошло, то никакой явной угрозы безопасности это не представляет. Конечно, бывают случаи, когда операторы, обходят запреты и ухитряются установить на свои станции игры и выйти в интернет, но это быстро пресекается лишением премий и другими административными методами. Если же предположить, что существует специализированный вирус, который знает особенности функционирования систем, и сможет гипотетически управлять технологическим процессом, вызывая тем самым негативные последствия, то в любом случае, при возникновении аварийной ситуации отработает система ПАЗ (которая не управляется со станций операторов) и переведет производство в безопасное состояние. Да, это будут миллионные убытки предприятию (останов производства), но в любом случае не техногенная катастрофа. Если говорить о вероятности заражения вирусом инженерной станции ПАЗ, то это, во-первых, должен быть супер интеллектуальный вирус, который сам перепрограммирует ПЛК, причем именно так, чтобы тот отказал в необходимый момент, во-вторых, инженеры ПАЗ, должны быть совершенно безголовые и рыть яму сами себе. Конечно, это не все факторы, которые делают заражением станции инженера ПАЗ маловероятным событием, могу привести еще несколько: постоянные сверки версии программ загруженных в ПЛК, постоянный контроль помещения с инженерными станциями, ну и конечно же, пароль, установленный на сам проект системы ПАЗ.
В итоге хочется сказать, что безопасности современных АСУ ТП, конечно, угрожают вирусы и прочие высокотехнологичные проблемы, такие как уход станций оператора в банальный BSOD, но они не так критичны как многие хотят это представить. Надо помнить, что за безопасностью следят системы ПАЗ, к конфигурированию которых подходят со всей осторожностью и ответственностью. Человеческий фактор всегда имеет место, но системы ПАЗ для того и создаются, чтобы свести негативное влияние данного фактора к минимуму.
С удовольствием отвечу на вопросы, если они возникнут.
UPD. Возможный сценарий атаки на SCADA систему аргументировано описал makran, которому, кстати, спасибо за инвайт.
Нижний уровень системы АСУ ТП
Полевой нижний уровень системы управления включает датчики, исполнительные механизмы, вспомогательное оборудование, обеспечивающее подготовку проб для различных измерений, промежуточное усиление сигналов и другие вспомогательные функции.
Полевой уровень АСУ ТП образуют датчики непосредственного контроля и прямого действия с натуральным или нормированным выходом, контактные концевые выключатели арматуры (или бесконтактные преобразователи информации о конечных положениях арматуры), контактные реле, органы местного управления, в том числе аварийные кнопки. Нижний уровень предусматривает возможность аварийного оперативного отключения основных механизмов и задвижек в случае отказа контроллеров и операторских станций системы.
Аппаратура полевого уровня предназначена для измерений «по месту» (в случае, регламентированном нормативными документами), а также сбора и передачи информации в ПТК.
В качестве датчиков используется сертифицированная в России аппаратура, а так же поставляемая комплектно с оборудованием.
Аппаратура полевого уровня решает задачи измерения всех физических величин, необходимых для эксплуатации и техобслуживания технологического оборудования, а именно:
Для входных аналоговых сигналов давления, уровня, расхода, состава среды предусматривается сигнал 4-20мА с поддержкой технологии HART, для дискретных 0-60В и 0-220В, для измерения температуры – натуральный сигнал термопар и термосопротивлений.
ПТК и локальные системы автоматического управления (САУ) должны на среднем и верхнем уровне поддерживать возможность прием и выдачу данных по протоколу HART и интегрироваться с программными продуктами AMS, которые используются для диагностики и конфигурации полевого оборудования.
Для повышения надёжности системы защит используется принцип измерения тремя независимыми приборами (датчиками).
Вся полевая аппаратура должна соответствовать следующим требованиям:
Датчики должны устанавливаются непосредственно на вблизи мест отборов на специальных металлоконструкциях.
В качестве исполнительных механизмов регулирующих клапанов и запорной арматуры предусматриваются приводы Российского и зарубежного производства.
Питание запорно-регулирующей арматуры (ЗРА) осуществляется со сборок задвижек отечественных производителей или зарубежного производства. Сборки устанавливаются в специально предусмотренном для них помещении сборок задвижек.
Связи ПТК с источниками сигналов, панелями, сборками РТЗО, шкафами и сборками механизмов собственных нужд выполняются кабелями внешних связей. Кабели присоединяются к аппаратуре с помощью клеммных колодок. Все связи аппаратуры ПТК с датчиками (источниками аналоговой и дискретной информации), со сборками задвижек и другими системами выполняются кабелем с медными жилами, с изоляцией, не поддерживающей горение. Для сигналов 4-20мА и =24В кабель экранированный. Типы кабелей уточняются на стадии рабочего проектирования.
Кабели связей должны группировать следующим образом:
Каждая группа кабелей должна прокладывается в отдельных металлических коробах. Дублированные кабели прокладываются в раздельных коробах. Короба закрываются металлическими крышками. Участки кабелей, проходящие вне короба, прокладываются в стальных защитных трубах или лотках. Проектирование кабельных связей ведется таким образом, чтобы исключалось влияние силовых кабелей на кабели внешних связей КТС АСУ ТП.
Короба для прокладки кабелей должны заземляться на общестанционный контур заземления. Экраны кабелей внешних связей со стороны сборок задвижек, датчиков и других систем изолированы по всей длине кабеля от любых металлических частей оборудования, соединяемого с общим контуром заземления.