Вы находитесь на странице: 1из 7

АВТОМАТИКА-ВЕКТОР

Измеритель геометрических параметров бревен


ВЕКТОР.1D

ПРОТОКОЛ ПЕРЕДАЧИ ДАННЫХ


2
Протокол передачи данных измерителя бревен «Вектор»

Общие положения
Измерители бревен «Вектор» поддерживают передачу данных через следующие интерфейсы: RS232,
RS485, Ethernet.

Для установления связи через RS232, RS485 необходимо задать следующие параметры подключения:
− COM-порт компьютера;
− скорость передачи данных (9600, 19200, 57600, 115200);
− адрес измерителя (1..246, адрес 247 — широковещательный)

Для связи через Ethernet:


− ip-адрес измерителя;
− TCP-порт — 8004.

Передача данных ведется в режиме master-slave (ведущий-ведомый). Запросы инициирует персональный


компьютер или plc. Измеритель всегда является ведомым и отвечает на запросы.

Пакет запроса и ответа состоит из заголовка, блока основной информации, блока дополнительной
информации и контрольной суммы. При связи с измерителями в запросах отсутствует блок основной
информации.

Запрос

№ байта Кол-во байт Описание


Заголовок пакета
0 1 Адрес измерителя (при использовании Ethernet игнорируется)
1 1 Размер пакета в байтах (не включая два байта контрольной суммы)
2 1 Тип (номер) запроса
3 1 Номер байта с которого начинается дополнительная информация
Дополнительная информация
4..n Байты дополнительной информации (зависят от типа запроса)
Контрольная сумма пакета
n+1 1 Контрольная сумма (старший байт)
n+2 1 Контрольная сумма (младший байт)

Контрольная сумма рассчитывается по определенному алгоритму, который приведен в главе «Вычисление


контрольной суммы».

ООО «АВТОМАТИКА-ВЕКТОР» ▪ www.a-vektor.ru ▪ тел. +7 (8182) 68-18-18


3
Протокол передачи данных измерителя бревен «Вектор»

Ответ
В ответе блок основной информации присутствует всегда и его формат одинаков для любого типа запроса.
В основной информации измерителя содержатся параметры последнего измеренного бревна и некоторые
текущие параметры (скорость транспортера и т.п.). Блок дополнительной информации в пакете следует
сразу за основной и зависит от типа запроса.

№ байта Кол-во байт Описание


Заголовок пакета
0 1 Адрес измерителя, от которого пришел ответ (игнорируется при Ethernet)
1 1 Размер пакета в байтах (не включая два байта контрольной суммы)
2 1 Тип (номер) запроса
3 1 Номер байта после которого идет дополнительная информация - k
Основная информация
4,5 2 Статус — текущее состояние измерителя
5,6 2 Индекс последнего измеренного бревна в буфере бревен
7..10 4 Дата/время измерения бревна (количество секунд с 1980-01-01 00:00:00)
11,12 2 Диаметр переднего торца бревна [мм]
13,14 2 Диаметр в срединной части [мм]
15,16 2 Диаметр заднего торца бревна [мм]
17,18 2 Длина [см]
19,20 2 Сбег [мм/м]
21,22 2 Сбег в комлевой части [мм/м]
23,24 2 Объем физический [м3 * 1000]
25,26 2 Количество замеров по бревну
27,28 2 Флаги
29 1 Кривизна [% * 10]
30 1 Овальность [% * 10]
31 1 Не используется
32 1 Не используется
33 1 Не используется
34 1 Не используется
35,36 2 Текущий нижний луч в плоскости А
37,38 2 Текущий верхний луч в плоскости А
39,40 2 Текущий нижний луч в плоскости B
41,42 2 Текущий верхний луч в плоскости B
43,44 2 Текущая длина бревна [см]
45,46 2 Счетчик перемещения транспортера [dmts]
47,48 2 Скорость транспортера [м/сек * 100]
...
Дополнительная информация
k+1..n Байты дополнительной информации в зависимости от типа запроса
Контрольная сумма пакета
n+1 1 Контрольная сумма (старший байт)
n+2 1 Контрольная сумма (младший байт)

ООО «АВТОМАТИКА-ВЕКТОР» ▪ www.a-vektor.ru ▪ тел. +7 (8182) 68-18-18


4
Протокол передачи данных измерителя бревен «Вектор»

Типы запросов
Далее расписаны типы запросов, необходимые для получения информации из буфера бревен измерителя.
В ответах указана только дополнительная информация, так как основная информация одинакова для всех
типов запросов (см. выше).

Запрос 110. Информация об измерителе.

Запрос:
№ байта Кол-во байт Значение Описание
0 1 1 Адрес измерителя
1 1 4 Размер пакета
2 1 110 Тип запроса
3 1 4 Всегда равен четырем
4 1 194 Контрольная сумма (старший байт)
5 1 213 Контрольная сумма (младший байт)

Ответ (дополнительная информация):


Кол-во байт Описание
4 Текущая дата/время в измерителе (количество секунд с 1980-01-01 00:00:00)
1 Длина строки «версия» = n
n Строка «версия»
1 Количество системных параметров
2 Размер буфера бревен (максимальное количество бревен в буфере)
2 Размер буфера ошибок (максимальное количество ошибок в буфере)
1 Количество типов ошибок

Запрос 111. Установка даты/времени в измерителе.

Запрос:
№ байта Кол-во байт Значение Описание
0 1 1 Адрес измерителя
1 1 8 Размер пакета
2 1 111 Тип запроса
3 1 4 Всегда равен четырем
4 1 64 Новая дата/время для установки в измеритель (количество
секунд с 1980-01-01 00:00:00). Допустим нужно установить
5 1 204
2010-11-16 12:00:00, что составляет 974376000 секунд.
6 1 19
7 1 58
8 1 59 Контрольная сумма (старший байт)
9 1 80 Контрольная сумма (младший байт)

Ответ (дополнительная информация):


Кол-во байт Описание
4 Текущая дата/время в измерителе (количество секунд с 1980-01-01 00:00:00)

ООО «АВТОМАТИКА-ВЕКТОР» ▪ www.a-vektor.ru ▪ тел. +7 (8182) 68-18-18


5
Протокол передачи данных измерителя бревен «Вектор»

Запрос 0. Запрос только основной информации.

Запрос:
№ байта Кол-во байт Значение Описание
0 1 1 Адрес измерителя
1 1 4 Размер пакета
2 1 0 Тип запроса
3 1 4 Всегда равен четырем
4 1 234 Контрольная сумма (старший байт)
5 1 240 Контрольная сумма (младший байт)

В ответ на запрос #0, измеритель выдает только основную информацию, без дополнительной.

Запрос 103. Информация по бревну.

Запрос:
№ байта Кол-во байт Значение Описание
0 1 1 Адрес измерителя
1 1 6 Размер пакета
2 1 103 Тип запроса
3 1 4 Всегда равен четырем
4 2 514 Номер бревна в буфере бревен
5 1 26 Контрольная сумма (старший байт)
6 1 58 Контрольная сумма (младший байт)

Ответ (дополнительная информация):


Кол-во байт Описание
2 Номер бревна в буфере бревен
2 Дата/время измерения бревна
2 Диаметр переднего торца бревна [мм]
2 Диаметр в срединной части [мм]
2 Диаметр заднего торца бревна [мм]
2 Длина [см]
2 Сбег [мм/м]
2 Сбег в комлевой части [мм/м]
2 Объем физический [м3 * 1000]
2 Количество замеров по бревну
2 Флаги
1 Кривизна [% * 10]
1 Овальность [% * 10]

Информация об измеренных бревнах находится в памяти измерителя – буфере бревен. Буфер бревен
имеет определенный размер – максимальное количество бревен, которое можно в него записать. Размер
буфера зависит от версии прошивки и аппаратной реализации измерителя. Буфер циклический. Это значит,
что после записи бревна в последнюю ячейку памяти, следующее бревно будет записано в нулевую ячейку,
затирая при этом хранящуюся в ней информацию.

ООО «АВТОМАТИКА-ВЕКТОР» ▪ www.a-vektor.ru ▪ тел. +7 (8182) 68-18-18


6
Протокол передачи данных измерителя бревен «Вектор»

Для работы с буфером бревен измеритель предоставляет два параметра:


− размер буфера бревен — максимальное количество бревен в буфере (содержится в ответе на
запрос 110).
− индекс последнего измеренного бревна в буфере бревен (содержится в основной информации
ответа на любой запрос).

Алгоритм опроса измерителей

Алгоритм опроса измерителей для сбора информации по измеренным бревнам:

1. Узнать параметры измерителя (текущую дату/время, размер буфера бревен и т.д.) — запрос №110.
2. Если дата/время измерителя отличается от даты времени ПК, установить дату/время — запрос
№111.
3. Узнать индекс последнего измеренного бревна в буфере бревен — запрос №0.
4. Если индекс последнего измеренного бревна не совпадает с индексом последнего считанного с
измерителя бревна, значит в буфере записано новое бревно (или несколько бревен). Необходимо
получить информацию по новым бревнам, отсылая измерителю запрос №103 с требуемым
индексом.
5. Через определенный промежуток времени повторить алгоритм, начиная с пункта №3.

Вычисление контрольной суммы

Ниже приведен пример вычисления контрольной суммы на языке Pascal.

function GetCRC(Buffer: Pointer; BufferLen: integer): word;


var
i,j: integer;
a,d: word;
pb: pbyte;
begin
Result:=0;
pb:=Buffer;
for i:=0 to BufferLen-1 do
begin
d:=pb^;
for j:=1 to 8 do
begin
a:=Lo(Hi(Result) xor d);
Result:=(Result shl 1) and $FFFF;
if (a shr 7)>0 then Result:=Result xor $1021;
d:=d shl 1;
end;
inc(pb);
end;
end;

ООО «АВТОМАТИКА-ВЕКТОР» ▪ www.a-vektor.ru ▪ тел. +7 (8182) 68-18-18


7
Протокол передачи данных измерителя бревен «Вектор»

Opto22Debugger
Для отладки можно использовать программу Opto22Debugger. С ее помощью можно сформировать любой
запрос измерителю и проанализировать ответ.

На рисунке показан ответ на запрос #110. Красным цветом подчеркнута основная информация,
зеленым – дополнительная, синим – контрольная сумма.

ООО «АВТОМАТИКА-ВЕКТОР» ▪ www.a-vektor.ru ▪ тел. +7 (8182) 68-18-18