relais_securise.ino
Las dos salidas de relé de Opta se manejan con una línea vía PLCContainer: este sketch las alterna cada 3 s, como alarma acústica/visual o inversor marcha/paro. El relé es contacto seco: admite 24 V o 230 V de red.
Hardware
Una Opta PLC de STMicroelectronics (STM32H747 en tiempo real + coprocesador seguro i.MX RT1052) programada con el entorno Arduino PLC, alimentada a 24 V DIN. Opta sola (relés integrados); carga de 24 V DC o 230 V AC en los bornes RO1/RO2.
Cableado
Carga entre el borne ROx y el común; respeta el poder de corte del relé (corriente nominal de la ficha). Recomendado empezar con 24 V DC.
Funcionamiento
PLC.begin() configura los periféricos; Relay[n].on/off abre o cierra el contacto seco. El LED RGB testigo refleja el estado para diagnóstico remoto.
Ejecución
Instala el gestor de placas Arduino PLC, selecciona «Opta PLC», conecta USB/DFU y vuelca el programa. El sketch corre por el STM32H747 en tiempo real.
Variantes
Añadir una condición en una entrada digital (sensor) para activar el relé solo con la máquina lista, o un enclavamiento antirretorno.
relais_securise.ino
// Opta PLC : pilotage des 2 relais intégrés (RO1, RO2) avec LED de statut.
// API officielle : bibliothèque PLCContainer fournie par le paquet Arduino PLC.
#include "PLCContainer.h"
PLCContainer PLC;
const unsigned long PERIODE_MS = 3000; // cycle de 3 s
unsigned long t0 = millis();
bool etat = false;
void setup() {
Serial.begin(115200);
PLC.begin(); // initialise relais, entrées, analogique, Ethernet
Serial.println("Opta relais : demarrage");
}
void loop() {
if (millis() - t0 >= PERIODE_MS) {
t0 = millis();
etat = !etat;
if (etat) {
PLC.Relay[0].on(); // RO1 fermé
PLC.Relay[1].off(); // RO2 ouvert
Serial.println("RO1 ON / RO2 OFF");
} else {
PLC.Relay[0].off();
PLC.Relay[1].on();
Serial.println("RO1 OFF / RO2 ON");
}
}
// LED RGB intégrée en témoin d'état (rouge = relais 1 actif)
PLC.LedRgb.set(etat ? 255 : 0, 0, etat ? 0 : 255);
}