ССИ_Интерфейс к существующим системам промышленной автоматизации (12)

Аватар пользователя Rutel

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

 

© Балыбердин Андрей Леонидович 2019 Rutel@Mail.ru

 

Синхронная Символьная Иерархия

Интерфейс к существующим системам промышленной автоматизации

 

 

Новосибирск, 2023 г.

 

Пути внедрения ССИ в современные системы промышленной автоматизации.

Идеальным решением для систем реального времени был бы прямой интерфейс к сети ССИ (сетевая карта или модуль с данным интерфейсом), но пока таких промышленных контроллеров нет. Для того что бы данная проблема не тормозила внедрение сети ССИ, необходимо найти такое решение когда интерфейс ССИ имеет только коммутатор, а вся остальное оборудование только стандартные для микроконтроллеров и промышленных компьютеров интерфейсы (Ethernet, RS-485, CAN и тд).

Для примера опишем подключение микроконтроллера через интерфейс RS485 (half-duplex).

Поскольку свойством гарантии доставки в реальном времени обладает только устройство с реализованным интерфейсом в сеть ССИ, то выбираем тип связи Master-Slave. Мастером является является коммутатор, вернее модули RS-485 реализованные в структуре коммутатора. Подчиненными, все устройства подключаемые к этим каналам. Алгоритм доступа к каналу получается не сильно отличным от канонического, подчиненное устройство получает доступ к каналу только после разрешения от мастера. Виртуальные каналы ССИ имеют свойство передавать символы даже если нет передачи реальных данных, что гарантирует периодическую отправку символов в сторону подчиненных устройств. Для единообразия добавляем обязательный ответ от подчиненного устройства мастеру, содержащий данные для передачи. Если в течении установленного срока ответного пакета нет, то считается что данное конкретное устройство отсутствует или вышло из строя. Остальные правила обмена будут сформулированы в процессе создания протокола.

Примерный алгоритм обмена данными.

  1. Модуль RS-485, в составе коммутатора ССИ, постоянно мониторит состояние FIFO виртуальных каналов данных, предназначенных для передачи подчиненным устройствам.
  2. В момент появления данных происходит формирование информационного пакета с адресом конкретного устройства на шине RS485 и принятыми из сети ССИ данными, с дальнейшей его передачей через интерфейс RS485 подчиненному устройству.
  3. Блок RS485 на подчиненном устройстве, принимает некоторое число данных (заголовок пакета) и инициирует прерывание работы микроконтроллера для декодирования заголовка пакета.
  4. Обработчик прерывания проверяет принадлежность пакета данному устройству и если адрес соответствует, то начинает готовить пакет с ответными данными (данные будут отправлены в сеть ССИ).
  5. После завершения приема входящего пакета, подчиненное устройство отправляет ответ.
  6. В свою очередь коммутатор ССИ, после передачи пакета ожидает ответ. Если в течении некоторого времени его нет, то в соответствующий виртуальный канал (закрепленный за данным адресом RS-485) помещается символ сигнализирующий об ошибке связи.
  7. Если пакет принимается, то данные из этого пакета извлекаются и помещаются в буфер виртуального канала.

Какие плюсы можно получить при внедрении сети ССИ в современные системы промышленной автоматизации ?

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

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

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

Большинство контроллеров обладают многократно большей, чем это необходимо для решения конкретной задачи производительностью и ее можно использовать для дублирования управляющих программ. Сеть ССИ позволяет одновременно передавать данные нескольким адресатам. Эти два свойства, позволяют запустить копию одной и той же функции на нескольких физических контроллерах и контролировать не только одинаковость данных пришедших различными маршрутами, но и идентичность результатов работы ПО более нижнего уровня. В реальном масштабе времени можно производить дублирование критичных частей управляющего ПО и при выявлении сбоев в работе аппаратных средств, реализовывать различные виды корректирующих реакций. Процесс дублирования можно производить на всех уровнях системы управления. Реализовывать данный механизм нужно в виде стандартной библиотеки автоматизирующей большую часть работы разработчика системы. Кроме того появляются достаточно простые механизмы для отладки и сохранения параметров работы системы в целом с привязкой к шкале реального времени, а не для отдельных контроллеров как сейчас.

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

 

 

Авторство: 
Авторская работа / переводика
Комментарий автора: 

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

© Балыбердин Андрей Леонидович 2019 Rutel@Mail.ru

Комментарии

Аватар пользователя dmikar
dmikar(9 лет 7 месяцев)

Какой-то дешевый текстогенератор вы использовали. 

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

А смысл написанного Вы не понимаете ?

Аватар пользователя dmikar
dmikar(9 лет 7 месяцев)

А он есть, хотите сказать?

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Привыкайте, филологи сейчас не в фоворе.

Рассматривайте как язык программирования.

Сейчас русский язык перестанут учитывать при приеме на технические специальности

(или сильно ослабят относительно математики и физики).

При моем поступлении в НГТУ - русский язык учитывался не оценкой а -(2 бала и меньше) и + (3 бала и больше).

 

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

Аватар пользователя RusEngineer
RusEngineer(7 лет 11 месяцев)

При моем поступлении в НГТУ (без тире) русский язык учитывался не оценкой(,) а (")-(") (2 бал(л)а и меньше) и (")+(") (3 бал(л)а и больше).

 

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

Я правильно понял, что "-" выхватили?

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Русского языка и литературы в НГТУ не преподают, но и с минусом не принимают.

Не страдайте, как будет время подправлю лексику.

Основное назначение блога: Опубликовать в свободном доступе, что бы было невозможно получить патент.

Читать нужно только инженерам - филологи лесом пожалуйста. 

Аватар пользователя RusEngineer
RusEngineer(7 лет 11 месяцев)

Едрид-ангидрид...

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

"Така жизнь" - когда я пишу текст я "вижу" описываемое устройство или алгоритм.

Мне трудно одновременно еще и следить за лексикой и "плавностью" текста, излишним повторением слов.

 

По факту данный текст программа на ЯВУ, только на русском языке.

Для приведения ее к нормальному литературному, нужно переписать примерно десять раз.

Нечетные прочтения контролировать логику, четные контролировать логику.

Аватар пользователя 2А70
2А70(7 лет 9 месяцев)

При моем поступлении в НГТУ

Это какой университет? 

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Новосибирский Государственный Технический Университет (правда поступал я в НЭТИ)

Новосибирский Электро-Технический Институт 

Аватар пользователя 2А70
2А70(7 лет 9 месяцев)

Понятно, а я заканчивал НГТУ(Нижегородский государственный технический университет) smile1.gif, направление робототехника.

Аватар пользователя RusEngineer
RusEngineer(7 лет 11 месяцев)

Как тебе такое, ChatGPT?

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Там вроде текст красивый, а вот смысла нет.

 

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Вы еще юридические документы не читали. smile2.gif

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Здесь показывается, что из себя представляет ChatGPT https://habr.com/ru/post/716216/

Аватар пользователя Lokki
Lokki(9 лет 3 месяца)

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

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Идеальным вариантом было бы применение квантовых телепортационных точек связи.

Не путайте, "Идеальный" и "сказочный".

Передача информации со скоростью выше скорости света невозможна.

 

Если есть инженерные вопросы, задавайте.

Аватар пользователя Lokki
Lokki(9 лет 3 месяца)

ОК.

"телепортация" между квантовыми точками осуществляется со скоростью света.

пСы.
Можно рассказать чем ваш 1005001 вариант отличается от предыдущих? скорость, помехоустойчивость, простота реализации (хотя это уже нет: как минимум прерывания, точка-точка)?

Поподробней про физику?

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Прочитайте статьи начинающиеся с ССИ_, там все подробно прописано.

Если не понятен какой то абзац (утверждение), выделяйте его и задавайте вопрос с формулированием непонятного момента.

 

Аватар пользователя RusEngineer
RusEngineer(7 лет 11 месяцев)

Выдохнул и удалил.

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

А зачем, главное что бы логика не пострадала и могла быть воспроизведена в устройстве.

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

Аватар пользователя RusEngineer
RusEngineer(7 лет 11 месяцев)

Блин, запилите блок-схему... Хотя бы для вида.

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Карандашом на клетчатой бумаге ?

Это я могу, сделаю в ближайшие дни.

Аватар пользователя Секретный крановщик

Попытался найти отличие пункта 4 от пункта 3 в алгоритме даже побуквенно. Не осилил. /help

Аватар пользователя Rutel
Rutel(8 лет 8 месяцев)

Спасибо, это уже по делу.

Размножился пункт.

Подправил.

При копировании нумерованного списка из текстового редактора номера пунктов переносятся криво.