Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
1)Как распознать алгоритм определения контрольной суммы на основе примеров пакетов?
2)Прошу взглянуть, может из косвенной информации- структура пакета, годы заголовков-это какой-то стандартный протокол.
Ниже информация о неизвестном протоколе:
Протокол типа Запрос-ответ, команда-подтверждение.
Пакет начинается заголовком 0x30, далее код операции, адреса источника и приемника, затем тело пакета, заканчивается контрольной суммой, предположительно CRC-16.
Есть еще маленькие 3х байтовые пакеты-?подтверждения?, заканчиваются контрольной суммой из 1байт.
Запросы параметров
30 41 01 01 F1 03 37 D9
30 41 02 01 F1 03 E9 AB
1 байт - заголовок
2 байт – код операции
3 байт - адрес источника
4 байт – адрес приемника
5,6 - тип параметра?
Последние 2 байта- CRC-16???
Ответ с параметрами (примеры вариантов)
30 03 01 02 1F 03 80 80 2C 62
30 03 01 01 1F 03 81 80 2E 84
30 03 01 01 1F 03 80 80 20 AE
30 03 01 02 1F 03 80 80 2C 62
30 03 01 01 1F 03 80 83 23 AD
30 03 01 02 1F 03 80 80 2C 62
7,8 байт – значение параметра (7-дискр. входы, 8-дискр. выходы; 1 цифра всегда 8, 2я цифра- код состояния входов/выходов)
Команда изменения параметров
30 63 02 01 F1 0E 83 FF 1F 29 – включить дискретный выход №3
7й байт: первая цифра всегда 8, вторая-номер дискр. выхода
8й байт FF- включение выхода, 80 – выключение дискр. выхода
Подтверждение команды изменения
30 С4 BB
3й байт- CRC-8?
Какая-то команда
30 С1 BE
Ответ на нее
30 C3 BC