2. Agro-Soft integrated systems [Электронныйресурс]. - Режим доступа: http://agro-
soft.ru/
3. Система мониторинга и контроля транспорта «AUTOTRACKER» [Электронный ресурс]. - Режим доступа: http://www.autotracker.ru/ solutions/146/
4. Серзин И.Ф., Арсеньев Г.М. Способ определения предельной пропускной способности кормоуборочного агрегата. // Патент РФ № 2467551, 27.11.2012
5. ГОСТ Р 52778-2007 Испытания сельскохозяйственной техники. Методы эксплуатационно-технологической оценки.-М.: Стандартинформ, 2008 - 24с.
6. Валге А.М., Тимофеев Е.В., Папушин Э.А. Использование глобальной системы позиционирования GPS для хронометража работы технических средств при заготовке кормов из трав / А.М. Валге, Е.В. Тимофеев, Э.А. Папушин // Сборник научных докладов ВИМ. 2010. Т. 2. С. 213-217.
7. Валге А.М., Папушин Э.А., Серзин И.Ф. Мониторинг машинно-тракторных агрегатов с использованием спутниковых навигационных систем/ А.М.Валге, Э.А.Папушин, И.Ф. Серзин// Технологии и технические средства механизированного производства продукции растениеводства и животноводства: Сб.науч. тр. -СПб.: ГНУ СЗНИИМЭСХ Россельхозакадемии, 2013. № 84. С. 28-36.
8. Папушин Э.А. Экспериментальная проверка системы мониторинга машинно-тракторных агрегатов / Э.А. Папушин // Вестник ВИЭСХ. 2013. № 4 (13). С. 20-23.
9. Валге А.М., Папушин Э.А., Пакскина Е.Г. Использование информационных технологий при проектировании процессов производства продукции растениеводства / А.М. Валге, Э.А .Папушин, Е.Г. Пакскина // Механизация и электрификация сельского хозяйства. 2012. № 3. С. 17-18.
УДК 631.3
АЛГОРИТМ ПРЕОБРАЗОВАНИЯ ИНФОРМАЦИИ О РАБОТЕ МАШИННО-ТРАКТОРНЫХ АГРЕГАТОВ С ТЕРМИНАЛА «TELTONIKA»
С.Н. МАТЕЙЧИК; Э.А. ПАПУШИН, канд. техн. наук
В статье приведена блок-схема и описание алгоритма преобразования пакета данных AVL (AutomaticVehicleLocation - мониторинг подвижных объектов), предназначенного для передачи информации по протоколу данных TCP/IP с терминалов «TELTONIKA».
Данные поступают на сервер в виде потока битов в коде UTF-8 в шестнадцатеричной системе счисления, поэтому возникла необходимость разработки алгоритма и программы их преобразования для представления в десятеричной системе счисления. Такое преобразование позволит в дальнейшем выделить из массива данных необходимую информацию о передвижении машинно-тракторных агрегатов (МТА) и о работе установленных датчиков и сохранить ее в базе данных для дальнейшего анализа.
Разработанные алгоритм и программа позволяют разделить массив данных AVL на составляющие с преобразованием в формат, удобный для хранения данных и их дальнейшего анализа для получения показателей работы МТА и протекания технологических операций и процессов.
51
Ключевые слова: машинно-тракторные агрегаты, алгоритм, пакет данных AVL, массив данных AVL, мониторинг.
TRANSFORMATION ALGORITHM OF INFORMATION FROM «TELTONIKA» TERMINAL RELATED TO OPERATION OF TRACTOR/IMPLEMENT UNITS
C.N. MATEJCHIK; E.A. PAPUSHIN, Cand.Sc. (Eng)
The article presents the block diagram and description of the algorithm for the conversion of AVL (Automatic Vehicle Location - monitoring of mobile objects) data package, which are designed to transfer the information via TCP/IP data protocol from TELTONIKA terminals.
The data is supplied to the server in the form of a bit stream in UTF-8 code in sexadecimal number system. So a demand arose to develop an algorithm and conversion program to present the data in decimal notation. Such transformation allows to extract from the data array the required information related to the movement of tractor/implement units and the operation of installed sensors and to store it in the database for further analysis.
The developed algorithm and program split the AVL data array into components with their conversion to a format convenient for data storage and further analysis aimed to obtain the indices of tractor/implement unit performance and the flow of technological operations and processes.
Key words: tractor/implement unit, algorithm, AVL data package, data array, monitoring.
ВВЕДЕНИЕ
На основании проведенных ранее экспериментальных исследований по апробации системы мониторинга с использованием спутниковых навигационных систем для автоматизированного сбора и накопления информации о первичных показателях работы МТА, выполняющих операции технологического процесса заготовки силоса из провяленных трав [1-7], был сделан вывод, что существующие системы приема, передачи и представления информации не обладают возможностями интегрированного представления информации и принятия на ее основе оперативных управляющих решений. Выполненные подобные разработки в других организациях не адаптированы к условиям сельскохозяйственного производства. Их адаптация достаточно дорога, а исходные программные модули разработчик, как правило, не отдает заказчику по коммерческим соображениям с целью возможности последующего извлечения доходов за счет доработки, модернизации и других изменений в программном продукте. Поэтому возникла необходимость разработки программного комплекса, который предоставлял бы не только возможность мониторинга МТА, но и доступ к полученной информации с целью анализа полученных данных и оперативного принятия решений в различных ситуациях, а также прогнозирования дальнейшей работы МТА. Алгоритм преобразования пакета данных AVL является составной частью разрабатываемого программного комплекса. Разработка проводилась на примере эксплуатации терминала производства «TELTONIKA».
МАТЕРИАЛЫ И МЕТОДЫ
Терминалы производства «TELTONIKA» предназначены для осуществления мониторинга подвижных объектов с возможностью слежения за внешними датчиками.
Протокол передачи данных построен по принципу передачи данных и получения подтверждения приема. Этот протокол ориентирован на постоянное подключение к серверу через GPRS (технология пакетной передачи данных, которая позволяет получать и передавать информацию).
В ходе сессии устройство осуществляет соединение и передает данные на сервер. Сообщения с терминалов поступают в кодированном виде в виде пакета данных AVL. Если никакие элементы входа/выхода (ИЮэлементы) не активированы, AVL-пакеты содержат только навигационную информацию. Если какие-то I/O элементы активированы, то AVL -пакеты кроме навигационной информации содержат текущие данные активных элементов входа/выхода. Пакет данных AVL используется для инкапсуляции данных AVL и последующей отправки их на сервер (табл. 1).
Таблица 1
Структура пакета данных AVL
Четыре нуля Длина данных Данные CRC
Четыре нуля - четыре байта со значением 0x00.
Длина данных - количество байт в поле данных (целое).
Данные - любой массив данных AVL.
CRC (Cyclic redundancy check — алгоритм нахождения контрольной суммы) 16-битное значение кода CRC (целое).
Данные поступают на сервер в виде потока битов в коде UTF-8 в шестнадцатеричной системе счисления, поэтому возникла необходимость разработки алгоритма и программы преобразования для представления данных в десятеричной системе счисления. Такое преобразование позволит в дальнейшем выделить из массива данных необходимую информацию о передвижении МТА, о работе установленных датчиков и сохранить ее в базе данных для дальнейшего анализа.
Структура массива данных AVL, предназначенного для передачи данных по протоколу TCP/IP (Transmission Control Protocol - набор сетевых протоколов передачи данных, используемых в сетях, включая сеть Интернет) с терминалов «TELTONIKA» (FM4XXX и других) на сервер представлена в табл. 2.
Таблица 2
Структура массива данных AVL.
Идентификатор кодека Объем данных Данные Объем данных
1 байт 1 байт 1 байт
В рассматриваемом протоколе используется кодек с идентификатором 08. Объем данных - это объем кодированных данных (количество записей) в передаваемом AVL- пакете. Максимально возможное количество записей - 255.
Данные AVL - это непосредственно кодированный блок данных, требующий преобразования в удобный для дальнейшей работы формат. Фрагмент листинга массива данных AVL приведен на рис.1.
а) Фрагмент кодированных цифровых данных о работе машино - тракторного агрегата (дата, время, координаты нахождения агрегата, скорость перемещения, расход топлива). 0000 0000 0000 03df 080d 0000 0146 5951 3Ь61 0012 24cd с023 96е6 0000 2400 3805 0000 000d 0501 0002 0015 0416 02Ш 0104 0900 0Ь0а 000Ь 4250 8445 0001 0317 0000 004d 4с00 0000 00П 0000 61а9
53
014e 0000 0000 0000 0000 0000 0146 5951 0d70 0012 24cd c023 96e6 0000 2400 3805 0000 150d 0501
0002 0015 0416 02f0 0104 0900 0d0a 0005 4251 2845 0001 0317 0000 004b 4c00 0000 00f1 0000 61a9
014e 0000 0000 0000 0000 0000 0146 5951 09ec 0012 24cd c023 96e6 0000 2400 3805 0000 f10d 0501
0002 0015 0016 02f0 0104 0900 0e0a 0004 4251 3245 0001 0317 0000 004b 4c00 0000 00f1 0000 61a9
014e 0000 0000 0000 0000 0000 0146 5950 fe7a 0012 24cd c023 96e6 0000 2400 3805 0000 000d 0501
0002 0015 0016 02f0 0104 0900 0f0a 0006 4251 2a45 0001 0317 0000 004b 4c00 0000 00f1 0000 0000
014e 0000 0000 0000 0000 0000 0146 5950 d3ca 0012 24cd e023 96e6 0000 2400 3805 0000 000d 0501
0002 0015 0016 02f0 0104 0900 0e0a 0006 4251 8045 0001 0317 0000 004d 4c00 0000 00f1 0000 0000
014e 0000 0000 0000 0000 0000 0146 5950 a920 0012 24cd e023 96e6 4000 2400 3805 0000 000d 0501
0002 0015 0016 02f0 0104 0900 100a 0005 4251 4e45 0001 0317 0000 004b 4c00 0000 00f1 0000 0000
014e 0000 0000 0000 0000 0000 0146 5950 7e78 0012 24cd e023 96e6 4000 2400 3805 0000 000d 0501
0002 0015 0016 02f0 0104 0900 0e0a 0005 4252 1445 0001 0317 0000 004d 4c00 0000 00f1 0000 0000
014e 0000 0000 0000 0000 0000 0146 5950 53e4 0012 24ce 0023 96e6 0000 2400 3805 0000 000d 0501
0002 0015 0416 02f0 0104 0900 0e0a 0006 4250 8245 0001 0317 0000 004b 4c00 0000 00f1 0000 61a9
014e 0000 0000 0000 0000 0000 0146 5950 293c 0012 24ce 0023 96e6 0000 2400 3805 0000 000d 0501
0002 0015 0416 02f0 0104 0900 0d0a 0004 4251 8145 0001 0317 0000 004b 4c00 0000 00f1 0000 61a9
014e 0000 0000 0000 0000 0000 0146 594f ffa2 0012 24ce 0023 96e6 4000 2400 3805 0000 000d 0501
0002 0015 0416 02f0 0104 0900 0e0a 000a 4251 eb45 0001 0317 0000 004d 4c00 0000 00f1 0000 61a9
014e 0000 0000 0000 0000 0000 0146 594f d4f0 0012 24cd e023 96e6 4000 2400 3805 0000 000d 0501
0002 0015 0416 02f0 0104 0900 0b0a 0007 4251 0845 0001 0317 0000 004c 4c00 0000 00f1 0000 61a9
014e 0000 0000 0000 0000 0000 0146 594f aa47 0012 24cd e023 96e6 0000 2400 3805 0000 000d 0501
0002 0015 0416 02f0 0104 0900 0d0a 0005 4251 f645 0001 0317 0000 004c 4c00 0000 00f1 0000 61a9
014e 0000 0000 0000 0000 0000 0146 594f 7f9f 0012 24cd e023 96e6 0000 2400 3805 0000 000d 0501
0002 0015 0416 02f0 0104 0900 0c0a 0003 4251 e645 0001 0317 0000 004c 4c00 0000 00f1 0000 61a9
014e 0000 0000 0000 00000d 00 006c
б) Фрагмент программы для считывания данных из первичной папки для последующего преобразования. ***считывание пакета FOR TREKI=1 TO 4 papka="trek"+ALLT(STR(TREKI))
f_main.edit1.value = f_main.edit1.value + chr(13) +chr(13) + 'Трекер- '+ papka + chr(13) gnFileHandle = FOPEN("c:\&PAPKA\pars.txt") nSize = FSEEK(gnFileHandle, 0, 2) IF nSize<= 0
f_main.edit1.value = f_main.edit1.value + chr(13) + 'Файлотсутствует' + chr(13) LOOP ELSE
= F SEEK(gnFileHandle, 0, 0)
cString = FREAD(gnFileHandle, nSize)
ENDIF
= FCLOSE(gnFileHandle)
DO PREOBRAZ WITH CsTRING
ENDF
Рис. 1. Пример представления исходных данных о работе МТА (пакет данных AVL) и фрагмент программы, реализующей считывание данных.
В передаваемом на сервер пакете данных AVL часть информации является служебной. Необходимо правильно выделить эти данные и представить их в десятичной системе счисления для того, чтобы определить длину непосредственно массива данных AVL. В рассматриваемом примере эта информация размещена с 5 по 8 байты. После перекодировки в десятеричную систему счисления получаем:
0000 03df16 = 99110 (байт) Данные о количестве записей в массиве данных AVLсодержатся 10 байте пакета данных AVL:
0d16 = 1310
Таким образом, массив данных AVLсодержит 13 записей. Учитывая, что в самом массиве данных AVLвторой и последний байт содержат информацию о количестве записей в нем (0d16), а первый байт содержит информацию об идентификаторе кодека (0816), и, исходя из приведенных выше преобразований, длина записи в массиве данных AVL составляет:
(99110 - 3ю) : 1310* 2Ш= 152 (символа) Путем несложных преобразований была определена значность поля таблицы, в котором будут размещаться данные записей из массива данных AVL в шестнадцатеричной системе счисления.
Следующий шаг - разделение каждой записи таблицы на элементы времени, элементы GPS и элементы IO c записью в соответствующие поля таблицы и последующим преобразованием в десятеричную систему счисления.
Элемент времени - время в миллисекундах (универсальный формат UTC, 8 байт). Показывает количество миллисекунд с 1 января 1970 года до момента формирования записи: 0000 0146 5951 3b6116 - 140165783433710 (мс), что соответствует 01 июня 2014 года 21:23:54 Ниже представлен фрагмент программного кода, реализующего это преобразование. ***преобразование даты и времени
rz=val(pol1)/(1000*60*60*24) rz1=rz-int(rz)
rz2= {01.01.1970}+(rz-rz1)
rztmp=rz1*24
rztmp1=rztmp-int(rztmp)
rz3=rztmp-rztmp1
rztmpm=rztmp1*60
rztmpm1=rztmpm-int(rztmpm)
rz4=rztmpm-rztmpm1
rztmps=rztmpm1*60
rztmps1=rztmps-int(rztmps)
rz5=rztmps-rztmps1
repl data with rz2
novper=len(allt(str(int(rz5))))
ifnovper<2
novper='0'+str(rz5,1)
repl time with str(rz3,2)+'.'+str(rz4,2)+'.'+novper
else
repl time with str(rz3,2)+'.'+str(rz4,2)+'.'+str(rz5,2)
endi
Элементы GPS - это долгота (4 байта), широта (4 байта), высота (2 байта), курс (2 байта), спутники (1 байт) и скорость (2 байта).
В представленном примере:
1.Долгота. 1224cdc016 = 30440185610
2.Широта. 2396e60016 =597091840ш
3.Высота. 002416 = 36ю
4.Курс. 003816 = 5610
5.Спутники. 0516 = 510
6. Скорость. 000016 = 010
Исходя из полученных преобразований, в результирующую таблицу для последующего анализа были внесены такие данные: 30,4401856° восточной долготы, 59,7091840° северной широты, высота - 36метров над уровнем моря, курс - 56°, в зоне видимости - 5 спутников, скорость движения 0 км/ч.
Так как тракторный агрегат в данный момент времени не перемещался, обработка данных элементов входа/выхода (Юэлементов) не представляет интереса.
Соответствующим образом преобразуются все записи массива данных AVL и происходит переход к следующему пакету данных AVL.
РЕЗУЛЬТАТЫ И ОБСУЖДЕНИЕ
Разработанный алгоритм в общем виде представлен в виде блок-схемы на рис. 2.
Начало работы
Определение длины массива данных АУЬ р. байтах
I
Определение количества записей в массиве данных АУЦко!)
I
Определение длины записи в символах
1 г
Разделение массива данных АУЬ на отдельные записи, внесение каждой записи в таблицу
1 г
Первая запись 1=1
Разделение строки на элементы времени, элементы GPSn элементы Юс записью в поля таблицы
да kol »
__±__
Пре о бр аз ов а ние полученных разделенных данных в десятеричный формат
Окончание работы \_>
Рис. 2. Блок-схема алгоритма преобразования пакета данных ЛУЬ
ВЫВОДЫ
Разработанный алгоритм и программа преобразования пакета данных AVL, предназначенного для передачи данных по протоколу данных TCP/IP с терминалов «TELTONIKA» на сервер, позволяют разделить массив данных AVL на составляющие с преобразованием в формат, удобный для хранения данных и их дальнейшего анализа для получения показателей о работе МТА и протекании технологических операций и процессов.
В сравнение с существующими программами для преобразования данных AVL, данная программа может настраиваться под большинство имеющихся на рынке терминалов.
ЛИТЕРАТУРА
1. Попов В.Д., Валге А.М., Папушин Э.А.Информационные технологии как средство повышения эффективности производства продукции растениеводства В.Д.Попов,
A.М.Валге, Э.А.Папушин В сборнике: Информационные технологии, системы и приборы в АПК материалы 4-ой Международной научно-практической конференции"Информационные технологии, системы и приборы в АПК", Ч. 1.- Новосибирск: ГНУ СиБФТИ. -, 2009., С. 8488.
2. Попов В.Д., Валге А.М., Папушин Э.А.Повышение эффективности производства продукции растениеводства с использованием информационных технологий
B.Д.Попов, А.М.Валге, Э.А.Папушин//Технологии и технические средства механизированного производства продукции растениеводства и животноводства: Сб.науч. тр. -СПб.: ГНУ СЗНИИМЭСХ Россельхозакадемии, 2009. № 81. С. 32-39.
3. Валге А.М., Тимофеев Е.В., Папушин Э.А. Использование глобальной системы позиционирования GPS для хронометража работы технических средств при заготовке кормов из трав / А.М. Валге, Е.В.Тимофеев, Э.А. Папушин // Сборник научных докладов ВИМ. 2010. Т. 2. С. 213-217.
4. Валге А.М., Папушин Э.А., Пакскина Е.Г. Использование информационных технологий при проектировании процессов производства продукции растениеводства / А.М.Валге, Э.А.Папушин, Е.Г. Пакскина // Механизация и электрификация сельского хозяйства. 2012. № 3. С. 17-18.
5. Папушин Э.А. Экспериментальная проверка системы мониторинга машинно-тракторных агрегатов / Э.А. Папушин // Вестник ВИЭСХ. 2013. № 4 (13). С. 20-23.
6. Валге А.М., Папушин Э.А., Серзин И.Ф. Мониторинг машинно-тракторных агрегатов с использованием спутниковых навигационных систем./А.М. Валге, Э.А. Папушин, И.Ф. Серзин// Технологии и технические средства механизированного производства продукции растениеводства и животноводства: Сб. науч. тр. - СПб.: ГНУ СЗНИИМЭСХ Россельхозакадемии, 2013. - Вып. 84. - С. 28-36. - ISSN 0131-5226
7. Валге А.М., Папушин Э.А., Баскаков Ю.Н. Исходные требования к информационной системе мониторинга мобильных технических средств с GPS системой А.М.Валге, Э.А.Папушин, Ю.Н. Баскаков // Технологии и технические средства механизированного производства продукции растениеводства и животноводства. Сб. науч. тр. - СПб.: ГНУ СЗНИИМЭСХ Россельхозакадемии,2012. № 83. С. 69-76.