вторник, 7 июня 2011 г.

Transaprent Ready - Сервис Global Data

Сервис Global Data (Глобальные Данные) предоставляет возможность Ehternet-устройствам публиковать технологическую информацию в сети. Любое устройство, подключенное к сети имеет возможность подписаться на получение опубликованых данных. Устройства, между которыми необходимо организовать обмен данными объединяются в группу распределения (Distribution Group). Каждое устройство в группе может выбрать блок данных, который оно будет публиковать в сети и блоки данных, опубликованные другими устройствами, на которые необходимо подписаться.

Сервис Global Data основан на стандартном сервисе распределения данных в сети (Network Distribution Data Service). NDDS в свою очередь использует протокол RTPS (Real-Time Publisher Subscriber). Сам сервис Global Data отвечает за определение данных и механизма их передачи в IP сеть посредством multicast-рассылки. На транспортном уровне Global Data используется протокол UDP, т.к. нет необходимости устанавливать соединение с конкретным устройством.
Работа сервиса Global Data подразумевает участие двух типов учасников - издатель (Publisher) (в одной группе распределения может быть несколько) и подписчик (Subscriber) (также может быть несколько подписчиков). Издатель отвечает за размещение данных в сети. Издатель копирует массив локальных данных (до 512 слов) и пересылает их в сеть на адрес группы распределения с настроенной частотой.
Группа распределения (Distribution Group) представляет собой логическое объединение устройств-подписчиков, возможно даже расположенных в нескольких сетях. Принадлежность устройства к той или иной группе распределения определяется назначением ему уникального multicast IP-адресаMulticast IP адрес не заменяет основной IP-адрес устройства ( используется для стандартного обмена Modbus-запросами и сервисом I/O scanning), а является дополнением к нему.
Все устройства в группе распределения используют один уникальный multicast IP-адрес. Подписчик получает копии всех данных, публикуемых в группе распределения, выбирает лишь данные, на которые он подписан и передает их в пользовательское приложение.
Обработка ошибочных ситуаций отдается на откуп устройствам-подписчикам, т.к. издатель рассылает данные не конкретному устройству, а группе. Издатель лишь передает данные в сеть, при этом не управляет подписчиками и не получает никаких уведомлений при получении подписчиком данных. Таким образом на подписчика ложится обязанность отслеживания времени между получениями данных от каждого издателя. Если время между двумя получениями данных превышает Health-таймаут, то сервис указывает пользовательскому приложению на ошибку получения данных от конкретного издателя. В таком случает подписчик должен принимать необходимые действия, для обеспечения безопасности работы системы.
Такой механизм связи отличается от привычного обмена Modbus-запросами, где при посылке удаленному устройству запроса с его стороны предполагается какое-то действие. В случае протокола Modbus, устройство посылающее запрос должно знать выполнен ли он успешно. В случае с Global Data издатель делает данные доступными подписчикам и уже от них зависит что с этими данными делать и какие действия предпринимать.
При публикации переменных данные берутся непосредственно из памяти ПЛК и копируются в коммуникационных модуль. Эта операция происходит в начале цикла ПЛК при условии что достигнуто настроеное время публикации. Данные, на которые контроллер подписан, копируются в память ПЛК в конце цикла, следующего за получением данных.
Ограничения сервиса Global Data
Особенности механизмов взаимодествия устройств, участвующих в работе сервиса Global Data, приводят к некоторым ограничениям:
  • Группа распределения может насчитывать до 64-х участников, каждый из участников может быть издателем и/или подписчиком;
  • На текущий момент, один коммуникационный модуль может быть участником лишь одной группы. В случае если контроллер должен быть участником нескольких групп, необходимо использовать несколько коммуникационных модулей.
  • Издатель может публиковать непрерывный блок данных размером до 512-ти слов;
  • Подписчик может получать произвольное количество переменных, опубликованых в сети, однако суммарный объем принимаемых переменных не должен превышать 2048 слов.
Учитывая все вышесказанное, можно определить область заданий, в которых будет уместным использования Global Data. Итак, Global Data следует использовать когда одно устройство хочет предоставить доступ к своим данным для множества других устройств с интервалом обновления информации от 10 мс до 30 с. Сервис лучше использовать для публикации статусной информации, текущих параметров производства и сервисной данных. В то же время, Global Data не рекомендуется использовать для передачи команд и важных уставок, т.к. издатель отсылает данные не конкретному устройству и соответственно не имеет подтверждения правильности принятой информации.

Время реакции при использовании Global Data определяется как время между изменением переменной у издателя и временем когда изменение становится доступным для подписчика:
  • время публикации + 1 цикл ПЛК на стороне издателя + время публикации сервиса + время подписки сервиса + 1 цикл ПЛК на стороне подписчика, где время публикации сервиса и время подписки сервиса обычно равны 1-2 мс.
В завершение, давайте на примере настройки контроллера M340 в среде Unity рассмотрим практический аспект сервиса Global Data.

Комментариев нет:

Отправить комментарий