Ir al contenido

Depuración en planta: monitor serie, analizadores lógicos y errores de cableado habituales

El código que funciona en el banco a veces falla al cablearlo en un cuadro real. Esta lección te da un camino de decisión corto que seguir antes de empezar a reescribir código, y cierra el proyecto de la estación de bombeo.

Qué aprenderás

  • Separar lo que lee el PLC de lo que decide hacer.
  • Elegir la herramienta adecuada: Monitor Serie, multímetro o analizador lógico.
  • Revisar los tres errores de cableado detrás de la mayoría de problemas de primera instalación.

Paso 1: el Monitor Serie, tu herramienta más barata

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.print("I0_0: ");
  Serial.println(digitalRead(I0_0));
  delay(200);
}

Imprimir los estados en bruto de entradas y salidas responde a la pregunta más habitual: ¿el problema está en lo que lee el PLC o en lo que decide hacer? Elimina los prints después, añaden carga si se dejan funcionando de forma permanente.

Paso 2: si la lectura es incorrecta, ve aguas arriba del código

Si el valor impreso no coincide con la señal física, es probable que el problema sea el cableado, la tensión de alimentación del sensor o una señal que cambia más rápido de lo que lee loop(). Un multímetro confirma si la tensión esperada llega al terminal. Un analizador lógico o un osciloscopio captura señales rápidas o intermitentes que un print es demasiado lento para mostrar.

Paso 3: las tres comprobaciones de cableado

  1. El terminal que usaste coincide con el diagrama de pinout de tu variante exacta de placa.
  2. La tensión de alimentación del sensor coincide con la que tu placa proporciona o espera.
  3. Hay una masa compartida entre el PLC y cualquier sensor alimentado externamente.

Estas tres explican gran parte de los problemas de primera instalación que parecen fallos de código.

Paso 4: si la lectura es correcta, depura la lógica

Para la máquina de estados de la lección 1, imprime el estado actual y las entradas solo cuando algo cambia, no en cada pasada. Ver exactamente cuándo y por qué ocurrió una transición suele ser más rápido que recorrer el switch mentalmente.

State lastState = IDLE;

if (currentState != lastState) {
  Serial.print("State ");
  Serial.print(lastState);
  Serial.print(" -> ");
  Serial.println(currentState);
  lastState = currentState;
}

Dónde estás ahora

Tu estación de bombeo tiene una máquina de estados, temporización sin bloqueo, una interfaz Modbus, datos retenidos, un watchdog, un plan de expansión y un panel. Ese es el esqueleto de una máquina desplegable.

Para profundizar

Has terminado el curso. Haz el cuestionario de abajo para comprobar lo aprendido.

Calificación
0 0

No hay comentarios por ahora.

para ser el primero en comentar.