ЖУРНАЛ «СТА» 4/2018

уникально для сессии и, как правило, находится в ответе на команду RegisterSession, сгенерированную, на- пример, из ПЛК. Этот дескриптор ис- пользуется для всего сеанса связи. Поле состояния (Status) используется получателем, чтобы указать, успешно ли выполнена запрошенная команда инкапсуляции (Encapsulation Message). Ноль обозначает успешную команду, значения выше нуля указывают на то, что произошла ошибка и данный пакет будет проигнорирован. Поле контекста отправителя (Sender Context) заполняется отправителем и возвращается получателем без измене- ния. Во многих случаях команды без ожидаемого ответа просто игнорируют это поле. Наконец, флаг опций (Options), если содержит ноль, то не используется, если его значение не равно нулю, пакет дол- жен быть отброшен. Поле данных команды (Command Specific Data) играет большую роль в формате инкапсулированного сообще- ния CIP. Этот раздел содержит фикси- рованную структуру, известную как об- щий формат пакета (Common Packet Format, CPF). Он содержит 16-битное поле, представляющее количество эле- ментов для последующего просмотра. Элемент имеет два типа: адрес и дан- ные. На практике первоначально ука- зывается элемент адреса, после чего следует элемент данных. Структура CIP-сообщений Структура CIP-сообщения имеет не- сколько статичных полей, которые со- держат набор CIP-сегментов, включая сегменты порта, логические сегменты, сегменты сети, символов, данных и ключевые сегменты (рис. 3). В дополне- ние к этому всегда существует сервис CIP, выполняющий некоторые дей- ствия над сегментом логического клас- са. В некоторых случаях сообщение CIP может быть объектом диспетчера со- единений с использованием сервиса Forward Open для установления связи. В других случаях это может быть базовый CIP-сервис атрибута Get Attribute All. На рис. 3 показаны поля сервиса Forward Open, которые инициируют создание сессии, а также предоставляют параметры сетевого подключения для двух обменивающихся устройств. CIP- сервис резервирует самый старший бит для обозначения того, является ли па- кет запросом или ответом. Следующие 7 бит используются для указания типа CIP-сервиса. Один и тот же номер сер- ОБ ЗОР / П РОМЫШЛ Е ННЫЕ С Е Т И СТА 4/2018 33 www.cta.ru Таблица 1 Структура заголовка EtherNet/IP Состав Название поля Тип данных Заголовок для инкапсуляции Команда UINT Длина UINT Дескриптор сессии UINT Статус UINT Контекст отправителя ARRAY of Octet Флаг опций UDINT Данные команды Инкапсулированные данные ARRAY of Octet

RkJQdWJsaXNoZXIy MTQ4NjUy