STEP 7 Funciones y operaciones
-
Upload
techonmyweb -
Category
Education
-
view
3.295 -
download
9
description
Transcript of STEP 7 Funciones y operaciones
X
X
.
.
.
1
0
3
7 0
125
2
4
MW0
MW1
MW2
MW3
MD0
MD1
MB0
MB1
MB2
MB3
MB4
.
.
.
FORMATO BYTE FORMATO PALABRA(WORD)
M 0.3
BYTE BIT
M 2.3FORMATO DOBLEPALABRA
(DOUBLE WORD)
Posiciones de la memoria RAM
Identificaciones de elementos y bloques y sintaxis de las constantes
Elementos y bloques ConstantesT 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
abreviatura Nemotecnia)T# Time#
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 funciones
Nombredel área
Función del área Acceso a través deunidades de longitud
Abreviat.
Imagenproceso
deentradas
(E)
Al arrancar el programa, el sistema operativolee las entradas del proceso almacenando losvalores en este área
EntradaByte de entradaPalabra de entradaPalabra doble de entrada
EEBEWED
Imagenproceso
desalidas
(A)
Durante el ciclo, el programa calcula losvalores de salida y los deposita en este área.Al final del ciclo, el sistema operativo lee eneste área los valores de salida calculados ylos transfiere a las salidas del proceso
SalidaByte de salidaPalabra de salidaPalabra doble de salida
AABAWAD
Marcas(M)
Area que permite almacenar resultadosintermedios calculados en el programa
MarcasByte de salidaPalabra de salidaPalabra doble de salida
MMBMWMD
E/S:entradasexternas
E/S:Salidas
externas
Este área permite al programa el accesodirecto a los módulos de E/S (es decir,entradas y salidas de la periferia)
Byte de entrada de la periferiaPalabra de entrada de la perif.Palabra doble de entrada dela periferia
Byte de entrada de la periferiaPalabra de entrada de la perif.Palabra doble de entrada dela periferia
PEBPEWPED
PABPAWPAD
Temporizadores
(T)
Elementos funcionales del lenguaje deprogram. KOP. Area que permite almacenarcélulas de temporización. En este área, elreloj accede a estas células para seractualizado, decrementando el valor detemporización. En las células de temporiz. seaccede con operaciones de temporización
T
Contadores(C)
Elementos funcionales del lenguaje deprogram. KOP. Area de almacenamiento decontadores. Area de acceso con operacionesde conteo
Z
Bloquesde datos
(D)
Area que contiene datos a los que se puedeacceder desde cualquier bloque. Si se deseatener abiertos dos bloques al mismo tiempo,uno puede abrirse con la instrucción ”AUFDB” y otro con la instrucción “AUF DI”. Lanotación de los operandos determina a quebloque de datos se accede.Aunque la instrucción “AUF DI” puedautilizarse para abrir cualquier bloque de datos,su utilización principal consiste en abrirbloques de datos de instancia asociados abloques de función FB´s y a bloques defunción de sistema SFB´s
DBXDBBDBWDBD
DIXDIBDIWDID
Datoslocales
(L)
Area que contiene datos temporales debloque lógico (DB, FB, o FC). Estos, tambiéndenominados datos locales dinámic., sirvende memoria intermedia. Cuando se cierra elbloque lógico, se pierden estos datos. Losdatos están depositados en la pila de datoslocales (pila L)
LLBLWLD
Tipos de direccionamiento
En 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.
Direccionamiento 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 DireccionamientoMOTOR_ON A 0.1ACTIV_IMAN A 0.0
FINAL_CARRERA E 0.5
A 4.0Identificadorde operando
direccionamientode byte
direccionamientode bit
Selección del lenguaje de programación
Lenguaje deprogramación
Destinatarios Caso deaplicación
Entradaincremental
Entrada orientadaa fuente
Bloque auto-documentable de
la CPULista de
instruccionesAWL
Usuarios quedesean
programar anivel e maquina
Programasoptimizadosen tiempo deejecución y
uso dememoria
Sí Sí Sí
Esquema decontactos KOP
Usuariosfamiliarizadoscon esquemas
eléctricos
Programaciónde controles
combinacionales
Sí No Sí
Los 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.
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.0U E 0.1)= A 2.0
Esquema 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.
Desde el editor de programación KOP, AWL, FUP, unavez cargado un proyecto, puede ser cambiado ellenguaje de programación a través del comando menú“Ver”, donde pueden verse los tipos tres tipos delenguajes KOP, AWL, FUP. El cambio de lenguaje deprogramación puede ser realizado en cualquiermomento. Sólo es posible cambiar de AWL aKOP/FUP si las instrucciones AWL asumen toda laasignación de parámetros de los correspondienteselementos KOP/FUP y respetan el orden. A losparámetros no usados en AWL se les asigna ”NOP 0”.
Componentes del editor KOP
Tabla 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 consultado
Como 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 consultado
Como 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 asignado
Si 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 activado
Si 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 desactivado
Si 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 habilitadaR BOOL E, A, M, L, D Desactivacion habilitadaQ BOOL E, A, M, L, D Estado de señal del operando
RS (Activación de flip-flop de desactivación)
Si la entrada R recibe el estado 1 y la entrada S el estado 0, la basculadesactiva su salida. Si la entrada R recibe el estado 0 y la entrada S elestado 1, la bascula activa su salida. Cuando en ambas entradasrecibe el estado 1, primero desactiva y seguidamente activa.
SR (Desactivacion de flip-flop de activación)
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 RLO
Detecció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 RLO
Detecció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 Operando1Q BOOL E, A, M, L, D Detección del cambio de señal
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 Operando1Q 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 estadoanterior almacenada en el operando 2. Si el estado anterior delRLO 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 losrestantes casos “0”.
Si la entrada R recibe el estado 1 y la entrada S el estado 0, la basculadesactiva su salida. Si la entrada R recibe el estado 0 y la entrada S elestado 1, la bascula activa su salida. Cuando en ambas entradasrecibe el estado 1, primero activa y seguidamente desactiva.
Compara el estado de la señal del operando 1 con la del estadoanterior almacenada en el operando 2. Si el estado anterior delRLO 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 losrestantes casos “1”.
---(SAVE) Cargar resultado lógico
Almacena el resultado lógico RLO en el bit RB de la palabra de estado.ismos pero de signo opuesto.
Temporizadores de retardo
Tablas de características correspondientes a los temporizadores nombrados en los siguientesapartados:
ParámetroSIMATIC
Tipo dedatos
Area dememoria
Descripción
Nº de T TIMER T Numero de identificación del temporizador, el áreadepende 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ónDe 10MS a 9S_990MS 0,01 segundos
De 100MS a 1M_39S_900MS 0,1 segundosDe 1S a 16M_39S 1 segundo
De 10S a 2H_46M_30S 10 segundos
S5TIME#4S = 4 segundoss5t#2h_15m = 2 horas y 15 minutosS5T#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 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 retardo
S_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 impulso
S_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
---(SV) Arrancar temporizador con impulso
---(SE) Arrancar temporizador con retardo a la conexión
Basado en el mismo funcionamiento que el S_IMPULS, laactivación de la entrada E 0.0 de "0" a "1" (flanco crecienteen el RLO), el temporizador T5 arranca. El temporizadorcontinúa en marcha con el valor de temporización indicadode 2 s mientras E 0.0 sea "1". Si el estado de señal en E 0.0cambia de "1" a "0" antes de transcurrir el tiempo, eltemporizador se para. La salida A 4.0 es "1" mientras eltemporizador está en marcha. Si el estado de señal en laentrada E 0.1 cambia de "0" a "1", el temporizador T5 sepone a 0, es decir, se para y el valor de temporizaciónrestante se pone a "0".
Basado en el mismo funcionamiento que el S_VIMP, laactivación de la entrada E 0.0 de "0" a "1" (flanco crecienteen el RLO), el temporizador T5 arranca. El temporizadorcontinúa en marcha con el valor de temporización indicadosin ser afectado por un flanco negativo en el RLO. Si elestado de señal en E 0.0 cambia de "0" a "1" antes detranscurrir el tiempo, el temporizador se vuelve a arrancar. Lasalida 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 elvalor de temporización restante se pone a "0".
Basado en el mismo funcionamiento que el S_EVERZ, laactivación de la entrada E 0.0 de "0" a "1" (flanco crecienteen el RLO), el temporizador T5 arranca. Si transcurre eltiempo y el estado de señal en E 0.0 sigue siendo "1", lasalida A 4.0 es "1". Si el estado de señal en la entrada E 0.0cambia de "1" a "0", el temporizador cambia a la marcha envacío y A 4.0 es "0". Si el estado de señal en la entrada E 0.1cambia 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
---(SA) Arrancar temporizador con retardo a la desconexión
Basado en el mismo funcionamiento que el S_AVERZ, laactivación de la entrada E 0.0 de "1" a "0", el temporizadorarranca.A 4.0 es "1" si E 0.0 es "1" o si el temporizador está enmarcha. 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 separa y que el valor de temporización restante se pone a "0".
Basado en el mismo funcionamiento que el S_SEVERZ, laactivación de la entrada E 0.0 de "0" a "1" (flanco crecienteen el RLO), el temporizador T5 arranca. Si el estado de señalen la entrada E 0.0 cambia de "0" a "1" antes de transcurrir eltiempo, el temporizador se vuelve a arrancar. La salida A 4.0es "1" si ha transcurrido el tiempo. Si el estado de señal en laentrada E 0.1 es "1", el temporizador T5 se pone a 0, esdecir, se para y el valor de temporización restante se pone a"0".
Contadores
Tabla correspondiente al símbolo SIMATIC de los temporizadores anteriormente explicados.
ParámetroSIMATIC
Tipo dedatos
Area dememoria
Descripción
N de Z COUNTER Z Numero de identificación del contador, el áreadepende 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 dedatos
Area dememoria
Descripción
<C-Nr.> COUNTER Z Numero del contadorpreseleccionado.
<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 inicial
Se 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 adelante
Incrementa 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".
---(ZR) Contar atrás
Decrementa 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 elRLO), se carga el valor predeterminado de "100" en elcontador 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.
Al cambiar E 0.0 de "0" a "1" (flanco ascendente en elRLO), se carga el valor predeterminado de "100" en elcontador 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 deseñal de E 0.2 es 1, el contador se pone a "0". A partirde “999” el contador deja de incrementar.
Operaciones de conversión
BCD_I Convertir BCD a entero de 16 bits
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN WORD E, A, M, L, D Numero BCD
OUT INT E, A, M, L, D Valor entero(16 bits) de un numero BCD
BCD_DI Convertir BCD a entero de 32 bits
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN DWORD E, A, M, L, D Numero BCD
OUT INT E, A, M, L, D Valor entero(32 bits) de un numero BCD
I_BCD Convertir entero de 16 bits a BCD
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN INT E, A, M, L, D Entero 16 bits
OUT WORD E, A, M, L, D Valor BCD de entero de16 bits
DI_BCD Convertir entero de 32 bits A BCD
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN 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 numero decimal codificadoen binario de 3 dígitos (+/- 999), convertiendolo en un valor entero de16 bits. La salida OUT contiene el resultado en forma de entero. Lasalida ENO siempre tiene el mismo estado de señal que la entrada EN.
Lee el contenido de la entrada IN como un numero decimal codificadoen binario de 7 dígitos (+/- 9999999), convertiendolo en un valor enterode 32 bits. La salida OUT contiene el resultado en forma de entero. Lasalida ENO siempre tiene el mismo estado de señal que la entrada EN.
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 codificadoen binario (+/- 999). La salida OUT contiene el resultado. En caso dedesbordamiento ENO = 0.
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 codificadoen binario (+/- 9999999). La salida OUT contiene el resultado. En casode desbordamiento ENO = 0.
TRUNC Truncar entero
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Numero real a convertir
OUT DINT E, A, M, L, D Parte entera del valor d´IN
ROUND Redondear entero
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor a redondear
OUT DINT E, A, M, L, D IN, redondear al próximo entero
DI_R Convertir entero en 32 bits a real
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN DINT E, A, M, L, D Entero 32 bits
OUT REAL E, A, M, L, D Numero real
I_DI Convertir entero de 16 bits a entero de 32 bits
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN 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 un valor real, convertiendoloen un entero de 32 bits. El resultado es la parte entera del numero realque extrae la salida OUT. En caso de desbordamiento ENO = 0.
Lee el contenido de la entrada IN como numero real, convertiendolo enun entero de 32 bits. El resultado es el numero entero mas próximo(redondeo). Si el numero real se encuentra en el centro de dosenteros, el numero par es devuelto. El resultado se deposita en lasalida OUT. En caso de desbordamiento ENO = 0.
Lee el contenido de la entrada IN como valor entero de 32 bits,convertiendolo en numero real. El resultado se deposita en la salidaOUT. La salida ENO siempre tiene el mismo estado de señal que laentrada EN.
Lee el contenido de la entrada IN como valor entero de 16 bits,convertiendolo en entero de 32 bits. El resultado se deposita en lasalida OUT. La salida ENO siempre tiene el mismo estado de señalque la entrada EN.
CEIL Redondear numero real a entero superior
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Numero real a convertir
OUT INT E, A, M, L, D Entero de 32 bits inferior que es masgrande que el numero real
FLOOR Redondear numero real a entero inferior
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Numero real a convertir
OUT DINT E, A, M, L, D Entero de 32 bits superior menor que elnumero real
INV_I Complemento a 1 de un entero de 16 bits
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN INT E, A, M, L, D Valor entero 16 bits
OUT INT E, A, M, L, D Complemento a 1 de un entero de 16bits d´IN
INV_DI Complemento a 1 de un entero de 32 bits
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN 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 bitsd´IN
Lee el contenido de la entrada IN como numero real, convertiendolo enentero de 32 bits. El resultado es el entero inferior que es mas grandeque el numero real (redondear). En caso de desbordamiento ENO = 0.
Lee el contenido de la entrada IN como numero real, convertiendolo enentero de 32 bits. El resultado se deposita en MD12. La salida A 0.0ES “1” si se produce un desbordamiento o si no se procesa lainstrucción E 0.0 = 0.
Lee el contenido de la entrada IN combinando el patrón hexadecimalW#16#FFFF mediante O-EXCLUSIVA. Esta operación invierte elestado de cada bit. La salida ENO siempre tiene el mismo estado deseñal que la entrada EN.
Lee el contenido de la entrada IN combinando el patrón hexadecimalW#16#FFFF mediante O-EXCLUSIVA. Esta operación invierte elestado de cada bit. La salida ENO siempre tiene el mismo estado deseñ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ónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN 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 bitsd´IN
NEG_DI Complemento a 2 de un entero de 32 bits
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN 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 bitsd´IN
NEG_R Invertir el signo de un numero real
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN 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 ejecutando la operaciónComplemento a 2. La operación invierte el signo (Ej: De un valorpositivo a uno negativo). La salida ENO siempre tiene el mismo estadode señal que la entrada EN, a excepción de que si el estado de señalde ENO es 1, se produce un desbordamiento, el estado de señal deENO es 0.
Lee el contenido de la entrada IN ejecutando la operaciónComplemento a 2. La operación invierte el signo (Ej: De un valorpositivo a uno negativo). La salida ENO siempre tiene el mismo estadode señal que la entrada EN, a excepción de que si el estado de señalde ENO es 1, se produce un desbordamiento, el estado de señal deENO es 0.
Lee el contenido de la entrada IN invertiendo el signo. Esta operaciónequivale a una multiplicación por (-1). La operación invierte el signo(Ej: de un valor positivo a uno negativo). La salida ENO siempre tieneel mismo estado de señal que la entrada EN, a excepción de que si elestado de señal de ENO es 1, se produce un desbordamiento, elestado 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 ACU's 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ónxx >, <, = =, <>, <=, >= Tipo de comparación
xx= Tipo de comparación: > Mayor< Menor
== Igual<> Diferente>= Mayor o igual<= Menor o igual
CMP_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ónSalida de cuadro BOOL E, A, M, L, D Salida de habilitación
IN1 DINT E, A, M, L, D Primer valor a compararIN2 DINT E, A, M, L, D Segundo valor a comparar
Las entradas IN1 y IN2 son comparadas mediante al criterio de comparación que se hayaseleccionado.
La 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ónSalida de cuadro BOOL E, A, M, L, D Salida de habilitación
IN1 INT E, A, M, L, D Primer valor a compararIN2 INT E, A, M, L, D Segundo valor a comparar
Las entradas IN1 y IN2 son comparadas mediante al criterio de comparación que se hayaseleccionado.
SímboloSIMATIC
La 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ónSalida de cuadro BOOL E, A, M, L, D Salida de habilitación
IN1 REAL E, A, M, L, D Primer valor a compararIN2 REAL E, A, M, L, D Segundo valor a comparar
Las entradas IN1 y IN2 son comparadas mediante al criterio de comparación que se hayaseleccionado.
La 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 dememoria
Descripción
EN BOOL E, A, M, L, D Entrada de habilitaciónENO BOOL E, A, M, L, D Salida de habilitación
IN Todos los tipos de datos de 8, 16i 32 bits de longitud
E, A, M, L, D,T, Z
Valor de la fuente
O E, A, M, L, D Dirección de destino
Al 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.
SímboloSIMATIC
SímboloSIMATIC
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 1
Funciona como un salto absoluto cuando no hay otro elemento KOP entre el conductorizquierdo y la operación.
---( JMP) Salto en el bloque si el RLO es 1
Funciona 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.
---( 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.
El salto es siempre ejecutado. Las operacionesque se encuentren entre la operación de salto yla meta no se ejecutan.
Si la entrada E 0.0 es 0 se ejecuta el salto a lameta CAS1. Al llevarse a cabo el salto, en lasalida A 4.0 no se ejecuta la operación ”Ponersalida a “0”, aunque E 0.3 sea 1.
LAVEL Meta
Cada salto ---( JMP ) tiene que tener una meta (LABEL). Una meta secompone de 4 caracteres como máximo. El primer carácter debe sersiempre una letra, no importando si el resto son números o letras. Lameta se especifica normalmente en el operando de la instrucción desalto, y seguida de dos puntos frente a la línea que posee la meta (verejemplos).
Si E 0.0 = 1 se ejecuta el salto a la metaCAS1. Al llevarse a cabo el salto, en la salidaA 4.0 no se ejecuta la operación ”Poner salidaa 0”, aunque E 0.3 sea 1.
Si la entrada E 0.0 es 0, se ejecuta el salto a lameta CAS1. Al ejecutarse el salto, en la salidaA 4.0 no se lleva a cabo la operación ”Ponersalida a 0”, aunque la entrada 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ónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 INT E, A, M, L, D Primer valor de la sumaIN2 INT E, A, M, L, D Segundo valor de la suma
OUT INT E, A, M, L, D Resultado de la suma
ADD_DI Suma de números enteros (32 bits)
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 DINT E, A, M, L, D Primer valor de la sumaIN2 DINT E, A, M, L, D Segundo valor de la suma
OUT DINT E, A, M, L, D Resultado de la suma
SUB_I Resta de números enteros (16 bits)
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 INT E, A, M, L, D Primer valor de la restaIN2 INT E, A, M, L, D Segundo valor de la resta
OUT INT E, A, M, L, D Resultado de la resta
Realiza la suma de números enteros de las entradas IN1 e IN2 cuandola entrada de habilitación EN esta en “1”. El resultado puedeconsultarse en la salida OUT. En el caso que hubiese desbordamientoo desbordamiento negativo por salir el resultado del rango valido denúmeros enteros (16 bits), el bit OV y el bit OS, serian = “1”, y la salidaENO = “0”, por lo tanto, las siguientes operaciones a esta, combinadasa través de ENO, no serán ejecutadas.
Realiza la resta de números enteros de las entradas IN1 e IN2 cuandola entrada de habilitación EN esta en 1. El resultado puede consultarseen la salida OUT. En el caso que hubiese desbordamiento odesbordamiento negativo por salir el resultado del rango valido denúmeros enteros (16 bits), el bit OV y el bit OS, serian = “1”, y la salidaENO = “0”, por lo tanto, las siguientes operaciones a esta, combinadasa través de ENO, no serán ejecutadas.
Realiza la suma de números enteros de las entradas IN1 e IN2 cuandola entrada de habilitación EN esta en “1”. El resultado puedeconsultarse en la salida OUT. En el caso que hubiese desbordamientoo desbordamiento negativo por salir el resultado del rango valido denúmeros enteros (32 bits), el bit OV y el bit OS, serian = “1”, y la salidaENO = “0”, por lo tanto, las siguientes operaciones a esta, combinadasa 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ónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 DINT E, A, M, L, D Primer valor de la restaIN2 DINT E, A, M, L, D Segundo valor de la resta
OUT DINT E, A, M, L, D Resultado de la resta
MUL_I Producto de números enteros (16 bits)
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 INT E, A, M, L, D Primer valor del productoIN2 INT E, A, M, L, D Segundo valor del producto
OUT INT E, A, M, L, D Resultado del producto
MUL_DI Producto de números enteros (32 bits)
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 DINT E, A, M, L, D Primer valor del productoIN2 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 IN2cuando la entrada de habilitación EN esta en “1”. El resultado puedeconsultarse en la salida OUT. En el caso que hubiese desbordamientoo desbordamiento negativo por salir el resultado del rango valido denúmeros enteros (16 bits), el bit OV y el bit OS, serian = “1”, y la salidaENO = “0”, por lo tanto, las siguientes operaciones a esta, combinadasa través de ENO, no serán ejecutadas.
Realiza la resta de números enteros de las entradas IN1 e IN2 cuandola entrada de habilitación EN esta en 1. El resultado puede consultarseen la salida OUT. En el caso que hubiese desbordamiento odesbordamiento negativo por salir el resultado del rango valido denúmeros enteros (32 bits), el bit OV y el bit OS, serian = “1”, y la salidaENO = “0”, por lo tanto, las siguientes operaciones a esta, combinadasa través de ENO, no serán ejecutadas.
Realiza el producto de números enteros de las entradas IN1 e IN2cuando la entrada de habilitación EN esta en “1”. El resultado puedeconsultarse en la salida OUT. En el caso que hubiese desbordamientoo desbordamiento negativo por salir el resultado del rango valido denúmeros enteros (32 bits), el bit OV y el bit OS, serian = “1”, y la salidaENO = “0”, por lo tanto, las siguientes operaciones a esta, combinadasa 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ónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 INT E, A, M, L, D Primer valor de la divisiónIN2 INT E, A, M, L, D Segundo valor de la división
OUT INT E, A, M, L, D Resultado de la división
DIV_I División de números enteros (32 bits)
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 DINT E, A, M, L, D Primer valor de la divisiónIN2 DINT E, A, M, L, D Segundo valor de la división
OUT DINT E, A, M, L, D Resultado de la división
MOD_DI Obtener resta de división de enteros (32 bits)
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 DINT E, A, M, L, D DividendoIN2 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 IN2cuando la entrada de habilitación EN esta en “1”. El resultado puedeconsultarse en la salida OUT. En el caso que hubiese desbordamientoo desbordamiento negativo por salir el resultado del rango valido denúmeros enteros (16 bits), el bit OV y el bit OS, serian = “1”, y la salidaENO = “0”, por lo tanto, las siguientes operaciones a esta, combinadasa través de ENO, no serán ejecutadas.
Realiza la división de números enteros de las entradas IN1 e IN2cuando la entrada de habilitación EN esta en “1”. El resultado puedeconsultarse en la salida OUT. En el caso que hubiese desbordamientoo desbordamiento negativo por salir el resultado del rango valido denúmeros enteros (32 bits), el bit OV y el bit OS, serian = “1”, y la salidaENO = “0”, por lo tanto, las siguientes operaciones a esta, combinadasa través de ENO, no serán ejecutadas.
Realiza la división de números enteros de las entradas IN1 e IN2cuando la entrada de habilitación EN esta en “1”. La resta de la divisiónpuede consultarse en la salida OUT. En el caso que hubiesedesbordamiento o desbordamiento negativo por salir el resultado delrango 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 aesta, 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 ceroM 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ónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 REAL E, A, M, L, D Primer valor de la sumaIN2 REAL E, A, M, L, D Segundo valor de la suma
OUT REAL E, A, M, L, D Resultado de la suma
SUB_R Resta de números reales
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 REAL E, A, M, L, D Primer valor de la restaIN2 REAL E, A, M, L, D Segundo valor de la resta
OUT REAL E, A, M, L, D Resultado de la resta
MUL_R Producto de números reales
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 REAL E, A, M, L, D Primer valor del productoIN2 REAL E, A, M, L, D Segundo valor del producto
OUT REAL E, A, M, L, D Resultado del producto
Realiza la suma de números reales de las entradas IN1 e IN2 cuandola entrada de habilitación EN esta en “1”. El resultado puedeconsultarse en la salida OUT. En el caso que hubiese desbordamientoo desbordamiento negativo por salir el resultado del rango valido denú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 através de ENO, no serán ejecutadas.
Realiza la resta de números reales de las entradas IN1 e IN2 cuandola entrada de habilitación EN esta en 1. El resultado puede consultarseen la salida OUT. En el caso que hubiese desbordamiento odesbordamiento negativo por salir el resultado del rango valido denú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 através de ENO, no serán ejecutadas.
Realiza el producto de números reales de las entradas IN1 e IN2cuando la entrada de habilitación EN esta en “1”. El resultado puedeconsultarse en la salida OUT. En el caso que hubiese desbordamientoo desbordamiento negativo por salir el resultado del rango valido denú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 através de ENO, no serán ejecutadas.
DIV_R División de números reales
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN1 REAL E, A, M, L, D Primer valor de la divisiónIN2 REAL E, A, M, L, D Segundo valor de la división
OUT REAL E, A, M, L, D Resultado de la división
ABS Valor absoluto de un número real
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Numero real
OUT REAL E, A, M, L, D Valor absoluto del numero real
Realiza la división de números reales de las entradas IN1 e IN2cuando la entrada de habilitación EN esta en “1”. El resultado puedeconsultarse en la salida OUT. En el caso que hubiese desbordamientoo desbordamiento negativo por salir el resultado del rango valido denú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 através de ENO, no serán ejecutadas.
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 seobtiene el valor absoluto. Si la salida ENO es = “1”, se realiza laconversión.
Funciones matemáticas avanzadas (Aritmética de coma flotante)
SIN Calculo del seno
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN 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
ASIN Calculo del arcoseno
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: arcoseno del numeroreal
COS Calculo del coseno
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: coseno del numeroreal
ACOS Calculo del arcocoseno
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: arcocoseno delnumero real
Realiza el calculo de seno del numero real introducido por la entradaIN cuando en la entrada de habilitación EN hay un “1”. El numero realrepresenta un ángulo en radianes. Si la salida ENO es = “1”, se realizala conversión.
Realiza el calculo del arcoseno del numero real introducido por laentrada IN cuando en la entrada de habilitación EN hay un “1” y elvalor introducido en la entrada tiene un rango de –1<= Valor deentrada <=1. El numero real representa un ángulo en radianes. Si lasalida ENO es = “1”, se realiza la conversión. El valor de salida tieneun rango de -π/2<= Valor de salida <=+π/2.
Realiza el calculo de coseno del numero real introducido por la entradaIN cuando en la entrada de habilitación EN hay un “1”. El numero realrepresenta un ángulo en radianes. Si la salida ENO es = “1”, se realizala conversión.
TAN Calculo de la tangente
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: tangente del numeroreal
ATAN Calculo de la arcotangente
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: tangente del numeroreal
EXP Calculo el exponente
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: exponente del numeroreal
Realiza el calculo del arcocoseno del numero real introducido por laentrada IN cuando en la entrada de habilitación EN hay un “1” y elvalor introducido en la entrada tiene un rango de –1<= Valor deentrada <=1. El numero real representa un ángulo en radianes. Si lasalida ENO es = “1”, se realiza la conversión. El valor de salida tieneun rango de 0<= Valor de salida <=+π.
Realiza el calculo de la tangente del numero real introducido por laentrada IN cuando en la entrada de habilitación EN hay un “1”. Elnumero real representa un ángulo en radianes. Si la salida ENO es =“1”, se realiza la conversión.
Realiza el calculo de la arcotangente del numero real introducido por laentrada IN cuando en la entrada de habilitación EN hay un “1”. Elnumero 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.
Realiza el calculo del exponente del numero real con la base e(=2.71828), introducido por la entrada IN cuando en la entrada dehabilitación EN hay un “1”. El numero real representa un ángulo enradianes. 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ónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: logaritmo natural delnumero real
SQR Calculo del cuadrado
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: cuadrado del numeroreal
SQRT Calculo de la raíz cuadrada
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: raíz cuadrada delnumero real
Realiza el calculo del logaritmo natural del numero real introducido porla entrada IN cuando en la entrada de habilitación EN hay un “1”. Elnumero real representa un ángulo en radianes. Si la salida ENO es =“1”, se realiza la conversión.
Realiza el calculo del cuadrado del numero real introducido por laentrada IN cuando en la entrada de habilitación EN hay un “1”. Elnumero real representa un ángulo en radianes. Si la salida ENO es =“1”, se realiza la conversión.
Realiza el calculo de la raíz cuadrada del numero real introducido porla entrada IN cuando en la entrada de habilitación EN hay un “1”. Elnumero real representa un ángulo en radianes. Si la salida ENO es =“1”, se realiza la conversión.
Funciones de desplazamiento y rotación
SHL_W Desplazar 16 bits a la izquierda
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN WORD E, A, M, L, D Valor a desplazarN WORD E, A, M, L, D Numero de posiciones
OUT WORD E, A, M, L, D Resultado de la operación dedesplazamiento
SHR_W Desplazar 16 bits a la derecha
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN WORD E, A, M, L, D Valor a desplazarN WORD E, A, M, L, D Numero de posiciones
OUT WORD E, A, M, L, D Resultado de la operación dedesplazamiento
SHL_DW Desplazar 32 bits a la izquierda
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN WORD E, A, M, L, D Valor a desplazarN DWORD E, A, M, L, D Numero de posiciones
OUT WORD E, A, M, L, D Resultado de la operación dedesplazamiento
Cuando en la entrada de habilitación EN hay un “1”,se activa estafunción desplazando a la izquierda bit a bit, los bits del 0 al 15 que sehallen en la entrada IN. La entrada N indica el numero de posicionesde bit que se mueven en el desplazamiento a la izquierda. Si en laentrada N se introduce un numero mayor que 16, en la salida OUT hayun “0”. Desde la derecha se van ocupando en “0”, las posiciones de bitque van siendo desplazadas. Si en la salida EN se obtiene un “1”, lasalida ENO indica el estado de señal del último bit desplazado.
Cuando en la entrada de habilitación EN hay un “1”,se activa estafunción desplazando a la derecha bit a bit, los bits del 0 al 15 que sehallen en la entrada IN. La entrada N indica el numero de posicionesde bit que se mueven en el desplazamiento a la derecha. Si en laentrada N se introduce un numero mayor que 16, en la salida OUT hayun “0”. Desde la izquierda se van ocupando en “0”, las posiciones debit que van siendo desplazadas. Si en la salida EN se obtiene un “1”, lasalida ENO indica el estado de señal del último bit desplazado.
Cuando en la entrada de habilitación EN hay un “1”,se activa estafunción desplazando a la izquierda bit a bit, los bits del 0 al 31 que sehallen en la entrada IN. La entrada N indica el numero de posicionesde bit que se mueven en el desplazamiento a la izquierda. Si en laentrada N se introduce un numero mayor que 32, en la salida OUT hayun “0”. Desde la derecha se van ocupando en “0”, las posiciones de bitque van siendo desplazadas. Si en la salida EN se obtiene un “1”, lasalida 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ónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN WORD E, A, M, L, D Valor a desplazarN DWORD E, A, M, L, D Numero de posiciones
OUT WORD E, A, M, L, D Resultado de la operación dedesplazamiento
SHR_I Desplazar entero de 16 bits a la derecha
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN INT E, A, M, L, D Valor a desplazarN WORD E, A, M, L, D Numero de posiciones
OUT INT E, A, M, L, D Resultado de la operación dedesplazamiento
SHR_DI Desplazar entero de 32 bits a la derecha
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN DINT E, A, M, L, D Valor a desplazarN WORD E, A, M, L, D Numero de posiciones
OUT DINT E, A, M, L, D Resultado de la operación dedesplazamiento
Cuando en la entrada de habilitación EN hay un “1”,se activa estafunción desplazando a la derecha bit a bit, los bits del 0 al 31 que sehallen en la entrada IN. La entrada N indica el numero de posicionesde bit que se mueven en el desplazamiento a la derecha. Si en laentrada N se introduce un numero mayor que 32, en la salida OUT hayun “0”. Desde la izquierda se van ocupando en “0”, las posiciones debit que van siendo desplazadas. Si en la salida EN se obtiene un “1”, lasalida ENO indica el estado de señal del último bit desplazado.
Cuando en la entrada de habilitación EN hay un “1”,se activa estafunción desplazando a la derecha bit a bit, los bits del 0 al 15 que sehallen en la entrada IN. La entrada N indica el numero de posicionesde bit que se mueven en el desplazamiento a la derecha. Si en laentrada N se introduce un numero mayor que 16, en la salida OUT hayun “0”. Desde la izquierda se van ocupando en “0”, las posiciones debit que van siendo desplazadas en caso de ser un valor entero positivoy 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.
Cuando en la entrada de habilitación EN hay un “1”,se activa estafunción desplazando a la derecha bit a bit, los bits del 0 al 31 que sehallen en la entrada IN. La entrada N indica el numero de posicionesde bit que se mueven en el desplazamiento a la derecha. Si en laentrada N se introduce un numero mayor que 32, en la salida OUT hayun “0”. Desde la izquierda se van ocupando en “0”, las posiciones debit que van siendo desplazadas en caso de ser un valor entero positivoy 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ónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN DWORD E, A, M, L, D Valor a rotarN 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
ROR_DW Rotar 32 bits a la derecha
Parámetro Tipo de datos Area de memoria DescripciónEN BOOL E, A, M, L, D Entrada de habilitación
ENO BOOL E, A, M, L, D Salida de habilitaciónIN DWORD E, A, M, L, D Valor a desplazarN 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 estafunción rotando bit a bit, el contenido completo de la entrada IN a laizquierda los bits del 0 al 31. La entrada N indica el numero deposiciones de bit que se rotan a la izquierda. Si en la entrada N seintroduce un numero mayor que 32, la palabra doble IN es rotada en((N-1) modulo 32)+1 posiciones. Las posiciones de bit que se arrastrandesde la derecha, son ocupadas por el estado de señal de los bitsrotados a la izquierda. La palabra doble que se obtiene como resultadode la operación de rotación, puede verse en la salida OUT. ENO indicael estado del ultimo bit rotado, si en la entrada EN hay un “1”, estosignifica que las operaciones combinadas a la salida ENO, no seránejecutadas si el último bit desplazado tiene como estado “0”
Cuando en la entrada de habilitación EN hay un “1”,se activa estafunción rotando bit a bit, el contenido completo de la entrada IN a laderecha los bits del 0 al 31. La entrada N indica el numero deposiciones de bit que se rotan a la derecha. Si en la entrada N seintroduce un numero mayor que 32, la palabra doble IN es rotada en((N-1) modulo 32)+1 posiciones. Las posiciones de bit que se arrastrandesde la izquierda, son ocupadas por el estado de señal de los bitsrotados a la derecha. La palabra doble que se obtiene como resultadode la operación de rotación, puede verse en la salida OUT. ENO indicael estado del ultimo bit rotado, si en la entrada EN hay un “1”, estosignifica que las operaciones combinadas a la salida ENO, no seránejecutadas si el último bit desplazado tiene como estado “0”
Sistemas de protección de control
Relé de control
Relé 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.
Master 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 Relay
Activa 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 entrelas operaciones MCR< y MCR> (salidasA 4.0, A 4.1) se ejecutan de forma queE 0.0 = 1 (MCR está ON): la salida A 4.0 sepone a "1" si la entrada E 0.3 está en elestado "1", y no cambia si la entrada E 0.3está en el estado "0". A la salida A 4.1 se leasigna el estado de la entrada E 0.4.E 0.0 = 0 (MCR está OFF): la salida A 4.0no varía, independientemente del estadode E 0.3; la salida A 4.1 es "0",independientemente de cuál sea el estadode E 0.4. En el circuito siguiente, laoperación ---(MCRD) desactiva el MCR.Esto significa que ya no se puedenprogramar áreas MCR con las dosoperaciones ---(MCR<) y ---(MCR>).
Transformadorseparador
L1L2L3N
Pulsador deemergencia
Pulsador deparo
Pulsador demarcha
Fuente dealimentacion
24 Vccpara E/S
---(MCRD) Final de un Master Control Relay
Desactiva un MCR. Después de esta operación no se pueden programar áreas MCR.
---(MCR<) Conectar un Master Control Relay
Almacena 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. Los circuitos entrelas operaciones MCR< y MCR> (salidasA 4.0, A 4.1) se ejecutan de forma queE 0.0 = 1 (MCR está ON): la salida A 4.0se pone a "1" si la entrada E 0.3 está enel estado "1"; A 4.0 no se modifica si laentrada E 0.3 está en el estado "0". A lasalida A 4.1 se le asigna el estado de laentrada E 0.4.E 0.0 = 0 (MCR está OFF): la salida A 4.0no varía, independientemente del estadode E 0.3, y la salida A 4.1 es "0",independientemente del estado de E 0.4En el circuito siguiente, la operación ---(MCRD) desactiva el MCR. Esto significaque ya no se pueden programar áreasMCR con la pareja de operaciones---(MCR<) y ---(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 Relay
Borra 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 estructurada
En 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 unaparte concreta de la tarea.
- Los bloques pueden ser escritos en diferentes lenguajes, buscando el mas adecuado parael tratamiento de las variables que contiene.
- Los cambios de la programación en la puesta a punto se realizan mas rápidamente ya quees 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 massencillo a la hora de ser leído por técnicos no programadores.
Ejemplo de programación estructurada