logo
Реферат

Канальный уровень.

Как и в большинстве сетей, для обмена данными в сети WorldFIP , с точки зрения пользователя используются два типа сервисов:

- периодический и апериодический обмен данными процесса;

- апериодический обмен параметрическими данными;

Существенная доля функционирования этих сервисов возложена на канальный уровень: прикладной уровень работает через сетевой буфер, обновлением которого занимается сущность канального уровня. Поэтому, приведенные выше сервисы на канальном уровне поддерживаются следующими сервисами:

- периодический обмен идентифицированными переменными (для периодического обмена данными процесса);

- обмен идентифицированными переменными по запросу (для апериодического обмена данными процесса по запросу);

- обмен сообщениями по запросу (для обмена параметрическими данными).

На канальном уровне WorldFIP используется гибридный метод адресации: для обмена идентифицированными переменными используется модель Производитель – Потребитель - msg, а для обмена сообщениями - Отправитель – Получатель - msg.

Для доступа к шине используется централизованный метод с Арбитром, который следит за обновлением сетевых периодических и апериодических переменных, а также по обмену сообщениями. Совокупность периодических переменных в буферах узлов формируют распределенную базу данных. Арбитр шины содержит таблицу периодических переменных в виде таблицы Таблица 4 .4.

Таблица 4.4 Пример таблицы сетевых переменных.

Переменная

Периодичность обновления (мс)

Тип

Продолжительность восстановления (мкс)

A

5

INT_8

170

B

10

INT _ 16

178

C

15

OSTR_32

418

D

20

SFPOINT

194

E

20

UNS_32

194

F

30

VSTR_16

290

На каждую переменную в этой таблице подписываются Производители (С - Consumer), которые будут восстанавливать эту переменную, и Потребители (Р - Producer), которые будут считывать ее значение. Когда приходит время на восстановление данной переменной Арбитр отправляет широковещательный запрос на восстановление этой переменной: " ID _ DAT _ A ". После этого канальный уровень производителя (на рисунке Рисунок 4 .16 обозначен как P) выдаст из буфера значение переменной А в широковещательном режиме " RP _ DAT _ A ". Все узлы, которые подписаны на эту переменную как Потребители (на рисунке Рисунок 4 .16 обозначены какC) восстановят ее в своих буферах обмена.

Рисунок 4.16 – Восстановление переменной.

Сетевой буфер канального уровня каждого узла состоит из двух частей (рисунок Рисунок 4 .17):

- переменные, которые производятся: при запросе арбитра на одну из этих изменений, станция передает ее значение в сеть в широковещательном режиме;

- переменные, которые потребляются: восстанавливаются в буфере, когда производители этих переменных передают их значения.

Рисунок 4.17 – Реализация сетевого буфера.

Из буфера в приложение переменные считываются независимо от работы сети.

Для разного времени восстановления периодических переменных работа сети делится намакроциклы, которые в свою очередь делятся наэлементарные циклы.Каждый элементарный цикл длится определенный период времени.За этот период должны восстановиться все периодические переменные, в которых наступил период восстановления.За все макроциклы, любая переменная должна быть восстановлена как минимум 1 раз (самая медленная).

Например, для переменных с таблицы Таблица 4 .4 макроцикл будет выглядеть как нарисунке Рисунок 4 .18, длиться 60 мс и состоять из 12 Элементарных циклов.Переменная А будет восстанавливаться с каждым Элементарным циклом (каждые 5 мс), а F - с каждым шестым Элементарным циклом.

Рисунок 4.18 – Организация макроцикла.

Время, которое остается до другого элементарного цикла используется для апериодических сообщений (рисунок Рисунок 4 .19).

Рисунок 4.19 - Выделение апериодического трафика.

Восстановление апериодических переменных и передача сообщений обеспечивается следующим образом.Когда прикладной уровень заказывает данный сервис в канального уровня, при восстановлении любой периодической переменной данным узлом (как производителя), в кадре будет передана метка о заказе апериодического трафика, которую Арбитр поместит в очередь заказов.При окончании обновления всех переменных в элементарном цикле, Арбитр из очереди выбирает заказ и дает право конкретному узлу для формирования запроса.Напомним, что для обмена сообщениями используется модель адресации Отправитель-Получатель-msg.