You are on page 1of 14
Pet * PROGRAMABLES. 5. CICLO DE FUNCIONAMIENTO DEL AUTOMATA Y CONTROL EN TIEMPO REAL S.L, INTRODUCCION Los autématas programables son méquinas secuenciales que ejecutan correlativamente las instrucciones in- dicadas en el programa de usuario al- macenado en su memoria, generando uunas érdenes 0 sefiales de mando a partir de las seftales de entrada leidas de la planta: al detectarse cambios en las sefales, el aut6mata reacciona se- gin el programa hasta obtener las 6r- denes de salida necesarias. Esta se- cuencia se ejecuta continuamente para conseguir ef control actualizado del proceso. La secuencia de operacién del au- témata se puede dividir en tres fases principales: — Lectura de sefales desde In inter- faz de entradas. ~ Escritura de sefiales en la interfaz. de salidas, — Procesado del programa para ob- tencién de las sefiales de control A fin de optimizar tos tiempos de acceso a las interfaces E/S, se realiza la lectura y eseritura de sefiales simul- tineamenie para todas las entradas y salidas implicadas, de forma que las en- tradas leidas se almacenan en una me- moria temporal 0 memoria imagen de entradas, a la que acude la CPU du- rante la cjecucién del programa, mien- tras que los resultados 0 sefiales de mando se van almacenando en otra ‘memoria temporal, o memoria imagen de salidas, segiin se van obteniendo. Finalizada la ejecuci6n, estos resulta- dos se colocan en Ia interfaz de salida de una sola vez, El aut6mata realiza también una se- rie de acciones comunes que garanti- zan la seguridad en el funcionamiento, ‘como son Ios chequeos de memoria y de CPU, comprobacién del «watchdog» © reloj de guarda, etc. Ademés, y eventualmente, establece ‘comunicacién con periféricos exterio- res, por ejemplo para volcado de datos en impresora, comunicacién con otros autématas u ordenadores, conexién con Ja unidad de programacién, ete. Todas estas acciones se van repitien- do periédicamente, definiendo un ciclo de operacién que necesita de un cierto tiempo para ser ejecutado. Este tiempo serd determinante cuando el autémata pretenda controlar proceso répidos, con sefiales de muy corta duracién 0 alta frecuencia de conmutacion. En el presente capitulo se deseriben el ciclo de operacién del autémata y las comprobaciones 0 test que realiza du- rante su funcionamiento, con una v. loracién cualitativa de los tiempos que emplea en realizar cada operacién. Se define también el concepto de res- puesta del automata en tiempo real, y se indican las soluciones que ofrecen los fabricantes para el control de pro- cesos ripidos. 52, MODOS DE OPERACION Un autémata bajo tensién puede mantenerse en uno de los siguientes ‘estados de funcionamiento (modos de coperacién): RUN: El automata ejecuta nor malmente el programa de usuario con- tenido en su memoria — Las salidas evolucionan ON/OFF segiin el estado de las entradas y las 6rdenes del programa. — Los temporizadores y contadores programados operan con norma- liad, STOP: La ejecucién del programa se detiene por orden del usuario. = Las salidas pasan a estado OFF. — Las posiciones internas (relés, re- gistros), contadores y temporiza- dores mantienen su estado en me- ‘moria interna. — En el paso a RUN, todas las po- siciones internas, excepto las ‘mantenidas, 0 protegidas contra pérdidas de tensién, pasan a es- tado OFF. ERROR: El autémata detiene la cje- cucién por un error de funcionamiento, y queda bloqueado hasta que se corrige el error. — las salidas pasan a estado OFF. — corregido el error, el autémata sale de este modo bien por reset de puesta en tensién u ordenado des- de la CPU, bien por comando en- viado desde la unidad de progra- macién. EI modo STOP es normalmente uti- lizado para servicios de mantenimiento © diagnéstico, al congelar el funcio- rnamiento del automata sin pérdida de la informacién contenida en su interior, que puede entonces ser visualizada desde Ia unidad de programacién. EI modo de operacién del autémata puede ser controlado desde conmuta dores situados en la misma CPU, 0 desde la unidad de programacién, con el envio de los comandos adecuados. Ambas posibilidades pueden encon- trarse simulténeamente en autématas de gamas media y alta, mientras que los modelos compactos de gama baja suelen incluir sdlo Ia segunda. Algunos autématas compactos no disponen de conmutadores para el cambio de modo, aunque pueden sus- tituirlos por interruptores externos que se leen a través de puntos de la interfaz de entradas, asignados para esta fun- cidn mediante los parémetros de con- figuracién. 1 , fafa Kod) 3 ba Tete TT ied DEL AUTOMATA Figura 51. Modos de operacin de un axtima. Tras Ja puesta en tensiOn, el auts- ‘mata pasa a modos RUN o HALT/ STOP, dependiendo del modelo y de la configuracién de] mismo. En cualquier caso, las conmutaciones RUN/STOP pueden ser forzadas por el usuario des- de la unidad de programacién 0 desde los interruptores previstos a tal efecto sobre la CPU. Sien el intento de puesta en marcha 0 paso a estado RUN el autémata de- tecta algin mal funcionamiento sobre el aparato (conexiones, alimentacién, etc.) 0 sobre el programa (sintaxis), no se mantiene el estado RUN y Ia CPU cae en ERROR. En el capitulo 20 se discutirin posibles causas de error, y los procesos de depuracion subsi- guientes. La figura 5.1 muestra la relacién en- ‘re los distintos modos, indicando los, cambios entre ellos con los cédigos: SIS — cambio de modo ordenado por el sistema monitor. CPU — cambio de modo ordenado por usuario desde conmuta- Gores de la CPU. PRG — cambio de modo ordenado por usuario por comandos desde la unidad de progra- macién. I autémata puede disponer de una funcidn de Reset que, activada desde la CPU 0 desde Ia unidad de progra- ‘macién, borra todas las posiciones in- temas, incluso las mantenidas, y deja al aut6mata totalmente reinicializado para comenzar a ejecutar el programa. ‘Normalmente, y puesto que en el modo RUN no’ puede modificarse el programa de usuario (solamente es po- sible en autématas con programacién On-Line), el aparato debe estar en modo HALT/STOP cuando se desea introducir 0 modificar un programa de aplicacién, La comprobacién del modo de fun- cionamiento se realiza facilmente sobre ‘unos LED incorporados en la CPU, por observacién de su estado apagado, en- Figura $2. Indicadores LED deta CPU cendido o parpadeante, facilitando las labores de mantenimiento y puesta a unto en caso de error La figura 5.2. muestra Gigposicioner da sate" LED, “correspondientes a autématas Izumi FA-2J, Matsushita FPI, y Télémecanique TSX 17-20, respectivamente, ‘Como se observa en la figura, al- gunos autématas incluyen indicadores especificos para monitorizacién del es- tado de las conexiones E/S, de la me- ‘moria de programa, de funcionamiento de la CPU, etc., lo que facilita la iden- tificacién répida de la averia, aunque siempre puede leerse el eédigo 0 iden- tificador de error desde Ja unidad de programacién, 53. CICLO DE FUNCIONAMIENTO El funcionamiento del autémata es, salvo el proceso inicial que sigue a un Reset, de tipo secuencial y ciclico, es decir, las operaciones tienén lugar una ‘ras otra, y se van repitiendo continu: mente mientras el aut6mata esté bajo La figura $3 muestra esquemitica- mente la secuencia de operaciones que ejecuta el autémata, sobre la que se de- fine el llamado cicio de operacién con aquellas que se repiten indefinidamen- te, ‘Como se muestra en la figura, antes de entrar en el ciclo de operacién el autGmata realiza una serie de acciones @ rower @ ww O excor Cooe@Oo RUN eee PROS coe ERR see ALA €o eeicmeve ws AUN (2) Tauri Par2J oo1s0s: Gotones en SOS B)Mateushiva FP? ‘iomane en SOF el Télgmecanique Texto ster tneo (noraware) 7 Proceso: eee - t proceso comin 1 ilo de operacn + WAADAYSALIDN OE DATOS EeCUGION DEL PROGRAMA senncoa enemas — Figura $3. Clo de funclonamiento del autimata comunes («power-on sequence»), que tratan fundamentalmente de inicializar los estados del mismo y de chequear el hardware. Estas rutinas de chequeo, incluidas en el monitor ROM, comprueban: ~ el bus de conexién de las unida- des de E/S, — el nivel de la bateria, si ésta existe, = la conexién de las memorias in ternas del sistema, — el médulo de memoria exterior conectado, si existe Sisse encuentra algiin error en el che- ‘queo, se activa el LED de error y queda registrado el cédigo del mismo. El fun- cionamiento puede quedar interrum- pido en ese punto, segiin Ia gravedad del error. ‘Comprobadas las conexiones, se ini cializan las variables internas: — se ponen a OFF las posiciones de memoria interna (excepto las mantenidas 0 protegidas contra pérdidas de tension), — se borran todas las posiciones de ‘memoria imagen E/S, — se bortan todos los contadores y temporizadores (excepto los man- tenidos 0 protegidos contra pér- didas de tensién). El tiempo total empleado en ejecutar estas rutinas de inicalizacién es siem- pre menor que 1 segundo, Como ejemplo, Ia figura 5-4 muestra los tiempos de puesta en marcha de un autémata Hitachi de la serie E (mix ‘croautématas) en tres circunstancias: ~ arranque simultaneo con la puesta fen tension, — arranque tras la puesta en tensién, = arranque desde el estado STOP. ‘Transcurrida la secuencia de inicia- lizacién, y si no han aparecido errores, el autémata entra en el ciclo de ope- racién, constituido por aquellas ope- raciones que se ejecutan continuamen- te, Este ciclo puede considerarse divi- dido en tres bloques (figura 5.3) — proceso comtin, — ejecucién del programa de sua — servicio a periféricos, En el primero de ellos se comprueba cl reloj de guarda y realizan los che- ‘queos ciclicos de conexiones y de me- ‘moria de programa, protegiendo al sis- tema contra: — errores de hardware (conexiones T/O, ausencia de memoria de pro- rama, etc), ~ errores de sintaxis (programa im- posible de ejecutar). El reloj de guarda («watchdog») es ‘un temporizador interno no accesible por el usuario que fija el tiempo mi ximo de ejecucién de un ciclo de ope- racién. Si este temporizador alcanza el valor prefijado, entre 0,1 y 0,5 s segin ‘modeios, el autémata pasa al estado STOP y se lumina el indicador de error. Posibles causas para la activacién dei reloj de guarda pueden ser: — existencia de algin error de sin- taxis en el programa, de forma que nunca se alcanza la instruccién END. — bloqueo de 1a comunicacién con periféricos externos, — averia en el funcionamiento de la CPU, ete. EL chequeo cielico de conexiones ‘comprueba los siguientes puntos: = niveles de las tensiones de ali- mentacién, | [TE | laneanoue RADIA IASI PBED PPD PLID PPL jrenacey terest Janus a Gl Arrangue simulténeo con a puesta en tensisn inciermacenee— aN | joreracion jorenacen f bi) Arranque posterior @ le puesta en tensién ee Finsoisecanse Av Jeg eb vorenax =] ©) Arranque desde el estado STOP tions vane! Figura S Tlempos de puesta en marcha de microawtimats de Mitac. ~ estado de la bateria, si existe, y — buses de conexién con las inter- faces E/S, En el chequeo de la memoria de pro- fgrama se comprueban la integridad de Ja misma y los posibles errores de sin- taxis y gramética: — mantenimiento de los datos, com- probados con el «checksum», ‘existencia de la instruccién END de fin de programa, estructuras de salto y anidamiento de bloques correctas, ‘cédigos de instruction correctos, testers, Este proceso comin no supera nor- ‘malmente 1 0 2 milisegundos de tiem- En el segundo bloque de operacio- nes, ejecucién del programa de usuario, se consultan y actualizan los estados de las entradas y las salidas y se elaboran las érdenes de mando a partir de ellos, por ejecucién secuencial de las ins: trucciones del programa, El tiempo de ejecucién de este blo- que de operaciones es la suma del ~ tiempo de acceso a interfaces de B/S, — tiempo de escrutacién del progra- ma, que a su ver dependen, mente, de: respectivar = nimero y ubicacién de las inter- faces de E/S, — longitud det programa y tipo de CPU que Io procesa, El tiempo de acceso a las interfaces depende de si éstas estin cableadas como locales 0 remotas (conectadas a la CPU por el bus interno, o a través de procesadores de comunicaciones), y del niimero de entradas/salidas insia- Iadas. En un aut6mata compacto 0 mo- dular con interfaces locales, este tiem- po es del orden de 5 ms, aunque puede variar significativamente de uno a otro modelo. El tiempo de ejecucién del programa depende del tipo de instrucciones que se procesan, siendo mayor en caso de instrucciones aritméticas 0 de mani- ulacién de datos, y del modelo de CPU que lo ejecuta, reduciéndose si el autémata utiliza procesadores a medida ‘© personalizados («custom») en vez. de microprocesadores estindar. La tabla 5.1 muestra los tiempos de ejecucién de instrucciones, en. micro- segundos, de la gama de autématas OMRON, Los tiempos més bajos co- rresponden a la ejecucién de las ins- trucciones bisicas (AND, OR, etc.), y Jos mas largos a los de manipulacién de datos, contadores y temporizadores. El tercer blogue de operaciones den- tro de un ciclo de ejecucién, el servicio a periféricos externos, sélo es atendido si hay pendiente algin intercambio con el exterior, Estos periféricos se comunican con el autémata bien directamente, a través de un conector situado sobre la CPU, bien a través de procesadores de co- ‘municaciones especificos, que soportan los protocolos de comunicacién des- ccargando a la unidad de contro! de esta trea La comunicacién a través del conec- tor incorporado queda reservada casi cexclusivamente para la unidad de pro- gramacién, aunque existen productos de mercado (por ejemplo, visualiza- dores y terminales de operador) direc- ‘tamente conectables a esta linea. La co- nexién con otros periféricos se realiza, normalmente a través de procesadores Tiempo de a Name ge sjesion - _ anos Aoslinste) © 2000 HE atta | © 1000 H 2048 og a2 200 H 1680 078 228 GAMA DE cs00 sid 3a | Automaras | MEPIA | ¢ 129 26 ro | Serie K Toh a 8 4495 para | Sere P 36.4120 anos . 2 u 420 Tle 51. Fomia de entonaas OMRON » tmpos de cain de comunicaciones, que permiten el enlace con: — Ordenadores. — Impresoras. — Visualizadores de plasma o siete segmentos. = Lectores de cddigos de barra = Otros autématas, etc. Una vez establecida la comunica- cién, la CPU dedica un tiempo limita- do, de 1 a2 ms, en atender al intercam- bio de datos. $i este tiempo no fuera suficiente, el servicio queda interrum- pido hasta el siguiente ciclo (fi. 5.5) Esta suspensién del servicio puede Hogar a ser apreciable en procesos de monitorizacién de estados, cuando 1a uunidad de programacién u otro peri- férico especifico pretende visualizar la evolucién de las variables en el auté- ‘mata, dando como resultado la apari- cin de un retardo entre el estado de los LED indicadores de sefial en las in- terfaces de E/S y la informacién vie sualizada sobre Ja unidad externa. Para el resto de servicios, conexién con im- presora, con monitores o visualizadores industriales, etc. los retardos resultan inapreciables, 54, CHEQUEOS DI SISTEMA ‘Como se ha indicado en el apartado anterior, el aut6mata incorpora rutinas de autochequeo, en su monitor ROM, ue le permiten diagnosticar el estado del programa y del hardware conecta- do, Estas rutinas pueden ser: = Iniciales, que corren inicamente ‘ras la puesta o reanudacion de la tension, — Ciclicas, que se repiten continua- mente mientras el autémata esta ejecutando el programa. Figura 53, Suspensii de servicio de atencion ‘2 penifiricos extern 4 I (onc ce —_i Las primeras se encargan de com- probar las conexiones fisicas del sis- tema, y de identificar la configuracién existente = Comprobacién de la CPU: = Microprograma. ~ Memoria infer, — Comprobaciin de ia memoria de programa: "Control de presencia — Identificacion de tipo. = Comprobacién del contenido (echeksumy), — Comprobacién de interfaces E/S: = Control de presencia, — Kdentificacién de los tipos. = Generacién de la tabla de reeciones. Las rutinas ciclieas se encargan de comprobar la integridad del programa y de las conexiones F/S utilizadas en al mismo: = Control de memoria interna (di- tecciones y datos). — Comprobacién del contenido de ‘memoria de programa («chek- sum). — Control de presencia y funciona miento de interfaces E/S. = Comprobaciones de! bus intemo y de las correctas transferencias de Gatos sobre él Si en alguno de los chequeos o com- probaciones anteriores se detecta algtin problema, el autémata acusa el error, ‘memoriza el eédigo identficador co: respondiente y, eventualmente, sei liza la situacion iluminando el LED de error y algin otto especitico, si 1o po- Combinando el estado de los dife- rentes pilotos y/o estudiando los digos de error, es posible analizar los defectos y corregitlos con rapidez La identificacién completa del error se realiza visualizando sobre la unidad de programacién el cédigo del mismo (lectura del registro que almacena el tipo de error) y utlizando uns tabla ceruzada de cédigos y nombres de error. E] fabricante incluye siempre en la documentaciOn del autémata un capf- tulo de diagnéstico y correction de errores («troubleshooting») que per- mite, primero, a identificacion del mis- mo, y proporciona, después, posibles soluciones para su correccién, Los errores pueden clasificarse en dos categoria: fatales y no fatales. Los primeros provocan la detencién del au- témata (paso a STOP), y exigen la rei- nicializacion de la miquina por reset 0 puesta en tensién, Los errores no fatales quedan reco- sidos y sefalizados en el autémata, pero no provocan la parada de la mi quina. ‘Algunos autématas pueden disponer de un historico de errores, conjunto de registros intemos que van almacenan- do los errores producidos con sus é- digos de identificacin, e incluso Ta fe- cha y hora en que se producen, si la CPU dispone de reloj de tiempo real. Los contenidos de esta tabla de regis: tros se van actualizando conforme apa- recen nuevos errores, siempre que és- tos no provoquen la parada del auto- mata, Los errores més frecuentemente de- tectados son’ = fallos de alimentacién, — ausencia del médulo de memoria (autématas sin RAM de programa interna), — desbordamiento del reloj de guar- da, ~ pérdida o destruccién del progra- ‘ma o parte de él, — valores de preseigccién de tem- porizadores y contadores fuera de rango, — fallos'de conexién con las inter- faces de entrada/salida, ~ fallo de conexién con la unidad de programacién o con otros auté- ‘matas dentro de una red, ~ direccionamiento incorrecto de interfaces E/S 0 de variables in- temas. — imposibilidad de carga del progra- ‘ma (demasiado largo, 0 incorrec- tamente identificada), etc. Ademis de las rutinas de autoche- queo incorporadas en el monitor del autémata, las unidades de programa- cién pueden disponer de comandos de test que se encargan de realizar una comprobacién sistemitica de todo el sistema: entradas/salidas, conexiones del bus, estado de Ia CPU y de las me- ‘morias, conexiones con la unidad de programacién, teclados y visualizadores de ésta, etc Esta funcién de test, si existe, es siempre ordenada por el usuario, a di- ferencia de las rutinas de autochequeo anteriores, de activacién automética, 55. TIEMPO DE EJECUCION Y CONTROL EN TIEMPO REAL El tiempo total que el autémata em- plea para realizar un ciclo de aperacién se llama tiempo de elecucién de ciclo 0 més. sencillamente tiempo de ciclo («Scan Time»). Dicho tiempo depende de: — el miimero de entradas/salidas in- volucradas, Ja Jongitud del programa de usua- tio, — el niimero y tipo de periférieos co nectados al autémata, El tiempo total de ciclo es entonces la suma de los tiempos empleados en realizar las distintas operaciones del clo, a saber: autodiagnésticos, actualizacion de E/S, ejecucién (escrutacién) det pro- grama, servicio a periféricos. Los tiempos empleados en chequeos y_comprobaciones ciclicas (aulodiag- nésticos) son del orden de 1 a2 ms, al igual que los consumidos en la aten- ign a periféricos extemnos. Los tiempos de ejecucién de ins- trucciones se miden en unidades de microsegundos (ys), resultando un tiempo de escrutacién del programa va- able en funcién del niimero y tipo de instrucciones contenidas. Precisamen- fc, el tiempo de escrutacidn es uno de Jos parimetros que caracterizan a un autGmata, expresado normalmente en milisegundos por cada mil instruecio- ‘nes (ms/K). Légicamente, el tiempo resultante dependeri del’ tipo de_instrucciones clegidas, por lo que el fabricante suele indicar las uilizadas como base de cél- ‘culo (booleanas, aritméticas, de tem- porizacion, etc.) y las proporciones en- ite ellas dentro del programa muestra, Son tiempos tipicos de $a 1S ms/K instrucciones, aunque fa aplicacion de nuevas tecnologias y disefios a la CPU estén reduciendo los tiempos a valores ‘menores de 1 ms/K instrucciones. Los tiempos de acceso al exterior para lectura/escritura de datos son del orden de Ia 5 ms, dependiendo del nniimero de E/S involucradas, de la CPU det autémata, de si éste es com- acto o modular, si se utiizan 0 no en- ‘radas/salidas remotas, ete. En un autémata estindar de gama ‘media, para una aplicacién que necesite aproximadamente unas 1000 instruc ciones, el tiempo de ciclo total puede, por tanto, estimarse del orden de 20 ‘milisegundos. Este tiempo de ciclo seré uno de los, factores determinantes en el disefo del sistema de control cuando en éste apa- rezcan muy bajas constantes de tiempo (sistemas de respuesta ripida), pero no el inico a considerar, ya que también la electrOnica de las interfaces intro- duce retardos adicionales La lectura/eseritura de sefales de planta, realizada a través de las inter- faces de entrada/salida, esti afectada por los retardos propios de estos cir cuitos que, al inclur filtros que tratan de evitar la entrada de ruido eléctrico fen el aut6mata, introducen también re- tardos en las conmutaciones de la se- fia, limitando la frecuencia maxima de Estas a valores inferiores a 100 Hz. La tabla 5.2 presenta los rangos de retardo miximo tipicos, en milisegun- dos, para distintas interfaces de entrada y salida en las conmutaciones de en- ‘eendido a apagado y viceversa ‘Como se observa, las entradas en DC Tabla 52. Retardos de conmutacin ios de interfaces de autimatas (ms). INTERFAZ ENTRADA (Tie) SALIDA Cara) CCONMUTACION ac Be RELE TRANSISTOR TRIAC OFF - ON 1-30 «$10 S-18—S-2 10 ON - OFF 15-30 5-10 5-20 12 uk son mas répidas que en AC, por la ma- yor necesidad de filtrado de las tensio- nes de red, mientras que las salidas es- titcas son también mas ripidas que las salidas por relé. Notese el largo tiempo de conmutaciin ON-OFF de la salida Por tric, por el retardo que introduce cl apagado natural (a corriente cero) del dispositivo. Si el proceso utiliza ademés sefales anal6gicas, seré preciso considerar tam- bign los tiempos de conversion A/D y DIA, lo que, dado el procedimiento de conversion por doble rampa_normal- ‘mente utilizado, obliga a considerar re- tardos alin mayores, de 15 0 20 ms. Dada una sefial de mando (salida) funcién de uno varias sefales de Planta (entradas), se denomina tiempo de respuesta al que transcurre desde que tun cambio en una de aquellas sefales de planta es acusado por la seal de mando. Este tiempo dependeri, por tanto, de los retardos de conmutacién y adap- tacidn de sefial en las interfaces de en- trada y salida, Tyur aay ¥ Tourn on y del tiempo de ciclo del automata, ‘Aunque el tiempo de respuesta es variable dependiendo del instante en que cambia la entrada respecto al ciclo de operacién, se mueve siempre entre dos valores limite méximo y minimo, segiin se muestra en el esquema de la figura 56. Estos valores limite son © Valor minimo (la sefial esta dis- ponible en la interfaz justo antes de la lectura de entradas) Tes main = Truvo saty + Texceo + % Tovreur ay © Valor méximo (la sefial esté dis- ponible en Ia interfaz justo des- pués de la lectura de entradas) Tass min = Tro say + 2 Tex + + Tovtwor ae El tiempo de retardo en las interfa- ces de entradas y salidas depende del tipo de conmutacién, ON/OFF o bien OFF/ON, asi que para el célculo del tiempo de respuesta maximo habré que tomar los mayores posibles que ue el fabricante. Los valores del tiempo de respuesta cosultante, y des inveras, ta fecucnin de operacién, pueden resultar despre- cables frente’a las constantes de tiem- po de los sistemas electromeciinicos (felés, solenoides, electrovélvulas, etc.) los que el automata sustituia’o con- ‘uolaba en sus primeras aplicaciones de ‘mercado, pero no to son tanto com- pparados ‘con tos tiempos extremada- ‘mente cortos que intervienen en la lec- tura y control de elementos electr6ni 08, tipicas en procesos de posiciona- miento de motores (Iecturas de pulsos de encoders), respuesta a alarmas, de- cétera, Si se trata de controlar uno de estos procesos relativamente sipidos, puede darse el caso de que la respuesta del aaut6mata resulte demasiado Ienta, con Jo que el control no actuard como se espera Be dice que ei automata es capaz de controlar en tiempo real a un proceso, si sus tiempos de respuesta o retardo resultan muy pequefios frente a los tiempos de reaccion del mismo. Por ejemplo, utilizando un autémata 1 a alta velocidad, et- Figura 58. Valores limite del tiempo de respuesta a una seal sefiay ! Se | fers Y I co 1 T I ‘ 1 Y oe 1 ! 1 / aNSO_| I ——— LH I t 1 wet \ sear [TT i - IN| * 1m Sb ary resin ——L oy b) Tiempo de respuesta minimo con interfaz de entrada DC y salida por relé, con un tiempo de ciclo de eje- cucién de 10 ms, y despreciando tos tiempos de autochequeo y actualiza- cién E/S, se obtiene un tiempo de res- puesta maximo de: Tes aux = 10 ms + 2% 10 ms + +10 ms = 40 ms A este tiempo le corresponde una frecuencia maxima de conmutacién que el automata pueda leer de: S= WTars oie = 40 ms = 25 He Si el proceso a controlar necesita un tiempo de respuesta en alguna variable inferior a 40 ms, o si generan 0 mani- pulan frecuencias superiores a 25 Hz, cl autémata del ejemplo anterior no po- dra controlar dicho proceso sin riesgo de provocar oscilaciones, pudiendo Hle- ‘ar incluso a la saturacién y bloqueo del mismo. Para mantener Ia potencialidad de los autématas incluso en estas nuevas aplicaciones que exigen mayor rapidez, los fabricantes suelen incluir en sus ‘modelos elementos 0 funciones de pro- .ceso rapido, cuyo funcionamiento y ca- racteristias se describen a continua- cidn, 8.4, ELEMENTOS DE PROCESO RAPIDO Hay tres tipos de actividades que ‘gen rapidas respuestas del autmata: ~ Ejecucién de subrutinas o progra- mas a intervalos menores de los {que permite el tiempo de ciclo ge- neral del autémata (por ejemplo, para el procesado de alarmas) = Lectura de impulsos de entrada a alta frecuencia (por ejemplo, pro- cedentes de encoders). — Deteccién de seftales de muy cor ta duracién, menor que el tiempo de ciclo (por ejemplo, para detec- cin de méviles a alta velocidad). Cada una de las citcunstancias an- teriores plantea problemas. distintos, ue obligan también a buscar distintas soluciones en e! autémata ‘Asi, para el primer supuesto, reduc- Miows toca} Teruo | = Mode Figura 5:7. Kecsionperiéica de ratinas ripidas. cién del tiempo de respuesta para una sefial determinada, puede ordenarse la ejecucidn del bloque de programa que Ja controla de forma independiente al resto del ciclo, inicidndose ésta = por medio de un sefal periddica (para reducir el tiempo de ciclo), — por medio de una sefial de inte- mupcién exterior (para obtener respuestas répidas). En el primer caso, activacién de una rutina répida mediante una sefal pe- riédica (normalmente, una temporiza- cién interna), se asegura la reduccién del tiempo de ciclo para las sefiales E/S manipuladas dentro de la rutina (figura 5.7), mientras que en el segundo caso, activacion mediante interrupcién ex: terior, se permite al autémata respon- dor con rapidez frente a estimulos ex- temos. En el segundo supuesto, lectura de impulsos de alta frecuencia, la pérdida de informacién que supone ia aparicién de varios impulsos dentro de un mismo ciclo de ejecucién, al ser leido sélo el {que coincida con ef instante de lectura (igura 5.8), puede evitarse disponiendo de un contador rapido que, aprove- chando un hardware especifico con en- tradas débilmente filtradas y_circui propio, sea capaz de leer sefales de alta frecuencia Por ultimo, para la deteccién de se- fiales de muy corta duracién podria emplearse cualquiera de las dos solu- ciones anteriores, aunque algunos au- {6matas que no las incluyen, sobre todo en gamas bgjas, pueden tener en cam- bio una o varias entradas detectoras de flancos, capaces de captar y mantener en un relé interno, y hasta su lectura por parte de la CPU, sefiales indivi- duales de tan corta duracién como | ms (menores de un «scan>), de forma que el automata Mega a tenet constan- cia de ellas (figura 59). Se discuten a continuacién, con ma- yor detalle, cada una de las soluciones enumeradas. Figura 58. Pérdides de informacisn en la lecture de sees de ate frecuencia, Petals iformatin @759% [+ —tenro 0€ cero a [A —LecTuRATEScmURA PS INTERIACES ES ESANBAe 1 RAPA 'yoution — uel lace Figura $9. Lecwra de impli de entrada, 5.7. PROCESADO RAPIDO DE PROGRAMAS Un programa, 0 bloque de programa, puede ejecutarse de las siguientes for. — Procesamiento ciclico, propio del programa principal, con ejecucién de las instrucciones segiin la nu- meracion de sus ditecciones. De este procesamiento ciclico se ob- tiene el ciclo de ejecucidn del au- tomata, = Procesamiento répido, con ejecu- cién de intrucciones en respuesta ‘una sefal independiente y asin- crona con el ciclo de ejecucién del autémata, Con el procesamiento répido de pro- ‘gramas se elimina la dependencia de algunas sefiales con el tiempo de ciclo del programa base, mejorando la ve- locidad de respuesta de estas sefiales frente cambios en la variable de entra- dda, A fin de reducir al maximo el tiem- po de respuesta, es frecuente que los autématas con capacidad de procesa- miento répido tengan definidas algunas ‘entradas y salidas con tiempos de con- mutacién més pequefios que las ordi narias (menores filtrados), denomina- das entradas ripidas. La combinacién del proceso ripido de instruceiones con el uso de estas en- tradas/salidas no filtradas o con filtra- dos muy reducidos, dieminuye la roe puesta entre la aparicién de las sefiales de planta y la ejecucién de la sefial de mando a valores menores de 5 ms. La figura 5.10 muestra un ejemplo de ejecucién de rutina répida a partir del programa principal, activada por una sefial externa que puede repetirse mas de una vez. Ei programa se esti ejecutando con- tinuamente mientras no se active la ru- tina rdpida. Cuando esto ocurre, se in- terrumpe aquél momentineamente y se ejecuta la rutina como sigue: — adquisicién de entradas, = ejecucién de las instrucciones del programa ripido, — activacién de las salidas, Figure $10. Rjecucin de una rating ripe ordenade por interepcin. Caner con ta unidod répide ~ retomo al programa principal La interrupcién al programa puede generarse de dos formas: por entrada asincrona externa (in- terrupcién), — segin un ciclo de periodo pref able por el usuario (temporiza- ion): 2 ms, 5 ms, 10 ms, 100 ms, 1's, por ejemplo. La interrupcién externa puede, a su vex, obtenerse por: ~ activaciOn de una entrada exterior, — alcance del valor de preseleccién de un contador répido. Si se utilizan las entradas exteriores como entradas de interrupcién, el ini cio de la ejecucién det programa répido curre cuando varia el estado de alguna © cualquiera de ellas, de forma asin- crona con la consulta’ del resto de en- tradas en la interfaz. Sisse utiliza un contador répido como control de la rutina, ésta se dispara cuando el contador alcanza el valor de preseleccién fijado, a partir de tos im- Dulsos de alta frecuencia Ieidos en el exterior. ‘También puede programarse el con- tador como temporizador ripido au- tocargable, de forma que dispare la eje- cucién répida segin un ciclo de perio- do prefijable (procesado sincrono). En cualquier caso, el programa prin- cipal continia en ef punto en que fue interrumpido tras la ejecucién del blo- que de tratamiento répido. Esto nifica que, si bien se reducen los tiem- pos de respuesta para las entradas/sa- Tidas procesadas en la rutina, se inere- ‘mentan los correspondientes al resto de sefiales, en un valor igual al del tiempo de ciclo de la rutina répida por el namero de interrupciones al progra- ‘ma normal, Algunos autématas (de gamas media y alta) permiten la programacién de va- Flos bloques de proceso especifico, cada tuno de ellos con su propia reticula de tiempo: alcanzado uno de estos tiem- pos se activa una interrupeién, y si la tarea que se estaba ejecutando era de tun period mayor (menor prioridad), se interrumpe para ejecutar Ia tarea asociada a la interrupcién activada, transcurrida la cual el proceso se rea- nuda en el punto en que fue interrum- pido, Esta estructura de_multiprograma- cién o multitarea permite definir pro- sramas diferentes. para ejecutar sobre el procesador principal o sobre los au- villares: — programa bisico, — programa ripido, ~ programa lento, = Tutinas de emergencia, etc. Todos estos programas pueden in- tercambiar datos y acceder a las mis- ‘mas entradas, salidas y variables inter- nas, resultando una mayor simplicidad y facilidad de programacién y super- vision del Funcionamiento. Una estructura como la deserita per- mite ademés la priorizacidn absoluta de las tareas de control, 1o que significa {que en Ia prictica el usuario puede ele- sir los tiempos de respuesta que desea para cada una de las sefiales de su pro- eso, Mis detalles sobre los tratamientos multitarea se darin en el capitulo 12, dedicado a las estructuras de progra: $8. CONTADOR DE ALTA VELOCIDAD El contador répido es un médulo de hardware independiente de la CPU, ca- paz de contar impulsos exteriores de alta frecuencia procedentes de capta- dores como codificadores incrementa- les, detectores de proximidad, etc. El contador cuenta los impulsos de forma asinerona con el resto del aut6mata, utilizando sus propias entradas débil- mente filtradas y especificas para esta aplicacién. Una ver iniciada la cuenta, el con- tenido del contador puede ponerse a cero (Reset): por software, actuando el progra- ma sobre un relé interno, — por hardware, actuando sobre una entrada especial de cero (serial Z). EI contador ripido puede estar in-

You might also like