![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Как и в большинстве сетей, для обмена данными в сети WorldFIP, с точки зрения пользователя используются два типа сервисов:
- периодический и апериодический обмен данными процесса;
- апериодический обмен параметрическими данными;
Существенная доля функционирования этих сервисов возложена на канальный уровень: прикладной уровень работает через сетевой буфер, обновлением которого занимается сущность канального уровня. Поэтому, приведенные выше сервисы на канальном уровне поддерживаются следующими сервисами:
- периодический обмен идентифицированными переменными (для периодического обмена данными процесса);
- обмен идентифицированными переменными по запросу (для апериодического обмена данными процесса по запросу);
- обмен сообщениями по запросу (для обмена параметрическими данными).
На канальном уровне WorldFIP используется гибридный метод адресации: для обмена идентифицированными переменными используется модель Производитель – Потребитель - msg, а для обмена сообщениями - Отправитель – Получатель - msg.
Для доступа к шине используется централизованный метод с Арбитром, который следит за обновлением сетевых периодических и апериодических переменных, а также по обмену сообщениями. Совокупность периодических переменных в буферах узлов формируют распределенную базу данных. Арбитр шины содержит таблицу периодических переменных в виде таблицы Таблица 4.1.
Таблица 4.1 Пример таблицы сетевых переменных.
Переменная | Периодичность обновления (мс) | Тип | Продолжительность восстановления (мкс) |
A | INT_8 | ||
B | INT _ 16 | ||
C | OSTR_32 | ||
D | SFPOINT | ||
E | UNS_32 | ||
F | VSTR_16 |
На каждую переменную в этой таблице подписываются Производители (С - Consumer), которые будут восстанавливать эту переменную, и Потребители (Р - Producer), которые будут считывать ее значение. Когда приходит время на восстановление данной переменной Арбитр отправляет широковещательный запрос на восстановление этой переменной: " ID _ DAT _ A ". После этого канальный уровень производителя (на рисунке Рисунок 4.1 обозначен как P) выдаст из буфера значение переменной А в широковещательном режиме " RP _ DAT _ A ". Все узлы, которые подписаны на эту переменную как Потребители (на рисунке Рисунок 4.1 обозначены как C) восстановят ее в своих буферах обмена.
Рисунок 4.1 – Восстановление переменной .
Сетевой буфер канального уровня каждого узла состоит из двух частей (рисунок Рисунок 4.2):
- переменные, которые производятся: при запросе арбитра на одну из этих изменений, станция передает ее значение в сеть в широковещательном режиме;
- переменные, которые потребляются: восстанавливаются в буфере, когда производители этих переменных передают их значения.
Рисунок 4.2 – Реализация сетевого буфера.
Из буфера в приложение переменные считываются независимо от работы сети.
Для разного времени восстановления периодических переменных работа сети делится на макроциклы, которые в свою очередь делятся на элементарные циклы. Каждый элементарный цикл длится определенный период времени. За этот период должны восстановиться все периодические переменные, в которых наступил период восстановления. За все макроциклы, любая переменная должна быть восстановлена как минимум 1 раз (самая медленная).
Например, для переменных с таблицы Таблица 4.1 макроцикл будет выглядеть как на рисунке Рисунок 4.3, длиться 60 мс и состоять из 12 Элементарных циклов. Переменная А будет восстанавливаться с каждым Элементарным циклом (каждые 5 мс), а F - с каждым шестым Элементарным циклом.
Рисунок 4.3 – Организация макроцикла.
Время, которое остается до другого элементарного цикла используется для апериодических сообщений (рисунок Рисунок 4.4).
Рисунок 4.4 - Выделение апериодического трафика.
Восстановление апериодических переменных и передача сообщений обеспечивается следующим образом. Когда прикладной уровень заказывает данный сервис в канального уровня, при восстановлении любой периодической переменной данным узлом (как производителя), в кадре будет передана метка о заказе апериодического трафика, которую Арбитр поместит в очередь заказов. При окончании обновления всех переменных в элементарном цикле, Арбитр из очереди выбирает заказ и дает право конкретному узлу для формирования запроса. Напомним, что для обмена сообщениями используется модель адресации Отправитель - Получатель - msg.
Дата публикования: 2014-12-11; Прочитано: 225 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!