Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БЭМЗ полищук доки / 2020 / А2000 минск / АСКВ2 БУ max90-ru_v1.20.pdf
Скачиваний:
11
Добавлен:
21.12.2020
Размер:
11.44 Mб
Скачать

Модули мобильной системы X90

 

 

 

5.4.1.5.11.4 Связь FlatStream

 

 

 

Введение

 

 

 

 

B&R предлагает дополнительный способ связи для некоторых модулей. Интерфейс Flatstream был раз-

работан для шин X2X и POWERLINK и позволяет приспособить передачу данных к индивидуальным тре-

бованиям. Хотя этот метод не соответствует в полной мере требованиям к передаче данных в реальном

времени, он все же позволяет передавать обрабатываемые данные более эффективно, чем стандартный

циклический опрос.

 

 

 

 

 

 

 

Язык

 

 

X2X

 

полевого устройства

 

Синхронный вызов

 

 

 

 

с использованием табл.

 

 

 

 

распределения вх/вых

 

 

 

 

Контроллер B&R

Синхронный вызов

Модуль B&R

Синхронная

Полевое устройство B&R

ПЛК или

кэшированных значений

Кэшированные значения

передача

 

контроллер шины

 

 

 

 

Асинхронный вызов

 

 

 

 

с использованием

 

 

 

 

функций библиотеки

 

 

 

 

Контроллер B&R

Асинхронный вызов

Модуль B&R

Синхронная

Полевое устройство B&R

ПЛК или

кэшированных значений

Кэшированные значения

передача

контроллер шины

 

 

 

 

 

Flatstream

 

 

 

 

Контроллер B&R

Команда устройства,

Модуль B&R

Команда устройства

Полевое устройство B&R

ПЛК или

совместимая с X2X

В качестве моста

контроллер шины

 

 

 

 

 

 

 

Рисунок 43: Три типа связи

FlatStream расширяет возможности синхронных и асинхронных запросов данных. В связи FlatStream модуль выступает в роли моста. Он используется для передачи запросов от контроллера непосредственно на полевое устройство.

208

Мобильная система управления X90 Руководство пользователя V 1.20 - Перевод руководства

Модули мобильной системы X90

Сообщение, сегмент, последовательность, максимальный блок передачи данных (MTU)

Физические свойства полевой шины ограничивают объем данных, который может быть передан за один цикл шины. В связи FlatStream все сообщения рассматриваются как часть непрерывного потока данных. Длинные потоки данных должны быть разделены на несколько фрагментов, которые отсылаются один за другим. Чтобы понять, как приемник собирает эти фрагменты вместе для получения исходных данных, важно понимать разницу между сообщением, сегментом, последовательностью и максимальным блоком передачи данных (MTU).

Сообщение

Сообщение обозначает информацию, которой обмениваются две станции-партнера. Метод связи FlatStream не ограничивает длину сообщений. Тем не менее необходимо учитывать собственные ограничения модулей.

Сегмент (логическая часть сообщения):

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

Последовательность (физическая организация сегментов):

Максимальный размер последовательности соответствует количеству допустимых байтов Rx или Tx (далее

– MTU). Передающая станция разбивает массив передачи на допустимые последовательности. Затем эти последовательности одна за другой вписываются в MTU и передаются на принимающую станцию, где они снова собираются вместе. Приемник сохраняет входящие последовательности в массив приема, получая образ потока данных.

В FlatStream подсчитывается число отправленных последовательностей. Успешно переданные последовательности должны быть квитированы принимающей станцией, чтобы обеспечить целостность передачи данных.

MTU (максимальный блок передачи данных) — физическая передача:

MTU зависит от числа активных регистров USINT, используемых при передаче Flatstream. Эти регистры могут принимать по меньшей мере одну последовательность и передавать ее на принимающую станцию. Для каждого направления связи определяется отдельный размер MTU. OutputMTU определяет число Txбайтов FlatStream, а InputMTU указывает количество Rx-байтов FlatStream. MTU циклически передаются по шине X2X. Каждый дополнительный активный регистр USINT увеличивает нагрузку на шину.

Свойства

Сообщения FlatStream не передаются циклически или в режиме реального времени. Для передачи отдельно взятого сообщения может потребоваться много циклов шины. Хотя передатчик и приемник циклически обмениваются регистрами Rx и Tx, для их дальнейшей обработки необходимо явное подтверждение по-

средством регистра InputSequence или OutputSequence.

Поведение в случае ошибки (краткий обзор)

Протокол для шин X2X и POWERLINK указывает, что при возникновении помехи должны сохраняться последние корректные значения. Обычно при традиционной связи (синхронные/асинхронные запросы данных) этот тип ошибки можно игнорировать.

Для обеспечения безошибочной связи с использованием FlatStream все последовательности, выданные приемником, должны быть квитированы. Если не используется ускоренная отправка данных, то последующая связь задерживается на время, пока помеха активна.

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

Мобильная система управления X90 Руководство пользователя V 1.20 - Перевод руководства

209

Модули мобильной системы X90

Принцип FlatStream

Требование

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

Связь

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

ПЛК / контроллер шины

 

Модуль

 

 

 

 

Внутренний буфер

Внутренний массив

Массив передачи

OutputMTU

 

приема в модуле

приема в модуле

Тип данных: USINT

Тип данных: USINT

 

Тип данных: USINT

Тип данных: USINT

_data_01

Байты Tx

Циклич.

* Байты Rx

_data_01

_data_02

Если используется

Буфер передачи

Если увеличивается счетчик

_data_02

_data_03

_data_03

OutputMTU:

модуля циклически

OutputSequence:

_data_04

 

получает данные

 

_data_04

ЦП заполняет

из OutputMTU

Модуль добавляет содержимое

_data_05

OutputMTU

по шине X2X

буфера передачи во внутренний

_data_05

указанной

 

массив

. . .

последовательностью

 

Если это удалось:

. . .

из массива передачи

 

 

Значение InputSequenceAck

_data_xx

 

 

приходит в соответствие

_data_xx

 

 

 

со значением счетчика передачи

 

 

 

 

Внутренний буфер

Внутренний массив

Массив приема

InputMTU

 

передачи в модуле

передачи в модуле

Тип данных: USINT

Тип данных: USINT

 

Тип данных: USINT

Тип данных: USINT

_data_01

Байты Rx

Циклич.

* Байты Tx

_data_01

_data_02

Если увеличивается

InputMTU

Если разрешено:

_data_02

_data_03

_data_03

счетчик

циклически получает

модуль заполняет внутренний

_data_04

InputSequence:

данные из буфера

буфер передачи

_data_04

 

приема по шине X2X

указанной последовательностью

_data_05

InputMTU необходимо

 

из массива передачи

_data_05

 

 

. . .

добавить в конец

 

 

. . .

массива приема

 

Модуль увеличивает

_data_xx

(увеличение InputSequenceAck

 

счетчик InputSequence

_data_xx

для корректного завершения)

 

 

 

Рисунок 44: Связь FlatStream

 

Процедура

Сначала сообщение разбивается на допустимые сегменты длиной до 63 байтов, и создаются соответствующие управляющие байты. Управляющие байты добавляются к соответствующим сегментам, и формируется поток данных. Этот поток данных можно записать в массив передачи. Максимальный размер каждого элемента массива соответствует размеру допустимого MTU, так что один элемент соответствует одной последовательности.

Когда массив полностью создан, передатчик проверяет, разрешена ли перезапись MTU. Затем он копирует первый элемент массива или первую последовательность в байтовые регистры Tx. MTU передается на принимающую станцию по шине X2X и сохраняется в соответствующих байтовых регистрах Rx. Чтобы сигнализировать, что данные должны быть приняты приемником, передатчик увеличивает значение счетчика

SequenceCounter.

Если направление связи синхронизировано, партнерская станция обнаруживает прирост значения SequenceCounter. Текущая последовательность добавляется в массив приема и квитируется с помощью SequenceAck. Это квитирование сигнализирует передатчику, что MTU можно перезаписать.

Если передача данных успешна, данные в массиве приема будут полностью соответствовать данным в массиве передачи. В ходе передачи данных принимающая станция должна обнаруживать и обрабатывать входящие управляющие байты. Для каждого сообщения должен создаваться отдельный массив приема. Это позволяет приемнику немедленно начать дальнейшую обработку сообщений, как только они будут полностью переданы.

210

Мобильная система управления X90 Руководство пользователя V 1.20 - Перевод руководства

Соседние файлы в папке А2000 минск