Запись захвата пакета 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
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода