Контрольные функции позволяют отправлять команды ИМП в целом либо каждому каналу преобразователя по отдельности, в результате чего происходит изменение их режима работы. Список классов стандартных команд приведен в таблице 15.
ИМП должен отвечать на любые невыполнимые команды установкой бита "Invalid command" ("Неверная команда") ИМП в регистре состояния. Более полное описание данного бита см. в 5.13.3.
________________
В оригинале ISO/IEC/IEEE 21450:2010 допущена ошибка. Ошибочно приведена ссылка на 5.13.2.
7.1.1 Общие команды для ИМП и канала преобразователя
Команды данного класса могут быть адресованы и для ИМП, и для канала преобразователя. Для того чтобы определить, кому предназначается команда - ИМП или каналу преобразователя, используется адрес (см. 5.3). Команды данного класса перечислены в таблице 16. Команды данного класса не должны быть адресованы какой-либо адресной группе, прокси-каналу преобразователя или иметь глобальный адрес. В случае если команда данного класса адресована адресной группе, прокси-каналу преобразователя или имеет глобальный адрес, она должна быть проигнорирована, а в регистре состояния-условия ИМП должен быть установлен бит "Command rejected" ("Отказ от выполнения команды").
Таблица 16 - Общие команды
cmdFunctionId (идентификатор функции команды) | Команда | Состояние | Ответ | Обязательная/ | |
Канала преобра- | ИМП | ||||
0 | Зарезервировано | - | - | - | - |
1 | Запросить ЭТДП | Любое | Активен | Да | Обязательная |
2 | Считать сегмент ЭТДП | Любое | Активен | Да | Обязательная |
3 | Записать сегмент ЭТДП | Любое | Активен | Нет | Обязательная |
4 | Обновить ЭТДП | Любое | Активен | Да | Обязательная |
5 | Запустить самодиагностику | Режим ожидания | Активен | Нет | Обязательная |
6 | Записать маску сервисного запроса | Любое | Активен | Нет | Обязательная |
7 | Считать маску сервисного запроса | Любое | Активен | Да | Обязательная |
8 | Считать регистр состояния-события | Любое | Активен | Да | Обязательная |
9 | Считать регистр состояния-условия | Любое | Активен | Да | Обязательная |
10 | Очистить регистр состояния- события | Любое | Активен | Нет | Обязательная |
11 | Записать состояние протокола состояния-события | Режим ожидания | Активен | Нет | Обязательная |
12 | Считать состояние протокола состояния-события | Любое | Активен | Да | Обязательная |
13-127 | Зарезервировано | - | - | - | - |
128-255 | Открыто для изготовителей | - | - | - | - |
7.1.1.1 Команда "Query TEDS" ("Запросить ЭТДП")
Имя атрибута аргумента: TEDSAccessCode data type UlNT8.
Данная команда используется СПП для запроса информации, необходимой для считывания или записи ЭТДП. Для данной команды существует один-единственный аргумент: "TEDS Access Code" ("Код доступа к ЭТДП"), который определяет ЭТДП, к которой должен быть осуществлен доступ. Коды доступа к ЭТДП, определенным в настоящем стандарте, перечислены в таблице 17.
Ответ на команду "Query TEDS" ("Запросить ЭТДП") должен содержать информацию, приведенную в таблице 18. Требуется, чтобы ИМП обеспечивал ответ на все команды запроса ЭТДП вне зависимости от того, выбрана ли кодом доступа выполняемая ЭТДП. Поле атрибутов в ответном сообщении (см. таблицу 19) должно отображать, поддерживается данная ЭТДП или нет, может ли она быть изменена, верно ли ее текущее содержание, а также является ли ЭТДП встроенной в ИМП или расположенной удаленно (виртуальной). Описание поля состояния ЭТДП приведено в таблице 20.
В случае если установлен атрибут неподдерживаемой ЭТДП, то ИМП в ответном сообщении должен установить "ноль" для атрибутов "TEDSSize" ("Размер ЭТДП") и "MaxTEDSSize" ("Максимальный размер ЭТДП").
В случае если установлен атрибут виртуальной ЭТДП, то также должен быть установлен атрибут "Read-only" ("Только для чтения"), и ИМП в ответном сообщении также должен установить "ноль" для атрибутов "TEDSSize" ("Размер ЭТДП"), "TEDSCkSum" ("Контрольная сумма ЭТДП") и "MaxTEDSSize" ("Максимальный размер ЭТДП"). Определение размеров и атрибутов в ответном сообщении для приложения, отправившего запрос, осуществляет СПП или главный процессор. В случае если файл не может быть найден, то должен быть установлен атрибут "Unsupported" ("Не поддерживается"), и ИМП в ответном сообщении должен установить "ноль" для атрибутов "TEDSSize" ("Размер ЭТДП"), "TEDSCkSum" ("Контрольная сумма ЭТДП") и "MaxTEDSSize" ("Максимальный размер ЭТДП"). В случае если файл найден, атрибуты "Invalid" ("Недействительный") и "Unsupported" ("Не поддерживается") должны быть очищены, а атрибуты "Read-Only" ("Только для чтения"), "TEDSSize" ("Размер ЭТДП"), "TEDSCkSum" ("Контрольная сумма ЭТДП") и "MaxTEDSSize" ("Максимальный размер ЭТДП") должны быть определены согласно атрибутам удаленного файла, в котором хранится ЭТДП.
Таблица 17 - Коды доступа к ЭТДП
Код доступа к ЭТДП | Наименование атрибута ЭТДП | ЭТДП | Обязательная/необязательная |
0 | - | Зарезервировано | - |
1 | MetaTEDS | Мета-ЭТДП1 | Обязательная |
2 | MetaldTEDS | ЭТДП2 мета-идентификации | Необязательная |
3 | ChanTEDS | ЭТДП1 канала преобразователя | Обязательная |
4 | ChanldTEDS | ЭТДП2 идентификации канала преобразователя | Необязательная |
5 | CalTEDS | ЭТДП1 калибровки | Необязательная |
6 | CalldTEDS | ЭТДП2 идентификации калибровки | Необязательная |
7 | EUASTEDS | ЭТДП3 специальных приложений конечного пользователя | Необязательная
|
8 | FreqRespTEDS | ЭТДП1 частотной характеристики | Необязательная |
9 | TransferTEDS | ЭТДП1 передаточной функции | Необязательная |
10 | CommandTEDS | Командная ЭТДП2 | Необязательная |
11 | TitleTEDS | ЭТДП2 места нахождения и заголовка | Необязательная |
12 | XdcrName | ЭТДП2 имени преобразователя, установленного пользователем | Обязательная |
13 | PHYTEDS | ЭТДП1 физического уровня | Обязательная |
14 | GeoLocTEDS | ЭТДП2 географического места нахождения | Необязательная |
15 | UnitsExtention | ЭТДП2 с расширенным набором единиц измерения | Необязательная |
16-127 | - | Зарезервировано | - |
128-255 | - | ЭТДП, заданная изготовителем | Необязательная |
Примечание - |
Таблица 18 - Поле данных ответного сообщения на запрос ЭТДП
Поле | Тип данных | Наименование атрибута поля | Функция |
1 | UInt8 | TEDSAttrib | Атрибуты ЭТДП (см. таблицу 19) |
2 | UInt8 | TEDSStatus | Состояние (статус) ЭТДП |
3 | UInt32 | TEDSSize | Текущий размер ЭТДП |
4 | UInt16 | TEDSCkSum | Контрольная сумма ЭТДП |
5 | UInt32 | MaxTEDSSize | Максимальный размер ЭТДП |
Таблица 19 - Атрибуты ЭТДП
Бит | Тип данных | Наименование атрибута поля | Определение |
0 (МЗБ, Isb) | Логический | TEDSAttrib.ReadOnly | Только для чтения - устанавливается на значение "True" ("Истина"), если ЭТДП может быть считана, но не может быть записана |
1 | Логический | TEDSAttrib.NotAvail | Не поддерживается - устанавливается на значение "True" ("Истина"), если ЭТДП не поддерживается данным каналом преобразователя |
2 | Логический | TEDSAttrib.Invalid | Недействительная - устанавливается на значение "True" ("Истина"), если текущее отображение ЭТДП не верно |
3 | Логический | TEDSAttrib.Virtual | Виртуальная ЭТДП - данный бит устанавливается на значение "True" ("Истина"), если данная ЭТДП является виртуальной. (Виртуальной ЭТДП является любая ЭТДП, которая не хранится внутри ИМП. За доступ к виртуальной ЭТДП отвечает СПП или главный процессор) |
4 | Логический | TEDSAttrib.TextTEDS | Текстовая ЭТДП - устанавливается на значение "True" ("Истина"), если ЭТДП является текстовой |
5 | Логический | TEDSAttrib.Adaptive | Адаптивная - устанавливается на значение "True" ("Истина"), если содержание ЭТДП может быть изменено ИМП или каналом преобразователя без получения от СПП команды "Записать сегмент ЭТДП" |
6 | Логический | TEDSAttrib.MfgrDefine | MfgrDefine (определен изготовителем) - устанавливается на значение "True" ("Истина"), если содержание ЭТДП определяется изготовителем. Соответствие структурам, определенным в настоящем стандарте, достигается, если также установлен атрибут текстовой ЭТДП |
7 | Логический | TEDSAttrib.Reserved[7] | Зарезервировано |