Lenguaje de Diagrama Ladder
El Diagrama Ladder es un lenguaje de programación gráfico para representar ecuaciones booleanas. Combina contactos, utilizados como condiciones de entrada, con bobinas, utilizadas como resultados de salida.
En la lógica de Ladder, los datos se evalúan y modifican mediante símbolos gráficos estándar dispuestos en peldaños. Esta disposición sigue la estructura de los diagramas de lógica de relés, donde cada peldaño está delimitado por las barras colectoras izquierda y derecha.
En esta página
- En esta página
- Componentes gráficos
- Barras colectoras y estados de conexión
- Control de ejecución
- Terminología
- Lógica de Contact
- Área de trabajo del editor de Ladder
- Peldaños
- Edición de peldaños
- Título y comentario del peldaño
- Inserción de elementos de Ladder
- Insertar elementos en serie
- Insertar elementos en paralelo
- Navegación por los peldaños con el teclado
- Navegar por los peldaños con el ratón
- Copiar, cortar y pegar
- Monitoreo en línea
Componentes gráficos
A continuación se muestran los componentes gráficos básicos de un Diagrama Ladder.
| No. | Componente |
|---|---|
| 1 | Barra colectora izquierda |
| 2 | Barra colectora derecha |
| 3 | Conexión horizontal |
| 4 | Conexión vertical |
| 5 | Contact |
| 6 | Coil |
| 7 | Dirección del flujo de potencia |
Barras colectoras y estados de conexión
El editor está delimitado a la izquierda por una línea vertical llamada barra colectora izquierda, y a la derecha por una línea vertical llamada la barra colectora derecha.
Los elementos de conexión pueden ser horizontales o verticales. Sus estados pueden denotarse mediante 1 o 0, correspondientes a los valores literales Boolean TRUE y FALSE. En este contexto, el término estado de la conexión es sinónimo de flujo de potencia.
El estado de la barra colectora izquierda se considera siempre 1, actuando como fuente de energía. La barra colectora derecha se define con el estado 0, actuando como barra de tierra.
Un elemento de conexión horizontal se representa mediante una línea horizontal. Transmite el estado del elemento situado inmediatamente a su izquierda al elemento situado inmediatamente a su derecha.
Un elemento de conexión vertical consta de líneas verticales intersectadas por una o más conexiones horizontales a cada lado.
El estado de una conexión vertical representa la operación OR lógica de los estados de las conexiones horizontales situadas a su izquierda:
- El estado de la conexión vertical es
0cuando todas las conexiones horizontales de su lado izquierdo son0. - El estado de la conexión vertical es
1cuando una o más conexiones horizontales en su lado izquierdo son1.
El estado de las conexiones verticales se copia a todas las conexiones horizontales asociadas a su lado derecho. No se copia a las conexiones horizontales asociadas a su lado izquierdo.
Control de ejecución
El procesador ejecuta continuamente un ciclo de escaneo. El ciclo comienza cuando el sistema de entrada y salida de hardware lee los valores más recientes de todas las señales de entrada y escribe dichos valores en regiones de memoria fijas.
| Etiqueta | Significado |
|---|---|
| A | Entradas leídas en la memoria. |
| B | Memoria escrita en las salidas. |
| C | Barrido de línea en Ladder. |
A continuación, las líneas del programa Ladder se ejecutan en un orden fijo, comenzando por la primera línea. Durante el ciclo de ejecución del programa, los nuevos valores de salida física determinados por la lógica de las líneas Ladder se escriben primero en una zona de memoria de salida. Una vez finalizada la ejecución del programa Ladder, el hardware escribe todos los valores de salida almacenados en memoria en las salidas físicas mediante una única operación.
Terminología
| Término | Definición |
|---|---|
| AT | Representación directa de una variable. |
| FUNCTION BLOCK | Función que requiere una instancia. |
| CONFIGURATION | Organización de software de nivel superior. Puede contener varios recursos. |
| FUNCTION | Bloque responsable de ejecutar un comportamiento o acción en función de parámetros, como VAR_IN, VAR_IN_OUT y VAR_OUT. |
| INSTANCE | Área de memoria ocupada para su uso por un bloque de función. |
| LD (Diagrama Ladder) | Lenguaje gráfico basado en esquemas eléctricos, contactos y bobinas, que sigue el flujo de potencia entre los elementos. |
| OVERFLOW | Ocurre cuando el resultado de un cálculo supera los límites del tipo de datos del resultado. |
| POU | Unidad de organización de programas. Puede ser un programa, un bloque de funciones (FB) o una función. |
| PROGRAM | Agrupación lógica de elementos y estructuras necesarios para procesar señales destinadas al control de máquinas o procesos. |
| RESOURCE | Elemento con capacidad de procesamiento responsable de ejecutar programas. |
| SCAN | Ciclo de escaneo del programa. |
| STACK | Pila del programa de Ladder. Área de memoria utilizada para ejecutar la lógica del programa. |
| TAG | Nombre de la variable. |
| TASK | Controla la ejecución del programa de forma periódica o mediante eventos. |
| DATATYPE | Informa al compilador sobre el espacio que ocupa una variable y su formato. |
| VARIABLE | Posición de memoria capaz de retener y representar un valor o una expresión. |
| VAR | Variables internas de un bloque de usuario (USERFB), equivalentes a un ámbito local. |
| VAR_IN | Argumento de entrada de un USERFB. Las variables de esta categoría solo se leen dentro del USERFB. |
| VAR_IN_OUT | Argumento de entrada y salida de un USERFB. No admite constantes, entradas físicas (%I_), variables de red de entrada (%I_) ni marcadores de sistema de solo lectura (%S_). |
| VAR_OUT | Argumento de salida de un USERFB. No admite constantes, entradas físicas (%I_), variables de red de entrada (%I_) ni marcadores de sistema de solo lectura (%S_). |
| WATCHDOG | Mecanismo del fabricante utilizado para ejecutar acciones específicas si se vulnera la integridad del sistema. |
Ámbito y comportamiento de las variables
Una variable puede tener uno de los siguientes ámbitos:
| Alcance | Definición |
|---|---|
| Local | Posición automática calculada por el compilador. |
| Global | Ubicado en un área de memoria definida, como entradas o salidas, y accesible en toda la configuración. |
Una variable también puede tener uno de los siguientes comportamientos:
| Comportamiento | Definición |
|---|---|
| Retentivo | Almacena el valor tras apagar la alimentación. |
| Volátil | Se inicializa con el valor del campo de valor inicial al encender el dispositivo. |
| Constante | Valor fijo que no puede cambiarse. |
Lógica de Contact
Lógica AND – contactos en serie
El diagrama ejecuta una operación AND entre los dos últimos elementos cargados en la STACK, reduce la STACK en un nivel y coloca el resultado en la parte superior de la STACK.
Esto significa que se ejecuta la siguiente operación Boolean:
STACK = BIT1.BIT2
Equivalente en lista de instrucciones:
LD BIT1 (* loads the BIT1 value to the STACK = | BIT1 | *)
LD BIT2 (* loads the BIT2 value to the STACK = | BIT2 | BIT1 | *)
AND (* executes AND between BIT1 and BIT2 -> STACK = | BIT1.BIT2 | *)
BIT1 | BIT2 | STACK |
|---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Lógica OR – contactos en paralelo
El diagrama ejecuta una operación OR entre los dos últimos elementos cargados en la STACK, reduce la STACK en un nivel y coloca el resultado en la parte superior de la STACK.
Esto significa que se ejecuta la siguiente operación Boolean:
STACK top = BIT1 OR BIT2
Equivalente en lista de instrucciones:
LD BIT1 (* loads the BIT1 value to the STACK = | BIT1 | *)
LD BIT2 (* loads the BIT2 value to the STACK = | BIT2 | BIT1 | *)
OR (* executes OR between BIT1 and BIT2 -> STACK = | BIT1+BIT2 | *)
BIT1 | BIT2 | STACK |
|---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Área de trabajo del editor de Ladder
Siempre que se abre un archivo Ladder desde el acceso directo del árbol del proyecto, se muestra el editor Ladder.

El editor Ladder tiene los siguientes componentes:
| No. | Componente |
|---|---|
| 1 | Barra de herramientas de edición de variables. |
| 2 | Ámbito de la variable. |
| 3 | Grupo de variables. |
| 4 | Editor de variables o lista de variables. |
| 5 | Barra de herramientas de edición de programas. |
| 6 | Editor de Ladder. |
| 7 | Paleta de componentes de Ladder. |
Si un elemento no está visible, actívelo desde el Ventana menú.
Peldaños
El programa Ladder se edita en un editor gráfico que organiza el programa en peldaños. Cada peldaño corresponde a una sección interconectada que relaciona los elementos de entrada con los elementos de salida.
El editor Ladder de WPS se diseñó para que los peldaños puedan editarse con el ratón o, de manera más eficiente, utilizando únicamente el teclado.

Elementos principales de los peldaños
| No. | Elemento |
|---|---|
| 1 | Barra colectora izquierda. |
| 2 | Barra colectora derecha. |
| 3 | Barra colectora de salida. |
| 4 | Conexiones entre elementos. |
| 5 | Título y comentario del peldaño. |
Las salidas se conectan siempre a la derecha de la barra colectora de salida.
Áreas lógicas de entrada y salida
Dentro de un peldaño, el editor utiliza un separador vertical negro para dividir visualmente el peldaño en dos áreas lógicas:
- Lógica de entrada: el área a la izquierda del separador negro.
- Lógica de salida: el área a la derecha del separador negro.
El separador negro es solo una referencia visual. Indica que el editor cambia su comportamiento de inserción según si la posición seleccionada se encuentra en el área de lógica de entrada o en el área de lógica de salida.
Usa el área de lógica de entrada para lógica Ladder más compleja. El área de lógica de salida está destinada a estructuras de salida más simples.
Comandos de la barra de herramientas del editor de diagramas de Ladder
| Icono | Comando |
|---|---|
| Añadir un nuevo peldaño al final | |
| Añadir nuevo peldaño arriba | |
| Añadir nuevo peldaño debajo | |
| Subir un peldaño | |
| Bajar un peldaño | |
| Eliminar el peldaño seleccionado | |
| Inserte un contacto en el peldaño. | |
| Inserte un bloque funcional en el peldaño. | |
| Inserte una bobina de salida en el peldaño. | |
| Cambiar elemento de Ladder | |
| Eliminar un elemento del peldaño | |
| Editar título del peldaño | |
| Editar argumentos | |
| Seleccionar grupo de elementos | |
| Seleccionar todos los elementos | |
| Selecciona el peldaño para editarlo. |
Edición de peldaños
Para editar un peldaño, selecciónalo haciendo clic en él con el ratón o usando el control de selección de peldaños en la barra de herramientas del Editor de Ladder. Cuando se selecciona el peldaño, se muestra una barra gris en su lado izquierdo.
Título y comentario del peldaño
Para editar el título y el comentario de un peldaño, haz doble clic en el área del título y el comentario o pulsa Shift + F2. Se muestra el siguiente cuadro de diálogo.
Tras editar el título y el comentario, el editor muestra la información actualizada.
Inserción de elementos de Ladder
Para insertar un elemento de Ladder en el peldaño, se debe seleccionar un elemento de Ladder existente.
El elemento seleccionado está rodeado por un rectángulo verde discontinuo. Un punto rojo indica dónde se insertará el nuevo elemento. Este punto rojo es el punto de inserción.
Las estructuras en serie y en paralelo se generan durante la inserción de elementos. El editor utiliza el punto de inserción para determinar la posición del siguiente contacto, bobina, función, bloque de función o bloque funcional.
El comportamiento de inserción es diferente en el área de lógica de entrada y en el área de lógica de salida.
Hay tres formas de insertar elementos de Ladder.
-
Insertar con el teclado
Usa los siguientes atajos:
Clave Acción C Insertar contacto. F Insertar bloque funcional. O Inserte la bobina de salida. X Cambiar elemento de Ladder. -
Insertar desde la barra de herramientas del editor de Ladder
Icono Acción Inserte un contacto en el peldaño. Inserte un bloque funcional en el peldaño. Inserte una bobina de salida en el peldaño. Cambiar elemento de Ladder. -
Insertar desde la paleta de elementos de Ladder
Para insertar elementos desde la paleta:
- Haz clic en el elemento de la paleta.
- Mantén presionado el botón del ratón.
- Mueva el ratón hasta el punto de inserción en el Diagrama Ladder.
- Suelta el botón del ratón.
Tras insertar un elemento, en este caso un contacto, el peldaño se muestra como se indica a continuación.
Insertar elementos en serie
Usa los puntos de inserción que aparecen a continuación para insertar un elemento en serie.
Insertar elementos en serie corresponde a la lógica Boolean AND.
Insertar elementos en paralelo
Usa los puntos de inserción que aparecen a continuación para insertar un elemento en paralelo.
La inserción de elementos en paralelo corresponde a la lógica Boolean OR.
Comportamiento de inserción de lógica de entrada
En el área de lógica de entrada, el editor crea elementos en serie o en paralelo según el punto de inserción seleccionado.
Este comportamiento permite construir lógica Ladder más compleja en el lado izquierdo del separador negro.




Comportamiento de inserción de lógica de salida
En el área de lógica de salida, el editor limita el número de elementos insertados en serie y crea estructuras de salida duplicadas cuando es necesario.
Este comportamiento mantiene más simple la parte de salida y separa las condiciones de entrada complejas de las acciones de salida.




Cree lógica Ladder más compleja en el área de lógica de entrada, a la izquierda del separador negro.
Navegación por los peldaños con el teclado
Usa las teclas de flecha para desplazarte dentro de un peldaño. Estas teclas permiten seleccionar elementos existentes y definir dónde se insertará el siguiente elemento.
| Icono de llave | Comportamiento de inserción |
|---|---|
| Inserta el nuevo elemento antes del elemento seleccionado. | |
| Inserta el nuevo elemento en paralelo por encima del elemento seleccionado. | |
| Inserta el nuevo elemento en paralelo debajo del elemento seleccionado. | |
| Inserta el nuevo elemento después del elemento seleccionado. |
Tras insertar un contacto, el peldaño se muestra como se indica a continuación.
Selección del punto de inserción
Pulsa una tecla de flecha para cambiar el punto de inserción en relación con el elemento seleccionado.
Pulsa para insertar el siguiente elemento antes del elemento seleccionado.
Pulsa para insertar el siguiente elemento en paralelo encima del elemento seleccionado.
Pulsa para insertar el siguiente elemento en paralelo debajo del elemento seleccionado.
Pulsa para insertar el siguiente elemento después del elemento seleccionado.
Pasando al siguiente elemento
Cuando el punto de inserción ya está seleccionado, volver a pulsar la misma tecla de flecha desplaza la selección al siguiente elemento en esa dirección.
Gestionar elementos paralelos
Cuando el peldaño contiene ramas en paralelo, la navegación por teclado selecciona cada elemento individualmente.
Cuando se selecciona un elemento de rama individual, la siguiente inserción se realiza en relación con dicho elemento seleccionado.
Para insertar un elemento en relación con todo el grupo paralelo, pulsa G para seleccionar primero el grupo. Luego, define el punto de inserción e inserta el nuevo elemento.
Cada vez G al pulsarlo, el editor selecciona el grupo situado inmediatamente encima del elemento o grupo seleccionado anteriormente. Al finalizar el ciclo de selección, el editor vuelve al elemento original. En algunas situaciones, debe pulsar G más de una vez para seleccionar el grupo requerido.
Insertar elementos en relación con un grupo
Tras seleccionar un grupo con G, puedes insertar nuevos elementos en relación con el grupo seleccionado en lugar de con un único elemento.
El siguiente ejemplo inserta un elemento en paralelo con un grupo de elementos en el peldaño.
El siguiente ejemplo inserta un elemento en serie con un grupo formado por elementos dentro de una rama en paralelo.
Navegar por los peldaños con el ratón
Todas las funciones de navegación por teclado también están disponibles con el ratón. Al hacer clic directamente dentro del peldaño, puedes seleccionar un elemento y definir el punto de inserción para el siguiente elemento.
| Cursor | Acción | Representación |
|---|---|---|
| Selecciona el elemento y coloca el punto de inserción en paralelo sobre él. | ||
| Selecciona el elemento y coloca el punto de inserción en paralelo debajo de él. | ||
| Selecciona el elemento y coloca el punto de inserción antes de él. | ||
| Selecciona el elemento y coloca el punto de inserción después de él. |
Insertar un elemento con el ratón
Puedes definir el punto de inserción mientras arrastras un nuevo elemento desde la paleta. A medida que se arrastra el elemento sobre el peldaño, el editor actualiza la selección y el punto de inserción según la posición del cursor.
Para insertar un elemento con el ratón:
- Haz clic en el elemento de la paleta y mantén presionado el botón del ratón.
- Arrastra el elemento sobre el peldaño.
- Mueva el cursor para seleccionar el punto de inserción.
- Suelte el botón del ratón sobre el punto de inserción seleccionado.
El resultado de la inserción se muestra a continuación.
Mientras arrastras un elemento, mantén presionado. Ctrl para seleccionar puntos de inserción relacionados con grupos de elementos en lugar de elementos individuales.
Copiar, cortar y pegar
Las operaciones de copiar, cortar y pegar están disponibles en el editor Ladder a través del Editar menú y los atajos de teclado correspondientes. Para utilizar estas operaciones, primero seleccione un elemento, un grupo de elementos o uno o varios peldaños.
Uso Ctrl+C copiar, Ctrl+X cortar, y Ctrl+V pegar.
Copiar y pegar un elemento
El siguiente ejemplo muestra cómo copiar y pegar un único elemento Ladder.
-
Selecciona el elemento de origen
Selecciona el elemento que se va a copiar y pulsa Ctrl+C.
-
Selecciona el punto de inserción de destino
Selecciona el elemento de destino y define el punto de inserción donde se pegará el elemento copiado.
-
Pegar el elemento
Pulsa Ctrl+V. El elemento copiado se inserta en el punto de inserción seleccionado.
Copiar y pegar varios elementos
También puede copiar, cortar y pegar varios elementos seleccionados. Se pueden seleccionar varios elementos con el ratón o con el G clave.
-
Selecciona el grupo de origen
Selecciona el grupo de elementos que se copiarán y pulsa Ctrl+C.
-
Selecciona el destino y pega
Selecciona el elemento de destino y el punto de inserción; luego pulsa Ctrl+V.
Es posible que la función de pegar no esté disponible en algunos contextos.Puede haber situaciones en las que el contenido seleccionado no se pueda pegar en el punto de inserción actual. En estos casos, el peldaño no se modifica tras el comando de pegar.
Copiar y pegar peldaños
Los peldaños para las operaciones de copiar, cortar y pegar se seleccionan únicamente con el ratón. Puede seleccionar un peldaño desde cualquiera de los lados del área de peldaños.
También se pueden seleccionar varios peldaños para operaciones de copiar, cortar y pegar.
-
Selecciona el peldaño de origen
Selecciona el peldaño que se va a copiar y pulsa Ctrl+C.
-
Selecciona la posición de pegado
Selecciona el peldaño inmediatamente superior a la ubicación donde se pegará el peldaño copiado.
-
Pega el peldaño
Pulsa Ctrl+V. El peldaño copiado se inserta en el destino seleccionado.
Monitoreo en línea
Una vez compilado y transferido el programa Ladder al dispositivo, haz clic en Conectar dispositivo en el menú principal para iniciar la supervisión en línea y permitir que WPS establezca comunicación con el dispositivo de destino.
La supervisión en línea representa gráficamente el estado lógico del programa Ladder.
Para los bloques de función, WPS muestra los valores supervisados directamente en el editor Ladder.
Los valores de las variables se muestran junto a sus variables correspondientes. Los valores internos de una instancia de bloque de función se muestran junto a los nombres de los argumentos correspondientes.
Escritura de variables durante la monitorización
Durante la supervisión en línea, puede escribir valores directamente en las variables supervisadas.
-
Abrir el cuadro de escritura de valores
Haz doble clic en la variable que quieras escribir.
-
Introduce el valor
En el campo de escritura de valor, introduzca el valor que debe escribirse en la variable.
-
Escribir o alternar el valor
Haz clic Escribe para enviar el valor introducido a la variable.
Uso Alternar para alternar el valor escrito entre
0y el valor actual.
Monitoreo de instancias
Para supervisar las variables internas de una instancia de bloque de función, haga doble clic en la variable de instancia.
El cuadro de supervisión de la instancia muestra las variables internas relacionadas con la instancia seleccionada.
Para escribir en una variable de instancia interna:
- Haz clic en la fila correspondiente.
- Introduce el valor requerido en el cuadro de edición de valores.
- Haz clic Escribe para enviar el valor, o Alternar para alternar el valor entre
0y el valor actual.
Estructuras de monitoreo
Las variables creadas a partir de estructuras definidas en el recurso también pueden monitorizarse en el editor Ladder.
El siguiente ejemplo muestra una estructura definida en el recurso.
La siguiente figura muestra una variable creada con el tipo de datos de esa estructura.
Para supervisar la variable de estructura, haga clic en la variable correspondiente en el editor Ladder. WPS abre un cuadro de supervisión similar al cuadro de supervisión de instancias.
Matrices de monitoreo
Las variables creadas con un tamaño mayor que cero pueden monitorizarse como matrices. Esto le permite visualizar todos los datos contenidos en la variable.
El siguiente ejemplo muestra una variable de tipo matriz creada con un tamaño mayor que cero.

Para supervisar los datos de la matriz, haga clic en la variable correspondiente en el editor Ladder. WPS abre un cuadro de supervisión con los valores de la matriz.