Está en la página 1de 5

Curso de PLCs

CURSO DE AUTMATAS PROGRAMABLES

PLC
LECCIN N10:

EL LENGUAJE DE PROGRAMACIN

n los artculos publicados hasta la fecha ha quedado establecido que en un PLC se realiza el intercambio permanente de informacin entre el proceso y el sistema de control (magnitudes y acciones fsicas), que tienen lugar a nivel del sistema de entradas/salidas. A su vez existe una interaccin entre el operador y el sistema de control para el establecimiento de pasos a seguir, para modificar sentencias de control manual, para la obtencin de in-

formacin de las variables del proceso, etc. Todo intercambio de informacin precisa de una codificacin del mensaje que sea comprensible, tanto para quien da la orden como para quien la recibe; esta codificacin constituye un "lenguaje" y de este tema nos ocuparemos en adelante.

Por Horacio D. Vallejo e-mail: hvquark@ar.inter.net www.webelectronica.com.ar

e denomina lenguaje de programacin, a todo intercambio de informacin codificada que implique un mensaje que sea comprensible, tanto para quien da la orden como para quien la recibe y establece un medio sencillo, pero suficientemente preciso, para que el programador pueda especificar la secuencia de tratamiento de la

informacin que se requiere del sistema de control. El lenguaje de programacin no asegura la ejecucin de las secuencias especificadas por el programador ya que puede crearse un lenguaje muy claro pero que sirve de muy poco si no es coherente con las necesidades del autmata, es decir, si no es capaz de explotar

los recursos de la Unidad de Control con la que se establece el dilogo. El lenguaje de programacin que vayamos a utilizar en un PLC se debe caracterizar por responder en forma clara a los problemas de automatizacin para los que se dise la CPU (Unidad Central de Proceso), y debe ser coherente con

Saber Electrnica

Curso de PLCs
las capacidades de sta. Se denomina programa a un conjunto de sentencias definidas por el lenguaje de programacin, que son convenientemente ordenadas para definir una tarea a efectuar por la Unidad Central de Proceso. Para que un PLC comercial trabaje normalmente, generalmente posee un conjunto de programas residentes (firmware), que se suministran con el propio dispositivo. Estos programas deben establecer las condiciones de trabajo de los componentes de entrada y salida del sistema, ejerciendo funciones de vigilancia sobre stos para lograr el correcto funcionamiento del equipo. Tambin tiene que seguir las secuencia de proceso y ejecutar las directivas especificadas en el programa de aplicacin. Para ello se debe definir el programa llevando a cabo una metodologa de programacin generalmente con el empleo de los denominados diagramas de flujo (tema del que nos ocuparemos ms adelante). Una vez definido el programa, el programador las transcribir en forma de instrucciones de acuerdo con el lenguaje de programacin, asociando a cada tarea (instruccin o sentencia) la correspondiente identificacin de las variables de entrada y salida, las variables internas y los registros de trabajo correspondientes. Dicho de otra forma, primero tenemos que saber qu es lo que debe hacer el autmata, luego definir un diagrama coherente que explique justamente lo que debe hacer y luego se deber escribir el programa en un lenguaje de usuario utilizando cualquier sistema de programacin, acorde con el PLC con que estamos trabajando. Una vez escrito el programa. Se lo debe grabar en la memoria del Autmata para lo cual se precisa un equipo de programacin. En la memoria del Autmata se almacenan las instrucciones en forma de cdigos binarios, o lenguaje de mquina, que es el nico capaz de ser interpretado por el procesador de la Unidad Central. Es decir que el Equipo de Programacin debe traducir o compilar las instrucciones del programa escrito por el programador en un lenguaje de cdigo binario o lenguaje de mquina. Esto quiere decir que el Equipo de Programacin debe realizar dos tareas a saber: 1) Debe traducir las instrucciones del lenguaje de programacin a lenguaje de mquina (cdigos binarios). 2) Debe grabar el lenguaje de mquina en la memoria del PLC. Para llevar a cabo la primer tarea primero realiza un anlisis de la sintaxis o formato del programa para poder generar un cdigo intermedio. El cdigo intermedio es un programa intrprete que est almacenado previamente en la memoria, para interpretar esos cdigos y traducirlos al cdigo mquina. En conclusin, podemos decir lo siguiente: El lenguaje de programacin de un autmata es un lenguaje especializado para resolver determinados problemas, dado que el PLC es un dispositivo programable orientado a entradas y salidas. Para programar un PLC hace falta un conjunto de instrucciones nico, aunque la forma de esas instrucciones pueda variar en funcin del origen del equipo y del tipo de lenguaje que se emplee. Ahora bien, cuando el programador realice su trabajo, puede que no sepa en qu autmata se va a utilizar, incluso hasta es posible que no sepa nada de control de sistemas y, por otra parte, el tcinco encargado del rea de control es posible que no sepa nada de programacin, sin embargo, es posible ensamblar lo hecho por el programador con el circuito establecido por el tcnico. Dependiendo de la capacidad de la CPU, el autmata podr interpretar las instrucciones y traducirlas a un lenguaje propio. Adems, en funcin de la tecnologa disponible y de las nuevas aplicaciones de los PLC, el conjunto de instrucciones se va ampliando con nuevas sentencias, especficas de esas nuevas reas de control, denominados lazos de regulacin PID. Cuando se va a realizar un programa el programador tiene en cuenta que existen distintos tipos de instrucciones ya que no es lo mismo ejecutar una sentencia de temporizacin que una manipulacin de datos con el objeto de tomar una decisin. En el conjunto de instrucciones del PLC se pueden considerar los siguientes grupos: - Instrucciones que hacen referencia a funciones lgicas. - Instrucciones de temporizacin. - Instrucciones aritmticas. - Instrucciones que permiten el manejo y la transferencia de datos. - Instrucciones de control del ciclo de ejecucin. - Instrucciones de comunicacin.

Saber Electrnica

Leccin N 10: El Lenguaje de Programacin


Figura 1
cibida la instruccin. Es posible encontrar instrucciones de temporizacin con otra seal de control adicional que les permite actuar como acumuladores de tiempo; en este caso acta como un cronmetro con control "start/stop" y control de puesta a cero. Por ejemplo, en el sistema de riego automtico de un campo, cada X horas se emplear esta instruccin (lgicamente tambin se tomarn en cuenta otras variables como humedad del suelo, por ejemplo). En esta ocasin, la variable que acta como "start/stop" es la variable que activa la vlvula de apertura del sistema de riego. En la figura 1 se puede apreciar un diagrama de tiempo que explica estos procesos. X es una variable temporizada; Y representa un retardo en la activacin y Z un retardo en la desactivacin. Dentro de este juego de instrucciones tambin se encuentran aquellas que hacen referencia a cuentas particulares por ejemplo, que una variable se ponga a 0 luego de n cuentas del ciclo de reloj. Se dice que son funciones en las que la variable de salida Y adquiere el estado 1, cuando han tenido lugar n transiciones de 0 a 1 del estado de la variable de conteo X. Normalmente, para que las transiciones sean contabilizadas, es preciso que la variable de control V (validacin y puesta a cero) permanezca en el estado 1. Vea en la figura 2 cmo responde una variable cuando est asociada a una acumulacin de tiempo. Tambin hay instrucciones de conteo que permiten la funcin contador/descontador (UP/DOWN); en este caso hay dos va-

Una instruccin es una sentencia que debe llevar a cabo la CPU de acuerdo a determinadas variables, asi tenemos los siguientes tipos de variables: - Variables de entrada y salida discretas (todo-nada). - Variables de entrada y salida numricas. - Variables internas o auxiliares (que son siempre binarias, dado que es el lenguaje que entiende el procesador). - Variables internas numricas (que a su vez sern compiladas dentro del procesador). A cada variable, la instruccin le debe asociar la correspondiente "direccin" de una E/S (entrada/salida) o de un registro. Las instrucciones que hacen referencia a funciones lgicas definen, en el lenguaje empleado, los operadores lgicos booleanos: Y (AND), O (OR) e inversin (NO). Algunos PLC permiten otras operaciones lgicas como la O-Exclu-

siva. Estas instrucciones permiten la resolucin de los tratamienos de informacin correspondientes a procesos lgicos secuenciales, mediante la implementacin de las funciones lgicas o ecuaciones de Boole. Las instrucciones de temporizacin hacen uso de una variable temporizada, que adquiere el estado de una variable de control (estado 0 o 1) transcurrido un tiempo t preestablecido. Por ejemplo, cuando una variable temporizada adquiere el estado lgico 1 de la variable de control, luego de un retardo t, se trata de un temporizador con retardo en la activacin lo que significa que una vez recibida la orden se deber esperar un tiempo t definida por la variable para que la misma tome un estado lgico 1. Ahora, si partimos del estado 1 la variable temporizada alcanza el estado 0 de la variable de control con un retardo t, tenemos un temporizador que se desactivar luego de un tiempo t de re-

Saber Electrnica

Curso de PLCs
Figura 2
donde se encuentre el nmero A, otro donde se encuentre el B y un tercero donde se almacenar el resultado (que puede ser alguno de los dos anteriores, en cuyo caso se perder el nmero anterior). En el programa, la instruccin se completa con una seal de control u orden de ejecucin; algunos equipos permiten programar instrucciones con operaciones mltiples, es decir, la variable destino adquiere el valor resultante de operaciones aritmticas distintas entre ms de dos operandos. En equipos de prestaciones superiores hay instrucciones de clculo, como la extraccin de la "raz cuadrada", operaciones matemticas complejas, y el empleo de notacin en coma flotante, para aumentar la precisin de los clculos. Las instrucciones que permiten el manejo y la transferencia de datos trabajan con variables numricas o contenidos de los registros de datos. Entre ellas hay que considerar las funciones de comparacin

y divisin (/). En estas instruccioriables, X de conteo y X' de descuento. Esto es muy til en un sis- nes, se especifica una variable nutema de control de existencia en la mrica de destino de la operacin que es preciso que se d una alerta que tiene lugar entre otras dos vacuando un determinado suministro riables numricas llamadas regisse est por acabar, pero que es po- tros. As, si desea sumar un nmero sible que un operador cargue di- A con otro B habr un registro cho suministro antes de que se d dicha alarma (y por supuesto el sistema debe contabilizar la nueva existencia). En la figura 3 se muestra lo explicado, aqu hemos supuesto que la variable Up/Down cuenta o descuenta pulsos mientras existe una variable X pero sta puede no existir y la variable X siempre estar o bien contando o bien descontando hasta que llegue a la cuenta que le permita cambiar de estado su salida. Las instrucciones arimticas involucran las operaciones bsicas: suma (+), Figura 3 resta (-), multiplicacin (X)

Saber Electrnica

Leccin N 10: El Lenguaje de Programacin


de variables numricas, funciones de conversin del cdigo de representacin de la variable (binario, BCD, etc.), funciones con operadores lgicos a nivel de registro (AND, OR, etc.) y funciones de rotacin o desplazamiento de la informacin (bits) en un registro o grupo de registros. En el tratamiento de variables numricas muchas veces es preciso comparar dichas variables con listas de datos o grupos de datos, que deben ser distintos en funcin de la secuencia que se est ejecutando, o del valor de otra variable discreta o numrica. Para esto es necesario disponer de instrucciones que permiten trasladar o copiar, uno o varios datos contenidos en la memoria de datos a otros registros de la misma memoria, o a un conjunto de variables numricas; stas son las instrucciones de transferencia que operan a nivel de registro o grupo de registros y con variables numricas internas, de entrada o de salida. Las instrucciones de control permiten alterar la ejecucin secuencial del programa, mediante saltos condicionales a otras subpartes del programa, o mediante el salto a las denominadas subrutinas. Utilizando estas instrucciones se puede optimizar el tiempo de ejecucin del programa, atendiendo a la resolucin de ciertas instrucciones slo cuando es necesario. Por ltimo, las instrucciones de comunicacin permiten la transferencia de informacin entre dos o ms Controladores Lgicos, por medio del enlace a travs de un canal de comunicaciones serie. En este caso se reservan determinadas zonas de la memoria del autmata para recibir y transmitir datos al exterior. Tambin es posible constituir redes de comunicaciones, en las que el acceso a la memoria de datos es prcticamente libre. Para las instrucciones de comunicacin es necesario especificar parmetros tales como, nmero de datos a transmitir, direccin del primer registro en origen y direccin del primer registro en destino, identificacin de los lugares de comunicaciones, velocidad de transmisin, control de la transferencia de datos, etc. En una comunicacin de este tipo existen dos tipos de instrucciones: lectura de datos de otro procesador, y escritura de datos en otro procesador, y para llevar a cabo estas tareas normalmente se cuenta con los denominados protocolos de comunicaciones.

A slo

Esta es una nica oportunidad:

$25

Enciclopedia Visual de Electrnica

CONTIENE:
1) Enciclopedia de Electrnica a Color en 3 Tomos impresos en papel ilustracin a todo color. 2) Video Kit de Electrnica con el que aprende esta materia fcilmente sin cansarse. 3) Video Kit de Computacin con el que aprende computadoras y puede armar sus propios equipos. 4) CD Manual de Electrnica 2001 con ms de 1000 pginas de informacin y 300 Montajes de Electrnica.

El CD es AUTORUN y muy fcil de explorar. Cuenta con un video explicativo y apoyo interactivo a travs de Internet.

Oportunidad nica para tener una enciclopedia de consulta constante con informacin a todo color, ms de 400 proyectos para armar y una gua en videos sobre los temas de mayor inters. Compre los 6 productos por slo $25 si es socio del Club Saber Electrnica
Pdalo en nuestras oficinas o por telfono al (011)4301-8804 (gastos de envo certificado: $10) o por Internet a: ateclien@webelectronica.com.ar. Tambin pdalos por pago contrarreembolso

También podría gustarte