3 Структура запросов-ответов в сетевом протоколе
В данном разделе поясняется структура запросов/ответов, используемых при получении данных из тепловычислителя ВКТ-7. Конкретные значения полей кадров приведены в разделе «Возможные варианты запросов».
Корректная работа по протоколу возможно только с приборами, имеющими версию ПО 1.5 и более.
3.1 Структура запросов/ответов для операции 0х03 («чтение»).
Запрос:
• Адрес;
• Функция – 0х03;
• Начальный адрес (НАст.б) (старший байт);
• Начальный адрес (НАмл.б) (младший байт);
• Количество регистров (КРст.б) (старший байт);
• Количество регистров (КРмл.б) (младший байт);
• Контрольная сумма (КСмл.б) (младший байт);
• Контрольная сумма (КСст.б) (старший байт);
Структура запроса на чтение приведена на рисунке.
Значения полей «Начальный адрес» и «Количество регистров» для конкретных запросов будут приведены ниже.
Ответ:
В случае успешного обмена вычислитель присылает ответ следующего формата:
• адрес (значение, скопированное из запроса);
• функция (значение, скопированное из запроса).
• количество байт данных (КБ);
• секция данных длиной «количество байт данных»;
• Контрольная сумма (младший байт);
• Контрольная сумма (старший байт).
Структура ответа на команду чтения приведена на рисунке.
Если при обработке запроса возникло какое-либо исключение, то вычислитель устанавливает в поле функции старший бит. Это означает, что следует проанализировать код исключения, расположенный в следующем байте (расшифровка кодов ошибок приведена ниже для каждого запроса в отдельности). Ответ вычислителя с кодом ошибки имеет следующий формат:
• адрес (значение, скопированное из запроса);
• функция (значение, скопированное из запроса, с установленным старшим битом);
• код ошибки (КО);
• служебный байт (СБ - анализировать не нужно);
• Контрольная сумма (младший байт);
• Контрольная сумма (старший байт).
Структура ответа на команду чтения при возникновении исключения приведена на рисунке.
3.2 Структура запросов/ответов для операции 0х10 («запись»).
Запрос:
• Адрес;
• 0х10;
• Начальный адрес (старший байт);
• Начальный адрес (младший байт);
• Количество регистров (старший байт);
• Количество регистров (младший байт);
• Количество записываемых байт данных;
• Записываемые данные;
• Контрольная сумма (младший байт);
• Контрольная сумма (старший байт).
Структура запроса на запись приведена на рисунке.
Значения полей «Начальный адрес» и «Количество регистров» для конкретных запросов будут приведены ниже.
Ответ:
В случае успешного обмена вычислитель присылает ответ следующего формата:
• адрес (значение, скопированное из запроса);
• функция (значение, скопированное из запроса);
• Начальный адрес (старший байт; значение, скопированное из запроса);
• Начальный адрес (младший байт; значение, скопированное из запроса);
• Количество регистров (старший байт; значение, скопированное из запроса);
• Количество регистров (младший байт; значение, скопированное из запроса);
• Контрольная сумма (младший байт);
• Контрольная сумма (старший байт).
Структура ответа на команду записи приведена на рисунке.
Если при обработке запроса возникло какое-либо исключение, то вычислитель устанавливает в поле функции старший бит. Это означает, что следует проанализировать код исключения, расположенный в следующем байте (расшифровка кодов приведена ниже для каждого запроса в отдельности). Ответ вычислителя с кодом ошибки имеет следующий формат:
• адрес (значение, скопированное из запроса);
• функция (значение, скопированное из запроса, с установленным старшим битом);
• код ошибки;
• служебный байт (СБ - анализировать не нужно);
• Контрольная сумма (младший байт);
• Контрольная сумма (старший байт).
Структура ответа на команду записи при возникновении исключения приведена на рисунке.
|