Chuleta AWL/STL: instrucciones de Siemens (STL cheat sheet)

Chuleta AWL/STL: instrucciones de Siemens (STL cheat sheet)

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

AWLSTLQué hace
UAY lógica (contacto en serie)
UNANY lógica negada
OOO lógica (contacto en paralelo)
ONONO lógica negada
XXO exclusiva (XOR)
XNXNO exclusiva negada
==Asignación (bobina)
SSPoner a 1 (Set)
RRPoner a 0 (Reset)
FPFPFlanco positivo (de subida)
FNFNFlanco negativo (de bajada)
NOTNOTNegar el resultado lógico (RLO)
SETSETPoner el RLO a 1
CLRCLRPoner el RLO a 0
SAVESAVEGuardar el RLO en el bit BR

Carga y transferencia

AWLSTLQué hace
LLCargar un valor en el acumulador 1
TTTransferir el acumulador 1 a un destino
TAKTAKIntercambiar los acumuladores 1 y 2
LAR1 / LAR2LAR1 / LAR2Cargar un registro de direcciones (punteros)
TAR1 / TAR2TAR1 / TAR2Transferir un registro de direcciones

Temporizadores (S5)

AWLSTLQué hace
SISPTemporizador como impulso
SVSEImpulso prolongado
SESDRetardo a la conexión
SSSSRetardo a la conexión con memoria
SASFRetardo a la desconexión
RRResetear 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

AWLSTLQué hace
ZVCUContar adelante
ZRCDContar atrás
SSPreseleccionar el contador
RRResetear el contador

Comparación

InstrucciónQué hace
==I, <>I, >I, <I, >=I, <=IComparar enteros (16 bits)
==D, <>D, >D, <D, >=D, <=DComparar enteros dobles (32 bits)
==R, <>R, >R, <R, >=R, <=RComparar reales

Aritmética

InstrucciónQué hace
+I, -I, *I, /ISumar, restar, multiplicar y dividir enteros
+D, -D, *D, /D, MODLo mismo con enteros dobles, más el resto de la división
+R, -R, *R, /RLo mismo con reales
ABS, SQR, SQRTValor absoluto, cuadrado y raíz cuadrada
LN, EXP, SIN, COS, TANLogaritmo, exponencial y trigonometría

Conversión

InstrucciónQué hace
BTI / ITBBCD a entero / entero a BCD
BTD / DTBBCD a entero doble / entero doble a BCD
ITDEntero a entero doble
DTREntero doble a real
RND, RND+, RND-, TRUNCReal a entero doble (redondeos y truncado)
INVI, INVDComplemento a 1 (16 / 32 bits)
NEGI, NEGD, NEGRComplemento a 2 / cambiar el signo

Lógica de palabra, desplazamiento y rotación

AWLSTLQué hace
UW / OW / XOWAW / OW / XOWAND, OR y XOR de palabras (16 bits)
UD / OD / XODAD / OD / XODAND, OR y XOR de palabras dobles (32 bits)
SLW / SRWSLW / SRWDesplazar palabra a izquierda / derecha
SLD / SRDSLD / SRDDesplazar palabra doble
SSI / SSDSSI / SSDDesplazar con signo (16 / 32 bits)
RLD / RRDRLD / RRDRotar 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

AWLSTLQué hace
SPAJUSalto incondicional a una meta
SPBJCSaltar si RLO = 1
SPBNJCNSaltar si RLO = 0
SPBBJCBSaltar si RLO = 1, guardando el RLO en BR
SPZJZSaltar si el resultado es cero
SPNJNSaltar si el resultado no es cero
SPP / SPMJP / JMSaltar si el resultado es positivo / negativo
LOOPLOOPBucle con contador en el acumulador 1

Control de bloques

InstrucciónQué hace
CALLLlamar a un FC, FB o SFC con sus parámetros
UC / CCLlamada incondicional / condicional sin parámetros
BE / BEAFin de bloque / fin de bloque incondicional
BEBFin de bloque si RLO = 1
AUF (OPN)Abrir un DB o DI
NOP 0No 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.

Comentarios (8)
carlos r
Hola Iñigo, Me parece excelente el aporte de informacion que has aportado en tu blog y en los videos en youtube. Soy ingeniero en electronica, pero no tengo instrucción en proyectos de automatizacion industrial. El caso es que estoy aprendiendo de cero sobre automatizacion, debido a un proyecto en concreto de automatizar un proceso en un horno tostador de cacao. Quisiera saber si me puedes orientar en el aprendizaje de el lenguaje awl, si conoces algun enlace donde hallar un curso básico, pero completo, sobre este particular. He estado aprendiendo sobre STEP 7, tengo el proceso bastante bien diagramado y organizado, pero me falta trasladarlo al lenguaje del plc. Agradecido de antemano por la ayuda que me puedas ofrecer. Carlos R.
Iñigo Gútiez
Hola Carlos, Lo primero gracias por el interés y por comentar. En cuanto al manual de AWL el más completo que se me ocurre, aunque sea un poco árido en las explicaciones es el propio de Siemens. http://es.scribd.com/doc/58337531/Siemens-AWL Échale un vistazo a ver si es lo que te interesa. Si quieres tenerlo me dices y lo puedo colgar en el blog. También he encontrado un par de links más que te pueden interesar: http://instrumentacionycontrol.net/Descargas/Descargas/SIEMENS/Automatas%20_PLC/IyCnet_Programacion_AWL.pdf http://www.infoplc.net/descargas/14-siemens/471-guia-raida-programacion-awl En cualquier caso, si tienes alguna duda con algo en especial o cómo hacer algo y se cómo hacerlo o puedo ayudarte, no lo dudes. Pregunta. Un saludo
fabian limones
Gracias
Raúl
Sólo se puede bajar el de las categorías, es el que abren los dos links. Gracias!
Iñigo Gútiez
Solucionado! Gracias por el aviso
Francisco
Gracias Iñigo estaba desde principio de curso haciéndome unas tablas a mano y me has ahorrado un trabajo de chinos jajajaja. Un saludo!!!!!
Jerry Daniel
Hola Iñigo, ¿Tienes el listado en Español?
Noe
Gracias no tenia conocimiento del Step 5 y como era la progamacion hasta que hace poco vi uno en donde trabajo y vi quellevaba el el programa este.