EtherCAT получают уведомления

Соберите уведомления из шины EtherCAT

  • Библиотека:
  • Simulink Real-Time / EtherCAT

Описание

Собирается уведомления от EtherCAT® складывают, и представляет их выводу как вектор с 21 элементом int32. На каждом временном шаге блок выводит то, что это накопилось и очищает себя для следующего временного шага.

Вектор содержит количество уведомлений в элементе 1, сопровождаемый до кодов уведомления 20. Максимальным количеством уведомлений является 20. Если шина представляет больше, чем уведомления 20 выводу, блок отбрасывает новейшие уведомления и представляет первый 20, которые были получены.

Порты

Вывод

развернуть все

  • Length (020) — количество уведомлений в векторе.

  • Notification — составной объект типа уведомления и определенного значения. Типы:

    • EC_NOTIFY_GENERIC [0x00000000 (0)] — Представляет изменения состояния, такой as:0x00000001 (1) — EtherCAT operational state change.

    • EC_NOTIFY_ERROR [0x00010000 (65536)] — Представляет состояния ошибки, такие как 0x00010001 (65537): cyclic command: working counter error. Некоторые описывают изменения в состоянии ошибки.

    • EC_NOTIFY_SCANBUS [0x00030000 (3*65536)] — Представляет состояния ошибки ScanBus, такие как 0x00030002 (196610): ScanBus mismatch.

    • EC_NOTIFY_HOTCONNECT [0x00040000 (4*65536)] — Представляет горячие состояния подключения, такие как 0x00040005 (262149): Slave disappears.

Чтобы распечатать допустимые значения уведомления и описания, вызовите SimulinkRealTime.etherCAT.filterNotifications без аргумента.

Типы данных: int32

Параметры

развернуть все

Чтобы сопоставить блок с сетью EtherCAT, скопируйте значение Device index с блока EtherCAT Init, представляющего ту сеть в Device index для блока.

Программируемое использование

Параметры блоков: device_id

Введите основной шаг расчета или кратное основному шагу расчета. Используйте шаг расчета задачи EtherCAT.

Программируемое использование

Параметры блоков: sample_time

Советы

Собрать уведомления:

  1. Добавьте блок EtherCAT Get Notifications в свою модель.

  2. Соедините блок EtherCAT Get Notifications с блоком Outport. Если возможно, сделайте этот блок Outport блока Outport 1. Если блок EtherCAT Get Notifications соединяется с первым блоком Outport, 21 сигнал уведомления появляется в первом 21 столбце матрица tg.OutputLog. В противном случае необходимо задать столбцы со смещением.

  3. Увеличьте значение Signal logging data buffer size in doubles, по крайней мере, фактором 100 в панели Simulink Real-Time Options. Блок EtherCAT Get Notifications может быстро увеличить размер выходного журнала.

  4. Чтобы распечатать уведомления для этой модели, передайте соответствующий 21 столбец в функцию SimulinkRealTime.etherCAT.filterNotifications.

Введенный в R2017a

Для просмотра документации необходимо авторизоваться на сайте