ТРИМ
Протокол обмена
(руководство по программированию)
2.574.007 Д
СОДЕРЖАНИЕ
1 ПРОТОКОЛ MODBUS 3
1.1 Введение 3
1.2 Формат сообщения 3
1.3 Маркер начала сообщения 3
1.3.1 Поле адреса 4
1.3.2 Поле команды 4
1.3.3 Поле данных 4
1.3.4 Поле контрольной суммы (КС)
4
1.3.5 Пример расчета КС 4
2 КОМАНДЫ 5
2.1 Команда 0х03. Считать значения регистров настроек 5
2.2 Команда 0х04. Считать информацию регистров данных 6
2.3 Команда 0x10. Установить значение регистров настроек 7
3 ТИПЫ ПЕРЕМЕННЫХ и структуры данных 8
3.1 Типы переменных 8
3.1.1 Тип float 8
3.1.2 Тип int 9
3.1.3 Тип byte 9
3.2 Структура записи архива 9
3.3 Структура программы регулирования 10
Приложение А СОДЕРЖАНИЕ РЕГИСТРОВ ПАМЯТИ ПРИБОРА 13
Приложение Б Коды ошибок прибора 22
Настоящий протокол обмена 2.574.007 Д является приложением к 2.574.007 РЭ и содержит описание модификации протокола MODBUS для связи измерителя-регулятора ТРИМ (далее просто прибор) с персональным компьютером.
В описании переменных протокола во всем документе применяются следующие сокращения:
0х
YY
– адрес в шестнадцатиричной системе исчисления. Например 0х3А соответствует десятичному числу 58
.
Запись 0
x
1
AB
LO
, означает, что указанный параметр содержится в младшем (LO) байте регистра 0x1AB. Запись 0
x
1
AB
HI
, означает, что указанный параметр содержится в старшем (HI) байте регистра 0x1AB.
1 ПРОТОКОЛ
MODBUS
Введение
Протокол обмена предназначен для связи между приборами, объединенными в сеть с организацией обмена по принципу «MASTER - SLAVE» («Ведущий – ведомый»). При этом лишь MASTER может инициировать операции, называемые ЗАПРОС. SLAVE на ЗАПРОС формируют сообщение ОТВЕТ.
Обмен осуществляется в режиме последовательной передачи. Параметры последовательного обмена должны быть одинаковы для всех приборов в сети MODBUS и иметь следующий формат: 1 старт-бит, 8 бит данных, 1 стоп-бит.
Протокол MODBUS определяет структуру сообщений ЗАПРОС и ОТВЕТ. Каждый байт в сообщении посылается как два знака ASCII. Главным преимуществом данного режима является то, что он позволяет иметь различные интервалы времени между посылками, без появления ошибки.
Ф
ормат Сообщения
Формат сообщения представлен на рисунке 1. Любой байт адреса, команды или данных представляется в виде двух ASCII знаков: в числе 0х62 знаки «6» и «2» представляются и передаются, как 0х36 и 0х32.
Старт |
Адрес |
Команда |
Данные |
КС |
Стоп |
1 знак |
2 знака |
2 знака |
N знаков |
2 знака |
2 знака |
Рисунок 1
- Формат сообщения
Маркер начала сообщения
Сообщения начинаются маркером начала сообщения - знаком двоеточия (:
) (0х3A), заканчиваются маркером конца сообщения - двумя байтами (0хD и 0хA).
1.3.1Поле адреса
Поле адреса содержит два знака. Адреса SLAVE находятся в десятичном диапазоне 0-127. Адрес 0 присваивается SLAVE, которые должны отвечать на ЗАПРОС с любым адресом.При формировании запроса MASTER в поле адреса сообщения устанавливает адрес запрашиваемого SLAVE, в ответе в поле адреса возвращается адрес SLAVE.
1.3.2 Поле команды
Поле команд содержит два знака - код команды. В ЗАПРОСЕ поле кода команды указывает устройству SLAVE, какое действие предпринять. В ОТВЕТЕ поле команды служит для подтверждения приема ЗАПРОСА. В случае приема без ошибок поле команды повторяет код команды.
При ошибке поле команды содержит признак ошибки, сформированный, как код команды, в старшем бите которого значение 1, дополнительно в поле данных ОТВЕТА помещается уникальный код ошибки.
Коды ошибок приведены в приложении Б.
Например, в поле команды запроса содержится код команды
03h (0000 0011 b
) – “Считать информацию регистров настроек”.
Если SLAVE без ошибок принял ЗАПРОС, то в поле адреса ОТВЕТА повторяется исходный код команды 03 (0000 0011 b
), в случае ошибки ОТВЕТ содержит признак ошибки и код ошибки (см. рисунок 2).
ОТВЕТ
|
|
Название поля
|
|
Поле адреса SLAVE |
0х5 (0000 0101 b) |
Поле команды |
0х83 (1000 0011 b) |
Поле данных |
0х20 (0010 0000 b) |
КС |
--- |
Рисунок 2 - Структура ОТВЕТА в случае ошибки
1.3.3 Поле данных
Поле данных содержит:
· в ЗАПРОСЕ – дополнительную информацию, которую использует SLAVE для выполнения команды.
· В ОТВЕТЕ, при отсутствии ошибок – запрашиваемые данные, в случае ошибки – код ошибки (смотри - рисунок 2).
1.3.3 Пример расчета КС
а)сложить все байты в сообщении, за исключением маркеров начала и конца сообщения в однобайтном поле, исключая перенос.
б)выполнить операцию “дополнение до единицы” (вычесть полученное значение из числа 0хFF).
в)выполнить операцию “дополнение до двух”, прибавив число 01 к полученному результату п.б). Пример такой операции показан в таблице1.
Таблица 1
Адрес |
02h |
0000 0010 b |
Поле команды |
01h |
0000 0001 b |
Поле данных 1 |
00h |
0000 0000 b |
Поле данных 2 |
00h |
0000 0000 b |
Поле данных 3 |
00h |
0000 0000 b |
Поле данных 4 |
08h |
0000 1000 b |
Результат п.1) |
0Bh |
0000 1011 b |
Результат п.2) |
F4h |
1111 0100 b |
КС (Результат п.3) |
F5h |
1111 0101 b |
2 КОМАНДЫ
2.1 Команда 0х03
. Считать значения регистров настроек
Команда 0х03
служит для чтения регистров настроек.
ЗАПРОС
определяет адрес SLAVE, начальный адрес и число регистров настроек, значение которых необходимо считать.
Адреса регистров настроек приведены в приложении А
(таблица А1).
На рисунке 3 приведен пример “ЗАПРОСА” на чтение регистров настроек 2-4 SLAVE c адресом 17 (0х11).
ЗАПРОС
|
|
Название поля
|
|
Адрес SLAVE |
0х11 |
Код команды |
0x03 |
Начальный адрес HI |
0x00 |
LO |
0x01 |
Число регистров HI |
0x00 |
LO |
0x03 |
КС |
-- |
Рисунок 3 - Структура ЗАПРОСА команды 03
.
ОТВЕТ
содержит адрес SLAVE, код команды, поле регистров настроек и число байт в поле регистров настроек. Содержимое регистра является шестнадцатиразрядным числом (два байта). На рисунке 4 приведен пример “ОТВЕТА” на ЗАПРОС.
ОТВЕТ
|
|
Название поля
|
|
Адрес SLAVE |
0x11 |
Код команды |
0x03 |
Число байт |
0x06 |
Регистр настроек 02h HI |
0x00 |
LO |
0x0A |
Регистр настроек 03h HI |
0x00 |
LO |
0x0B |
Регистр настроек 04h HI |
0x00 |
LO |
0x0C |
КС |
-- |
Рисунок 4 – Структура ОТВЕТА команды 03
Команда 0х04. Считать информацию регистров данных
Команда 0х04
служит для чтения регистров данных.
ЗАПРОС
определяет адрес “SLAVE”, начальный адрес и число регистров данных, значения которых необходимо считать. Адреса регистров данных приведены в приложении А (таблица А2). На рисунке 5 приведен пример запроса на считывание регистров данных 2-4 “SLAVE” c адресом 17 (0х11).
ЗАПРОС
|
|
Название поля
|
|
Адрес SLAVE |
0х11 |
Код команды |
0х04 |
Начальный адрес HI |
0х00 |
LO |
0х01 |
Число регистров HI |
0х00 |
LO |
0х03 |
КС |
-- |
Рисунок 5 - Структура “ЗАПРОСА” команды 0
x
04.
ОТВЕТ
содержит адрес “SLAVE”, код команды, поле регистров данных и число байт в поле регистров данных. Содержимое регистра является шестнадцатиразрядным числом и содержит два байта.
На рисунке 6 приведен пример “ОТВЕТА” на “ЗАПРОС”.
ОТВЕТ
|
|
Название поля
|
|
Адрес SLAVE |
0х11 |
Код команды |
0х04 |
Число байт |
0х06 |
Регистр данных 02h HI |
0х00 |
LO |
0х0А |
Регистр данных 03h HI |
0х00 |
LO |
0х0B |
Регистр данных 04h HI |
0х00 |
LO |
0х0C |
КС |
-- |
Рисунок 6 - Структура “ОТВЕТА” команды
0х04
Команда 0
x10. Установить значение регистров настроек.
Команда 0
x
10
служит для установки значений регистров настроек.
Регистры настройки SLAVE могут иметь статус “только чтение”, при попытке установить в них новое значение остаются без изменений.
ЗАПРОС
определяет адрес SLAVE, начальный адрес, число регистров настроек, поле регистров настроек и число байт в поле регистров настроек.
Адреса регистров настроек приведены в приложении А (таблица А1).
На рисунке 7 приведен пример ЗАПРОСА на установку значений регистров настроек 2-4 “ SLAVE ” c адресом 17 (0x11).
ЗАПРОС
|
|
Название поля
|
|
Адрес SLAVE |
0x11 |
Код команды |
0x10 |
Начальный адрес HI |
0x00 |
LO |
0x01 |
Число регистров HO |
0x00 |
LO |
0x03 |
Число байт |
0x06 |
Регистр настройки 02h HI |
0x00 |
LO |
0x0А |
Регистр настройки 03h HI |
0x00 |
LO |
0x0B |
Регистр настройки 04h HI |
0x00 |
LO |
0x0C |
КС |
-- |
Рисунок 7- Структура ЗАПРОСА команды 0
x
10.
ОТВЕТ
cодержит адрес SLAVE, код команды, начальный адрес и число регистров в поле регистров настроек. На рисунке 8 приведен пример ОТВЕТА на ЗАПРОС.
ОТВЕТ
|
|
Название поля
|
|
Адрес slave |
11h |
Код команды |
10h |
Начальный адрес HI |
00h |
LO |
01h |
Число регистров HI |
00h |
LO |
03h |
КС |
-- |
Рисунок 8 – Структура ОТВЕТА команды 10
h
.
3 ТИПЫ ПЕРЕМЕННЫХ и структуры данных
Типы переменных
Данный протокол поддерживает операции чтения / записи переменных следующих форматов:
- float
– формат с плавающей запятой, длина 4 байта;
- int
–
целое число, длина 2 байта;
- byte
–
число, длиной 1 байт.
3.1.1 Тип float
Пример чтения / записи float -числа -12.5
, расположенного по адресам 0x31 - 0x32 регистров настроек:
Регистр:
|
0х32 (
|
0х32 (
|
0х31 (
|
0х31 (
|
Адрес:
|
+3 |
+2 |
+1 |
+0 |
Формат
|
SEEEEEEE |
EMMMMMMM |
MMMMMMMM |
MMMMMMMM |
Двоичный вид:
|
11000001 |
01001000 |
00000000 |
00000000 |
Hex
|
C1h |
48h |
00h |
00h |
S – Бит знака числа с плавающей точкой:
1 – отрицательное число, 0 – положительное число;
E – Показатель экспоненты числа с плавающей точкой;
M – Показатель мантиссы числа с плавающей точкой;
- Читаем / записываем 2 регистра, начиная с адреса 0х31 (HI).
- Полученное значение: 0xC1480000.
- Показатель мантиссы числа 10000010 = 130dec. Вычитанием 127 из этого числа получаем реальное значение экспоненты: 3.
- Мантисса представлена следующим двоичным числом: 10010000000000000000000.
- Дописываем 1 слева от мантиссы, отделяя ee десятичной точкой: 1.10010000000000000000000.
- Сдвигаем десятичную точку на значение экспоненты (вправо, если значение положительное, иначе влево). В результате получаем двоичное представление числа с плавающей точкой: 1100.10000000000000000000.
- Переводим целую и дробную часть в десятичный вид, учитывая знак числа. Получаем число с плавающей точкой: 0xC1480000= -12.5.
3.1.2 Тип
int
Пример считывания переменной, расположенной по адресу 0x26, имеющей тип Int:
а) читаем один регистр по адресу 0x26.
б)считанное значение 0х3Е7 = 999.
Регистр:
|
0
|
0
|
Адрес:
|
+1 |
+0 |
Двоичный вид:
|
11101110 |
00101010 |
Hex
|
0х03 |
0хЕ7 |
3.1.3 Тип
byte
Пример считывания переменной, расположенной по адресу 0х24, имеющей тип Byte:
Регистр:
|
0х24
|
0х24
|
Адрес:
|
+1 |
+0 |
Двоичный вид:
|
01000100 |
00110011 |
Hex
|
0x44 |
0xFF |
Читаем один регистр по адресу 0х24. Значение переменной, согласно протоколу, находится в старшем разряде считанного слова - 0x44.
3.2 Структура записи архива
Данные процесса измерения периодически записываются в энерго-независимую память (Flash) – архив. Период записи данных в секундах определяется содержимым регистра 0х33 (смотри - таблицу А1). Длина архива составляет 2097153 байта, что соответствует 190650 записям. Длина одной записи – 11 байт (таблица 2).
Таблица 2
0 |
1 |
2 |
3 |
4 |
5 |
6 7 8 9 |
10 |
час |
мин |
с |
дата |
месяц |
год |
Flot - данные |
Регистр состояния реле |
младший байт |
старший байт |
Архив организован по кольцевому принципу. Это означает, что в случае его заполнения новая (последняя) запись будет размещена на месте старой, начиная с первой записи. Распределение номеров байт записи по адресам регистров рассмотрены на примере группы регистров данных 0x10 - 0x15 «Получить последнюю запись архива» (см. таблицу A2).
0x10 - HI |
0x10 - LO |
0x11 - HI |
0x11 - LO |
0x12 - HI |
0x12 - LO |
час |
мин |
с |
дата |
месяц |
год |
0x13 – HI 0x13 – LO 0x14 – HI 0x14 - LO |
0x15 - HI |
0x15 - LO |
данные float* |
Регистр состояния реле |
резерв |
* - в случае ситуации обрыва датчика
в поле «данные» записывается число 1010
. При этом факт самого первого
обнаружения обрыва фикси-руется в архиве, независимо от значения периода записи.
В случае копирования архива на SD-карту создается файл с уникальным именем и расширением ARH. Имя файла содержит информацию о дате и времени его создания. Например, файл “14111351.ARH” означает, что копирование архива производилось 14 ноября в 13 час, 51 мин.
Вся информация записывается в файл в двоичном виде и представляет собой последовательность 11-байтных записей (смотри - таблицу 2). Все записи в файле расположены в строгой хронологической последовательности.
3.2 Структура программ регулирования
Программа регулирования позволяет реализовать программный режим управления объектом. В энергонезависимой памяти прибора хранится четыре программы. Количество циклов перепрограммирования не ограничено.
Каждая программа регулирования состоит из шагов, максимальное количество которых не должно превышать 32. Данные о шагах последовательно размещаются в регистрах 4-х программ регулирования, начиная с адреса 0x52
(см. таблицу А1).
Структура программы
регулирования имеет следующий вид:
1 байт |
7 байт |
7 байт |
7 байт |
1 байт |
1 байт |
Масштаб |
Шаг 1 |
Шаг 2 |
… Шаг 32 |
Программа перехода |
шаг перехода |
Масштаб
–
параметр, определяющий
временной масштаб каждого шага программы и принимающий значения
: 0 – час:мин
. 1 – м ин:сек.
Один шаг программы содержит информацию о значениях параметра регулирования, времени и типе шага. Ниже приведена структура одного шага.
Программа перехода
– номер программы (0 - 3), на которую
осуществляется переход
.
Шаг перехода
– номер шага (0 - 31) программы, на который осуществляется переход.
Структура шага программы:
1 байт |
1 байт |
4 байта |
1 байт |
Час(мин) |
Мин (с) |
|
Р егистр шага |
Время
(2 байта) – длительность текущего шага программы. В зависимости от выбранного масштаба может принимать значения: час:мин или мин:с.
Данные
– значение параметра во float- формате в конечной точке шага.
Регистр шага
– определяет тип шага и логику перехода на следующий шаг. Описание регистра шага приведено в таблице 3.
Таблица
3
№ разряда
|
Описание разрядов регистра шага
|
0-3 |
Тип шага: 0 – обычный шаг с переходом на следующий; 1 – шаг с переходом на любой другой шаг программ; 2 – конец программы. |
4-7 |
Логика перехода на следующий шаг: 0 – по значению; 1 – по времени; 2 –
3 – по значению ИЛИ
|
Примечание
. В каждой программе регулирования допускается только один шаг
с переходом на любой другой шаг программ (см. структуру программы).
На рисунке 8 в качестве примера показан график программы изменения температуры объекта. Все шаги программы обычного типа, логика перехода – по времени. Данные для каждого шага по регистрам программы регулирования №1 приведены в таблице 4. Отсчет времени происходит от момента запуска программы регулирования (переход в автоматический режим регулирования).
Рисунок 8
Таблица 4
Номер шага
|
Номер регистра
|
Данные
|
Масштаб |
0х52 HI |
1 |
1 |
0х52 LO |
0 |
0х53 HI |
10 |
|
0x53 LO - 0x55 HI |
50,0 |
|
0x55 LO |
0x10 |
|
2 |
0x56 - HI |
0 |
0x56 - LO |
11 |
|
0x57 - 0x58 |
150,0 |
|
0x59 HI |
0x10 |
|
3 |
0x59 – LO |
0 |
0x5A - HI |
9 |
|
0x5A LO - 0x5C HI |
150,0 |
|
0x5C LO |
0x10 |
|
4 |
0x5D - HI |
0 |
0x5D - LO |
10 |
|
0x5E - 0x5F |
100,0 |
|
0x60 HI |
0x12 |
|
0x60 LO |
*
|
- байт не несет никакой информации и добавлен только для четности.
Приложение А.
(Справочное)
СОДЕРЖАНИЕ РЕГИСТРОВ ПАМЯТИ ПРИБОРА
Таблица А1
.
Регистры настройки
Адрес
|
Описание регистра
|
||||||||||||||||||||||||
0x00 |
HI - Версия ПО; LO - тип прибора (23); Номер версии ПО определяется делением на 100 содержи-мого младшего байта. Регистр запрещен для записи. |
||||||||||||||||||||||||
0x01 |
Параметры обмена: LO – адрес устройства в сети; HI - скорость обмена:
|
||||||||||||||||||||||||
0x02 |
HI – Закон регулирования; LO –. Регистр управления интерфейса RS-485.
|
||||||||||||||||||||||||
|
Пароль калибровок, int – число. |
||||||||||||||||||||||||
0x04-0x05 |
Резерв |
||||||||||||||||||||||||
0x06 |
Режим измерения прибора. HI – тип сигнала (датчика); LO – конфигурация прибора |
Продолжение таблицы А1.
Адрес
|
Описание регистра
|
||||||||||||||||||||||||||||||||||||||||||||||||||
0x06 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
Продолжение таблицы А1
Адрес
|
Описание регистра
|
||||||||||||||
0x06 |
|
||||||||||||||
0x07-0x08 |
Полоса фильтра, float – число. |
||||||||||||||
0x09-0x0A |
Постоянная вр. RC-фильтра, float – число. |
||||||||||||||
0x0B - 0x0C |
Значение уставки реле №1, float – число. |
||||||||||||||
0x0D - 0x0E |
Значение уставки реле №2, float – число. |
||||||||||||||
0x0F - 0x10 |
Значение уставки реле №3, float – число. |
||||||||||||||
0x11 - 0x12 |
Значение уставки реле №4, float – число. |
||||||||||||||
0x13 - 0x14 |
Гистерезис уставки реле №1, float – число. |
||||||||||||||
0x15 - 0x16 |
Гистерезис уставки реле №2, float – число. |
||||||||||||||
0x17 - 0x18 |
Гистерезис уставки реле №3, float – число. |
||||||||||||||
0x19 - 0x1A |
Гистерезис уставки реле №4, float – число. |
||||||||||||||
0x1B - 0x1С |
Порог срабатывания реле №1, float – число. |
||||||||||||||
0x1D - 0x1E |
Порог срабатывания реле №2, float – число. |
||||||||||||||
0x1F - 0x20 |
Порог срабатывания реле №3, float – число. |
||||||||||||||
0x21 - 0x22 |
Порог срабатывания реле №4, float – число. |
||||||||||||||
0x23 |
HI - Тип логики компаратора №1. LO - Тип логики компаратора №2. |
||||||||||||||
0x24 |
HI - Тип логики компаратора №3. LO - Тип логики компаратора №4. |
||||||||||||||
0x25 - 0x26 |
Сдвиг характеристики датчика, float – число. |
Продолжение таблицы А1
Адрес
|
Описание регистра
|
||||||||||||||||||
0x27 - 0x28 |
Наклон характеристики датчика, float – число. |
||||||||||||||||||
0x29 - 0x2A |
Начало диапазона масштабирования, float – число. |
||||||||||||||||||
0x2B - 0x2C |
Конец диапазона масштабирования, float – число. |
||||||||||||||||||
0x2D - 0x2E |
Начало диапазона преобразования выходного тока 4..20 мА, float – число. |
||||||||||||||||||
0x2F - 0x30 |
Конец диапазона преобразования выходного тока 4..20 мА, float – число. |
||||||||||||||||||
0x31 |
HI – Номер компаратора ускоренной регистрации (1..4, 0 - нет ускоренной регистрации). LO – Регистр состояния реле. Описание регистра состояния реле:
|
||||||||||||||||||
0x32 |
HI – Положение десятичной точки
LO – Яркость индикаторов (0 - 4). |
||||||||||||||||||
0х33 |
Период сохранения информации во Flash-памяти (0 - 999 сек., 0 – функция архивирования выключена), int – число. |
||||||||||||||||||
0x34..0x35 |
Коэффициент пропорциональности Кп для ПИД или зона возврата в ON/ OFF – закона, float – число. |
||||||||||||||||||
0x36..0x37 |
Коэффициент интегрирования Ки для ПИД-законов, float – число. |
||||||||||||||||||
0x38..0x39 |
Коэффициент дифференцирования Ки для ПИД-законов, float – число. |
||||||||||||||||||
0x3A..0x3B |
Задание на регулирование, float – число. |
||||||||||||||||||
0x3C..0x3D |
Переходное запаздывание То ОУ, float – число. |
||||||||||||||||||
0x3E..0x3F |
Коэффициент эффективности Ко, float – число. |
||||||||||||||||||
0x40..0x41 |
Транспортное запаздывание Тz, float – число. |
Продолжение таблицы А1
Адрес
|
Описание регистра
|
||||||||||||||||||||||||||||||||
0x42..0x43 |
Минимальная длительность управляющего импульса (сек., ПИД-S, ПИД-H/C) или минимальное ограничение сигнала управления (%, ПИД-С), float – число. |
||||||||||||||||||||||||||||||||
0x44..0x45 |
Время перемещения исполнительного механизма (сек., ПИД-S) или максимальное ограничение сигнала управления (%, ПИД-С), float – число. |
||||||||||||||||||||||||||||||||
0x46..0x47 |
Регистр настроек прибора CSR.
|
Продолжение таблицы А1.
0x46..0x47 |
Запись «0» в разряды регистра CSR означает выключение или запрещение функции. |
||||||||||||||||
0x48..0x51 |
Зарезервировано для расширения системы. |
||||||||||||||||
0x52..0xC3 |
Программа регулирования №1. |
||||||||||||||||
0xC4..0x135 |
Программа регулирования №2. |
||||||||||||||||
0x136..0x1A7 |
Программа регулирования №3. |
||||||||||||||||
0x1A8..0x219 |
Программа регулирования №4. |
||||||||||||||||
0x21A |
HI – Регистр клавиатуры; LO – Регистр состояния ошибок. Регистр клавиатуры
|
Продолжение таблицы А1
Адрес
|
Описание регистра
|
||||||||||||||||||||||||||
0x21A |
Коды клавиатуры:
При одновременном нажатии двух и более клавиш код в регистре клавиатуры формируется, как арифметическая сумма кодов нажатых клавиш. Описание регистра состояния ошибок:
Примечание
|
||||||||||||||||||||||||||
0x21B |
HI – регистр режима работы; LO – резерв Регистр режима работы служит для дистанционного управления прибором.
|
Продолжение таблицы А1.
Адрес
|
Описание регистра
|
||||||||||||||||||
0x21С - 0x21E |
Регистры часов реального времени. Предназначены для чтения – записи показаний текущего времени и даты. Показания часов используются при сохранении данных в архив.
|
Таблица А2.
Регистры данных
Адрес
|
Описание регистра
|
||||||||||||||||||
0x00 - 0x 01 |
Данные последнего измерения, float – число.. |
||||||||||||||||||
0x02 |
HI –
Описание регистра состояния реле:
|
||||||||||||||||||
0x03 |
HI – Номер исполняемой программы регулирования (0..3); LO – Номер текущего шага программы (0..31) |
||||||||||||||||||
0
|
Время и дата проведения последней калибровки прибора
|
||||||||||||||||||
0x07 - 0x0F |
Зарезервировано для возможных расширений. |
||||||||||||||||||
0x10 - 0x15 |
Получить последнюю запись архива (смотри п.3.2). |
||||||||||||||||||
0x16 - 0x1B |
Получить самую первую запись архива. |
||||||||||||||||||
0x1C - 0x21 |
Получить предыдущую запись архива. |
||||||||||||||||||
0x22 -
|
Получить последующую запись архива. |
Приложение Б.
(Справочное)
КОДЫ ОШИБОК ПРИБОРА
При ошибке обмена данными поле команды содержит признак ошибки, сформированный как код команды, в старшем бите которого 1. Дополнительно в поле данных “ОТВЕТА” помещается уникальный код ошибки. Разряды 0 – 4 кода ошибки совпадают с соответствующими разрядами регистра состояния ошибок
0x21A (смотри таблицу А1).
Структура кода ошибки
|
|
Номер разряда
|
Описание
|
0 |
Ошибка АЦП (нет готовности данных) |
1 |
Ошибка чтения/записи энергонезависимой Flash-памяти архива. |
2 |
Ошибка чтения/записи EEPROM-памяти настроек и коэффициентов. |
3 |
Обрыв датчика |
4 |
Разряжена или отсутствует батарея. |
5 |
Обращение к неизвестному регистру |
6 |
Неизвестная команда |
7 |
Ошибка КС |