Delta Electronics DTC2000C [23/28] Температурный контроллер dtc

Содержание

Температурный контроллер DTC RTU режим Ответное сообщение Команда чтения Ответное сообщение Команда записи ADR 01Н 01Н ADR 01Н 01Н ADR 01Н 01Н ADR 01H 01Н CMD ОЗН 02Н CMD ОЗН ОЗН CMD 06Н 05Н CMD 06H 05Н Стартовый адрес данных ЮН 08Н Число данных в байтах ЮН 08Н ЮН 08Н Число данных слов бит ООН ЮН ООН ООН 02Н 09Н CRC СНК Low СОН ввн CRC СНК High евн А9Н Содержание данных 1 Содержание данных 2 04Н 02Н 01Н 17Н F4H 01Н Адрес данных Содержание данных 01Н ЮН ОЗН FFH 20Н ООН ОЗН CRC СНК Low DDH 20Н CRC СНК High Е2Н CRCCHK Low ВВН 77Н CRCCHK High 15Н 88Н Адрес данных Содержание данных 01H ЮН ОЗН FFH 20Н ООН 8FH CRCCHK Low DDH 8FH 9FH CRCCHK High Е2Н 9FH CRC циклическая проверка избыточности рассчитывается следующим образом Шаг 1 Загрузка 1 б bit регистра называемого CRC регистром с FFFFH Шаг 2 Исключающее ИЛИ первому 8 bit байту из командного сообщения с байтом младшего порядка из 16 bit регистра CRC помещение результата в CRC регистр Шаг 3 Сдвиг одного бита регистра CRC вправо с MSB нулевым заполнением Извлечение и проверка LSB Шаг 4 Если LSB CRC регистра равно 0 повторите шаг 3 в противном случае исключающее ИЛИ CRC регистра с полиномиальным значением А001Н Шаг 5 Повторяйте шаг 3 и 4 до тех пор пока восемь сдвигов не будут выполнены Затем полный 8 bit байт будет обработан Шаг 6 Повторите шаг со 2 по 5 для следующих 8 bit байтов из командного сообщения Продолжайте пока все байты не будут обработаны Конечное содержание CRC регистра CRC значение При передачи значения CRC в сообщении старшие и младшие байты значения CRC должны меняться то есть сначала будет передан младший байт Пример программы для расчета CRC unsigned int reg ere Oxffff i 0 while length reg_crc RTUData i i for j 0 j 8 j if reg_crc 0x01 reg_crc reg ere 1 л 0xA001 eise reg ere reg_crc 1 return regcrc Перевод и адаптация Компания СТОИК www stoikltd ru www deltronics ru 23

Скачать