LINUX.ORG.RU

История изменений

Исправление Zubok, (текущая версия) :

что в посылке 3 закодирован заводской номер прибора, который в АРМЕ отображается как «00016502»,

Вам не говорят последовательности эти байтов ни о чем?

Я прикинул и кое-что понял. Эти записи в протоколе - это числа в шестнадцатиричном коде, но записанные ASCII символами.

Вот смотри. Смотрим твою третью посылку:

03: FF 21 32 34 31 3B 37 36 34 30 30 30 30 30 3B 35 34 35 30 31 0D
03: FF 21  2  4  1  ;  7  6  4  0  0  0  0  0  ;  5  4  5  0  1 0D

Сразу видно, что 3B везде - это разделитель полей. То есть в этой посылке два поля.

А теперь фокус-покус. Заводской номер 00016502. то есть число 16502 в шестнадцатиричиной записи - это 00004076h, если ее записать в машинном виде как little-endian, то получаем строчку «76 40 00 00». А теперь финт - записываем эту строчку ascii, «37 36 34 30 30 30 30 30». То есть заводской номер - это 32-битное число в little-endian формате, четыре байта, восемь символов, записанных через ascii. Скорее всего и все числа так записаны.

И есть слабое предположение, что последнее поле - это контрольная сумма, но только надо выяснить алгоритм ее подсчета.

Исправление Zubok, :

что в посылке 3 закодирован заводской номер прибора, который в АРМЕ отображается как «00016502»,

Вам не говорят последовательности эти байтов ни о чем?

Я прикинул и кое-что понял. Эти записи в протоколе - это числа в шестнадцатиричном коде, но записанные ASCII символами.

Вот смотри. Смотрим твою третью посылку:

03: FF 21 32 34 31 3B 37 36 34 30 30 30 30 30 3B 35 34 35 30 31 0D
03: FF 21  2  4  1  ;  7  6  4  0  0  0  0  0  ;  5  4  5  0  1 0D

Сразу видно, что 3B везде - это разделитель полей. То есть в этой посылке два поля.

А теперь фокус-покус. Заводской номер 00016502. то есть число 16502 в шестнадцатиричиной записи - это 00004076h, если ее записать в машинном виде как little-endian, то получаем строчку «76 40 00 00». А теперь финт - записываем эту строчку ascii, «37 36 34 30 30 30 30 30» и дальше нули. То есть заводской номер - это 32-битное число в little-endian формате, четыре байта, восемь символов, записанных через ascii. Скорее всего и все числа так записаны.

И есть слабое предположение, что последнее поле - это контрольная сумма, но только надо выяснить алгоритм ее подсчета.

Исправление Zubok, :

что в посылке 3 закодирован заводской номер прибора, который в АРМЕ отображается как «00016502»,

Вам не говорят последовательности эти байтов ни о чем?

Ну я прикинул и уже кое что понял. Эти записи в протоколе - это числа в шестнадцатиричном коде, но записанные ASCII символами.

Вот смотри. Смотрим твою третью посылку:

03: FF 21 32 34 31 3B 37 36 34 30 30 30 30 30 3B 35 34 35 30 31 0D
03: FF 21  2  4  1  ;  7  6  4  0  0  0  0  0  ;  5  4  5  0  1 0D

Сразу видно, что 3B везде - это разделитель полей. То есть в этой посылке два поля.

А теперь фокус-покус. Заводской номер 00016502. то есть число 16502 в шестнадцатиричиной записи - это 00004076h, если ее записать в машинном виде как little-endian, то получаем строчку «76 40 00 00». А теперь финт - записываем эту строчку ascii, «37 36 34 30 30 30 30 30» и дальше нули. То есть заводской номер - это 32-битное число в little-endian формате, четыре байта, восемь символов, записанных через ascii. Скорее всего и все числа так записаны.

И есть слабое предположение, что последнее поле - это контрольная сумма, но только надо выяснить алгоритм ее подсчета.

Исправление Zubok, :

что в посылке 3 закодирован заводской номер прибора, который в АРМЕ отображается как «00016502»,

Вам не говорят последовательности эти байтов ни о чем?

Ну я прикинул и уже кое что понял. Эти записи в протоколе - это числа в шестнадцатиричном коде, но записанные ASCII символами.

Вот смотри. Смотрим твою третью посылку:

03: FF 21 32 34 31 3B 37 36 34 30 30 30 30 30 3B 35 34 35 30 31 0D
03: FF 21  2  4  1  ;  7  6  4  0  0  0  0  0  ;  5  4  5  0  1 0D

Сразу видно, что 3B везде - это разделитель полей. То есть в этой посылке два поля.

А теперь фокус-покус. Заводской номер 00016502. то есть число 16502 в шестнадцатиричиной записи - это 00004076h, если ее записать в машинном виде как little-endian, то получаем строчку «76 40 00 00». А теперь финт - записываем эту строчку ascii, «37 36 34 30 30 30 30 30» и дальше нули. То есть заводской номер - это 32-битное число в little-endian формате, четыре байта, восемь символов, записанных через ascii. Скорее всего и все числа так записаны.

Исправление Zubok, :

что в посылке 3 закодирован заводской номер прибора, который в АРМЕ отображается как «00016502»,

Вам не говорят последовательности эти байтов ни о чем?

Ну я прикинул и уже кое что понял. Эти записи в протоколе - это числа в шестнадцатиричном коде, но записанные ASCII символами.

Вот смотри. Смотрим твою третью посылку:

03: FF 21 32 34 31 3B 37 36 34 30 30 30 30 30 3B 35 34 35 30 31 0D
03: FF 21  2  4  1  ;  7  6  4  0  0  0  0  0  ;  5  4  5  0  1 0D

Сразу видно, что 3B везде - это разделитель полей. То есть в послыке два поля.

А теперь фокус-покус. Заводской номер 00016502. то есть число 16502 в шестнадцатиричиной записи - это 00004076h, если ее записать в машинном виде как little-endian, то получаем строчку «76 40 00 00». А теперь финт - записываем эту строчку ascii, «37 36 34 30 30 30 30 30» и дальше нули. То есть заводской номер - это 32-битное число в little-endian формате, четыре байта, восемь символов, записанных через ascii. Скорее всего и все числа так записаны.

Исправление Zubok, :

что в посылке 3 закодирован заводской номер прибора, который в АРМЕ отображается как «00016502»,

Вам не говорят последовательности эти байтов ни о чем?

Ну я прикинул и уже кое что понял. Эти записи в протоколе - это числа в шестнадцатиричном коде, но записанные ASCII символами.

Вот смотри. Смотрим твою третью посылку:

03: FF 21 32 34 31 3B 37 36 34 30 30 30 30 30 3B 35 34 35 30 31 0D
03: FF 21  2  4  1  ;  7  6  4  0  0  0  0  0  ;  5  4  5  0  1 0D

Сразу видно, что 3B везде - это разделитель полей. То есть в послыке два поля.

А теперь фокус-покус. Заводской номер 00016502. то есть число 16502 в шестнадцатиричиной записи - это 4076h, если ее записать в машинном виде как little-endian, то получаем строчку «76 40 00 00». А теперь финт - записываем эту строчку ascii, «37 36 34 30 30 30 30 30» и дальше нули. То есть заводской номер - это 32-битное число в little-endian формате, четыре байта, восемь символов, записанных через ascii. Скорее всего и все числа так записаны.

Исходная версия Zubok, :

что в посылке 3 закодирован заводской номер прибора, который в АРМЕ отображается как «00016502»,

Вам не говорят последовательности эти байтов ни о чем?

Ну я прикинул и уже кое что понял. Эти записи в протоколе - это числа в шестнадцатиричном коде, но записанные ASCII символами.

Вот смотри. Смотрим твою третью посылку:

03: FF 21 32 34 31 3B 37 36 34 30 30 30 30 30 3B 35 34 35 30 31 0D
03: FF 21  2  4  1  ;  7  6  4  0  0  0  0  0  ;  5  4  5  0  1 0D

Сразу видно, что 3B везде - это разделитель полей. То есть в послыке два поля.

А теперь фокус-покус. Заводской номер 00016502. то есть число 16502 в шестнадтаричиной записи - это 4076h, если ее записать в машинном виде как little-endian, то получаем строчку «76 40 00 00». А теперь финт - записываем эту строчку ascii, «37 36 34 30 30 30 30 30» и дальше нули. То есть заводской номер - это 32-битное число в little-endian формате, четыре байта, восемь символов, записанных через ascii. Скорее всего и все числа так записаны.