Контроллер машины от CANopen до MQTT5
- Документ
- D18 · АСУП.466459.100-01 34 07
- Редакция
- 1.1 · Учебно-методическое издание
- Читатель
- Инженер, наладчик, преподаватель и пользователь контроллера машины
- Применение
- Обучение и разбор публичного обмена. Учебные опыты работают автономно.
Как пользоваться книгой
Контроллер связывает показания датчиков, условия работы машины и команды человека. Чтобы настроить эту связь, инженеру нужно различать адрес устройства и адрес параметра, полученное сообщение и выполненное действие, рабочее значение и сохранённую настройку. Эта книга объясняет путь от сигнала CANopen до записи MQTT5 и показывает, где проверяется каждый результат.
Издание предназначено для инженера, наладчика, преподавателя и пользователя, который хочет понимать настройки своей машины. Для чтения и опытов достаточно браузера. Учебные кнопки, переключатели и ползунки доступны мышью и касанием. Они изменяют модель на странице и не соединяются с оборудованием. Кнопки «+» и «−» позволяют вводить числа без внешней клавиатуры.
Первая часть знакомит с шиной, адресацией и службами CANopen. Вторая связывает словарь объектов с логикой PLC, датчиками и постоянной памятью. Третья раскрывает MQTT5, обновление и историю измерений. Завершает книгу практикум WM: кнопочная панель, блок управления, датчики и наблюдаемые результаты.
Область применимости. Базовый обмен рассматривается для CAN CC с 11-битными идентификаторами и CANopen CC. Для CAN FD/CANopen FD действуют свои ограничения и службы. Профили устройств определяют, какие параметры доступны конкретному изделию. Общая версия сообщений системы, версия программы устройства, версия схемы записи и версия способа агрегации учитываются раздельно.
В каждом разделе есть вопрос, объяснение, пример настройки или наблюдения, упражнение и разбор. В HTML работают модели; PDF сохраняет исходные условия, последовательность и ответы. Автономный учебный комплект D18 открывается после распаковки файлом index.html. Регистрация, сервер и установка дополнительных программ для него не нужны.
Условия отдельного опыта можно сохранить кнопкой «Скачать сценарий JSON», а затем открыть через «Открыть сценарий JSON» в том же опыте. При импорте проверяются вид опыта, поля и допустимые значения. Файл переносит условия; ход расчёта начинается заново. Условия подготавливаются экранными средствами опыта.
Практическую настройку поставляемой системы выполняют по профильным руководствам: ввод в эксплуатацию, Pivot, администрирование и диагностика. D08 служит справочником публичных связей. Учебный экран D18 и экран установленного приложения имеют самостоятельную применимость.
У каждого процесса свой путь
Каждая интерактивная модель показывает собственную последовательность. Зелёным отмечена готовая часть текущего опыта, жёлтым — следующий шаг, серым — этапы, которые ещё ожидают действия или подходящего условия. Готовность относится только к расчёту в автономной учебной модели: она не подтверждает готовность контроллера, установленного приложения или физического выхода.
Готовые модели доступны независимо друг от друга. Изучать обмен MQTT5 можно, не ожидая завершения опыта обновления; маршрут WM можно пройти отдельно от настройки адреса узла. Поэтому новая готовая модель появляется в издании сразу и не ждёт соседних процессов.
| Процесс | Путь в модели | Где открыть |
|---|---|---|
| Арбитраж CAN | Одновременное начало → сравнение битов → продолжение одного кадра | §2 |
| NMT | Команда → состояние узла → доступные службы | §4 |
| Время | Источник → метка события → журнал | §5 |
| Аварийное значение | Датчик → качество → политика → выход | §6 |
| Объект OD | Выбор → проверка доступа → рабочее значение | §7 |
| Отображение PDO | Выбор объектов → размер → кадр | §9 |
| Таймер PLC | Условие → отсчёт → выход Q | §11 |
| Датчик I²C | Адрес → регистр → масштаб → OD | §12 |
| CiA 305 | Идентификация → назначение → повторное чтение | §13 |
| EEPROM и Flash | Форма → рабочая память → запись → проверка после питания | §15 |
| Обновление | Файл → проверка → применение → чтение версии | §16 |
| MQTT5 | Публикация → брокер → получатель → локальная проверка | §17 |
| История | Событие → качество → ряд → агрегат | §19 |
| WM PLC | Панель → PDO → OD → условия → выход | §20 |
Маршрут первого занятия
- Пройдите арбитраж и объясните, почему один передатчик продолжил обмен.
- Откройте OD и соберите пример PDO из трёх сигналов.
- Пройдите условие с задержкой и сохраните настройку модели после выключения питания.
- Проследите запрос от кнопочной панели WM до решения блока управления.
- Отправьте учебную запись MQTT дважды и проверьте количество событий в истории.
Читатель должен уметь назвать источник значения, его единицу и качество, условие применения, способ проверки и действие при отклонении. Именно эти пять вопросов связывают главы в одну инженерную картину.
1. Шина CAN и кадр
Учебная схема. Шина доставляет кадр. Смысл сигнала задают профиль, единица и качество.
Как несколько устройств пользуются одной линией
Участники CAN соединены общей шиной. Передатчик формирует биты, остальные узлы наблюдают их и проверяют кадр. Доминантный бит обозначается 0, рецессивный — 1. При одновременной передаче доминантного и рецессивного состояния на линии наблюдается доминантное. На этом свойстве основан арбитраж следующей главы.
Для работоспособности нужны согласованная скорость и подходящая физическая сеть. Топология, длина линии, ответвления, кабель, оконечные сопротивления и допустимые уровни выбираются по паспорту оборудования. Типичная линейная высокоскоростная CAN-сеть имеет оконечные сопротивления на двух концах; конкретные места подключения определяет схема внедрения. Разъём сам по себе не устанавливает распиновку или совместимость питания.
Скорость обмена задаёт длительность бита. При 250 кбит/с один бит занимает 4 мкс. Время доставки полезного значения больше длительности одного бита: кадр содержит служебные поля; шина может быть занята более приоритетным обменом. Оценка задержки учитывает весь кадр, арбитраж, загрузку и возможный повтор.
Что находится в кадре
| Часть | Назначение |
|---|---|
| Начало и арбитраж | Начать кадр и определить, кто продолжает передачу |
| Управление и длина | Определить формат и размер полезных данных |
| Данные | Передать значения согласно согласованному отображению |
| Контроль целостности | Обнаружить ошибку передачи |
| Подтверждение и окончание | Завершить канальный обмен |
В обычном кадре данных CAN CC полезная нагрузка содержит до восьми байтов. Смысл этих байтов задаёт вышележащий протокол и профиль. CANopen определяет службы, словарь объектов и способы переноса значений. Для интерпретации нужны не только байты, но и тип, масштаб, направление и применимость.
Полученный ACK означает, что на шине был участник, подтвердивший корректность кадра на канальном уровне. Проверку нужного объекта, прав, технологических условий и исполнения выполняют на следующих уровнях. По одному ACK нельзя установить, какой исполнитель фактически изменил положение.
Что наблюдать при отклонении
Ошибки передачи могут вызывать повтор кадров и изменение состояния контроля ошибок узла. При bus-off узел прекращает обычное участие в обмене; восстановление зависит от реализации и принятой процедуры. Первые вопросы диагностики: есть ли питание, совпадает ли скорость, соответствует ли соединение схеме, присутствует ли нужный узел и меняются ли его данные.
Упражнение и разбор
Узел передаёт восьмибайтовое значение на скорости 250 кбит/с. Можно ли считать временем доставки 8 × 8 × 4 = 256 мкс?
Разбор. 256 мкс — длительность только 64 бит данных. Для оценки полного обмена нужны служебные поля, дополнительные биты кодирования кадра, ожидание доступа и возможные повторы. По этому числу нельзя назначать таймаут всей операции управления.
2. Арбитраж и приоритет
Арбитраж позволяет нескольким узлам начать передачу одновременно. Каждый сравнивает переданный бит с наблюдаемым. Если узел передал рецессивную 1, а прочитал доминантный 0 в поле арбитража, он уступает и продолжает приём. Победивший кадр передаётся дальше без разрушения из-за самого арбитража.
В опыте сравниваются стандартные 11-битные кадры данных одного формата. При таком сравнении меньший числовой идентификатор имеет преимущество. Правило о числовом значении нельзя без разбора применять к произвольной смеси стандартных, расширенных и удалённых кадров: у них различается поле арбитража.
Учебная модель · управление только на этой странице
Арбитраж по битам
Пройдено 0 из 11 бит. Решение ещё не наблюдалось
| Кадр A | 0x181 | 00110000001 |
|---|---|---|
| Кадр B | 0x281 | 01010000001 |
| A | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| B | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Стандартные 11-битные кадры данных CAN CC. Показаны биты идентификатора без stuffing; одинаковый ID требует отдельной проверки данных.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Пройти сравнение по шагам
- Оставьте для кадра A 0x181, для кадра B 0x281.
- Нажимайте «Следующий бит». Биты рассматриваются слева направо, от старшего к младшему.
- На первом различающемся бите найдите передатчик с 0. Он продолжает; передатчик с 1 уступает.
- Поменяйте идентификаторы местами и повторите опыт.
Печатный разбор. 0x181 = 00110000001, 0x281 = 01010000001. Первый бит одинаков. На втором A передаёт 0, B — 1; кадр A продолжает. Изменение полезных данных этих кадров не меняет это решение в поле идентификатора.
Если выбрать одинаковые идентификаторы, модель не назначит победителя по ним. Совпадение ID ещё не разрешает двум независимым узлам одновременно передавать разные данные: различие за пределами арбитража может стать ошибкой. При проектировании сети каждому потоку задают согласованную роль производителя.
Приоритет и частота
Высокий приоритет помогает получить доступ раньше, но сам по себе не задаёт требуемую частоту обновления или предельную задержку. Частые высокоприоритетные кадры способны задерживать остальной обмен. Поэтому при настройке рассматривают состав потоков, интервалы, синхронность, события и объём служебного обмена вместе.
Идентификатор сообщения и адрес узла — разные понятия. В предопределённом наборе CANopen некоторые COB-ID вычисляются с использованием Node-ID, однако приоритет относится к конкретному сообщению на шине. Приоритет PDO проверяют по действующему COB-ID и возможностям настройки устройства.
Контрольный вопрос
Кадр датчика с более высоким числовым ID несколько раз уступил. Это доказывает неисправность датчика?
Ответ. Нет. Сначала проверяют доступ к шине, нагрузку и допустимую давность данных. Исправный участник может ждать завершения более приоритетного обмена. Отсутствие свежего значения следует показать отдельно от причины, которую ещё предстоит установить.
3. Идентичность, адрес узла и адрес объекта
Настройка начинается с ответа «какое именно устройство выбрано». Имя машины на экране помогает человеку, но не заменяет идентичность узла. После замены блока прежний Node-ID может принадлежать другому экземпляру; перед переносом настроек проверяют модель, ревизию и назначение.
| Обозначение | Что выбирает | Учебный пример |
|---|---|---|
| Идентичность устройства | Модель и экземпляр | Производитель, продукт, ревизия, серийный номер |
| Node-ID | Узел внутри CANopen-сети | Узел 2 — панель, узел 1 — управление |
| CAN-ID / COB-ID | Сообщение или канал службы | Конкретный PDO от выбранного производителя |
| Индекс и подиндекс OD | Параметр или значение узла | 0x6200:03 выбранного устройства |
| I²C-адрес и регистр | Локальный датчик и его данные | Адрес на локальной шине датчиков |
| Идентификатор машины | Объект в системе приложений | Машина в Диспетчере и журнале |
CAN-ID — поле кадра. В документации CANopen COB-ID описывает идентификацию коммуникационного объекта; запись настройки может содержать также управляющие признаки. Поэтому числовое значение параметра COB-ID нельзя всегда без обработки копировать в поле CAN-ID.
Запись 0x6200:03 читают как «индекс 6200 в шестнадцатеричной форме, подиндекс 03». Адрес сети и имя машины указываются отдельно. Полный контекст включает устройство и профиль, поскольку одинаковый индекс у разных узлов может участвовать в разных функциях.
Проверка перед настройкой
- Выберите машину и нужное устройство по назначению.
- Сверьте доступную идентичность с паспортом выбранного экземпляра.
- Проверьте Node-ID, скорость и отсутствие конфликта в сегменте.
- Откройте описание нужного параметра: тип, единицу, доступ, диапазон и момент применения.
- После изменения прочитайте результат у того же устройства.
При несовпадении идентичности перенос конфигурации приостанавливают до уточнения применимости. Одного совпадения имени на экране для продолжения недостаточно.
Пример WM
В рассматриваемой конфигурации WM узел управления и узел генератора используют объект 0x6200:03 с разным прикладным смыслом. Адрес объекта должен сопровождаться ролью узла. Копирование «команды на индекс» без этого контекста создаёт неверный маршрут.
Упражнение. После замены блока он получил прежний Node-ID. Какие данные нужны до загрузки настроек?
Ответ. Идентичность нового экземпляра, совместимый профиль, версия конфигурации и назначение блока. Затем проверяют сохранённый результат и соответствие фактических входов/выходов. Адрес нужен для связи, но не доказывает совместимость замены.
4. NMT и контроль присутствия
NMT — управление сетевым состоянием CANopen-узла. Оно определяет, какие службы доступны в данный момент. После инициализации узел сообщает о запуске и переходит в предусмотренное состояние. Настройка и обычный процессный обмен занимают разные места в этом цикле.
| Состояние | Что изучаем |
|---|---|
| Initialisation | Подготовка узла и его коммуникаций |
| Pre-operational | Настройка через SDO; процессный обмен PDO ещё не включён |
| Operational | Процессный обмен PDO разрешён; применяются его настройки |
| Stopped | Доступны NMT и механизмы контроля присутствия; PDO/SDO не используются как в рабочем состоянии |
Названия NMT относятся к сети. Физическую остановку привода подтверждают по состоянию машины, предусмотренной команде и обратной связи. Перевод сетевого узла в Stopped не заменяет технологическую команду СТОП.
Учебная модель · управление только на этой странице
Состояние узла и доступные службы
Проверьте отдельно состояние сети и состояние технологического объекта
| PDO | Обмен PDO не разрешён |
|---|---|
| SDO | Доступен |
| Контроль узла | Heartbeat наблюдается |
Состояние сети и физическое состояние механизма проверяются отдельно.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Запуск и перезапуск
Boot-up сообщает о завершении соответствующей стадии запуска коммуникаций. Reset node и reset communication имеют разную область: сброс устройства затрагивает его прикладную и коммуникационную инициализацию, сброс связи относится к коммуникационной части. Последствия для выходов и сохранённых параметров проверяют по профилю устройства.
NMT-команда может адресоваться отдельному узлу или всем узлам сети. Групповое действие требует понимания всех участников сегмента. В учебной модели меняется только выбранное представление.
Heartbeat
Производитель heartbeat периодически сообщает присутствие и NMT-состояние. Получатель использует свой срок ожидания. Эти два параметра должны оставлять место для допустимых задержек, но не скрывать потерю связи на недопустимо долгое время. Частота измерения датчика может отличаться от частоты heartbeat.
Поступающий heartbeat подтверждает наблюдаемое присутствие узла. Свежесть давления, исправность датчика и выполнение команды требуют собственных проверок. Если heartbeat пропал, следует показывать потерю подтверждения связи, а не придумывать новое значение давления.
Node guarding встречается в существующих устройствах как отдельный механизм контроля. Его назначение и параметры читают по документации конкретного узла; поддерживаемое сочетание механизмов определяет изготовитель.
Упражнение
Выберите Operational и затем отметьте, что heartbeat не получен. Можно ли доверять последнему положению машины как текущему?
Ответ. Последнее значение сохраняет своё время и происхождение. Для использования сейчас нужны его возраст и допустимый срок годности. Сетевой статус меняется на неподтверждённый; физическое состояние остаётся предметом отдельной проверки.
5. SYNC, TIME и длительность
Учебная схема. Перевод часов не должен подменять измерение длительности.
В контроллере одновременно используются несколько видов времени. Они отвечают на разные вопросы: когда выполнять согласованный обмен, когда произошло событие и сколько длилось условие. Смешение этих вопросов приводит к ошибкам журналов и таймеров.
| Механизм | Вопрос |
|---|---|
| SYNC | Когда наступает очередной согласованный момент обмена? |
| TIME | Какая календарная временная метка передана? |
| Локальный отсчёт | Сколько времени прошло с начала условия? |
| Время получения | Когда запись дошла до принимающей системы? |
SYNC создаётся производителем и используется потребителями. Для синхронных PDO задаются соответствующий режим, период и другие поддерживаемые параметры. Настройки окна и счётчика применяются только при поддержке участниками. Длительность передачи и загрузка сети влияют на фактическое наблюдение; наличие SYNC само по себе не обещает любую требуемую точность.
TIME переносит календарное время. Получателю ещё нужно знать качество источника, давность синхронизации и правила использования метки. При пропадании источника часы могут продолжать идти, но уверенность в их точности меняется. Запись с неизвестным временем не становится достоверной только потому, что она успешно доставлена.
Учебная модель · управление только на этой странице
SYNC, календарные часы и длительность
Поправка часов меняет метку времени; длительность опыта сохраняется
| Локальная длительность | 0 мс |
|---|---|
| Учебные часы | 0.0 с относительно начала |
| SYNC | 0 импульсов |
Учебный местный таймер отсчитывает длительность независимо от поправки календарных часов.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Опыт с независимыми шкалами
- Оставьте период SYNC 100 мс и сделайте десять шагов.
- Зафиксируйте локальную длительность 1000 мс.
- Измените поправку часов на +30 с.
- Сравните длительность и учебную метку часов.
Результат. Длительность остаётся 1000 мс, метка становится 31,0 с относительно условного начала. В модели таймер не истекает из-за одной поправки календарных часов. Число импульсов SYNC показывается как расчёт для выбранного периода и текущей длительности; это не архив ранее изменённых настроек.
Время события и время доставки
Датчик мог измерить величину до потери связи, а запись поступить после восстановления. Для истории сохраняют время события и при необходимости время приёма, последовательность, качество и источник времени. Сортировка только по поступлению может изменить смысл технологического цикла.
При настройке таймера указывают единицу и начальное событие: появление устойчивого условия, фронт команды или получение подтверждения. Отдельно определяют сброс, сохранение после перезапуска и поведение при отсутствии данных. Таймер ожидания ответа и таймер работы механизма не обязаны иметь одинаковые значения.
Контроль. Обмен восстановился через минуту; пришёл старый кадр с показанием. Должен ли он стать текущим? Ответ: это определяется временем события, порядком и сроком годности. Догрузка истории и обновление текущего состояния — разные решения.
6. Аварии и аварийные значения
При отказе нужно понять причину, качество данных и предусмотренную реакцию. Эти сведения могут передаваться разными средствами. EMCY сообщает об аварийном событии CANopen; регистр ошибок обобщает признаки, а история помогает увидеть последовательность. Технологический журнал приложения может дополнительно связывать событие с машиной и рабочим циклом.
Получение EMCY не задаёт автоматически одинаковое действие всем исполнительным механизмам. Профиль и логика устройства определяют реакцию: изменить режим, прекратить действие, удержать значение или перейти к заданному состоянию. Условия возврата к работе также входят в профиль.
Что значит «аварийное значение»
| Наблюдение | Как его понимать |
|---|---|
| Измерен ноль | Датчик выдал достоверное значение 0 в указанных единицах |
| Значение неизвестно | Достоверного измерения сейчас нет |
| Значение устарело | Ранее достоверное измерение превысило допустимую давность |
| Подставлено значение | Для реакции выбран заменитель; он сохраняет отдельное происхождение |
| Установлен выход при отказе | Исполнитель получил значение, заданное политикой отказа |
Безопасность нулевого значения зависит от назначения выхода. Отключение питания клапана, удержание позиции и останов двигателя имеют разные физические последствия. Конкретные значения и разрешения определяются назначением машины и проверенной настройкой.
Учебная модель · управление только на этой странице
Отказ входа и реакция выхода
Нормальный режим модели
| Вход | 40 % |
|---|---|
| Качество | Достоверно |
| Выход модели | 40 % |
| Происхождение выхода | По измерению |
Выбор реакции здесь относится только к модели. Для машины его задаёт проверенный технологический профиль.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Прочитать реакцию модели
- Выберите «Данные устарели».
- Сравните три учебные реакции: отключение, удержание последнего и заданное значение.
- Во всех вариантах найдите качество входа. Оно не становится достоверным после подстановки.
- Верните достоверное измерение и проверьте переход модели.
В варианте удержания исходное подтверждённое значение принято равным 40 %. Это условие опыта, а не рекомендуемая настройка рабочего выхода.
Восстановление
Устранение причины, подтверждение сообщения и разрешение возобновить работу — отдельные события. Пользователь проверяет, восстановился ли источник, свежи ли данные, выполнены ли разрешающие условия и требуется ли явная команда продолжения. Очистка сообщения не доказывает исправность оборудования.
При неизвестном результате команды сначала устанавливают фактическое состояние и результат уже отправленного запроса. Повторная отправка зависит от вида команды и её контракта. Отдельные явные команды остановки могут допускать повтор, но это не делает повтор любой операции безопасным по умолчанию.
Упражнение. Из графика исчезло значение давления. Можно ли заменить его нулём, чтобы график выглядел непрерывным? Ответ: нет оснований считать пропуск измеренным нулём. Сохраняют качество и разрыв; реакцию процесса выбирают по профилю.
7. OD — словарь объектов
Учебная схема. Обратная связь от оборудования проверяется самостоятельно.
Словарь объектов связывает устройство с внешним обменом и прикладной логикой. Каждый доступный объект имеет адрес, тип и правила использования. Часть объектов задаёт связь, часть относится к профилю устройства, часть расширяет его возможности. Для чтения параметра нужен полный контекст: идентичность узла, индекс, подиндекс и применимое описание.
Объект может быть отдельным значением, массивом или записью с подэлементами. В описании встречаются целые числа, логические признаки, строки и другие типы. Размер, знаковость и масштаб определяют, как прочитать байты. Число 300 может означать 300 единиц, 3,00 бар или код состояния — это устанавливает описание объекта.
Карточка параметра
| Поле | Вопрос читателя |
|---|---|
| Имя и адрес | Какой параметр выбран? |
| Тип и размер | Как прочитать значение? |
| Единица и масштаб | Какое физическое значение оно представляет? |
| Доступ и диапазон | Можно ли изменить его и на какое значение? |
| Момент применения | Когда настройка влияет на работу? |
| Сохранение | Что произойдёт после выключения питания? |
| Качество и время | Можно ли использовать измерение сейчас? |
Рабочий OD не равен файлу описания устройства. EDS помогает понять возможности; DCF описывает конфигурацию конкретного экземпляра или применения. Само чтение такого файла не подтверждает текущее состояние устройства.
Учебная модель · управление только на этой странице
Чтение и запись объекта
Права и диапазон проверяются до изменения
| Объект | Уставка |
|---|---|
| Прочитано | 3 бар |
| Результат | Запись ещё не выполнялась |
Учебная уставка допускает 1–8 бар. Значение измерения недоступно для записи.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Пример настройки
В модели уставка допускает 1–8 бар. Выберите 4 бар и нажмите «Записать в модель»: прочитанное значение изменится. Затем выберите 10 бар — модель отклонит запись и сохранит последнее принятое значение. Переключитесь на измеренное давление: у него доступ только для чтения.
Такой порядок даёт читателю три разные проверки: выбран правильный объект, изменение допустимо, результат действительно принят. Параметр «запись выполнена» ещё не означает «настройка сохранена после питания» — это предмет главы о памяти.
OD и процесс
Датчик обновляет измерение, PLC использует входы и уставки, а коммуникационная служба передаёт выбранные значения. Разные участники не должны произвольно присваивать один объект без согласованного смысла. Например, показание давления нельзя исправлять записью желаемого числа; для настройки используют предусмотренную уставку или калибровочный параметр.
Печатное упражнение. После принятой уставки 4 бар попытка записать 10 бар отклонена. Что должна показать проверка? Ответ: действующая уставка 4 бар и причина отказа новой записи. Отображение предложенного числа в форме не доказывает его применение.
8. SDO, описание и конфигурация устройства
SDO предоставляет доступ к объектам выбранного узла. Клиент запрашивает чтение или запись, сервер устройства проверяет адрес, доступ, размер и другие условия. Этот способ подходит для настройки и адресного чтения. Регулярный процессный обмен раскрывается в следующей главе через PDO.
Для небольшого значения возможен короткий обмен; большие данные передаются подходящим поддерживаемым способом, включая сегментированный или блочный режим. Наличие одного режима не доказывает поддержку всех остальных. При настройке обновления или крупных объектов проверяют возможности конкретного устройства.
Чтение и запись
- Выберите идентифицированное устройство и объект по описанию.
- Прочитайте текущее значение и его единицу.
- Для изменения проверьте доступ, диапазон и допустимое состояние устройства.
- Подготовьте значение в штатной форме и примените его.
- Прочитайте результат. При необходимости выполните отдельное сохранение.
Эти шаги описывают смысл операции. На рабочей машине пользователь следует экранному маршруту своего приложения. Приложение выполняет сетевой обмен за пользователя.
Ошибка и неизвестный результат
| Ситуация | Что проверить |
|---|---|
| Объект или подиндекс отсутствует | Идентичность, профиль и версия описания |
| Запись запрещена | Права объекта и допустимое состояние |
| Размер или тип не подходит | Формат выбранного значения |
| Значение вне диапазона | Ограничения и единицу |
| Нет ответа | Связь, NMT-состояние и срок ожидания |
При явном отказе сохраняют код и понятное объяснение. При потере ответа результат может быть неизвестен: устройство могло обработать запрос до разрыва. Повтор выбирают с учётом смысла операции; сначала используют предусмотренное повторное чтение или получение результата.
EDS и DCF
EDS описывает возможности модели, DCF добавляет конкретные значения конфигурации. Перед импортом проверяют происхождение файла, совместимость устройства и назначение. Форма проверки должна показать изменяемые параметры и ошибки; успешный разбор файла ещё не означает применения всех настроек.
Для переносимого комплекта полезно сохранить идентичность, версию конфигурации и сведения о её применимости. Параметры, зависящие от установки, проверяют заново: адрес узла, скорость сегмента, назначение каналов и технологические ограничения.
Упражнение. Импорт завершился, но устройство осталось со старой уставкой. Какие этапы могли отсутствовать? Ответ: применение, разрешённое состояние, завершение записи или проверка результата. Отдельно следует установить, что именно интерфейс назвал «импортом»: загрузку файла в форму или настройку устройства.
9. PDO и отображение сигналов
PDO переносит процессные данные компактным кадром. Отправитель использует TPDO, получатель — RPDO. Чтобы кадр имел одинаковый смысл с обеих сторон, заранее согласуют COB-ID, режим передачи, состав и порядок полей, размеры, типы и назначение.
Mapping — отображение объектов в полезную нагрузку. На передающей стороне оно выбирает значения для кадра, на принимающей — связывает полученные поля с нужными объектами. Эти адреса не обязаны совпадать, но должны иметь согласованную семантику.
Учебная модель · управление только на этой странице
Собрать полезную нагрузку PDO
40 бит = 5 байт: 2C 01 C4 09 01
| Давление | 0…15 бит | 16 бит |
|---|---|---|
| Температура | 16…31 бит | 16 бит |
| Качество | 32…39 бит | 8 бит |
Учебный набор CAN CC: максимум 64 бита в одном кадре. Допустимость mapping самого устройства проверяется отдельно.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Разобрать исходный кадр
Модель берёт давление 300 с масштабом 0,01 бар, температуру 2500 с масштабом 0,01 °C и признак качества 1. Размеры — 16, 16 и 8 бит. Всего 40 бит, или пять байтов.
| Поле | Байты в примере | Значение |
|---|---|---|
| Давление | 2C 01 | 0x012C = 300 → 3,00 бар |
| Температура | C4 09 | 0x09C4 = 2500 → 25,00 °C |
| Качество | 01 | Учебное обозначение достоверного значения |
Для этих числовых объектов младший байт расположен первым. Тип, знаковость и масштаб определены условием опыта. Поле качества создано для учебного набора; оно не объявляется универсальным кодированием качества всех CANopen-профилей.
Добавьте угол размером 16 бит: получится 56 бит. Затем добавьте 32-битный счётчик: получится 88 бит, модель отклонит такой набор для одного кадра CAN CC. Возможный выход — несколько согласованных PDO. Одного соблюдения предела 64 бит недостаточно: само устройство также должно разрешать выбранные объекты и способ изменения mapping.
Когда передаётся PDO
Синхронный режим связывает обмен с SYNC. Событийный режим использует условия изменения и поддерживаемые таймеры. Время запрета частой передачи и периодическая отправка решают разные задачи; их смысл читают по профилю. Приём одного PDO не подтверждает актуальность всех остальных данных узла.
Изменение mapping выполняют предусмотренной процедурой и в допустимом состоянии, затем проверяют обе стороны. Временное несовпадение таблиц может превратить корректные байты в неверные величины. В рабочем интерфейсе читатель должен видеть применённую конфигурацию и результат чтения, а не только отправленную настройку.
Контроль. Передатчик отправляет 16-битное давление, получатель ожидает 32-битную скорость. CRC кадра верна. Получено ли достоверное значение? Ответ: канальный обмен исправен, но смысл не согласован. Нужна корректная конфигурация объектов, размеров и единиц.
10. PLC и словарь объектов
Прикладная логика PLC связывает условия с действиями. Она получает входы, использует настройки, учитывает состояние процесса и формирует выходы. OD предоставляет согласованные данные для этой логики и обмена. Читателю полезно видеть путь значения и владельца каждого изменения.
Учебная цепочка: датчик → значение и качество → объект OD → условие с уставкой → разрешение → выход → обратная связь.
Объекты играют разные роли:
| Роль | Пример | Кто подтверждает результат |
|---|---|---|
| Измерение | Давление и его качество | Источник измерения |
| Настройка | Порог и выдержка времени | Применённая конфигурация |
| Запрос | Начать движение | Получатель запроса |
| Выход | Разрешение направления | Исполнительная логика |
| Обратная связь | Фактическое направление | Предусмотренный вход или наблюдение |
Прочитанный запрос не равен активному выходу. Между ними могут находиться блокировки, таймеры, приоритет СТОП, проверка режима и свежести входов. Активный программный выход также требует отдельной проверки физического результата.
Последовательность вычисления
В учебной модели сначала фиксируют входы, затем вычисляют условия и обновляют результат. Реальные устройства могут использовать циклические и событийные части с разной периодичностью. Поэтому при обсуждении задержки указывают весь путь: опрос датчика, передачу, обработку, обновление выхода и обратную связь.
Изменение уставки во время работы может применяться сразу, при смене режима или после подтверждения. Это свойство параметра. Читатель должен видеть действующую уставку отдельно от подготовленного изменения. Вход с неизвестным качеством обрабатывают по принятому правилу; пропуск нельзя незаметно заменить ложью или нулём во всех условиях.
Условие с качеством
Пусть учебная функция разрешает выход, когда значение достоверно и давление не меньше 3 бар в течение одной секунды. При 3,2 бар хорошего качества начинается отсчёт. При потере источника исходное условие теряет подтверждение; дальнейшая реакция определяется заданным правилом. Для этого опыта правило — сброс ожидания и снятие разрешения.
Порог 3 бар и секунда — учебные значения. Рабочие ограничения машины устанавливает её регламент. Перенос формулы в устройство требует проверки реальных датчиков, единиц, качества и безопасной реакции.
Упражнение. В форме изменили порог, но вычисление использует прежний. Назовите возможную причину. Ответ: изменение подготовлено, но не применено, либо параметр вступает в силу только в определённом состоянии. Проверяют действующую конфигурацию и предусмотренный момент применения.
11. Условия, таймеры и последовательности
Условия определяют, когда событие значимо. Логическое И требует выполнения всех условий; ИЛИ — хотя бы одного; НЕ меняет логическое значение. Для неопределённого входа заранее задают правило качества. Сравнение с порогом полезно дополнять гистерезисом или временем устойчивости, чтобы шум не вызывал частых переключений.
Уровень остаётся истинным во время действия сигнала. Фронт обозначает переход. При удержании кнопки обработчик уровня видит её на каждом шаге, а обработчик нарастающего фронта — одно новое нажатие. Отпускание создаёт спадающий фронт. Этот выбор особенно важен для переключателей режима.
| Учебная функция | Поведение |
|---|---|
| TON | Выход включается после непрерывно истинного условия заданной длительности |
| TOF | После исчезновения условия выход удерживается заданное время |
| TP | Нарастающий фронт запускает импульс установленной длительности |
| Таймаут | Отсутствие ожидаемого результата в срок переводит сценарий в предусмотренное состояние |
| Наработка | Суммируется время при определённых достоверных условиях работы |
Названия TON/TOF/TP используются как общепринятые учебные модели. Они не означают, что установленное приложение обязательно содержит редактор таких блоков.
Учебная модель · управление только на этой странице
Таймер и фронты условия
Измените условие и выполните следующий шаг
| Тип | TON |
|---|---|
| Вход | Ложь |
| Прошло | 0 мс |
| Отсчёт | 0 мс |
| Выход Q | 0 |
Изменение типа или задержки начинает новый опыт. Таймеры — учебные модели, не обещание редактора PLC в поставке.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Опыт TON
- Оставьте задержку 1000 мс, выберите истинное условие.
- Выполните девять шагов по 100 мс: выход Q остаётся 0.
- Десятый шаг завершает выдержку: Q становится 1.
- Выберите ложное условие и сделайте следующий шаг: отсчёт и Q сбрасываются.
Печатный ответ: 0–900 мс — ожидание; при достижении 1000 мс — разрешение при истинном условии. Если снять условие на 900 мс, новый запуск TON начинает новый непрерывный интервал.
TOF и импульс
Для TOF сначала сделайте шаг с истинным входом, затем снимите его и наблюдайте выдержку. Для TP начните с ложного входа, создайте нарастающий фронт и шагайте по времени. Модель показывает результат на концах шагов по 100 мс; импульс с такой же длительностью может закончиться к первой показанной отметке. Для наблюдения формы выберите более длинный интервал.
Изменение типа или задержки начинает новый опыт. Счётчик наработки в реальной машине дополнительно требует правила сохранения при выключении. Сдвиг календарных часов и восстановление соединения не должны дорисовывать неподтверждённую работу.
Последовательность и приоритет
Процесс удобно представлять состояниями «ожидание», «подготовка», «работа», «завершение», «отказ». Для каждого перехода записывают условие, таймер и проверяемый результат. Одновременные события требуют явного приоритета. Его задаёт профиль машины; внешний вид кнопок не определяет порядок обработки.
Контроль. Почему задержка и гистерезис не одно и то же? Ответ: гистерезис разделяет пороги включения и выключения по значению; задержка задаёт длительность условия. Они могут применяться совместно.
12. I²C: от датчика к объекту
I²C используется для обмена с локальными устройствами, например датчиками. Линия SDA переносит данные, SCL задаёт тактирование. Передача содержит начало, адрес, направление, данные и завершение. Электрическая совместимость, подтягивание линий и схема подключения определяются паспортами участников.
Адрес выбирает устройство на локальной шине. Внутри операции может использоваться адрес регистра, из которого читают измерение или куда записывают разрешённую настройку. Разрядность адреса, формат регистра, порядок байтов и задержка готовности зависят от датчика.
ACK подтверждает приём соответствующей части обмена. NACK оценивают вместе с этапом операции: он может обозначать отсутствие адресата, неготовность или штатное завершение чтения получателем. Одно слово «NACK» без контекста не объясняет причину.
Учебная модель · управление только на этой странице
От регистра датчика к OD
Применён масштаб 0,01 °C; значение пригодно для учебной логики
| Обмен | Ответ получен |
|---|---|
| Регистр | 2500 |
| Объект OD | 25.00 °C |
Учебный датчик: знаковое значение с масштабом 0,01 °C. Регистр датчика и объект OD имеют разные адреса.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Преобразование значения
В модели выбран учебный температурный датчик. Регистр содержит знаковое число 2500, масштаб равен 0,01 °C. Получается 25,00 °C. Затем значение связывается с объектом OD, единицей, временем и качеством. Эти сведения позволяют использовать его в PLC или передать в PDO.
- Оставьте совпадающий адрес и готовое измерение.
- Изменяйте значение регистра ползунком; сравнивайте исходное число и результат в °C.
- Выберите другой адрес — модель перестанет выдавать достоверное измерение.
- Выберите два устройства с одним адресом — ответ становится неоднозначным.
Числовая модель здесь создана для изучения масштаба. Карту регистров конкретного серийного датчика читают по его паспорту.
Три интервала
Период опроса задаёт, как часто контроллер пытается получить данные. Время готовности характеризует измерительный процесс датчика. Срок годности определяет, как долго результат пригоден для решения. Более частый опрос может возвращать прежнее измерение. Успешная передача ранее подготовленного значения не делает его свежим.
При отсутствии ответа сохраняют признак качества и предусмотренную диагностику. Возврат связи должен сопровождаться новым пригодным измерением. Слишком долгий обмен, удержание линии и процедура восстановления рассматриваются по возможностям устройства; многократный произвольный повтор не заменяет этот порядок.
Контроль. Датчик отвечает по I²C, но поле в OD не меняется. Что проверять? Ответ: готовность измерения, правильный регистр, формат/масштаб, путь публикации в OD и частоту обновления. Исправность локальной линии подтверждает лишь часть цепочки.
13. CiA 305: ввод устройства в сеть
LSS — службы настройки нижних уровней CANopen. Они помогают выбрать устройство по идентичности, назначить Node-ID и согласовать параметры скорости. Поддержка LSS определяется самим изделием; наличие CANopen не гарантирует всех возможностей LSS.
Идентичность, связанная с объектом 0x1018, включает сведения о производителе, продукте, ревизии и экземпляре. Она помогает выбрать устройство до назначения удобного сетевого адреса. После смены Node-ID выбранный экземпляр должен оставаться узнаваемым.
Учебная модель · управление только на этой странице
Назначить адрес выбранному узлу
Идентичность устройства сохраняется при смене Node-ID
| Выбранное устройство | Учебная идентичность A |
|---|---|
| Назначенный адрес | Не назначен |
| Результат | Ожидание действия |
В учебном сегменте адреса 1 и 2 заняты. Устройство выбирается по полной идентичности.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Назначить адрес
В учебном сегменте адреса 1 и 2 заняты. Выберите 3 и нажмите «Назначить в модели»: адрес будет принят. Попробуйте 2 — получите конфликт, прежний принятый результат сохранится.
Последовательность реальной настройки зависит от интерфейса, но смысл этапов один: обнаружить и выбрать устройство → проверить совместимость → назначить параметры → подтвердить результат → сохранить при поддержке → проверить после необходимого перезапуска.
Смена скорости
Скорость относится ко всему физическому сегменту. Если часть участников осталась на прежней скорости, они не смогут нормально участвовать в общем обмене. План перехода должен охватывать все затронутые устройства, допустимый момент переключения и восстановление доступа.
В модели выберите «Часть участников на другой скорости». Назначение не будет показано как законченная работоспособная настройка. Верните согласованное состояние и повторите шаг.
LSS не устанавливает технологическую уставку давления и не выбирает аварийное значение выхода. Эти параметры принадлежат OD и профилю устройства. Поэтому после адресации продолжают настройку каналов и проверяют процессный обмен.
При замене блока
Новый экземпляр может иметь другую идентичность при том же назначении. До переноса конфигурации сверяют совместимость. После назначения адреса проверяют, что исходное устройство больше не создаёт конфликт в том же сегменте. Возвращённый из ремонта блок с сохранённым адресом также требует внимания к этой проверке.
Упражнение. Присвоение Node-ID прошло успешно, но после питания устройство вернулось к прежнему адресу. Разбор: проверить поддержку и выполнение сохранения, подтверждение его завершения и условия применения. Сообщение о назначении рабочего адреса не обязательно означает сохранение в постоянной памяти.
14. Профили и настройка каналов
Профиль задаёт согласованный смысл группы объектов. CiA 401 относится к устройствам ввода/вывода. Для измерительных устройств, энкодеров, приводов и других классов существуют свои профили и расширения. Выбор профиля помогает читать параметры, но не заменяет описание конкретного изделия.
Настройка начинается с назначения канала. Для дискретного входа важны полярность, фильтрация и смысл активного состояния. Для аналогового значения — тип, единица, масштаб, диапазон и признак качества. Для выхода — допустимое управление, поведение при ошибке и способ подтверждения результата.
| Вопрос | Что сохранить в конфигурации |
|---|---|
| Что подключено? | Назначение канала и совместимое устройство |
| Как читать значение? | Тип, масштаб, единицу и диапазон |
| Когда значение пригодно? | Обновление, качество и срок годности |
| Что делает изменение? | Условие применения и разрешения |
| Как пережить отказ? | Реакцию и путь восстановления |
| Как проверить сохранение? | Версию конфигурации и повторное чтение |
Настройка через форму
- Откройте нужный объект и проверьте выбранное устройство.
- Сравните действующие параметры с подготовленным изменением.
- Используйте проверку формы: диапазоны, единицы, связи и совместимость.
- Примените изменение в разрешённом состоянии.
- Сверьте видимый результат и при необходимости сохраните конфигурацию.
Если доступный экран не позволяет завершить настройку, руководствуются действующим маршрутом поддержки и задачей владельца. Учебная форма показывает смысл операции, но не подменяет отсутствующую функцию рабочего приложения.
Переносимый файл
JSON/YAML, EDS/DCF и другие согласованные форматы могут переносить объекты и конфигурации. Пользователь выбирает файл, видит его происхождение и применимость, проверяет предлагаемые изменения и получает результат. В книге конфигурацию готовят экранными средствами.
Конфликт версий означает, что исходное состояние изменилось после подготовки. Прежде чем применять новое значение, читатель сравнивает актуальную конфигурацию и свой замысел. Простое повторение старого файла может затереть чужое изменение.
Упражнение. К одному каналу вместо прежнего датчика подключили устройство с другим масштабом. Почему одинаковые байты теперь не означают ту же величину? Ответ: физический смысл задают профиль и преобразование. Нужно сверить описание, диапазон и калибровку, затем проверить реальное значение и качество.
15. EEPROM и Flash: запись и сохранение
Учебная схема. Применённое значение может отличаться от сохранённого.
Рабочее значение может измениться сразу, а после выключения питания вернуться к сохранённому. Чтобы понимать этот результат, различают оперативное состояние, энергонезависимую конфигурацию и заводские значения. Журнал и пакет обновления имеют своё назначение и правила хранения.
EEPROM и Flash сохраняют данные без питания. Их организация записи и стирания, размер изменяемой области, задержки и ресурс зависят от исполнения. EEPROM может быть отдельной памятью или логическим сервисом, реализованным поверх Flash. Название услуги сохранения не сообщает само по себе физическое устройство памяти.
OD — логический словарь. Часть его записей отражает текущее измерение, часть задаёт сохраняемые параметры. Нельзя предполагать, что все объекты автоматически переживают питание или что одна запись OD равна одной физической ячейке.
Учебная модель · управление только на этой странице
Применить, сохранить, перезапустить
Исходная сохранённая настройка: 40 %
| Подготовлено | 40 % |
|---|---|
| Применено | 40 % |
| Сохранено | 40 % |
| Запись | Не выполняется |
| Завершённых записей | 0 |
Учебное устройство сохраняет прежнюю подтверждённую копию при прерывании. Это условие модели, а не гарантия любой EEPROM/Flash.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Применение и сохранение
- Измените параметр с 40 на 60 % и нажмите «Применить».
- Нажмите «Выключить и включить». Модель восстановит сохранённые 40 %.
- Снова примените 60 %, затем нажмите «Начать сохранение» и «Завершить запись».
- Повторите выключение: теперь восстановятся 60 %.
Печатный разбор: подготовлено 60 → рабочее значение 60 → сохранено 40 до завершения записи → сохранено 60 после подтверждения. Применение и сохранение — самостоятельные наблюдаемые результаты.
Прерывание записи
Начните сохранение нового значения и выключите модель до завершения. В этом учебном устройстве сохраняется прежняя подтверждённая копия. Такое свойство требует конкретного механизма и проверки; энергонезависимость сама по себе не гарантирует целостность незавершённой записи.
После сбоя проверяют действующую версию, результат загрузки и предусмотренный способ восстановления. Сообщение «запрос отправлен» не заменяет подтверждения завершения. При поддержке CANopen используются службы Store parameters и Restore default parameters, связанные с 0x1010/0x1011; пользовательский маршрут выполняется штатным интерфейсом.
Ресурс и разные виды данных
Постоянная память имеет ограниченный ресурс записи/стирания. Часто меняющееся измерение и редкая настройка требуют разных правил сохранения. Нельзя переносить числовой ресурс одного типа памяти на любой контроллер или без основания сохранять каждый цикл PLC.
Возврат заводских настроек, очистка истории и обновление программы имеют разный объём. Перед действием выясняют, какие данные изменятся, что сохранится и как восстановить нужную конфигурацию. Переносимый экспорт полезен только вместе с применимостью и проверенным обратным импортом.
Контроль. Почему число завершённых записей в модели увеличивается только после «Завершить запись»? Ответ: счётчик показывает подтверждённые сохранения. Количество подготовленных значений или нажатий «Применить» имеет другой смысл.
16. Обновление узла по CANopen
Обновление меняет программу или разрешённую часть конфигурации устройства. Сначала выбирают цель и совместимый пакет, затем доставляют его, проверяют, применяют и подтверждают результат у самого устройства. Эти этапы имеют разные признаки завершения.
CANopen предоставляет службы обмена, а конкретная процедура обновления задаётся профилем или публичным расширением продукта. Наличие CANopen не делает один способ OTA универсальным для всех блоков. В рассматриваемой системе используется проектная процедура поверх SDO; её объекты и возможности связываются с применимой версией.
| Этап | Что должно быть установлено |
|---|---|
| Выбор | Идентичность цели, тип пакета и совместимость |
| Доставка | Получен требуемый объём данных |
| Проверка | Подлинность/целостность и допустимость пакета проверены принятой процедурой |
| Применение | Устройство завершило предусмотренное изменение |
| Возврат | Устройство доступно после необходимого перезапуска |
| Подтверждение | Прочитана действующая версия и результат обновления |
Учебная модель · управление только на этой странице
Обновление и подтверждение версии
Окончание передачи файла не завершает обновление
| Этап | 0 |
|---|---|
| Доступная версия | 1.0 — последнее подтверждение |
| Результат | Обновление не начато |
Этапы: получение → проверка → применение → перезапуск → чтение версии. Нет операций с оборудованием.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Пройти нормальный сценарий
При исходных положительных условиях нажмите «Следующий этап» пять раз. Модель последовательно покажет получение файла, проверку, применение, перезапуск и прочитанную версию 1.1. До последнего этапа она не объявляет новую версию подтверждённой.
Для отрицательного опыта начните заново, получите файл, затем задайте неуспешную проверку. Следующий шаг не допускает применение. Отдельно выключите связь: результат цели потребует повторного чтения, даже если часть обмена уже выполнена.
Что обновляется
Программа устройства, прикладная логика и конфигурация могут иметь отдельные типы пакетов. Назначение должно быть видно до применения. Обновление одного типа не должно скрытно трактоваться как разрешение заменить всё содержимое устройства. Какие настройки и данные сохраняются, устанавливает контракт конкретной операции.
Пакет связывают с идентичностью, совместимыми версиями и ограничениями возврата. В некоторых случаях прежняя версия недопустима из-за совместимости или правил защиты. Поэтому универсальное обещание «всегда можно откатиться» неверно; предусмотренный путь восстановления подтверждают для данного случая.
При потере ответа
Передача, применение и перезапуск могут завершиться на устройстве раньше, чем пользователь увидит результат. При неизвестном исходе сначала получают доступный статус и активную версию. Квитанция промежуточного участника и количество отправленных байтов не заменяют чтение цели.
Упражнение. Передача закончилась и узел перезапустился. Достаточно ли этого для приёмки? Ответ: требуется подтверждение ожидаемой активной версии и предусмотренных проверок работоспособности. Возврат старой версии после неудачного применения тоже может сопровождаться успешным перезапуском.
17. MQTT5: обмен и настройка
MQTT связывает производителей и получателей сообщений через брокер. Клиент публикует сообщение в топик; подписчики получают соответствующий поток. Топик задаёт маршрут, а содержимое — прикладной смысл. Для работы нужны согласованные адресация, формат записи, права и правила обработки.
Настройка соединения включает адрес сервиса, разрешённый транспорт, идентичность клиента, аутентификацию и применимые параметры сеанса. Секреты вводятся и хранятся предусмотренным интерфейсом. Учебный практикум не запрашивает реальные пароли и не подключается к брокеру.
Уровни доставки
| QoS | Что означает в обмене MQTT |
|---|---|
| 0 | Передача без подтверждения на уровне этого механизма |
| 1 | Доставка с подтверждением и возможным повтором |
| 2 | Механизм однократной доставки в соответствующем протокольном обмене |
Эти свойства относятся к сообщению и участникам обмена MQTT. Физическое действие, прикладной журнал и взаимодействие через промежуточные системы требуют своих идентификаторов и правил. PUBACK подтверждает предусмотренную стадию транспорта, а не движение машины.
Учебная модель · управление только на этой странице
Доставка сообщения и результат команды
Результат транспортного обмена и результат команды имеют разные подтверждения
| Уникальных записей | 0 |
|---|---|
| Повторных доставок | 0 |
| QoS | 1 |
| Результат | Сообщений ещё нет |
Счётчик событий модели использует идентификатор события. QoS сам не обеспечивает однократное физическое действие.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Запись, повтор и выполнение
Отправьте учебную запись, затем повторите ту же. Счётчик уникальных событий останется равным одному; отдельный счётчик покажет повтор. В модели это достигается прикладным ID. Одинаковое значение с новым ID может быть новым событием и не должно автоматически исчезать как «дубликат».
Выберите, что локальные условия запрещают действие. Сообщение будет принято, но разрешения на действие не появится. Для реальной команды проверяют адресата, актуальность, права, технологические условия и результат.
Сеанс, срок и сохранённое сообщение
Параметры сеанса определяют, что сохраняется при разрыве и повторном подключении. Message Expiry ограничивает срок жизни сообщения в поддерживаемой обработке. Прикладной срок команды и качество измерения всё равно проверяются по смыслу записи.
Retained-сообщение помогает новому подписчику получить последнее сохранённое значение. Оно не доказывает свежесть или разрешение исполнить прежнюю команду. При проектировании потока различают состояние, событие и действие. Last Will сообщает предусмотренное событие о соединении, но не устанавливает физическое состояние машины.
Совместимость парка
Общая wire-family v1 сохраняет стабильное семейство внешнего обмена. Версии программ контроллера, панели, Runtime и Диспетчера могут различаться. Возможности определяются для каждой машины; добавленный необязательный сигнал не требует выдумывать его на старых устройствах.
Типы записей имеют свои schema/revision. Неизвестная необязательная запись обрабатывается изолированно, сохраняя возможность соседних потоков и догрузки. Если потребуется v2, его переход задаётся совместным планом с параллельной работой парка. Версия способа агрегации учитывается отдельно.
Контроль. Почему QoS2 не заменяет идентификатор задания? Ответ: одному заданию могут соответствовать несколько сообщений, повторы через другие каналы и действия приложения. Их смысл выходит за границы одного MQTT-обмена.
18. Удалённое обновление контроллера
При удалённом обновлении пользователь работает с машиной через несколько участников. Интерфейс принимает запрос, система доставки передаёт задание и пакет, контроллер проверяет и применяет его. Завершение одного участка пути не означает завершения всей операции.
MQTT5 может переносить согласованные сообщения задания, состояния и результата. Формат пакета и маршрут его байтов определяет публичный контракт системы. Сам MQTT не задаёт проверку прошивки или способ её активации. Поэтому схема обновления должна прямо указывать роль сообщений и роль доставки файла.
Что увидеть до начала
- Выбранную машину и идентичность целевого устройства.
- Текущую и предлагаемую версию, совместимость и объём изменения.
- Состояние машины, разрешающее обновление.
- Какие настройки и данные сохранятся и какой путь восстановления предусмотрен.
- Проверяемый результат и доступное место просмотра состояния задания.
Технологические условия задаются профилем машины. Обновление во время допустимого режима не выводится из одного факта наличия сети.
Читать состояния по смыслу
| Наблюдаемое состояние | Чего оно достаточно для подтверждения |
|---|---|
| Задание принято системой | Запрос зарегистрирован |
| Ожидается связь | Доставка или чтение результата не подтверждены |
| Пакет доставлен | Данные дошли до предусмотренного получателя |
| Проверка завершена | Пройден этап проверки пакета |
| Применяется | Устройство выполняет изменение |
| Требуется уточнение результата | Исход ещё не установлен |
| Версия подтверждена | Цель сообщила ожидаемое активное состояние |
Это смысловые состояния учебного маршрута. Точные подписи рабочего экрана берут из руководства установленного выпуска.
Потеря связи и повтор
Если связь исчезла после применения, интерфейс может ещё показывать ожидание. Пользователь сохраняет связь с исходным заданием и получает его результат после восстановления. Новое независимое задание создают только по правилам процедуры; повтор старого сообщения должен сохранять исходную идентичность операции.
Сценарий главы 16 можно пройти повторно с выключением связи на разных этапах. Объясните для каждого момента: что уже подтверждено, что неизвестно и какое чтение нужно выполнить. Это упражнение полезнее одного индикатора процентов.
При отклонённом пакете уточняют причину: цель, версия, тип, целостность, права или технологический режим. Исправление условия не меняет задним числом исторический результат прежней попытки. Журнал связывает попытки и их исходы.
Печатный пример. Брокер подтвердил сообщение, а целевой узел недоступен. Правильная запись результата — «задание доставлено до подтверждённого участника; обновление устройства не установлено». Для завершения нужны сведения от цели.
19. От датчика до истории и агрегации
Полезное показание сохраняет контекст на всём пути. Для давления нужны источник, объект, единица, масштаб, время и качество. Для события — тип, идентичность, причина и связи. Для результата анализа — метод, версия, исходные данные и область применимости.
Данные приложений выходят за пределы телеметрии. Пивот передаёт состояния, задания и события цикла; Визио — наблюдения, метрики и ссылки на изображения; Tasks — задачи, сроки, назначения, отчёты и результаты приёмки. Общая адресация связывает предприятие, объект, приложение и время. При необходимости добавляются цикл, поле и пространственная привязка.
Учебная модель · управление только на этой странице
Качество и повтор в истории
Добавьте показание
| Записей | 0 |
|---|---|
| Достоверных | 0 |
| Среднее | Не определено |
Среднее вычисляется только по достоверным уникальным событиям. Пропуск не заменяется нулём.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Качество и повтор
Добавьте достоверное значение 3 бар и повторите последнее событие. Число записей и среднее сохранятся. Добавьте новое событие 5 бар: среднее станет 4 бар. Теперь добавьте запись неизвестного качества: в истории будет три уникальных события, а среднее достоверной части останется 4 бар.
Печатный ответ: уникальные значения 3, 5 и неизвестно; два пригодных измерения, сумма 8 бар, среднее 4 бар. Это простое среднее учебной выборки. Для неравномерных интервалов могут требоваться временные веса; их задают отдельным методом.
Пропуски не заполняют нулём без основания. Дубликат определяется идентичностью события, а не сходством числа. Два последовательных измерения 3 бар могут быть двумя корректными событиями.
Файлы и события
Фото, видео и карты могут доставляться отдельным согласованным файловым маршрутом с продолжением после обрыва. Запись события связывает идентификатор файла, контрольную сумму и назначение. Экран различает ожидаемый и доставленный файл. Успешная передача события не доказывает наличие всех связанных байтов изображения.
Поле, сетка и находка
Пространственное наблюдение связывают с полем и версией геометрии, точкой или областью, системой координат, точностью, сеткой и её версией, ячейкой, временем съёмки и исходным снимком. Изменение сетки не должно незаметно переносить старую находку. Координаты камеры сами по себе не устанавливают точное положение обнаруженного объекта.
Сквозной пример: снимок ячейки → находка → задача по включённому регламенту → уведомление → фотоотчёт → выполненная работа → приёмка. В каждом шаге сохраняются связи. Карта показывает место, журнал — последовательность, а показатель срока — состояние работы по принятому правилу.
Версия результата
Метод агрегации имеет свою версию, отдельную от wire-family и программы устройства. Изменение формулы требует возможности понять, как получены прежние числа. При сравнении результатов сверяют входные данные, интервал, качество, метод и единицы.
Контроль. Почему поздняя запись может изменить исторический агрегат, но не должна автоматически стать текущим показанием? Ответ: история относится к времени события, текущее состояние — к действующей последовательности и сроку годности. Эти назначения обрабатываются раздельно.
20. WM PLC: машина, датчики и кнопочная панель
Учебная схема. Учебная цепочка: полный mapping панели проверяется по её конфигурации.
WM связывает органы управления, входы состояния и исполнительную логику дождевальной машины. Для изучения полезно разложить работу на три вида: что запросил человек, какие условия видит контроллер и какой выход сформирован. Физическое выполнение проверяется своей обратной связью.
В этой главе нормальный режим базового исполнения WM рассматривается как учебный пример. Доступные варианты машины имеют отдельные настройки и особенности. Номера сигналов помогают читать внешний обмен; модели чипов и программные средства разработки для этого не нужны.
Участники обмена
| Узел примера | Назначение |
|---|---|
| 1 | Исполнительная логика машины |
| 2 | Кнопочные входы и задание движения |
| 3 | Угловое измерение |
| 4 | Давление и температура |
| 5 | Отдельная логика управления генератором |
Назначение привязано к рассматриваемой конфигурации. Узел 5 имеет самостоятельный смысл команды и не подменяет узел управления движением. На реальной площадке идентичность и состав проверяют по паспорту.
Кнопка и mapping
Панель формирует логические входы. Байт DI1–DI8 передаётся к блоку управления и доступен там как 0x6200:03; задание движения связано с 0x6200:08. В полученном байте базового примера используются признаки СТОП, направлений, полива, бустера и фертигации. Полярность физических контактов проверяется по схеме панели; учебная модель начинает с уже обработанных логических уровней.
Чтобы проверить весь mapping, фиксируют отправителя, его объект, TPDO/COB-ID, принимающий RPDO, порядок полей и объект назначения. Одного известного адреса назначения недостаточно для восстановления всей настройки сети. Точные исходные объекты панели и применённые COB-ID должны быть прочитаны из её конфигурации.
Учебная модель · управление только на этой странице
WM: кнопка → OD → условия → выход
Выберите кнопку и передайте состояние
| Последний байт кнопок | Не передан |
|---|---|
| OD блока управления | 0x6200:03 — кнопочные входы; 0x6200:08 — задание |
| Переданное задание | Нет |
| Выход направления | Ещё не вычислен |
Учебный фрагмент нормального режима wm046-base при установившейся цепи разрешения. Сервисные обходы, переходные таймеры и удержание входов при отказе связи здесь не воспроизводятся. Физическое движение подтверждается отдельно.
Перенести условия опыта
Переносится выбор параметров. Ход опыта начинается заново.
Опыт нормального режима
- Оставьте подтверждённую цепь разрешения, связь с панелью и выключенный полив.
- Выберите «Вперёд», затем «Передать и рассчитать». Байт кнопок содержит 0x08; модель показывает выход направления.
- Отпустите кнопку и снова передайте состояние. При установившейся цепи разрешения выбранное направление сохраняется в модели.
- Нажмите СТОП и передайте состояние. Запрос направления снимается.
- Начните заново, включите полив и задайте отсутствие подтверждённого давления. Модель покажет начальное ожидание давления без включения движения.
Модель воспроизводит ограниченный фрагмент нормального режима. Пусковые и удерживающие интервалы, задержка реверса, потеря ранее установленного давления и сервисные режимы требуют полного профиля; они объяснены ниже и не маскируются мгновенным решением этого опыта.
Условия и таймеры базового исполнения
В обычной логике учитываются питание, цепь разрешения, направление и давление. Режим полива связывает клапан с разрешающими условиями; бустер и фертигация зависят от соответствующего режима. Кнопки переключаемых функций обрабатываются по изменению входа, поэтому удержание и новое нажатие имеют разный смысл.
Начальное ожидание давления и потеря давления после подтверждённой работы различаются. Для них используются предусмотренные интервалы и условия сброса. Удержание признака цепи и начальное окно также имеют свои параметры. В базовом источнике при смене уже активного направления задана пауза 5 с; это характеристика рассматриваемого исполнения, а не универсальная уставка для любой машины.
Задание движения принимается отдельно от признаков кнопок. В базовом исполнении значение в мостовом объекте 0 обозначает отсутствие нового задания, а принятое ненулевое значение ограничивается сверху 100 %. Поэтому ноль в этом объекте нельзя автоматически трактовать как команду остановки. Действующее задание и СТОП имеют разные маршруты.
Датчики и качество
Угловой узел передаёт данные положения, узел давления — давление, температуру и статус. Для использования нужны единицы, масштаб, актуальность и применимость к машине. Наличие значения угла не означает автоматически реализованную проверку границ или автоповорот; эти функции подтверждаются отдельно.
При потере панели, датчика или PDO следует установить, какое значение остаётся в объекте, как обнаруживается устаревание и какую реакцию выполняет конкретная версия. В модели потеря связи переводит результат в неподтверждённый. Она не доказывает автоматический останов реального оборудования.
Выходы и обратная индикация
Контроллер формирует выходные признаки и представление состояния для индикации. Внешняя обратная связь о направлении и давлении имеет самостоятельное происхождение. Отображённая команда, программный выход и физическое движение обозначаются раздельно.
Наличие подготовленного байта индикации в блоке управления ещё не доказывает, что конкретная лампа панели подключена и получает его по верному mapping. Для такой процедуры нужен проверенный обратный маршрут и схема панели.
Варианты WM
| Семейство примера | Что требует отдельной проверки |
|---|---|
| Базовое | Переходы направления, полив, давление и цепь разрешения |
| Варианты с импульсным управлением | Длительность и назначение импульсов выходов |
| Варианты со стартовым окном | Условия начала и завершения окна |
| Автостоп/автореверс | Признаки границы, режим, приоритет и подтверждение направления |
| Генератор | Самостоятельные команды, питание и последовательности |
Общее имя WM не разрешает переносить настройки между этими вариантами без проверки. Сервисные режимы и обходы рассматриваются только по отдельному эксплуатационному регламенту; учебный практикум не предлагает их включать на машине.
Контрольное задание. Объясните цепочку «кнопка → байт → PDO → OD → условие → выход → подтверждение» и назовите на каждом шаге возможный разрыв. Успешный ответ различает отсутствие передачи, неверный mapping, блокировку логики и отсутствие физической обратной связи.
21. Практикум и проверка понимания
Каждую работу выполняют в модели соответствующей главы или в автономном комплекте. Перед новым опытом нажмите «Начать заново». Запишите исходное условие, предполагаемый результат, наблюдение и объяснение различия. Форма отчёта находится в комплекте и не требует отправки на сервер.
Работа 1. Доступ к шине
Условие: кадры 0x181 и 0x281 начинают передачу одновременно. Действие: проходите биты до первого различия, затем поменяйте ID местами. Ответ: преимущество у 0x181; в показанном сравнении решение возникает на втором бите идентификатора. При одинаковых ID нельзя выбрать победителя только по идентификатору. Объясните, почему это не разрешает разные данные от двух производителей одного потока.
Работа 2. Состояние узла
Условие: узел в Pre-operational, heartbeat наблюдается. Действие: перейдите в Operational, затем Stopped. Ответ: PDO разрешается в Operational; доступность SDO и контроля присутствия читается по состоянию. Сетевой переход не доказывает физического останова. Добавьте в отчёт, какую обратную связь нужно проверить у машины.
Работа 3. Три вида времени
Условие: период 100 мс, поправка часов 0. Действие: десять шагов, затем поправка +30 с. Ответ: длительность 1000 мс, метка 31,0 с. При отключённом источнике SYNC модель показывает его недоступность. Объясните, почему старое событие после восстановления связи относится к прежнему времени измерения.
Работа 4. Доступ и диапазон OD
Условие: уставка 3 бар, разрешено 1–8. Действие: записать 4, затем 10, затем выбрать измерение и повторить запись. Ответ: принято 4; 10 отклонено; измерение доступно только для чтения. Сохранение после питания проверяется отдельной работой.
Работа 5. Полезная нагрузка PDO
Условие: давление 16 бит, температура 16, качество 8. Действие: добавьте угол 16, затем счётчик 32. Ответ: 40 → 56 → 88 бит. Последний набор превышает возможности одного кадра CAN CC. Предложите распределение по двум PDO, сохранив единицы и качество каждого сигнала.
Работа 6. Условие во времени
Условие: TON 1000 мс. Действие: девять шагов истинного условия, один шаг ложного, затем новое истинное условие. Ответ: первая выдержка не закончена; после сброса начинается новый непрерывный отсчёт. Для TOF сначала подтвердите истинный вход; для TP создайте новый фронт. Опишите различие поведения трёх моделей.
Работа 7. Датчик и качество
Условие: регистр 2500 с масштабом 0,01 °C. Действие: прочитайте при верном адресе, затем выберите другой и дублированный адрес. Ответ: 25,00 °C в первом случае; в остальных нет однозначного достоверного измерения. Укажите, где должны появиться качество и диагностическое сообщение.
Работа 8. Адресация LSS
Условие: адреса 1 и 2 заняты. Действие: назначьте 3, затем попробуйте 2; нарушьте согласованность скорости. Ответ: 3 принимается, конфликт отклоняется, несогласованная скорость требует исправления. Назовите отдельные проверки сохранения и повторного запуска.
Работа 9. Память
Условие: подтверждённая настройка 40 %. Действие: примените 60 и выключите; затем примените 60, завершите сохранение и выключите снова. Ответ: сначала восстановится 40, затем 60. Прервите следующую запись и объясните, почему результат зависит от принятого устройства, а не от общего слова «Flash».
Работа 10. Обновление
Условие: совместимый пакет и доступная связь. Действие: пройдите пять этапов, затем повторите с ошибкой проверки и обрывом. Ответ: новая версия подтверждается чтением результата цели; неуспешная проверка не допускает применение. Для каждого обрыва перечислите уже подтверждённое и неизвестное.
Работа 11. Повтор и среднее
Условие: новое событие 3 бар, повтор его ID, новое 5 бар и новое неизвестное. Ответ: три уникальные записи, два пригодных значения, среднее 4 бар. Для MQTT отдельно отключите разрешение действия: доставка сохранится, разрешение не появится. Свяжите результат с журналом и технологическим состоянием.
Работа 12. Кнопочная панель WM
Условие: нормальный режим, цепь подтверждена, полив выключен. Действие: запросите движение, отпустите кнопку, затем нажмите СТОП. Ответ: запрос проходит в 0x6200:03, выбранное направление при установившихся условиях сохраняется, СТОП снимает его. Затем отключите связь: модель покажет неподтверждённый результат. Физический исход и поведение полного исполнения требуют своей проверки.
Итоговое задание
Составьте паспорт одного сигнала: источник, адрес устройства, объект, тип, единица, масштаб, период и срок годности, путь PDO/MQTT, участие в PLC, реакция при отказе и сохранение. Затем составьте паспорт одной настройки: диапазон, момент применения, сохранение, версия и путь восстановления.
Работа завершена, когда читатель способен объяснить результат словами и указать границу подтверждения. Совпадение числа с ответом при неверной единице, неподтверждённом качестве или другой машине не считается верным решением.
22. Справка и источники
Как читать шестнадцатеричную запись
Префикс 0x обозначает основание 16. После цифр 0–9 используются A–F. Один байт содержит восемь бит и записывается двумя шестнадцатеричными цифрами. Значение 0x08 имеет установленный бит с весом 8. При чтении адреса OD индекс и подиндекс сохраняют самостоятельный смысл.
Для отрицательного числа нужны тип и правило кодирования. Для физической величины дополнительно нужны масштаб и единица. Кадр с верной контрольной суммой ещё не устанавливает эти свойства.
Источники для дальнейшего чтения
- CAN in Automation: CAN CC — канальный обмен и место CAN в системе.
- CAN in Automation: CANopen и официальная обзорная схема CiA 301 — службы и словарь объектов.
- Управление сетью — NMT и контроль присутствия.
- CiA 305 / LSS и CiA 306 / EDS, DCF — адресация и описание устройства.
- CiA 401 / ввод-вывод — параметры каналов и профили поведения.
- NXP UM10204 — спецификация I²C. Конкретные регистры сверяют по описанию датчика.
- OASIS MQTT 5.0 — сеансы, доставка и свойства сообщений.
- Стандартная библиотека CODESYS — дополнительный разбор таймеров и фронтов. Применение этой системы программирования в контроллере книгой не утверждается.
- Microchip: ресурс энергонезависимой памяти — смысл ресурса записи. Паспортные числа другого изделия не переносятся на машину.
Нормативные документы и паспорта устройств имеют свои редакции и области применимости. Книга даёт оригинальное учебное объяснение и примеры. Для реализации или проверки полного соответствия используют применимые спецификации.
Переход к работе на машине
Установленный интерфейс, роль пользователя и состав машины определяют конкретные действия. Найдите соответствующий раздел D05 или D05-PIVOT, затем проверьте действующую версию. Сохранение и обновление связываются с D07, отклонения — с D09, публичные связи — с D08.
В редакции 1.1 представлены двадцать тем, четырнадцать браузерных моделей и двенадцать работ с ответами. Модель WM охватывает явно выделенный нормальный фрагмент базового исполнения. Она не удостоверяет физическую приёмку машины, полный алгоритм всех вариантов WM или наличие каждого учебного экрана в поставляемом приложении.
Термины и сокращения
| Обозначение | Значение |
|---|---|
PLC | Программируемая логика контроллера и её прикладной цикл. |
CANopen | Профиль обмена по CAN со словарём объектов, состояниями и сервисами. |
CAN | Сеть обмена кадрами между устройствами с арбитражем доступа к общей шине. |
OD | Словарь объектов устройства: адресованные значения с типом, доступом и назначением. |
NMT | Управление сетевым состоянием CANopen-узла. |
SDO | Служба адресного чтения и записи объектов устройства. |
PDO | Объект процессного обмена с согласованным отображением значений в кадр. |
TPDO / RPDO | Передающий и принимающий объекты процессного обмена. |
SYNC | Служба согласования моментов обмена в поддерживаемом режиме CANopen. |
TIME | Служба передачи календарной временной метки CANopen. |
EMCY | Аварийное сообщение CANopen. |
LSS | Службы выбора устройства и настройки адреса и скорости по CiA 305. |
EDS / DCF | Описание возможностей устройства и файл его конфигурации. |
I²C | Локальная последовательная шина обмена с адресуемыми устройствами. |
EEPROM / Flash | Виды энергонезависимой памяти с собственными правилами записи и стирания. |
MQTT5 | Версия протокола обмена сообщениями через публикации и подписки. |
OTA | Обновление устройства по предусмотренному каналу связи. |
Heartbeat | Сообщение о присутствии и сетевом состоянии узла. |
TON / TOF / TP | Учебные таймеры задержки включения, задержки выключения и импульса. |
Сведения о редакции
| Редакция | Применимость и содержание |
|---|---|
| 1.1 · 17.09.2026 | Редакция выпуска. Профиль GR-FP-1.0. Контроллер машины от CANopen до MQTT5: функции, параметры, процедуры и проверяемые результаты. |