You are on page 1of 18
10. PROGRAMACION DEL AUTOMATA 10.1, INTRODUCCION Hasta el momento, se ha descrito al autémata como una maquina formada por elementos de hardware capaces de comunicarse fisicamente con el pro- eso par: — recoger el conjunto de variables (digitales y analdgicas) que defi nen el estado del mismo (sefiales de entrada), — enviar otro conjunto de variables que modifiquen dicho estado en Un sentido predeterminado (se- flales de salida), Ademés, por su atributo de progra- mable, el autémata necesita para su completa adaptacién al proceso de un operador humano que defina cSmo se quiere la evolucién del mismo. Este operador intercambia entonces infor- macién con el hardware de autémata para: — fliar, mediante una secuencia de 61 denes, la ley general de mando, de la que se obtienen las variables de salida o de control, = intervenir, continuamente 0 no, sobre el proceso para modificar la evolucién 0, simplemente, para leer su estado, EI primero de los puntos, estable miento de la secuencia de drdenes, se denomina programacién del autémata, y a la secuencia establecida, programa de la aplicacién. Al segundo punto, intervencién del operador sobre el proceso, se le conoce comtinmente como exploraciin de la aplicacién, y durante ella se permiten modificar algunos parimetros (tiempo, consignas, médulos de cuenta, etc), pero no modificar el programa. La estructura de intercambios mi tiples proceso-autémata-usuario esta sintetizada en la figura 10.1. Como se observa, las intervenciones sobre ta planta se efectiian a través del auté- ‘mata, aunque, en algunos casos (por ejemplo, paradas rapidas por motivos de seguridad), el usuario puede actuar directamente sobre el proceso. De los intercambios mostrados en la figura, el primero de ellos, de in- formaciones fisicas entre autémata y proceso, esté resuelto mediante el empleo de las interfaces E/S descritas en anteriores capitulos, mientras que el segundo, la comunicacién con ef operador para programacién/explota- cidn, necesita de un soporte software que ‘haga el papel de intérprete en- tte el sistema real y los deseos del usuario, Asi, puede definirse este software [1] como’! «conjunto de programas des- tinados a permitic o facilitar la utili- zacién del hardware para la produecién y explotacién de las aplicaciones». Segin esta definicidn, podemos cla- estas herramientas de software en dos grandes grupos: ~ Sistemas operativos, residentes en el propio autémata, que se encar- gan de establecer las secuencias de intercambios de informacion, interpretar y ejecutar las drdenes de usuario, y vigilar por el co- recto funcionamiento del equipo. ~ Software de edicién/depuracién de Fira 10.1. Intercambios de informacién en un a PROCESO Geom | programas, que permite al uso Ja introduceién del programa so bre un soporte sic (ints, den, memoria de semiconductor) le modifiacion. del mismo en I | puesta punto, la obtencén del | documentacién. perinente, ya ereacion de copas de seguidn Este software de edict ext ins (er vesdent)'0 ce at table tobe un tera ees wnidad de ropmmactn, eh namint tomo ayes | fate | ‘La unidad tiene como funciones principales: — Soportar la edicién y depuracién del programa, — Proporcionar 1a interfaz fisica en te el usuario y el automata, pan. transferencias de programas y si Pervision y control del proceso Los intercambios de informacién en- tre los elementos que aparecen en lt figura I necesitan, en todos los casos, de una codificacién del mensaje que sea comprensible a las partes que it tervienen [2] Esta compatibilidad, que el autémata lograba en el lado de planta mediante interfaces adecuadas a las sefales emt tidas 0 recibidas, se consigue en el lado sistema de eutomata aul MATA, USUARIO Tenouasts 0 PRoGRAMACION ‘VexpoTacion de usuario mediante ef empleo de tos Jenguajes de programacién y explota- «i6n preestablecidos por el fabricante. Se define, pues, lenguaje de progra- ‘macién como el conjunto de simbolos Y textos inteligibles por Ja unidad de Programacién que le sirven al usuario para codificar sobre un cierto autémata lis eyes de control deseadas, mientras ue lenguaie de explotacién seré el con- junto de érdenes y comandos que el usuario puede enviar, desde la misma unidad o desde un terminal adecuado, Bata recoger estados © modificar varia: bles del proceso. Como se observa en Ia definicién, el lenguaje de programacién se define en- tte el usuario y la unidad de progras ‘nacién: la compatibilidad entre ésta y @! autémata esti asegurada por el fie bricante del mismo, que lo es también de la unidad, o det Software que se ins- lala sobre ella si es una maquina de aplicacién general, como un PC com. atbe, En definitiva, el usuario introduce su ‘ey de mando en ta unidad de progra- ‘macién mediante un programa (se- Cuencia de érdenes) codificado seguin tu lenguaje (conjunto de simbolos) in. teligible para ambos, La unidad de programacién compita ® convierte el programa a los cédigos binarios que realmente entiende el aur ‘mata, y los transfiere y deposita en 1a memoria del mismo. Estos cédigos binarios son después itepretados por el sistema operativo residente (Firmware) para movilizar los ‘eeurs0s fisicos (procesador, interfaces B/S, etc) necesarios en la ejecucion del programa, La figura 10.2 muestra un resumen 4: los sistemas y recursos involuerados fn las transferencias de informacion (que rodean al autémata. Como se observa, el programa se ob- tiene desde un modelo del sistema, re- Dresentacién simbdlica del mismo que permite la aplicacién de herramientas Imatemiticas o grificas de andlisis y sin- ‘ess, para reducir el trabajo de disco ¥ asegurar la bondad del control ob- tenido, La ‘transeripeién del proceso y sus ‘specificaciones a un modelo, que en sslemis pequefios puede —y suele— obviarse (Se obtiene el programa es- tribiendo directamente en el lenguaje sstgnern de PROCESO AUTOMATA UNIDAD [_sstesnameaaro FROGRAMACION Flgura 102. Interectacién hanbwaresofvare en el autimat de programacién), es imprescindible en sistemas complejos, donde las relacio- ‘es entre variables son muy dificles de establecer tinicamente con las descrip. ciones literales det funcionamiento. La programacién del autémata pasa, ues, por los siguientes pasos: 1, Determinar qué debe hacer et sis- tema de control y en qué orden (por ejemplo, mediante un dia ‘grama de flujo, una descripcién literal o un grafo GRAFCET), 2, Identificar los componentes (se- fiales) de entrada y salida al au- témata, 3. Representar mediante un modelo el sistema de control, indicando todas las funciones que intervie- nen, las relaciones entre ellas, la secuencia que deben seguir. Esta representacién puede ser — Algebraica: rales, ~ Grifica: simbolos grificos. instrucciones 4. Asignar direcciones de entrada/ salida o internas a cada uno de los, Componentes que aparecen en ef modelo, 5. Codificar ta representacién ante- rior en instrucciones o simbolos inteligibles por la unidad de pro. gramacién, 6. Transferir las instrucciones obte- hhidas a la memoria del autémata desde la unidad de programacién, 7. Depurar el. programa y obtener tuna copia de seguridad Los siguientes apartados desarrotlan en extension cada uno de los puntos de esta secuencia, 10.2. REPRESENTACION DE. SISTEMAS DE CONTROL En la introduccién se ha deserito la Programacién como la codificacidn al lenguaje det autémata del conjunto de 6rdenes que conforman Ia ley de mans do 0 control deseada. Codificar significa transformar una informacion en otra equivalente de dis- tinto formato. Ahora bien, icudles son estas informaciones, en el entorno del automata? De una parte, el cédigo de salida a obtener son los eddigos binarios que entiende Ia CPU; de otra, el cédigo de entrada no es mas que el control que se quiere implementar, representado en alguna forma, Desde luego, puede usarse el len- suaje vulgar (descripciones literales) para escribir lo que el automatismo hace en cada momento, junto con las condieio- hes que debe’ satisfacer, y probable- ‘mente, en las etapas previas del disefio, este seri el camino por el que el diz seifador empiece a conocer el sistema. Sin embargo, la creciente compleji- dad de Jos automatismos a desarrollar ee AUTOMATAS. PROGRAMABLES y la necesidad de dejar perfectamente cespecificadas las condiciones de_tra- bajo, obligan a utilizar itiles simb6ticos de representacién que permitan, inter- pretados adecuadamente, obtener toda la informacién posible acerca del sis- tema de control Para ello, estos aitiles de represen- tacién deben cumplir dos condiciones: = ser comunes para el emisor y re- ceptor de la informacién, por cuanto sean comprensibles simul- téneamente para ambos, — ser de empleo coherente, por cuan- to utilicen unas reglas de combi- nacidn entre ellos (sintaxis) per- fectamente establecidas, Combinados entre si en Ja forma que fijen las especificaciones, los simbolos forman un modelo intermedio del sis- tema, indispensable para analizar ex- hhavstivamente el comportamiento y sintetizar las soluciones, Segin los simbolos utilizados en el modelo, la representacién puede ser: — Proposicional: descripciones lite- rales. — Algebraica: funciones booleanas y aritméticas. — Grafica: esquemas de relés, dia- ‘gramas l6gicos, ordinogramas, 16e- nicas GRAFCET. En general, ninguna forma de repre sentacién es estrictamente superior al resto, depende en cada caso de la com- plejidad del problema a representar y de los técnicos y operarios a quien va dirigida la utilizacién de una u otra. In- cluso es muy frecuente el empleo com- binado de todas ellas en la represen- tacién final 10.2.1. Deseripciones literales La descripeién del proceso y su con- tol puede hacerse con la enumeracién literal de las acciones a desarrollar por el mismo, expuestas secuencialmente y con indicacién de las condiciones de hhabilitacién o validacién en cada caso. La ventaja de estas descripciones, que es a la vez su principal ineonve- niente, es la ausencia de rigor en la ex- posicidn: cualquier persona, aun poco Ccualificada desde el punto de vista de Ja automatica, es capaz de explicar 1o que debe hacer un proceso que co- nozea. Esta descripcién, si bien posi Dlemente estard libre de errores, ado- leceri casi con seguridad de falta de especificaciones en los procesos, en las variables o en las relaciones entre ellos. La figura 10.3 muestra un ejemplo de deseripcién literal de un proceso de mecanizado, donde se hacen patentes las limitaciones descritas. En efecto, observando la figura y la descripcién podrian plantearse algunas preguntas: 1, {Qué ocurre si la presién detec tada por el manémetro no es la prescrita? 2. iCuindo debe empezar a girar el taladro, antes, durante o después de la Dajada de la cabeza? 3. iCudndo debe detenerse el tala- dro, al legar a tope, durante la subida 0 después de haber subido el cabezal? 4. iCémo se aflojs ta pieza, por re- troceso del cilindro A, por ex- tracci6n manual, 0 por movimien- to del soporte? Parece que con una descripcién como Ia dada, que en principio resul- taba suficientemente clara, el disefiador necesita de una serie de preguntas adi- cionales antes de empezar a trabajar en el contro, La conclusién que se obtiene es que Figura 103. Descripcén literal de um proceso. la descripcién literal 0 se hace exhaus- tiva, con Io cual es de dificil compren- sidn en su conjunto, 0 no es totalmente uunivoca con el proceso que se quiere controlar. ‘Afortunadamente existen otras for- mas de representacién, de sintaxis mis definida, que permiten descripciones més concisas y claras de la tarea de control 102.2. Funciones algebraicas La funcién algebraica de cada salida © funcién de mando puede obtenerse directamente a partir de las especifi- caciones del cliente, con tas limitaci nes discutidas en el apartado anterior, o bien derivarse de ellas aplicando mé& todas de sintesis basados en el dlgebra de Boole, ente matemitico que regula las relaciones entre sefales binarias todo-nada (anexo I y capitulo 2) Esta representacién puede ser tan compleja como sea necesario, siempre y cuando se respeten las reglas del l- gebra. Por ejemplo, Ia alarma S debe activarse cuando el contacto C esté ce- ado, y los contactos A y B en estados ‘opuestos, segiin convenio: ~ abierto: 0 — cerrado: 1 La funcién booleana seri S=(AB+AB)-C El operador pulsa tos mandos mandaios y°0'y 0 roanuda o ode aprite dia pieza por medio el coinare A Venteacion de este apt por la prosion ‘comprobada por 01 ‘bajada oe la eabeza de taladrado 8 yrotacon da iad, ln de fa perforacion controlada por e ope" subida de 8 y parada de R cuando se acura b, aloe dela pera BB oF capiado: FF atresin A Ass Aunque la representacién booleana esti restringida a las. variables que adoptan Unicamente dos estados (por convenio, 0 y 1), puede mejorarse de- finiendo otras operaciones (aritméticas, comparacién) que permitan las relacio- nes entre variables digitales de varios bits: el modelo dejaria de ser booleano, aunque continéa siendo algebraico. Pese a que cualquier sistema, com- binacional o secuencial, puede Ser re- Dpresentado por un modelo algebraico de Funciones, la particular complejidad aque presenta en ellos el anilisis y sin- tesis de sistemas secuenciales limita en la préctica el empleo de ecuaciones a la representacién de combinaciones en- tte variables, de resultado indepen- dente al instante de tiempo conside- rado (por ejemplo, condiciones de alar- ‘ma, operaciones aritméticas con varia- bles analogicas, etc.) 1023. Esquemas de relés El esquema de relés es la reprosen- tucién gréfica de la tareas de automa- lizacion mediante simbolos de contac- tos abierto-cerrado, La funcién de control obtenida de- pendera de las conexiones entre los distintos contactos de los relés que in- tervienen (figura 10.4). Este modelo grifico, de origen en las, teenologias electromecénicas de eje- «avin de sistemas de mando, presenta efciencias en cuanto a la represen- ‘acidn de funciones secuenciales com- Dlejas, como son los secuenciadores, regstros de memoria, etc, y, sobre todo, en la manipulacién de sefales di- gitales de varios bits (por ejemplo, ob- tenidas de una conversién A/D), Fi 104 Esquema electric de reli. ra come ones eee aes yt vetels] ee ar Sin embargo, siendo muy familiar & los electricistas, se utiliza frecuente- ‘mente para la representacién de siste- ‘mas sencillos, en los que no intervie- nen més que seftales l6gicas binarias todo-nada, 0 algunos bloques secuen- ciales predefinidos, como temporiza- dores y contadores. 10.2.4. Diagramas légicos La representacién del sistema de control por diagramas l6gicos se basa en el empleo de simbolos normaliza- dos (puertas) que representan funcio- nes logicas directa del élgebra de Boo- le (AND, OR, etc), o sistemas légicos més complejos (biestables, registros, contadores, etc). La figura 10.5 muestra el modelo de diagrama I6gico del sistema de alarma escrito en el ejemplo anterior. El conjunto de todos os simbolos on sus interrelaciones forman el lo- sigrama del sistema de control, repre- sentaciGn compacta e independiente de Ja tecnologia de construecién del mise mo (elécttica, neumética, etc). Desgraciadamente, el logigrama es una herramienta caracterstica del tée- nico de software o del ingeniero de di- sefio, muy alejada de muchos de los usuarios finales del autémata, por lo ‘que su empleo queda en la préctica casi circunscrito a la representacién del sis- tema en alto nivel, a efectos de espe- cificaciones y documentacién, 10.25. Ordinogramas Los tres modelos descritos, alge- braico, de relés y de puertas Idgicas, Permiten, con mayor 0 menor claridad, tanto la’ representacién de sistemas combinacionales como secuenciales, como lo son, de hecho, la mayor parte de los sistemas industrales (secuencias de actividades o combinaciones de ope- raciones consecutivas en el tiempo). ‘Sin embargo, esta 'evolucién tem- Poral no es de'apreciacién inmediata Sobre aquéllos, lo que obliga a utilizar algin modelo, preferiblemente grifico, {que refleje las secuencias de evolucién y toma de decisiones del proceso. Un primer intento de representacién, de cierta utilidad en fases previas del diserio, puede ser el diagrama de flujo u ordinograma del proceso. S(aBiaerc a ree Figura 105. Representacion por dagrama tiica Extensamente utiizado por los di- sefiadores de software para ordenador, el modelo emplea una simbologia dé bloques, convenientemente entrelaza- dos, que representan la evolucién tem- poral 0 condicional de las acciones a ejecutar. En la figura 10.6 aparece un ejemplo de representacién por diagrama de flu- jo, en el que se pone de manifiesto la compacidad del modelo. Ciertamente claro para describir el funcionamiento general, puede no ser- lo tanto cuando se intenten representar las variables y sefiales que intervienen y las relaciones entre ellas, a no ser que 1 modelo se complete con expresiones algebraicas. Esta solucién, sin embargo, afecta entonces a la claridad de Ia re: resentacién grifica inicial Figura 108. Ordinograma de un posconaniento ‘ardatco manual LJ 10.2.6. Representacin GRAFCET Uns evolucién del diagrama de fu- jos, que combina las ventajas de la re- presentacién secuencial gréfica con la integracién de los modelos preexisten- tes, es la representacién por diagramas GRAFCET. ‘Ahora normalizado segin norma in- ternacional IEC 848 (International Electrotechnical Commission), el GRAFCET se reconoce como el mo- delo mejor adaptado a la parte secuen- cial de los automatismos. Para ello, el GRAFCET representa directamente la sucesién de las «eta- pas» dentro de un ciclo de produccién, separadas por «transiciones» 0 condi. ciones de salto entre unas y otras (fi- gura 10.7). El ciclo se desarrolla etapa por etapa desde la que se define como «etapa ini- ciab», que se activa al comienzo del fun- cionamiento, Mientras una etapa esta activa, el contro! — ejecuta ta funcién de mando co- rrespondiente a la etapa, — consulta las condiciones de tran- sicién para el salto a a siguiente Tanto la ejecucién de la funcién de mando como la consulta de las con- diciones de transicién pueden repre- sentarse por cualquiera de los modelos anteriores, resultando una representa- cién final del automatismo en la que fa secuencia grifica muestra la evolu- cién temporal y las etapas y transicio- Figura 107. Estructura general de una ropresemtaion GRAPCET. Uniones oventadas Etapa iii “ranscion Etapa 1 TTY since Figura 108, Combinacién de esructaras GRAFCET con diagramas de contacto. nes las condiciones combinatorias de ejecucion, En la préctica, es muy frecuente el empleo de esquemas de relés para re- presentar etapas y transiciones, resul- tando un modelo totalmente grafico del sistema de control (figura 10.8). Como se vid en el capitulo 2, Ia po- sibilidad de programacién directa en GRAFECT de algunos autématas de gama alta, permite el empleo de esta herramienta en todas las fases del di- — Especificaciones funcionales, 0 GRAFCET del pliego de cond Especificaciones tecnolégicas, 0 ‘AFCET de movimiento. — Programacién del autémata, 0 GRAFCET de mando, que ‘re sulla til también en Ta fase de explotacién. La figura 10.9 muestra un ejemplo de aplicaciOn en estas tres distintas fase, a partir de las especificaciones liters Figura 109. EL GRAFCET on diferentes fases de la antomarizacn. Transin Sepa? 102 cane Transicién 7 Recepividades asociadas alas transiciones, sriamesisrsi noomscnantea Es les del comportamiento de un auto- matismo, Esta estandarizacién del modelo, una de sus principales ventajas, facilita el flujo de informacién entre todos los ni- veles de la empresa, desde la oficina ‘técnica hasta los equipos de manteni mmiento, 103. IDENTIFICACION DI VARIABLES Y ASIGNACION DE DIRECCIONES Una vez obtenida la descripcién fun- cional del sistema, y definida la ley de contro! a aplicarle, estarén perfecta- mente fijados todos los componentes (efales) de entrada y salida al auté- mata, componentes que quedardn identficados por las referencias (opcio- nales) que el usuario haya querido dar- les en el modelo obtenido. La tabla 10.1 muestra un posible ejemplo de identificacién de elementos de campo. Identificadas y referenciadas las va- riables de entrada/salida, la simple ob- servacién de la ley de mando nos per- mite identificar también las. variables internas empleadas, que, por la funcién {que desempefian en el programa, serin fundamentalmente de tres tipos: ~ Variables de usuario, accesibles desde la unidad de programacion © el terminal de explotacién, que servirin para introducir consignas © parmetros que el programa ne- cesita (por ejemplo, valor de una femporizacién, limite maximo de velocidad, etc). ~ Variables’ de caleulo intermedio 0 memoria, que el programa utiliza para identificar determinados es- lados internos de influencia en la secuencia de mando (por ejemplo, combinacién de sefiales de entra- da en una tnica variable, apari- cién y reconocimiento de una alarma, etc.) Variables de consulta de estados, variables internas predefindas por el fabricante (relés auxiliares 0 es- peciales), de funcionamiento in- dependiente del programa, que guardan o generan informaciones sobre estados internos del auté- HLEMENTO REFERENCTA| DESCRIPCION Motor 1 MOTI Motor erase cinta Motor 2 MoT? Asiador de materia 2 Blectrovélvula 1 EVI Apertura puerta 5 Flo Por Indicsdor de marcha a — Si rl consgna de velocidad Patsador marcha MARCHA Polsador de marcha Palsador pero PARO Pulbodor de aro =| 2 eran FOTO A ae 2 [pear INDO Daetor post aio \é Entrada magico ——*| Biseua 1 PESO 1 et eso béscula Tabla 101, Identifiacn de elementos de campo. ‘mata (por ejemplo, relojes de dis- tintas frecuencias, seflalizadores de error, etc). Estas variables internas pueden ser de los siguientes tips (véase apartado 44) — binarias, de 1 bit (relés internos), — digitales, de varios bits (registros internos, temporizadores y con- tadores). La tabla 10.2 muestra un ejemplo de identificaci6n de variables internas. Tdentificadas las variables, s6lo que- da asignarles las direcciones de bornes donde irin conectadas (variables de E/S) 0 de elemento de memoria donde estan depositadas (variables internas). Esta asignacién depende, en cuanto al Tabla 102. entifcaién de variable internas. niimero de variables disponibles, del ‘mapa de memoria del autémate em- pleado y, en cuanto al formato o re- ferencia, de la configuracién del mis- mo. EL mapa de memoria determina la cantidad de variables E/S 0 internas que se pueden utilizar, mientras que de la configuracién depende que las di- recciones de estas variables sean rela tivas 0 absolutas. Esta clasificacién atiende, respectivamente, a si la varia- ble en ‘cuestidn puede tener distintas direcciones, segiin la ubicacién de mé- dulo que la contiene (autématas mo- dulares), 0 si esté forzada a mantener siempre la misma, bien porque no exis ‘a ninguna expansidn (autématas com- pactos), bien porque éstas estén obli- gadas a conectarse en un determinado ‘orden (expansiones compactas). ELEMENTO REFERENCIA "DESCRIPCION ~_ Condicién tiempo | MTM 1 ‘Condicion marcha TIM 1 | Temporizador | TIM 1 Tiempo de agitado Preselecsién TIM 1 PTIM 1 Preselecci6n de agitado ‘Alarma 1 ALM 1 Condisién paco Motor 1 Relej interno CLK Variable prefiada Hz | Las consideraciones anteriores son vidas para variables de E/S, ya que las variables internas, salvo raras excepcio- nes, tienen siempre direcciones abso- lutas: temporizador 1, contador 25, relé interno 18, etc. Las direcciones E/S absolutas, pro- pias de autématas compactos, ‘estin formadas por un solo campo, la posi- cién del bome de conexidn sobre el autémata o su expansion. Las direcciones relativas, en auto- ‘matas modulares, tienen en cambio dos campos: ~ direccién del médulo sobre el bas- tidor (puesto de enchufe o canal), — direccién del borne de conexién sobre el méduto. Ambos campos suelen venir sepa- rados por algiin simbolo algebraico 0, simplemente, por su distinto peso den- tro de la direccién total, por ejemplo: — 52, punto 7 dentro del médulo 5, = 25/1, punto 25 dentro del médulo = 1005, punto 5 dentro del médulo 10, ete. Normalmente, y para faciitar el tra- bajo del usuario, las direcciones se acompafian de una etiqueta que las identifica como entradas, salidas 0 in: temas, por ejemplo: — IN 12 entrada 12, — E 5.7 entrada 7 del médulo 5, — OUT 100 salida 0 del médulo 10, = IR 12 relé interno niimero 12, — TIM 1 temporizador 1, = DR 10 registro de datos nimero 10, ete. Si el autémata emplea sefiales E/S digitales de varios bits, bien proceden- les 0 destinadas a interfaces de entra da/satida analdgica, bien de contadores ripidos u otras interfaces dedicadas, debe tenerse en cuenta que estas in- terfaces, aun trabajando con una sola variable, ocupan en realidad varios puntos fisicos de entrada/salida, nor- ‘malmente agrupados en canales de 8 0 16 bits. Esta circunstancia afectard al direc: cionamiento de los médulos que los sigan, y a la evaluacién de Ia ocupacion real de entradas/salidas que necesita la aplicacién, En la figura 10.10 aparece un ejem- plo de configuracién det autémata mo- dular Izumi FA-2J Junior, con un m dulo de contador répido 'y una salida analégica, ademas de otras interfaces binarias. Se muestra también el mapa de direcciones de E/S correspondiente, ENTRADAS. 0... 7: Binarias (1 canal, 8 puntos) 10... 17, 20... 27, 30 .. 37: Contador rapido @ canales, 24 puntos) 40 .. 47: Binarias (1 canal, 8 puntos) SALIDAS 200 .. 217: Binarias (2 canales, 16 puntos) 220 .. 27, 230 .. 237: Analdgicas (2 canales, 16 puntos) 240 .. 247: Binarias (1 canal, 8 pun- t03) Se observa en el mapa anterior el desplazamiento que sufren las direc- ciones por la introduccidn de estos mé- dulos especiales, asf como Ia posibili- ddad de acceso a puntos individuales de Ja variable digital, una vez fijada ta di- reccién de canal que ocupa. Conocidas las variables que intervie~ nen en el proceso, y el mapa de di- receiones segiin el autémata seleccio- nado, solamente queda establecer las correspondencias biunivocas entre unas y otto, en lo que se conoce como asi racién de direcciones de la aplicacién ‘Como ejemplo de asignacién de recciones, se indica en la tabla 103 ef ‘mapa de memoria del autémata Omron C20K, pequefio autémata compacto de bajo coste, y en la tabla 10-4 una po- sible asignacién de aquéllas previe- mente definidas. Una vez asignadas las direcciones, se esti ya en disposicién de escribir et programa del autémata en el lengusje elegido, 10.4. LENGUAJES DE. PROGRAMACION Se ha descrto ya el programe como el conjunto de instrucciones, érdenes y simbolos reconocibles por el auti- ‘mata a través de su unidad de propre ‘macién, que le permiten ejecutar ia se cuencia de control deseada ‘AL conjunto total de estas instuc- ciones, érdenes y simbolos que estin disponibles para escribir un programa se le denoming lenguaje de prose macién del automata Seria deseable que la misma sim- botogia utilizada para representar esis tema de control pudiera emplearse para programar el autémata: el ahoro de tiempo y documentacién y la seguridad en el programa obtenido serian con siderables Sin embargo, esta solucién no es siempre posible: el lenguaje depende del autémata empleado y de su fab cante, que decide el tipo de unidad de programacién (literal, grfica)y el i térprete (firmware) que utiliza su mir uina, mientras que el modelo de re presentacidn depende del usuario, ue To lige segin sus necesidades 0 co nocimientos Pese a ello, los lenguajes de proge- rmacién de autématas intentan set lo Figura 1010, Dircclonamieno B/S con interfaces digiaes anatdcica sratates | —————_______nrnserezcensanscorsscommnasansensesnanecorecrat, eee | Tesla 103. Mapa de memoria del autimata OMRON C2OK. mis parecidos posibles a los modelos de representacién usuales, a fin de fa- citar la ranscripcién entre ambos. Asi, fos Tenguajes pueden ser: ~ Algebraicos Lenguajes booleanos Lista de instrucciones Lenguajes de alto nivel Graficos Diagrama de contactos Diagrama de funciones/bloques Intérprete GRAFCET. Si la representacién elegida para el sistema de control es comprensible por Ja unidad de programacién, no ser ne- cesario realizar ninguna codificacién, al aceptar ésta los simbolos utilizados. En aso contrario, habré que taduciria a un programa, segin uno de los ante- riores lenguajes. El programa obtenido esti formado por un conjunto de instrucciones, sen- fencias, bloques funcionales y graf ‘mos que indican las operaciones a rea- lizar sucesivamente por el PLC. La instruccién representa la tarea mis, elemental de un programa: leer una en- trada, realizar una operacién AND, ac- tivar una salida, ete La sentencia representa el minimo conjunto de instrucciones que definen tuna tarea completa: encontrar el valor de una funcién légica combinacién de varias variables, consultar un conjunto de condiciones y, si son ciertas, activar tun temporizador, etc El bloque funcional es el conjynto de instrucciones o sentencias que fealizan se rani eros cn cameron e | ‘ELEMENTO REFERENCIA DIRECCION | Motor 1 MOT 1 101 ~ g Motor 2 MOT 2, 0102, | | § [Sever Bi co 3 Piloto PLT 104 | Consiga de even cats [2% 6 punto [itor manta | MARCHA om | ___ Pulsador paro PARO 02 3 [rosa a FOTO A cc \E Deecori | INDUL 008 [contin tempo MIM 1000 | 2 | Temporiador 1 Ta we) | & | Preseteccién TIM 1 PTIM 1 DMOO | |= Aurmai | ALMI_| v00i | | Reigj interno _ aK 1902 Tala 104, Elemplo de asignacién de drescione, tuna tarea o funcién compleja: conta- dores, registros de desplazamiento, ‘ansferencias de informacion, etc. Todos estos elementos estén relacio- rnados entre si mediante los simbolos © grafismos (algebraicos o grificos) de finidos en el lenguaje empleado. Cualquiera que sea éste, las instruc- ciones del programa tienen la siguiente estructura: Campo de operacién crema} = Campo de Operacién (iQué hay que hacer?) Tipo de operacién Leer una entrada, Formar una combinacién OR, Asignar un resultado, etc. = Campo de Operando (iCon qué hay que hacerlo?) Variable que interviene: Entrada mimero 5, Relé interno niimero 400, En ocasiones, el campo de operando ‘no contiene ef nuimero de variable, sino la direccién de un registro (norm mente, una palabra de cuatro digitos) donde esti contenida le direccién de la variable (direccionamiento indirecto), Figura 1011. Estructura de una instraccin Lop AND ORN 3 out 200 La figura 10.11 muestra ta estructura de una instruccién tipica en diferentes lenguajes de programacién, En general, las instrucciones pueden set de distintos tipos: lgicas, aritmé- ticas, de transferencia, etc., que adop tan diferentes formas de representacion segiin el lenguaje empleado, En algunos autématas, el programe necesita para su correcta ejecucion de tuna tabla de pardmetros, introducids también desde la unidad de prog macién, que define el entorno de fur- cionamiento de la miquina: = uso 0 no de entradas de reset 0 stop, ccapacidad de la memoria de usus- rio empleada, — conexidn o no en red local, — variables internas a mantener con ‘a pérdidas de tension, etc La tabla de parimetros es espectfic para cada programa, y es grabada con el mismo cuando se transfere al au témata, 10.5. LENGUAJES BOOLEANOS Y LISTA DE INSTRUCCIONES El lenguaje booleano esti. consti do por un conjunto de instruccion {que son transeripcién literal de ls fim ciones del digebra de Boole, a saber ~ OR funcién suma logics ‘AND 2 ne OPERANOO. Palabra digital WRO, etc. > NSTRUCCION — AND funcién producto l6gico NOT funcién negacién complementadas con instrucciones de inicio de sentencia y asignacién de re- sallados: = LOD leer variable inicial OUT enviar resultado @ salida y de operaciones de bloques (parén- tess) = OR LOD coloca bloque en para- lelo = AND LOD coloca bloque en se- tie, En operacién normal, el aut6mata necesita algunas otras ‘instrucciones como ampliacién del Ienguaje boolea- no, que le permitan manejar elementos {de uso comin en automatizacién. Son {tis las instrucciones secuenciales pre- definidas: ~ TIM definir un temporizador = CNT definir un contador SET activar una variable binaria (unidad de memoria) — RST desactivar una variable bi- naria ‘Ademis, la mayor parte de autd- matas incluyen extensiones al lenguaje boolean basico descrito, que permiten | manipulacién de datos y variables digitales y la gestion del programa, Es- tus extensiones, que se tratan en ca pitulos siguientes como bloques fun- cionales, pueden clasificarse en: © Insirucciones aritmétleas = ADD sumar — SBB restar = MUL muttipticar = DIV dividir © Insirucciones de manipulacion de datos: — CMP comparar variables digit les — SFR rotaciones de bits (variables binarias) ~ SHIFT rotaciones de palabras (va- riables digitales) ~ MOV transferencias de datos — BCD/BIN conversiones de cédi- 205 numéricos, ete, tremor icc comiimeeiicimenn © Instrucciones de gestiin de programa: — END fin de programa = JMP salto de bloque de programa MCS habilitacién de bloque de programa JMPSUB salto a subrutina, ete. Las instrucciones aritméticas y de ‘manipulacién de datos admiten miil- tiples variaciones: — aritmética binaria o BCD, instrucciones légicas sobre pala- bras (8 0 16 bits), ~ transferencias entre bloques de palabras, codificacién a salida en 7 segmen- tos, — instrucciones de direccionamiento indirect ~ instrucciones trigonométricas, ete, Al lenguaje resultante, que no puede llamarse ya booleano después de am- Tabla 105, Insruccionesbiscas det eutimata Kumi FA2. pliarlo con estas extensiones, se le de nomina de lista de instrucciones («lns- truction List), Algunos fabricantes amplian las ca- pacidades de programacién de sus au- tomatas de gama baja con estas ins- ‘rucciones avanzadas, que serian de ‘mis légica aplicacién en autématas de superiores prestaciones. El tiempo de ejecucién resultante (tiempo de «scan») sobre CPU bésicas desaconseja su em- pleo en la mayoria de ocasiones. Sin ‘embargo, disponible ya el firmware ca- az de interpretarlas, desarrollado para otros autématas de’la familia, cuesta ‘bien poco introducirlo en las versiones bbsicas aunque no sea mis que por motivos comerciales de competencia. La tabla 10.5 siguiente muestra un listado de las instrucciones bisicas dis- ponibles sobre un autémata de gama media, el FA-25 Junior de Izumi, Estas instruceiones se complemen- tan con otras de computacién, que pue- den ser: INSTRUCCION | DESCRIPCION | LoD lee estado de variable binaria, E/S o intema AND | funcidn légica AND | OR Funcién logica OR our envia resultado senieacia a variable binaria MCS Funcién relé maestro de control [MGR | final de fancidn de relé maestro Sor etectaflanco de subida de una seal TIM define temporizador con retardo a conexién NT define contador incremental de sucesos [SFR define registro desplazamiento sobre n bits END indica final de programa SET fia una variable a estado «i» RST fia una variable @ estado «D> IMP inicio de salto de programa JEND _| final de salto de programa NOT | niega o complements una variable logica "OR LOD | conecta dos blogues de programa en paralclo AND LOD _ | conecta dos bloques de programa en serie © Bésicas: — Operandos predefinidos = Aritmética BCD © Avanzadas: = Operandos cualesquiera — Aritmética de 16 bits — Direccionamiento indirecto, ete, Ejemplos de instrucciones de com- putacién bisica sobre este autémata — ICVTH Conversién BCD a bi- — ICVTD Conversin binario a BCD. —JADC Suma del registro DRO (acumulador) con un operando — ISBB Substraccién al registro DRO de un operando — ICMP Comparacién del registro DRO con un operando — JOLD Transferencia de operando 2 DRO — JOST Transferencia de DRO a un operando = JINC Incrementar operando, etc. Y en computacién avanzada = TADD3 Suma de cuatro digitos centre operandos cualesquiers — WCMP Comparacién de un ope- rando con un intervalo — PDCMD Salida de datos ASC impresora — WI2IM Transferencia del operan- do (dato), cuya direccién (origen) esti contenida en un registro al operando cuya direecién (destino) esté contenida en otro registro, etc 10.6. DIAGRAMAS DE CONTACTOS El enguaje de contactos expresa las relaciones entre sefiales binarias como tuna sucesién de contactos en serie yen paralelo, segtin las equivalencias que se muestran en la tabla 1056, ‘Adoptado por muchos fabricantes de autématas (norteamericanos y japone- ses, principalmente) como lenguaje ‘base de programacién, el diagrama de contactos («Ladder Diagram») puede ser introducido directamente en la uni- dad de programacién mediante un edi- AUTOMATAS. PROGRAMABLES tor de simbolos grificos. Normaimente este editor incluye restricciones en ‘cuanto al mimero de contactos 0 bo- bbinas a representar en cada linea, la tubieacién de los mismos, 1a forma de las conexiones, ete. ‘Siendo los contactos de relés com- ponentes de dos estados, asignados a los valores I6gicos: 0: contacto abierto 1: contacto cerrado las equivalencias de a tabla 10.6 per- miten definir sobre ellos un algebra de Boole, denominada usualmente dlge~ ‘bra de contactos, Esto significa que cualquier funcién logica puede ser transcrita directa e in- ‘mediatamente a diagrama de contactos y viceversa, transcripciones de utilidad cuando se trata de visualizar grifica- ‘mente un programa escrito en lenguaje bbooleano, ‘Sin embargo, el diagrama de con- tactos, de origen norteamericano, no nnacié como una posible herramienta de visualizacién de programas ya escritos cn lista de instrucciones, sino como transcripeién directa de los esquemas eléctricos de relés (circuitos de mando) de uso comin en la automatizacién previa a la aparicién de los sistemas programables. Por esta razén, los diagramas de con- tactos incluyen desde sus origenes blo- ques funcionales que ya aparecian como elementos propios en aquellos esquemas, los temporizadores y los contadores. Tabla 106. Eguivatencis instuciones contacts. Utilizando estos bloques, sobre los cuales pueden definirse la base de tiempos y el tiempo final en el caso de temporizadores y el médulo de contaje ¥ condiciones de paro y reset en el cas0 de contadores, el lenguaje de contactos permite programar directamenie cual Quier esquema eléctrico de relés ‘Sin embargo, y al igual que ocuria en los lenguajes booleanos, también en éste se desarrollan bloques funcionales complejos que permiten 1a manipul cidn de datos y las operaciones con va- riables digitales de varios bits. La presencia de estos bloques, de ejecucién dependiente de una o mis condiciones binarias, multiplica la po- tencia de programacién sin dejar de mantener las ventajas de ia represen- tacién grifica del programa. Asi, pue- den programarse situaciones de’aulo- matizacion compleja que involucren variables digitales, registros, trancferen cias, comparaciones, sefiales analby cas, ete, Por supuesto, y al igual que ocure con las extensiones al lenguaje booles- rno, no todos los autématas, aun del mismo fabricante, pueden manejar to ddas las posibilidades de programacién ccon contactos: sélo las gamas mis alas acceden a la totalidad de extensions del lenguaje, quedando las restante i mitadas al empleo de partes mas 0 me- ‘os significativas de él En Ia figura 10.12 aparecen slgunos elementos grificos utilizados en ut cierto lenguaje de contactos, el Sysmic Serie C de OMRON, clasificados en: Operacién FUNCION LOGICA producto Teco INSTRUCCIONES a BOOLEANAS ESQUEMAS DE RELES ania (IN 73.16) DIAGRAMAS DE ‘CONTACTOS, (SEMADIN 19239) | EAE ‘Operacion — Operacién —_Asignaciia oat niegacién de valor on Not our

You might also like