Delta Electronics VFD-EL Serie Manual Del Usuario página 149

Tabla de contenido
Capítulo 4 Parámetros|
Modo RTU:
El CRC (Control de Redundancia Cíclica) se calcula de la siguiente forma:
Paso 1: Cargar un registro de 16 bits (llamado registro CRC) con FFFFH.
Paso 2: O exclusivo del primer byte del mensaje de comando con el byte de orden bajo del
registro de CRC de 16 bits, colocando el resultado en el registro de CRC.
Paso 3: Examinar el LSB del registro CRC.
Paso 4: Si el LSB del registro CRC es igual a 0, se debe mover un bit del registro de CRC
hacia la derecha con relleno de ceros del MSB, y después repetir el paso 3. Si el LSB del
registro del CRC (Control de Redundancia Cíclica) es igual a 1, se debe desplazar el registro
de CRC un bit hacia la derecha con relleno de ceros del MSB, O exclusivo, el registro del
CRC con el valor polinómico de A001H, y luego repetir el paso 3.
Paso 5: Repita los pasos 3 y 4 hasta que se hayan realizado ocho desplazamientos.
Después de terminarse esto, habrá sido procesado un byte completo.
Paso 6: Repita los pasos 2 a 5 para el siguiente byte del mensaje de comando. Continúe
haciendo esto hasta que todos los bytes hayan sido procesados. Los contenidos finales del
registro de CRC son el valor CRC. Al transmitir el valor del CRC en el mensaje, los bytes
superior e inferior del valor del CRC se deben intercambiar, es decir, el byte de orden inferior
se transmitirá primero.
El siguiente es un ejemplo de la generación de CRC usando el lenguaje C. La función toma
dos argumentos:
Datos de los caracteres
Longitud de los caracteres
La función regresa al valor del CRC como un tipo de valor entero sin signo.
Unsigned int crc_chk(unsigned char* data, unsigned char length){
int j;
4-106
Dirección
Función
Dirección de datos inicial
Número de datos
(conteo por palabra)
Verificación de CRC baja
Verificación de CRC alta
sin signo* un puntero hacia el búfer de mensajes
sin signo la cantidad de bytes en el búfer de mensajes
01H
03H
21H
02H
00H
02H
6FH
F7H
Revisión abril 2008, 1ELE, V1.02
Tabla de contenido
loading

Tabla de contenido