4.4 Lista de instrucciones (AWL)

El lenguaje de lista de instrucciones (AWL - Anweisungs-Liste - en alemán o STL - Statement List - en inglés), también conocido como el ensamblador de SIEMENS, es un conjunto de nemónicos y operandos que componen instrucciones traducibles a código máquina.

AWL es un lenguaje potente y compacto que permite implementar programas de control complejos. A diferencia de otros lenguajes de STEP 7, AWL es el que está más cerca de la máquina y por tanto no está pensado para expertos en instalaciones y dispositivos de control (para los que existen lenguajes gráficos como FUP o KOP), sino para personas con formación en informática y electrónica digital.

AWL dispone de un juego de nemónicos extenso (más de 100) al igual que de operandos y de modos de direccionamiento. En su creación, se han seguido los preceptos del lenguaje Instruction List fijado por la norma IEC 61131-3 (o su equivalente alemana DIN EN-61131-3) con algunas diferencias poco significativas en el plano conceptual.

4.4.1 Instrucciones básicas para programar AWL en Step 7

Las instrucciones básicas van a ser:

  • U: AND (Und en alemán)
  • UN: AND negada
  • O: OR
  • ON: OR negada
  • X: XOR
  • XN: XOR negada
  • =: asignación

Se pueden usar paréntesis para agrupar operaciones.

4.4.2 Funciones básicas

AND

U E32.0
UN E32.1
= A 32.0

Equivale a:

A32.0=E32.0·¯E32.1

OR

O E32.0
ON E32.1
= A 32.0

Equivale a:

A32.0=E32.0+¯E32.1

XOR

U E32.0
UN E32.1
O
UN E32.0
U E32.1
= A 32.0

Equivale a:

A32.0=(E32.0·¯E32.1)+(¯E32.0·E32.1)

4.4.3 Ejemplos

Por ejemplo, el siguiente código:

U(
O E32.0
O E32.1
)
U(
ON E32.0
ON E32.1
)
UN E32.2
= A 33.0

Equivale a:

A33.0=(E32.0+E32.1)·(¯E32.0+¯E32.1)·¯E32.2

La representación equivalente en esquema de contactos se muestra en la Fig. 4.10 (obtenida de (Siemens, 2004b)).

Código AWL vs esquema de contactos

Figura 4.10: Código AWL vs esquema de contactos

Más información disponible en (Siemens, 2004b).

Referencias

Siemens, Lista de instrucciones (AWL) para S7-300 y S7-400, Siemens, 2004b.