ST500 | Control remoto del convertidor de frecuencia en serie con Modbus RS485

La comunicación entre la unidad de control y el convertidor de frecuencia equipado con RS485 debe funcionar en modo RTU. En este caso, el inversor ST500 espera una transmisión con 19200 baudios, 8/N/2 en la configuración de fábrica. A través de una simple transmisión de datos de los bytes en formato crudo sin más codificación se envía y recibe. Los caracteres de control adicionales no son necesarios.

 

A continuación se muestran dos ejemplos de conjuntos de datos enviados al convertidor de frecuencia:

01 07 20 00 00 01 7E 0A (comando de inicio, representado como números hexadecimales).

01 07 20 00 00 06 3F C8 (comando de parada, representado en números hexadecimales)

Los conjuntos de datos deben enviarse siempre en una sola pieza. Si se produce una pausa de más de 1½ caracteres de duración entre dos caracteres individuales, el registro de datos no es válido según la definición del protocolo y debe descartarse.

 

Breve explicación de la estructura:

01 = Dirección del convertidor de frecuencia (se ajusta en el convertidor de frecuencia mediante F9.02).

07 = almacenamiento volátil, el valor no está programado permanentemente

20 00 = Dirección del parámetro de control

00 01 = Operación de avance

7E 0A = Suma de comprobación CRC

Encontrará más direcciones y funciones en el manual.

 

Puede calcular la suma de comprobación CRC de la siguiente manera:

Función para calcular la suma de comprobación CRC (en C):

unsigned int cal_crc16 (unsigned char *data, unsigned int length)
{
unsigned int i,crc_value=0xffff;

while(length–)
{
crc_result ^= *data++;
for(i=0; i<8; i++)
{
if(crc_result & 0x01)
{
crc_result = (crc_value >> 1)^0xa001;
}
else
{
crc_result = crc_result >> 1;
}
}
}
crc_result = ((crc_result & 0xff) << 8) | (crc_result >> 8);

return(crc_result);
}

 

Tenga en cuenta que la suma de comprobación CRC-16 debe transmitirse en formato Modbus como little endian, es decir, la mitad de orden inferior de la palabra de datos antes de la mitad de orden superior (en notación hexadecimal, es decir, se intercambian los dos primeros y los dos últimos caracteres del resultado), para que coincida con el algoritmo del inversor (como en la función cal_crc16() anterior).

Volviendo a las preguntas sobre el convertidor de frecuencia ST500.

Tags: