Запись захвата пакета EtherCAT development_5_wireshark
Запись захвата пакета EtherCAT development_5_wireshark

1. Установите TwinCAT в смешанный режим.

После сохранения перезапустите TwinCAT.

В настоящее время мое устройство не может войти в состояние OP, и у WireShark нет никаких данных.

2. TwinCAT не может войти в состояние OP. Как снова войти в состояние OP?

①После нажатия зеленой кнопки нажмите кнопку «ОК» во всплывающем окне, чтобы закрыть всплывающее окно. В настоящее время вы все еще не можете войти в состояние OP.

②Перезагрузите устройство.

Выберите Да.

Вот и все.

3. Предварительный анализ кадра данных EtherCAT.

EtherCAT использует стандартные кадры Ethernet IEEE 802.3, тип кадра — 0x88A4. Кадр EtherCAT состоит из заголовка кадра EtherCAT и сообщения EtherCAT с максимальной эффективной длиной 1498 байт.

Структура кадра связи Ether CAT принимает стандартную структуру кадра экстрасети, которая формируется путем изменения традиционного протокола и вставки кадра данных Ether CAT специального типа в стандартный протокол. Другими словами, содержимое данных стандартного протокола является следующим. кадр данных Ether CAT. Типы частных кадров обозначаются 0x88A4. По этой причине связь Ether CAT полностью совместима со стандартной связью Ethernet. Структура сообщения кадра данных Ether CAT показана на рисунке.

Два сравнительных исследования.

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

Определение структуры подсообщения Ether CAT показано в Таблице 2-2. Подсообщение состоит из 7 частей, включая команду, индекс, длину области адреса, бит флага, бит состояния, область данных и рабочий счетчик. Команда в сообщении обычно состоит из 8 бит и используется для указания режима адресации сообщения и операций чтения и записи; индекс представляет собой код кадра; адрес связи подчиненного устройства представляет собой 32-битный двоичный код адреса; значение последующего сообщения Указывает, что если кадр данных Ether CAT имеет несколько подсообщений, за исключением бита флага последнего подсообщения, биты флага других подсообщений необходимо сбросить в данных подсообщения; принадлежит пользовательской части, а длина обычно составляет 1486 байт.

Все услуги субтелеграмм EtherCAT передаются посредством работы главной станции. Канал передачи данных! Чтобы указать услуги физического хранения, чтения, записи и обмена (чтение и немедленная запись) данных на ведомой станции. Операции чтения и записи, а также режим адресации совместно определяют тип службы связи подсообщения. определяется подсообщением. Байты команды в заголовке указывают, что все команды, поддерживаемые EtherCAT, перечислены в Таблице 2.4.

Запасайтесь вышеперечисленными базовыми знаниями. Анализ сообщений - это всегда скучно и радостно. Радость от незнания к незнанию.

Посмотрите на первый кадр захваченных данных, 29 байт.

①Понятные данные

6 байт (010105010000) целевой Mac;

6 байт (000000000000) исходный Mac;

0x88A4(88a4); на данный момент всего 14 байт;

Заголовок кадра EtherCAT (16 бит, 2 байта)

.... .000 0000 1101 = Длина: 0x00d …… 11 цифр

.... 0... .... .... = Зарезервировано: Действительно (0x0) …… 1 человек

0001 .... .... .... = Тип: команда EtherCAT (0x1) ... 4 цифры

② Подсообщение

EtherCAT datagram(s): 'BWR': Len: 1, Adp 0x0, Ado 0x101, Wc 0

EtherCAT datagram: Cmd: 'BWR' (8), Len: 1, Adp 0x0, Ado 0x101, Cnt 0

Header

Cmd : 8 (Broadcast Write)

Index: 0x80

Индекс:80 Каждый раз, когда подсообщение отправляется по команде BWR, индекс увеличивается на 1 в диапазоне от 0x80 до 0xff.

Slave Addr: 0x0000

Offset Addr: 0x0101

Адресная зона: 00 00 01 01 Помимо команд логической адресации, адресная область будет разделена на подчиненные Addr и Offset Аддр, также известный как Раб Addr:0x0000,Offset Адрес: 0x0101, обратите внимание, что это режим с прямым порядком байтов, вы знаете, как его читать, если это логическая адресация, область адреса имеет только одну 32-битную; Log Addr:0x 01010000. (Я до сих пор не понимаю...)

Length : 1 (0x1) - No Roundtrip - Last Sub Command

.... .000 0000 0001 = Length: 1

..00 0... .... .... = Reserved: Valid (0)

.0.. .... .... .... = Round trip: Frame is not circulating

0... .... .... .... = Last indicator: Last EtherCAT datagram

Длина:0100 Длина области данных сообщения, прямой порядок байтов, правильная сортировка — 0x0001, разверните ее в двоичный формат:

0000 0000 0000 0001;

Замените ненужные биты на *:

0*** **** **** **** Самый старший бит в структуре кадра — M. Если он равен 0, это означает, что существует только один кадр. Если он равен 1, это означает, что будут последующие. сообщения;

*000 0*** **** ****Старшие 2, 3 и 4 бита являются зарезервированными, но в реальных ситуациях, при использовании анализа Wireshark, определение второй старшей цифры равно 0... .. .. . ... .... = Обратный путь: Кадр не циркулирует;

**** *000 0000 0001 Оставшиеся младшие 11 бит представляют собой длину данных.

Interrupt: 0x0000

Бит состояния: 0000знак прибытия прерывания

ESC Ctrl (0x101): 0x00, Port 0: Auto loop, Port 1: Auto loop, Port 2: Auto loop, Port 3: Auto loop

.... ..00 = Port 0: Auto loop (0x0)

.... 00.. = Port 1: Auto loop (0x0)

..00 .... = Port 2: Auto loop (0x0)

00.. .... = Port 3: Auto loop (0x0)

Данные:00 Структура сообщения, определяемая пользователем

Working Cnt: 0

WKC:00 WKC указывает, сколько раз подсообщение обрабатывалось ведомой станцией, а ведущая станция устанавливает ожидаемый WKC для каждого подсообщения службы связи. Начальное значение счетчика Работа в отправленном подсообщении равно 0. После корректной обработки подсообщения ведомой станцией значение счетчика Работа увеличится на шаг. Ведущая станция сравнивает WKC и ожидаемый WKC. в возвращенном подсообщении, чтобы определить, правильно ли оно обработано. WKC обрабатывается ESC при обработке кадров данных. Различные коммуникационные службы добавляют WKC по-разному.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose