Comprobación De Error De La Trama De Comunicación Rtu; Código De Comando Rtu E Ilustración De Los Datos De Comunicación; Código De Comando: 03H - Universal Motors GD 10 Manual De Instruciones

Variador de frecuencia
Tabla de contenido

Publicidad

CMD
DATOS (N-1)
...
DATOS (0)
CRC CHK bit bajo
CRC CHK bit alto
FIN
7.2.2.2 Comprobación de error de la trama de comunicación RTU
Varios factores (como las interferencias electromagnéticas) pueden causar errores en la transmisión de datos. Por ejemplo, si el mensaje a enviar es un "1" lógico,
la diferencia de potencial A-B en el RS485 debería ser 6V, pero en realidad, podría ser -6V debido a una interferencia electromagnética, y entonces los otros
equipos tomarían el mensaje enviado como una lógica "0". Si no existe la comprobación de error, los equipos receptores no se darían cuenta de que el mensaje
es erróneo y podrían dar respuestas incorrectas que podrían derivar en resultados graves. Así pues, la comprobación es esencial para el mensaje.
La comprobación funciona de la siguiente manera: el remitente calcula los datos de envío de acuerdo a una fórmula fija, y después envía el resultado con el
mensaje. Cuando el receptor recibe el mensaje, calculará otro resultado de acuerdo con el mismo método y lo comparará con el del envío. Si los dos resultados
son iguales, el mensaje es correcto. Si no, el mensaje es incorrecto.
La comprobación del error de la trama se puede dividir en dos partes: la comprobación de bit del byte y la comprobación completa de los datos de la trama
(comprobación CRC).
Comprobación de bit del byte
El usuario puede seleccionar distintas comprobaciones de bit, o no tener ninguna, lo que afecta al ajuste de bit de comprobación de cada byte.
Definición de comprobación par: añade un bit de comprobación par antes de la transmisión de datos para indicar si el número de "1" que contiene la transmisión
de datos es un número par o impar. Cuando el resultado es par, el byte de comprobación es "0", en caso contrario, el byte de comprobación es "1". Este método
se utiliza para estabilizar la paridad de los datos.
Definición de comprobación impar: añade un bit de comprobación impar antes de la transmisión de datos para indicar si el número de "1" que contiene la
transmisión de datos es un número par o impar. Cuando el resultado es impar, el byte de comprobación es "0", en caso contrario, el byte de comprobación es"1".
Este método se utiliza para estabilizar la paridad de los datos.
Por ejemplo, cuando se transmite "11001110", existen cinco "1" en los datos. Si se aplica la comprobación par, el bit de comprobación par es "1"; si se aplica la
comprobación impar; el bit de comprobación impar es "0". El bit de comprobación par e impar se calcula en la posición del bit de comprobación de la trama. Además, los
equipos receptores también llevan a cabo comprobación par e impar. Si la paridad de los datos de recepción es distinta al valor de los enviados, se produce un error de
comunicación.
Comprobación CRC
La comprobación utiliza formato de trama RTU. La trama incluye el campo de detección de error de trama, que está basada en el método de cálculo CRC. El
campo de cálculo CRC está compuesto por dos bytes, incluyendo así 16 números binarios. Éste se añade a la trama después de que el equipo transmisor lo
calcule. El equipo receptor recalcula el CRC de la trama recibida y lo compara con el valor contenido en el campo CRC recibido. Si los dos valores CRC son
distintos, existe un error de comunicación.
Durante el CRC, 0*FFFF será restaurado. Después tratará los siguientes 6 bytes continuos de la trama y el valor en el registro. Para el CRC, sólo son efectivos
datos de 8 bits por carácter. El bit de inicio, el de fin y el de comprobación par e impar no se tienen en cuenta.
El cálculo del CRC utiliza los principios de comprobación CRC de un estándar internacional. Cuando el usuario está editando cálculos CRC, éste se puede referir
al cálculo estándar CRC para escribir el programa de cálculo CRC requerido.
Para su referencia, a continuación se detalla una función simple para el cálculo CRC (programada en lenguaje C):
unsigned int crc_cal_value(unsigned char *data_value,unsigned char data_length)
{
int i;
unsigned int crc_value=0xffff;
while(data_length--)
{
crc_value^=*data_value++;
for(i=0;i<8;i++)
{
if(crc_value&0x0001)crc_value=(crc_value>>1)^0xa001;
else crc_value=crc_value>>1;
}
}
return(crc_value);
}
En lógica ladder, CKSM calculó el valor CRC de acuerdo a la trama con la consulta de tabla. El método es avanzado, fácil de programar, y con una velocidad de cálculo rápida.
No obstante, el espacio ROM que ocupa el programa es grande. Por esta razón, debe ser utilizado con cuidado de acuerdo al espacio de programa requerido.
7.3 Código de comando RTU e ilustración de los datos de comunicación
7.3.1 Código de comando: 03H
03H (corresponde en binario al 0000 0011, lee N palabras(Words)) (la lectura continua máxima es de 16 palabras)
60 - 78
transmisión)
03H: leer parámetros de esclavo
06H: escribir parámetros en esclavo
Los datos de 2*N bytes son el contenido principal de la comunicación, así
como el núcleo del intercambio de datos
Valor de detección: CRC (16 bits)
T1-T2-T3-T4 (tiempo de transmisión de 3.5 bytes)
Protocolo de comunicación

Publicidad

Tabla de contenido

Solución de problemas

loading

Tabla de contenido