Anda di halaman 1dari 42

Posiciones de la memoria RAM

BYTE

BIT

FORMATO BYTE 7 MB0 0

M 0.3
0 X

FORMATO PALABRA (WORD)

MW0 MB1 MD0 MB2 MD1 MB3 3 MW3 MB4 4 2 X MW2 1 MW1

. . .
FORMATO DOBLE PALABRA (DOUBLE WORD) 125

. . . M 2.3

Identificaciones de elementos y bloques y sintaxis de las constantes Elementos y bloques Temporizador Bloque de datos global Bloque de datos de instancia Funcin Bloque de funcin Bloque de organizacin Contador (En funcin de la abreviatura Nemotecnia) Bloque de datos del sistema Funcin del sistema Bloque de funcin del sistema Constantes Versin breve Versin extensa B# Byte# C# Counter# W# Word# DW# Dword# D# Date# T# Time# TOD# S5T# DT# P# Time_of_day# S5Time# Date_and_time# Pointer#

T DB DI FC FB OB Z/C SDB SFC SFB

Areas de memoria y sus funciones Nombre del rea Imagen proceso de entradas (E) Imagen proceso de salidas (A) Marcas (M) Acceso a travs de unidades de longitud Al arrancar el programa, el sistema operativo Entrada lee las entradas del proceso almacenando los Byte de entrada valores en este rea Palabra de entrada Palabra doble de entrada Durante el ciclo, el programa calcula los valores de salida y los deposita en este rea. Al final del ciclo, el sistema operativo lee en este rea los valores de salida calculados y los transfiere a las salidas del proceso Area que permite almacenar resultados intermedios calculados en el programa Salida Byte de salida Palabra de salida Palabra doble de salida Funcin del rea Abre viat. E EB EW ED A AB AW AD M MB MW MD PEB PEW PED

Marcas Byte de salida Palabra de salida Palabra doble de salida E/S: Este rea permite al programa el acceso Byte de entrada de la periferia entradas directo a los mdulos de E/S (es decir, Palabra de entrada de la perif. externas entradas y salidas de la periferia) Palabra doble de entrada de la periferia E/S: Salidas externas Tempori zadores (T)

Conta dores (C) Bloques de datos (D)

Datos locales (L)

Byte de entrada de la periferia PAB Palabra de entrada de la perif. PAW Palabra doble de entrada de PAD la periferia Elementos funcionales del lenguaje de T program. KOP. Area que permite almacenar clulas de temporizacin. En este rea, el reloj accede a estas clulas para ser actualizado, decrementando el valor de temporizacin. En las clulas de temporiz. se accede con operaciones de temporizacin Elementos funcionales del lenguaje de Z program. KOP. Area de almacenamiento de contadores. Area de acceso con operaciones de conteo Area que contiene datos a los que se puede DBX acceder desde cualquier bloque. Si se desea DBB tener abiertos dos bloques al mismo tiempo, DBW uno puede abrirse con la instruccin AUF DBD DB y otro con la instruccin AUF DI. La notacin de los operandos determina a que bloque de datos se accede. Aunque la instruccin AUF DI pueda utilizarse para abrir cualquier bloque de datos, DIX su utilizacin principal consiste en abrir DIB bloques de datos de instancia asociados a DIW bloques de funcin FBs y a bloques de DID funcin de sistema SFBs Area que contiene datos temporales de L bloque lgico (DB, FB, o FC). Estos, tambin LB denominados datos locales dinmic., sirven LW de memoria intermedia. Cuando se cierra el LD bloque lgico, se pierden estos datos. Los datos estn depositados en la pila de datos locales (pila L)

Tipos de direccionamiento En el programa STEP7, pueden identificarse las variables mediante dos tipos de direccionamiento de variables: Direccionamiento absoluto (direccionamiento directo) La variable con la que se trabaja, es referenciada mediante una posicin de memoria, denominada direccin absoluta, en la que est depositado el operando. En el direccionamiento directo el operando contiene la direccin de memoria del valor con el que la operacin deber operar. El operando se puede direccionar de forma absoluta o simblica. Ejemplos: Entrada E 12.1; palabra de marcas MW 25; bloque de datos DB 3. Con la direccin A 4.0 se indica el bit 0 del byte 4 de la imagen de proceso de las salidas.

A 4.0
Identificador de operando direccionamiento de byte
Direccionamiento simblico (direccionamiento indirecto) A la variable con la que se trabaja, le es asignado un smbolo o referencia con el que poder distinguirla mas fcilmente durante la programacin o visualizacin del programa. Ejemplo: Smbolo MOTOR_ON ACTIV_IMAN FINAL_CARRERA Direccionamiento A 0.1 A 0.0 E 0.5

direccionamiento de bit

Seleccin del lenguaje de programacin


Lenguaje de programacin Lista de instrucciones AWL Destinatarios Caso de aplicacin Programas optimizados en tiempo de ejecucin y uso de memoria Programacin de controles combinaciona les Entrada incremental S Entrada orientada Bloque autoa fuente documentable de la CPU S S

Usuarios que desean programar a nivel e maquina

Esquema de contactos KOP

Usuarios familiarizados con esquemas elctricos

No

Los lenguajes de programacin sirven para crear programas de usuario, para cuyo fin ofrecen determinadas reservas lingsticas en forma de instrucciones grficas o de texto. El usuario introduce dichas instrucciones utilizando un editor, y estas instrucciones se compilan en un programa de usuario ejecutable. El programa SIMATIC S7 ofrece los lenguajes de programacin por lista de instrucciones (AWL), diagrama de funciones (FUP) y esquema de contactos (KOP) para programar bloques. Desde el editor de programacin KOP, AWL, FUP, una vez cargado un proyecto, puede ser cambiado el lenguaje de programacin a travs del comando men Ver, donde pueden verse los tipos tres tipos de lenguajes KOP, AWL, FUP. El cambio de lenguaje de programacin puede ser realizado en cualquier momento. Slo es posible cambiar de AWL a KOP/FUP si las instrucciones AWL asumen toda la asignacin de parmetros de los correspondientes elementos KOP/FUP y respetan el orden. A los parmetros no usados en AWL se les asigna NOP 0. Lista de instrucciones (AWL) La lista de instrucciones (AWL) es un lenguaje de programacin textual orientado a la mquina. El lenguaje AWL es el lenguaje ensamblador de STEP 7. Si un programa ha sido programado en lenguaje AWL, cada instruccin corresponder a cada uno de los pasos que dar la CPU para ejecutarlo. Ejemplo: U( O E 0.0 U E 0.1) = A 2.0 Esquema de contactos (KOP) El esquema de contactos es un lenguaje de programacin grfico mediante diagrama de contactos y diagrama de funciones. El esquema de contactos es uno de los lenguajes de programacin de STEP 7. Esta representacin est normalizada segn la norma DIN 19239. La representacin del esquema de contactos corresponde a la de un esquema de circuitos. Al contrario que en la lista de instrucciones (AWL), en KOP solamente se puede representar una cantidad limitada de operaciones.

Componentes del editor KOP Tabla correspondiente a las operaciones del lenguaje KOP por orden alfabtico en la que se muestra el nombre de la funcin y la abreviatura SIMATIC correspondiente.

Instrucciones de bit ---I I--- Contacto normalmente abierto Parmetro <Operando> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z Descripcin Bit consultado

Como se trabaja en lgica binaria, cuando el contacto esta abierto significa que esta desactivado 0, es decir, circula flujo, por lo tanto el RLO es 0 . ---I/I--- Contacto normalmente cerrado Parmetro <Operando> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z Descripcin Bit consultado

Como se trabaja en lgica binaria, cuando el contacto esta cerrado significa que esta activado 1, es decir, circula flujo, por lo tanto el RLO es 1 . ---( ) Bobina de rele, salida Parmetro <Operando> Tipo de datos BOOL Area de memoria E, A, M, L, D Descripcin Bit asignado

Si del resultado de la operacin lgica de contactos y funciones se obtiene un 1 en la salida, la bobina de rel se activa, si el resultado es un 0 , no se activa. ---(S) Activar salida Parmetro <Operando> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z Descripcin Bit activado

Si del resultado de la operacin lgica de contactos y funciones se obtiene un 1 en la salida, la bobina de rel se activa SET permanentemente hasta que sea desactivada mediante un RESET. Si el resultado es un 0 , no se activa. ---(R) Desactivar salida Parmetro <Operando> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z Descripcin Bit desactivado

Si del resultado de la operacin lgica de contactos y funciones se obtiene un 1 en la salida, la bobina de rel se desactiva RESET. Si el resultado es un 0 , no se desactiva. Para desactivar una salida, previamente ha tenido que ser activada. Bsculas RS / SR Parmetro <Operando> S R Q Tipo de datos BOOL BOOL BOOL BOOL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Bit activado o desactivado Activacin habilitada Desactivacion habilitada Estado de seal del operando

RS (Activacin de flip-flop de desactivacin)

Si la entrada R recibe el estado 1 y la entrada S el estado 0, la bascula desactiva su salida. Si la entrada R recibe el estado 0 y la entrada S el estado 1, la bascula activa su salida. Cuando en ambas entradas recibe el estado 1, primero desactiva y seguidamente activa.

SR (Desactivacion de flip-flop de activacin) Si la entrada R recibe el estado 1 y la entrada S el estado 0, la bascula desactiva su salida. Si la entrada R recibe el estado 0 y la entrada S el estado 1, la bascula activa su salida. Cuando en ambas entradas recibe el estado 1, primero activa y seguidamente desactiva. Evaluacin de flancos ---(P)--- Detectar flanco de subida (01) Parmetro <Operando> Tipo de datos BOOL Area de memoria Descripcin A, M, D Marca de flancos que almacena el estado de seal anterior del RLO

Deteccin de cambio de estado del operando de 0 a 1. El estado de seal actual del RLO es comparado con el estado de seal del operando (marca de flancos). Si el estado de seal del operando es 0 y el RLO antes de la operacin es 1, el RLO despus de la operacin es 1, en todos los otros casos 0. ---(N)--- Detectar flanco de bajada (10) Parmetro <Operando> Tipo de datos BOOL Area de memoria Descripcin A, M, D Marca de flancos que almacena el estado de seal anterior del RLO

Deteccin de cambio de estado del operando de 1 a 0. El estado de seal actual del RLO es comparado con el estado de seal del operando (marca de flancos). Si el estado de seal del operando es 1 y el RLO antes de la operacin es 0, el RLO despus de la operacin es 0, en todos los otros casos 1. Detectar flanco de seal ( 01 ) Parmetro <Operando1> <Operando2> Q Tipo de datos BOOL BOOL BOOL Area de memoria Descripcin E, A, M, L, D Seal consultada A, M, D Marca de flancos M_BIT, almacena el estado de seal anterior del Operando1 E, A, M, L, D Deteccin del cambio de seal

Compara el estado de la seal del operando 1 con la del estado anterior almacenada en el operando 2. Si el estado anterior del RLO era 0, ahora es 1 (Deteccin de un flanco de subida). Despus de esta operacin la salida Q ser 1, y en los restantes casos 0. Detectar flanco de seal ( 10 ) Parmetro <Operando1> <Operando2> Q Tipo de datos BOOL BOOL BOOL Area de memoria Descripcin E, A, M, L, D Seal consultada A, M, D Marca de flancos M_BIT, almacena el estado de seal anterior del Operando1 E, A, M, L, D Deteccin del cambio de seal

Compara el estado de la seal del operando 1 con la del estado anterior almacenada en el operando 2. Si el estado anterior del RLO era 1, ahora es 0 (Deteccin de un flanco de bajada). Despus de esta operacin la salida Q ser 0, y en los restantes casos 1.

---(SAVE) Cargar resultado lgico Almacena el resultado lgico RLO en el bit RB de la palabra de estado. ismos pero de signo opuesto.

Temporizadores de retardo Tablas de caractersticas correspondientes a los temporizadores nombrados en los siguientes apartados: Parmetro SIMATIC N de T S TV R BI BCD Q Tipo de datos TIMER BOOL S5TIME BOOL WORD WORD BOOL Area de memoria T E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Numero de identificacin del temporizador, el rea depende de la CPU utilizada Entrada de arranque. Valor del temporizador preseleccionado. Entrada de desactivacin. Valor del temporizador actual, codificado en binario. Valor del temporizador actual, codificado en BCD. Estado del temporizador. Resolucin 0,01 segundos 0,1 segundos 1 segundo 10 segundos

Margen De 10MS a 9S_990MS De 100MS a 1M_39S_900MS De 1S a 16M_39S De 10S a 2H_46M_30S S5TIME#4S = 4 segundos s5t#2h_15m = 2 horas y 15 minutos S5T#1H_12M_18S = 1 hora, 12 minutos y 18 segundos

Los valores no deben exceder de 2H_46M_30S. Los valores que son demasiado grandes para un margen o una resolucin se redondean de manera que correspondan a los valores lmite para ese margen y esa resolucin (p. ej. 2H_10MS). Temporizadores de retardo S_EVERTZ (Temporizador con retardo a la conexin) Al activarse su entrada SET, empieza a contar el tiempo programado, tras el cual activa la salida Q. Al recibir un pulso en la entrada SET, empieza a contar el tiempo programado sin activar la salida Q desconectndose el conteo instantneamente que cesa el pulso en el SET. La entrada RESET predomina sobre la entrada SET, por lo tanto al recibir un pulso en la entrada RESET mientras el temporizador esta contando o activado, la salida Q queda desactivada 0.

S_SEVERTZ (Temporizador con retardo a la conexin con memoria) Al activarse su entrada SET, empieza a contar el tiempo programado, tras el cual activa la salida Q. Al recibir un pulso en la entrada SET, empieza a contar el tiempo programado sin activar la salida Q desconectndose el conteo instantneamente que cesa el pulso en el SET, memorizando el tiempo transcurrido, que sumado al tiempo posterior de un siguiente SET, llegara al tiempo establecido activando la salida Q. La entrada RESET predomina

sobre la entrada SET, por lo tanto al recibir un pulso en la entrada RESET mientras el temporizador esta contando o activado, la salida Q queda desactivada 0 adems de borrar la memoria del temporizador.

S_AVERTZ (Temporizador con retardo a la desconexin) Al cambiar su entrada SET de 1 a 0, empieza a contar el tiempo programado, tras el cual desactiva la salida Q. Al recibir un pulso en la entrada SET, empieza a contar el tiempo programado sin desactivar la salida Q desconectndose el conteo instantneamente que recibe el flanco de bajada de un nuevo pulso en el SET. La entrada RESET predomina sobre la entrada SET, por lo tanto al recibir un pulso en la entrada RESET mientras el temporizador esta contando o activado, la salida Q queda desactivada 0.

Temporizadores de impulso S_IMPULS (Arrancar temporizador con impulso) Al activarse su entrada SET, activa instantneamente la salida Q, empezando a contar el tiempo programado tras el cual desactiva la salida Q. La desactivacin de la entrada SET durante el funcionamiento del temporizador interrumpe el estado activo de Q desactivando la salida y desconectndose el conteo. La entrada RESET predomina sobre la entrada SET, por lo tanto al recibir un pulso en la entrada RESET mientras el temporizador esta funcionando, la salida Q queda desactivada 0.

S_VIMP (Arrancar temporizador con impulso prolongado) Al activarse su entrada SET, activa instantneamente la salida Q, empezando a contar el tiempo programado tras el cual desactiva la salida Q. La desactivacin de la entrada SET durante el funcionamiento del temporizador no interrumpe el estado activo de Q, si no que el temporizador continua el conteo y manteniendo activa la salida Q hasta que termina el tiempo establecido. En el supuesto caso que mientras el temporizador estuviese funcionando, recibiese un nuevo pulso en la entrada SET tras un pulso anterior en la misma entrada, la salida Q se mantendra activa reactivndose el conteo, por lo tanto, mantenindose por mas

tiempo el funcionamiento del temporizador y la salida Q. La entrada RESET predomina sobre la entrada SET, por lo tanto al recibir un pulso en la entrada RESET mientras el temporizador esta funcionando, la salida Q y el tiempo de conteo quedan desactivados 0.

Instrucciones de bit para temporizadores ---(SI) Arrancar temporizador con impulso Basado en el mismo funcionamiento que el S_IMPULS, la activacin de la entrada E 0.0 de "0" a "1" (flanco creciente en el RLO), el temporizador T5 arranca. El temporizador contina en marcha con el valor de temporizacin indicado de 2 s mientras E 0.0 sea "1". Si el estado de seal en E 0.0 cambia de "1" a "0" antes de transcurrir el tiempo, el temporizador se para. La salida A 4.0 es "1" mientras el temporizador est en marcha. Si el estado de seal en la entrada E 0.1 cambia de "0" a "1", el temporizador T5 se pone a 0, es decir, se para y el valor de temporizacin restante se pone a "0".

---(SV) Arrancar temporizador con impulso Basado en el mismo funcionamiento que el S_VIMP, la activacin de la entrada E 0.0 de "0" a "1" (flanco creciente en el RLO), el temporizador T5 arranca. El temporizador contina en marcha con el valor de temporizacin indicado sin ser afectado por un flanco negativo en el RLO. Si el estado de seal en E 0.0 cambia de "0" a "1" antes de transcurrir el tiempo, el temporizador se vuelve a arrancar. La salida A 4.0 es "1" mientras el temporizador est en marcha. Si el estado de seal en la entrada E 0.1 cambia de "0" a "1", el temporizador T5 se pone a 0, es decir que se para y que el valor de temporizacin restante se pone a "0".

---(SE) Arrancar temporizador con retardo a la conexin Basado en el mismo funcionamiento que el S_EVERZ, la activacin de la entrada E 0.0 de "0" a "1" (flanco creciente en el RLO), el temporizador T5 arranca. Si transcurre el tiempo y el estado de seal en E 0.0 sigue siendo "1", la salida A 4.0 es "1". Si el estado de seal en la entrada E 0.0 cambia de "1" a "0", el temporizador cambia a la marcha en vaco y A 4.0 es "0". Si el estado de seal en la entrada E 0.1 cambia de "0" a "1", el temporizador T5 se pone a 0, es decir, se para y el valor de temporizacin restante se pone a "0".

---(SS) Arrancar temporizador con retardo a la conexin con memoria Basado en el mismo funcionamiento que el S_SEVERZ, la activacin de la entrada E 0.0 de "0" a "1" (flanco creciente en el RLO), el temporizador T5 arranca. Si el estado de seal en la entrada E 0.0 cambia de "0" a "1" antes de transcurrir el tiempo, el temporizador se vuelve a arrancar. La salida A 4.0 es "1" si ha transcurrido el tiempo. Si el estado de seal en la entrada E 0.1 es "1", el temporizador T5 se pone a 0, es decir, se para y el valor de temporizacin restante se pone a "0".

---(SA) Arrancar temporizador con retardo a la desconexin Basado en el mismo funcionamiento que el S_AVERZ, la activacin de la entrada E 0.0 de "1" a "0", el temporizador arranca. A 4.0 es "1" si E 0.0 es "1" o si el temporizador est en marcha. Si el estado de seal en la entrada E 0.1 cambia de "0" a "1", el temporizador T5 se pone a 0, es decir que se para y que el valor de temporizacin restante se pone a "0".

Contadores Tabla correspondiente al smbolo SIMATIC de los temporizadores anteriormente explicados. Parmetro SIMATIC N de Z ZV ZR S ZW R DUAL DEZ Q Tipo de datos COUNTER BOOL BOOL BOOL WORD BOOL WORD WORD BOOL Area de memoria Z E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Tipo de datos COUNTER WORD Descripcin Numero de identificacin del contador, el rea depende la CPU utilizada. Entrada de conteo adelante. Entrada de conteo atrs. Entrada para preseleccionar el contador. Valor para preseleccionar el contador. Entrada de puesta a 0. Valor actual del contador, numero binario. Valor actual del contador, numero BCD. Estado del contador. Area de memoria Z E, A, M, L, D Descripcin Numero del contador preseleccionado. Valor para la preseleccin BCD (0999).

Parmetro SIMATIC <C-Nr.> <Valor preseleccionado>

Valor para preseleccionar el contador en forma de C#<valor> en el margen comprendido entre 0 y 999. ZAEHLER (incrementar/decrementar) La cantidad desde la que el contador comienza a contar es seleccionada en la entrada ZW al activar S mediante un flanco ascendente. La entrada ZV incrementa en 1 por cada pulso que recibe el valor preseleccionado. La entrada ZR decrementa en 1 por cada pulso que recibe el valor preseleccionado. Si hay un flanco ascendente en la entrada R, el contador se pone a cero y el valor de contaje es 0. El mximo y mnimo valor admisible por el contadores "999" y 0, ya que deja de incrementar y decrementar. Al producirse un flanco ascendente en ambas entradas de contaje, el valor de contaje no vara. El estado de seal de la salida Q ser "1" si el valor de contaje es mayor que cero, y ser "0" si el valor de contaje es igual a cero.

Al cambiar la entrada E 0.2 de "0" a "1", el contador toma el valor de preseleccin de MW10. Si el estado de seal en E 0.0 cambia de "0" a "1", el valor del contador Z10 incrementa en "1", a menos que el valor de Z10 fuera "999". Si E 0.1 cambia de "0" a "1", Z10 decrementa en "1", a no ser que el valor de Z10 fuera cero. La salida A 4.0 ser "1" si el valor de Z10 no es cero.

Z_VORN (incrementar contador) La cantidad desde la que el contador comienza a contar es seleccionada en la entrada ZW al activar S mediante un flanco ascendente. La entrada ZV incrementa en 1 por cada pulso que recibe al valor preseleccionado. Si hay un flanco ascendente en la entrada R, el contador se pone a cero y el valor de contaje es 0. en la entrada R el contador se pone a 0, y entonces el valor de contaje es cero. El mximo valor admisible por el contadores "999", a partir de aqu, el contador deja de incrementar.

Al cambiar la entrada E 0.2 de "0" a "1", el contador toma el valor predeterminado para MW10. Si el estado de seal en E 0.0 cambia de "0" a "1", el valor del contador Z10 se incrementa en "1", a menos que el valor de Z10 fuera "999". La salida A 4.0 ser "1" siempre que el valor de Z10 no sea cero. Z_RUECK (decrementar contador) La cantidad desde la que el contador comienza a contar es seleccionada en la entrada ZW al activar S mediante un flanco ascendente. La entrada ZR decrementa en 1 por cada pulso que recibe al valor preseleccionado. Si hay un flanco ascendente en la entrada R, el contador se pone a cero y el valor de contaje es 0. en la entrada R el contador se pone a 0, y entonces el valor de contaje es cero. El mnimo valor admisible por el contadores "0", a partir de aqu, el contador deja de decrementar.

Al cambiar la entrada E 0.2 de "0" a "1", el contador toma el valor de preseleccin de MW10. Si el estado de seal en E 0.0 cambia de "0" a "1", el valor del contador Z10 decrementa en "1", a menos que el valor de Z10 fuera "0". La salida A 4.0 ser "1" siempre que el valor de Z10 no sea cero. Instrucciones de bit para contadores ---(SZ) Poner el contador en el valor inicial Se ejecuta solamente en caso de que haya un flanco ascendente en el RLO. En este caso se transmite el valor predeterminado al contador indicado.

El valor 100 quedar preseleccionado para el contador Z5 si en la entrada E 0.0 se produce un flanco ascendente (cambio de "0" a "1"). El valor del contador Z5 no se altera en caso de que no se produzca ningn flanco ascendente.

---(ZV) Contar adelante Incrementa en "1" el valor del contador si hay un flanco ascendente en el RLO. El valor mximo a partir del cual no se puede incrementar mas es "999". Al cambiar E 0.0 de "0" a "1" (flanco ascendente en el RLO), se carga el valor predeterminado de "100" en el contador Z10. Si el estado de seal de E 0.1 cambia de "0" a "1" (flanco ascendente en el RLO), se aumenta en "1" el valor de contaje del contador Z10. Si el estado de seal de E 0.2 es 1, el contador se pone a "0". A partir de 999 el contador deja de incrementar.

---(ZR) Contar atrs Decrementa en "1" el valor del contador si hay un flanco ascendente en el RLO. El valor mnimo a partir del cual no se puede decrementar mas es 0. Al cambiar E 0.0 de "0" a "1" (flanco ascendente en el RLO), se carga el valor predeterminado de "100" en el contador Z10. Si el estado de seal de E 0.1 cambia de "0" a "1" (flanco ascendente en el RLO), se decrementa en "1". A partir de 0, el contador deja de decrementar.

Operaciones de conversin BCD_I Convertir BCD a entero de 16 bits Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL WORD INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Numero BCD Valor entero(16 bits) de un numero BCD

Lee el contenido de la entrada IN como un numero decimal codificado en binario de 3 dgitos (+/- 999), convertiendolo en un valor entero de 16 bits. La salida OUT contiene el resultado en forma de entero. La salida ENO siempre tiene el mismo estado de seal que la entrada EN. BCD_DI Convertir BCD a entero de 32 bits Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL DWORD INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Numero BCD Valor entero(32 bits) de un numero BCD

Lee el contenido de la entrada IN como un numero decimal codificado en binario de 7 dgitos (+/- 9999999), convertiendolo en un valor entero de 32 bits. La salida OUT contiene el resultado en forma de entero. La salida ENO siempre tiene el mismo estado de seal que la entrada EN. I_BCD Convertir entero de 16 bits a BCD Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL INT WORD Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Entero 16 bits Valor BCD de entero de16 bits

Lee el contenido de la entrada IN como un valor entero de 16 bits, convertiendolo en un numero de 3 dgitos en forma decimal codificado en binario (+/- 999). La salida OUT contiene el resultado. En caso de desbordamiento ENO = 0.

DI_BCD Convertir entero de 32 bits A BCD Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL DINT DWORD Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Entero 32 bits Valor BCD de entero de 32 bits

Lee el contenido de la entrada IN como un valor entero de 32 bits, convertiendolo en un numero de 7 dgitos en forma decimal codificado en binario (+/- 9999999). La salida OUT contiene el resultado. En caso de desbordamiento ENO = 0.

TRUNC Truncar entero Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Numero real a convertir Parte entera del valor dIN

Lee el contenido de la entrada IN como un valor real, convertiendolo en un entero de 32 bits. El resultado es la parte entera del numero real que extrae la salida OUT. En caso de desbordamiento ENO = 0.

ROUND Redondear entero Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor a redondear IN, redondear al prximo entero

Lee el contenido de la entrada IN como numero real, convertiendolo en un entero de 32 bits. El resultado es el numero entero mas prximo (redondeo). Si el numero real se encuentra en el centro de dos enteros, el numero par es devuelto. El resultado se deposita en la salida OUT. En caso de desbordamiento ENO = 0. DI_R Convertir entero en 32 bits a real Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL DINT REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Entero 32 bits Numero real

Lee el contenido de la entrada IN como valor entero de 32 bits, convertiendolo en numero real. El resultado se deposita en la salida OUT. La salida ENO siempre tiene el mismo estado de seal que la entrada EN. I_DI Convertir entero de 16 bits a entero de 32 bits Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL INT DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor entero 16 bits a convertir Resultado entero 32 bits

Lee el contenido de la entrada IN como valor entero de 16 bits, convertiendolo en entero de 32 bits. El resultado se deposita en la salida OUT. La salida ENO siempre tiene el mismo estado de seal que la entrada EN.

CEIL Redondear numero real a entero superior Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Numero real a convertir Entero de 32 bits inferior que es mas grande que el numero real

Lee el contenido de la entrada IN como numero real, convertiendolo en entero de 32 bits. El resultado es el entero inferior que es mas grande que el numero real (redondear). En caso de desbordamiento ENO = 0.

FLOOR Redondear numero real a entero inferior Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Numero real a convertir Entero de 32 bits superior menor que el numero real

Lee el contenido de la entrada IN como numero real, convertiendolo en entero de 32 bits. El resultado se deposita en MD12. La salida A 0.0 ES 1 si se produce un desbordamiento o si no se procesa la instruccin E 0.0 = 0. INV_I Complemento a 1 de un entero de 16 bits Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL INT INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor entero 16 bits Complemento a 1 de un entero de 16 bits dIN

Lee el contenido de la entrada IN combinando el patrn hexadecimal W#16#FFFF mediante O-EXCLUSIVA. Esta operacin invierte el estado de cada bit. La salida ENO siempre tiene el mismo estado de seal que la entrada EN. INV_DI Complemento a 1 de un entero de 32 bits Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL DINT DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor entero de 32 bits de entrada Complemento a 1 de entero de 32 bits dIN

Lee el contenido de la entrada IN combinando el patrn hexadecimal W#16#FFFF mediante O-EXCLUSIVA. Esta operacin invierte el estado de cada bit. La salida ENO siempre tiene el mismo estado de seal que la entrada EN.

NEG_I Complemento a 2 de un entero de 16 bits Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL INT INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor entero de 16 bits de entrada Complemento a 2 de entero de 16 bits dIN

Lee el contenido de la entrada IN ejecutando la operacin Complemento a 2. La operacin invierte el signo (Ej: De un valor positivo a uno negativo). La salida ENO siempre tiene el mismo estado de seal que la entrada EN, a excepcin de que si el estado de seal de ENO es 1, se produce un desbordamiento, el estado de seal de ENO es 0. NEG_DI Complemento a 2 de un entero de 32 bits Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL DINT DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor entero de 32 bits de entrada Complemento a 2 de entero de 32 bits dIN

Lee el contenido de la entrada IN ejecutando la operacin Complemento a 2. La operacin invierte el signo (Ej: De un valor positivo a uno negativo). La salida ENO siempre tiene el mismo estado de seal que la entrada EN, a excepcin de que si el estado de seal de ENO es 1, se produce un desbordamiento, el estado de seal de ENO es 0. NEG_R Invertir el signo de un numero real Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Numero real IN con signo negado

Lee el contenido de la entrada IN invertiendo el signo. Esta operacin equivale a una multiplicacin por (-1). La operacin invierte el signo (Ej: de un valor positivo a uno negativo). La salida ENO siempre tiene el mismo estado de seal que la entrada EN, a excepcin de que si el estado de seal de ENO es 1, se produce un desbordamiento, el estado de seal de ENO es 0.

Operaciones de comparacin (>, <, ==, <>, <=, >=) Las operaciones de comparacin sirven para comparar los siguientes pares de valores numricos: Dos enteros (16 bits) Dos enteros dobles (32 bits) Dos nmeros reales (de coma flotante, 32 bits)

Los valores numricos se cargan en los ACU's 1 y 2. Las operaciones de comparacin comparan el valor del ACU2 con el valor depositado en el ACU1. El resultado de la comparacin es un dgito binario. Un 1 significa que el resultado de la comparacin es verdadero, mientras que un 0 significa que el resultado de la comparacin es falso. Este resultado se encuentra almacenado en el bit de resultado lgico (RLO). Este resultado puede emplearse para su posterior procesamiento. Parmetro xx xx= Tipo de comparacin: > < == <> >= <= Carcter de relacin >, <, = =, <>, <=, >= Mayor Menor Igual Diferente Mayor o igual Menor o igual Descripcin Tipo de comparacin

CMP_D >= xx Comparar enteros (32 bits) (>, <, ==, <>, <=, >=) Parmetro Entrada de cuadro Salida de cuadro IN1 IN2 Tipo de datos BOOL BOOL DINT DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor a comparar Segundo valor a comparar

Las entradas IN1 y IN2 son comparadas mediante al criterio de comparacin que se haya seleccionado. Smbolo SIMATIC

La salida A 4.0 se activa si E0.0 Y E0.1 tienen el estado de seal 1 Y si MD0 >= MD4 Y si E0.2 tiene el estado de seal 1. CMP_I >= xx Comparar enteros (16 bits) (>, <, ==, <>, <=, >=) Parmetro Entrada de cuadro Salida de cuadro IN1 IN2 Tipo de datos BOOL BOOL INT INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor a comparar Segundo valor a comparar

Las entradas IN1 y IN2 son comparadas mediante al criterio de comparacin que se haya seleccionado.

Smbolo SIMATIC

La salida A 4.0 se activa si E0.0 Y E0.1 son 1 Y si MW0 >= MW2. CMP_R >= xx Comparar nmeros reales (>, <, ==, <>, <=, >=) Parmetro Entrada de cuadro Salida de cuadro IN1 IN2 Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor a comparar Segundo valor a comparar

Las entradas IN1 y IN2 son comparadas mediante al criterio de comparacin que se haya seleccionado. Smbolo SIMATIC

La salida A4.0 se activa si E0.0 Y E0.1 son 1 Y si MD0 >= MD4 Y si E0.2 es 1. Operacin de transferencia (MOVE) Parmetro EN ENO IN O Tipo de datos BOOL BOOL Todos los tipos de datos de 8, 16 i 32 bits de longitud Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D, T, Z E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de la fuente Direccin de destino

Al activar la entrada EN se copia el valor asignado en la entrada IN, en la direccin que indica la salida O. ENO tiene el mismo estado de seal que la entrada EN. Como muestra la tabla, la operacin MOVE solo puede copiar objetos con extensin byte, word o double word.

La dependencia del MCR solamente se activa si el cuadro MOVE se coloca dentro de un rea de MCR activa. En rea MCR los datos direccionados se copian tal como se ha descrito arriba, siempre que el MCR est conectado y haya corriente en la entrada de habilitacin, el bit direccionado se pone a "1" (se activa) a "0" (se desactiva), tal como se ha descrito ms arriba. Si el MCR est desconectado y se ejecuta una operacin MOVE, en la direccin indicada por OUT se escribir siempre el valor "0", independientemente de cul sea el estado actual de IN.

Acumuladores (ACU1 y ACU2) El acumulador 1 (ACU 1) y el acumulador 2 (ACU 2) son dos registros universales de 32 bits que se emplean para procesar bytes, palabras y palabras dobles. En estos acumuladores se pueden cargar constantes o valores depositados en la memoria como operandos y ejecutar operaciones lgicas con ellos. Tambin es posible transferir el resultado en ACU 1 a una direccin (un mdulo de datos, una salida, etc.). Cada acumulador puede descomponerse en dos palabras de 16 bits (palabra baja y alta). La palabra baja contiene los bits de menor peso y la alta los de mayor peso lgico. Todas las posibles operaciones que pueden realizarse son: Cargar: que siempre acta sobre ACU 1 y guarda el antiguo contenido en ACU 2 (perdindose el valor antiguo de ACU 2). La carga de una palabra acta sobre la palabra baja del ACU 1. Transferir: copia el contenido de ACU 1 en una direccin de memoria, sin perder el valor de los acumuladores. Intercambiar el contenido de los acumuladores: mediante la instruccin TAK. Realizar una operacin entre los acumuladores, almacenando el resultado en ACU 1 sin variar ACU 2. Las operaciones pueden ser de comparacin, de lgica digital y de aritmtica.

Definicin de bytes y palabras en un registro de 32 bits (por ejemplo en el ACU 1):

Funciones de salto ---( JMP)--- Operacion de salto incondicional (absoluto) Interrumpen el desarrollo normal del programa, haciendo que el mismo salte a una meta determinada. La meta define el punto en que deber continuar el programa. El salto se efecta independientemente de condiciones. ---( JMP) Saltar si la seal es 1 Funciona como un salto absoluto cuando no hay otro elemento KOP entre el conductor izquierdo y la operacin.

El salto es siempre ejecutado. Las operaciones que se encuentren entre la operacin de salto y la meta no se ejecutan.

---( JMP) Salto en el bloque si el RLO es 1 Funciona como un salto condicional cuando el RLO de la combinacin lgica anterior es "1". Si un salto condicional no se ejecuta, el RLO cambia a "1" despus de la operacin de salto.

Si la entrada E 0.0 es 0 se ejecuta el salto a la meta CAS1. Al llevarse a cabo el salto, en la salida A 4.0 no se ejecuta la operacin Poner salida a 0, aunque E 0.3 sea 1.

---( JMPN) (Saltar si la seal es 0) Funciona como un salto condicional cuando el RLO de la combinacin lgica anterior es "0". Si un salto condicional no se lleva a cabo, el RLO cambia a "1" despus de la operacin de salto.

Si la entrada E 0.0 es 0, se ejecuta el salto a la meta CAS1. Al ejecutarse el salto, en la salida A 4.0 no se lleva a cabo la operacin Poner salida a 0, aunque la entrada E 0.3 sea 1.

LAVEL Meta Cada salto ---( JMP ) tiene que tener una meta (LABEL). Una meta se compone de 4 caracteres como mximo. El primer carcter debe ser siempre una letra, no importando si el resto son nmeros o letras. La meta se especifica normalmente en el operando de la instruccin de salto, y seguida de dos puntos frente a la lnea que posee la meta (ver ejemplos).

Si E 0.0 = 1 se ejecuta el salto a la meta CAS1. Al llevarse a cabo el salto, en la salida A 4.0 no se ejecuta la operacin Poner salida a 0, aunque E 0.3 sea 1.

Funciones matemticas fundamentales (Aritmtica de coma fija) ADD_I Suma de nmeros enteros (16 bits) Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL INT INT INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor de la suma Segundo valor de la suma Resultado de la suma

Realiza la suma de nmeros enteros de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros enteros (16 bits), el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas. ADD_DI Suma de nmeros enteros (32 bits) Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL DINT DINT DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor de la suma Segundo valor de la suma Resultado de la suma

Realiza la suma de nmeros enteros de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros enteros (32 bits), el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas. SUB_I Resta de nmeros enteros (16 bits) Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL INT INT INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor de la resta Segundo valor de la resta Resultado de la resta

Realiza la resta de nmeros enteros de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros enteros (16 bits), el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas.

SUB_DI Resta de nmeros enteros (32 bits) Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL DINT DINT DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor de la resta Segundo valor de la resta Resultado de la resta

Realiza la resta de nmeros enteros de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros enteros (32 bits), el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas. MUL_I Producto de nmeros enteros (16 bits) Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL INT INT INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor del producto Segundo valor del producto Resultado del producto

Realiza el producto de nmeros enteros de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros enteros (16 bits), el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas. MUL_DI Producto de nmeros enteros (32 bits) Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL DINT DINT DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor del producto Segundo valor del producto Resultado del producto

Realiza el producto de nmeros enteros de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros enteros (32 bits), el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas.

DIV_I Divisin de nmeros enteros (16 bits) Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL INT INT INT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor de la divisin Segundo valor de la divisin Resultado de la divisin

Realiza la divisin de nmeros enteros de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros enteros (16 bits), el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas. DIV_I Divisin de nmeros enteros (32 bits) Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL DINT DINT DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor de la divisin Segundo valor de la divisin Resultado de la divisin

Realiza la divisin de nmeros enteros de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros enteros (32 bits), el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas. MOD_DI Obtener resta de divisin de enteros (32 bits) Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL DINT DINT DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Dividendo Divisor Resta de la divisin

Realiza la divisin de nmeros enteros de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. La resta de la divisin puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros enteros (32 bits), el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas.

Bits de resultado (>, <, >=, <=, = =, <> 0) Estas operaciones son utilizadas para determinar la relacin entre el resultado obtenido de una funcin aritmtica y 0 mediante la comparacin. Comparacin con cero >0---I I--<0---I I-->=0---I I--<=0---I I--==0---I I--<>0---I I--Comparacin con cero >0 <0 >=0 M ==0 <>0 Negacin de la comparacin >0---I/I--<0---I/I-->=0---I/I--<=0---I/I--==0---I/I--<>0---I/I--Descripcin detallada Ms grande que cero Menor que cero Ms grande o igual que cero Menor o igual que cero Igual que cero Diferente que cero

Funciones matemticas fundamentales (Aritmtica de coma flotante) ADD_R Suma de nmeros reales Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL REAL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor de la suma Segundo valor de la suma Resultado de la suma

Realiza la suma de nmeros reales de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros reales, el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas. SUB_R Resta de nmeros reales Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL REAL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor de la resta Segundo valor de la resta Resultado de la resta

Realiza la resta de nmeros reales de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros reales, el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas. MUL_R Producto de nmeros reales Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL REAL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor del producto Segundo valor del producto Resultado del producto

Realiza el producto de nmeros reales de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros reales, el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas.

DIV_R Divisin de nmeros reales Parmetro EN ENO IN1 IN2 OUT Tipo de datos BOOL BOOL REAL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Primer valor de la divisin Segundo valor de la divisin Resultado de la divisin

Realiza la divisin de nmeros reales de las entradas IN1 e IN2 cuando la entrada de habilitacin EN esta en 1. El resultado puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de nmeros reales, el bit OV y el bit OS, serian = 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas a travs de ENO, no sern ejecutadas. ABS Valor absoluto de un nmero real Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Numero real Valor absoluto del numero real

Realiza el valor absoluto del numero real introducido por la entrada IN, cuando la entrada de habilitacin EN esta en 1. En la salida OUT se obtiene el valor absoluto. Si la salida ENO es = 1, se realiza la conversin.

Funciones matemticas avanzadas (Aritmtica de coma flotante) SIN Calculo del seno Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: seno del numero real

Realiza el calculo de seno del numero real introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin.

ASIN Calculo del arcoseno Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: arcoseno del numero real

Realiza el calculo del arcoseno del numero real introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1 y el valor introducido en la entrada tiene un rango de 1<= Valor de entrada <=1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin. El valor de salida tiene un rango de -/2<= Valor de salida <=+/2. COS Calculo del coseno Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: coseno del numero real

Realiza el calculo de coseno del numero real introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin.

ACOS Calculo del arcocoseno Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: arcocoseno del numero real

Realiza el calculo del arcocoseno del numero real introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1 y el valor introducido en la entrada tiene un rango de 1<= Valor de entrada <=1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin. El valor de salida tiene un rango de 0<= Valor de salida <=+. TAN Calculo de la tangente Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: tangente del numero real

Realiza el calculo de la tangente del numero real introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin.

ATAN Calculo de la arcotangente Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: tangente del numero real

Realiza el calculo de la arcotangente del numero real introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin. El valor de salida tiene un rango de -/2<= Valor de salida <=+/2. EXP Calculo el exponente Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: exponente del numero real

Realiza el calculo del exponente del numero real con la base e (=2.71828), introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin.

LN Calculo del logaritmo natural Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: logaritmo natural del numero real

Realiza el calculo del logaritmo natural del numero real introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin.

SQR Calculo del cuadrado Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: cuadrado del numero real

Realiza el calculo del cuadrado del numero real introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin.

SQRT Calculo de la raz cuadrada Parmetro EN ENO IN OUT Tipo de datos BOOL BOOL REAL REAL Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor de entrada: Numero real Valor de salida: raz cuadrada del numero real

Realiza el calculo de la raz cuadrada del numero real introducido por la entrada IN cuando en la entrada de habilitacin EN hay un 1. El numero real representa un ngulo en radianes. Si la salida ENO es = 1, se realiza la conversin.

Funciones de desplazamiento y rotacin SHL_W Desplazar 16 bits a la izquierda Parmetro EN ENO IN N OUT Tipo de datos BOOL BOOL WORD WORD WORD Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor a desplazar Numero de posiciones Resultado de la operacin de desplazamiento

Cuando en la entrada de habilitacin EN hay un 1,se activa esta funcin desplazando a la izquierda bit a bit, los bits del 0 al 15 que se hallen en la entrada IN. La entrada N indica el numero de posiciones de bit que se mueven en el desplazamiento a la izquierda. Si en la entrada N se introduce un numero mayor que 16, en la salida OUT hay un 0. Desde la derecha se van ocupando en 0, las posiciones de bit que van siendo desplazadas. Si en la salida EN se obtiene un 1, la salida ENO indica el estado de seal del ltimo bit desplazado. SHR_W Desplazar 16 bits a la derecha Parmetro EN ENO IN N OUT Tipo de datos BOOL BOOL WORD WORD WORD Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor a desplazar Numero de posiciones Resultado de la operacin de desplazamiento

Cuando en la entrada de habilitacin EN hay un 1,se activa esta funcin desplazando a la derecha bit a bit, los bits del 0 al 15 que se hallen en la entrada IN. La entrada N indica el numero de posiciones de bit que se mueven en el desplazamiento a la derecha. Si en la entrada N se introduce un numero mayor que 16, en la salida OUT hay un 0. Desde la izquierda se van ocupando en 0, las posiciones de bit que van siendo desplazadas. Si en la salida EN se obtiene un 1, la salida ENO indica el estado de seal del ltimo bit desplazado. SHL_DW Desplazar 32 bits a la izquierda Parmetro EN ENO IN N OUT Tipo de datos BOOL BOOL WORD DWORD WORD Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor a desplazar Numero de posiciones Resultado de la operacin de desplazamiento

Cuando en la entrada de habilitacin EN hay un 1,se activa esta funcin desplazando a la izquierda bit a bit, los bits del 0 al 31 que se hallen en la entrada IN. La entrada N indica el numero de posiciones de bit que se mueven en el desplazamiento a la izquierda. Si en la entrada N se introduce un numero mayor que 32, en la salida OUT hay un 0. Desde la derecha se van ocupando en 0, las posiciones de bit que van siendo desplazadas. Si en la salida EN se obtiene un 1, la salida ENO indica el estado de seal del ltimo bit desplazado.

SHR_DW Desplazar 32 bits a la derecha Parmetro EN ENO IN N OUT Tipo de datos BOOL BOOL WORD DWORD WORD Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor a desplazar Numero de posiciones Resultado de la operacin de desplazamiento

Cuando en la entrada de habilitacin EN hay un 1,se activa esta funcin desplazando a la derecha bit a bit, los bits del 0 al 31 que se hallen en la entrada IN. La entrada N indica el numero de posiciones de bit que se mueven en el desplazamiento a la derecha. Si en la entrada N se introduce un numero mayor que 32, en la salida OUT hay un 0. Desde la izquierda se van ocupando en 0, las posiciones de bit que van siendo desplazadas. Si en la salida EN se obtiene un 1, la salida ENO indica el estado de seal del ltimo bit desplazado. SHR_I Desplazar entero de 16 bits a la derecha Parmetro EN ENO IN N OUT Tipo de datos BOOL BOOL INT WORD INT Descripcin Entrada de habilitacin Salida de habilitacin Valor a desplazar Numero de posiciones Resultado de la operacin de desplazamiento Cuando en la entrada de habilitacin EN hay un 1,se activa esta funcin desplazando a la derecha bit a bit, los bits del 0 al 15 que se hallen en la entrada IN. La entrada N indica el numero de posiciones de bit que se mueven en el desplazamiento a la derecha. Si en la entrada N se introduce un numero mayor que 16, en la salida OUT hay un 0. Desde la izquierda se van ocupando en 0, las posiciones de bit que van siendo desplazadas en caso de ser un valor entero positivo y en 1 si el valor entero es negativo. Si en la salida EN se obtiene un 1, la salida ENO indica el estado de seal del ltimo bit desplazado. Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

SHR_DI Desplazar entero de 32 bits a la derecha Parmetro EN ENO IN N OUT Tipo de datos BOOL BOOL DINT WORD DINT Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor a desplazar Numero de posiciones Resultado de la operacin de desplazamiento

Cuando en la entrada de habilitacin EN hay un 1,se activa esta funcin desplazando a la derecha bit a bit, los bits del 0 al 31 que se hallen en la entrada IN. La entrada N indica el numero de posiciones de bit que se mueven en el desplazamiento a la derecha. Si en la entrada N se introduce un numero mayor que 32, en la salida OUT hay un 0. Desde la izquierda se van ocupando en 0, las posiciones de bit que van siendo desplazadas en caso de ser un valor entero positivo y en 1 si el valor entero es negativo. Si en la salida EN se obtiene un 1, la salida ENO indica el estado de seal del ltimo bit desplazado.

ROL_DW Rotar 32 bits a la izquierda Parmetro EN ENO IN N OUT Tipo de datos BOOL BOOL DWORD WORD DWORD Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor a rotar Numero de posiciones (bits) a rotar Resultado de la operacin de rotacin

Cuando en la entrada de habilitacin EN hay un 1,se activa esta funcin rotando bit a bit, el contenido completo de la entrada IN a la izquierda los bits del 0 al 31. La entrada N indica el numero de posiciones de bit que se rotan a la izquierda. Si en la entrada N se introduce un numero mayor que 32, la palabra doble IN es rotada en ((N-1) modulo 32)+1 posiciones. Las posiciones de bit que se arrastran desde la derecha, son ocupadas por el estado de seal de los bits rotados a la izquierda. La palabra doble que se obtiene como resultado de la operacin de rotacin, puede verse en la salida OUT. ENO indica el estado del ultimo bit rotado, si en la entrada EN hay un 1, esto significa que las operaciones combinadas a la salida ENO, no sern ejecutadas si el ltimo bit desplazado tiene como estado 0 ROR_DW Rotar 32 bits a la derecha Parmetro EN ENO IN N OUT Tipo de datos BOOL BOOL DWORD WORD DWORD Area de memoria E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Descripcin Entrada de habilitacin Salida de habilitacin Valor a desplazar Numero de posiciones (bits) a rotar Resultado de la operacin de rotacin

Cuando en la entrada de habilitacin EN hay un 1,se activa esta funcin rotando bit a bit, el contenido completo de la entrada IN a la derecha los bits del 0 al 31. La entrada N indica el numero de posiciones de bit que se rotan a la derecha. Si en la entrada N se introduce un numero mayor que 32, la palabra doble IN es rotada en ((N-1) modulo 32)+1 posiciones. Las posiciones de bit que se arrastran desde la izquierda, son ocupadas por el estado de seal de los bits rotados a la derecha. La palabra doble que se obtiene como resultado de la operacin de rotacin, puede verse en la salida OUT. ENO indica el estado del ultimo bit rotado, si en la entrada EN hay un 1, esto significa que las operaciones combinadas a la salida ENO, no sern ejecutadas si el ltimo bit desplazado tiene como estado 0

Sistemas de proteccin de control Rel de control Rel fsico que corta el suministro de corriente en entradas y salidas del autmata programable, manteniendo la alimentacin de la CPU y as poder revisar el estado del programa o controlar los errores, etc.
L1 L2 L3 N

Transformador separador

Pulsador de emergencia Pulsador de paro Fuente de alimentacion 24 Vcc para E/S

Pulsador de marcha

Master Control Relay (MCR) Empleado para inhibir el funcionamiento de una determinada parte del programa en casos de emergencia o puestas en marcha del sistema sin que ello afecte a la alimentacin de la CPU (secuencia de instrucciones que escribe un cero en lugar del valor calculado, o bien no modifican el valor de memoria existente).

---(MCRA) Inicio de un Master Control Relay Activa un Master Control Relay. Una vez efectuada esta operacin se pueden programar las reas MCR utilizando las operaciones ---(MCR<) y ---(MCR>). MCRA activa el MCR. Los circuitos entre las operaciones MCR< y MCR> (salidas A 4.0, A 4.1) se ejecutan de forma que E 0.0 = 1 (MCR est ON): la salida A 4.0 se pone a "1" si la entrada E 0.3 est en el estado "1", y no cambia si la entrada E 0.3 est en el estado "0". A la salida A 4.1 se le asigna el estado de la entrada E 0.4. E 0.0 = 0 (MCR est OFF): la salida A 4.0 no vara, independientemente del estado de E 0.3; la salida A 4.1 es "0", independientemente de cul sea el estado de E 0.4. En el circuito siguiente, la operacin ---(MCRD) desactiva el MCR. Esto significa que ya no se pueden programar reas MCR con las dos operaciones ---(MCR<) y ---(MCR>).

---(MCRD) Final de un Master Control Relay Desactiva un MCR. Despus de esta operacin no se pueden programar reas MCR. MCRA activa el MCR. Los circuitos entre las operaciones MCR< y MCR> (salidas A 4.0, A 4.1) se ejecutan de forma que E 0.0 = 1 (MCR est ON): la salida A 4.0 se pone a "1" si la entrada E 0.3 est en el estado "1"; A 4.0 no se modifica si la entrada E 0.3 est en el estado "0". A la salida A 4.1 se le asigna el estado de la entrada E 0.4. E 0.0 = 0 (MCR est OFF): la salida A 4.0 no vara, independientemente del estado de E 0.3, y la salida A 4.1 es "0", independientemente del estado de E 0.4 En el circuito siguiente, la operacin --(MCRD) desactiva el MCR. Esto significa que ya no se pueden programar reas MCR con la pareja de operaciones ---(MCR<) y ---(MCR>).

---(MCR<) Conectar un Master Control Relay Almacena el RLO en la pila MCR y abre un rea MCR. La pila de parntesis MCR es una pila LIFO (last in, first out) que da cabida, como mximo, a 8 registros (8 niveles). Si la pila ya est llena, la operacin ---(MCR<) provoca un error de la pila MCR (MCRF). Los siguientes elementos dependen del MCR y varan segn cul sea el estado de seal del RLO que se almacena en la pila MCR mientras est abierta un rea MCR:

MCRA activa el MCR, crendose hasta un mximo de ocho reas MCR anidadas. En este ejemplo hay dos reas MCR. Las operaciones se ejecutan de forma que E 0.0 = 1 (el MCR est ON en el rea 1). A la salida A 4.1 se le asigna el estado de seal de la entrada E 0.4. E 0.0 = 0 (el MCR est OFF en el rea 1), la salida A 4.1 es "0", independientemente de cul sea el estado de la entrada E 0.4. E 0.1 y E 0.1 = 1 (el MCR est ON en el rea 2): la salida A 4.0 se pone a "1" si E 0.3 es 1. E 0.0 y E 0.1 = 0 (el MCR est OFF en el rea 2): la salida A 4.0 no vara, independientemente del estado de E 0.3. ---(MCR>) Desconectar un Master Control Relay Borra un registro RLO de la pila MCR. La pila de parntesis MCR es una pila LIFO (last in, first out) que da cabida a un mximo de 8 registros (8 niveles). Si la pila ya est vaca, la operacin ---(MCR >) provoca un error de la pila MCR (MCRF). Los siguientes elementos dependen del MCR y se ven afectados por el estado de seal del RLO que se almacena en la pila MCR mientras est abierta un rea MCR:

---(MCRA) activa el MCR, crendose hasta un mximo de ocho reas MCR. En este ejemplo hay dos reas MCR. El primero circuito ---(MCR>) (MCR OFF) forma parte del segundo circuito ---(MCR<) (MCR ON). Todos los circuitos que hay entre estos dos pertenecen al rea MCR 2. Las funciones se ejecutan de forma que: E 0.0 = 1: el estado de seal de la entrada E 0.4 se asigna a la salida A 4.1. E 0.0 = 0: la salida A 4.1 es "0", independientemente del estado de E 0.4. E 0.0 y E 0.1 = 1: la salida A 4.0 se pone a "1" si E 0.3 es 1. E 0.0 y E 0.1 = 0: la salida A 4.0 no vara, independientemente del estado de E 0.3

Programacin estructurada En la programacin estructurada, la tarea a automatizar se divide en tareas menos complejas, las cuales son llamadas desde un programa o modulo raz (OB1). En este tipo de programacin resulta ser muy organizado, ya que es muy recomendable sobretodo para el diseo de tareas complejas y por lo tanto el seccionamiento y resolucin de errores en el caso que los hubiese. El programa raz se encarga de llamar a los sub-modulos para la realizacin de las tareas programadas, recibiendo respuesta de estos cuando han realizado la tarea programada. Ventajas: Las tareas se dividen en partes que pueden ser tratadas independientemente. En un grupo de programadores cada uno puede encargarse de la programacin de una parte concreta de la tarea. Los bloques pueden ser escritos en diferentes lenguajes, buscando el mas adecuado para el tratamiento de las variables que contiene. Los cambios de la programacin en la puesta a punto se realizan mas rpidamente ya que es un sistema muy organizado. Los bloques o mdulos realizados pueden ser utilizados en otras tareas de automatizacin. El programa que se obtiene como resultado de este tipo de programacin resulta mas sencillo a la hora de ser ledo por tcnicos no programadores.

Ejemplo de programacin estructurada