• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
STEP 7 Funciones y operaciones
 

STEP 7 Funciones y operaciones

on

  • 1,854 views

Descripcion de funciones y operaciones en la programacion KOP de la aplicacion STEP 7.

Descripcion de funciones y operaciones en la programacion KOP de la aplicacion STEP 7.

Statistics

Views

Total Views
1,854
Views on SlideShare
1,827
Embed Views
27

Actions

Likes
6
Downloads
153
Comments
0

3 Embeds 27

http://techonmyweb.blogspot.com.es 15
http://techonmyweb.blogspot.com 10
http://techonmyweb.blogspot.com.ar 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    STEP 7 Funciones y operaciones STEP 7 Funciones y operaciones Document Transcript

    • Posiciones de la memoria RAM BYTE BITFORMATO BYTE M 0.3 FORMATO PALABRA (WORD) 7 0 MB0 0 X MW0 MB1 1 MD0 MW1 MB2 2 X MD1 MW2 MB3 3 MW3 MB4 4 . . . . . .FORMATO DOBLE 125 M 2.3 PALABRA(DOUBLE WORD) Identificaciones de elementos y bloques y sintaxis de las constantes Elementos y bloques Constantes T Temporizador Versión breve Versión extensa DB Bloque de datos global B# Byte# DI Bloque de datos de instancia C# Counter# FC Función W# Word# FB Bloque de función DW# Dword# OB Bloque de organización D# Date# Z/C Contador (En función de la T# Time# abreviatura Nemotecnia) SDB Bloque de datos del sistema TOD# Time_of_day# SFC Función del sistema S5T# S5Time# SFB Bloque de función del sistema DT# Date_and_time# P# Pointer#
    • Areas de memoria y sus funcionesNombre Función del área Acceso a través de Abredel área unidades de longitud viat.Imagen Al arrancar el programa, el sistema operativo Entrada Eproceso lee las entradas del proceso almacenando los Byte de entrada EB de valores en este área Palabra de entrada EWentradas Palabra doble de entrada ED (E)Imagen Durante el ciclo, el programa calcula los Salida Aproceso valores de salida y los deposita en este área. Byte de salida AB de Al final del ciclo, el sistema operativo lee en Palabra de salida AW salidas este área los valores de salida calculados y Palabra doble de salida AD (A) los transfiere a las salidas del proceso Marcas Area que permite almacenar resultados Marcas M (M) intermedios calculados en el programa Byte de salida MB Palabra de salida MW Palabra doble de salida MD E/S: Este área permite al programa el acceso Byte de entrada de la periferia PEBentradas directo a los módulos de E/S (es decir, Palabra de entrada de la perif. PEWexternas entradas y salidas de la periferia) Palabra doble de entrada de PED la periferia E/S: Byte de entrada de la periferia PAB Salidas Palabra de entrada de la perif. PAWexternas Palabra doble de entrada de PAD la periferiaTempori Elementos funcionales del lenguaje de Tzadores program. KOP. Area que permite almacenar (T) células de temporización. En este área, el reloj accede a estas células para ser actualizado, decrementando el valor de temporización. En las células de temporiz. se accede con operaciones de temporización Conta Elementos funcionales del lenguaje de Z dores program. KOP. Area de almacenamiento de (C) contadores. Area de acceso con operaciones de conteoBloques Area que contiene datos a los que se puede DBXde datos acceder desde cualquier bloque. Si se desea DBB (D) tener abiertos dos bloques al mismo tiempo, DBW uno puede abrirse con la instrucción ”AUF DBD DB” y otro con la instrucción “AUF DI”. La notación de los operandos determina a que bloque de datos se accede. Aunque la instrucción “AUF DI” pueda utilizarse para abrir cualquier bloque de datos, DIX su utilización principal consiste en abrir DIB bloques de datos de instancia asociados a DIW bloques de función FB´s y a bloques de DID función de sistema SFB´s Datos Area que contiene datos temporales de Llocales bloque lógico (DB, FB, o FC). Estos, también LB (L) denominados datos locales dinámic., sirven LW de memoria intermedia. Cuando se cierra el LD bloque lógico, se pierden estos datos. Los datos están depositados en la pila de datos locales (pila L)
    • Tipos de direccionamientoEn el programa STEP7, pueden identificarse las variables mediante dos tipos dedireccionamiento de variables:Direccionamiento absoluto (direccionamiento directo)La variable con la que se trabaja, es referenciada mediante una posición de memoria,denominada dirección absoluta, en la que está depositado el operando.En el direccionamiento directo el operando contiene la dirección de memoria del valor con elque la operación deberá operar. El operando se puede direccionar de forma absoluta osimbólica. Ejemplos:Entrada E 12.1; palabra de marcas MW 25; bloque de datos DB 3.Con la dirección A 4.0 se indica el bit 0 del byte 4 de la imagen de proceso de las salidas. A 4.0 Identificador direccionamiento de operando de bit direccionamiento de byteDireccionamiento simbólico (direccionamiento indirecto)A la variable con la que se trabaja, le es asignado un símbolo o referencia con el que poderdistinguirla mas fácilmente durante la programación o visualización del programa.Ejemplo: Símbolo Direccionamiento MOTOR_ON A 0.1 ACTIV_IMAN A 0.0 FINAL_CARRERA E 0.5
    • Selección del lenguaje de programación Lenguaje de Destinatarios Caso de Entrada Entrada orientada Bloque auto-programación aplicación incremental a fuente documentable de la CPU Lista de Usuarios que Programas Sí Sí Síinstrucciones desean optimizados AWL programar a en tiempo de nivel e maquina ejecución y uso de memoria Esquema de Usuarios Programación Sí No Sícontactos KOP familiarizados de controles con esquemas combinaciona eléctricos lesLos lenguajes de programación sirven para crear programas de usuario, para cuyo fin ofrecendeterminadas reservas lingüísticas en forma de instrucciones gráficas o de texto. El usuariointroduce dichas instrucciones utilizando un editor, y estas instrucciones se compilan en unprograma de usuario ejecutable.El programa SIMATIC S7 ofrece los lenguajes de programación por lista de instrucciones(AWL), diagrama de funciones (FUP) y esquema de contactos (KOP) para programar bloques. Desde el editor de programación KOP, AWL, FUP, una vez cargado un proyecto, puede ser cambiado el lenguaje de programación a través del comando menú “Ver”, donde pueden verse los tipos tres tipos de lenguajes KOP, AWL, FUP. El cambio de lenguaje de programación puede ser realizado en cualquier momento. Sólo es posible cambiar de AWL a KOP/FUP si las instrucciones AWL asumen toda la asignación de parámetros de los correspondientes elementos KOP/FUP y respetan el orden. A los parámetros no usados en AWL se les asigna ”NOP 0”.Lista de instrucciones (AWL)La lista de instrucciones (AWL) es un lenguaje de programación textual orientado a la máquina.El lenguaje AWL es el lenguaje ensamblador de STEP 7. Si un programa ha sido programadoen lenguaje AWL, cada instrucción corresponderá a cada uno de los pasos que dará la CPUpara ejecutarlo.Ejemplo: U( O E 0.0 U E 0.1) = A 2.0Esquema de contactos (KOP)El esquema de contactos es un lenguaje de programación gráfico mediante diagrama decontactos y diagrama de funciones. El esquema de contactos es uno de los lenguajes deprogramación de STEP 7. Esta representación está normalizada según la norma DIN 19239. Larepresentación del esquema de contactos corresponde a la de un esquema de circuitos. Alcontrario que en la lista de instrucciones (AWL), en KOP solamente se puede representar unacantidad limitada de operaciones.
    • Componentes del editor KOPTabla correspondiente a las operaciones del lenguaje KOP por orden alfabético en la que semuestra el nombre de la función y la abreviatura SIMATIC correspondiente.
    • Instrucciones de bit---I I--- Contacto normalmente abierto Parámetro Tipo de datos Area de memoria Descripción <Operando> BOOL E, A, M, L, D, T, Z Bit consultadoComo se trabaja en lógica binaria, cuando el contacto esta abierto significa que estadesactivado “0”, es decir, circula flujo, por lo tanto el RLO es “ 0 ”.---I/I--- Contacto normalmente cerrado Parámetro Tipo de datos Area de memoria Descripción <Operando> BOOL E, A, M, L, D, T, Z Bit consultadoComo se trabaja en lógica 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 Parámetro Tipo de datos Area de memoria Descripción <Operando> BOOL E, A, M, L, D Bit asignadoSi del resultado de la operación lógica 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 Parámetro Tipo de datos Area de memoria Descripción <Operando> BOOL E, A, M, L, D, T, Z Bit activadoSi del resultado de la operación lógica 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 Parámetro Tipo de datos Area de memoria Descripción <Operando> BOOL E, A, M, L, D, T, Z Bit desactivadoSi del resultado de la operación lógica 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. Paradesactivar una salida, previamente ha tenido que ser activada.Básculas RS / SR Parámetro Tipo de datos Area de memoria Descripción <Operando> BOOL E, A, M, L, D Bit activado o desactivado S BOOL E, A, M, L, D Activación habilitada R BOOL E, A, M, L, D Desactivacion habilitada Q BOOL E, A, M, L, D Estado de señal del operandoRS (Activación de flip-flop de desactivación) 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 activación) 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.Evaluación de flancos---(P)--- Detectar flanco de subida (0⇒1) Parámetro Tipo de datos Area de memoria Descripción <Operando> BOOL A, M, D Marca de flancos que almacena el estado de señal anterior del RLODetección de cambio de estado del operando de “0” a “1”. El estado de señal actual del RLO escomparado con el estado de señal del operando (marca de flancos). Si el estado de señal deloperando es “0” y el RLO antes de la operación es “1”, el RLO después de la operación es “1”,en todos los otros casos “0”.---(N)--- Detectar flanco de bajada (1⇒0) Parámetro Tipo de datos Area de memoria Descripción <Operando> BOOL A, M, D Marca de flancos que almacena el estado de señal anterior del RLODetección de cambio de estado del operando de “1” a “0”. El estado de señal actual del RLO escomparado con el estado de señal del operando (marca de flancos). Si el estado de señal deloperando es “1” y el RLO antes de la operación es “0”, el RLO después de la operación es “0”,en todos los otros casos “1”.Detectar flanco de señal ( 0⇒1 ) Parámetro Tipo de datos Area de memoria Descripción<Operando1> BOOL E, A, M, L, D Señal consultada<Operando2> BOOL A, M, D Marca de flancos M_BIT, almacena el estado de señal anterior del Operando1 Q BOOL E, A, M, L, D Detección del cambio de señal Compara el estado de la señal del operando 1 con la del estado anterior almacenada en el operando 2. Si el estado anterior del RLO era “0”, ahora es “1” (Detección de un flanco de subida). Después de esta operación la salida Q será “1”, y en los restantes casos “0”.Detectar flanco de señal ( 1⇒0 ) Parámetro Tipo de datos Area de memoria Descripción<Operando1> BOOL E, A, M, L, D Señal consultada<Operando2> BOOL A, M, D Marca de flancos M_BIT, almacena el estado de señal anterior del Operando1 Q BOOL E, A, M, L, D Detección del cambio de señal Compara el estado de la señal del operando 1 con la del estado anterior almacenada en el operando 2. Si el estado anterior del RLO era “1”, ahora es “0” (Detección de un flanco de bajada). Después de esta operación la salida Q será “0”, y en los restantes casos “1”.
    • ---(SAVE) Cargar resultado lógicoAlmacena el resultado lógico RLO en el bit RB de la palabra de estado.ismos pero de signo opuesto.
    • Temporizadores de retardoTablas de características correspondientes a los temporizadores nombrados en los siguientesapartados:Parámetro Tipo de Area de Descripción SIMATIC datos memoria Nº de T TIMER T Numero de identificación del temporizador, el área depende de la CPU utilizada S BOOL E, A, M, L, D Entrada de arranque. TV S5TIME E, A, M, L, D Valor del temporizador preseleccionado. R BOOL E, A, M, L, D Entrada de desactivación. BI WORD E, A, M, L, D Valor del temporizador actual, codificado en binario. BCD WORD E, A, M, L, D Valor del temporizador actual, codificado en BCD. Q BOOL E, A, M, L, D Estado del temporizador. Margen Resolución De 10MS a 9S_990MS 0,01 segundos De 100MS a 1M_39S_900MS 0,1 segundos De 1S a 16M_39S 1 segundo De 10S a 2H_46M_30S 10 segundosS5TIME#4S = 4 segundoss5t#2h_15m = 2 horas y 15 minutosS5T#1H_12M_18S = 1 hora, 12 minutos y 18 segundosLos valores no deben exceder de 2H_46M_30S. Los valores que son demasiado grandes paraun margen o una resolución se redondean de manera que correspondan a los valores límitepara ese margen y esa resolución (p. ej. 2H_10MS).Temporizadores de retardoS_EVERTZ (Temporizador con retardo a la conexión)Al activarse su entrada “SET”, empieza a contar el tiempo programado, tras el cual activa lasalida “Q”. Al recibir un pulso en la entrada “SET”, empieza a contar el tiempo programado sinactivar la salida ”Q” desconectándose el conteo instantáneamente que cesa el pulso en el“SET”. La entrada “RESET” predomina sobre la entrada “SET”, por lo tanto al recibir un pulsoen la entrada “RESET” mientras el temporizador esta contando o activado, la salida ”Q” quedadesactivada ”0”.S_SEVERTZ (Temporizador con retardo a la conexión con memoria)Al activarse su entrada “SET”, empieza a contar el tiempo programado, tras el cual activa lasalida “Q”. Al recibir un pulso en la entrada “SET”, empieza a contar el tiempo programado sinactivar la salida ”Q” desconectándose el conteo instantáneamente 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 eltemporizador esta contando o activado, la salida ”Q” queda desactivada ”0” además de borrarla memoria del temporizador.S_AVERTZ (Temporizador con retardo a la desconexión)Al cambiar su entrada “SET” de “1” a “0”, empieza a contar el tiempo programado, tras el cualdesactiva la salida “Q”. Al recibir un pulso en la entrada “SET”, empieza a contar el tiempoprogramado sin desactivar la salida ”Q” desconectándose el conteo instantáneamente querecibe el flanco de bajada de un nuevo pulso en el “SET”. La entrada “RESET” predominasobre la entrada “SET”, por lo tanto al recibir un pulso en la entrada “RESET” mientras eltemporizador esta contando o activado, la salida ”Q” queda desactivada ”0”.Temporizadores de impulsoS_IMPULS (Arrancar temporizador con impulso)Al activarse su entrada “SET”, activa instantáneamente la salida “Q”, empezando a contar eltiempo programado tras el cual desactiva la salida “Q”. La desactivación de la entrada “SET”durante el funcionamiento del temporizador interrumpe el estado activo de “Q” desactivando lasalida y desconectándose el conteo. La entrada “RESET” predomina sobre la entrada “SET”,por lo tanto al recibir un pulso en la entrada “RESET” mientras el temporizador estafuncionando, la salida ”Q” queda desactivada ”0”.S_VIMP (Arrancar temporizador con impulso prolongado)Al activarse su entrada “SET”, activa instantáneamente la salida “Q”, empezando a contar eltiempo programado tras el cual desactiva la salida “Q”. La desactivación de la entrada “SET”durante el funcionamiento del temporizador no interrumpe el estado activo de “Q”, si no que eltemporizador continua el conteo y manteniendo activa la salida “Q” hasta que termina el tiempoestablecido. 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, lasalida “Q” se mantendría activa reactivándose el conteo, por lo tanto, manteniéndose por mas
    • tiempo el funcionamiento del temporizador y la salida “Q”. La entrada “RESET” predominasobre la entrada “SET”, por lo tanto al recibir un pulso en la entrada “RESET” mientras eltemporizador 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 activación de la entrada E 0.0 de "0" a "1" (flanco creciente en el RLO), el temporizador T5 arranca. El temporizador continúa en marcha con el valor de temporización indicado de 2 s mientras E 0.0 sea "1". Si el estado de señal 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 señal 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 temporización restante se pone a "0".---(SV) Arrancar temporizador con impulso Basado en el mismo funcionamiento que el S_VIMP, la activación de la entrada E 0.0 de "0" a "1" (flanco creciente en el RLO), el temporizador T5 arranca. El temporizador continúa en marcha con el valor de temporización indicado sin ser afectado por un flanco negativo en el RLO. Si el estado de señal 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 señal 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 temporización restante se pone a "0".---(SE) Arrancar temporizador con retardo a la conexión Basado en el mismo funcionamiento que el S_EVERZ, la activación 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 señal en E 0.0 sigue siendo "1", la salida A 4.0 es "1". Si el estado de señal en la entrada E 0.0 cambia de "1" a "0", el temporizador cambia a la marcha en vacío y A 4.0 es "0". Si el estado de señal 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 temporización restante se pone a "0".
    • ---(SS) Arrancar temporizador con retardo a la conexión con memoria Basado en el mismo funcionamiento que el S_SEVERZ, la activación de la entrada E 0.0 de "0" a "1" (flanco creciente en el RLO), el temporizador T5 arranca. Si el estado de señal 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 señal en la entrada E 0.1 es "1", el temporizador T5 se pone a 0, es decir, se para y el valor de temporización restante se pone a "0".---(SA) Arrancar temporizador con retardo a la desconexión Basado en el mismo funcionamiento que el S_AVERZ, la activación 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 señal 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 temporización restante se pone a "0".
    • ContadoresTabla correspondiente al símbolo SIMATIC de los temporizadores anteriormente explicados. Parámetro Tipo de Area de Descripción SIMATIC datos memoria N de Z COUNTER Z Numero de identificación del contador, el área depende la CPU utilizada. ZV BOOL E, A, M, L, D Entrada de conteo adelante. ZR BOOL E, A, M, L, D Entrada de conteo atrás. S BOOL E, A, M, L, D Entrada para preseleccionar el contador. ZW WORD E, A, M, L, D Valor para preseleccionar el contador. R BOOL E, A, M, L, D Entrada de puesta a 0. DUAL WORD E, A, M, L, D Valor actual del contador, numero binario. DEZ WORD E, A, M, L, D Valor actual del contador, numero BCD. Q BOOL E, A, M, L, D Estado del contador. Parámetro SIMATIC Tipo de Area de Descripción datos memoria <C-Nr.> COUNTER Z Numero del contador preseleccionado.<Valor preseleccionado> WORD E, A, M, L, D Valor para la preselección BCD (0- 999).Valor para preseleccionar el contador en forma de C#<valor> en el margen comprendido entre0 y 999.ZAEHLER (incrementar/decrementar)La cantidad desde la que el contador comienza a contar es seleccionada en la entrada ZW alactivar S mediante un flanco ascendente. La entrada ZV incrementa en 1 por cada pulso querecibe el valor preseleccionado. La entrada ZR decrementa en 1 por cada pulso que recibe elvalor preseleccionado. Si hay un flanco ascendente en la entrada R, el contador se pone a ceroy el valor de contaje es 0. El máximo y mínimo valor admisible por el contadores "999" y “0”, yaque deja de incrementar y decrementar. Al producirse un flanco ascendente en ambas entradasde contaje, el valor de contaje no varía. El estado de señal de la salida Q será "1" si el valor decontaje 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 preselección de MW10. Siel estado de señal en E 0.0 cambia de "0" a "1", el valor del contador Z10 incrementa en "1", amenos que el valor de Z10 fuera "999". Si E 0.1 cambia de "0" a "1", Z10 decrementa en "1", ano 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 alactivar S mediante un flanco ascendente. La entrada ZV incrementa en 1 por cada pulso querecibe al valor preseleccionado. Si hay un flanco ascendente en la entrada R, el contador sepone a cero y el valor de contaje es 0. en la entrada R el contador se pone a 0, y entonces elvalor de contaje es cero. El máximo valor admisible por el contadores "999", a partir de aquí, elcontador 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 señal 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 deZ10 no sea cero.Z_RUECK (decrementar contador) La cantidad desde la que el contador comienza a contar es seleccionada en la entrada ZW alactivar S mediante un flanco ascendente. La entrada ZR decrementa en 1 por cada pulso querecibe al valor preseleccionado. Si hay un flanco ascendente en la entrada R, el contador sepone a cero y el valor de contaje es 0. en la entrada R el contador se pone a 0, y entonces elvalor de contaje es cero. El mínimo valor admisible por el contadores "0", a partir de aquí, elcontador deja de decrementar.Al cambiar la entrada E 0.2 de "0" a "1", el contador toma el valor de preselección de MW10. Siel estado de señal en E 0.0 cambia de "0" a "1", el valor del contador Z10 decrementa en "1", amenos que el valor de Z10 fuera "0". La salida A 4.0 será "1" siempre que el valor de Z10 nosea cero.Instrucciones de bit para contadores---(SZ) Poner el contador en el valor inicialSe ejecuta solamente en caso de que haya un flanco ascendente en el RLO. En este caso setransmite el valor predeterminado al contador indicado.
    • El valor ”100” quedará preseleccionado para el contador Z5 si en la entrada E 0.0 se produceun flanco ascendente (cambio de "0" a "1"). El valor del contador Z5 no se altera en caso deque no se produzca ningún flanco ascendente.---(ZV) Contar adelanteIncrementa en "1" el valor del contador si hay un flanco ascendente en el RLO. El valor máximoa 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 señal 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 señal de E 0.2 es 1, el contador se pone a "0". A partir de “999” el contador deja de incrementar.---(ZR) Contar atrásDecrementa en "1" el valor del contador si hay un flanco ascendente en el RLO. El valormínimo 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 señal 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 conversiónBCD_I Convertir BCD a entero de 16 bits Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN WORD E, A, M, L, D Numero BCD OUT INT E, A, M, L, D Valor entero(16 bits) de un numero BCD Lee el contenido de la entrada IN como un numero decimal codificado en binario de 3 dígitos (+/- 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 señal que la entrada EN.BCD_DI Convertir BCD a entero de 32 bits Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN DWORD E, A, M, L, D Numero BCD OUT INT E, A, M, L, D Valor entero(32 bits) de un numero BCD Lee el contenido de la entrada IN como un numero decimal codificado en binario de 7 dígitos (+/- 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 señal que la entrada EN.I_BCD Convertir entero de 16 bits a BCD Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN INT E, A, M, L, D Entero 16 bits OUT WORD E, A, M, L, D 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 dígitos 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 Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN DINT E, A, M, L, D Entero 32 bits OUT DWORD E, A, M, L, D 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 dígitos en forma decimal codificado en binario (+/- 9999999). La salida OUT contiene el resultado. En caso de desbordamiento ENO = 0.
    • TRUNC Truncar entero Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Numero real a convertir OUT DINT E, A, M, L, D Parte entera del valor d´IN 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 Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor a redondear OUT DINT E, A, M, L, D IN, redondear al próximo 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 próximo (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 Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN DINT E, A, M, L, D Entero 32 bits OUT REAL E, A, M, L, D 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 señal que la entrada EN.I_DI Convertir entero de 16 bits a entero de 32 bits Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN INT E, A, M, L, D Valor entero 16 bits a convertir OUT DINT E, A, M, L, D 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 señal que la entrada EN.
    • CEIL Redondear numero real a entero superior Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Numero real a convertir OUT INT E, A, M, L, D 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 Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Numero real a convertir OUT DINT E, A, M, L, D 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 instrucción E 0.0 = 0.INV_I Complemento a 1 de un entero de 16 bits Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN INT E, A, M, L, D Valor entero 16 bits OUT INT E, A, M, L, D Complemento a 1 de un entero de 16 bits d´IN Lee el contenido de la entrada IN combinando el patrón hexadecimal W#16#FFFF mediante O-EXCLUSIVA. Esta operación invierte el estado de cada bit. La salida ENO siempre tiene el mismo estado de señal que la entrada EN.INV_DI Complemento a 1 de un entero de 32 bits Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN DINT E, A, M, L, D Valor entero de 32 bits de entrada OUT DINT E, A, M, L, D Complemento a 1 de entero de 32 bits d´IN Lee el contenido de la entrada IN combinando el patrón hexadecimal W#16#FFFF mediante O-EXCLUSIVA. Esta operación invierte el estado de cada bit. La salida ENO siempre tiene el mismo estado de señal que la entrada EN.
    • NEG_I Complemento a 2 de un entero de 16 bits Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN INT E, A, M, L, D Valor entero de 16 bits de entrada OUT INT E, A, M, L, D Complemento a 2 de entero de 16 bits d´IN Lee el contenido de la entrada IN ejecutando la operación Complemento a 2. La operación invierte el signo (Ej: De un valor positivo a uno negativo). La salida ENO siempre tiene el mismo estado de señal que la entrada EN, a excepción de que si el estado de señal de ENO es 1, se produce un desbordamiento, el estado de señal de ENO es 0.NEG_DI Complemento a 2 de un entero de 32 bits Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN DINT E, A, M, L, D Valor entero de 32 bits de entrada OUT DINT E, A, M, L, D Complemento a 2 de entero de 32 bits d´IN Lee el contenido de la entrada IN ejecutando la operación Complemento a 2. La operación invierte el signo (Ej: De un valor positivo a uno negativo). La salida ENO siempre tiene el mismo estado de señal que la entrada EN, a excepción de que si el estado de señal de ENO es 1, se produce un desbordamiento, el estado de señal de ENO es 0.NEG_R Invertir el signo de un numero real Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D Numero real IN con signo negado Lee el contenido de la entrada IN invertiendo el signo. Esta operación equivale a una multiplicación por (-1). La operación invierte el signo (Ej: de un valor positivo a uno negativo). La salida ENO siempre tiene el mismo estado de señal que la entrada EN, a excepción de que si el estado de señal de ENO es 1, se produce un desbordamiento, el estado de señal de ENO es 0.
    • Operaciones de comparación (>, <, ==, <>, <=, >=)Las operaciones de comparación sirven para comparar los siguientes pares de valoresnuméricos:- Dos enteros (16 bits)- Dos enteros dobles (32 bits)- Dos números reales (de coma flotante, 32 bits)Los valores numéricos se cargan en los ACUs 1 y 2. Las operaciones de comparacióncomparan el valor del ACU2 con el valor depositado en el ACU1.El resultado de la comparación es un dígito binario. Un 1 significa que el resultado de lacomparación es verdadero, mientras que un 0 significa que el resultado de la comparación esfalso. Este resultado se encuentra almacenado en el bit de resultado lógico (RLO). Esteresultado puede emplearse para su posterior procesamiento. Parámetro Carácter de relación Descripción xx >, <, = =, <>, <=, >= Tipo de comparaciónxx= Tipo de comparación: > Mayor < Menor == Igual <> Diferente >= Mayor o igual <= Menor o igualCMP_D >= xx Comparar enteros (32 bits) (>, <, ==, <>, <=, >=) Parámetro Tipo de datos Area de memoria DescripciónEntrada de cuadro BOOL E, A, M, L, D Entrada de habilitación Salida de cuadro BOOL E, A, M, L, D Salida de habilitación IN1 DINT E, A, M, L, D Primer valor a comparar IN2 DINT E, A, M, L, D Segundo valor a compararLas entradas IN1 y IN2 son comparadas mediante al criterio de comparación que se hayaseleccionado. Símbolo SIMATICLa salida A 4.0 se activa si E0.0 Y E0.1 tienen el estado de señal 1 Y si MD0 >= MD4 Y si E0.2tiene el estado de señal 1.CMP_I >= xx Comparar enteros (16 bits) (>, <, ==, <>, <=, >=) Parámetro Tipo de datos Area de memoria DescripciónEntrada de cuadro BOOL E, A, M, L, D Entrada de habilitación Salida de cuadro BOOL E, A, M, L, D Salida de habilitación IN1 INT E, A, M, L, D Primer valor a comparar IN2 INT E, A, M, L, D Segundo valor a compararLas entradas IN1 y IN2 son comparadas mediante al criterio de comparación que se hayaseleccionado.
    • Símbolo SIMATICLa salida A 4.0 se activa si E0.0 Y E0.1 son 1 Y si MW0 >= MW2.CMP_R >= xx Comparar números reales (>, <, ==, <>, <=, >=) Parámetro Tipo de datos Area de memoria DescripciónEntrada de cuadro BOOL E, A, M, L, D Entrada de habilitación Salida de cuadro BOOL E, A, M, L, D Salida de habilitación IN1 REAL E, A, M, L, D Primer valor a comparar IN2 REAL E, A, M, L, D Segundo valor a compararLas entradas IN1 y IN2 son comparadas mediante al criterio de comparación que se hayaseleccionado. Símbolo SIMATICLa salida A4.0 se activa si E0.0 Y E0.1 son 1 Y si MD0 >= MD4 Y si E0.2 es 1.Operación de transferencia (MOVE) Parámetro Tipo de datos Area de Descripción memoria EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN Todos los tipos de datos de 8, 16 E, A, M, L, D, Valor de la fuente i 32 bits de longitud T, Z O E, A, M, L, D Dirección de destinoAl activar la entrada EN se copia el valor asignado en la entrada IN, en la dirección que indicala salida O. ENO tiene el mismo estado de señal que la entrada EN. Como muestra la tabla, laoperación MOVE solo puede copiar objetos con extensión byte, word o double word.La dependencia del MCR solamente se activa si el cuadro MOVE se coloca dentro de un áreade 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 habilitación, el bitdireccionado se pone a "1" (se activa) ó a "0" (se desactiva), tal como se ha descrito másarriba. Si el MCR está desconectado y se ejecuta una operación MOVE, en la direcciónindicada por OUT se escribirá siempre el valor "0", independientemente de cuál sea el estadoactual de IN.
    • Acumuladores (ACU1 y ACU2)El acumulador 1 (ACU 1) y el acumulador 2 (ACU 2) son dos registros universales de 32 bitsque se emplean para procesar bytes, palabras y palabras dobles. En estos acumuladores sepueden cargar constantes o valores depositados en la memoria como operandos y ejecutaroperaciones lógicas con ellos. También es posible transferir el resultado en ACU 1 a unadirección (un módulo de datos, una salida, etc.).Cada acumulador puede descomponerse en dos palabras de 16 bits (palabra baja y alta). Lapalabra baja contiene los bits de menor peso y la alta los de mayor peso lógico.Todas las posibles operaciones que pueden realizarse son:Cargar: que siempre actúa sobre ACU 1 y guarda el antiguo contenido en ACU 2 (perdiéndoseel valor antiguo de ACU 2). La carga de una palabra actúa sobre la palabra baja del ACU 1.Transferir: copia el contenido de ACU 1 en una dirección de memoria, sin perder el valor delos acumuladores.Intercambiar el contenido de los acumuladores: mediante la instrucción TAK.Realizar una operación entre los acumuladores, almacenando el resultado en ACU 1 sinvariar ACU 2. Las operaciones pueden ser de comparación, de lógica digital y de aritmética. Definición 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 metadeterminada. La meta define el punto en que deberá continuar el programa. El salto se efectúaindependientemente de condiciones.---( JMP) Saltar si la señal es 1Funciona como un salto absoluto cuando no hay otro elemento KOP entre el conductorizquierdo y la operación. El salto es siempre ejecutado. Las operaciones que se encuentren entre la operación de salto y la meta no se ejecutan.---( JMP) Salto en el bloque si el RLO es 1Funciona como un salto condicional cuando el RLO de la combinación lógica anterior es "1".Si un salto condicional no se ejecuta, el RLO cambia a "1" después de la operación 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 operación ”Poner salida a “0”, aunque E 0.3 sea 1.---( JMPN) (Saltar si la señal es 0)Funciona como un salto condicional cuando el RLO de la combinación lógica anterior es "0". Siun salto condicional no se lleva a cabo, el RLO cambia a "1" después de la operación 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 operación ”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 máximo. El primer carácter debe ser siempre una letra, no importando si el resto son números o letras. La meta se especifica normalmente en el operando de la instrucción de salto, y seguida de dos puntos frente a la línea 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 operación ”Poner salida a 0”, aunque E 0.3 sea 1.
    • Funciones matemáticas fundamentales (Aritmética de coma fija)ADD_I Suma de números enteros (16 bits) Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 INT E, A, M, L, D Primer valor de la suma IN2 INT E, A, M, L, D Segundo valor de la suma OUT INT E, A, M, L, D Resultado de la suma Realiza la suma de números enteros de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.ADD_DI Suma de números enteros (32 bits) Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 DINT E, A, M, L, D Primer valor de la suma IN2 DINT E, A, M, L, D Segundo valor de la suma OUT DINT E, A, M, L, D Resultado de la suma Realiza la suma de números enteros de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.SUB_I Resta de números enteros (16 bits) Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 INT E, A, M, L, D Primer valor de la resta IN2 INT E, A, M, L, D Segundo valor de la resta OUT INT E, A, M, L, D Resultado de la resta Realiza la resta de números enteros de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.
    • SUB_DI Resta de números enteros (32 bits) Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 DINT E, A, M, L, D Primer valor de la resta IN2 DINT E, A, M, L, D Segundo valor de la resta OUT DINT E, A, M, L, D Resultado de la resta Realiza la resta de números enteros de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.MUL_I Producto de números enteros (16 bits) Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 INT E, A, M, L, D Primer valor del producto IN2 INT E, A, M, L, D Segundo valor del producto OUT INT E, A, M, L, D Resultado del producto Realiza el producto de números enteros de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.MUL_DI Producto de números enteros (32 bits) Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 DINT E, A, M, L, D Primer valor del producto IN2 DINT E, A, M, L, D Segundo valor del producto OUT DINT E, A, M, L, D Resultado del producto Realiza el producto de números enteros de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.
    • DIV_I División de números enteros (16 bits) Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 INT E, A, M, L, D Primer valor de la división IN2 INT E, A, M, L, D Segundo valor de la división OUT INT E, A, M, L, D Resultado de la división Realiza la división de números enteros de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.DIV_I División de números enteros (32 bits) Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 DINT E, A, M, L, D Primer valor de la división IN2 DINT E, A, M, L, D Segundo valor de la división OUT DINT E, A, M, L, D Resultado de la división Realiza la división de números enteros de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.MOD_DI Obtener resta de división de enteros (32 bits) Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 DINT E, A, M, L, D Dividendo IN2 DINT E, A, M, L, D Divisor OUT DINT E, A, M, L, D Resta de la división Realiza la división de números enteros de las entradas IN1 e IN2 cuando la entrada de habilitación EN esta en “1”. La resta de la división puede consultarse en la salida OUT. En el caso que hubiese desbordamiento o desbordamiento negativo por salir el resultado del rango valido de números 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 través de ENO, no serán ejecutadas.
    • Bits de resultado (>, <, >=, <=, = =, <> 0)Estas operaciones son utilizadas para determinar la relación entre el resultado obtenido de unafunción aritmética y “0” mediante la comparación. Comparación con cero Negación de la comparación >0---I I--- >0---I/I--- <0---I I--- <0---I/I--- >=0---I I--- >=0---I/I--- <=0---I I--- <=0---I/I--- ==0---I I--- ==0---I/I--- <>0---I I--- <>0---I/I--- Comparación con cero Descripción detallada >0 Más grande que cero <0 Menor que cero >=0 Más grande o igual que cero M Menor o igual que cero ==0 Igual que cero <>0 Diferente que cero
    • Funciones matemáticas fundamentales (Aritmética de coma flotante)ADD_R Suma de números reales Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 REAL E, A, M, L, D Primer valor de la suma IN2 REAL E, A, M, L, D Segundo valor de la suma OUT REAL E, A, M, L, D Resultado de la suma Realiza la suma de números reales de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.SUB_R Resta de números reales Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 REAL E, A, M, L, D Primer valor de la resta IN2 REAL E, A, M, L, D Segundo valor de la resta OUT REAL E, A, M, L, D Resultado de la resta Realiza la resta de números reales de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.MUL_R Producto de números reales Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 REAL E, A, M, L, D Primer valor del producto IN2 REAL E, A, M, L, D Segundo valor del producto OUT REAL E, A, M, L, D Resultado del producto Realiza el producto de números reales de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.
    • DIV_R División de números reales Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN1 REAL E, A, M, L, D Primer valor de la división IN2 REAL E, A, M, L, D Segundo valor de la división OUT REAL E, A, M, L, D Resultado de la división Realiza la división de números reales de las entradas IN1 e IN2 cuando la entrada de habilitación 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 números 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 través de ENO, no serán ejecutadas.ABS Valor absoluto de un número real Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Numero real OUT REAL E, A, M, L, D Valor absoluto del numero real Realiza el valor absoluto del numero real introducido por la entrada IN, cuando la entrada de habilitación EN esta en “1”. En la salida OUT se obtiene el valor absoluto. Si la salida ENO es = “1”, se realiza la conversión.
    • Funciones matemáticas avanzadas (Aritmética de coma flotante)SIN Calculo del seno Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D 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 habilitación EN hay un “1”. El numero real representa un ángulo en radianes. Si la salida ENO es = “1”, se realiza la conversión.ASIN Calculo del arcoseno Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D 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 habilitación 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 conversión. El valor de salida tiene un rango de -π/2<= Valor de salida <=+π/2.COS Calculo del coseno Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D 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 habilitación EN hay un “1”. El numero real representa un ángulo en radianes. Si la salida ENO es = “1”, se realiza la conversión.ACOS Calculo del arcocoseno Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D 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 habilitación 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 conversión. El valor de salida tiene un rango de 0<= Valor de salida <=+π.TAN Calculo de la tangente Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D 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 habilitación EN hay un “1”. El numero real representa un ángulo en radianes. Si la salida ENO es = “1”, se realiza la conversión.ATAN Calculo de la arcotangente Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D 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 habilitación EN hay un “1”. El numero real representa un ángulo en radianes. Si la salida ENO es = “1”, se realiza la conversión. El valor de salida tiene un rango de -π/2<= Valor de salida <=+π/2.EXP Calculo el exponente Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D 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 habilitación EN hay un “1”. El numero real representa un ángulo en radianes. Si la salida ENO es = “1”, se realiza la conversión.
    • LN Calculo del logaritmo natural Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D 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 habilitación EN hay un “1”. El numero real representa un ángulo en radianes. Si la salida ENO es = “1”, se realiza la conversión.SQR Calculo del cuadrado Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D 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 habilitación EN hay un “1”. El numero real representa un ángulo en radianes. Si la salida ENO es = “1”, se realiza la conversión.SQRT Calculo de la raíz cuadrada Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN REAL E, A, M, L, D Valor de entrada: Numero real OUT REAL E, A, M, L, D Valor de salida: raíz cuadrada del numero real Realiza el calculo de la raíz cuadrada del numero real introducido por la entrada IN cuando en la entrada de habilitación EN hay un “1”. El numero real representa un ángulo en radianes. Si la salida ENO es = “1”, se realiza la conversión.
    • Funciones de desplazamiento y rotaciónSHL_W Desplazar 16 bits a la izquierda Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN WORD E, A, M, L, D Valor a desplazar N WORD E, A, M, L, D Numero de posiciones OUT WORD E, A, M, L, D Resultado de la operación de desplazamiento Cuando en la entrada de habilitación EN hay un “1”,se activa esta función 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 señal del último bit desplazado.SHR_W Desplazar 16 bits a la derecha Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN WORD E, A, M, L, D Valor a desplazar N WORD E, A, M, L, D Numero de posiciones OUT WORD E, A, M, L, D Resultado de la operación de desplazamiento Cuando en la entrada de habilitación EN hay un “1”,se activa esta función 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 señal del último bit desplazado.SHL_DW Desplazar 32 bits a la izquierda Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN WORD E, A, M, L, D Valor a desplazar N DWORD E, A, M, L, D Numero de posiciones OUT WORD E, A, M, L, D Resultado de la operación de desplazamiento Cuando en la entrada de habilitación EN hay un “1”,se activa esta función 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 señal del último bit desplazado.
    • SHR_DW Desplazar 32 bits a la derecha Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN WORD E, A, M, L, D Valor a desplazar N DWORD E, A, M, L, D Numero de posiciones OUT WORD E, A, M, L, D Resultado de la operación de desplazamiento Cuando en la entrada de habilitación EN hay un “1”,se activa esta función 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 señal del último bit desplazado.SHR_I Desplazar entero de 16 bits a la derecha Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN INT E, A, M, L, D Valor a desplazar N WORD E, A, M, L, D Numero de posiciones OUT INT E, A, M, L, D Resultado de la operación de desplazamiento Cuando en la entrada de habilitación EN hay un “1”,se activa esta función 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 señal del último bit desplazado.SHR_DI Desplazar entero de 32 bits a la derecha Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN DINT E, A, M, L, D Valor a desplazar N WORD E, A, M, L, D Numero de posiciones OUT DINT E, A, M, L, D Resultado de la operación de desplazamiento Cuando en la entrada de habilitación EN hay un “1”,se activa esta función 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 señal del último bit desplazado.
    • ROL_DW Rotar 32 bits a la izquierda Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN DWORD E, A, M, L, D Valor a rotar N WORD E, A, M, L, D Numero de posiciones (bits) a rotar OUT DWORD E, A, M, L, D Resultado de la operación de rotación Cuando en la entrada de habilitación EN hay un “1”,se activa esta función 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 señal de los bits rotados a la izquierda. La palabra doble que se obtiene como resultado de la operación de rotación, 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 serán ejecutadas si el último bit desplazado tiene como estado “0”ROR_DW Rotar 32 bits a la derecha Parámetro Tipo de datos Area de memoria Descripción EN BOOL E, A, M, L, D Entrada de habilitación ENO BOOL E, A, M, L, D Salida de habilitación IN DWORD E, A, M, L, D Valor a desplazar N WORD E, A, M, L, D Numero de posiciones (bits) a rotar OUT DWORD E, A, M, L, D Resultado de la operación de rotación Cuando en la entrada de habilitación EN hay un “1”,se activa esta función 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 señal de los bits rotados a la derecha. La palabra doble que se obtiene como resultado de la operación de rotación, 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 serán ejecutadas si el último bit desplazado tiene como estado “0”
    • Sistemas de protección de controlRelé de controlRelé físico que corta el suministro de corriente en entradas y salidas del autómataprogramable, manteniendo la alimentación de la CPU y así poder revisar el estado delprograma o controlar los errores, etc. L1 L2 L3 N Transformador separador Pulsador de emergencia Pulsador de paro Fuente de Pulsador de alimentacion marcha 24 Vcc para E/SMaster Control Relay (MCR)Empleado para inhibir el funcionamiento de una determinada parte del programa en casos deemergencia o puestas en marcha del sistema sin que ello afecte a la alimentación de la CPU(secuencia de instrucciones que escribe un cero en lugar del valor calculado, o bien nomodifican el valor de memoria existente).---(MCRA) Inicio de un Master Control RelayActiva un Master Control Relay. Una vez efectuada esta operación 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 varía, independientemente del estado de E 0.3; la salida A 4.1 es "0", independientemente de cuál sea el estado de E 0.4. En el circuito siguiente, la operación ---(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 RelayDesactiva un MCR. Después de esta operación 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 varía, 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 operación --- (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 RelayAlmacena el RLO en la pila MCR y abre un área MCR. La pila de paréntesis MCR es una pilaLIFO (last in, first out) que da cabida, como máximo, a 8 registros (8 niveles). Si la pila ya estállena, la operación ---(MCR<) provoca un error de la pila MCR (MCRF). Los siguienteselementos dependen del MCR y varían según cuál sea el estado de señal del RLO que sealmacena en la pila MCR mientras está abierta un área MCR:
    • MCRA activa el MCR, creándose hasta un máximo de ocho áreas MCR anidadas. En esteejemplo 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 señal 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 cuálsea 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 varía, independientementedel estado de E 0.3.---(MCR>) Desconectar un Master Control RelayBorra un registro RLO de la pila MCR. La pila de paréntesis MCR es una pila LIFO (last in, firstout) que da cabida a un máximo de 8 registros (8 niveles). Si la pila ya está vacía, la operación---(MCR >) provoca un error de la pila MCR (MCRF). Los siguientes elementos dependen delMCR y se ven afectados por el estado de señal del RLO que se almacena en la pila MCRmientras está abierta un área MCR:---(MCRA) activa el MCR, creándose hasta un máximo de ocho áreas MCR. En este ejemplohay 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 señal 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: lasalida 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 varía, independientemente del estado de E 0.3
    • Programación estructuradaEn la programación estructurada, la tarea a automatizar se divide en tareas menos complejas,las cuales son llamadas desde un programa o modulo raíz (OB1). En este tipo de programaciónresulta ser muy organizado, ya que es muy recomendable sobretodo para el diseño de tareascomplejas y por lo tanto el seccionamiento y resolución de errores en el caso que los hubiese.El programa raíz se encarga de llamar a los sub-modulos para la realización de las tareasprogramadas, 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 programación 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 programación en la puesta a punto se realizan mas rápidamente ya que es un sistema muy organizado.- Los bloques o módulos realizados pueden ser utilizados en otras tareas de automatización.- El programa que se obtiene como resultado de este tipo de programación resulta mas sencillo a la hora de ser leído por técnicos no programadores. Ejemplo de programación estructurada