Вы находитесь на странице: 1из 54

UNIDAD III

3.1 FORMAS DE REPRESENTAR AUTOMATISMO


INTRODUCCIN
Hasta el momento, se ha descrito al autmata como una mquina formada por
elementos de hardware capaces de comunicarse fsicamente con el proceso para:
-Recoger el conjunto de variables (digitales y analgicas) que definen el estado del
mismo (seales de entrada).
-Enviar otro conjunto de variables que modifiquen

dicho estado en un sentido

predeterminado (seales de salida).


Adems, por su atributo de programable, el autmata necesita para su completa
adaptacin al proceso de un operador humano que defina como se quiere la evolucin
del mismo. Este operador intercambia entonces informacin con el hardware de
autmata para:
-Fijar, mediante una secuencia de ordenes, la ley general de mando, de la que se
obtiene las variables de salida o de control.
-Intervenir, continuamente o no, sobre el proceso para modificar la evolucin o,
simplemente, para leer su estado.
El primero de los puntos, establecimiento de la secuencia de rdenes, se
denomina programacin del autmata y a la secuencia establecida, programa leer su
estado.
El primero de los puntos, establecimiento de la secuencia de rdenes, se denomina
programacin del autmata y a la secuencia establecida, programa de la aplicacin.
Al segundo punto, intervencin del operador sobre el proceso, se le conoce
comnmente como explotacin de la aplicacin, y durante ella se permiten modificar
algunos parmetros (tiempo, consignas, mdulos de cuenta, etc.). Pero no modifica el
programa.

La estructura de intercambios mltiples proceso-autmata-usuario esta


sintetizada en la figura 3.1 Como se observa, las intervenciones sobre la planta se
efectan a travs del autmata, aunque, en algunos casos (por ejemplo, paradas rpidas
por motivos de seguridad), el usuario puede actuar directamente sobre el proceso.

Figura 3.1 Intercambios de informacin en un sistema de autmata


De los intercambios mostrados en la figura, el primero de ellos, de
informaciones fsicas entre autmata y proceso, est resuelto mediante el empleo de las
interfaces E/S descritas en anteriores captulos, mientras que el segundo, la
comunicacin con el operador para programacin/explotacin, necesita de un soporte
software que haga el papel de interprete entre el sistema real y los deseos del usuario.
As, puede definirse este software como el conjunto de programas destinados
a permitir o facilitar la utilizacin del hardware para la produccin y explotacin de
las aplicaciones.
Segn esta definicin, podemos clasificar estas herramientas de software en dos
grandes grupos:

-Sistemas operativos, residentes en el propio autmata, que se encargan de establecer


las secuencias de intercambios de informacin, interpretar y ejecutar las rdenes de
usuario, y vigilar por el correcto funcionamiento del equipo.

-Software de edicin/depuracin de programas, que permiten al usuario la


introduccin del programa sobre un soporte fsico (cinta, disco, memoria de
semiconductor), la modificacin del mismo en la puesta a punto, la obtencin de la
documentacin pertinente, y la creacin de copias de seguridad.
Este software de edicin/depuracin est instalado (es residente) o es instalable
sobre una terminal especial, la unidad de programacin, de funcionamiento autnomo o
supeditado al del autmata.
La unidad tiene como funciones principales:
-Soportar la edicin y depuracin del programa.
-Proporcionar la interfaz fsica entre el usuario y el autmata, para trasferencias de
programas y supervisin y control del proceso.
Los intercambios de informacin entre los elementos que aparecen en la figura
3.1 necesitan, en todos los casos, de una codificacin del mensaje que sea comprensible
a las partes que intervienen .
Esta compatibilidad, que el autmata lograba en el lado de planta mediante
interfaces adecuadas a las seales emitidas o recibidas, se consigue en el lado de usuario
mediante el empleo de los lenguajes de programacin y explotacin preestablecidos por
el fabricante.
Se define, pues, lenguaje de programacin como el conjunto de smbolos y
textos inteligibles por la unidad de programacin

que le sirven al usuario para

codificar sobre un cierto autmata las leyes de control deseadas, mientras

que

lenguaje de explotacin ser el conjunto de rdenes y comandos que el usuario puede


enviar, desde la misma unidad o desde una terminal adecuada, para recoger estados o
modificar variables del proceso.
Como se observa en la definicin, el lenguaje de programacin se definen entre
el usuario y la unidad de programacin: la compatibilidad entre esta y el autmata est
asegurado por el fabricante del mismo, que lo es tambin de la unidad, o del software
que se

instala sobre ella si es una mquina de aplicacin general, como un PC

compatible.

En definitiva, el usuario introduce su ley de mando en la unidad de


programacin mediante un programa

(secuencia de rdenes) codificado segn un

lenguaje (conjunto de smbolos) inteligibles para ambos.


La unidad de programacin compila o convierte el programa a los cdigos
binarios que realmente entiende el autmata y los transfiere y deposita en la memoria
del mismo.
Estos cdigos binarios son despus interpretados por el sistema operativo
residente (firmware) para movilizar los recursos fsicos (procesador, interfaces E/S, etc)
necesarios en la ejecucin del programa. La figura 3.2 muestra un resumen de los
sistemas y recursos involucrados en las transferencias de informacin que rodea al
autmata.
Como se observa, el programa se obtiene desde un modelo del sistema,
representacin simblica del mismo que permite la aplicacin de herramientas
matemticas o grficas de anlisis y sntesis, para reducir el trabajo de diseo y asegurar
la bondad del control obtenido.
La trascripcin del proceso y sus especificaciones a un modelo, que en sistemas
pequeos puede y suele- obviarse (se obtiene el programa escribiendo directamente en
el lenguaje de programacin), es imprescindible en sistemas complejos, donde las
relaciones entre variables son muy difciles de establecer nicamente con las
descripciones literales del funcionamiento.

Figura 3.2 Interrelacin hardware/software en el autmata


La programacin del autmata pasa, pues, por los siguientes pasos:
1. Determinar que debe hacer el sistema de control y en que orden (por ejemplo,
mediante un diagrama de flujo, una descripcin literal o un grafo GRAFCET).
2. Identificar los componentes (seales) de entrada y salida al autmata.
3. Representar mediante un modelo el sistema de control, indicando todas las
funciones que intervienen, las relaciones entre ellas, y la secuencia que deben
seguir.
Esta representacin puede ser:
-Algebraica: instrucciones literales.
-Grfica: smbolos grficos.
4. Asignar direcciones de entrada/salida o internas a cada uno de los componentes
que aparecen en el modelo.
5. Codificar la representacin anterior en instrucciones o smbolos inteligibles por
la unidad de programacin.

6. Transferir las instrucciones obtenidas a la memoria del autmata desde la unidad


de programacin.
7. Depurar el programa y obtener una copia de seguridad.
Los siguientes apartados desarrollan en extensin cada uno de los puntos de esta
secuencia.

3.2 EJECUCIN DE PROGRAMAS


3.2.1 CICLO BSICO DE EJECUCIN
El ciclo bsico de trabajo en la elaboracin del programa por parte de la CPU es
el siguiente: Antes de iniciar el ciclo de ejecucin, el procesador, a travs del bus de
datos, consulta el estado 0 o 1 de la seal de cada una de las entradas y las almacena en
los registros de la memoria de entradas, esto es, en la zona de entradas de la memoria de
la tabla de datos.
Esta situacin se mantiene durante todo el ciclo del programa. A continuacin, el
procesador accede y elabora las sucesivas instrucciones del programa, realizando las
concatenaciones correspondientes de los operandos de estas instrucciones.
Seguidamente asigna el estado de seal a los registros de las salidas de acuerdo a
la concatenacin anterior, indicando si dicha salida ha o no de activarse, situndola en
la zona de salida de la tabla de datos.
Al final del ciclo, una vez concluida la elaboracin del programa, asigna los
estados de las seales de entrada a los terminales de entrada y los de salida a las salidas,
ejecutando el estado 0 o 1 en estas ltimas. Esta asignacin se mantiene hasta el final
del siguiente ciclo, en el que se actualizan las mismas.

Dada la velocidad con que se realiza cada ciclo, del orden de 5 a 10 ms/1 K
instrucciones, se puede decir que las salidas se ejecutan en funcin de las variables de
entrada prcticamente en tiempo real.

Figura 3.3 Ciclo bsico de trabajo de un PLC

Figura 3.4 Estructura de las instrucciones u rdenes de manejo y programacin de un


Autmata Programable.
Cuando el Autmata se sita en ciclo de ejecucin o ejecucin cclica. La CPU
realiza, entre otras funciones, el barrido del programa contenido. En la memoria de
usuario, desde la casilla, direccin o lnea 0000 hasta la ltima posible, segn la
capacidad de la misma, esto es, efecta lo que se denomina ciclo de Scanning.

En funcin de cmo se efecta la ejecucin o barrido del programa, se


distinguen los siguientes sistemas, modos o estructuras de programacin:

Ejecucin cclica lineal.

Ejecucin con salto condicional.

Ejecucin con salto a subrutinas.

Ejecucin con programas paralelos.

El principio de ejecucin de cada uno de los sistemas indicados se describe a


continuacin.

3.2.2 EJECUCIN LINEAL

Cuando el ciclo de barrido de la memoria de usuario se realiza lnea tras lnea sin
solucin de continuidad, se dice que la programacin es lineal, y la CPU consulta las
instrucciones contenidas en la memoria secuencialmente, una a continuacin de la otra,
sin alterar este orden, tal y como se aprecia en la Figura 3.5

Figura 3.5 Ejecucin cclica lineal del programa de usuario en un Autmata


Programable

3.2.3 SALTO CONDICIONAL


Cuando el ciclo de ejecucin de un programa tiene la posibilidad, previa
condicin establecida, de alterar la secuencia lnea a lnea del mismo y dar un salto a
otras lneas de programa, dejando x lneas sin ejecutar, se dice que se ha realizado un
salto condicional.

Su funcionamiento es el siguiente:
Si al llegar en el proceso de ejecucin del programa a la instruccin U, tal y
como queda descrito en la Figura 3.6, se cumple la condicin en ella indicada, se salta a
V continuando el barrido en V+1 hasta n. Si por el contrario al llegar a U no se cumple
la condicin, el programa se ejecuta linealmente continuando en U+1.
Esta posibilidad que poseen muchos Autmatas permite reducir el tiempo de
ejecucin del ciclo y es apreciable en aquellos casos en que las instrucciones contenidas
en el salto solo son necesarias cuando se dan ciertas condiciones impuestas por el
programa.

Figura 3.6 Salto condicional en la ejecucin cclica lineal del programa de usuario en un
Autmata Programable

3.2.4 SALTO A SUBRUTINA

En algunas ocasiones ocurre que en un programa hay uno o ms grupos de

secuencias de instrucciones idnticas que se repiten y que habr que reescribir tantas
veces como estas se repitan en dicho programa principal. En estos casos, es muy til
escribir una sola vez esta secuencia o subrutina. E ir a ella cuando se requiera. Los
autmatas de la gama baja no suelen incorporar esta posibilidad. En la Figura 3.7 se
puede observar grficamente este tipo de salto. La posibilidad de distintos tipos de
subrutinas y de distintos niveles de las mismas tambin quedan reflejados en la citada
figura.

Figura 3.7 Salto a subrutina en la ejecucin cclica del programa de usuario en un


Autmata Programable

3.2.5 PROGRAMAS PARALELOS


En este sistema, utilizado por algunos fabricantes y denominado de programas
paralelos, el procesamiento se realiza paralelamente y de forma asncrona. En aquellos
casos en que con un nico Autmata se quieren controlar varios procesos totalmente
independientes, este sistema es muy til, aunque tambin se utiliza controlando
funciones de un proceso nico. En este tipo de ejecucin es posible el uso de subrutinas
en cada programa paralelo.
La ejecucin de este tipo de programas se realiza de la siguiente forma:
Cada uno de los tramos en lnea gruesa de la Figura 3.8 contiene solo algunas
lneas de programa, de tal forma que la secuencia consiste en el procesamiento de, por
ejemplo, diez lneas del programa M0, o lo que es lo mismo, una pequea parte de un
programa; a continuacin el barrido salta al programa M1 para proceso, etc. Cuando ha
barrido todos los programas paralelos, incluso las subrutinas, si se encuentran adscritas
a esas lneas, vuelve al programa M0 para repetir el ciclo en el siguiente grupo de diez
lneas.
Para que la secuencia deseada en el barrido de programas se realice, ha de
indicarse mediante la elaboracin de un programa de asignacin, tal y como se indica en
la Figura 3.8 Los autmatas de la gama baja no suelen incorporar esta posibilidad.

Figura 3.8 Ejecucin de programas paralelos de usuario en un Autmata Programable

3.2.6 SISTEMAS O LENGUAJES DE PROGRAMACIN


Varios son los lenguajes o sistemas de programacin posibles en los Autmatas
Programables, aunque su utilizacin no se puede dar en todos los Autmatas; es por
esto que cada fabricante indica en las caractersticas generales de su equipo el
lenguaje o los lenguajes con los que puede operar. En general, se podra decir que
los lenguajes de programacin ms usuales son aquellos que transfieren
directamente el esquema de contactos y las ecuaciones lgicas o los logigramas,
pero estos no son los nicos.
A continuacin se muestra una relacin de los lenguajes y mtodos grficos ms
utilizados:
Nemnico, tambin conocido como lista de instrucciones, boolena, abreviaturas
nemotecnicas, AWL.

Diagrama de contactos (Ladder diagram), plano de contactos, esquema de


contactos, KOP.
Plano de funciones, o bloques funcionales, logigramas, FUP.
Grafcet, o diagrama funcional, diagrama de etapas o fases.
Organigrama, u ordinograma, diagrama de flujo.
Excepto el nemnico, los dems tienen como base su representacin grfica, pero
todos ellos deben ir acompaados del correspondiente cuadro o lista de programacin,
esto es, la relacin de lneas de programa que configuran el mismo.
Para mejor entender estos lenguajes, a continuacin se realiza una explicacin de
ellos.
En el caso de los tres primeros, por otra parte los ms utilizados, se ha puesto un
ejemplo.

3.3 DESCRIPCIONES LITERALES


La descripcin del proceso y su control puede hacerse con la enumeracin literal
de las acciones a desarrollar por el mismo, expuestas secuencialmente y con indicacin
de las condiciones de habilitacin o validacin en cada caso.
La ventaja de estas descripciones, que es a la vez su principal inconveniente, es la
ausencia de rigor en la exposicin: cualquier persona, a un poco calificada desde el
punto de vista de la automtica, es capaz de explicar lo que debe hacer un proceso que
conozca. Esta descripcin, si bien posiblemente estar libre de errores, adolecer casi
con seguridad de falta de especificaciones en los procesos, en las variables o en las
relaciones entre ellos.
La figura 3.9 muestra un ejemplo de descripcin literal de un proceso de
mecanizado, donde se hacen patentes las limitaciones descritas.
En efecto, observando la figura y la descripcin podran plantearse algunas preguntas:

1. Que ocurre si la presin detectada por el manmetro no es la prescrita?


2. Cuando debe empezar a girar el taladro, antes, durante o despus de la bajada de la
cabeza?
3. Cuando debe detenerse el taladro, al llegar a tope, durante la subida o despus de
haber subido el cabezal?
4. Como se afloja la pieza, por retroceso del cilindro A, por extraccin manual, o por
movimiento del soporte?

Figura 3.9 Descripcin literal de un proceso

Parece que con una descripcin como la dada, que en principio resultaba
suficientemente clara, el diseador necesita de una serie de preguntas adicionales antes
de empezar a trabajar en el control.
La conclusin que se obtiene es que la descripcin literal o se hace exhaustiva,
con lo cual es de difcil comprensin en su conjunto, o no es totalmente unvoca con el
proceso que se quiere controlar.
Afortunadamente existen otras formas de representacin, de sintaxis ms definida,
que permiten descripciones ms concisas y claras de la tarea de control.

3.4 FUNCIONES ALGEBRAICAS


La funcin

algebraica de cada salida o funcin de mando puede obtenerse

directamente a partir de las especificaciones del cliente, con las limitaciones discutidas
en el apartado anterior, o bien derivarse de ellas aplicando mtodos de sntesis basados
en el algebra de Boole, ente matemtico que regula las relaciones entre seales binarias
todo-nada.
Esta representacin puede ser tan compleja como sea necesario, siempre y cuando se
respeten las reglas del algebra. Por ejemplo, la alarma S debe activarse cuando el
contacto C este cerrado, y los contactos A y B en estados opuestos, segn convenio:
-Abierto: 0
-Cerrado: 1
La funcin booleana ser:
S= (A B+AB) C
Aunque la representacin booleana est restringida a las variables que adoptan
nicamente dos estado (por convenio, 0 y 1), puede mejorarse definiendo otras
operaciones (aritmticas, comparacin) que permitan las relaciones entre variables
digitales de varios bits: el modelo dejara de ser booleano, aunque continua siendo
algebraico.
Pese a que cualquier sistema, combinacional o secuencial, puede ser
representado por un modelo algebraico de funciones, la particular complejidad que
presenta en ellos el anlisis y sntesis de sistemas secuenciales limita en la practica el
empleo de ecuaciones a la representacin de combinaciones entre variables, de resultado
independiente al instante de tiempo considerado (por ejemplo, condiciones de alarma,
operaciones aritmticas con variables analgicas, etc.).

3.5 ESQUEMAS DE RELS


El esquema de rels es la representacin grfica de la tarea de automatizacin
mediante smbolos de contactos abierto-cerrado.
La funcin de control obtenida depender de las conexiones entre los distintos
contactos de los rels que intervienen (figura 3.10).

Figura 3.10 Esquema elctrico de rels.


Este modelo grfico, de origen en las tecnologas electromecnicas de ejecucin
de sistemas de mando, presenta deficiencias en cuanto a la representacin de funciones
secuenciales complejas, como son los secuenciadores, registros de memoria, etc., y
sobre todo, en la manipulacin de seales digitales de varios bits (por ejemplo,
obtenidas de una conversin A/D).
Sin embargo, siendo muy familiar a los electricistas, se utilizan frecuentemente
para la representacin de sistemas sencillos, en los que no intervienen mas que seales
lgicas binarias todo-nada, o algunos bloques secuenciales predefinidos, como
temporizadores y contadores.

3.6 DIAGRAMAS LGICOS

La representacin del sistemas de control por diagramas lgicos se basa en el


empleo de smbolos normalizados (puertas) que representan funciones lgicas directas
del algebra de Boole (AND, OR, etc), o sistemas lgicos ms complejos (biestables,
registros, contadores, etc).
La figura 3.11 muestra el modelo de diagrama lgico del sistema de alarma
descrito en el ejemplo anterior.
El conjunto de todos los smbolos con sus interrelaciones forman el logigrama
del sistema de control, representacin compacta e independiente de la tecnologa de
construccin del mismo (elctrica, neumtica, etc.).
Desgraciadamente, el logigrama es una herramienta caracterstica del tcnico de
software o del ingeniero de diseo, muy alejada de muchos de los usuarios finales del
autmata, por lo que su empleo queda en la prctica, casi circunscrito a la
representacin del sistema en alto nivel, a efectos de especificaciones y documentacin.

3.6.1 ORDINOGRAMAS
Los tres modelos descritos, algebraico, de rels y de puertas lgicas, permiten,
con mayor o menor claridad, tanto la representacin de sistemas combinacionales como
secuenciales, como lo son, de hecho, la mayor parte de los sistemas industriales
(secuencias de actividades o combinaciones de operaciones consecutivas en el tiempo).

Sin embargo, esta evolucin temporal no es de apreciacin inmediata sobre


aquellos, lo que obliga a utilizar algn modelo, preferiblemente grfico, que refleje las
secuencias de evolucin y toma de decisiones del proceso.

Un primer intento de representacin, de cierta utilidad en fases previas del


diseo, puede ser el diagrama de flujo u ordinograma del proceso.

Figura 3.11 Representacin por diagrama lgico.


Extensamente utilizado por los diseadores de software para ordenador, el
modelo emplea una simbologa de bloques, convenientemente entrelazados, que
representan la evolucin temporal o condicional de las acciones a ejecutar.
En la figura 3.12 aparece un ejemplo de representacin por diagrama de flujo, en
el que se pone de manifiesto la nobleza del modelo.

Figura 3.12 Ordinograma de un posicionamiento hidrulico manual

Ciertamente claro para describir el funcionamiento general, puede no serlo tanto


cuando se intenten representar las variables y seales que intervienen y las relaciones
entre ellas, a no ser que el modelo se complete con expresiones algebraicas. Esta
solucin, sin embargo, afecta entonces a la claridad de la representacin grfica inicial.

3.7 REPRESENTACION GRAFCET


Una evolucin del diagrama de flujos, que combina las ventajas de la
representacin secuencial grafica con la integracin de los modelos preexistentes, es la
representacin por diagramas GRAFCET.
Ahora normalizado segn norma internacional EIC 848 (Comisin Internacional
Electrotcnica), el GRAFCET se reconoce como el modelo mejor adaptado a la parte
secuencial de los automatismos.

Para ello, el GRAFCET representa directamente la sucesin de las etapas


dentro de un ciclo de produccin, separadas por transiciones o condiciones de salto
entre unas y otras (figura 3.13)
El ciclo se desarrolla etapa por etapa desde la que se define como etapa inicial
que se activa al comienzo del funcionamiento. Mientras una etapa esta activa, el control:
-Ejecuta la funcin de mando correspondiente a la etapa.
-Consulta las condiciones de transicin para el salto a la siguiente.
Tanto la ejecucin de la funcin de mando como la consulta de las condiciones
de transicin pueden representarse por cualquiera de los modelos anteriores, resultando
una representacin final del automatismo en la que la secuencia grfica muestra la
evolucin temporal, las etapas y transiciones de las condiciones combinatorias de
ejecucin.

Figura 3.13 Estructura general de una representacin GRAFCET.

Figura 3.14 Combinacin de estructuras GRAFCET con diagramas de contactos.


En la prctica es muy frecuente el empleo de esquemas de rels para representar
etapas y transiciones, resultando un modelo totalmente grfico del sistema de control
(figura 3.14)
Como se vio anteriormente en temas pasados, la posibilidad de programacin directa
en GRAFECT de algunos

autmatas de gama alta, permite el empleo de esta

herramienta en todas las fases del diseo:


-Especificaciones funcionales, o GRAFCET del pliego de condiciones.
-Especificaciones tecnolgicas o GRAFCET de movimientos.
-Programacin del autmata o GRAFCET de mando, que resulta til tambin en la fase
de explotacin.

La figura 3.15 muestra un ejemplo de aplicacin en estas tres distintas fases, a


partir de las especificaciones literales del comportamiento de un automatismo.

Esta estandarizacin del modelo, una de sus principales ventajas, facilita el flujo
de informacin entre todos los niveles de la empresa, desde la oficina tcnica hasta los
equipos de mantenimiento.

Figura 3.15 El GRAFCET en diferentes fases de la automatizacin.

3.8 LENGUAJES DE PROGRAMACIN


Se ha descrito ya el programa como el conjunto de instrucciones, rdenes y
smbolos reconocibles por el autmata a travs de su unidad de programacin, que le
permiten ejecutar la secuencia de control deseada.
Al conjunto total de estas instrucciones, rdenes y smbolos que estn disponibles
para escribir un programa se le denomina lenguaje de programacin del autmata.

Sera deseable que la misma simbologa utilizada para representar el sistema de


control pudiera emplearse para programar el autmata: el ahorro de tiempo y
documentacin y la seguridad en el programa obtenido serian considerables.
Sin embargo, esta solucin no es siempre posible: el lenguaje depende del
autmata empleado y de su fabricante, que decide el tipo de unidad de programacin
(literal, grfica) y el interprete (firmware) que utiliza su mquina, mientras que el
modelo de representacin depende del usuario, que lo elige segn sus necesidades o
conocimientos.
Pese a ello, los lenguajes de programacin de autmatas intentan ser lo ms parecido
posibles a los modelos de representacin usuales, a fin de facilitar la transcripcin entre
ambos. As los lenguajes pueden ser:

ALGEBRAICOS

Lenguajes bolanos.
Lista de instrucciones.
Lenguajes de alto nivel.

GRFICOS

Diagrama de contactos.
Diagrama de funciones/bloques.
Interprete GRAFCET.

Figura 3. 16

Direccionamiento E/S con interfaces digitales

Si la representacin elegida para el sistema de control es comprensible por la


unidad de programacin, no ser necesario realizar ninguna codificacin, al aceptar sta
los smbolos utilizados. En caso contrario, habr que traducirla a un programa, segn
uno de los anteriores lenguajes.
El programa obtenido est formado por un conjunto de instrucciones, sentencias,
bloques funcionales y grafismos que indican las operaciones a realizar
sucesivamente por el PLC.
La instruccin representa la tarea ms elemental de un programa: leer una
entrada, realizar una operacin AND, activar un salida, etc.

La sentencia representa el mnimo conjunto de instrucciones que definen una


tarea completa: encontrar el valor de una funcin lgica, combinacin de varias
variables, consultar un conjunto de condiciones y, si son ciertas, activar un
temporizador.
El bloque funcional es el conjunto de instrucciones o sentencias que realizan una
tarea o funcin compleja: contadores, registros de desplazamiento, trasferencias de
informacin, etc.
Tabla 3.1 Ejemplo de asignacin de direcciones.

Todos estos elementos estn relacionados entre si mediante los smbolos o


grafismos (algebraicos o grficos) definidos en el lenguaje empleado.
Cualquiera que sea este, las instrucciones del programa tienen la siguiente estructura:
Campo de operacin

Operando (s)

Campo de operacin

(Qu hay que hacer?)

Tipo de operacin:

Leer una entrada,

Formar una combinacin OR,

Asignar un resultado, etc.

Campo de operando

(Con que hay que hacerlo?)

Variable que interviene:

Entrada numero 5,

Rel interno numero 400

Palabra digital WR0, etc.


En ocasiones, el campo de operando no contiene el nmero de variable, sino la

direccin de un registro (normalmente, una palabra de cuatro dgitos) donde esta


contenida la direccin de la variable (direccionamiento indirecto).

Figura 3.17 Estructura de una instruccin


La figura 3.17 muestra la estructura de una instruccin tpica en diferentes
lenguajes de programacin.
En general, las instrucciones pueden ser de distintos tipos: lgicas, aritmticas,
de transferencia, etc., que adoptan diferentes formas de representacin segn el lenguaje
empleado.
En algunos autmatas, el programa necesita para su correcta ejecucin de una
tabla de parmetros, introducida tambin desde la unidad de programacin, que define
el entorno de funcionamiento de la mquina:
-Uso o no de entradas de reset o stop,
-Capacidad de la memoria de usuario empleada,
-Conexin o no en red local.
-Variables internas a mantener contra prdidas de tensin, etc.
La tabla de parmetros es especfica para cada programa y es grabada con el mismo
cuando se transfiere al autmata.

3.8.1 LENGUAJES BOOLEANOS Y LISTA DE INSTRUCCIONES

El lenguaje booleano est constituido por un conjunto de instrucciones que son


transcripcin literal de las funciones del lgebra de Boole, a saber:
-OR funcin suma lgica.
-AND funcin producto lgico.
-NOT funcin negacin.
Complementadas con instrucciones de inicio de sentencia y asignacin de resultados:

-LOD leer variable inicial.


-OUT enviar resultado a salida.
y de operaciones de bloques (parntesis):
-OR LOD coloca bloque en paralelo.
-AND LOD coloca bloque en serie.

En operacin normal, el autmata necesita algunas otras instrucciones como


ampliacin del lenguaje booleano, que le permitan manejar elementos de uso comn en
automatizacin. Son estas las instrucciones secuenciales predefinidas:

-TIM definir un temporizador


-CNT definir un contador
-SET activar una variable binaria (unidad de memoria)
-RST desactivar una variable binaria.

Adems, la mayor parte de autmatas incluyen extensiones al lenguaje booleano


bsico descrito, que permiten la manipulacin de datos y variables digitales y la gestin
del programa.
Estas extensiones, que se tratan ms adelante como bloques funcionales, pueden
clasificarse en:

Instrucciones aritmticas
-ADD sumar.
-SBB restar.
-MUL multiplicar.
-DIV dividir.
Instrucciones de manipulacin de datos:
-CMP comparar variables digitales.
-SFR rotaciones de bits (variables binarias).
-SHIFT rotaciones de palabras (variables digitales).
-MOV transferencias de datos.
-BCD/BIN conversiones de cdigos numricos, etc.
Instrucciones de gestin de programa:
-END fin de programa.
-JMP salto de bloque de programa.
-MCS habilitacin de bloque de programa.
-JMPSUB salto a subrutina, etc.
Las instrucciones aritmticas y de manipulacin de datos admiten mltiples
variaciones:
-Aritmtica binaria o BCD.
-Instrucciones lgicas sobre palabras (8 o 16 bits).
-Transferencias entre bloques de palabras.
-Codificacin a salida en 7 segmentos.
-Instrucciones de direccionamiento indirecto.
-Instrucciones trigonomtricas, etc.

Al lenguaje resultante, que no puede llamarse ya booleano despus de ampliarlo


con estas extensiones, se le denomina de lista de instrucciones (Instruction List).
Algunos fabricantes amplan las capacidades de programacin de sus autmatas
de gama baja con estas instrucciones avanzadas, que seran de ms lgica aplicacin en
autmatas de prestaciones superiores.
El tiempo de ejecucin resultante (tiempo de scan) sobre CPU bsicas
desaconseja su empleo en la mayora de ocasiones. Sin embargo, disponible ya el
firmware capaz de interpretarlas, desarrollado para otros autmatas de la familia, cuesta
bien poco introducirlo en las versiones bsicas aunque no sea ms que por motivos
comerciales de competencia.
La tabla 3.2 siguiente muestra un listado de las instrucciones bsicas disponibles
sobre un autmata de gama media, el FA-2J junior de Izumi.

Tabla 3.2 Instrucciones bsicas del autmata Izumi FA-2J.


INSTRUCCIN
LOD
AND
OR
OUT
MCS
SOT
TIM
CNT
SFR
END
SET
RST
JMP
JEND
NOT
OR LOD
AND LOD

DESCRIPCION
Lee estado de variable binaria, E/S o interna
Funcin lgica AND
Funcin lgica OR
Envia resultado sentencia a variable binaria
Funcin rel maestro de control
Detecta flanco de subida de una seal
Define temporizador con retardo a conexin
Define contador incremental de sucesos
Define registro desplazamiento sobre n bits
Indica final de programa
Fija una variable a estado <<1>>
Fija una variable a estado<<0>>
Inicio de salto de programa
Final de salto de programa
Niega o complementa una variable lgica
Conecta dos bloques de programa en paralelo
Conecta dos bloques de programa en serie.

Estas instrucciones se complementan con otras de computacin, que pueden ser:

Basicas:
-Operandos predefinidos
-Aritmtica BCD
Avanzadas:
-Operandos cualesquiera
Aritmtica de 16 bits
-Direccionamiento indirecto.
Ejemplos de instrucciones de computacin bsica sobre este automata son:
-JCVTH Conversin BCD a binario.
-JCVTD Conversin binario a BCD
-JADC Suma del registro DR0 (acumulador) con un operando
-JSBB Substraccin al registro DR0
-JCMP Comparacin del registro DR0 con un operando
-JOLD Transferencia de operando a DR0
-JOST Transferencia de DR0 a un operando
-JINC Incrementar operando, etc.
Y en computacin avanzada:
-TADD3 Suma de cuatro dgitos entre operandos cualesquiera
-WCMP Comparacin de un operando con un intervalo
-PDCMD Salida de datos ASCII a impresora
-W121M Trasferencia del operando (dato), cuya direccin (origen) esta contenida en un
registro al operando cuya direccin (destino) esta contenida en otro registro, etc.

3.8.2 DIAGRAMAS DE CONTACTOS

El lenguaje de contactos expresa las relaciones ente seales binarias como una
sucesin de contactos en serie y en paralelo, segn las equivalencias que se muestran en
la tabla 3.3
Tabla 3.3 Equivalencias instrucciones-contactos

Adoptando por muchos fabricantes de autmatas (norteamericanos y japoneses,


principalmente) como lenguaje base de programacin, el diagrama de contactos
(Ladder Diagram) puede ser introducido directamente en la unidad de programacin
mediante un editor de smbolos grficos. Normalmente este editor incluye restricciones
en cuanto al nmero de contactos o bobinas a representar en cada lnea, la ubicacin de
los mismos, la forma de las conexiones, etc.
Siendo los contactos de rels componentes de dos estados, asignados a los valores
lgicos:
0: contacto abierto
1: contacto cerrado
Las equivalencias de la tabla 3.3 permiten definir sobre ellos un lgebra de
Boole, denominada usualmente lgebra de contactos.

Esto significa que cualquier funcin lgica puede ser transcrita directa e
inmediatamente a diagrama de contactos y viceversa, transcripciones de utilidad cuando
se trata de visualizar grficamente un programa escrito en lenguaje booleano.
Sin embargo, el diagrama de contactos, de origen norteamericano, no naci
como una posible herramienta de visualizacin de programas ya escritos en lista de
instrucciones, sino como transcripcin directa de los esquemas elctricos de rels
(circuitos de mando) de uso comn en la automatizacin previa a la aparicin de los
sistemas programables.
Por esta razn, los diagramas de contactos incluyen desde sus orgenes bloques
funcionales que ya aparecan como elementos propios en aquellos esquemas, los
temporizadores y los contadores.
Utilizando estos bloques, sobre los cuales pueden definirse la base de tiempos y
el tiempo final en el caso de temporizadores y el mdulo de contaje y condiciones de
paro y reset en el caso de contadores, el lenguaje de contactos permite programar
directamente cualquier esquema elctrico de rels.
Sin embargo, y al igual que ocurra en los lenguajes booleanos, tambin en este
se desarrollan bloques funcionales complejos que permiten la manipulacin de datos y
las operaciones con variables digitales de varios bits.
La presencia de estos bloques, de ejecucin dependiente de una o ms
condiciones binarias, multiplica la potencia de programacin sin dejar de mantener las
ventajas de la representacin grfica del programa. As, pueden programarse situaciones
de automatizacin compleja que involucren variables digitales, registros, transferencias,
comparaciones, seales analgicas etc.
Por supuesto, y al igual que ocurre con las extensiones al lenguaje booleano, no
todos los autmatas, aun del mismo fabricante, pueden manejar todas las posibilidades
de programacin con contactos: solo las gama ms altas acceden a la totalidad de
extensiones del lenguaje, quedando las restantes limitadas al empleo de partes ms o
menos significativas de l.

En la figura 3.18 aparecen algunos elementos grficos utilizados en un cierto


lenguaje de contactos, el Sysmac Serie C de OMRON, clasificados en:
-Contactos
-Bobinas
-Bloques funcionales
-Bloques operativos.
Los contactos comprueban el estado de las variables asociadas: puntos de
entrada/salida, rels internos o temporizadores y contadores. Pueden ser de dos tipos:
-Contactos de apertura: indican variable normalmente (en reposo) desactivada,
-Contactos de cierre: indican variable normalmente (en reposo) activada.
Las bobinas envan el resultado de la operacin lgica ejecutada a un rel interno
o de salida. Pueden ser de varios tipos:
-Directa: asigna el resultado a una variable binaria.
-Inversa, o negada: asigna el completo del resultado a una variable binaria.
-Puesta a 1: pone a 1 con memoria una salida o rel interno (set).
-De salto: indican un salto en el programa que ignora las sentencias saltadas.
Y algunas otras especiales son las siguientes:

-Fin programa: indica el final de sentencias a ejecutar,


-De diagnstico: almacena el nmero n de error definido y provoca (FALS) o no
(FAL) la parada del automata.
-Paso a paso: permiten la ejecucin de programas subdivididos en pasos o etapas,
-De flanco: activan una variable durante un scan (a en el ejemplo de la fig. 10.12),
en el flanco de subida del valor de la sentencia (DIFU) o en el de bajada (DIFUN).
Los bloques funcionales realizan funciones secuenciales tpicas de automatismos:

-Temporizadores: retardos a la conexin medidos en dcimas de segundo.


-Contadores: de tipo decreciente o reversible.
-Registros de desplazamiento: rotaciones de bits entre los canales inicial y final.
Las preselecciones de temporizadores y contadores pueden ser constantes del
programa o valores BCD (4 dgitos) ledos en un canal de entradas (datos exteriores).
Los bloques operativos permiten realizar tratamientos numricos sobre variables
digitales (palabras):
-Operaciones aritmtico/lgicas.
-Comparaciones.
-Conversiones de cdigo.
-Transferencias, etc.
Ejemplos de bloques operativos pueden ser:
-WSFT: desplazamientos entre canales inicial y final.
-CMP: comparaciones entre variables o constantes de 4 dgitos. El resultado de la
comparacin (igual, mayor o menor) est asociado a un rel interno especial.
-BCD: conversin de datos binarios de 16 bits en 4 dgitos BCD.
-SBS: llamada a una subrutina del programa.
-MESSAGE: lectura de los datos ASCII contenidos sobre 8 canales (2 caracteres, 16
bits por canal), y visualizacin sobre la unidad de programacin o consola de
explotacin.

Figura 3.18

Lenguaje de contactos de OMRON Sysmac Serie C

La figura 3.19 muestra un ejemplo de programacin con diagrama de contactos a


partir de un esquema elctrico de arrancador estrella-trangulo (obsrvese la
representacin del contacto de paro, cerrado en reposo). Para mostrar la potencia de los

lenguajes extendidos, se aade una condicin de alarma de valor mnimo de velocidad


en el eje, medida con un tacmetro (5000 r.p.m., 10 Vcc, 10 bits) conectada en el canal
3, con visualizacin de un mensaje de error sobre la consola conectada al autmata.

Figura 3.19 Ejemplo de programacin con diagrama de contactos.


En muchas ocasiones, sobre todo trabajando con unidades de programacin
basadas en PC, el fabricante del software ya ha previsto que el usuario programe
alternativamente en lista de instrucciones o diagrama de contactos:

Existe una correspondencia directa entre ambas formas de presentacin, y puede


pasarse de una a otra con rdenes sencillas de compilacin/decompilacin del programa.
Por ejemplo, el listado de instrucciones correspondiente al programa anterior sera:
LD

Marcha

LD

KLM

AND

Paro

OR-LD
OUT

KLM

LD

KLM

AND-NOT

KMT

AMD-NOT

TIM2

OUT

KME

LD

KLM

AND-NOT

KME

AND

TIM2

TIM

1
#0005

LD

TIM1

OUT

KMT

LD

KLM

TIM

2
#0100

LD

KLM

CMP (20)

_
003
#0266

LD

KLM

AND

25507

OUT

4000

LD

4000

MSG (46)

_
DM00

END.

Ntese como en el listado anterior falta la asignacin de direcciones a las variables del
programa.

3.8.3 PLANO DE FUNCIONES


El diagrama lgico o plano de funciones es la representacin de las tareas de
automatizacin utilizando los smbolos contenidos en las normas DIN 40700 y DIN
40719, cuya forma general se presenta en la figura 3.20.
Algunos de estos smbolos normalizados, correspondientes a las funciones mas
frecuentes, se dan en la figura 3.21
La programacin por diagramas lgicos, que deriva de la representacin por
logigrama habitual entre los tcnicos en electrnica digital, incluye como bloques
normalizados

Figura 3.20

Smbolo lgico normalizado.

Algunas funciones secuenciales tpicas en automatizacin, como temporizadores


y contadores, e incluso algunos bloques combinacionales y de tratamientos numricos,
como
Multiplexores, demultiplexores, sumadores, multiplicadores, etc., pero no alcanza la
multitud de funciones que han ido aadindose a las listas de instrucciones y diagramas
de contactos, como extensiones a estos lenguajes.
Por esta razn, y en sentido estricto, la programacin por diagramas lgicos
queda reservada a aplicaciones en las que solo intervengan variables booleanas todonada y algunos bloques secuenciales elementales: temporizadores, contadores, registros
de desplazamiento, etc.
Esta circunstancia, unida al desconocimiento del diagrama lgico por parte del
usuario habitual del automata, explica la baja difusin de estos leguajes de
programacin.
La figura 3.22 muestra un ejemplo de programacin con plano de funciones en
diagrama de contactos, segn los lenguajes grficos STEP 5 de SIEMENS.
Dada la inexistencia, antes comentada, de bloques normalizados para todas las
posibles operaciones del autmata, los fabricantes han optado por omitir el uso, en sus
consolas grficas, de los bloques de extensin definidos en el diagrama de contactos,
an trabajando bajo el entorno de diagrama lgico: el lenguaje obtenido resulta un
hibrido que recoge toda la potencia de programacin del autmata, y en el que cada
usuario puede elegir la forma de representacin que prefiera para las funciones bsicas
(AND, OR, NOT, TIM, etc.)

Figura 3.21 Algunos smbolos lgicos

Figura 3.22 Lenguajes grficos STEP 5 de SIEMES

Figura 3.23 Programacin combinada funciones/contactos

Algunas unidades de programacin basadas en ordenador (especfico de


fabricante o PC de uso general) permiten al usuario definir sus propios bloques lgicos

a partir de los preexistentes, creando nuevas funciones (macrobloques) que pueden ser
incorporadas al lenguaje.
La figura 3.23 muestra un ejemplo de programa escrito con estos lenguajes
hbridos, desarrollando con un software especfico de programacin de autmatas que
corre sobre ordenador personal.

3.8.4 LENGUAJES DE ALTO NIVEL


Con CPUs cada vez ms rpidas, ms potentes y de mayor capacidad de trabajo,
los autmatas de gamas altas invaden aplicaciones hasta hace bien poco reservadas a los
miniordenadores industriales.
Para estas aplicaciones, los lenguajes tradicionales en lista de instrucciones (IL)
o diagrama de contactos (LD) resultan ya insuficientes, aun mejorados con las
expansiones comentadas en apartados anteriores.
Por esta razn, los fabricantes han desarrollado lenguajes de programacin
prximos a la informtica tradicional, con sentencias literales que equivalen a
secuencias completas de programacin: son los lenguajes de alto nivel.

En ellos, las instrucciones son lneas de texto que utilizan palabras o smbolos
reservados (SET, AND, FOR, etc.), las operaciones se definen por los smbolos
matemticos habituales (+,*,<, etc.) y se dispone de funciones trigonomtricas,
logartmicas y de manipulacin de variables complejas (COS, PI, REAL, IMG,).
Sin embargo, lo que distingue realmente estos lenguajes avanzados de las listas de
instrucciones ampliadas son las tres caractersticas siguientes:

-Son lenguajes estructurados, donde es posible la programacin por bloques o


procedimientos, con definicin de variables locales o globales.
-Incluyen estructuras de clculo repetitivo y condicional (figura 3..24), tales como:
-FORTO
-REPEATUNTIL X
-WHILE X
-IFTHENELSE
-Disponen de instrucciones de manipulacin de cadenas de caracteres, muy tiles en
aplicaciones de gestin, estadstica, etc.
Dada su facilidad de manejo y su difusin a todos los niveles, el BASIC,
convenientemente adaptado a las aplicaciones del autmata, se configura como el
lenguaje de alto nivel ms extendido. Sin embargo, tambin se pueden encontrar
intrpretes o compiladores de C, PASCAL, FORTRAN, etc., lo que permite resolver
tareas de clculo cientfico en alta resolucin, clasificaciones de datos, estadsticas, etc.,
con total facilidad, y con acceso adems a mdulos y subrutinas especficos ya escritos
en estos lenguajes y de uso general en aplicaciones informticas.

Figura 3.24 Estructuras de programacin en alto nivel.


Dado lo especfico de su aplicacin, un programa escrito en alto nivel necesita
para su edicin de una unidad de programacin avanzada, o de un software de
desarrollo de programas que corra sobre PC.
Adicionalmente, es frecuente que el empleo de estos lenguajes estructurados
obligue adems a utilizar no solo una unidad de programacin tipo PC, sino incluso una
CPU especial en el autmata (coprocesador), capaz de interpretar y ejecutar las nuevas
instrucciones.
En cualquier caso, los lenguajes de alto nivel son posibilidades adicionales al
alcance del programador, que puede, si as lo desea, utilizar solo las formas bsicas de
contactos/bloques o lista de instrucciones para escribir sus aplicaciones: en otras
palabras, los lenguajes avanzados nunca constituyen el lenguaje bsico de un automata

o familia de autmatas, papel que queda reservado a la lista de instrucciones o al


diagrama de contactos.
La tabla 3.4 muestra las instrucciones del interprete BASIC disponible sobre los
autmatas Festo FPC 405,
Clasificadas en:
-Operaciones generales: comandos de actuacin BASIC sobre bits, palabras, o textos
directos (SET, LET,..) o condicionados (IF, FOR,)
-Operaciones de conversin: Cambios de cdigo, obtencin de mdulos, etc.
-Operaciones matemticas: Operaciones logartmicas, trigonomtricas, aritmticas, etc.
-Operaciones de control de programa: saltos y subrutinas.
Como puede observarse en la tabla, los comando que aparecen, son en su mayora los de
uso normal del BASIC.
La figura 3.25 muestra un ejemplo de programacin con este lenguaje. Como se
observa, una ventaja adicional del programa en alto nivel es que a l se puede
transcribir, casi literalmente, el diagrama de flujos que constituye la primera
aproximacin a la representacin del sistema de control. Esta ventaja, que evita pasar a
algn otro modelo o transcribir este inicial a otro lenguaje, supone sin duda un
importante ahorro de tiempo en la puesta en marcha de la aplicacin.
Debe indicarse que algunas de las sentencias literales de alto nivel estn
disponibles en lenguaje de contactos como bloques de funcin extendidos y viceversa:
de esta forma, el fabricante asegura la compatibilidad entre ambos lenguajes, y
aprovecha mejor el software maquina (firmware) desarrollado (figura 3.26).

Tabla 3.4 Instrucciones BASIC del automata Festo FPC 405

GENERALES
BIT
DATA
DIM
END
FILE
GET
INP
LEFT $
MODE
OPEN
PEEK
PRINT
READ
READL
RES PS
RESTORE
SPC
STOP
THEN
TO
UPD
PRINT
SET

CLOSE
DEF
ELSE
ENDEF
FOR
IF
INPUT
LEN
NEXT
OUT
POKE
PTR
READ$
REM
RES F
RUN
STEP
TAB
TIMER
UNLOCK
USING
RES
SWAP

INSTRUCCIONES
CONVERSION MATEMATICAS
ABS
BYTE
CHR$
BID
DEB
INT
RND
STR$
VAL
WORD

COS
PI
SIN
SGN
SQR
(,)
+
/
<
>
<=
=>
<>
=

DE
CONTROL
CALL MOD
CALL FUN
CALL ASS
GOSUB
ON GOSUB
ON GOTO
RETURN
USR

Figura 3.25 Programacin en alto nivel.

Figura 3.26 Compatibilidad entre los lenguajes de contactos y de alto nivel (ejemplo
telemecanique)

RESUMEN
Programar un autmata consiste en introducirle una secuencia de rdenes
(instrucciones) obtenidas desde un modelo de control, segn una codificacin
determinada (lenguaje) que por su forma puede ser:

-Literal, o textos
-Grfica, o de smbolos.
Cada instruccin del programa consta de dos partes: el cdigo de operacin, que
define que se debe hacer, y el cdigo o cdigos de los operandos (generalmente
identificados por su direccin), que indican las constantes o variables con las que se
deben operar.
Los lenguajes literales estn formados por secuencias de textos agrupados en
instrucciones u ordenes elementales del programa.
Segn la complejidad del lenguaje, estn disponibles instrucciones desde
sencillas funciones booleanas (AND, OR, etc.). Hasta estructuras complejas de
programacin en alto nivel (FOR..NEXT, WHILE, etc.), pasando por instrucciones de
acceso a bloques secuenciales (TIM, CNT, etc.) y de manipulacin de textos y valores
numricos (ADD, MOV, MUL, etc.)
Los lenguajes grficos, con origen en los esquemas elctricos de rels y en los
diagramas de la electrnica digital, utilizan smbolos de contactos/bobinas para
representar las instrucciones

bsicas, y smbolos de bloques lgicos para las

extensiones al lenguaje, que extienden su potencia hasta la de los lenguajes literales de


alto nivel.
De esta forma permiten estructuras de programacin tan complejas como
aquellos, sin perder por ello la facilidad de comprensin y visin de conjunto que ofrece
siempre la representacin grfica.
Ninguno de los lenguajes descritos resulta, en principio, superior a los dems:
depende siempre de la aplicacin a que se destina.
As, la automatizacin de procesos comunes (mando de mquinas, cadenas de
produccin, etc.) puede hacerse con diagramas de contactos o con listas de
instrucciones, los dos lenguajes bsicos para la mayora de autmatas. De hecho, es tan
frecuente el uso de uno u otro, que muchos fabricantes ya prevn en su software de
programacin sobre PC la posibilidad de transcodificacin entre ellos, con operaciones

sencillas de compilacin/descompilacin. De esta forma, el usuario puede trabajar con


el lenguaje que prefiera y compilarlo, si fuera necesario, al que entiende su autmata.
Para mandos complejos, que necesiten realizar clculos, manipular largas
cadenas de caracteres o utilizar subrutinas o bloques de programacin manufacturados
(mando de ejes, regulacin PID, etc.), puede ser necesario utilizar lenguajes literales de
alto nivel, que permiten tambin, no se olvide, programar sentencias booleanas sencillas
o manejar temporizadores y contadores como listas de instrucciones.
Utilizados originalmente de forma independiente unos de otros, la tendencia
actual de los fabricantes pasa por la integracin de las diferentes formas en un nico
lenguaje mixto, que combine la claridad de los lenguajes grficos para las funciones
combinacionales y secuenciales, con la potencia y compacidad de los literales para el
calculo matemtico y los tratamientos de textos.
Para ello, se siguen los siguientes pasos:
-Potenciar los lenguajes grficos, permitiendo el uso de estructuras de programacin el
uso de estructuras de programacin avanzada (GRAFCET) y aumentando las
instrucciones de expansin disponibles.
-Permitir la utilizacin de lenguajes literales dentro de un programa grfico, bien
incluyndolos como lneas de instruccin dentro del programa, bien editndolos como
subrutinas de libre acceso desde l.
-Desarrollar herramientas de edicin que permiten al usuario definir sus propias
sentencias, que podr almacenar como bloques de expansin dentro de la librera
disponible.
En general, y como conclusin, se espera una evolucin de los lenguajes
grficos hacindolos ms potentes, ms abiertos y ms sencillos de manejar por el
usuario, que cada vez en mayor medida, podr desarrollar sus aplicaciones sobre
terminales de uso general tipo PC.