Descargar Imprimir esta página

Siemens SITRANS F RTU RS 485 Instrucciones De Servicio página 70

Ocultar thumbs Ver también para SITRANS F RTU RS 485:

Publicidad

Anexo
B.6 Cálculo CRC
Sólo se comprueba el valor de flujo transmitido internamente. La velocidad de transmisión
esperada se lee durante el encendido. Si no se recibe la transmisión después de 10 veces el valor
esperado, la velocidad de transmisión es leída nuevamente desde el módulo (podría haber
cambiado). Si dicha velocidad no ha cambiado (y la velocidad no es cero), el indicador Run se
ajusta a OFF. Si la recepción de un valor (flujo) se da en 10 veces como el valor definido entonces
el indicador Run se ajusta de nuevo a TRUE.
B.6
Cálculo CRC
El campo de comprobación de redundancia cíclica (CRC) tiene dos bytes y contiene un valor
binario de 16 bits. El valor del CRC se genera en un principio mediante el dispositivo de
transmisión que adjunta el CRC al mensaje. El dispositivo de recepción vuelve a calcular un CRC
durante la recepción del mensaje y compara el valor calculado con el valor actual que ha recibido
en el campo del CRC. Si los dos valores no son iguales, se produce un error.
A continuación se incluye un breve texto descriptivo sobre cómo se calcula el CRC. A
continuación esta descripción se complementa con un ejemplo de programación en C.
Cálculo CRC
1. Cargue un registro de 16 bits con FFFF hex (todos 1s). Llame a esto el registro CRC.
2. Exclusivo O el primer byte de 8 bits del mensaje con el byte de bajo orden del registro CRC de
16 bits, colocando el resultado en el registro CRC.
3. Cambie el registro CRC un bit a la derecha (hacia el LSB), rellenando con ceros el MSB.
Extraiga y examine el LSB.
4. (si el LSB era 0): Repita el paso 3 (otro cambio). (si el LSB era 1): Exclusivo O el registro CRC
con el valor polinómico 0xA001 (1010 0000 0000 0001).
5. Repita los pasos 3 y 4 hasta que se hayan realizado 8 cambios. Una vez realizada esta
operación, se habrá procesado un
6. byte completo de 8 bits.
7. Repita los pasos 2 a 5 para el siguiente byte de 8 bits del mensaje. Continúe haciendo esto
hasta que se hayan procesado todos los bytes.
8. El contenido final del registro CRC es el valor CRC.
9. Una vez que el CRC está colocado en el mensaje, los bytes inferior y superior deben barrerse
tal como se describe a continuación.
Colocación del CRC en el mensaje
Cuando el CRC de 16 bits (dos bytes de 8 bits) se transmite al mensaje, el byte de bajo orden se
transmite primero, seguido del byte de orden alto.
Por ejemplo, si el valor CRC es 1241 hex (0001 0010 0100 0001):
Dirección
Func
70
Recuento
Datos n
de datos
Datos n+1
Datos n+2
Instrucciones de servicio, 03/2021, A5E03089278-AB
Datos n+x
CRC LO
0x41
Modbus RTU RS 485
CRC HI
0x12

Publicidad

loading