Проект СИРИУС

 

Структура, основные параметры и отличия от аналогов.

 

Система распределенных информационно-управляющих сегментов (СИРИУС) - это идеология построения, а так же средства проектирования и реализации автоматизированных систем управления и контроля самого различного назначения: от простейших бытовых систем автоматизации частной квартиры или коттеджа, до распределенных систем управления и контроля технического состояния объектов и инженерных сооружений любой сложности, включающих десятки и сотни тысяч точек съема первичной информации и сотни и тысячи замкнутых локальных контуров управления.

Аппаратно такая система состоит из  сетевых информационно-управляющих сегментов, объединенных с помощью стандартных сетевых средств (Ethernet, USB) и протоколов в открытую распределенную вычислительную систему, способную взаимодействовать с другими вычислительными средствами и системами (рис.1).

 

Рис.1

 

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

 

2 Аппаратная реализация информационно-управляющих сетевых сегментов.

 

Сетевой информационно-управляющий сегмент (СИУС)– это распределенная вычислительная система, имеющая древовидную структуру и состоящая из сетевых машин (на рис.1 ВУ и МВВы) и каналов связи, сбалансированных между собой по производительности и функционирующих как единое целое.

С точки зрения пользователя это промышленный контроллер большой вычислительной мощности (до нескольких тысяч MIPS), имеющий множество (до нескольких десятков тысяч) входов/выходов нижнего уровня и несколько входов/выходов верхнего уровня.

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

С помощью входов/выходов верхнего уровня этот контроллер взаимодействует с другими фрагментами общей системы управления (сетевыми сегментами, пультами управления, серверами т.д.) передавая им текущие значения параметров и получая от них управляющие воздействия.

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

Существует два типа сетевых машин: вычислительные узлы (ВУ) и модули ввода/вывода (МВВы).

Вычислительный узел (ВУ) – это специализированная СМ имеющая один или несколько каналов связи с ВУ верхнего уровня и произвольное  количество каналов связи с подчиненными ВУ и модулями ввода/вывода. Он решает следующие основные задачи:

- инициативного обмена данными с ВУ и модулями ввода/вывода нижнего уровня,  с получением от них информационных кадров, содержащих текущие значения  параметров и выдачей им собственных информационных кадров, содержащих параметры и управляющие воздействия;

- реализации загруженных в его память блоков логического управления и регуляторов;

- формирования из принятых данных и своих собственных параметров, являющихся результатом реализации блоков управления, обобщенного информационного кадра и выдачи его по запросу от ВУ верхнего уровня.

            ВУ занимает промежуточные позиции в дереве аппаратной реализации сетевого сегмента. Он производит укрупнение информационных кадров, перераспределение потоков данных и реализацию блоков управления.

Модуль ввода/вывода (МВВы) – это специализированная  СМ имеющая один или несколько каналов связи с ВУ верхнего уровня, а также произвольное  количество входов для стыковки с первичными датчиками и выходов для выдачи сигналов управления на исполнительные механизмы. Существует множество типов МВВы, каждый из которых предназначен для приема сигналов от определенных типов датчиков и выдачи управляющих сигналов соответствующего вида.

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

Каналы связи сетевого информационно-управляющего сегмента. Поскольку СИУС рассматривается как единый контроллер, он должен иметь единое информационное и вычислительное пространства, т.е. любые данные, необходимые для реализации блоков (алгоритмов) управления должны быть доступны в любой точке СИУС (в любом ВУ), любой блок управления может быть загружен для исполнения в любой ВУ.

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

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

В рамках СИУС он заменен иерархической многоуровневой системой каналов связи (информационных сегментов). Практически реализованы два типа каналов связи: последовательные каналы  и внутриблочные интерфейсы. Их совокупность позволяет реализовать средства связи, удовлетворяющие приведенным выше требованиям.

Последовательные каналы связи предназначены для объединения удаленных СМ (ВУ и МВВы), составляющих сетевой сегмент, в единую информационную структуру, имеющую организацию типа дерева. Эти каналы, как правило, реализованы на базе каналов UART, являющихся принадлежностью практически любого современного микроконтроллера. Пропускная способность таких каналов (до 1Мбода) хорошо сбалансирована с вычислительными возможностями контроллеров, на которых реализованы СМ, а их длина, при соответствующей реализации электрического интерфейса, может достигать нескольких сотен и даже тысяч метров. Возможность дискретизации передаваемой информации до байта позволяет реализовывать простые и прозрачные протоколы обмена данными.

В качестве электрического интерфейса, может быть использован любой вариант, обеспечивающий дуплексный обмен данными (RS-232C, RS-422, ИРПС). Специально для СИУС был разработан электрический интерфейс с токово-потенциальным способом передачи сигнала (ИРПС-М), объединяющий в себе лучшие свойства других электрических интерфейсов:

- высокую помехозащищенность (как у токовой петли);

- полную гальваническую развязку как по входам, так и по выходам (за счет использования оптронов) при низкой стоимости подключения (1.5-2 у. за точку);

- сравнительно высокую скорость передачи данных (57600 - 921600 бод, при длине линии от 500 до 1500м), как у RS-485, но при меньших энергетических затратах (5-40ма);

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

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

Конструктивно ВУ и МВВы могут быть реализованы в виде автономного изделия или  объединены в вычислительный блок на базе единой аппаратной платформы. В последнем случае в рамках одного изделия может быть сконцентрировано произвольное количество ВУ и МВВы. 

Платформа представляет  собой конструктив с кросс платой,  физически реализующей внутриблочный интерфейс (информационный сегмент), и набором блоков питания. Платформы предназначены  для объединения ВУ и МВВы в единые  вычислительные блоки различной сложности и производительности. Пропускная способность внутриблочных интерфейсов на порядок выше, чем у последовательных каналов.

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

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

 

 

Рис.2

 

На нижнем уровне используются автономные модули ввода/вывода (АМВВы). Это простые, малогабаритные и малопотребляющие (15-20 мА по цепи питания 24В) блоки, стоимостью 50-100 у., способные получать питание непосредственно по линии связи. К каждому АМВВы может быть подключено до 8-24 первичных датчиков или исполнительных механизмов. Они соединяются последовательным каналом нижнего уровня (ПКНУ) с одним из ВУ платформы среднего или верхнего уровней. К одному ПКНУ и, соответственно, к одному ВУ платформы, может быть подключено до 7 абонентов (АМВВы).

Канал нижнего уровня оптимизирован под максимальную длину линии, многоточечное соединение и минимальное энергопотребление. Он имеет пропускную способность 57600 бод при максимальной длине линии до 1000 метров (в зависимости от используемого типа кабеля).

На одной платформе (в одном вычислительном блоке) среднего уровня может быть смонтировано до 8 ВУ, опрашивающих АМВВы. Эти ВУ связаны внутриблочным интерфейсом с пропускной способностью около 2МБод с девятым, центральным модулем, выполняющим для них роль ВУ верхнего уровня. В каждом тике автоматного времени (10млсек в стандартном исполнении) он последовательно опрашивает все 8 ВУ, перераспределяет между ними необходимую информацию и формирует обобщенный информационный кадр для передачи ВУ верхнего уровня.

К одному вычислительному блоку (платформе) может быть подключено до (16*7) 112 АМВВы или до 512-2048 первичных датчиков и исполнительных механизмов. Суммарная пропускная способность 16 последовательных каналов составляет 921600 Бод (~ 80.000 байт/сек), что позволяет сканировать все 2048 параметра с частотой около 20Гц. Такая производительность достаточна для подавляющего числа систем управления. При необходимости, частоту опроса некоторых параметров можно довести до 100Гц и более, при некотором уменьшении общего числа передаваемых параметров.

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

На верхнем уровне используется более мощная платформа. Она позволяет объединить центральный ВУ (модуль сетевого доступа), обеспечивающий выход в сеть Ethernet  или связь по каналу USB, и до 8 ВУ, обеспечивающих связь с вычислительными блоками среднего уровня.  Все ВУ связаны между собой внутриблочным интерфейсом с пропускной способностью около 20Мбод. Это позволяет подключать к платформе верхнего уровня до 16 вычислительных блоков среднего уровня. Блоки подключаются с помощью последовательных каналов верхнего уровня (ПКВУ), оптимизированных по скорости обмена, и обеспечивающих соединение типа точка/точка при скорости передачи до 921600 Бод и длине линии до 500м. Пропускная способность ПКВУ согласована с пропускной способностью ПКНУ. Общая пропускная способность восьми каналов верхнего уровня около 7.3 МБод (~ 640.000 байт/сек).  

Таким образом, сетевой сегмент с приведенной на рис.2 структурой способен сканировать около 32.000 цифровых и аналоговых параметров с частотой около 20Гц. При этом максимальное удаление первичных датчиков может достигать 1500 метров. 

Суммарная вычислительная мощность СИУС – около 2700 MIPS при возможности одновременной параллельной реализации до 90 независимых блоков управления. Поскольку производительность контроллеров, реализующих ВУ, составляет от 25 до 100 MIPS, то при длительности тика автоматного времени равной 10 млсек, в каждом тике может быть последовательно реализовано до нескольких десятков блоков управления. Таким образом, общее количество блоков управления, реализуемых СИУС в рамках одного тика, может достигать нескольких тысяч.

Важной особенностью такой системы является то, что она может быть полностью реализована на едином, централизованном источнике бесперебойного питания и способна длительное время сохранять работоспособность даже при полном обесточивании объекта.  

Стоимость аппаратной части такого комплекса (без учета стоимости кабелей) составит около 100000 у.      

 

Программная реализация информационно-управляющих сетевых сегментов.

 

СИУС является специализированным вычислительным устройством и решает две конкретные основные задачи: мониторинг текущего состояния объекта и реализация локальных подсистем управления и регулирования.

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

Виртуальность заключается в том, что любое вычислительное устройство (от ПК до микроконтроллера типа AVRTiny), которое имеет необходимые каналы связи (UART), и в котором установлено необходимое ПО, будет взаимодействовать с другими СМ идентичным образом и в него могут быть загружены любые блоки управления, в соответствии с его вычислительной мощностью.

В памяти каждой ВСМ содержаться блоки распределенной операционной среды, необходимые для ее правильного функционирования.

ВРМ включает в свой состав:

- Ядро реального времени, управляющее развертыванием по временной оси процессов управления;

- Подсистему реализации алгоритмов и команд, управляющий выполнением главного и фонового циклов алгоритма управления;

- Внутреннюю память для хранения информации, состоящую из набора независимых (с точки зрения пользователя) блоков, таких как память алгоритмов и команд, память данных, стеки данных и возвратов, буфера ввода/вывода;

- Подсистему ввода/вывода, осуществляющий связь ВРМ с другими вычислительными устройствами, участвующими в реализации СеС.

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

Упрощенная структура системного ПО виртуальной РМ представлена на рис.3.

 

Рис.3

 

Подсистема ввода/вывода является самостоятельным блоком СМ работающим независимо и асинхронно с другими блоками. Любая СМ может быть подключена к одному или нескольким информационным сегментам верхнего и нижнего уровней. В качестве сегмента может выступать внутриблочный интерфейс платформы или последовательный канал. Каждое подключение обслуживается контроллером приемопередатчика физической линии. В качестве таковых могут выступать любые из реализованных в настоящее время контроллеров: UART, I2C, SPI, Ethernet, CAN, USB и т.п. Разные реализации СМ могут иметь различный набор контроллеров для подключения к различным комбинациям информационных сегментов. Каждый из контроллеров имеет свой протокол обслуживания процесса обмена данными (Драйвер).

Главной особенностью внутренних информационных протоколов сетевого сегмента является обеспечение ламинарности потока данных, т.е. равномерно распределенного во времени процесса передачи и обработки элементарных единиц поступающей информации (параметров и команд).

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

Это делает весь процесс обмена данными «прозрачным» для других программных блоков. Они как бы просто реализуются в вычислительном устройстве, имеющим несколько меньшее реальное быстродействие, но сохраняющем все первоначальные возможности, включая обработку прерываний в реальном масштабе времени. Эта особенность позволяет легко реализовывать в МВВы и ВУ режим «жесткого реального времени».

Подсистема реализации алгоритмов и команд предназначена для реализации блоков управления и командного интерфейса.

В рамках сетевого сегмента все блоки логического управления реализуются как конечные автоматы с памятью, а блоки регулирования – как ПИД-регуляторы,  встроенные в блоки логического управления.

Для мониторинга параметров система не требует программирования или сложных настроек. Любой правильно собранный сетевой сегмент способен выполнять свои функции сразу же после включения и загрузки в него заполненной таблицы параметров. Это достигается тем, что все его элементы сбалансированы по производительности. Даже при стопроцентной загрузке последовательного канала среднее время между двумя прерываниями, для скорости 115200 Бод  составит около 10мксек. При тактовой частоте процессора 25 Мгц, это время составляет 250 машинных тактов. За это время может быть выполнено более 125 команд. Если мы спроектируем КА, реализующий протокол обмена т. о., что для любого состояния время обработки не превысит 50 тактов, то мы  как бы получим ВУ с меньшей (на 40%) производительностью и невозможнлостью обрабатывать прерывания с частотой большей, чем ½  частоты этого прерывания.

Блок реализации алгоритмов может использовать это время. При автоматном времени 10млсек (100*10мксек) вычислительный ресурс этого блока составит ((125-50)*100) – 7500 тактов. Для реализации простейшего автомата (16состояний + 50 тактов для реализации состояния) необходимо около 100 тактов. Т.о. в одном цикле мы можем реализовать до 75 простейших автоматов. Если мы ограничимся 50 автоматами, у нас гарантировано останется время и на выполнение фоновых программ.

 

Hosted by uCoz