2.1. Обмен данными между блоком БР и устройством системы пользователя осуществляется в 2 этапа:
- блок БР принимает команду от устройства системы пользователя;
- блок БР передаёт ответ и данные ответа .
Данные ответа передаются только в случае подтверждения приёма команды. Время задержки выдачи ответа менее 100 мс.
Ответные посылки дополняются байтом контрольной суммы по (MOD 2) при условии: суммарное количество байт "ответа" и данных больше или равно 3.
Варианты ответа:
00 |
подтверждение приёма и выполнения команды |
04 |
неисправность измерительного канала |
06 |
ошибка чётности при приёме |
0С |
неопознанная команда |
FE |
инициализация (выдаётся в течение не более 10 секунд после включения питания Уровнемера) |
FF |
отсутствие измерительного канала или датчика |
2.2. Система команд, исполняемых блоком БР, представлена в следующей таблице
№ п/п |
Название команды |
Кол-во байт данных в ответе |
16-тиричный код команды |
Содержание команды, результат исполнения |
1. |
Проверка |
1 |
10h |
Проверяется наличие связи.Ответ: в данных возвращается код 55h |
2. |
Конфигурация |
16 |
11h |
Запрос конфигурации Уровнемера:Сколько и какие резервуары принимают участие в работе.Ответ: в данных возвращается конфигурация. |
3. |
Состояние |
1 |
14h |
| Запрос состояния Уровнемера.Ответ: возвращается состояние.
4. |
Запрос-У(уровня) |
3 |
20h-2Fh |
Запрос информации уровня.Ответ: в данных возвращается значение уровня в резервуаре, номер которого указан в 4-х младших разрядах кода команды. |
5. |
Запрос-Т(температуры) |
4 |
30h-3Fh |
Аналогично команде 4 для случая температуры. |
6. |
Запрос-В(подтоварной воды) |
1 |
40h-4Fh |
Аналогично команде 4 для случая подтоварной воды |
7* |
Запрос-П(плотности) |
3 |
50h-5Fh |
Аналогично команде 4 для случая плотности |
8. |
Запрос-К(кодов) |
4 |
70h-7Fh |
Запрос метрологических кодов. Ответ: коды верхнего и нижнего маркеров датчика. Номер резервуара указан в младших 4-х разрядах команды. |
9. |
Запрос-0(объёма) |
3 |
80h-8Fh |
Аналогично команде 4 для случая объёма. |
2.3. Данные ответа на команду "Конфигурация" передаются 16 байтами, по байту на каждый измерительный канал (резервуар). Один байт данных ответа представлен на рис. 2.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
№ разряда |
|
|
|
|
x |
|
|
|
"1 " - есть; " 0 " - нет |
№ разряда
1. --------- датчик уровня
2. --------- датчик температуры
3. --------- наличие информации объема
4. --------- бит не определён
5. --------- датчик подтоварной воды
6. --------- датчик плотности
7. --------- готовность измерительного канала
8. --------- наличие измерительного канала
"1 " - есть; " 0 " - нет
2.4. Данные ответа на команду "Состояние" определены одним байтом, который представлен на рис. 3.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
№ разряда |
|
|
x |
x |
x |
x |
x |
x |
Значения разрядов |
№ разряда
1. --------- бит не определен
2. --------- бит не определен
3. --------- бит не определен
4. --------- бит не определен
5. --------- бит не определен
6. --------- бит не определен
7. --------- 1/0 - Уровнемер готов/не готов к работе
8. --------- 1/0 - БР готов/не готов к работе
Готовность Уровнемера к работе определяется при инициализации. Уровнемер готов к работе при наличии фактической возможности сбора информации хотя бы от одного резервуара.
2.5. Значения уровня, объема, плотности передаются в виде комбинации двоичной целой части и двоично-десятичной дробной части тремя байтами . Единица измерения уровня - миллиметр, объема - дециметр кубический (литр), плотности -- киллограм / метр кубический.
Структура передаваемой информации изображена на рис. 4.
Позициябайта в посылке |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
№ разряда |
1-й байт |
C7 |
C6 |
C5 |
C4 |
C3 |
C2 |
C1 |
C0 |
Значение разрядов |
2-й байт |
C15 |
C14 |
C13 |
C12 |
C11 |
C10 |
C9 |
C8 |
Значение разрядов |
3-й байт |
C19 |
C18 |
C17 |
C16 |
D3 |
D2 |
D1 |
D0 |
Значение разрядов |
С0 - С7 младшие разряды целой части
С8 - С15 старшие разряды целой части
С16 - С19 старшие разряды целой части
D0 - D3 дробная часть
Пример расшифровки значения параметра (уровень, объем, плотность ).
ПозицияБайта в посылке |
Формат байта (bin) D7 . . . . . . D0 |
Значение(hex) |
Cодержимое |
1 |
00101001 |
29h |
Младший байт целой части |
2 |
11100111 |
E7h |
Старший байт целой части |
3 |
00011000 |
18h |
Старшая тетрада целой части ; дробная часть Ј 9 |
Значение целой части: 1E729 (hex) или 124713 (dec)
Значение дробной части: 8
Значение параметра: 124713.8
2.6. Значение уровня подтоварной воды в миллиметрах передаётся в виде однобайтового целого двоичного числа. Структура информации представлена на рис. 5.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
N разряда |
C7 |
C6 |
C5 |
C4 |
C3 |
C2 |
C1 |
C0 |
Значения разрядов |
2.7. Значения метрологических кодов верхнего и нижнего маркеров передаются в виде двухбайтовых целых двоичных чисел . Первые два байта содержат код верхнего маркера. Структура кода представлена на рис. 6.
Позициябайта в посылке |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
№ разряда |
1-й байт |
C7 |
C6 |
C5 |
C4 |
C3 |
C2 |
C1 |
C0 |
Значение разрядов |
2-й байт |
C15 |
C14 |
C13 |
C12 |
C11 |
C10 |
C9 |
C8 |
Значение разрядов |
C0 - C7 --------- младшие разряды
C8 - C15 ---------- старшие разряды
2.8. Значения 3-х датчиков температуры передаются в виде однобайтовых целых двоичных чисел.
Единица измерения - 0.5 гр.Цельсия. Первый байт содержит значение нижнего датчика. Четвертый байт не содержит данных. Структура одного байта представлена на рис. 7.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
N разряда |
C7 |
C6 |
C5 |
C4 |
C3 |
C2 |
C1 |
C0 |
Значения разрядов |
C0 - C6 ------ двоичное значение температуры.
Z ------ знак : 1/0 - отрицательный /положительный.
Пример расшифровки значения температуры.
Формат байта (bin) D7 . . . . . . D0 |
Значение(hex) |
1010100 |
A9h |
Знак: минус
Код: 29h (hex) 41 (dec)
Значение параметра: -20.5 градуса Цельсия
Разработчик: ЗАО "НТФ НОВИНТЕХ"
Контактные телефоны: (095) 513-1491, 513-1492
Факс: (095) 513-1493
E-mail: novinteh@mail.sitek.net
www: http://windoms.sitek.net/~novinteh