История изменений
Исправление 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. Скорее всего и все числа так записаны.