IOTA
IOTA PLC Arduino Studio · Ayuda
Manual de usuario, prácticas guiadas y referencia rápida
IOTA Soluciones tecnológicas

Manual de Ayuda
IOTA PLC Arduino Studio

Guía pensada para aprender automatización desde cero usando Arduino como plataforma de control y una forma de trabajo inspirada en los entornos PLC industriales.

La meta es que puedas crear lógica Ladder, usar Structured Text, clasificar variables, mapear entradas y salidas, compilar, cargar, observar ONLINE y diagnosticar sin necesitar conocimientos avanzados de programación.

Guía de producción · basada en v0.5.5.2

1. Conceptos básicos antes de programar

Un PLC puede imaginarse como un pequeño controlador que repite el mismo ciclo muchas veces por segundo.

1 · Leer entradasEl Arduino observa botones, sensores y señales de entrada.
2 · Resolver el programaSe ejecuta OB1, sus Networks, subrutinas y bloques llamados.
3 · Actualizar salidasLas variables de área Q/AQ se escriben en los pines físicos.
4 · RepetirEl proceso vuelve a comenzar. A esto se le llama scan.
Idea clave: en Ladder, una línea energizada significa que la condición lógica es verdadera. Una bobina puede representar una memoria o una salida física según cómo clasifiques su tag.

Áreas de variables

ÁreaQué significaEjemplo¿Mueve hardware?
IEntrada digitalStart, FinCarreraSí, lee un pin
QSalida digitalMotor, Rele1, escribe un pin
MMemoria internaPermiso, Paso_1No
AIEntrada analógicaNivel_pctLee A0/A1…
AQSalida analógica/PWMVelocidad_PWMEscribe PWM/analogWrite
DBDato lógico del proyectoSetpoint, contador de producciónNo directamente
Muy importante: una bobina llamada Motor no acciona por sí sola un relé. Para mover una salida real, el tag debe estar clasificado como Q y tener un Pin válido.

2. Conocer la interfaz

Las siguientes capturas corresponden al entorno real del programa. Los números naranjos identifican zonas que conviene aprender primero.

Figura 1 · Ventana principal y editor Ladder
Ventana principal de IOTA PLC Arduino Studio1234567
  1. 1. Menú tradicional: Archivo, Editar, Programa, PLC / Arduino, Herramientas, Ver y Ayuda.
  2. 2. Barra rápida: Nuevo, Abrir, Guardar, ONLINE, Compilar, Cargar, Recuperar, Networks, Subrutinas, Tags y más.
  3. 3. Selector de CPU/FQBN y puerto COM del Arduino.
  4. 4. Árbol del proyecto: OB1, subrutinas, tags, referencias, adaptador Arduino y librerías.
  5. 5. Zona de trabajo. Aquí se dibuja y edita la lógica Ladder.
  6. 6. Paleta de instrucciones: contactos, bobinas, timers, contadores, comparadores, matemática y analógicas.
  7. 7. Consola de diagnóstico y barra de estado. Úsala para ver detección de hardware, compilación y errores.
Haz clic en la imagen para ampliarla.
Figura 2 · Bloques Structured Text (ST)
Pestaña Bloques ST1234
  1. 1. Selecciona el bloque ST que quieres editar.
  2. 2. Tipo de bloque. En esta versión se usa principalmente FC/FB como organización lógica.
  3. 3. Comentario del bloque: describe su objetivo con palabras simples.
  4. 4. Editor ST. Escribe IF, ELSIF, ELSE, FOR, WHILE y asignaciones con :=.
Haz clic en la imagen para ampliarla.
Figura 3 · Tags / Variables
Pestaña Tags y Variables1234
  1. 1. Leer tags de la lógica: analiza Ladder/ST y crea los símbolos que faltan.
  2. 2. Botones rápidos para crear memoria M, entrada digital DI, salida digital DO, entrada analógica AI y salida PWM.
  3. 3. Mapear seleccionado → DO: convierte una variable/bobina en salida física y permite asignar pin/polaridad.
  4. 4. Tabla principal de variables: nombre, tipo, área, dirección PLC, pin, valor inicial, alias, HMI, escalado y comentario.
Haz clic en la imagen para ampliarla.
Figura 4 · Hardware / E-S
Pestaña Hardware E-S1234
  1. 1. CPU / FQBN: identifica la placa para Arduino CLI.
  2. 2. Puerto: el COM real del Arduino.
  3. 3. Tiempo de scan: intervalo de ejecución del ciclo PLC.
  4. 4. Lista de puertos serie detectados con fabricante, VID/PID y HWID.
Haz clic en la imagen para ampliarla.
Figura 5 · IOTA HMI / PLC Engineering Channel
Pestaña IOTA HMI Online12345
  1. 1. Activa la integración IOTA HMI + ONLINE en el firmware generado.
  2. 2. Conectar ONLINE abre el canal de ingeniería con el Arduino.
  3. 3. Estado del firmware: antes de FORCE/WRITE el Studio comprueba que los tags del proyecto existan en el firmware.
  4. 4. Tabla ONLINE: valor actual, área, acceso HMI y estado FORCE.
  5. 5. Controles de ingeniería: Escribir valor, FORCE 1, FORCE 0, FORCE valor, Quitar FORCE y Quitar TODOS.
Haz clic en la imagen para ampliarla.
Figura 6 · Adaptar un sketch Arduino existente
Pestaña Adaptar .INO1234
  1. 1. Importar .ino carga un sketch desde el disco.
  2. 2. Adaptar e integrar analiza el sketch y lo incorpora al proyecto.
  3. 3. Editor donde puedes pegar el código Arduino completo.
  4. 4. Área de reporte: muestra advertencias y decisiones del adaptador.
Haz clic en la imagen para ampliarla.
Figura 7 · Arduino / C++ avanzado
Pestaña Arduino C++ avanzado1234
  1. 1. Headers / librerías: por ejemplo Servo.h o Wire.h.
  2. 2. Objetos, funciones y variables globales C++.
  3. 3. Código adicional que se ejecuta en setup().
  4. 4. Código adicional que se ejecuta en loop() antes del scan PLC.
Haz clic en la imagen para ampliarla.
Figura 8 · Código generado
Pestaña Código generado123
  1. 1. Encabezado del sketch: proyecto, placa, tiempo de scan e integración HMI.
  2. 2. Mapa de salidas físicas. Si aparece “Sin salidas Q físicas mapeadas”, ninguna bobina moverá hardware hasta asignar Área=Q y Pin.
  3. 3. IOTA_syncPhysicalOutputs(): función que escribe las Q físicas mediante digitalWrite() en cada scan.
Haz clic en la imagen para ampliarla.

3. Primer proyecto: un botón enciende una salida

Esta es la práctica recomendada para comprobar que el entorno, la placa y el mapeo físico están correctos.

StartMotor
  1. Crea un proyecto nuevo. El programa parte con OB1 y Network 1 vacío.
  2. Desde la paleta de la derecha inserta Contacto NO. Escribe Start.
  3. Inserta una Bobina y nómbrala Motor. La bobina se coloca como salida del rung.
  4. Abre Tags / Variables y pulsa Leer tags de la lógica. Deben aparecer Start y Motor.
  5. Configura Start como área I, tipo BOOL, pin 2. Si el pulsador conecta el pin a GND usando INPUT_PULLUP, marca la inversión correspondiente.
  6. Selecciona Motor y usa ⚡ Mapear seleccionado → DO. Por ejemplo, pin 13 para el LED integrado de un Arduino Uno o pin 4 para un relé.
  7. Presiona F7 para Compilar y luego F8 para Cargar Arduino.
  8. Prueba físicamente. Luego entra ONLINE con F5 para observar la lógica.
Tarjetas de relé: muchas son activas en LOW. En ese caso “1 lógico” puede significar que el pin físico baja a LOW para energizar el relé. El asistente de mapeo permite elegir esta polaridad.

4. Programación Ladder

Ladder representa la lógica como si fuera un circuito eléctrico. Se lee principalmente de izquierda a derecha y de arriba hacia abajo.

Contacto NOVerdadero cuando el tag vale 1/TRUE.
Contacto NCVerdadero cuando el tag vale 0/FALSE.
BobinaEscribe el resultado del rung en un tag.
SET / RESETSET memoriza 1; RESET vuelve esa memoria a 0.
Flanco positivoDetecta solamente el instante 0→1.
Flanco negativoDetecta solamente el instante 1→0.

Ejemplo de enclavamiento Start/Stop

StartMotorStop (NC)Motor

Al pulsar Start, la bobina Motor se activa. Su propio contacto paralelo mantiene el camino aunque se suelte Start. Al pulsar Stop, el contacto NC abre la condición y Motor se apaga.

Ramas en la versión actual: selecciona un elemento y usa Rama o Ctrl+B. Puedes extenderla a izquierda/derecha con las herramientas de la barra. La lógica paralela se une mediante OR.

Editar elementos

  • Doble clic sobre un símbolo: editar directamente encima.
  • F2: editar el elemento seleccionado.
  • Ctrl+Enter: propiedades avanzadas.
  • Ctrl+C, Ctrl+X, Ctrl+V: copiar, cortar y pegar.
  • Supr: eliminar.
  • Arrastrar: mover a otra celda válida.

Comentarios

Documentar es parte del programa. Puedes agregar título y comentario de Network, comentario local de un elemento y comentario global del tag. Usa nombres que expliquen la función, por ejemplo Bomba_Recirculacion en vez de M1 cuando sea posible.

5. Tags, variables y E/S físicas

Un tag es un nombre que representa un dato. Puedes programar primero y clasificar después.

Figura 3 · Tags / Variables
Pestaña Tags y Variables1234
  1. 1. Leer tags de la lógica: analiza Ladder/ST y crea los símbolos que faltan.
  2. 2. Botones rápidos para crear memoria M, entrada digital DI, salida digital DO, entrada analógica AI y salida PWM.
  3. 3. Mapear seleccionado → DO: convierte una variable/bobina en salida física y permite asignar pin/polaridad.
  4. 4. Tabla principal de variables: nombre, tipo, área, dirección PLC, pin, valor inicial, alias, HMI, escalado y comentario.
Haz clic en la imagen para ampliarla.

Flujo recomendado

  1. Construye la lógica Ladder/ST con nombres fáciles de entender.
  2. Pulsa Leer tags de la lógica.
  3. Revisa el tipo de dato: BOOL para estados; INT/DINT para enteros; REAL para valores con decimales.
  4. Asigna el área I/Q/M/AI/AQ/DB.
  5. Para I/Q/AI/AQ, asigna el pin físico.
  6. Completa un comentario corto.
  7. Define acceso HMI: RO = solo lectura; RW = lectura/escritura.

Ejemplo de tabla

NombreTipoÁreaPinDirecciónComentario
StartBOOLI2%I0.0Pulsador de marcha
StopBOOLI3%I0.1Pulsador de paro
MotorBOOLQ13%Q0.0Salida motor / LED
PermisoBOOLM%M10.0Memoria interna
SetpointREALM%MD20Referencia de nivel
Error típico: si el Ladder muestra Motor=1 pero el pin no cambia, revisa primero que Motor sea Área Q y tenga Pin. En Código generado debe aparecer en el “Physical output map”.

6. Temporizadores y contadores

TON: retardo a la conexión

TON · T_ArranqueINQPT = 2000 msStart T_Arranque.QMotor

El TON tiene un nombre de instancia, por ejemplo T_Arranque. Esa instancia guarda su propio tiempo y permite reutilizar sus miembros en otros Networks.

MiembroSignificado sencillo
T_Arranque.QSalida del temporizador: se activa al cumplirse el tiempo.
T_Arranque.ETTiempo transcurrido.
T_Arranque.PTTiempo programado.
DN / TT / ENIndicadores de diagnóstico familiares para usuarios de PLC.

TOF y TP

TOF retrasa la desconexión. TP genera un pulso de duración definida cuando se activa.

CTU / CTD

CTU cuenta hacia arriba y CTD hacia abajo. Sus instancias exponen valores como CV (conteo actual), PV (preset) y Q.

7. Señales analógicas y escalamiento

Una entrada analógica no es solamente ON/OFF: puede representar temperatura, nivel, presión, luz, potenciómetro, etc.

ANALOG READPIN A0OUT = NivelRaw SCALEIN = NivelRawRAW 0..1023ENG 0..100 %OUT = Nivel_pct

Ejemplo A0 → 0…100 %

En un Arduino Uno, analogRead(A0) entrega normalmente un valor entero entre 0 y 1023. El bloque SCALE puede convertirlo a una unidad fácil de leer:

Entrada cruda:  0 ... 1023
Salida escala:  0 ... 100 %

0    ->   0 %
512  ->  ~50 %
1023 -> 100 %

También puedes crear un tag de área AI, asignar pin A0 y activar el auto-escalado en la tabla de Tags.

8. Subrutinas Ladder

Una subrutina sirve para separar el programa en partes. Por ejemplo: FC_Bombas, FC_Alarmas, FC_Nivel.

Crear una subrutina no la ejecuta. Debe existir una instrucción CALL subrutina LAD en OB1 o en otra rutina que sí esté siendo ejecutada.
OB1

Network 1
------------------------[ CALL FC_Entradas ]

Network 2
------------------------[ CALL FC_Proceso ]

Network 3
------------------------[ CALL FC_Alarmas ]

Si antepones un contacto al CALL, la rutina solo se ejecuta cuando esa condición sea verdadera.

9. Structured Text (ST)

Figura 2 · Bloques Structured Text (ST)
Pestaña Bloques ST1234
  1. 1. Selecciona el bloque ST que quieres editar.
  2. 2. Tipo de bloque. En esta versión se usa principalmente FC/FB como organización lógica.
  3. 3. Comentario del bloque: describe su objetivo con palabras simples.
  4. 4. Editor ST. Escribe IF, ELSIF, ELSE, FOR, WHILE y asignaciones con :=.
Haz clic en la imagen para ampliarla.

ST es útil cuando la operación sería incómoda de dibujar en Ladder, por ejemplo cálculos, condiciones múltiples o algoritmos cortos.

// Ejemplo: alarma simple de nivel
IF Nivel_pct > 95.0 THEN
    Permiso := FALSE;
ELSIF Nivel_pct < 80.0 THEN
    Permiso := TRUE;
END_IF;

Para ejecutar un bloque ST desde Ladder usa la instrucción CALL bloque ST. Mantén los ejemplos escolares pequeños y claros: una función debe hacer una tarea fácil de describir.

10. Integrar código Arduino / C++

Adaptar .INO

Figura 6 · Adaptar un sketch Arduino existente
Pestaña Adaptar .INO1234
  1. 1. Importar .ino carga un sketch desde el disco.
  2. 2. Adaptar e integrar analiza el sketch y lo incorpora al proyecto.
  3. 3. Editor donde puedes pegar el código Arduino completo.
  4. 4. Área de reporte: muestra advertencias y decisiones del adaptador.
Haz clic en la imagen para ampliarla.

Esta opción es útil cuando ya tienes un sketch Arduino. El adaptador conserva librerías, integra setup()/loop() y detecta variables globales simples para enlazarlas al proyecto.

// Sketch de ejemplo para importar
int sensorRaw = 0;
bool alarma = false;

void setup() {
  pinMode(8, OUTPUT);
}

void loop() {
  sensorRaw = analogRead(A0);
  alarma = sensorRaw > 800;
  digitalWrite(8, alarma ? HIGH : LOW);
}
Evita delay() en lógica de control cuando sea posible, porque detiene temporalmente el scan. También revisa el uso de Serial si IOTA HMI usa el mismo puerto.

Arduino / C++ avanzado

Figura 7 · Arduino / C++ avanzado
Pestaña Arduino C++ avanzado1234
  1. 1. Headers / librerías: por ejemplo Servo.h o Wire.h.
  2. 2. Objetos, funciones y variables globales C++.
  3. 3. Código adicional que se ejecuta en setup().
  4. 4. Código adicional que se ejecuta en loop() antes del scan PLC.
Haz clic en la imagen para ampliarla.

Usa esta pestaña cuando solo necesitas agregar una librería, objeto o función concreta. Ejemplo:

// Headers / librerías
Servo.h

// Objetos/globales
Servo valvula;

// setup adicional
valvula.attach(9);

// loop adicional antes del scan
// valvula.write(90);

11. ONLINE, WRITE y FORCE

Figura 5 · IOTA HMI / PLC Engineering Channel
Pestaña IOTA HMI Online12345
  1. 1. Activa la integración IOTA HMI + ONLINE en el firmware generado.
  2. 2. Conectar ONLINE abre el canal de ingeniería con el Arduino.
  3. 3. Estado del firmware: antes de FORCE/WRITE el Studio comprueba que los tags del proyecto existan en el firmware.
  4. 4. Tabla ONLINE: valor actual, área, acceso HMI y estado FORCE.
  5. 5. Controles de ingeniería: Escribir valor, FORCE 1, FORCE 0, FORCE valor, Quitar FORCE y Quitar TODOS.
Haz clic en la imagen para ampliarla.

ONLINE permite observar y modificar variables mientras el Arduino ejecuta el firmware.

AcciónQué haceCuándo usarla
Escribir valor (WRITE)Cambia el dato una vez. La lógica puede modificarlo de nuevo en el siguiente scan.Probar setpoints o memorias sin bloquear la lógica.
FORCEMantiene el valor forzado en cada scan.Diagnóstico temporal.
Quitar FORCERestaura el valor que existía antes del primer FORCE y luego devuelve el control al programa.Finalizar la prueba.
Seguridad: no fuerces motores, válvulas, calefactores u otros actuadores reales si no conoces el efecto físico. En laboratorios escolares usa primero LED, relés sin carga o simuladores.

Ejemplos del protocolo (avanzado)

Normalmente no necesitas escribir estos comandos manualmente; la interfaz los genera.

IOTA|WRITE|Setpoint|75
IOTA|FORCE|Motor|1
IOTA|FORCE|Motor|0
IOTA|UNFORCE|Motor
IOTA|UNFORCEALL

12. Compilar y cargar al Arduino

IOTA PLC Arduino Studio utiliza Arduino CLI como backend de placas, cores, librerías, compilación y upload.

  1. Conecta el Arduino por USB.
  2. Selecciona la CPU / FQBN. Para Arduino Uno: arduino:avr:uno.
  3. Selecciona el Puerto COM correcto.
  4. Revisa Tags. Toda salida física debe ser Q con pin válido.
  5. Presiona F7 Compilar.
  6. Si no hay errores, presiona F8 Cargar.
  7. Revisa la consola. Un upload correcto termina sin error.
Figura 4 · Hardware / E-S
Pestaña Hardware E-S1234
  1. 1. CPU / FQBN: identifica la placa para Arduino CLI.
  2. 2. Puerto: el COM real del Arduino.
  3. 3. Tiempo de scan: intervalo de ejecución del ciclo PLC.
  4. 4. Lista de puertos serie detectados con fabricante, VID/PID y HWID.
Haz clic en la imagen para ampliarla.
Arduino CLI: 0 placa(s) identificada(s) no siempre significa que no exista un puerto COM. Algunas placas CH340 pueden aparecer como puerto serie aunque Arduino CLI no identifique automáticamente el modelo; selecciona manualmente el FQBN correcto.

13. Recuperar un proyecto desde el Arduino

El programa puede recuperar el proyecto editable si el firmware fue generado por IOTA y se guardó una copia recuperable dentro de él.

  1. Antes de compilar, abre IOTA HMI Online.
  2. Marca Guardar copia recuperable del proyecto dentro del firmware.
  3. Compila y carga normalmente.
  4. Más adelante conecta ese Arduino y usa Recuperar o Recuperar proyecto del PLC.
  5. Guarda el proyecto recuperado como archivo .iotaplc.
Un Arduino programado con un sketch cualquiera contiene principalmente código máquina. No es posible reconstruir de forma fiable nombres de tags, comentarios o Ladder si esa información nunca fue embebida.

14. Referencias cruzadas (XREF)

XREF responde preguntas como: “¿Dónde se usa Motor?”, “¿Quién escribe esta memoria?” o “¿Dónde se llama esta subrutina?”.

Abre Referencias cruzadas con Ctrl+Shift+F. La herramienta puede mostrar lecturas, escrituras, instancias, llamadas y múltiples escrituras.

Símbolo          Acceso   Bloque          Network     Instrucción
Motor            W        OB1             Network 3   COIL
Motor            R        FC_Alarmas      Network 2   CONTACT
T_Arranque.Q     R        OB1             Network 2   CONTACT
FC_ControlNivel  CALL     OB1             Network 2   CALL_SUB
Usar XREF antes de cambiar el nombre o comportamiento de un tag ayuda a entender qué partes del proyecto se verán afectadas.

15. Código generado y diagnóstico de salidas

Figura 8 · Código generado
Pestaña Código generado123
  1. 1. Encabezado del sketch: proyecto, placa, tiempo de scan e integración HMI.
  2. 2. Mapa de salidas físicas. Si aparece “Sin salidas Q físicas mapeadas”, ninguna bobina moverá hardware hasta asignar Área=Q y Pin.
  3. 3. IOTA_syncPhysicalOutputs(): función que escribe las Q físicas mediante digitalWrite() en cada scan.
Haz clic en la imagen para ampliarla.

Normalmente no necesitas editar el código generado. Esta pestaña es excelente para aprender qué ocurre “debajo” y para diagnosticar.

Salida física

// Ejemplo conceptual para Motor -> pin 4 activo HIGH
void IOTA_syncPhysicalOutputs() {
    digitalWrite(4, Motor ? HIGH : LOW);
}

Para un relé activo LOW el sentido eléctrico se invierte:

digitalWrite(4, Motor ? LOW : HIGH);

Si el mapa dice Sin salidas Q físicas mapeadas, vuelve a Tags y asigna Área Q + Pin.

16. Prácticas guiadas para estudiantes

Ruta sugerida: completa las prácticas en orden. Cada una introduce una idea nueva sin exigir dominar todo el programa.

Práctica A · LED controlado por pulsador

Objetivo: aprender Contacto NO, Bobina, I y Q. Usa el paso a paso del capítulo “Primer proyecto”.

Práctica B · Marcha / Paro con enclavamiento

StartMotorStop (NC)Motor
  1. Crea Start (I), Stop (I) y Motor (Q).
  2. Agrega Start en la línea principal.
  3. Crea una rama paralela y coloca un contacto Motor para el enclavamiento.
  4. Después de la unión, coloca Stop como contacto NC.
  5. Finaliza con la bobina Motor.
  6. Prueba primero con LED/relé sin carga.

Práctica C · Arranque retardado 2 segundos

TON · T_ArranqueINQPT = 2000 msStart T_Arranque.QMotor

Crea T_Arranque con PT=2000 ms. En otro Network usa T_Arranque.Q para activar Motor.

Práctica D · Potenciómetro como nivel 0…100 %

ANALOG READPIN A0OUT = NivelRaw SCALEIN = NivelRawRAW 0..1023ENG 0..100 %OUT = Nivel_pct
  1. Conecta un potenciómetro a A0 (con alimentación segura de 5 V/3.3 V según tu placa).
  2. Crea un AI o utiliza ANALOG READ.
  3. Escala 0…1023 a 0…100.
  4. Observa Nivel_pct ONLINE.
  5. Agrega un comparador Nivel_pct > 80 para una alarma.

Práctica E · Separar el programa en subrutinas

Crea FC_Entradas, FC_Proceso y FC_Salidas. Llama cada una desde OB1. Luego usa XREF para verificar dónde se llama cada rutina.

Práctica F · Diagnóstico ONLINE

Usa una memoria M. Haz WRITE 1 y observa que la lógica puede cambiarla en otro scan. Luego usa FORCE 1 y observa que permanece hasta Quitar FORCE.

17. Solución de problemas

ProblemaQué revisar
La bobina se ve activa pero el Arduino no conmuta.El tag debe ser Área Q, tener Pin válido y aparecer en Physical output map. Recompila y vuelve a cargar.
El relé funciona al revés.Probablemente es activo LOW. Cambia la polaridad del mapeo DO.
ONLINE muestra UNKNOWN_VAR.El firmware cargado no contiene ese tag. Sincroniza tags, F7 Compilar, F8 Cargar y reconecta ONLINE.
Quitar FORCE deja un comportamiento extraño.La versión actual restaura el valor previo y luego el scan vuelve a gobernar. Revisa si la lógica normal vuelve a poner el bit en 1.
Una subrutina no hace nada.Confirma que exista un CALL subrutina LAD desde OB1 o desde una rutina ejecutada.
El valor WRITE “se devuelve”.WRITE es una escritura única. Si Ladder escribe el tag cada scan, lo reemplazará. Usa FORCE solo para diagnóstico.
No compila una librería Arduino.Abre Librerías, instala la librería necesaria y verifica el nombre del #include.
El puerto COM aparece, pero no carga.Revisa FQBN, puerto, cable USB de datos, drivers CH340 y que otro programa no tenga abierto el puerto.
Arduino CLI indica 0 placas identificadas.Selecciona manualmente la placa si el puerto serie sí está presente.

18. Glosario

OB1Programa cíclico principal. Se ejecuta una y otra vez.
NetworkSección o rung de Ladder con una función concreta.
TagNombre simbólico de una variable.
ScanCiclo: leer entradas → ejecutar programa → actualizar salidas.
FQBNNombre técnico que Arduino CLI usa para identificar la placa.
COMPuerto serie de Windows usado para comunicarse con la placa.
BOOLDato de dos estados: TRUE/FALSE o 1/0.
REALNúmero con decimales, por ejemplo 37.5.
HMIInterfaz Hombre-Máquina. Permite visualizar/operar variables.
FORCEImposición temporal de un valor durante diagnóstico.
AliasSegundo nombre que apunta al mismo dato.
Activo LOWEl dispositivo se energiza cuando el pin está en nivel bajo.

19. Atajos principales

AtajoAcción
F2Editar símbolo seleccionado
Ctrl+EnterPropiedades avanzadas
Ctrl+C / Ctrl+X / Ctrl+VCopiar / Cortar / Pegar
SuprEliminar elemento
Ctrl+Z / Ctrl+YDeshacer / Rehacer
Ctrl+BCrear rama paralela
Ctrl+Shift+FReferencias cruzadas
F5ONLINE
F7Compilar
F8Cargar Arduino
Ctrl+SGuardar proyecto

20. Recomendaciones para trabajar bien

  • Usa nombres claros: Start_Bomba, Nivel_Tanque, Alarma_Temperatura.
  • Un Network debe tener un objetivo fácil de explicar en una frase.
  • Agrega comentarios antes de olvidar por qué hiciste una lógica.
  • Prueba primero con LED y señales de baja potencia.
  • Usa XREF antes de cambiar un tag usado en muchas partes.
  • Guarda versiones del proyecto antes de modificaciones grandes.
  • Antes de cargar, revisa siempre CPU, COM y mapa de E/S.
Nota educativa de seguridad: el software es una herramienta de aprendizaje y desarrollo. En maquinaria real, las funciones de paro de emergencia, protecciones eléctricas y enclavamientos críticos deben diseñarse con hardware y normas apropiadas; no dependas solamente de software Arduino para funciones de seguridad.