You are on page 1of 5

Instrucciones para Programar un PLC de 8 Entradas y 8 Salidas

Arme un PLC y crguele el sistema operativo con xito

Instrucciones para Programar un PLC

de 8 entradas y 8 salidas Con PIC 16F84


En Saber Electrnica N 168 comenzamos a describir el proyecto de un PLC de 8 entradas y 8 salidas que emplea un PIC16F84 como procesador central. Dimos los esquemas elctricos y las placas de circuito impreso. En la segunda entrega presentamos el sistema operativo de dicho proyecto, explicamos cmo se ensambla utilizando el MPLAB. Antes de dar el programa, es aconsejable que sepa cules son las instrucciones fundamentales que emplea nuestro PLC a los fines de comprender la lgica de programacin. Tenga en cuenta que si Ud. desea toda la informacin de este proyecto, puede dirigirse a la pgina que el autor tiene en Internet, a la cual puede acceder desde un link que tenemos en la web: www.webelectronica.com.ar Autor: Juan Manuel Rodrguez - e-mail: juanmarod@inicia.es En la Web: http//inicia.es/de/juanmarod/portada.htm

INTRODUCCIN Antes de entrar en profundidad en nuestro proyecto, revisaremos las estructuras de programacin de los autmatas comerciales. Las dos formas ms usuales de editar programas para un PLC son : 1) Diagrama de contactos 2) Modo texto Diagrama de contactos: Se representan las entradas y salidas usando smbolos elctricos estndar: (contacto normalmente

abierto, contacto normalmente cerrado, bobinas de rels, etc.). Resulta una forma de ver los programas muy grfica, especialmente pensada para electricistas. Con una rpida mirada podemos comprender cmo responder la salida ante un evento inicial. La representacin de contactos se asemeja al de la estructura de directorios de un disco duro pero invertida. En primer lugar resolvemos los contactos en paralelo (OR), despus los contactos en serie (AND) y por ltimo la salida (OUT), vea la figura 1.

Modo texto: Este es el modo en que se progama un PIC, por ejemplo. Consta de una serie de lneas de texto, cada lnea describe una instruccin, el orden es muy importante ya que cambia el resultado final en la salida. En la tabla 1 vemos una analoga entre las instrucciones usadas en el modo texto y un diagrama de contactos tpico. Vea que la instruccin LD pone en marcha al motor, por lo cual slo acta sobre la entrada E0,0. Pero a su vez existe la instruccin OR que acta sobre la en-

SABER SERVICE

52 Y

MONTAJES

Instrucciones para Programar un PLC de 8 Entradas y 8 Salidas


intermedias, maneja bits de entrada o salida virtuales, slo existen internamente en la memoria del autmata, se usan para hacer operaciones intermedias en el programa del PLC y no tienen una correspondencia fsica con ninguna entrada o salida del autmata. Estn disponibles tres registros de memorias intermedias de M0 a M2 que suman en total 24 bits. TIEMPO%: Registro asociado a los temporizadores del autmata, contiene el valor del tiempo de retardo del temporizador CONTADOR%: Registro asociado a los contadores, almacena el nmero de eventos a contar. TIM: Registro que contiene los bits de salida de los temporizadores. En la tabla 2 se muestra cmo se modifican cada una de estas variables en funcin de la instruccin que se est ejecutando. Las instrucciones se escriben en maysculas, entre ellas y los

Figura 1

trada E0,1, de modo tal que, si esta entrada o la E0,0 se encuentran activadas, se pondr en marcha el motor, siempre que no se encuentre activada la entrada E0,2 (parada) ni la E0,3 (llave trmica). Dicho de otra manera, cada vez que haya una seal en E0,0 E0,1, entonces la salida S0,0 se activar, siempre que no haya seal en E0,2 ni en E0,3.

Bit asociado: Es el bit asociado con la instruccin que modifica al ser ejecutada. Registro asociado: Es el registro que contiene informacin usada por la instruccin. Intruccin asociada: Es la instruccin que realiza un reset de los bits de la instruccin principal. Registos del PLC. Todos los datos variables del PLC estn contenidos en la memoria RAM interna del PIC16F84: E%: Registro de entradas, almacena el estado de las entradas del autmata. S%: Registro de salidas , contiene el valor del estado de las salidas del autmata. M%: Registro de memorias
Tabla 1

INSTRUCCIONES Y REGISTROS DEL PROCESADOR Veamos algunos convencionalismos a tener en cuenta El smbolo #: Equivale a un N decimal de cero a siete y se refire a un bit de un regitro del PLC. El smbolo %: Equivale a un N decimal de cero a siete y se refiere al nmero de instruccin o al nmero del registro asociado a la instruccin. En algunos casos el valor numrico slo puede estar comprendido entre cero y tres. Parmetro: Son los bits del registro indicado antes de la coma "," que puede modificar.

SABER SERVICE

53 Y

MONTAJES

Instrucciones para Programar un PLC de 8 Entradas y 8 Salidas


Tabla 2

parmetros debe haber al menos un espacio. Los parmetros se separan usando comas ",". Veamos algunas instrucciones: LD Esta es la primera instruccin por la que empiezan todas las ramas, no realiza ninguna operacin aritmtica. Su funcin es salvar en la pila el resultado de operaciones anteriores y cargar directamente en el registro acumulador (W) del procesador el bit E/S que direcciona. Operandos permitidos: E0,0 a E0,7 M0,0 a M0,7

M1,0 a M1.7 M2,0 a M2,7 S0,0 a S0,7 TIM,0 a TIM,6 CNT,0 a CNT,3 DIF,0 a DIF,3 Uso de memoria EEPROM: 4 bytes OR Realiza la operacin lgica OR (suma) entre el acumulador (W) y el bit que direcciona, el resultado se guarda en W. Operandos permitidos: E0,0 a E0,7 M0,0 a M0,7 M1,0 a M1.7 M2,0 a M2,7

S0,0 a S0,7 TIM,0 a TIM,6 CNT,0 a CNT,3 DIF,0 a DIF,3 Uso de memoria EEPROM: 4 bytes OR_NOT Realiza la operacin lgica OR (suma) entre el acumulador (W) y el bit que direcciona invertido, el resultado se guarda en W. Operandos permitidos: E0,0 a E0,7 M0,0 a M0,7 M1,0 a M1.7 M2,0 a M2,7 S0,0 a S0,7 TIM,0 a TIM,6

SABER SERVICE

54 Y

MONTAJES

Instrucciones para Programar un PLC de 8 Entradas y 8 Salidas


CNT,0 a CNT,3 DIF,0 a DIF,3 Uso de memoria EEPROM: 4 bytes AND Realiza la operacin lgica AND (multiplicacin) entre el acumulador (W) y el bit que direcciona, el resultado se guarda en W. Operandos permitidos: E0,0 a E0,7 M0,0 a M0,7 M1,0 a M1.7 M2,0 a M2,7 S0,0 a S0,7 TIM,0 a TIM,6 CNT,0 a CNT,3 DIF,0 a DIF,3 Uso de memoria EEPROM: 4 bytes AND_NOT Realiza la operacin lgica AND (multiplicacin) entre el acumulador (W) y el bit que direcciona invertido, el resultado se guarda en W. Operandos permitidos: E0,0 a E0,7 M0,0 a M0,7 M1,0 a M1.7 M2,0 a M2,7 S0,0 a S0,7 TIM,0 a TIM,6 CNT,0 a CNT,3 DIF,0 a DIF,3 Uso de memoria EEPROM: 4 bytes ORLD Realiza la operacin lgica OR (suma) entre el acumulador (W) y el primer registro de la pila, el resultado se guarda en W y el contenido de la pila es desplazado un nivel abajo. Uso de memoria EEPROM: 2 bytes ANDLD Realiza la operacin lgica AND (multiplicacin) entre el acumulador (W) y el primer registro de la pila, el resultado se guarda en W y el contenido de la pila es desplazado un nivel abajo Uso de memoria EEPROM: 2 bytes OUT Extrae el valor absoluto del contenido del acumulador "0" "1" y lo mueve al bit del registro que direccione la instruccin. Operandos permitidos: M0,0 a M0,7 M1,0 a M1.7 M2,0 a M2,7 S0,0 a S0,7 Uso de memoria EEPROM: 5 bytes SET Realiza la funcin SET (puesta a "1") de un biestable RS, el bit que direcciona es puesto a "1". Operandos permitidos: M0,0 a M0,7 M1,0 a M1.7 M2,0 a M2,7 S0,0 a S0,7 Instruccin asociada : RESET Uso de memoria EEPROM: 3 bytes RESET Realiza la funcin RESET (puesta a "0") de un biestable RS, el bit que direcciona es puesto a "0", esta funcin se puede definir en cualquier punto del programa, pero obligatoriamente despus de haber definido la funcin SET para que en la secuencia de ejecucin predomine siempre el RESET sobre el SET en el caso de estar activadas las dos funciones a la par. Operandos permitidos: M0,0 a M0,7 M1,0 a M1.7 M2,0 a M2,7 S0,0 a S0,7 Instruccin asociada: RESET Uso de memoria EEPROM: 3 bytes TIMER% Temporizador, la llamada a esta funcin dispara un temporizador del tipo retardo a la conexin. Cuando las condiciones previas estn a "1" y se mantienen despus de pasado el tiempo de retardo el bit asociado al timer se activa y slo cae si stas pasan a "0". El sistema operativo implementa siete temporizadores de TIMER0 a TIMER6. El tiempo de retardo es definido en la cabecera del programa por los registros TIEMPO%. El tiempo de retardo se puede fijar entre 0,1 seg y 25,4 segundos. Bits de salida asociados: TIM,0 a TIM,6 Uso de memoria EEPROM: 8 bytes CNT% Contador de eventos, esta funcin detecta el flanco ascendente de las condiciones previas e incrementa un contador interno. Cuando el contador alcanza el valor definido por el registro asociado CONTADOR% se activa el bit asociado CNT,# y el contador queda deshabilitado mientras

SABER SERVICE

55 Y

MONTAJES

Instrucciones para Programar un PLC de 8 Entradas y 8 Salidas


no se ejecute la intruccin asociada RCNT%. El sitema operativo implementa cuatro contadores, de CNT0 a CNT3. El tiempo N de eventos a contar es definido en la cabecera del programa por los registros CONTADOR%. Al ser un registro de 8 bit permite contar 254 eventos. Bits de salida asociados: CNT,0 a CNT,3. Uso de memoria EEPROM: 14 bytes RCNT% Puesta a cero de contador, borra el contenido del registro contador interno, pone a "0" el bit de salida asociado CNT,# y habilita de nuevo el contador. Uso de memoria EEPROM: 5 bytes RS% Realiza la funcin de un biestable del tipo "T". Esta funcin detecta el flanco ascendente de las condiciones previas, si stas pasan de "0" a "1" se invierte el estado del bit que direcciona la instruccin, si ste era "0" pasa a "1" y si era "1" pasa a "0". Por ejemplo es til para encender una bombilla con un solo pulsador. Operandos permitidos: M0,0 a M0,7 M1,0 a M1.7 M2,0 a M2,7 S0,0 a S0,7 Uso de memoria EEPROM: 14 bytes DIF% Funcin diferencial, detecta el flanco ascendente de las condiciones previas (paso de estado lgico "0" a "1") y activa un bit interno que se mantiene a "1" solamente durante un ciclo de programa (scan), este es el tiempo que el procesador tarda en ejecutar el programa PLC, del orden de milisegundos. El sistema operativo implementa cuatro funciones diferenciales de DIF0 a DIF3. Los bits de salida asociados se direccionan como DIF,0 a DIF,3 Uso de memoria EEPROM: 10 bytes END Instruccin de fin de programa PLC. De esta manera hemos dado un resumen de las principales instrucciones que se usan para la programacin del procesador de un PLC, en la prxima edicin daremos ejemplos de programacin y describiremos el programa de nuestro prototipo, por ello, es recomedable que lea el artculo publicado en Saber N 168.

MULTISIM 2001, el softwar e de diseo y simulacin de circuitos electrnicos ms famoso del mundo, ahora en Ar gentina !!!
MULTISIM 2001 es un desarrollo de Electronics Workbench, la empresa que ms sabe de diseo virtual en electrnica. Utilice Multisim para generar esquemas de alta calidad en sus diseos. Luego use los instrumentos virtuales de Multisim de la misma manera en que usara los instrumentos reales en un laboratorio, para hacer mediciones. Multisim permite simulacin combinada en lenguajes Spice/VHDL/Verilog y HDL/RF. MULTISIM 2001 PROFESSIONAL CONTIENE:
Captura y diseo de esquemas Simulacin interactiva y combinada Editor de smbolos y componentes Simulacin analgica y digital Compatibilidad con todos los sistemas industriales 9 instrumentos virtuales (multmetro digital, generador de funciones, osciloscopio, analizador y convertidor lgico, analizador de distorsiones, etc.) Librera con 12.000 partes de los principales fabricantes Acceso a EdaParts.com, la web que contiene una librera de 12 millones de componentes extras. 15 anlisis (punto operativo DC / AC, Fourrier, distorsin, sensibilidad, Monte Carlo, etc.) Capacidad de adicionar otras prestaciones

Representante para Argentina, Uruguay y Paraguay:

Lo invitamos a bajar una demo gratis de http://www.softinteligente.com.ar/multisim.htm

SOFTWARE INTELIGENTE Telfono (54) (11) 4206 1237 Fax (54) (11) 4206 2448 Email: info@softinteligente.com.ar http://www.softinteligente.com.ar

SABER SERVICE

56 Y

MONTAJES

You might also like