Статус документа
Статус документа

ГОСТ Р 56947-2016/ISO/IEC/IEEE 21450:2010 Информационные технологии (ИТ). Интерфейс интеллектуального преобразователя для датчиков и исполнительных устройств. Общие функции, протоколы взаимодействия и форматы электронной таблицы данных преобразователя (ЭТДП)

     5.13 Состояние (статус)


Как показано на рисунке 11, существуют два вида регистра состояния, и оба вида имеют длину в 32 бита. Первый регистр носит название "Condition Register" ("Регистр условия"). Его можно считать при помощи команды "Read Status-Condition Register" ("Считать статус состояния регистра условия") (см. 7.1.1.9). Данный регистр содержит информацию о текущем состоянии передаваемых атрибутов. Второй регистр называется "Event Register" ("Регистр события"). Данный регистр содержит значение "True" при условии, если "Condition Register" ("Регистр условия") изменил значение на значение "True" с момента последней очистки регистра события. Регистр можно считать при помощи команды "Read Status-Event Register" ("Считать статус состояния регистра события") (см. 7.1.1.8). Некоторые биты регистра события представляют собой фактические события, такие как ошибки выполнения команд. В регистре условия такие биты всегда должны быть равны нулю, поскольку иначе в модели будет отображено изменение условия с его немедленной очисткой.


Рисунок 11 - Логика создания сообщений состояния


Оба регистра состояний должны быть применимы к ИМП и к каждому каналу преобразователя внутри ИМП. Возвращенное состояние-событие представляет собой состояние ИМП в целом. Во многих случаях бит состояния-события ИМП представляет собой "OR" ("логическое ИЛИ") соответствующих битов для всех каналов преобразователя.

Каждый бит регистра состояния-события означает наличие или отсутствие определенного события. Значение "1" в соответствующей позиции бита должно означать, что условие выполняется или что событие произошло с момента последнего считывания или очистки статуса.

Каждый регистр состояния-события используется в сочетании с соответствующей маской сервисного запроса (см. 5.14.1), позволяющей проконтролировать выбор битов для формирования сервисного запроса.

Биты состояния, определенные в настоящем стандарте, приведены в таблице 9.

Некоторые биты состояния зарезервированы для будущих версий настоящего стандарта. Некоторые биты являются необязательными и могут быть не предусмотрены изготовителем. Биты, обозначенные как "открытые для изготовителей", могут использоваться для сообщения о состояниях, не представленных уже определенными битами. Описания новых битов регистра состояния-события ИМП должны отражать состояния внутри ИМП в целом. Биты состояния, отмеченные как "зарезервированные", или не использующиеся "необязательные", или "открытые для изготовителей", при считывании должны быть равны нулю.


Таблица 9 - Биты состояния

Бит

Биты состояния ИМП

Биты состояния канала преобразователя

Обязательный/
необязательный

0

Service request ("Запрос сервиса")

Service request ("Запрос сервиса")

Обязательный

1

TEDS changed ("ЭТДП изменена")

TEDS changed ("ЭТДП изменена")

Необязательный

2

Invalid command ("Неверная команда")

Зарезервировано

Обязательный

3

Command rejected ("Отказ от выполнения команды")

Command rejected ("Отказ от выполнения команды")

Обязательный

4

Missed data or event ("Пропущенные данные или событие")

Missed data or event ("Пропущенные данные или событие")

См. 5.13.5

 

5

Data/event ("Данные/событие")

Data/event ("Данные/событие")

См. 5.13.6

 

6

Hardware error ("Ошибка аппаратного оборудования")

Hardware error ("Ошибка аппаратного оборудования")

См. 5.13.7

 

7

Not operational ("Нерабочее состояние")

Not operational ("Нерабочее состояние")

Обязательный

8

Protocol error ("Ошибка протокола")

Зарезервировано

Обязательный

9

Data available/data processed ("Данные доступны/данные обработаны")

Data available/data processed ("Данные доступны/данные обработаны")

Необязательный

10

Busy ("Занято")

Busy ("Занято")

Необязательный

11

Failed calibration ("Сбой калибровки")

Failed calibration ("Сбой калибровки")

Необязательный

12

Failed self-test ("Сбой самоконтроля")

Failed self-test ("Сбой самоконтроля")

Необязательный

13

Data over range or under range ("Данные выходят за верхнюю или нижнюю границы диапазона")

Data over range or under range ("Данные выходят за верхнюю или нижнюю границы диапазона")

Необязательный

14

Corrections disabled ("Коррекции отключены")

Corrections disabled ("Коррекции отключены")

Необязательный

15

Consumables exhausted ("Закончились расходные материалы")

Consumables exhausted ("Закончились расходные материалы")

Необязательный

16

Зарезервировано

Not-the-first-read-of-this-data-set ("Не первое считывание из этого набора данных")

Обязательный

17-23

Зарезервировано

Зарезервировано

-

23-31

Открыто для изготовителей

Открыто для изготовителей

-

    В оригинале ISO/IEC/IEEE 21450:2010 допущена ошибка. Ошибочно приведена ссылка на 5.13.4.

  В оригинале ISO/IEC/IEEE 21450:2010 допущена ошибка. Ошибочно приведена ссылка на 5.13.5.

  В оригинале ISO/IEC/IEEE 21450:2010 допущена ошибка. Ошибочно приведена ссылка на 5.13.6.


Очистка битов в регистре состояния-события может быть проведена одним из следующих способов:

- очистка битов "Summary" ("Сводка") должна быть проведена немедленно после считывания соответствующего нижележащего (базового) регистра состояния-события. Любой бит в регистре состояния-события ИМП, определенный как "OR" ("логическое ИЛИ") для соответствующего бита регистров состояния-события канала преобразователя, должен быть очищен таким же образом;

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

- биты состояния также могут меняться при изменении рабочих режимов, приведенных в 5.4.1.

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

Считывание регистров состояния должно быть доступно при помощи команд "Read status-event register" ("Считать статус состояния регистра события") и "Read status-condition register" ("Считать статус состояния регистра условия"), определенных в 7.1.1.8-7.1.1.9. Полученный в ответ статус должен иметь размер 4 байта. Информация, полученная в ответ на обращение к ИМП, определена в таблице 9, в графе "Биты состояния ИМП". Биты, полученные в ответ на обращение к каналу преобразователя, определены в графе "Биты состояния канала преобразователя".

Регистр состояния-события также может быть передан в запущенном ИМП сообщении (см. 6.4) при условии, что маска установлена для бита регистра состояния-события, который был установлен, и протокол состояния-события был активирован при помощи команды "Write status-event protocol state" ("Записать состояние протокола состояния-события") (см. 7.1.1.11). После того как данный протокол активирован, должен быть инициирован поток, отправляющий 32-битовый регистр состояния каждый раз после установки бита "Service request" ("Запрос сервиса"). При запросе сервиса каналом должен быть отправлен регистр канала. Если запрос совершает ИМП, то должен быть отправлен регистр состояния ИМП. Информация, отправленная через протокол состояния-события, должна быть идентична информации, полученной в ответ на команду "Read status-event register" ("Считать статус состояния регистра события").

5.13.1 Бит "Service request" ("Запрос сервиса")

Бит "Service request" ("Запрос сервиса") для любого канала преобразователя должен быть установлен при запросе сервиса этим каналом преобразователя. Указанный бит должен быть очищен после считывания, после отправки сообщения протокола состояния или после отправки команды "Clear status-event register" ("Очистить регистр состояния-события") (см. 7.1.1.10) для данного канала. Для определения условий, при которых канал преобразователя запрашивает сервис, применяются маски сервисного запроса.

Описание маски сервисного запроса приведено в 5.14.1.

Бит "Service request" ("Запрос сервиса") для ИМП должен быть установлен в случае любого запроса сервиса ИМП, как определено масками ИМП. Он должен быть очищен после считывания, после отправки сообщения протокола состояния или после отправки команды "Clear Transducer status-event register" ("Очистить регистр события-состояния преобразователя"). Бит "Service request" ("Запрос сервиса") для ИМП не должен очищаться при получении протокола очистки устройства.

Бит "Service request" ("Запрос сервиса") для канала преобразователя должен быть применим для каждого канала преобразователя внутри ИМП. Бит "Service request" ("Запрос сервиса") для ИМП должен быть применим для каждого ИМП.

Бит "Service request" ("Запрос сервиса") очищается при изменении рабочего режима при условии, что бит состояния, вызвавший это изменение, изменяется или очищается.

Бит "Service request" ("Запрос сервиса") должен быть определен при включении питания, а также он должен быть установлен при пометке бита активизации какого-либо состояния, в особенности если активизирован бит состояния "Power on" ("Включение питания").