RT_HW_LINK: новый прикладной метод распределенного ввода-вывода
RT_HW_IO_LINK — это технология быстрого прикладного обмена между центральным контроллером и удалённым модулем ввода-вывода. Она создаёт для пользователей FLProg более комфортную среду: вместо адресов устройств, карт регистров и ручной раскладки данных инженер работает с понятными блоками DI, DO, AD, DA, STATUS, OK и DIAG.
Общая идея: центральный контроллер и удалённый модуль ввода-вывода.
Что это даёт пользователю FLProg
В обычной системе расширения инженер часто вынужден думать о протоколе: какой адрес устройства, какой номер регистра, где лежит нужный бит, как часто опрашивать узел и как диагностировать потерю связи. RT_HW_IO_LINK переносит эту работу внутрь библиотеки. В проекте остаются осмысленные сигналы и готовые функциональные блоки.
удалённые входы и выходы выглядят как естественное расширение контроллера;
не нужно вручную вести карту регистров;
не нужно вручную разбирать кадры обмена;
связь, восстановление состояния и диагностика реализованы внутри библиотеки;
параметры обмена можно тонко настраивать: периоды, приоритеты, force refresh, фильтры и диагностику.
Почему это проще, чем классический обмен регистрами
RT_HW_IO_LINK не заменяет Modbus во всех задачах. Modbus остаётся универсальным промышленным протоколом для совместимости с большим количеством оборудования. Но для связки “центральный контроллер - удалённый модуль ввода-вывода” RT_HW_IO_LINK даёт более прямой и понятный интерфейс.
Подключение точка-точка
Базовая схема проста: один порт центрального контроллера соединяется с одним удалённым модулем. Для коротких линий подходит RS232, для дальних линий - RS422, для внутриплатных и коротких соединений - прямой UART RX/TX. При наличии нескольких независимых портов можно подключить несколько расширителей одновременно, сохраняя простую структуру “один порт - один модуль”.
Варианты физического подключения: RS232, RS422 и UART RX/TX.
Полный дуплекс и разгрузка канала
Обмен работает в полном дуплексе: центральный контроллер отправляет команды управления, а удалённый модуль независимо передаёт входы, аналоговые значения, статус и диагностику. При изменении передаются только изменившиеся поля. Периодическая контрольная отправка force refresh восстанавливает полное состояние после перезапуска, ошибки или разрыва связи.
PO DO1 0040
PO DA1 8500
AD0 15 AD2 1279 AD3 1276 AD4 1247
ST 0007
RQ ER 0004
Практические результаты
ASCII-режим протестирован на скорости 230400 бод. В тесте управлялись 24 светодиода, использовались режимы “пила” и “треугольник”. Длина одной посылки от центрального устройства составляла около 1.6 мс. Периоды 5 мс и 10 мс работали устойчиво. При периоде 3 мс обмен также выполнялся, но визуально светодиоды или человеческий глаз уже не успевали нормально воспринимать выключение.
Итоги скоростного теста: ASCII уже достаточно быстрый для типовых задач дискретного управления.
Итог
RT_HW_IO_LINK превращает одиночный контроллер в центральный узел распределённой системы. Для пользователя FLProg это выглядит как понятный набор блоков и сигналов, а не как низкоуровневый протокол. Первая практическая реализация на связке FLE4S-D320-V1 и модулей FLE показала, что решение быстрое, простое для отладки и пригодно для дальнейшего развития: счётчиков, энкодеров, умных кнопок, step/servo-модулей и локальных исполнительных узлов.
============================================================
RT_HW_LINK: новый прикладной метод распределенного ввода-вывода
-
ecoins
- Администратор
- Сообщения: 4493
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 225 раз
- Поблагодарили: 379 раз
RT_HW_LINK: новый прикладной метод распределенного ввода-вывода
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Перейти
- Правила размещений сообщений
- Обсуждение работы сайта
- FLProg & SCADA
- ↳ FLProg
- ↳ FLProg-Scada
- ↳ Проекты
- ↳ Пожелания
- Основной
- ↳ Периферийное железо для контроллеров
- ↳ Датчики температуры, влажности и давления
- ↳ Прочие датчики и энкодеры
- ↳ Дисплеи и индикаторы
- ↳ Часы реального времени
- ↳ Управление двигателями
- ↳ Устройства памяти
- ↳ Расширители портов
- ↳ Кнопки и клавиатуры
- ↳ Звук, музыка и видео
- ↳ Светодиоды
- ↳ ЦАП и АЦП
- ↳ Печатные платы, блоки питания, корпуса и прочие компоненты
- ↳ Приборы и оборудование
- ↳ Espressif ESP
- ↳ ESP8266
- ↳ Справка по ESP8266
- ↳ Платы на основе ESP8266
- ↳ ESP32
- ↳ Справка по ESP32
- ↳ Платы на основе ESP32
- ↳ WEB интерфейс
- ↳ Готовые прошивки
- ↳ Спросить у знатоков
- ↳ Темы от автора
- ↳ Справочники и даташиты
- ↳ Юмор. Отдохните, улыбнитесь и с новыми силами в бой!
- ↳ Покупка железа (Обмен опытом)
- ↳ Просто поболтать (На свободную тему)
- ↳ Торрент - ссылки
- ↳ HMI_панель на Андроиде - KaScada
- ↳ Полезные ссылки
- ↳ OnLine Общение
- ↳ Читальный зал
- ↳ HMI Virtuino
- ↳ Пользовательские контроллеры
- ↳ Коммуникация, связь, инструменты, программы
- ↳ MQTT
- ↳ Blynk
- ↳ Modbus
- ↳ Remote XY
- ↳ WiFi
- ↳ Bluetooth
- ↳ Radio 433 MHz
- ↳ GSM / GPRS
- ↳ GPS
- ↳ Infrared (IR)
- ↳ Ethernet
- ↳ UART
- ↳ CAN
- ↳ Другие
- ↳ Контроль доступа. Обсуждение
- ↳ RFID
- ↳ iButton
- ↳ Датчик отпечатка пальцев
- ↳ Конфиденциальность
- ↳ Базовые элементы
- ↳ Таймеры
- ↳ Математика
- ↳ Логика
- ↳ переменные
- ↳ Arduino. Другие МК
- ↳ ATmega328,168
- ↳ ATmega32u4,2560
- ↳ Atmel Cortex-M3
- ↳ Проекты различных устройств на Ардуино
- ↳ Инкубаторы
- ↳ STM32
- ↳ Проекты различных устройств на STM32
- ↳ Команда ecoins
- ↳ RP2040 и т.д.
- Видео. Уроки. Примеры.
- ↳ Обучающие видео материалы
- ↳ Видео от Автора программы
- ↳ Ключ к Arduino
- ↳ Видео от Rovki
- ↳ Материалы от Siberian
- ↳ Обучающие примеры работы в FLProg
- ↳ Интересный контент с FLProg
- Проекты различных устройств
- ↳ Проекты различных устройств на Arduino
- ↳ Проекты различных устройств на ESP8266 / ESP32
- ↳ ESP8266
- ↳ ESP32
- ↳ Проекты различных устройств на STM32
- ↳ Проекты с разными контроллерами
- Песочница
- ↳ Начинающим
- ↳ Wiki
- ↳ Электронщикам - Непрограммистам
- ↳ Штатные блоки
- ↳ Помогите, а то я "нимагу"
- ↳ А что так можно было, да?
- ↳ Не могу найти тему ...
- Пользовательские блоки
- ↳ Триггеры, таймеры, счетчики, детекторы сигнала
- ↳ Блоки для рассчетов и цифровые фильтры
- ↳ Блоки сравнения (компараторы)
- ↳ Коммуникация и связь
- ↳ Управление шаговыми двигателями и сервоприводами
- ↳ Часы реального времени (RTC)
- ↳ Дисплеи, индикаторы и клавиатуры
- ↳ Работа со строками
- ↳ Датчики и энкодеры
- ↳ EEPROM и SD карты
- ↳ Конвертация типов, шифраторы и дешифраторы
- ↳ Микросхемы расширений
- ↳ ПИД регуляторы (PID), блоки для ШИМ
- ↳ Звук и видео
- ↳ Контроль доступа
- ↳ Светодиоды, освещение
- ↳ Другое
- ↳ Разработка пользовательских блоков
- ↳ Библиотеки пользователей
- ↳ Блоки для ESP32/ESP8266
- Программирование на С++
- ↳ Учебные материалы
- ↳ С++ в Ардуино
- ↳ Общие вопросы
- Одноплатные компьютеры
- ↳ Rapsberry Pi
- ↳ Orange Pi
- ↳ Banana Pi
- Умный Дом
- ↳ Проекты
- ↳ Умная Дача
- ↳ Home Assistant
- ↳ MajorDoMo
- ↳ OpenHAB
- ↳ ioBroker
- ↳ Облачные сервисы
- ↳ LoRa
- ↳ Общая информация и вопросы
- ↳ Проекты
- Объявления
- ↳ Доска объявлений
- ↳ Прием заказов
- ↳ Коллективные покупки
- Другие визуальные среды программирования
- ↳ Node-Red
- ↳ Примеры
- ↳ Настройки
- ↳ Общие вопросы
- ↳ HiAsm
- ↳ Примеры
- ↳ Настройки
- ↳ Общие вопросы
- ↳ LabVIEW
- ЧПУ
- ↳ Станок на ATmega 2560 с шилдом
- ↳ Проекты
- ↳ ЧПУ + FLProg
- ↳ Общие вопросы...
- Android
- ↳ Визуальное программирование в App Inventor
- ↳ Программы
- ↳ Денежные переводы
- ↳ Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!)
- ↳ Встроенные блоки
- ↳ Интерфейс программы
- ↳ Установка и работа FLProg на разных ОС
- ↳ FLProg и Arduino IDE
- ↳ Помощь и справочная информация
- ↳ Сторонняя SCADA для Ардуино
- ↳ Прочие вопросы
- ↳ Баг - Трекер
- ↳ Новые
- ↳ Принятые
- ↳ В работе
- ↳ Выполненно
- ↳ Отложенно (временно не возможно)
- ↳ Не принятые
- ↳ Архивы
- ↳ Архив (Версия 2.1)
- ↳ Архив (Версия 1.15)
- ↳ Архив (Версия 1.14)
- ↳ Архив (Версия 1.12)
- ↳ Архив (Версия 1.11.1)
- ↳ Архив версия 1.11
- ↳ Архив (Версия 1.10.4)
- ↳ Архив (Версия 1.10.3)
- ↳ Архив (Версия 1.10.2)
- ↳ Архив (Версия 1.10.1)
- ↳ Архив (Версия 1.10.4)
- ↳ Архив (Версия 1.10.3)
- ↳ Архив (Версия 1.10.2)
- ↳ Новый функционал
- ↳ Новые
- ↳ Принято
- ↳ В работе
- ↳ Выполненно
- ↳ Отложенно (временно не возможно)
- ↳ Не принято
- Самые интересные и популярные темы (эксперимент)
Кто сейчас на конференции
Сейчас этот форум просматривают: nadyvatel72 и 1 гость