Esta es la chuleta de AWL / STL que me habría gustado tener al empezar: todas las instrucciones del lenguaje de lista de instrucciones de Siemens, organizadas por categoría y listas para consultar en segundos. Puedes descargarla en PDF o usar las tablas de esta página, que además incluyen la equivalencia entre los nemónicos en alemán (AWL) y en inglés (STL).
Descarga la chuleta en PDF
Dos versiones del mismo listado completo, según cómo prefieras buscar:
📄 Chuleta por categorías (PDF) 📄 Chuleta alfabética (PDF)
Ambos PDF usan los nemónicos en inglés (STL) y están en inglés (el original es de plcdev.com; los alojo aquí para que no desaparezcan). Si programas con el juego de caracteres en alemán —lo habitual en España—, usa la tabla de equivalencias de aquí abajo.
¿AWL o STL? Alemán e inglés
Son el mismo lenguaje: AWL (Anweisungsliste) es el nombre en alemán y STL (Statement List) el nombre en inglés. Lo que cambia entre uno y otro son los nemónicos de algunas instrucciones: en los proyectos configurados con idioma alemán la Y lógica es U, y en inglés es A. En STEP 7 y TIA Portal puedes cambiarlo en las opciones del proyecto (idioma de los nemónicos).
Instrucciones de AWL por categoría
Las tablas siguientes recogen las instrucciones que vas a usar el 95 % del tiempo, con el nemónico en alemán (AWL), su equivalente en inglés (STL) y qué hace cada una.
Lógica de bits
| AWL | STL | Qué hace |
|---|---|---|
U | A | Y lógica (contacto en serie) |
UN | AN | Y lógica negada |
O | O | O lógica (contacto en paralelo) |
ON | ON | O lógica negada |
X | X | O exclusiva (XOR) |
XN | XN | O exclusiva negada |
= | = | Asignación (bobina) |
S | S | Poner a 1 (Set) |
R | R | Poner a 0 (Reset) |
FP | FP | Flanco positivo (de subida) |
FN | FN | Flanco negativo (de bajada) |
NOT | NOT | Negar el resultado lógico (RLO) |
SET | SET | Poner el RLO a 1 |
CLR | CLR | Poner el RLO a 0 |
SAVE | SAVE | Guardar el RLO en el bit BR |
Carga y transferencia
| AWL | STL | Qué hace |
|---|---|---|
L | L | Cargar un valor en el acumulador 1 |
T | T | Transferir el acumulador 1 a un destino |
TAK | TAK | Intercambiar los acumuladores 1 y 2 |
LAR1 / LAR2 | LAR1 / LAR2 | Cargar un registro de direcciones (punteros) |
TAR1 / TAR2 | TAR1 / TAR2 | Transferir un registro de direcciones |
Temporizadores (S5)
| AWL | STL | Qué hace |
|---|---|---|
SI | SP | Temporizador como impulso |
SV | SE | Impulso prolongado |
SE | SD | Retardo a la conexión |
SS | SS | Retardo a la conexión con memoria |
SA | SF | Retardo a la desconexión |
R | R | Resetear el temporizador |
Ojo al clásico despiste: el SE alemán (retardo a la conexión) no es el SE inglés (impulso prolongado). Si una chuleta y tu editor no coinciden, comprueba primero el idioma de los nemónicos. En TIA Portal lo habitual hoy es usar los temporizadores IEC (TON, TOF, TP), que explico en esta guía de temporizadores.
Contadores
| AWL | STL | Qué hace |
|---|---|---|
ZV | CU | Contar adelante |
ZR | CD | Contar atrás |
S | S | Preseleccionar el contador |
R | R | Resetear el contador |
Comparación
| Instrucción | Qué hace |
|---|---|
==I, <>I, >I, <I, >=I, <=I | Comparar enteros (16 bits) |
==D, <>D, >D, <D, >=D, <=D | Comparar enteros dobles (32 bits) |
==R, <>R, >R, <R, >=R, <=R | Comparar reales |
Aritmética
| Instrucción | Qué hace |
|---|---|
+I, -I, *I, /I | Sumar, restar, multiplicar y dividir enteros |
+D, -D, *D, /D, MOD | Lo mismo con enteros dobles, más el resto de la división |
+R, -R, *R, /R | Lo mismo con reales |
ABS, SQR, SQRT | Valor absoluto, cuadrado y raíz cuadrada |
LN, EXP, SIN, COS, TAN | Logaritmo, exponencial y trigonometría |
Conversión
| Instrucción | Qué hace |
|---|---|
BTI / ITB | BCD a entero / entero a BCD |
BTD / DTB | BCD a entero doble / entero doble a BCD |
ITD | Entero a entero doble |
DTR | Entero doble a real |
RND, RND+, RND-, TRUNC | Real a entero doble (redondeos y truncado) |
INVI, INVD | Complemento a 1 (16 / 32 bits) |
NEGI, NEGD, NEGR | Complemento a 2 / cambiar el signo |
Lógica de palabra, desplazamiento y rotación
| AWL | STL | Qué hace |
|---|---|---|
UW / OW / XOW | AW / OW / XOW | AND, OR y XOR de palabras (16 bits) |
UD / OD / XOD | AD / OD / XOD | AND, OR y XOR de palabras dobles (32 bits) |
SLW / SRW | SLW / SRW | Desplazar palabra a izquierda / derecha |
SLD / SRD | SLD / SRD | Desplazar palabra doble |
SSI / SSD | SSI / SSD | Desplazar con signo (16 / 32 bits) |
RLD / RRD | RLD / RRD | Rotar palabra doble a izquierda / derecha |
¿Quieres ver estas instrucciones en acción? Dos ejemplos prácticos: filtrado y enmascarado de bits y 3 usos del desplazamiento a la izquierda.
Saltos
| AWL | STL | Qué hace |
|---|---|---|
SPA | JU | Salto incondicional a una meta |
SPB | JC | Saltar si RLO = 1 |
SPBN | JCN | Saltar si RLO = 0 |
SPBB | JCB | Saltar si RLO = 1, guardando el RLO en BR |
SPZ | JZ | Saltar si el resultado es cero |
SPN | JN | Saltar si el resultado no es cero |
SPP / SPM | JP / JM | Saltar si el resultado es positivo / negativo |
LOOP | LOOP | Bucle con contador en el acumulador 1 |
Control de bloques
| Instrucción | Qué hace |
|---|---|
CALL | Llamar a un FC, FB o SFC con sus parámetros |
UC / CC | Llamada incondicional / condicional sin parámetros |
BE / BEA | Fin de bloque / fin de bloque incondicional |
BEB | Fin de bloque si RLO = 1 |
AUF (OPN) | Abrir un DB o DI |
NOP 0 | No hacer nada (relleno del editor) |
¿Dónde se usa AWL hoy?
AWL es el lenguaje histórico de los S7-300 y S7-400, y esas máquinas siguen funcionando por miles en la industria europea: quien hace mantenimiento se lo encuentra sí o sí. En TIA Portal sigue disponible para S7-1500 (no para S7-1200), aunque para código nuevo Siemens empuja hacia SCL y KOP. Si dudas entre lenguajes, tengo una comparativa completa en ¿KOP, FUP o AWL?
Y si necesitas dominarlo de verdad —leer programas ajenos, depurar averías y modificar instalaciones en marcha—, en el Curso de AWL lo aprendes desde cero con casos reales.



