Consultar ensayos de calidad


Controladores lógicos, Autómatasprogramables con una unidad lógica, Autómatas programables con instrucciones de carga y memorización, Características de los autómatas programables basados en un computador



Capitulo 1: Introducción a los controladores lógicos 1.1 Conceptos generales A mediados del siglo XX, donde aparecen diferentes tecnologías, da lugar a una serie de variables fiscas, que necesitan ser controladas para el óptimo desarrollo de industrias, no pueden ser controladas por el hombre debido a que no tiene la capacidad suficiente para reaccionar a una eventualidad de rapidez y velocidad.

Por esta razón se desarrollar dispositivos electrónicos capaces de recibir procesar variables como la temperatura, la presión, el nivel, la fuerza, la radiación luminosa, etc. Dichas variables se las considera como binarias, es decir que mantienen dos condiciones (on-off) que en general se las conoce como todo o nada. Entonces controladores lógicos (logic controllers) son aquellos dispositivos que reciben variables binarias y generan otras variables binarias. Para conseguir estas variables electrónicas se requiero de otro dispositivo llamado sensor, que transforma las variables no electrónicas en electrónicas.



Existen diferencias entre procesos industriales y productos como lo podemos encontrar aquí: ï‚· ï‚· ï‚· Cambios a lo largo de la vida útil: Los procesos cambian a lo largo de su vida útil mientras que un producto no lo hace. Volumen de fabricación: Los productos se suelen fabricar en una cierta cantidad, por el contrario, los procesos industriales suelen ser únicos. Confiabilidad: La complejidad de los procesos industriales hacen que la garantía de funcionamiento de los controladores lógicos.



Por lo tanto se requiere de controladores lógicos de diferentes características en función de los requerimientos de un proceso industrial.

1.2 Controladores lógicos sin unidad operativa Son sistemas digitales combi nacional y secuencial. 1.2.1 Controladores lógicos combi nacionales Genera variables de salida cuyo valor depende de las variables de entrada, no se pueden utilizas para tomar decisiones en función de la secuencia de estados de unas variables binarias en sucesivos instantes de tiempo. 1.2.1.1 Controladores lógicos combi nacionales cableados Se implementan mediante circuitos de puertas lógicas interconectadas. Para cambiar su tabla de verdad hay que cambiar el circuito.
Un proceso químico posee tres sensores de la temperatura del punto P cuyas salidas T1, T2 y T3 adoptan dos niveles de tensión bien diferenciados, según la temperatura sea menor, o mayor- igual que t1, t2 o t3 respectivamente (t1 < t2 < t3). Se asigna el valor cero al nivel de tensión correspondiente a una temperatura inferior a t y el valor uno al nivel correspondiente a una temperatura superior o igual a t. Se desea generar una señal que adopte un nivel de tensión uno lógico si la temperatura está comprendida entre t1 y t2 o es superior o igual a t3 y el nivel cero en caso contrario.

Solución: Analizando el enunciado se observa que laseñal a generar depende solamente de los valores lógicos de las variables T1, T2 y T3 en el instante considerado. Por lo tanto, el circuito cuya síntesis hay que realizar es un sistema combi nacional, tal como se indica en el esquema de bloques de la figura.

2




Figura 1.1

Tabla 1.1

Figura 1.2

1.2.1.2 Controladores lógicos combi nacionales programables


Son circuitos combi nacionales programables se caracterizan porque es posible cambiar su tabla de verdad sin necesidad de modificar el circuito sino simplemente eliminar algunas conexiones.

La programación de la matriz lógica programable PAL consiste en eliminar las conexiones adecuadas de la matriz de puertas Y para que la salida de cada una de ellas represente un determinado producto lógico. Para representar una PAL en un esquema es conveniente utilizar un símbolo lógico como el de la figura 1en el que se indican el número de variables de entrada, el de variables de salida y el de productos lógicos.

Figura 1.3 Ejemplo 1.2 Implemente mediante una matriz lógica programable PAL el sistema combinacional descrito en el ejemplo 1.1.

Solución: La ecuación lógica de la función f se puede obtener de la misma forma que en el ejemplo 1.1 y su expresión mínima de suma de productos es
Para realizar f se necesita una matriz lógica programable PAL que tenga como mínimo tres variables de entrada, dos puertas Y y una puerta O. En la figura 1.9 se representa su esquema una vez programada.

Figura 1.3 1.2.2 Controladores lógicos secuenciales 1.2.2.1 Introducción Surge la necesidad de poder diseñar sistemas de control capaces de tomar decisiones en un instante en función del valor que las entradas tuvieron en el pasado, o lo que es lo mismo en base a la secuencia de valores de valores de las variables de entrada a lo largo del tiempo.

5








Figura 1.4 1.2.2.2 Controladores lógicos secuenciales síncronos 1.2.2.2.1 Conceptos básicos Las limitaciones de los controladores lógicos asíncronos permitieron el desarrollo de sistemas secuenciales realizados con celdas de memoria que se caracterizan porque el nivel lógico o el cambio de nivel lógico de sus variables de entrada solo actúan sobre su estado interno en el instante en que se produce un determinado flanco activo en una entrada especial denominada de disparo (Tiger) o sincronismo a la que se conecta un generador de impulsos, también denominado reloj (Clocó) que es un circuito electrónico que genera una señal que varía con el tiempo en forma de una onda cuadrada de frecuencia fija. Estas celdas binarias reciben el nombre de biestables síncronos (Flip-flops) y el conjunto de m biestables que tienen una entrada decontrol común a todos, a la que se aplica la señal procedente del generador de impulsos, se denomina registro síncrono de entrada y salida en paralelo (Synchronous register).

Figura 1.4 La utilización de un registro de entrada y salida en paralelo permite la obtención de un sistema que puede tener un diagrama de flujo.

Figura 1.5


En la figura 1.6, se representa el esquema de un sistema secuencial síncrono implementado con un contador y un sistema combinacional. El contador posee: ï‚· ï‚· ï‚· ï‚· m bits de entrada y salida de información en paralelo. Una entrada de selección de modo de operación M1 que, según se encuentre en estado uno o cero, hace que los impulsos del generador provoquen el contaje o la entrada en paralelo respectivamente. Una entrada de inhibición G2 que, si se encuentra en estado cero, inhibe la entrada de información en paralelo o el contaje (según el estado en que se encuentra M1).

Figura 1.6 Entonces se deduce que el sistema de la figura 1.15 puede tomar decisiones de activar o no activar sus variables de salida en función del estado o de la secuencia de estados de sus variables de entrada y por ello se le denomina simplemente controlador lógico síncrono (Synchronous logic controller). En general no se utiliza el calificativo de síncrono por suponerlo incluido.

1.2.2.2.2Especificación de los controladores lógicos secuenciales síncronos
Un sistema secuencial síncrono utilizado como controlador lógico se puede definir mediante un diagrama de flujo, también denominado diagrama de estados.

Ejemplo 1.3

Se desea implementar una cerradura electrónica mediante un controlador lógico que posee como entradas dos variables binarias A y B. En el instante de dar tensión, el controlador lógico se coloca en un estado inicial, a partir del cual observa la evolución de A y B. La cerradura debe abrirse si A y B se accionan en la siguiente secuencia

a) En primer lugar se activa A y se desactiva. b) Seguidamente se activa B y se desactiva. c) Finalmente se vuelve a activar y desactivar A.

Si se activan A y B en una secuencia incorrecta, el controlador lógico vuelve al estado inicial. Igualmente se vuelve al estado inicial al accionar un microrruptor M en el instante en que se cierra la puerta.

Solución

En la figura 1.7 se representa el diagrama de flujo de especificación por niveles. Inicialmente, al dar tensión el sistema se coloca en el estado mientras A y B están en nivel cero. Si A pasa al nivel uno el sistema conmuta al estado ï‚· a partir del cual puede: y permanece en el

Volver al estado

si B se pone a uno.


Pasar al estado se activo A.

si A vuelve al nivelcero. En este estado el sistema recuerda que

Observando el sistema se comprueba que este alcanza se desactiva B y finalmente llega a

si a continuación solo se activa y

si se activa y se desactiva de nuevo A. En este estado

se pone en nivel uno la variable de salida Z. Este diagrama de flujo puede ser realizado mediante un controlador lógico cuyo esquema sea idéntico al de la figura 1.7. Según se utilice un circuito combinacional cableado o programable se obtiene un controlador lógico cableado o programable que se analizan en apartados.

Ejemplo 1.4

Un carro C ha de moverse sobre carriles entre dos puntos A y B que vienen indicados por sendos mocrorruptores y y puede ser controlado mediante dos pulsadores y .

En el instante inicial el carro está parado en el punto A y permanece en dicha posición hasta que se actúe sobre el pulsador , instante en el que debe activarse la salida que

actúa sobre el motor del carro y hace que se mueva hacia el punto B. El carro continúa su movimiento hacia B aunque se actúe sobre cualquiera de los dos pulsadores. Cuando el carro alcanza el punto B, actúa sobre el mocrorruptor variable y que se desactive la variable , lo que hace que se active la

para iniciar el movimiento de retorno al punto el carro debe invertir el y

A. SI durante dicho movimiento se actúa sobre el pulsador

sentido, es decir, volver a desplazarse hacia el punto B, para lo cual se vuelveactivar se desactiva .

Solución En este ejemplo las tomas de decisión se realizan al cambiar de estado alguna variable de entrada, independientemente del estado de las demás variables.El numero de variables de entrada es cuatro, los dos pulsadores y los dos microrruptores. La realización de una tabla de fases primitiva por el método de niveles implica ver la dificultad de resolución de este problema por dicho método.

, lo cual gace

1.2.2.2.3 Controladores lógicos secuenciales sincrónicos cableados

Una señal de reloj sincroniza el cambio de valor lógico de las variables de entrada.
Presentan el inconveniente de que para cambiar su forma de funcionamiento hay que cambiar los elementos que forman su circuito combinacional o la interconexión entre ellos, por lo que solo se pueden utilizar para realizar controladores lógicos sencillos.

Figura 1.10

1.2.2.2.4 Controladores lógicos secuenciales sincrónicos programables de arquitectura fija

Una señal de reloj sincroniza el cambio de valor lógico de las variables de entrada.
EL circuito programable hace que se pueda modificar su grafo de estados y por lo tanto la
función que realizan sin necesidad de modificar el cableado entre los elementos que los constituyen.

Figura 1.11 1.2.2.2.5 Controladores lógicos secuenciales sincrónicosprogramables de arquitectura configurable

Son aquellos que se puede modificar entre ciertos límites el número de variables de entrada y de salida.
Según la entrada En de control de tercer estado este en uno o en cero, el terminal externo correspondiente es una salida o una entrada, respectivamente. Estos controladores son adecuados para realizar controladores lógicos en los que se pretende minimizar el sistema físico a fin de empotrar el sistema electrónico en un producto industrial, pero tienen limitaciones, carecen de suficiente flexibilidad para ser utilizados en el control de procesos industriales, utilizan lenguajes que son difíciles de aprender por los técnicos que automatizan. 1.3 Controladores lógicos con unidad operativa Los controladores son procesadores digitales secuenciales programables que actúan sobre las variables de salida mediante la ejecución de una secuencia de instrucciones, por lo que se denominan controladores lógicos programables y se los conoce como PLC. La evolución de los PLC, resultado del avance de la microelectrónica y de las técnicas de programación, ha hecho de ellos los equipos electrónicos más adecuados para automatizar cualquier proceso industrial, desde el más sencillo sistema de riego de un jardín hasta el más complejo sistema de fabricación. 1.3.1 Introducción Estos controladores lógicos ejecutan el algoritmo correspondiente a un sistema combencional o secuencia sin necesidadde utilizar una unidad operativa capaz de realizar operaciones lógicas. El inconveniente que presentan dichos controladores es que en ellos no existen instrucciones que indiquen claramente la operación que se ejecuta en cada instante porque carecen de campo de código de operación debido precisamente a que no tienen una unidad operativa. Estos controladores tienen las siguientes características. ï‚· ï‚· ï‚· Faciles de programar por personal no informatico. Modulares, es decir, que se pudiese elevar su numero de variables de entrada y/o de salida. Coste mucho menor que el de un computador de la época.

Las limitaciones de la microelectrónica en ese momento hicieron que se desarrollasen procesadores especializados en la ejecución de ecuaciones lógicas mediante una secuencia de operaciones lógicas realizadas por una unidad operativa que era simplemente una unidad lógica capaz de realizar las funciones Y y O de dos variables y la inversión. El aumento de la complejidad de los procesos industriales hizo que en muchas ocaciones fuese necesario: ï‚· Procesar variables analógicas que al ser convertidas en digitales dan lugar a un conjunto de variables binarias que representan una información numérica. Esto hace necesario que el sistema electrónico digital tenga capacidad de procesar información numérica.

Responder muy rápidamente a la aparición de los cambios de determinadas variables de entrada.

1.3.2 Autómatasprogramables con una unidad lógica 1.3.2.1 Introducción El desarrollo de los autómatas fue consecuencia de la comercialización de a tecnología bipolar de lógica transistor-transistor y surgieron como respuesta al elevado coste de los computadores para facilitarla utilización de un computador. Aunque el avance de la microelectrónica ha hecho que en la actualidad hayan sido sustituidos por los autómatas programables basados en computador. 1.3.2.2. Conceptos básicos El autómata programable está formado por las siguientes partes: - Una unidad de entrada (UNE) a través de la cual se aplican al autómata programable variables de entrada procedentes del proceso industrial. - Una unidad de salida que genera las variables que controlan el proceso al cual se conec el autómata programable. - Una unidad central que a su vez está formada por: ï‚· Una unidad de control constituida por un generador de impulsos, un contador síncrono, una memoria de acceso aleatorio no volátil (pasiva) (ROM, EPROM) las etc.) [MAND 98] (inicialmente era una memoria de ferrita) y un circuito combinacional que genera las señales de control de la unidad operativa. Una unidad operativa formada una unidad lógica (UL) y un biestable (RLO) para memorizar los resultados parciales. Unidades de entrada y salidas
La unidad de entrada puede estar constituida por un multiplexor realizado mediante puertas de tres estados que representa una unidad de entrada de Cadavariable de

entrada se conecta a una puerta seguidora con salida de tres estados que posee además una entrada de desnhibicion EN (de ingles Enable). La unidad de salida (UNS) puede estar formada por un conjunto de ciestables soncronos activados por flancos, como por ejemplo los biestables del tipo D que tienen sus entradas de datos unidas entre si. Unidad Central Formada por la unidad lógica y de control. La unidad lógica ha de ser capaz de realizar las funciones lógicas básicas Y y O entre variables de entrado y/o sus inversas. ï‚· Una combinación de π bits que se selecciona un máximo de diferentes que es capaz de ejecutar la unidad lógica. operaciones

Una variable

que, cuando se encuentra a nivel uno, desinhibe la

memorización del resultado de dicha variable.Por otra parte, la realización de sistemas capaces de actuar de acuerdo con un diagrama de flujo hace conveniente que el autómata programable sea capaz de tomar la decisión de ejecutar o no determinadas acciones lo cual tampo se puede realizar en el sistema.Si se modifica ligeramente el esquema de la figura se obtiene un autómata programable con capacidad para ejecutar una secuencia de instrucciones que emula cualquier sistema combinacional o secuencial. La forma de realizar esa midificacion no es única y sirve como ejem´ño de que se pueden realizar multiples autómatas programables que se caracterizan por poseer un sustemafisco (hardware) diferente en su unidad central.


Figura 1.13

1.3.2.3 Autómatas programables con instrucciones de carga y memorización

En este sistema se utilizan para esa misión de biestables de la unidad de salida, que constituye además una memora temporal (UNS/T) cuya información puede aplicarse en una de las entradas de la unidad lógica. Para ello, la salida de los biestables de la unidad de salida se conecta a la entrada de esta a través de puertas de tres estados para constituir una barra (bus) de datos. Este autómata genera las siguientes señales de control: ï‚· La señal de desinhibición del tercer estado de la salida de la unidad de

entrada, que permite que la variable de entrada seleccionada se presente en la barra B conectada a la entrada de la unidad lógica. ï‚· La señal de desinhibición del tercer estado del biestable RlO de resultado

que permite que el contenido de este se presente en la barra (bus) B conectada a la unidad de salida. El sistema posee las instrucciones en un leguaje simbólico de trasferencia de información entre registros denominado RTL
Autómata programable con instrucciones de salto condicional

El Salto Condicional se ejecuta en función de una condición reflejada en uno o varios bits de la palabra de estado. El bit de la palabra de estado Resultado de la OperaciónLógica (RLO) determina cuando se ejecuta este salto condicional. También existen instrucciones que además guardan el resultado en el RB. Los bits de la palabra de estado Resultado Binario (RB) o

Desbordamiento/Desbordamiento Memorizado determinan cuando se ejecutan estos saltos condicionales. La evaluación de los bits RB, OV y OS proporciona un medio de verificar condiciones de error.

• Salto si BR = 1 (JBI) • Salto si BR = 0 (JNBI) • Salto si OV = 1 (JO) • Salto si OS = 1 (JOS)

Autómata programable con inhibición o desinhibición Posee dos instrucciones, una de inhibición condicional (INHCON) de la ejecución de instrucciones y otra de desinhibición (DESINH) incondicional de dicha ejecución. Autómata programable con instrucciones que actúan o no sobre el estado de los biestables de salida Posee instrucciones que transfieren información o no a los biestables de salida en función del resultado de la última operación realizada. Esta presenta dos variantes

Dotar al sistema de un biestable de inhibición de salida y una instrucción de salida y una instrucción que transfiera el contenido del RLO a él.
Dotar al sistema de instrucciones condicionales operativas, como por ejemplo poner a uno o poner a cero el biestable de salida seleccionado en función del estado de RLO.

A la unidad de salida se le añade una entrada de inhibición que se conecta a la salida de un biestable, que se denomina“Biestable de inhibición de salida” (BIS), cuya entrada se conecta a la salida del biestable de resultado. Al colocar una instrucción de transferencia del contenido del biestable RLO al Bis en la memoria de EPROM y a continuación una instrucción de salida esta realiza o no una actuación sobre el contenido del biestable correspondiente según el BIS haya un cero y un uno lógico.

Las ventajas de estos autómatas programables son: ï‚· ï‚· ï‚· La memoria de las variables de entrada constituye en la imagen del estado de las mismas en un determinado instante. Los resultados parciales se pueden memorizar en la memoria de la variables d salida de esta forma la unidad de salida no tiene que ser bidireccional. Los estados internos de los diagramas de flujo de un sistema secuencial se pueden memorizar también en la memoria de las variables de salida.

20








Figura 1.14


1.3.2.4 Síntesis de sistemas digitales mediante autómatas programables realizados con una unidad lógica

Figura 1.15

1.3.2.4.1 Síntesis de sistemas combiancionales

Ejemplo 1.8 Diseñe un programa que haga que el autómata programable cuyo juego de instrucciones es el indicado en la tabla anterior realice la supervisión del proceso químico del ejemplo 1.1. Solución La utilización de un autómata programable hace en general innecesaria, por no sereconómicamente significativa, la realización de un proceso de minimización. Por ello a partir de la tabla de verdad se obtiene directamente la expresión.

Figura 1.16

1.3.2.4.2 síntesis de sistemas secuenciales caracterizados por flancos Los sistemas secuenciales se caracterizan por el hecho de que sus salidas se calculan conjuntamente a partir del estado del sistema y los valores actuales de entrada. El termino secuencial indica que el estado del sistema, y por tanto sus salidas, depende de la secuencia de valores de entrada hasta el momento presente, dado que los componentes de memoria son finitos, el tamaño de la secuencia recordada y el conjunto de posibles valores del estado también será finito.

1.3.3 Autómatas programables basados en un computador


1.3.3.1 Introducción A efectos de facilitar el uso de estos sistemas por parte de los usuarios, algunas compañías ofrecieron software para supervisión y control de procesos, que brindó en la PC facilidades de presentación de información de apariencia similar a los DCS. Este nuevo tipo de software hizo más fácil la implementación de sistemas que combinan equipos digitales de control automático y PCs, al ahorrar al usuario el desarrollo de complejos programas para la PC.

1.3.3.2 Características generales de computadores Un sistema de control basado en PCestá formado por tres partes básicas: la computadora personal PC con su hardware y software de base asociados, el software para control basado en PC, y el o los dispositivos de entrada y salida. Una característica importante de un Sistema de Control Basado en PC es que cada una de estas partes es un producto distinto, usualmente diseñado y comercializado por proveedores diferentes. Cada una de estas partes tiene características propias, el software para control Basado en PC está específicamente diseñado para su uso en computadoras personales estándar, comunicadas con multitud de equipos industriales. Se caracteriza por un alto grado de adaptabilidad a los condicionamientos de las demás partes. Así, respeta los requerimientos de hardware y software de la PC, utilizando al máximo los estándares. Del mismo modo, tratará de adaptarse a la mayor cantidad posible de equipos digitales de control industria. La EDVAC (Electronic Discrete Variable Automatic Computer) A diferencia de la ENIAC, no era decimal, sino binaria y tuvo el primer programa diseñado para ser almacenado. Este diseño se convirtió en el estándar de arquitectura para la mayoría de las computadoras modernas.


Figura 1.17

ï‚· ï‚·

Un registro en el que la unidad de control almacena la instrucción procedente de la memoria de acceso. Un contador que contiene la dirección de la memoria de acceso aleatorio cuyo contenido se transfiere al registro deinstrucción. El contenido de este contador se incrementa en una unidad cada vez que se realiza dicha transferencia y por ello recibe el nombre de contador de programa. Además posee una entrada de información en paralelo síncrona que permite transferir el contenido del campo de dirección del registro de instrucción a su interior cuando se ejecuta una instrucción de toma de decisión o salto incondicional o condicional en la que se cumple la dirección de salto.

ï‚·

Un generador de impulsos o reloj y un contador que generen conjuntamente una secuencia fija de impulsos que combinan con el campo de operación del registro de instrucción y con las salidas de los biestables del registro de estado interno para obtener las señales de control de la unidad operativa y de la memoria de instrucción.

1.3.3.3 Características de los autómatas programables basados en un computador

1.3.3.3.1 Características generales
Un microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema informático; a modo de ilustración, se le suele asociar por analogía como el «cerebro» de un computador. Es un circuito integrado constituido por millones de componentes electrónicos. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador. Es el encargado de ejecutar los programas; desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instruccionesprogramadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria. Esta unidad central de procesamiento está constituida, esencialmente, por registros, una unidad de control, una unidad aritmético lógica (ALU) y una unidad de cálculo en coma flotante(conocida antiguamente como «co-procesador matemático»).

Figura 1.18

EEPROM responde a “Erasable Programmable Read Only Memory” que se puede traducir como Memoria programable borrable de solo lectura. También se la conoce como E-2PROM. Como su nombre sugiere, una EEPROM puede ser borrada y programada con

impulsos eléctricos.
Al ser una pieza que se puede gestionar por estos impulsos eléctricos, podemos realizar todas estas operaciones de reprogramación sin tener que desconectarla de la placa a la cual va conectada. La EEPROM también se conoce como “non-volatile memory” o memoria no volátil y es debido a que cuando se desconecta la energía, los datos almacenados en la EEPROM no serán eliminados quedando intactos. Las EEPROM más nuevas no tiene datos almacenados en ellas y deben ser primero configuradas con un programador antes de ser usadas. La información almacenada dentro de este dispositivo puede permanecer durante años sin una fuente de energía eléctrica.
El desarrollo de las memorias activas RAM y pasivas ROM han hecho que las memorias de accesoaleatorio no volátiles, también llamadas retentivas por algunos fabricantes se puedan realizar de diferentes formas, de las que las más importantes son: ï‚· ï‚· Mediante una memoria activa RAM alimentada con una batería que asegura la alimentación de la memoria cuando el sistema en el que esta conectada deja de recibir alimentación. Mediante una memoria pasiva combinada con una activa. En el momento en el que la fuente de alimentación deja de recir la tensión alterna de entrada, y antes de que la tensión de alimentación de la memoria RAM se anule, el sentido de contrario cuando se vuelve a aplicar, estas memorias reciben la denominación de NVRAM. Mediante la memoria pasiva FLASH. Mediante la memoria pasiva FLASH combinada con una activa, cuyo funcionamiento es igual a una RAM.

Unidades de acoplamiento de entrada y salida de variables digitales y analógicas Las variables analógicas se acoplan a travez de unidades que realizan conversiones analógicodigitales y viceversa. Unidades de entrada/salida especiales Son sistemas electrónicos que ejecutan un determinado proceso de información (como por ejemplo, contaje de impulsos) de forma más eficiente que si lo ejecuta un programa. Procesadores de comunicaciones Permiten el enlace del autómata programable con sistemas electrónicos externos que , entre otras, pueden tener las siguientes aplicaciones: ï‚· ï‚· ï‚· Unidades de programación que permiten elaborar elprograma de control en diversos leguajes, y transferirlo a la memoria correspondiente de autómata programable. Unidades de entrada y salida de información digital y analógica remotas. Computadores de gestión que integran las informaciones proporcionadas por el autómata programable con otras para realizar estadísticas, graficas de producción, incidencias de funcionamiento del proceso.

Memoria de programa Esta dividida en dos partes: ï‚· El sistema operativo que consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayoría de aparatos electrónicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo. (teléfonos móviles, reproductores de DVD, computadoras, radios, enrutadores, etc). En cuyo caso, son manejados mediante una Interfaz Gráfica de Usuario, un gestor de ventanas o un entorno de escritorio, si es un celular, mediante una consola o control remoto si es un DVD y, mediante una línea de comandos o navegador web si es un enrutador. El programa de control, que es el encargado de la preparación de los programas de usuario para su ejecución, así como de la asignación de tiempos en el procesador. Memoria de Datos
La función de la memoria principal es almacenar datos e instrucciones de programa de forma temporal.
Es estación obligada en todas las operaciones de entrada y salida y, por supuesto, de los resultados parciales o finales del proceso. La memoriaesta estructurada en forma de una colección de celdas, en cada una de las cuales cabe una unidad especifica de información: octetos o palabras. El contenido de cada una de las posiciones de memoria podrá ser bien dato o instrucción. Cada celda tiene asignada una posición relativa con respecto a un origen, cuyo valor numérico constituye la dirección de la misma y que no se encuentra almacenado en ella. 28


Esta memoria esta constituida por:


-Memoria de datos o temporal del programa ejecutivo. -Memoria de entrada y salida d variables digitales. -Memoria de datos numéricos. -Memoria de variables internas.

Figura 1.20

1.3.3.3.2 Recursos físicos (hardware) y de programación (software) Los procesos industriales poseen un conjunto de características comunes, pero la existencia de procesos industriales de características muy diferentes que van desde un sencillo sistema de riego hasta un complejo sistema de fabricación flexible hace que las prestaciones del controlador lógico adecuado para controlarlos sean distintas como son:

Unidad central Capacidad de memoria de programa/datos Capacidad de entrada y salidas digitales Modularidad de entradas y salidas Modulos específicos de entradas y salidas Capacidad de interrupción Recursos de comunicaciones Interfaz maquina-usuario Protección dela propiedad intelectual y seguridad Seguridad Lenguaje de programación

Unidad central Es un subsistema que esta formado como mínimo por un microprocesador las unidades de memoria y un procesador de comunicaciones. La velocidad del proceso de la unidad central distingue a unas familias de otras. Capacidad de memoria de programa/datos Es el número de posiciones de las memorias de instrucciones y de datos respectivamente. La capacidad de memoria esta ligada a la de entrada/salida, cuanto mayor es el numero de variables de entrada y salida de un autómata programable, mayor debe ser su capacidad de memoria Capacidad de entradas y salidas digitales Es el número máximo de variables de entrada y salida digitales. Modularidad de entradas y salidas Hace referencia a la capacidad de un sistema para ampliar sus prestaciones simplemente añadiendo elementos sin necesidad de modificar los ya existentes, en este caso se refiere a la capacidad de elevar el numero de entradas y salidas digitales y analógicas.

Módulos específicos de entrada/salida Son sistemas electrónicos comercializados por un fabricante d autómatas programables para realizar alguna operación de forma mas eficiente (en general en menor tiempo).









Capacidad de Interrupción Se define una interrupción de un autómataprogramable como un suceso que hace que el autómata programable abandone temporalmente de doma inmediata el programa de control que esta ejecutando y salte a una rutina especial que realiza las acciones adecuadas en relación con el mismo. La capacidad de Interrupción es de dos tipos: ï‚· ï‚· ï‚· ï‚· De reloj. Esta asociado a un reloj que esta formado por un generador de impulsos y un conjunto de contadores. Temporizadores. Es una interrupción generada por una base de tiempos que es un divisor de impulsos programables. De contador. Admite diferentes variables, este tipo de interrupción se genera cuando el contenido de un contador alcanza un valor determinado. De comunicación. Se genera cuando un periférico (impresora, lector de código de barras, etc) finaliza una operación de salida o tiene dispuesta una información de entrada. Interfaz de maquina-usuario Cuando la maquina que se controla mediante un autómata es sencilla, el usuario no suele tener que promocionarle información ni recibirla de ella. Pero cuando la maquina es compleja el sistema electrónico de control debe proporcionar al usuario la posibilidad de modificar parámetros, observar el estado de determinadas variables, etc. Protección de la propiedad intelectual Son medidas adoptadas para impedir que alguien no autorizado pueda leer o modificar su programa. Lenguajes de programación Es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamientofísico y lógico de una máquina, para expresar algoritmos con

precisión, o como modo de comunicación humana. En este caso se utilizan lenguajes propietarios de Siemens. Capitulo 2: Sistema STEP7 de programación de autómatas programables 2.1 Introducción La existencia de múltiples sistemas de programación propietarios diferentes en incompatibles entre si, proporciono el desarrollo de un sistema de programación normalizado por parte de la Comisión Electrónica Internacional (IEC). 2.2 Caracteristicas Generales de STEP7 Es el software standard para configurar y programar los sistemas de automatización SIMATIC. Si entras en las siguientes páginas podrás conocer dicho software además de aprender a solucionar trabajos de automatización con él de forma ordenada y fácil. Hay miles de caminos que se pueden seguir para llevar a buen puerto un problema de automatización, pero si sigues el que en el organigrama aparece, dicho problema tendrá seguramente una solución correcta y relativamente rápida. ï‚· ï‚· ï‚· ï‚· El lenguaje de lista de instrucciones se denomina STL (statemt list) o AWL ( Anwisungliste). El lenguaje de texto estructurado se denomina SCL (structured control language). El lenguaje de esquema de contactos se denomina LAD( ladder diagram) o KOP ( Kontakts plan). El lenguaje de diagrama de funciones se denomina FBD ( funtion block diagram) o FUP ( funktions plan). 2.2.1 Tipos de datos Los datos constituyen la informaciónbásica con lo que se realizan las operaciones. 2.2.2 Unidades de organización del programa

En STEP7 existen tres tipos de unidades de organización del programa, que son los bloques de organización, las funciones y los bloques funcionales. Bloques de organización Contribuyen a la estructuración del rgrama de control, y facilita al usuario la tarea del desarrollo del programa Funciones ï‚· ï‚· Agrupar las instrucciones que se tienen que ejecutar varias veces a lo largo del programa. Subdividir el programa en partes fácilmente comprensibles.

Bloques funcionales Denominado FB, representa un algoritmo que puede ser utilizado en numerosos sistemas de control y constituye una unidad de organización del programa que, al ser ejecutado, proporciona uno o más variables de salida. 2.2.3 Variables Constituyen la información de los terminales de entrada y salida de un AP o la contenida en una posición de una memoria interna. Pueden estar predefinidas por el fabricante o el programador una variable definida por el programador puede ser accesible desde cualquier punto del programa. 2.3 Lenguaje de lista de instrucciones (AWL) STEP7 2.3.1 Conceptos generales Consiste en un conjunto de códigos simbólicos, cada uno de los cuales corresponde a una o más operaciones, o instrucciones en lenguaje máquina. Para definir los nombres de las variables y distintas instrucciones de los sistemas STEP 7 se puede utilizar los códigossimbólicos de denominación inglesa.


En sucesivos apartados se analiza la forma de representar las variables y las instrucciones más usuales del lenguaje AWL de la lista de instrucciones de STEP 7. Lo mismo se puede decir de la concepción de las funciones de los bloques de función que se utiliza en los programas.

2.3.2 Identificación de variables Según la forma en la que se identifica las variables pueden ser predefinidas y no predefinidas: ï‚· ï‚· ï‚· V de entrada V de salida externas V de salida internas

Variables no predefinidas Son variables a las que el programador asigna un nombre y un tipo mediante una definición. En los diversos ejemplos de sistemas de control que se diseñan en el capítulo 4 se incluyen ejemplos de estas variables. 2.3.3 Instrucciones Cada instrucción está formada por 3 partes: ï‚· ï‚· ï‚· El campo de operador que indica el tipo de operación que realiza El campo opcional o modificador que influye en el resultado de la operación El campo de operando que especifica la variable o variables con la que se ejecuta la operación

Según las acciones que ejecuta las instrucciones se pueden dividir en 4 clases ï‚· ï‚· ï‚· ï‚· Instrucciones que operan con variables binarias independientes Instrucciones que operan con combinaciones binarias Instrucciones de temporización y contaje Instrucciones de control que modifica la secuencia de ejecución de instrucciones

Instrucciones de selección de entrada y salida que defineSTEP7 son las siguientes: U/Un (Y lógica) Selecciona una variable, es decir introduce en el RLO la primera variable que forma parte de una función lógica de forma directa o inversa.

Realiza la operación lógica Y o su inversa respectivamente entre una variable lógica o combinación de variables lógicas. O/ON (O lógica) Selecciona la primera variable de una expresión lógica. Para ello introduce su valor de forma directa o inversa en el RLO. Realiza la operación lógica O o su inversa respectivamente entre una variable lógica o combinación de variables lógicas y la variable especificada en la instrucción

= (Asignación) Esta instrucción actúa sobre la variable lógica de salida especificada en ella. X (O-exclusiva, exclusive OR) Realiza la operación lógica O-exclusiva entre una variable lógica o combinación de variables lógicas en la tabla 2.15 se muestra una secuencia de instrucciones que ejecuta la operación O-exclusiva. XN (O-exclusiva invertida) Realiza la operación lógica O-exclusiva entre una variable o combinación de variables y la inversa de la variable especificada en la instrucción. O( Realiza la operación lógica O entre la secuencia de instrucciones que la precede y la comprendida entre ella y el paréntesis cerrado. Ejemplo, la secuencia de la tabla 2.17 pág. 110 ON( Realiza la operación lógica O entre la secuencia de instrucciones que la precede y la inversa de la secuencia de instrucciones comprendidaentre ella y el paréntesis cerrado. U( Realiza la operación lógica Y entre 2 secuencias de instrucciones. UN(

Realiza la operación lógica Y entre las secuencia de instrucciones que la precede y la inversa de la secuencia de instrucciones comprendida entre allá y el paréntesis cerrado. X( Realiza la operación lógica O-exclusiva entre 2 secuencias de instrucciones. XN( Realiza la operación lógica O-exclusiva entre la secuencia de instrucciones que la precede y la inversa de la secuencia de instrucciones comprendida entre y el paréntesis cerrado 2.3.4.3 instrucciones de memorización Son instrucciones que ponen a “1” o entre”0” una variable lógica. Existe un tipo de instrucciones de memorización que actúa sobre el RLO y otro que actúa sobre una variable cualquiera. Instrucciones de memorización que actúan sobre el RLO Para poner incondicionalmente a uno o a cero el biestable RLO se puede utilizar, respectivamente las instrucciones de puesta a uno SET y puesta a cero CLR. Instrucciones de memorización que actúan sobre una variable lógica Son instrucciones que actúan sobre el estado de una variable lógica en función del valor lógico de la expresión establecida por las instrucciones de la preceden.

Figura 2

2.3.4.4 Instrucciones que operan con flancos El lenguaje AWLtiene dos instrucciones que operan con flancos que son FP para flancos de subida o positivos y FN para los flanco de bajada y negativos.

Para detectar el flanco de subida, la instrucción FP realiza el producto lógico del valor de la variable o de la expresión que la precede. De forma similar, la instruccione FN realiza el producto lógico del inverso del RLO ( que contiene el valor de la variable o de la expresión que la precede).

Ejemplo 2.1 Diseñe un programa que utilice dos fotocélulas A y B para detectar la entrada o salida de personas del recinto para su posterior contaje. Cuando una persona entra o sale del recinto, primero intercepta al haz de una de las fotocélulas y, a continuación, por estar muy próximas una de la otro, intercepta los dos haces. Solucion Se tienen las variable A y B, una forma de realizar el conteo es diseñar un programa que incremente en una unidad el número de personas que se encuentran en el recinto si es 1 la expresión lógica A.B y que lo decrementa si es uno A.B. Otra forma alternativa incrementar A.B y decrementar A.B. 2.3.5 Instrucciones que operan con combinaciones binarias
2.3.5.1 Introducción Existen seis tipos diferentes de instrucciones que operan con combinaciones binarias: ï‚· ï‚· ï‚· ï‚· ï‚· ï‚· Instrucciones de carga y transferencia. Instrucciones aritméticas con uno o dos operandos. Instrucciones de comparación Instrucciones de conversión. Instrucciones de desplazamiento y rotación. Instrucciones lógicas.2.3.5.2 Instrucciones de carga o transferencia Queremos que lo que metamos por las entradas nos salga por las salidas. Para ello tenemos dos formas de hacerlo. Una forma sería pasar los bits uno a uno. Por ejemplo: U E 0.0 = A 4.0 U E 0. = A 4.1 Otra forma de hacerlo sería utilizando las instrucciones de carga y transferencia. El programa quedaría del siguiente modo: L EW 0 T AW 4BE Con esto lo que estamos haciendo es una copia de las entradas en las salidas. 2.3.4.3 Instrucciones aritméticas


Mediante estas instrucciones se realizan las operaciones aritméticas, de uno o dos operandos, que se analizan a continuación. Instrucciones aritméticas de dos operandos Permiten la realización de operaciones de suma, resta, multiplicación y división. Dichas operaciones ser pueden realizar con enteros de 16 bits, 32 bits, constantes enteras o números en coma flotante. Instrucciones aritméticas de un operando Permiten la realización de las operaciones con números reales representados en coma flotante de 32 bits ABS Obtiene el valor absoluto de un numero en coma flotante bits, IEE.FP) 2.3.4.4 Instrucciones de comparación
Estas instrucciones permiten la comparación de valores de datos. Si la comparación es verdadera dará continuidad lógica y ejecutará la instrucción siguiente de la línea Los parámetros que necesita cada instrucción en el formato general son: Expresión: Operandos y definición de la comparación que se desearealizar. En el formato específico para cada instrucción habría que definir los parámetros Fuente A: Operando 1. Fuente B: Operando 2. Los operandos pueden ser: ENTEROS: del tipo I, O, S, B, C, R, N, BCD o ASCII. COMA FLOTANTE: del tipo F

CONSTANTES: Números enteros o en coma flotante Si se utilizan palabras de los ficheros ASCII o BCD el procesador interpretará los datos como números enteros: En una misma instrucción de comparación se pueden mezclar números enteros y en coma flotante. El comportamiento de una instrucción de comparación dentro de una línea de programación escalonada es similar a las de tipo relé. Estas instrucciones se pueden asociar en paralelo y en serie con cualquiera de las instrucciones de test. 2.3.5.5 Instrucciones de conversión
ï‚·

No permita conversiones implícitas que den como resultado una pérdida de precisión. Por ejemplo, no debe haber una conversión implícita de Double a Int32, pero puede haber una de Int32 a Int64.

ï‚·

No inicie excepciones en conversiones implícitas porque es muy difícil que el programador comprenda lo que está pasando.


ï‚·

Proporcione conversiones que funcionen en todo el objeto.
El valor que se convierte debe representar todo el objeto, no un miembro de un objeto. Por ejemplo, no es correcto convertir un Button en una cadena mediante la devolución de su título.

ï‚·

No genere un valor que sea semánticamente distinto. Por ejemplo, es convenienteconvertir un valor DateTime o TimeSpan a un valor Int32. El valor Int32 sigue representando el tiempo o la duración. No tiene sentido, sin embargo convertir una cadena de nombre de archivo como 'c:mybitmap.gif' a un objeto Bitmap.

ï‚·

No convierta valores de dominios diferentes.
Las conversiones funcionan dentro de un dominio específico de valores. Por ejemplo, los números y las cadenas pertenecen a distintos dominios. Tiene sentido convertir un valor Int32 a Double.


Sin embargo, no tiene sentido convertir un valor Int32 a String, ya que estos dos valores se encuentran en dominios diferentes.
2.3.4.5 Instrucciones de desplazamiento y rotación Se utilizas para desplazar bit a bit, hacia la izquierda o hacia la derecha, la palabra menos significativa del acumular ACU1 o todo su contenido. El código de operación de amabas instrucciones puede ir seguido de un numero entero, que indica el numero de bits que se desplazan. Las instrucciones de desplazamiento y rotación no modifican el estado del RLO y además el resultado de su ejecución no depende del estado de ninguna variable interna.

2.3.5.7 Instrucciones lógicas con combinaciones binarias Se dispone de las mismas operaciones lógicas Y, O y O-exclusiva que con variables de un bit, los operandos son los contenidos de los acumuladores ACU1 y ACU2. Una aplicación de las instrucciones lógicas que operan con combinaciones binarias es la detección simultánea deflancos en varias variables. Para ello se agrupan todas las variables cuyo flanco se quiere detectar en una palabra de 16 o 32 bits y se realiza la operación o-exclusiva entre el valor actual de dicha palabra y el que tenia en el ciclo anterior, memorizando en una variable auxiliar. 2.3.6 Instrucciones de temporización Se utilizan para generar variables cuya duración, instante de activación o instante de desactivación es una función del tiempo transcurrido desde que se produce un determinado suceso. Cada temporizador programado va asociado a un elemento de temporización dentro de la tabla de datos. Un elemento de control de temporización incluye 3 palabras

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 EN TT DN Valor acumulado /15-EN ENabled: Bit validación. Se pone a '1' cuando la instrucción está validada. /14-TT Timer Timing: Temporizador temporizando. Se pone a 1' cuando la instrucción está validada y ACC PRE. /8 y /9 Base de tiempos. /8 1 0 /9 0 0 Base de tiempos 1 seg Base de tiempos 0.01 Seg (centésima) X Y Uso interno Valor de preselección

/0 a 17 Bits de uso interno de la instrucción (No se puede acceder a estos bits por el terminal de programación). PRE = PREset. Preselección. En esta palabra se escribe el valor de temporización deseado. Este valor debe de estar comprendido entre O y + 32767. ACC = ACCumulates. Acumulado. El valor acumulado corresponde al tiempo transcurrido desde que se validó latemporización. Si la temporización no está validada ACC estará a cero. Los valores deberán estar comprendidos entre O y + 32767. Si PRE o ACC tienen un valor negativo se produce un error de temporización. La precisión de una instrucción de temporizador depende de dos factores: - La precisión del reloj +1- 0 %.

- La base de tiempos elegida. Temporizador de impulso (SI) Si el RLO (al ejecutar esta instrucción) cambia de 0 a 1, el temporizador arranca. El temporizador marcha con el valor de tiempo indicado en ACU1. Si el RLO cambia de 1 a 0antes de terminar el tiempo, el temporizador se detiene. La salida del temporizador entrega 1mientras el temporizador corre. Registros afectados: ER Ejemplo:

U E 0.0 //Empleamos la entrada 0.0 como entrada del temporizador L S5T#45s //Introducimos un valor de temporización de 45 segundos SI T 2 //Empleamos el temporizador 2 como impulso U T 2 //Leemos la salida del temporizado r= A 0.1 //Asignamos la salida del temporizador a la salida 0.1

Temporizador de impulso prolongado (SV)

Si el RLO (al ejecutar esta instrucción) cambia de 0 a 1, el temporizador arranca y continua en marcha incluso si el RLO cambia a 0 antes de que el temporizador termine. Mientras el tiempo está corriendo, la salida vale 1.Registros afectados: ER Ejemplo:

U E 0.2 //Empleamos la entrada 0.2como entrada del temporizador L S5T#85s //Introducimos un valor de temporización de 85 segundos SV T 9 //Empleamos el temporizador 9 como impulso prolongado U T 9 //Leemos la salida del temporizado r= A 9.1 //Asignamos la salida del temporizador a la salida 9.1

Temporizador de retardo de conexión El temporizador arranca cuando hay un flanco creciente en el RLO (al ejecutar esta instrucción).El temporizador continua en marcha con el valor de temporización indicado en el ACU 1mientras sea positivo el estado de señal en la entrada (el RLO). El estado de la salida es 1 si eltiempo ha transcurrido sin errores y si el estado de la entrada (RLO) es 1. Si la entrada (RLO) cambia de 1 a 0 mientras está en marcha el temporizador, éste cambia el estado de la salida a 0.Registros afectados: ER Ejemplo:

U E 0.7 //Empleamos la entrada 0.7 como entrada del temporizador L S5T#65s //Introducimos un valor de temporización de 65 segundos SE T 4 //Empleamos el temporizador 4 como retardo a la conexión U T 4 //Leemos la salida del temporizador = A 8.1 //Asignamos la salida del temporizador a la salida 8.1

Temporizador de retardo de conexión con memoria (SS) Si la entrada (RLO en la ejecución de la instrucción) cambia de 0 a 1, el temporizador arranca y continua corriendo incluso si la entrada (RLO) cambia a 0, antes que el temporizador termine de contar. Si el tiempo ha concluido la salida continua a 1 independientemente delestado de la entrada (RLO). Solo se puede poner a 0 la salida mediante un Reset. El temporizador vuelve a arrancar con el valor de temporización indicado en el ACU 1 si el estado de la señal en la entrada (RLO) cambia de 0 a 1 mientras el temporizador está en marcha. Registros afectados: ER Ejemplo

U E 1.2 //Empleamos la entrada 1.2 como entrada del temporizador L S5T#32s //Introducimos un valor de temporización de 32 segundos SS T 2 //Empleamos el temporizador 2 como retardo a la c. con memoria U T 2 //Leemos la salida del temporizador= A 3.1 //Asignamos la salida del temporizador a la salida 3.1

2.3.7 Instrucciones de contaje

Son instrucciones que hacen que un autómata cuente los falncos de subida de los impulsos que se produzcan en una determinada variable logia. El contaje se puede realizar en sentido ascendente, en sentido descendente o en ambos sentidos. Las entradas y salidas del contador representado en la figura 2.25 de la pagina 142 realiza las siguientes funciones

ZV: Entrada de contaje ascendente. ZR: Entrada de contaje descendente. S: Entrada de puesta en estado inicial. ZW: Entrada en la que se especifica en la combinación binaria que se introduce en el contador cuando se aplica un flanco de salida. R: Entrada de puesta a cero (Reset). FR: Entrada de habilitación. Q: Variable lógica de salid. DUAL: Variable de salida. DEZ: Variable de salida.
2.3.8 Instrucciones de control del programa Pueden ser de tres tipos: ï‚· ï‚· ï‚· Instrucciones de salto. Intrucciones de control de bloque. Instrucciones de control de la ejecución.

2.3.8.1 Instrucciones de salto Saltos incondicionales Empecemos por el salto sin condiciones, con el que podremos cambiar el control a cualquier punto del programa. Sería como el “Goto” del Basic, símplemente transferir el control a otro punto del programa. La orden es JMP (de Jump, salto) Si record is a estas alturas los registros CS: IP, se podrá ver que‚ es lo que hace realmente la instrucción, y no es mas que incrementar o decrementar IP para llegar a la zona del programa a la que queremos transferir el control (IP es el Offset que indica la zona de memoria que contiene la siguiente instrucción a ejecutar, y CS el segmento ) El formato mas sencillo para el salto sería JMP 03424h, lo que saltaría a esa zona. Pero es digamos que “algo pesado” calcular en que‚ dirección va a estar esa instrucción, con lo que utilizaremos etiquetas. Aquí hay un ejemplo, en el que de paso se repasa un poco: MOV AX, 0CC34h MOV CL, 22h JMP PALANTE

VUELVE: CMP BX, AX JMP FIN PALANTE: MOV BX, AX JMP VUELVE FIN: XOR CX, CX Saltos condicionales Bien, pues aquí esta lo que suple a estas instrucciones en lenguaje ensamblador. Se basan completamente en losflags, pero están simplificados de talmanera que no harán falta saberlos de memoria para poder hacerlos. L o s s a l t o s p o d r í a n r e s u m i r s e e n u n modo “Basic” de la manera IF-THEN-GOTO de tal manera que cuando s e cumple una condición se salta a un sitio determinado. Son similares a JMP en la sintaxis, pero la diferencia es el nombre. Las instrucciones son las siguientes: JE o JZ: Salta si está prendido el bit cero del registro de banderas. O b j e t i v o : S a l t a r s i l a ú l t i m a c o m p a r a c i ó n r e a l i z a d a d a igual. JA o JNBE: Salta si el bit carry (CF) o el bit cero (ZF) del registro de banderas está desactivado. Objetivo: Saltar si la última comparación realizada con números naturales da mayor. JB o JNAE: Salta si CF está activada. Objetivo: Saltar si la última comparación realizada con números naturales da menor. JG o JNLE: Salta si ZF es cero o si OF y SF son iguales.
2.3.8.2 Instrucciones de control de bloque

Las instrucciones de control de bloque son de control del programa que se utilizan para estructurarlo mediante su división en bloques separados e interrelacionados. La decisión de ejecutar un bloque puede ser incondicional o condicional en función del estado de RLO. En STEP7 existen tres tipos de bloques: ï‚· ï‚· Bloques de organización denominados OB. Bloques de programación denominados funciones FC.
Bloques de datos denominados DB.

2.3.8.3 Instrucciones de control de la ejecución de un grupode instrucciones Tienen como objetivo establecer un área dl programa en la que el resultado de la ejecución de las instrucciones de asignación (=) y las instrucciones T, R y S dependen del estado del RLO: ï‚· ï‚· Si el estado del RLO es cero, todas las instrucciones de asignación (=) y las de transferencia T ponen a cero la variable sobre la que actúan. Si el estado del RLO es uno, las operaciones indicadas se realizan normalmente.

Estas instrucciones están relacionadas con el estado de un biestable que recibe la denominación de MCR, porque su finalidad es hacer que el comportamiento de las instrucciones de asignación “=”, transferencia T, puesta a uno S y borrado R, dependa del valor de una variable lógica concreta, que actúa como variable de parada. 2.4 Lenguaje de esquema de contactos (KOP) de STEP7 2.4.1 Conceptos generales La representación del lenguaje de programación gráfico KOP (esquema de contactos) es similar a la de los esquemas de circuitos. Los elementos de un esquema de circuitos, tales como los contactos normalmente cerrados y normalmente abiertos, se agrupan en segmentos. Uno o varios segmentos constituyen el área de instrucciones de un bloque lógico. 2.4.2 Identificación de variables A cada contacto se le asigna una variable cuya identificación es igual a la utilizada en el lenguaje de lista de instrucciones.

2.4.3 Operaciones con contactos


En este lenguaje se siguen las reglas del algebra decontactos. Las funciones lógicas se representas mediante un circuito de contactos conectado en serie con la variable de salida generada por él. Una conexión de contactos equivale a la función y operación lógica Y y la conexión de contactos en paralelo equivale a la función y operación lógica O 2.4.4 Operaciones con contactos y bloques Para incorporar ciertas instrucciones, por ejemplo las de flanco, que son operaciones que facilitan el trabajo con flancos, temporización y contaje. 2.5 Lenguaje de diagrama de funciones (FUP) de STEP7 2.5.1 Conceptos generales Es un lenguaje simbólico en el que las distintas combinaciones entre variables se representan mediante los símbolos de las puertas lógicas correspondientes. Este lenguaje de programación esta especialmente indicado para usuarios familiarizados con la electrónica. 2.5.2 Identificacion de variables Las variables se identifican igual que en el lenguaje de lista de instrucciones. 2.5.3 Operaciones lógicas El resultado de cualquier operación lógica se asigna a una variable de salida externa o interna mediante un símbolo de asignación. Operación lógica Y Esta operación se puede realizar, tambien, tanto con variables derectas como invertidas (conectadas a la puerta Y a travez de un circulo que indica la inversion) Operación lógica O de operación Y

Se representa mediante la combinación de símbolos de puertas Y y puertas O. Operación lógica Y de operación O Estaoperación se representa mediante la combinacion de símbolo de puertas O e Y. Operación de inversión La introducción NOT, que invierte el estado del RLO se puede representar en el digrama de funciones mediante un circulo de inversión. Por ejeplo tenemos A y not vendría a considerarse

Operación lógica O-exclusiva (XOR) Puede realizar tanto con variables directas como invertidas o con combinación de ambas 2.5.4 Operaciones de memorización El FUP se define como un conjunto de operaciones que facilitan la memorización de variables. Para disponer de estas operaciones el autómata debe tener una zona de memoria retentiva o volátil. 2.5.5 Operaciones con flancos Son operaciones que facilitan el trabajo con flanco. Estas operaciones se utilizan para generar un impulso cuando se produce un flanco en una variable o en una combinación lógica de variables. 2.5.6 Operaciones de temporización Los temporizadores se pueden utilizar en el lenguaje de diagrama de funciones representándolos mediante el símbolo lógico de un temporizador. 52


2.4.7 Operaciones de contaje





El sistema de programación STEP7 dispone de contadoras realizadas por software mediante la utilización de instrucciones de contaje ascendente y descendente.
Un ejemplo de utilización del bloque contador se muestra en la siguiente figura

Bibliografía
Enrique Mandado Pérez, S. P. (2011). Autmatas programables . España: Paraninfo.


Política de privacidad