Фильтрация на EtherType

Фильтрация использования данных о Ethernet EtherType.

В этом примере показано, как использовать блоки в библиотеке xpcethernetlib отфильтровать данные о Ethernet на основе EtherType отправителя. EtherType является полем в Ethernet сетевой стандарт и указывает, какой протокол транспортируется в пакете Ethernet. Данные сигнала отправляются моделью передатчика, xpcEnetDemo3Tx, работая на одном целевом компьютере, TargetPC1, к модели получателя, xpcEnetDemo3Rx, работая на втором целевом компьютере, TargetPC2. Блок "Filter Type" используется, чтобы задать EtherTypes, который будет принят. В этом простом примере пакетам данных, содержащим один из трех различных EtherTypes, позволяют пройти через соответствующие блоки Типа Фильтра в модели получателя. Принятые Типы Эфира:

  1. EtherType: 88CD (SERCOS-III)

  2. EtherType: 88A4 (EtherCAT®)

  3. EtherType: 0800 (IPv4)

Примечания:

  1. В этом примере, только пакеты с EtherTypes 88CD (SERCOS-III) и 88A4 (EtherCAT) переданы, получены и построены.

  2. Действительный SERCOS-III и пакеты EtherCAT не передаются. Только поле EtherType в пакете Ethernet собирается эмулировать эти типы.

Требования

Чтобы запустить этот пример, вы будете нуждаться в двух целевых компьютерах, каждом с установленным и сконфигурировали выделенную карту Ethernet (в дополнение к карте Ethernet, используемой в подключении Ethernet между разработкой и целевыми компьютерами). Обратитесь к документации Simulink® Real-Time™ относительно основанных на модели коммуникаций Ethernet для деталей. После того, как сконфигурированный, устанавливает Шину PCI и Паз в блоке "Real-Time Ethernet Configuration" xpcEnetDemo3Tx и xpcEnetDemo3Rx к той из карты Ethernet, установленной в TargetPC1 и TargetPC2 соответственно.

Открытый, сборка и загрузка модель Tx к TargetPC1

Щелкните здесь, чтобы открыть модель Tx: xpcEnetDemo3Tx. Эта модель управляет генератором с сигналом прямоугольной волны и отправляет сигналы ввода и вывода генератора в целевой компьютер Rx. Вход генератора (прямоугольная волна) передается как пакет SERCOS-III и генератор, выход передается как пакет EtherCAT. Откройте модель.

mdlOpen = 0;
systems = find_system('type', 'block_diagram');
if ~any(strcmp(systems, 'xpcEnetDemo3Tx'))
  mdlOpen = 1;
  open_system(fullfile(matlabroot,'toolbox','rtw','targets','xpc','xpcdemos','xpcEnetDemo3Tx'));
end

Создайте модель и загрузите на целевой компьютер Tx, TargetPC1.

  • Сконфигурируйте для немногословной сборки.

  • Установите настройку Ethernet совпадать с настройками целевого компьютера.

  • Сборка и приложение загрузки.

  • Закройте модель, если мы открыли ее.

set_param('xpcEnetDemo3Tx','RTWVerbose','off');
set_param('xpcEnetDemo3Tx/Real-time Ethernet Configuration','Driver','Intel Gigabit','Bus','5','Slot','0');
evalc('rtwbuild(''xpcEnetDemo3Tx'')');
tgTx = slrt('TargetPC1');
load(tgTx,'xpcEnetDemo3Tx');
if (mdlOpen)
  bdclose('xpcEnetDemo3Tx');
end

Открытый, сборка и загрузка модель Rx к TargetPC2

Щелкните здесь, чтобы открыть модель Rx: xpcEnetDemo3Rx. Эта модель фильтрует пакеты на основе заданного EtherType и распаковывает полученные данные для отображения в целевых осциллографах. Откройте модель.

mdlOpen = 0;
systems = find_system('type', 'block_diagram');
if ~any(strcmp(systems, 'xpcEnetDemo3Rx'))
  mdlOpen = 1;
  open_system(fullfile(matlabroot,'toolbox','rtw','targets','xpc','xpcdemos','xpcEnetDemo3Rx'));
end

Создайте модель и загрузите на целевой компьютер Rx, TargetPC2.

  • Сконфигурируйте для немногословной сборки.

  • Установите настройку Ethernet совпадать с настройками целевого компьютера.

  • Сборка и приложение загрузки.

  • Закройте модель, если мы открыли ее.

set_param('xpcEnetDemo3Rx','RTWVerbose','off');
set_param('xpcEnetDemo3Rx/Real-time Ethernet Configuration','Driver','Intel Gigabit','Bus','8','Slot','10');
evalc('rtwbuild(''xpcEnetDemo3Rx'')');
tgRx = slrt('TargetPC2');
load(tgRx,'xpcEnetDemo3Rx');
if (mdlOpen)
  bdclose('xpcEnetDemo3Rx');
end

Запустите обе Модели

Используя переменные объекта Simulink Real-Time tgTx и tgRx, запустите модели.

  • Запустите модель Tx.

  • Запустите модель Rx.

  • Позвольте моделям, запущенным в течение по крайней мере 5 секунд.

start(tgTx);
start(tgRx);
pause(5);

Отобразите осциллограф целевого компьютера Tx

Просмотрите видеодисплей целевого компьютера Tx. Это отображает график данных сигнала, который отправляется в целевой компьютер Rx через необработанный Ethernet. Используйте команду:

tgTx.viewTargetScreen;

Отобразите осциллографы целевого компьютера Rx

Voew видеодисплей целевого компьютера Rx. Это отображает график данных сигнала, полученных от целевого компьютера Tx через необработанный Ethernet. Обратите внимание на то, что данные с EtherTypes SERCOS-III и EtherCAT проходят через фильтры. Используйте команду:

tgRx.viewTargetScreen;

Остановите обе Модели

Когда сделано, мешайте моделям запуститься.

  • Остановите модель Tx.

  • Остановите модель Rx.

stop(tgTx);
stop(tgRx);
Для просмотра документации необходимо авторизоваться на сайте