Story Transcript
AUTOMATAS PROGRAMABLES INDUSTRIALES
SYSMAC SP10/16/20
OMRON, 1992
Reservados todos los derechos. El contenido de esta publicación no puede ser reproducido, ni total ni parcialmente, ni incorporarse a ningún sistema de archivo de datos reutilizables, ni transmitirse en forma alguna o por cualquier medio electrónico, mecánico o de fotocopia, ni grabarse y tampoco puede utilizarse por procedimiento distinto a los indicados, la información contenida en este libro sin el permiso previo escrito de OMRON. OMRON no asume responsabilidad alguna con respecto al uso que se haga de la información contenida en este manual. Además, dado que OMRON está continuamente mejorando sus productos de alta calidad, la información contenida en esta publicación está sujeta a cambios sin previo aviso. En la elaboración de este manual se han tomado todas las precauciones; a pesar de ello OMRON no se responsabiliza de posibles errores u omisiones, ni de los daños fortuitos o extraordinarios de cualquier tipo causados como resultado de o relacionados con esta publicación o la información contenida en ella.
i
Autómata Programable SP10/16/20 Manual de Operación
Notice:
OMRON products are manufactured for use according to proper procedures by a qualified operator and only for the purposes described in this manual. The following conventions are used to indicate and classify warnings in this manual. Always heed the information provided with them. DANGER! Indicates information that, if not heeded, could result in loss of life or serious injury.
Caution Indicates information that, if not heeded, could result in minor injury or damage to the product.
OMRON Product References All OMRON products are capitalized in this manual. The word “Unit” is also capitalized when it refers to an OMRON product, regardless of whether or not it appears in the proper name of the product. The abbreviation “Ch,” which appears in some displays and on some OMRON products, means “word” and is abbreviated “Wd” in documentation. The abbreviation “PC” means Programmable Controller and is not used as an abbreviation for anything else.
Visual Aids The following headings appear in the left column of the manual to help you locate different types of information. Note Indicates information of particular interest for efficient and convenient operation of the product. 1, 2, 3... Indicates lists of one sort or another, such as procedures, precautions, etc.
OMRON, 1991
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, mechanical, electronic, photocopying, recording, or otherwise, without the prior written permission of OMRON. No patent liability is assumed with respect to the use of the information contained herein. Moreover, because OMRON is constantly striving to improve its high--quality products, the information contained in this manual is subject to change without notice. Every precaution has been taken in the preparation of this manual. Nevertheless, OMRON assumes no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained in this publication.
v
TABLA DE CONTENIDOS SECCIÓN 1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--1 1--2 1--3 1--4
Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generalidades del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuración del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECCIÓN 2 Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--1 2--2 2--3 2--4
Dimensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cableado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Consola de Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECCIÓN 3 Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--1 3--2 3--3 3--4 3--5 3--6 3--7 3--8 3--9 3--10
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Areas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La consola de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programación básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Escritura del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programación avanzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Juego de Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Depuración del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejecución del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tiempo de respuesta de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECCIÓN 4 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--1 4--2
Monitorización y cambio de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inicialización de tarjetas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECCIÓN 5 Eliminación de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5--1 5--2 5--3 5--4
Indicadores de alarma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lectura y borrado de mensajes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mensajes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Indicadores de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 2 5 8
11 12 13 15 20
25 27 27 37 39 50 63 68 103 104 105
109 110 117
119 120 120 120 121
Apéndices A B C D E F G
Modelos standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Especificaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones de programación y tiempo de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operaciones con la consola de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Indicadores aritméticos y de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hojas de asignación de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hoja--modelo para codificación del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oficinas de venta OMRON . . . . . . . . . . . . . . . . . . . . . . . . .
123 125 127 135 139 141 145
149 vii
SECCIÓN 1 Introducción Esta sección describe genéricamente los autómatas programables y especialmente los de la serie SP y sus diversas unidades asociadas. También describe las posibles configuraciones y conexionado. En la Sección 2 Installación se trata más detalladamente del cableado e instalación. 1--1 1--2
1--3
1--4
Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generalidades del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--2--1 Terminología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--2--2 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--3--1 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--3--2 Consola de Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--3--3 Adaptador de enlace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--3--4 Tarjetas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuración del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--4--1 Configuración básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--4--2 Configuración expandida: PC Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 2 3 4 5 5 7 7 7 8 8 8
1
Generalidades
1--1
Sección 1--2
Características
Altas prestaciones
Los PLCs de la serie SP son de diseño extremadamente compacto aunque tienen una capacidad de programación de 100 instrucciones en el SP10 ó 240 instrucciones los SP16 y SP20. El SP10 dispone de un juego de 34 instrucciones y los SP16 y SP20 de 38. Estos PLCs compactos son ideales para montaje en cuadros de control o en el mismo dispositivo que controlan.
Alta velocidad
Tiempo de ejecución de tan sólo 0.2 microsegundos mínimo. El retardo de entrada es de 400 microsegundos.
Bajo mantenimiento
El programa de usuario se transfiere automáticamente a RAM o EEPROM, eliminando la necesidad de proteger la memoria, que se puede reescribir hasta 5.000 veces.
Filtro de señal de entrada
Para prevenir errores debidos a ruidos externos en las señales de entrada, los circuitos de entrada disponen de filtros cuya constante de tiempo se puede seleccionar a 0, 1, 5, ó 10 ms.
Control distribuido
Con un adaptador de enlace se pueden conectar hasta cuatro SP. Se pueden enlazar entre PLCs hasta 128 puntos, lo que significa que cada uno de ellos puede procesar hasta 32 puntos. Cada PLC ejecuta independientemente su propio programa.
Temporizador analógico
El SP10 incorpora un temporizador analógico, y el SP16 y SP20 dos. El valor de preselección se puede cambiar estando el PLC operando, mediante un potenciómetro cubierto por la tapa frontal.
Contador reversible
Contador reversible que se puede programar con hasta cuatro salidas con distintas preselecciones.
Instrucciones de paso
Se pueden crear hasta cinco pasos (cuatro procesos) de instrucciones, simplificando el control marcha--paro del programa.
Registro de desplazamiento Registro de desplazamiento de 16 bits para controlar diversas operaciones. Instrucciones lógicas/aritméticas
Con datos de 16 bits se pueden realizar operaciones tales como Suma, Resta, AND, OR.
Instrucciones diferenciadas Se pueden programar hasta 16 instrucciones diferenciadoras de flanco de subida/bajada.
1--2
Generalidades del PLC Un PLC (Controlador programable) consiste básicamente en una CPU (Unidad de Proceso Central) con un programa y conectado a dispositivos de entrada y salida (E/S). El programa controla el PLC de tal forma que cuando se activa una entrada procedente de un dispositivo de entrada se genera una respuesta apropiada. La respuesta normalmente implica la activación de una salida de algún dispositivo de salida. Los dispositivos de entrada pueden ser fotocélulas, pulsadores, finales de carrera, o cualquier otro dispositivo capaz de generar señales que puedan ser procesadas por el PLC. Los dispositivos de salida pueden ser solenoides, lámparas de indicación, relés de control de motores, o cualquier otro dispositivo capaz de ser activados por las salidas procedentes del PLC.
2
Generalidades
Sección 1--2 Por ejemplo, un sensor que detecta el paso de objetos, activa una entrada del PLC. Este responde poniendo a ON una salida que activa un expulsor para dirigir el producto a otra cinta transportadora. Otro sensor, colocado a superior altura que el primero, pone a ON otra entrada diferente para indicar que el producto es demasiado grande. El PLC pone a ON otra salida para activar un pulsador, posicionado delante del mencionado anteriormente, para dirigir el producto a un contenedor de productos no válidos. A pesar de que este ejemplo sólo utiliza dos entradas y dos salidas, es típico de las operaciones de control que el PLC puede ejecutar. Realmente este ejemplo es mucho más complejo de lo que puede parecer en un principio debido a la temporización necesaria, es decir, ¿cómo sabe el PLC cuando ha de activar cada expulsor? También son posibles sin embargo operaciones mucho más complicadas. El problema reside en obtener a partir de las señales de entrada disponibles las señales de control deseadas en el momento adecuado. Para conseguir el control preciso, el SP10 utiliza la programación en diagrama de relés. En los siguientes apartados se explica este lenguaje de programación para programar y operar el SP10.
Circuitos de relés: Los orígenes de la lógica del PLC
Los PLCs surgieron como alternativa a los sistemas de control basados en cableados de relés. Y aunque los circuitos integrados y la lógica interna del PLC han sustituido a los componentes discretos, relés, contadores, temporizadores, etc., el PLC opera como si estos componentes siguieran ahí, pero el control es mucho más flexible y fiable. Los símbolos y otros conceptos de control del PLC proceden de la simbología de los cableados de relés, y forman la base del método de programación por diagrama de relés. La mayoría de los términos utilizados para describir y relacionar estos símbolos están tomados de la terminología informática.
Terminología relé vs. PLC
La terminología utilizada en este manual difiere algo de la terminología de relés, pero los conceptos son los mismos. La siguiente tabla muestra la relación entre términos de relés y términos utilizados para los PLCs de OMRON. Término relés
Equivalente PLC
contacto
entrada o condición
bobina
salida o bit de trabajo
Relé NA
condición de normalmente abierta
Relé NC
condición de normalmente cerrado
Los términos utilizados para los PLCs se describirán en detalle más adelante.
1--2--1
Terminología del PLC Los términos explicados a continuación son muy importantes para comprender el funcionamiento del PLC.
Entradas y Salidas
Un dispositivo conectado al PLC y al que envía una señal se denomina dispositivo de entrada; la señal que envía se denomina señal de entrada. La señal entra en el PLC a través de los terminales o pines del conector de una unidad. Se llama punto de entrada al lugar donde entra una señal. Este punto de entrada se asigna a una dirección de memoria que refleja su estado, ON u OFF. Esta dirección de memoria se denomina bit de entrada. La CPU en su ciclo de procesamiento normal, monitoriza los estados de todos los puntos de entrada y pone a ON o a OFF los bits de entrada correspondientes.
3
Generalidades
Sección 1--2 Existen también en memoria bits de salida que están asignados a puntos de salida en las unidades a través de las cuales se envian las señales de salida a los dispositivos de salida, es decir, se pone a ON un bit de salida para enviar una señal a un dispositivo de salida a través de un punto de salida. La CPU, periódicamente, pone a ON o a OFF los puntos de salida de acuerdo con los estados de los bits correspondientes. Estos términos se utilizan cuando se describen diferentes aspectos del funcionamiento del PLC. En programación, se implica la información contenida en la memoria, y por lo tanto se refiere a bits de E/S. Si se habla de Unidades que conectan el PLC con el sistema controlado y los lugares físicos de entrada y salida de las señales, nos referimos a puntos de E/S. Cuando se cablean los puntos de E/S, nos referimos también a los terminales o pines del conector. Cuando se habla de las señales procedentes o dirigidas del/al PLC nos referimos a las señales de entrada y a las señales de salida, o simplemente entradas y salidas. También depende del aspecto del PLC del que se esté hablando.
Sistema controlado y Sistema de control
1--2--2
El sistema de control incluye el PLC y todos los dispositivos de E/S utilizados para controlar un sistema externo. Un sensor que suministra información para conseguir el control es un dispositivo de entrada que forma parte claramente del sistema de control. El sistema controlado es el sistema externo cuyo funcionamiento es controlado por el PLC mediante los dispositivos de E/S. Estos, en determinados casos, se pueden considerar parte del sistema controlado, por ejemplo el motor que mueve una cinta transportadora.
Funcionamiento del PLC A continuación se indican los pasos básicos necesarios para programar y operar el SP10. Suponemos que, habiendo adquirido uno o varios SP10, dispone de la información requerida para los pasos 1 y 2, descritos brevemente a continuación. El resto de los pasos se describen en posteriores secciones en este manual. 1, 2, 3.. 1. Determinar qué debe hacer el sistema controlado, en qué orden, y cuándo. 2. Determinar el tamaño requerido por el sistema, es decir si será suficiente con una CPU o será necesario un adaptador de enlace para conectar varias CPUs. 3. Asignar, sobre el papel, todos los dispositivos de entrada y de salida a los puntos de E/S en la CPU y determinar qué bits de E/S serán asignados a cada uno. (3--2 Areas de Memoria) 4. Utilizando símbolos de diagrama de relés, escribir un programa que represente la secuencia de operaciones necesarias y su relación. Verifique también la programación de todas las respuestas apropiadas a todas las posibles situaciones de emergencia. (3--4 Programación básica, 3--6 Programación avanzada, y 3--7 Juego de Instrucciones) 5. Escribir en el PLC el programa y todos los datos necesarios. (3--5 Escritura del Programa) 6. Depurar el programa, para eliminar primero los errores de sintaxis, y para localizar luego los errores de ejecución. (3--8 Depurar) 7. Cablear el PLC al sistema controlado. (Sección 2 Instalación) 8. Probar el programa en una situción real de control y realizar los ajustes necesarios. (Sección 4 Operación) 9. Realizar dos copias del programa completo y guardarlas en diferentes lugares seguros. (3--5--8 Transferir Programa)
Diseño del sistema de control
4
Diseñar el sistema de control es el primer paso para automatizar cualquier proceso. Sólo después de entender todo el sistema de control se puede pro-
Unidades
Sección 1--3 gramar y operar el PLC. Para diseñar el sistema de control es necesario, antes de nada, un conocimiento exacto de los dispositivos que van a ser controlados. El primer paso en el diseño de un sistema de control es por lo tanto determinar los requerimientos del sistema controlado. Una vez diseñado el sistema de control, se puede empezar el resto de tareas de programación, depuración, y operación tal y como se describe en este manual.
Requerimientos de entrada/salida
Lo primero que se debe evaluar es el número de puntos de entrada y de salida que necesitará el sistema controlado. Esto se lleva a cabo identificando cada dispositivo que envía una señal de entrada al PLC o cada uno que recibe una señal de salida del PLC.
Secuencia, tiempos e interrelación
A continuación, determinar la secuencia en la que han de producirse las operaciones de control y el diagrama de tiempos de las operaciones. Identificar las relaciones físicas entre los dispositivos de E/S así como los tipos de respuestas que deberían darse entre ellos. Por ejemplo, una fotocélula se puede enlazar funcionalmente a un motor por medio de un contador del PLC. Cuando éste recibe una entrada del pulsador de arranque, podría poner en marcha el motor. El PLC pararía el motor cuando el contador haya contado un número especificado de señales de entrada procedentes de la fotocélula. Se ha de seguir el mismo proceso para determinar cada una de las tareas relativas, desde el principio de la operación de control hasta el final. Nota Entre los SP10/16/20 y los PLCs SYSMAC Serie C no existe compatibilidad de programas y dispositivos periféricos.
1--3
Unidades Esta sección presenta los nombres y funciones de los diversos componentes de la CPU, consola de programación, y adaptador de enlace.
1--3--1
CPU En las siguientes figuras se muestran las CPUs. Hay disponibles cuatro modelos de CPU por cada SP10, SP16 y SP20: dos alimentados a 100--240Vc.a. y otros dos a 24Vc.c.. Consultar el Apéndice A Modelos Standard para obtener información más detallada.
5
Unidades
Sección 1--3 Fuente de alimentación
Entradas
Potenciómetro de ajuste del temporizador analógico Conector de consola de Programación/ adaptador de enlace
NC
Salidas Terminales de alimentación de dispositivos externos 24Vc.c., 0,1A (ver nota 1)
El SP20 es básicamente igual que el SP16. La siguiente figura muestra el SP16.
SP16 and SP20
Entrada de RDM(23) Fuente de A. (Ver nota 3)
Entradas
Potenciómetro de ajuste del temporizador analógico 1 Conector de consola de Programación/adaptador de enlace Potenciómetro de ajuste del temporizador analógico 2
Terminales de alimentación de dispositivos externos 24 Vc.c., 0.2 A (ver nota 1)
Salidas
NC
Nota 1. La fuente de alimentación para dispositivos externos sólo la incorporan los modelos de 100 a 240Vc.a., modelo (SP_ _--_ _--A). 2. No conectar nada al terminal NC. 3. La entrada 000 es la entrada de contaje y la 001 es la entrada de reset para el CONTADOR REVERSIBLE, RDM(23). Cuando no se utilice RDM(23), estos terminales se pueden utilizar como puntos de entrada normal, pero la frecuencia de la señal ha de ser menor de 1kHz. Indicadores
El PLC tiene cuatro indicadores en el panel frontal, POWER, RUN, LINK, y ERROR. Las funciones de los indicadores son las siguientes. POWER (verde): Se enciende cuando está conectada la alimentación.
6
Unidades
Sección 1--3 RUN (verde): LINK(verde): ERROR(rojo):
1--3--2
Se enciende cuando el PLC está en modo RUN. Se enciende cuando el PC Link funciona correctamente. Se enciende cuando se detecta un error. El PLC parará la operación.
Consola de Programación
Conector para el cable de conexión
Display Indicador de acceso de tarjeta de memoria Interruptor de modo Teclado
Ranura para tarjeta de memoria
La consola de programación se utiliza para escribir y transferir programas al PLC, así como para monitorizar la operación y modificar datos. La consola se puede conectar directamente al PLC en caso de configuración con un sólo PLC. También se puede conectar a través de un adaptador de enlace para acceder a cada uno de los PLC conectados al adaptador. Nota Los PLCs conectados a un adaptador de enlace no se pueden conectar directamente a la consola, pues ésta está conectada al adaptador.
1--3--3
Adaptador de enlace El adaptador de enlace se utiliza para conectar hasta cuatro CPUs, de tal forma que se puedan transferir datos entre ellas y se pueda acceder a cada una mediante la consola de programación. Consultar para más detalles 1-4 Configuración del PLC. Conector para el cable de la consola de programación
Conectores para cables de CPU
1--3--4
Tarjetas de memoria La consola de programación permite realizar copias de seguridad de programas. La ranura de la tarjeta de memoria situada en la base del teclado permite transferir directamente programas de/a la consola de programación. Cada tarjeta incorpora una batería para mantener los datos.
7
Configuración del PLC
Sección 1--4 Sólo se puede utilizar un modelo de tarjeta de memoria: la HMC-ES141. Cada tarjeta tiene una capacidad de 16 Kbytes de S-RAM. Una tarjeta de memoria puede contener hasta 26 programas para el SP10 y hasta 18 programas para el SP16 y SP20. La batería que incorpora la tarjeta de memoria permite mantener los datos. La batería debe cambiarse a los cinco años. Para ello, insertar un objeto punzante, por ejemplo la punta de un bolígrafo, en el agujero de la parte inferior derecha de la tarjeta. La sustitución de la batería debe realizarse en un minuto máximo. Las tarjetas de memoria tienen un interruptor de protección contra escritura. Cuando este interruptor está en ON no se puede escribir en la memoria.
Cuidado Mientras se accede a la tarjeta de memoria, se encenderá el LED M/C ON de la consola de programación. Si se quita la tarjeta de memoria mientras este LED está encendido, se pueden dañar los datos contenidos en la memoria de la tarjeta.
1--4
Configuración del PLC El SP se puede configurar para controlar sistemas desde 10 hasta 80 puntos de E/S. El SP10 dispone de 10 puntos de E/S (6 entradas y 4 salidas), el SP16 16 puntos de E/S (12 entradas y 8 salidas) y el SP20 20 puntos de E/S (12 entradas y 8 salidas). Se pueden conectar hasta 4 PLCs de la serie SP mediante adaptador de enlace configurando un sistema de 80 puntos de E/S con 4 SP20.
1--4--1
Configuración básica Un solo SP10 (6E/4S), SP16 (10E/6S) o SP20 (12E/8S) conectado directamente a la consola de programación.
Cable de conexión SP_ _-CN__1
SP_ _
SP10-PRO01--V1
1--4--2
Configuración del sistema expandido: PC Link Mediante un adaptador de enlace se pueden conectar hasta cuatro PLCs para aumentar el número de puntos de E/S hasta 80 máximo. Aunque cada PLC sigue trabajando con su propio programa, no es necesaria ninguna programación especial para transferir datos entre los PLCs vía bits LR. Hasta 128 bits de datos (32 bits por PLC) se pueden compartir entre PLCs a través de sus áreas de LR. Consultar 3--2--6 Area LR.
8
Configuración del PLC
Sección 1--4
Adaptador de enlace SP10-AL001
Cable de conexión SP10-CN__1
SP_ _ #0
SP_ _ #1
SP_ _ #2
SP10-PRO01--V1
SP_ _ #3
Nota 1. Cuando dos o más PLCs están enlazados, el último PLC al que se ha de aplicar alimentación es el #0. 2. Si se utiliza un adaptador de enlace, siempre se debe conectar un PLC al conector 0 del adaptador. 3. Una vez conectadas las CPUs al adaptador, y alimentadas, éste asigna automáticamente los números de unidad a las CPUs. No cambiar ningún punto de conexión de la CPU una vez asignados los números de unidad. Números de Unidad
Cuando se conectan cuatro PLCs mediante PC Link, a cada uno de ellos se le asigna un número de 0 a 3 dependiendo a qué conector del adaptador de enlace están conectados. El PLC #0 controla la transferencia de datos LR entre los PLCs. La consola de programación se conecta al adaptador de enlace y puede programar y monitorizar cualquiera de los cuatro PLCs.
9
SECCIÓN 2 Instalación Esta sección contiene información relativa al montaje y cableado de las CPUs y a las especificaciones de E/S. Las conexiones de la Unidad básica se describen en 1--4 Configuración del PLC. En el Apéndice B Especificaciones, encontrará información más detallada sobre especificaciones. 2--1 2--2
2--3
2--4
Dimensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--2--1 Condiciones ambientales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--2--2 Refrigeración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--2--3 Prevención del ruido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--2--4 Montaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cableado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--3--1 Fuente de alimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--3--2 Conexiones de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--3--3 Precauciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Consola de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--4--1 Designación del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--4--2 Filtros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12 13 13 14 14 14 15 15 16 20 20 21 22
11
Dimensiones
2--1
Sección 2--1
Dimensiones Esta sección indica en milímetros las dimensiones de montaje.
CPUs
SP10-D_-_, SP16--D_ --_, SP20--D_--_ A B
68
53
Modelo PLC
Adaptador de enlace
81
Dimensión A
Dimensión B
SP10-D_-_
92
81
SP16-D_-_
135
124
SP20-D_-_
160
149
SP10-AL001 92 81
81
68
Consola de programación
53
SP10-PRO01--V1 91
155
81
12
25
Instalación
Sección 2--2
Dimensiones de montaje en superficie 2-M4
53
81
Carril de montaje El SP10 se puede montar en carril DIN. Model No.
Longitud (L)
PFP-50N
50 cm
PFP-100N
1m
PFP-100N2
1m
PFP-50N/PFP-100N
7.3+0.15
4.5 35+0.3 15
25
10
27+0.5
25 1000 (500) *
1
PFP-100N2
16
4.5 35+0.3 15
25
10
27
24
29.2
25 1000
Tope final (PFP-M)
10 6.2
1.8
1
M4x8 50
35.5
35.3
1.8 11.5
10
2--2 2--2--1
1.3 4.8
Instalación Condiciones ambientales de instalación A pesar de que los autómatas programables SP son de alta fiabilidad y duración, se deben considerar una serie de factores al instalarlos: • Temperatura ambiente de 0o a 55oC para la CPU, o de 0o a 45oC para la consola de programación. • No deben producirse cambios bruscos de temperatura que provoquen condensación. • Humedad relativa comprendida entre 10% y 90%. • Ausencia de gases corrosivos o inflamables.
13
Instalación
Sección 2--2 • Ausencia de polvo, sal, o partículas metálicas. • No exponer directamente el PLC a vibraciones o golpes. • Evitar la incidencia directa de la luz solar. • El PLC no debe estar sometido a salpicaduras de agua, aceite, o productos químicos.
2--2--2
Refrigeración Existen dos factores que pueden asegurar que el PLC no va a sobrecalentarse. El primero es la distancia entre CPUs y el panel de control que las contiene, y el segundo es la instalación de un ventilador.
Distancia
Se ha de dejar un espacio suficiente entre CPUs para el cableado de las E/S y para que los cables no impidan la refrigeración. Al mismo tiempo las CPUs han de estar a una distancia tal que la longitud del cable de conexión entre cualquier CPU y el adaptador de enlace no supere los 4 metros.
Ventilador
Verificar que existe una ventilación apropiada para los PLCs. No siempre es necesario un ventilador, pero sí lo será si el PLC se monta en lugares cerrados o sobre fuentes de calor. Es preferible evitar estas circunstancias, pero si no es posible, utilizar convección forzada de la forma que se indica en la siguiente figura para mantener la temperatura dentro de los márgenes especificados. Panel de control
Ventilador
PC
Rejilla de ventilación
2--2--3
Medidas contra el ruido Como medida preventiva de interferencias provocadas por ruido eléctrico, utilizar cables dobles apantallados AWG 14 (sección de 2 mm2 mín.). No montar el PLC en paneles con equipos de alta potencia o a menos de 200 mm de distancia de las líneas de potencia. Poner a masa el panel en el que vaya montado el PLC. Líneas de potencia
200 mm mín. PC 200 mm mín.
Siempre que sea posible utilizar canaletas para los cables de E/S, para separarlos de otros cables.
2--2--4
Montaje El sistema consta de una a cuatro CPUs, y un adaptador de enlace si se utilizan varias CPUs. Estas se pueden montar horizontal o verticalmente, pero
14
Cableado
Sección 2--3 no por uno de sus lados. La forma natural de montaje es aquélla que permite la lectura normal de la carátula. El PLC se puede montar en carril DIN o directamente sobre un soporte rígido cumpliendo las especificaciones listadas en Apéndice B Especificaciones. Utilizar carril DIN de 35 mm de ancho. La unidad tiene unas pestañas en su parte posterior para acoplarla al carril DIN.
Montaje en carril
Montaje
Desmontaje
Enganchar la pestaña superior en el carril y empujar el PLC hasta acoplar la pestaña inferior.
Mueva hacia abajo la pestaña inferior con un destornillador y tire del PLC.
Colocar topes a ambos lados del PLC para fijar su posición. 10
10
SP10 PC
Tope final Carril DIN
Carril DIN
Tope final Carril DIN
PFP-100N (1 m) PFP-50N (0.5m) PFP-100N2 (1 m)
Nota Quitar los tornillos de montaje cuando éste es sobre carril DIN.
2--3
Cableado Atención No cablear los terminales marcados “NC.”
2--3--1
Fuente de alimentación Utilizar fuentes de alimentación independientes para las entradas, las cargas de salida, y el PLC. Las fluctuaciones de tensión provocadas por los picos de corriente de los motores pueden afectar al funcionamiento del PLC. Si se utilizan más de un PLC, utilizar fuentes de alimentación para cada uno de ellos, en primer lugar para prevenir caídas de tensión, y en segundo lugar para prevenir malfuncionamiento del disyuntor. La figura muestra cómo conectar correctamente la fuente de alimentación al PLC. Consultar para más información el Apéndice B Especificaciones.
15
Cableado
Sección 2--3
Conexiones c.a. Fuente de A. c.a. • 100 a 240 Vc.a., 50/60 Hz
Transformador de aislam. 1:1 Disyuntor
Línea de alimentación • Utilizar cable doble trenzado (sección 2 mm2 mín.)
Tornillo M3.5
Para reducir las interferencias del ruido de las líneas de potencia, utilizar cables dobles trenzados. El ruido también se puede reducir significativamente conectando un transformador de aislamiento 1:1. Nota No cortocircuitar las líneas positiva y negativa. Conexiones de c.c.
Alimente a 24 Vc.c. y mantenga las fluctuaciones de tensión dentro del rango especificado. +
Tornillos M3.5
2--3--2
Conexiones de E/S Conectar los dispositivos de E/S a los terminales de E/S utilizando cable de 1.04 a 2.63 mm2 de sección. Los terminales son de tornillo M3,5 y placas auto--ascendentes. Conectar los cables a los terminales según se muestra a continuación. Apretar los tornillos con un par de 8 kg-cm máximo.
7.5 mm máx.
7.5 mm máx.
Circuitos de salida Consultar el Apéndice B Especificaciones.
16
Cableado
Sección 2--3
Salidas a relé Capacidad de conmutación máx.
Capacidad de conmutación mín.
Cargas resistivas
250 Vc.a., 2 A (cosϕ=1), 24 Vc.c., 2A/pt
Cargas inductivas
250 Vc.a., 0.5 A (cosϕ=0.4)/pt
5 Vc.c., 100 mA
Configuración de circuito Fotoacopla-- Circuito dor interno
Utilizar fuentes de alimentación separadas para las cargas
Circuito interno
Los relés son alimentados (24Vc.c.) internamente
250 Vc.a., 24 Vc.c. máx.
El siguiente ejemplo es para la CPU SP10.
250 Vc.a. máx.
Cargas
24 Vc.c.
Fuente de A. para cargas c.a.
Cargas
Fuente de A. para cargas c.c.
Salidas transistor Capacidad de conmutación máx.
24 Vc.c. 0.3 A/pt
Corriente de fuga
0.1 mA máx.
Tensión residual
1 V máx.
Configuración del circuito Fotoacoplador de aislamiento Circuito interno
24 Vc.c.
El siguiente ejemplo es para la CPU SP10.
17
Cableado
Sección 2--3
Fuente de A. de la carga 24 Vc.c.
Circuitos de entrada
Cargas
Cargas
Tanto el positivo como el negativo de la fuente de alimentación se puede conectar al terminal común (COM), posibilitando la conexión de entradas PNP (negativo común) y NPN (positivo común). Tensión de entrada
24 Vc.c. +20%/ --15%
Corriente de entrada
7 mA Típ. (24 Vc.c.)
Configuración del circuito
IN
24 VDC COM
3.3 k
Ω
470
Ω Circuito interno
1,000 pF
Fotoacoplador
Dispositivos de entrada
La fuente de alimentación del SP10 para dispositivos externos es de 0.1 A, 24 Vc.c. máx., y la del SP16 y SP20 de 0,2A, 24Vc.c. máx. El circuito de entrada consume aproximadamente 7 mA (típ. a 24 Vc.c.) por punto de entrada. Las salidas transistor con un consumo hasta 0,2A se pueden utilizar con el SP10, y con un consumo hasta 0,32A con el SP16 y SP20. Las salidas a relé necesitan una corriente de 0,013A cada una, por lo que cuando todos los relés estén en ON, la capacidad de la fuente de alimentación externa es de 0,1A para el SP10 y de 0,2A para el SP16 y SP20. Cuando se utilice el SP10 para alimentar los dispositivos de entrada, verificar que el consumo total de éstos no excede la capacidad de la fuente del PLC.
18
Cableado
Sección 2--3
Ejemplos de entrada c.c.
Los siguientes diagramas indican el modo correcto de cablear los terminales de la CPU. Prestar atención a esta operación, pues la conexión de un dispositivo de entrada a un punto de salida, puede provocar la avería del equipo. Verificar que todos los dispositivos de E/S cumplen las especificaciones (consultar Apéndice B Especificaciones). Las entradas de c.c.de los siguientes diagramas son NPN (positivo común). Cambiar la polaridad si se utiliza PNP (negativo común). Utilizar la salida de la fuente de alimentación de 24Vc.c. de la CPU para alimentar las entradas. Si la capacidad máxima de 0,3A no es suficiente, utilizar una fuente de alimentación separada.
Dispositivos de entrada de c.c. 24 Vc.c. 0V IN COM
7 mA
Fuente de A. para dispositivos externos SP_ _ Entrada de c.c.
Salidas colector abierto NPN Fuente de A. para sensores Salida
7 mA 0V
24 Vc.c. 0V IN COM
Fuente de A. para dispositivos externos SP_ _ Entrada de c.c.
Salidas de corriente NPN Utilizar la misma fuente de alimentación para la entrada y para el sensor. Regulador de corriente
Salida IN COM
7 mA 0V Fuente de A. para sensores
Entrada c.c.
SP_ _
Salidas de corriente PNP Fuente de A. para sensores Salida
7 mA 0V
IN
Entrada c.c.
SP_ _
COM
Nota Si se utiliza el modelo de c.c. (SP_ _-D_-D), no conectar la señal a través de un contacto NC (esto hace que el PLC opere cuando la señal de entrada conmuta a OFF). No será posible una operación adecuada ante interrupciones de alimentación si se utilizan contactos NC junto con instrucciones de contadores, desplazamientos, o retenciones.
19
Consola de Programación
2--3--3
Sección 2--4
Precauciones
Etiqueta adhesiva
Para evitar la entrada de objetos indeseables en la CPU se suministra una etiqueta adhesiva para la parte superior. Dejarla adherida hasta que la CPU esté lista para operar, y despegarla cuando se vaya a arrancar para permitir la refrigeración adecuada.
Salidas de contacto
La vida del relé se reducirá sensiblemente si se producen altas inducciones en las salidas de contacto. Mantener inductancias bajas o utilizar un supresor de arco (por ejemplo un diodo para cargas de c.c.). Esto es especialmente importante con cargas inductivas de c.c..
Vibraciones
El relé puede fallar si se encuentra cerca de contactores, válvulas, motores, etc. que produzcan vibraciones.
Circuitos de protección
Se recomienda utilizar supresores de arco para aumentar la vida del contacto y reducir los efectos del ruido. Sin embargo, los supresores de arco retardan el tiempo de recuperación, y si se utilizan incorrectamente, pueden perturbar la correcta operación. Los supresores de arco de c.a. más comunes son circuitos condensador--resistencia o circuitos varistor; para c.c.: circuitos condensador--resistencia, diodo, y varistor. No utilizar un condensador sin resistencia, pues la corriente de carga del condensador cuando la corriente está en ON puede quemar los contactos.
2--4
Consola de Programación Abrir la tapa del conector del PLC, alinear la muesca y acoplar el conector.
Conexión a la CPU
Cable de conexión SP10-CN__1
SP10 SP10-PRO01--V1
20
Consola de Programación
Sección 2--4
Conexión a adaptador de enlace
Adaptador de enlace SP10-AL001
Cable de conexión SP10-CN__1
SP_ _ #0
Cable de conexión
SP_ _ #1
SP_ _ #2
SP10-PRO01--V1
SP_ _ #3
Utilizar uno de los siguientes cables para conectar la consola de programación. SP10-CN221 (2 m) SP10-CN421 (4 m)
Nota La suma de las longitudes del cable entre la Unidad #0 y el adaptador de enlace y entre el adaptador de enlace y la consola de programación debe ser 4,2 m máximo.
2--4--1
Designación del PLC A cualquiera de los PLCs conectados en un PC Link se puede acceder a través del adaptador de enlace mediante la consola de programación. Utilizar la siguiente secuencia de letras para especificar el número de PLC deseado. El PLC se puede designar en modo PROGRAM o RUN.
A
A
B
0 PC 0--3? PC ?
La operación y modo de operación del PLC no se ve afectada por el cambio de designación de PLC. Cuando el interruptor de modo de la consola de pro-
21
Consola de Programación
Sección 2--4 gramación y el modo de operación del PLC que se está monitorizando son iguales, aparecerá el siguiente mensaje. El número del ángulo superior izquierdo indica el número del PLC que se está monitorizando, en este caso el PLC #1.
B
1--000
Cuando no existe concordancia entre la selección especificada por el interruptor de modo de la consola y el modo de operación del PLC se visualiza el siguiente mensaje.
B
MODE SET ERR
En este ejemplo, el mensaje indica que la consola de programación está en modo PRGM (program), y que el PLC #1 está en modo RUN. Para borrar el error y resetear la correspondiente alarma, poner en RUN la consola de programación y cambiarla de nuevo a modo PRGM. El PLC #1 cambiará a modo PRGM. Nota Si existe un error de comunicación, el display mostrará “COMM ERR”.
2--4--2
Filtros de entrada Para prevenir malfuncionamiento del PLC debido a rebotes del dispositivo de entrada o al ruido inducido, las señales de entrada se pasan por un filtro. El filtro se puede ajustar para no detectar los impulsos de entrada de duración menor a la especificada en el filtro. La duración mínima de una señal para ser detectada se puede seleccionar a 0, 1, 5, ó 10 ms. El siguiente diagrama representa la función del filtro. Entrada externa
Tiempo de detección de entrada t
t
El tiempo de detección de entrada, t, puede seleccionarse según la siguiente tabla. Tecla
Selección
Tiempo de detección real
0
0 ms
t = 150 µs
1
1 ms
t = 1 a 1.5 ms
2
5 ms
t = 5 a 5.5 ms
3
10 ms
t = 10 a 10.5 ms
Durante el periodo t a t+0,5ms, puede o no ser detectada las transiciones positivas y negativas de la señal de entrada. Selección del valor del filtro El valor del filtro se selecciona mediante la consola de programación. Los circuitos de entrada se reúnen en tres grupos, cada uno con 3 circuitos. Los
22
Consola de Programación
Sección 2--4 circuitos incluidos en cada grupo depende del PLC tal y como se indica en la siguiente tabla. Para cada grupo se puede seleccionar un valor diferente del filtro. La selección se puede realizar sólo en modo PROGRAM y debe ejecutarse antes de arrancar el PLC. Los valores del filtro se seleccionan simultáneamente en el PLC y en la consola de programación. Modelo PLC
Entradas grupo 1
Entradas grupo 2
Entradas grupo 3
SP10-D_-_
0a2
3a5
Ninguna
SP16-D_-_
0y1
2a5
6a9
SP20-D_-_
0y1
2a9
10 y 11
Seleccionar los valores del filtro después de transferido el programa y antes de poner en funcionamiento el PLC. Seleccionar 5 ó 10ms cuando el PLC esté expuesto a ruido o se encuentren conectados dispositivos propensos a rebotes. Si el valor del filtro se selecciona a 0 ó 1ms, verificar que el cableado de estrada está perfectamente instalado para prevenir interferencias. Escribir 0 para especificar 0 ms, 1 para 1 ms, 2 para 5 ms, y 3 para 10 ms.
Secuencia de teclas
Grupo 1
A
Grupo 2
B
Grupo 3
C
D
En la siguiente figura se muestran los mensajes visualizados por la consola de programación en los puntos marcados del diagrama anterior. A
0 FILTER VAL SET GROUP1 SET NO.?
B
0 FILTER VAL SET GROUP2 SET NO.?
C
0 FILTER VAL SET GROUP3 SET NO.?
D
0
FILTER
VAL
OK
Seleccionar los valores del filtro de los grupos 1, 2 y 3 al mismo tiempo. Confirmar la selección visualizándolos de nuevo. Utilizar la siguiente secuencia de teclas. Se puede leer en modo RUN o PROGRAM. Secuencia de teclas
23
Consola de Programación
Sección 2--4 La consola de programación visualizará la información en el siguiente formato.
SP10-PRO01 0 FILTER VAL GROUP 1--1
2--2 Grupo 2: 5 ms Grupo 1: 1 ms
SP10-PRO01-V1 El display mostrará las selecciones para los grupos 1 y 2 si la consola de programación está conectada a un SP10. 0
PC ProCo
:0--1 :0--2
Selecciones del PLC Grupo 1: 0 ms; grupo 2: 1 ms. Selecciones de consola de programación Grupo 1: 0 ms; grupo 2: 5 ms.
El display mostrará las selecciones para los grupos 1, 2 y 3 si la consola de programación está conectada a un SP16 ó SP20. 0
PC ProCo
:0--1--2 :0--2--2
Selecciones del PLC Grupo 1: 0 ms; grupo 2: 1 ms; grupo 3: 5 ms. Selecciones de consola de programación Grupo 1: 0 ms; grupo 2: 5 ms; grupo 3: 5 ms.
24
SECCIÓN 3 Programación Esta sección describe el proceso de programación, desde la asignación del área de memoria, hasta la depuración y ejecución del programa. 3--1 3--2
3--3
3--4
3--5
3--6
3--7
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Areas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--2--1 Estructura del área de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--2--2 Bits de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--2--3 Bits de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--2--4 Bits dedicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--2--5 Area LR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--2--6 Area DR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--2--7 Area TC (Temporizador/Contador) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La consola de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--3--1 El teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--3--2 Modos del PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programación básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--4--1 Terminología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--4--2 Código nemónico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--4--3 Instrucciones de diagrama de relés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--4--4 OUTPUT y OUTPUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--4--5 La instrucción END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--4--6 Instrucciones de bloque lógico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--4--7 Codificación de múltiples instrucciones de salida . . . . . . . . . . . . . . . . . . . . . . . . . Escritura del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--5--1 Operaciones iniciales de la consola de programación . . . . . . . . . . . . . . . . . . . . . . 3--5--2 Designación de PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--5--3 Borrar memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--5--4 Borrar mensajes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--5--5 Selección y lectura de dirección de memoria de programa . . . . . . . . . . . . . . . . . . 3--5--6 Escritura o edición de programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--5--7 Chequear programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--5--8 Transferir programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--5--9 Buscar programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--5--10 Insertar y borrar instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programación avanzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--6--1 Enclavamientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--6--2 Control de estados de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--6--3 DIFFERENTIATE UP y DIFFERENTIATE DOWN . . . . . . . . . . . . . . . . . . . . . . 3--6--4 KEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--6--5 Bits de auto--retención (Seal) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--6--6 Bits de trabajo (Relés internos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--6--7 Precauciones de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Juego de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--1 Nomenclatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--2 Formato de las instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--3 Areas de datos, operandos, e indicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--4 Codificación de instrucciones de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--5 LOAD, LOAD NOT, AND, AND NOT, OR, y OR NOT . . . . . . . . . . . . . . . . . . . 3--7--6 AND LOAD y OR LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--7 OUTPUT y OUTPUT NOT -- OUT y OUT NOT . . . . . . . . . . . . . . . . . . . . . . . . .
27 27 28 30 31 31 34 36 37 37 38 39 39 39 41 42 44 44 45 50 50 51 51 52 53 54 55 57 57 60 60 63 63 64 64 64 65 65 67 68 68 68 69 70 71 72 73
25
3--7--8
DIFFERENTIATE UP y DIFFERENTIATE DOWN -DIFU(10) y DIFD(11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--9 KEEP -- KEEP(12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--10 INTERLOCK y INTERLOCK CLEAR -- IL(02) y ILC(03) . . . . . . . . . . . . . . . . 3--7--11 END -- END(01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--12 NO OPERATION -- NOP(00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--13 Temporizadores y contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--14 TIMER -- TIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--15 TIMER -- TIMM(20) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--16 HIGH-SPEED TIMER -- TIMH(21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--17 ANALOG TIMER -- ATIM(22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--18 ANALOG TIMER 1 y 2 -- ATM1(25) y ATM2(26) . . . . . . . . . . . . . . . . . . . . . . . 3--7--19 COUNTER -- CNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--20 REVERSIBLE DRUM COUNTER -RDM(23) . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--21 HIGH--SPEED COUNTER -- CNTH(24) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--22 SHIFT REGISTER -- SFT(33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--23 MOVE -- MOV(30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--24 MOVE NOT -- MVN(31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--25 COMPARE -- CMP(32) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--26 BLOCK COMPARE -- BCMP(34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--27 CLEAR CARRY -- CLC(44) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--28 BCD ADD -- ADD(40) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--29 BCD SUBTRACT -- SUB(41) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--30 AND WORD-- ANDW(42) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--31 OR WORD -- ORW(43) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--7--32 STEP DEFINE y STEP START--STEP(04)/SNXT(05) . . . . . . . . . . . . . . . . . . . . 3--8 Depuración del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--8--1 Visualización y borrado de mensajes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--8--2 Lectura de tiempo de scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--9 Ejecución del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--9--1 Tiempo de scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--10 Tiempo de respuesta de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--10--1 Configuración simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--10--2 Configuración múltiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
73 75 76 77 77 78 79 82 83 83 84 85 88 89 91 93 93 93 95 97 97 98 99 100 100 103 103 104 104 104 105 106 107
Areas de memoria
3--1
Sección 3--2
Introducción Existen varios pasos básicos en la escritura de un programa. En el Apéndice F Modelo para asignación de E/S y en el Apéndice G Modelo para codificación del programa, se encuentran hojas modelo que pueden ayudar a la programación. 1, 2, 3.. 1.
2. 3.
4. 5. 6. 7. 8.
3--2
Obtener un listado de todos los dispositivos de E/S y de los puntos de E/S asignados, y preparar una tabla que indique la asignación de cada bit de E/S a cada dispositivo de E/S. Determinar qué canales están disponibles como bits de trabajo y preparar una tabla en la que se los pueda situar tal y como se van a utilizar. Preparar también tablas similares de temporizadores/contadores. Recordar que la función de un TIM/CNT sólo se puede definir una vez por programa. Dibujar el diagrama de relés. Escribir el programa en la consola de programación. Chequear el programa para localizar los errores de sintaxis, y corregirlos. Transferir el programa de la consola de programación a la CPU y ejecutar el programa para detectar los posibles errores, y corregirlos. Una vez instalado el sistema de control y preparado para utilizar, ejecutar el programa y realizar los ajustes finos necesarios.
Areas de memoria En la siguiente tabla se resume el nombre, acrónimo, rango, y función de cada una de las áreas de memoria. Todas son áreas de datos a excepción de la última. Los datos y áreas de memoria se referencian generalmente por su acrónimo. Los bits no listados en la siguiente tabla no se pueden utilizar.
Area Bits de entrada
Bits de salida
PLC
No. de bits
Canales
Bits
Función Entrada de señales externas al PLC. Estos bits se pueden utilizar tantas veces como sea necesario en el programa.
SP10
6
00
0000 a 0005
SP16
10
00
0000 a 0009
SP20
12
00
0000 a 0011
SP10
4
01
0100 a 0103
SP16
6
01
0100 a 0105
SP20
8
01
0100 a 0107
Cada uno de estos bits sólo se puede utilizar en una sola instrucción controlando su estado, pero se puede utilizar tantas veces como sea necesario en otras instrucciones. Si el estado del mismo bit de salida es controlado por más de una instrucción, sólo será válido el estado determinado por la última instrucción.
27
Areas de memoria Area
PLC
Bits de trabajo
SP10
SP16
SP20
Bits dedicados
SP10 SP16,
Sección 3--2 No. de bits
36
208
204
20 69
SP20
Canales
Bits
Función
00
0008 a 0015
Estos bits se utilizan como bits de trabajo para ayudar en la programación.
01
0104 a 0115
02
0200 a 0215
00
0010 a 0015
01
0106 a 0115
02
0200 a 0215
10 a 20
1000 a 2015
00
0012 a 0015
01
0108 a 0115
02
0200 a 0215
10 a 20
1000 a 2015
03
0300 a 0315
Estos bits están asignados a funciones específicas.
04
0408 a 0411
Ver tabla en 3--2--4 Bits dedicados.
03
0300 a 0315
04
0408 a 0411
05
0515
07
0700 a 0715
08
0800 a 0815
09
0900 a 0915
Retención de datos (DR)
Todos
256 max.
DR 00 a DR 15
DR 0000 a DR 1515
Estos bits mantienen su estado ON/OFF incluso durante fallos de alimentación. El número de estos bits disminuye si se asignan más bits de enlace.
Relés de enlace (LR)
Todos
128 max.
LR 00 a LR 07
LR 0000 a LR 0715
Utilizados para el intercambio de datos con otros PLCs SP mediante un adaptador de enlace. Para acceder al área LR, ésta se ha de definir mediante la consola de prgoramación.
Temporizador/ Contador (TC)
Todos
16
TIM/CNT 00 a 15
3--2--1
Utilizados para definir contadores y temporizadores y para acceder a los indicadores de terminación PV y SV. El TC 14 es utilizado por la instrucción TEMPORIZADOR ALTA VELOCIDAD (TIMH), y el TC 15 por la instrucción TEMPORIZADOR ANALOGICO.
Estructura del área de datos Para definir un área de datos, es necesario utilizar el acrónimo para las áreas DR, TC, y LR. Un dato concreto dentro de un área queda definido por su dirección, a excepción de los TC. Esta área consta de números de TC, cada uno de los cuales se utiliza para un temporizador o contador específico definido en el programa. Consultar el apartado 3--2--8 Area de temporizadores/Contadores. El resto del área de datos está compuesta de canales, cada uno de los cuales consta de 16 bits numerados del 00 al 15 de derecha a izquierda. En la figura se muestra los canales 000 y 001 con los números de bit. En este ejemplo, el contenido de cada canal es cero. Generalmente al último bit de la derecha se le denomina bit de menor peso, y al último de la izquierda bit de mayor peso. Estos términos no se utilizan en este manual dado que un canal de datos se encuentra a menudo dividido en dos o más partes, y cada una de ellas se utiliza para diferentes parámetros u operandos. En estos casos, los bits de la derecha de un canal pueden ser
28
Areas de memoria
Sección 3--2 realmente los de mayor peso, es decir pueden ser los bits de la izquierda de otro canal, si se combinan con otros bits para formar un nuevo canal. 15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
Canal 000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Canal 001
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
No. bit
Los canales quedan designados por el acrónimo (iniciales) (si es necesario) y la dirección (dos dígitos) del canal. Un bit se especifica mediante un número de cuatro dígitos: los dos primeros especifican la dirección del canal y los dos últimos (de 00 a 15) el número de bit dentro del canal. La siguiente tabla muestra varios ejemplos. El mismo número de TC se puede utilizar para designar el valor presente (PV) de un temporizador o contador, o un bit que funciona como indicador de terminación para el temporizador o contador. Area Bits de E/S, trabajo, y dedicados
00
0015 (último bit de la izquierda del canal 00)
TC
TC 03 (designa el PV)
TC 03 (designa el indicador de terminación)
LR
LR 07
LR 0000
DR
DR 15
DR 0513
3
No. dígito
Contenido
Especificación de bit
Los datos de canal introducidos como valores decimales se guardan en decimal codificado en binario (BCD); los datos dados en hexadecimal se guardan en binario. Cada dígito, hexadecimal o decimal, se codifica en cuatro bits de un canal. Por lo tanto un canal contiene cuatro dígitos, numerados de derecha a izquierda, tal y como se muestra en la siguiente figura.
Estructura de datos
No. bit
Especificación de canal
2
1
0
15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Si hablamos del canal entero, al dígito 0 de le denomina dígito de menor peso y al número 3 el de mayor peso. Para escribir en las áreas de datos, éstos han de introducirse en el formato adecuado para el propósito que se pretende. No presenta ningún problema cuando se escriben bits individuales (en ON equivalente a 1, o en OFF equivalente a 0). Sin embargo cuando se escriben canales completos, es importante escribirlos en decimal o hexadecimal dependiendo de la instrucción en la que vayan a incluirse. En 3--7 Juego de instrucciones se especifica cuándo es necesario un formato particular para una instrucción. Conversión de diferentes formatos de datos
La conversión binario--hexadecimal o viceversa es muy sencillo dado que cuatro bits de un número binario equivale a un dígito de un número hexadecimal. El número binario101111101011111 se convierte a hexadecimal tomando los bits de cuatro en cuatro empezando por la derecha. El binario 1111 es F en hexadecimal; binario 0101 es 5 en hexadecimal. Por lo tanto el número binario anterior sería el 5F5F en hexadecimal, ó 24.415 en decimal (163 x 5 + 162 x 15 + 16 x 5 + 15).
29
Areas de memoria
Sección 3--2 La conversión decimal--BCD y viceversa resulta también inmediata: basta con tomar los bits binarios en bloques de 4 comenzando por la derecha. El valor BCD 0101011101010111 expresado en decimal es el 5.757: los cuatro bits de la derecha 0101 equivale al número 5 decimal, los bits 0111 es el número 7 en decimal. Observar que éste no es el mismo valor numérico que el equivalente hexadecimal de 0101011101010111, que sería 5,757 hexadecimal, ó 22,359 en decimal (163 x 5 + 162 x 7 + 16 x 5 + 7). Dado que cada cuatro bits en BCD quivalen a un número decimal, no se pueden utilizar aquellos códigos cuyo equivalente en decimal sea superior a 9 dado que se necesitarían dos dígitos decimales para su codificación, es decir, el código 1011 no se puede utilizar dado que equivale al número 11 decimal. Sin embargo el código 1011 si es válido en hexadecimal dado que corresponde al dígito hexadecimal C.
Puntos decimales
El punto decimal sólo se utiliza con los temporizadores. El dígito menos significativo representa las décimas de segundo. Todas las instrucciones aritméticas trabajan sólo con enteros.
Direccionamiento indirecto
Normalmente cuando se especifica el contenido de un canal de datos en una instrucción, ésta se ejecuta directamente sobre el contenido de dicho canal. Por ejemplo, supongamos la instrucción CMP(32) (COMPARAR), con el canal 05 y el canal DR 10 como operandos. Cuando se ejecute la instrucción, se comparará el contenido del canal 05 con el del canal DR 10. Sin embargo también es posible utilizar DRs direccionados indirectamente como operandos. Si se especifica *DR 01 como dato de una instrucción de programación, el asterisco indica que es un direccionamiento indirecto, con lo que el operando real de la instrucción es el contenido del canal cuya dirección es especificada por el contenido del canal DR 01. Supongamos en este caso que el contenido del canal DR 01 es 06; el operando real de la instrucción sería el contenido del canal DR 06. El siguiente ejemplo ilustra este tipo de direccionamiento con la instrucción MOV(30).
MOV(30) *DR 01 LR 00
3--2--2
Direccionamiento indirecto
Canal DR 00 DR 01 DR 02
Contenido 4C01 0006 F693
DR 06 DR 07 DR 08
5555 21A5 D945
Indica DR 06.
5555 se mueve a LR 00.
Bits de E/S Los bits de entrada se utilizan para leer el estado de los terminales de entrada, es decir, se utilizan como operandos para ejecutar el programa de control. Los bits de salida se utilizan para controlar el estado de los terminales de salida, es decir, las diversas condiciones en el programa se utilizan para determinar el estado de los bits de salida mediante instrucciones OUTPUT y otras. En la siguiente tabla se indican la relación de los bits y terminales de E/S. La relación entre los bits de E/S y los terminales de E/S en el SP16 y SP20 siguen el mismo esquema.
30
Areas de memoria
Sección 3--2 Entradas Canal 00
Bit
Salidas Terminal
Canal 01
Bit
Terminal
0000
0
0100
0
0001
1
0101
1
0002
2
0102
2
0003
3
0103
3
0004
4
------
0005
5
Después de la ejecución del programa, el estado de las salidas determinado por el programa y almacenado en los bits de salida se envía a los terminales de salida. También se lee el estado de las entradas, en los correspondientes terminales, y se graba en los bits de entrada.
Atención No utilizar con los SPs de c.c., señales de entrada normalmente cerrada, para evitar el posible reset de contadores y registros de desplazamiento, y la inversión de los bits programados con la instrucción KEEP al conectar de nuevo la alimentación.
3--2--3
Bits de trabajo Los bits y canales de trabajo se pueden utilizar en programación para controlar otros bits. Los bits listados en la siguiente tabla así como los bits de las áreas LR y DR se pueden utilizar como bits de trabajo si no se utilizan para otro cometido.La aplicación real de los bits de trabajo se describe en 3--6--6 Bits de trabajo (Relés internos). En el SP10 los bits 0006 y 0007 no se pueden utilizar. SP10 Canal
Bits
Canal
SP20 Bits
Canal
Bits
00
0008 a 0015
00
0010 a 0015
00
0012 a 0015
01
0104 a 0115
01
0106 a 0115
01
0108 a 0115
02
0200 a 0215
02
0200 a 0215
02
0200 a 0215
10 a 20
1000 a 2015
10 a 20
1000 a 2015
---
3--2--4
SP16
Bits dedicados El area de bits dedicados contiene indicadores y bits de control utilizados para monitorizar la operación del sistema, acceder a los impulsos de reloj, y señalización de errores. Estos bits son los comprendidos entre 0300 y 0411. Los bits del área de bits dedicados que no tienen asignada ninguna función no se pueden utilizar. La siguiente tabla lista las funciones de los bits de indicación y de control del área de bits dedicados. Si no se indica lo contrario, los indicadores están en OFF hasta que se dé la condición especificada, momento en el que ponen a ON. Los bits 0311 a 0315 se ponen a OFF al final de cada ciclo de ejecución del programa, y por lo tanto no pueden ser monitorizados por la consola de programación. Otros bits permanecen en OFF hasta que sean activados por el usuario.
31
Areas de memoria
Sección 3--2 CH 03
04
Bit
Función
0300
PC #0 Se ponen en ON cada vez que se produce un
0301
PC #1 error de PC Link.
0302
PC #2
0303
PC #3
0304
PC #0 Se ponen en ON con PC Link normal o en
0305
PC #1 modo RUN.
0306
PC #2
0307
PC #3
0308
Impulso de reloj de 1.0-segundo
0309
Impulso de reloj de 0.1-segundo
0310
Impulso de reloj de 0.01-segundo
0311
Indicador de Error (ER)
0312
Indicador de Acarreo (CY)
0313
Indicador de Menor que (LE)
0314
Indicador de Igual que (EQ)
0315
Indicador de Mayor que (GR)
0400 a 0407
No se pueden utilizar
0408
Indicador siempre en ON
0409
Indicador siempre en OFF
0410
Indicador de primer ciclo de scan
0411
Indicador de paso
0412 a 0415
No se pueden utilizar
La información de la siguiente tabla se aplica sólo al SP16 y SP20. CH 05
Bit
Función
0500 a 0514
No se pueden utilizar
0515
Bit de habilitar transferencia de datos DR
06
0600 a 0615
No se pueden utilizar
07
0700 a 0707
Area de tiempo de scan máximo
0708 a 0715
Area de tiempo de scan actual
08
0800 a 0815
Area de valor seleccionado de ATM1
09
0900 a 0915
Area de valor seleccionado de ATM2
Descripciones: SP10, SP16, y SP20 Indicador de Error
El bit 0311 se pone en ON cuando los datos para una operación aritmética o direccionamiento indirecto no están en BCD. También se pone en ON cuando un operando especificado excede el área de datos, por ejemplo cuando un operando necesita dos canales y se designa el último canal de un área de datos.
Indicadores aritméticos
Los siguientes indicadores se utilizan en cálculos aritméticos, e instrucciones de programación. Todos estos indicadores se resetean cuando se ejecuta la instrucción END, y por lo tanto no se pueden monitorizar por ningún dispositivo.
32
Areas de memoria
Sección 3--2 Indicador de acarreo, CY
El bit 0312 se pone en ON cuando como resultado de una operación aritmética se produce un acarreo.
Indicador de menor que, LE
El bit 0313 se pone en ON cuando el resultado de una comparación de dos operandos indica que el primer operando es menor que el segundo.
Indicador de Igual que, EQ
El bit 0314 se pone en ON cuando el resultado de una comparación de dos operandos indica que ambos son iguales, o cuando el resultado de una operación aritmética es cero.
Indicador de Mayor que, GR
El bit 0315 se pone en ON cuando el resultado de una comparación de dos operandos indica que el primer operando es mayor que el segundo.
En el Apéndice E se explica la relación entre indicadores e instrucciones aritméticas. Indicadores siempre ON/OFF El bit 0408 está siempre en ON y el bit 0409 está siempre en OFF. Estos bits se pueden utilizar para controlar dispositivos de indicación externos tales como un LED para monitorizar el estado de operación del PLC. También se pueden utilizar en programación cuando una instrucción se ha de ejecutar cada ciclo de scan. Indicador de primer ciclo de scan El bit 0410 se pone en ON cuando se inicia la ejecución del programa y se pone en OFF una vez finalizado el primer ciclo de scan. El bit 0411 se pone en ON durante un ciclo de scan cuando se inicia la ejecución de paso mediante la instrucción STEP.
Indicador de paso
Descripciones: sólo SP16, y SP20 Bit de habilitar transferencia de datos DR
Poner a ON el bit 0515 para transferir datos DR de EEPROM a RAM cuando se aplica alimentación al PLC. Este bit permanecerá en ON una completada la operación de transferencia. El estado de este bit se retiene ante fallos de alimentación; es decir, los datos DR serán transferidos de EEPROM a RAM cuando se restablezca la alimentación si el bit 0515 estaba en ON cuando se cortó la alimentación. Si desea que los datos de DR permanezcan como estaban justo en el momento del corte de alimentación, poner a OFF el bit 0515 con ”Forzar a Set/Reset”. El bit 0515 se pone a OFF con ”Borrar Datos”.
Area tiempo scan máx.
Los bits 0700 a 0707 contienen el tiempo de scan máximo desde el arranque en 2 dígitos BCD (0.0 a 9.9 ms). El tiempo de scan máximo se resetea cuando comienza la operación del PLC.
Area tiempo scan actual
Los bits 0708 a 0715 contienen el tiempo de scan actual en 2 dígitos BCD (0.0 a 9.9 ms).
Nota El tiempo de scan máximo y actual se pueden leer en la consola de programación con el SP16 y SP20. Consultar página 110 para más detalles. Area de selección de ATM1
El canal 08 contiene el valor seleccionado en BCD para el temporizador analógico 1 como si se seleccionara en el potenciómetro de ajuste del panel frontal de la CPU (sólo SP16 y SP20).
Area de selección de ATM2
El canal 09 contiene el valor seleccionado en BCD para el temporizador analógico 2 como si se seleccionara en el potenciómetro de ajuste del panel frontal de la CPU (sólo SP16 y SP20).
33
Areas de memoria
3--2--5
Sección 3--2
Area LR El área LR se utiliza para transferir datos entre PLCs conectados mediante un adaptador de enlace. Para utilizar el área LR, parte del área DR se ha de asignar como área LR. Una vez hecho esto, se asignan unos bits de escritura a cada PLC en el área LR, de tal forma que lo que este PLC escriba en dichos bits puede ser leído por los otros PLCs. Cada PLC sólo puede escribir en los bits que tenga asignados, pero puede leer los bits asignados al resto de PLCs conectados. Todos los PLCs y la consola de programación conectados al mismo adaptador de enlace han de tener asignada la misma cantidad de área de LR. En caso contrario se perderán los datos. Las áreas de LR han de ser asignadas para permitir la transferencia de datos a través del adaptador de enlace. Como se muestra en la siguiente figura, el tamaño del área DR se reduce cuando se asigna el área de LR. Se utilizan como área LR segmentos de 64 ó 128 bits del área DR.
Función data link
No LR Area
64-bit LR Area
DR 00
128-bit LR Area
LR 00 a LR 03
LR 00 a LR 07
DR 00
DR 00
DR 15
DR 07
DR 11
A continuación se indican los canales correspondientes cuando se asignan 0, 64 ó 128 bits para la transferencia de datos a otros PLCs.
Asignación de LR
• 0 bits: • 64 bits: • 128 bits:
Atención
Procedimiento de asignación de área de LR
No se utiliza el área de LR. Un canal de escritura (16 bits) para cada CPU. El área de DR se reduce a DR 00 hasta DR 11. Dos canales de escritura (32 bits) para cada CPU. El área de DR se reduce a DR00 hasta DR07.
Si el tamaño del área LR se cambia una vez comenzadas las operaciones de programación o si el programa accede a direcciones no válidas, no se podrá realizar la transferencia del programa y se visualizará el mensaje “????” en la consola de programación. El tamaño del área de LR se designa utilizando la siguiente secuencia de teclas. La operación debe realizarse en modo PROGRAM. Este procedimiento asigna memoria a las unidades 0 a 3 simultáneamente.
A
0 bits
64 bits
128 bits
34
B
Areas de memoria
Sección 3--2 Las siguientes figuras muestran los mensajes que aparecen en la consola de programación en los puntos marcados en la figura anterior.
Leer asignación de LR
A
0 1.0
LR NUMBER ? 2.64 3.128
B
0 1.0
LR NUMBER OK 2.64 3.128
Para chequear el tamaño del área de LR asignado, utilizar la siguiente secuencia de teclas. Este procedimiento se puede realizar en modo RUN o PROGRAM.
Si se utiliza la consola de programación SP10--PRO01 el resultado es un display similar al siguiente. 0
LR SIZE 128 Indica que se ha seleccionado un área LR de 128 bits.
Si se utiliza la consola de programación SP10--PRO01--V1 el resultado es un display similar al siguiente. 0 PC ProCo
:128 :64
Indica que el área de LR está seleccionada a 128 bits en el PLC. Indica que el área de LR está seleccionada a 64 bits en la consola de programación.
Asignación de área de LR 64 Bits
Cuando el área asignada es 64 bits, a cada PLC se le asigna un canal (16 bits) de escritura. En el siguiente diagrama se ilustra la transferencia de datos. Cuando se escribe un dato en el área de escritura de un PLC, se transfiere el mismo contenido a las áreas de lectura de los otros PLCs conectados mediante el adaptador de enlace. PC #0
PC #1
PC #2
PC #3
LR 00
PC #0
PC #0
PC #0
PC #0
LR 01
PC #1
PC #1
PC #1
PC #1
LR 02
PC #2
PC #2
PC #2
PC #2
LR 03
PC #3
PC #3
PC #3
PC #3
DR 00 a DR 11
DR 00 a DR 11
Area de escritura
DR 00 a DR 11
DR 00 a DR 11
Area de lectura
35
Areas de memoria Asignación de área de LR 128 Bits
Sección 3--2 Cuando el área asignada es de 128 bits, a cada PLC se le asignan dos canales (32 bits) de escritura.
LR 00 LR 01 LR 02 LR 03 LR 04 LR 05 LR 06 LR 07
PC #0
PC #1
PC #2
PC #3
PC #0
PC #0
PC #0
PC #0
PC #1
PC #1
PC #1
PC #1
PC #2
PC #2
PC #2
PC #2
PC #3
PC #3
PC #3
PC #3
DR 00 a DR 07
DR 00 a DR 07
Area de escritura
Ejemplo de comunicación Data Link
DR 00 a DR 07
DR 00 a DR 07
Area de lectura
La siguiente figura muestra un ejemplo de comunicaciones entre PLCs conectados. ON
PLC #0
LR 0000
ON
LR 0000
PLC #1
0100
ON
0200
OFF
0102
ON
LR 0000
PLC #2
LR 0000
PLC #3
Cuando el relé LR 0000 del PLC #0 se pone en ON, también se ponen en ON los relés LR 0000 de los PLCs #1, #2 y #3. LR 00 es el área de escritura del PLC #0, es decir, LR 00 de los PLCs #1, #2 y #3 se utilizan para leer los datos escritos por el PLC #0.
3--2--6
Area DR El área DR se utiliza para el almacenamiento y manipulación de datos. Todos los datos que deben mantenerse ante fallos de alimentación, deben ser grabados en esta área. El tamaño del área DR depende del asignado al área LR (3--2--5 Area LR).
36
La consola de programación
3--2--7
Sección 3--3
Area de TC (Temporizador/Contador) El área TC se utiliza para crear y programar temporizadores y contadores y retener los indicadores de Terminación, valores seleccionados (SV), y valores presentes (PV) para todos los temporizadores y contadores. A todos estos datos se accede mediante los números de TC 00 a TC 15. Cada número de TC se define como un temporizador o contador utilizando una de las siguientes instrucciones: TIM, TIMM(20), TIMH(21), ATIM(22), ATM1(25), ATM2(26), CNT, RDM(23) o CNTH(24). No es necesario poner prefijo cuando se utiliza un número de TC como operando de una instrucción de temporizador o contador. Un número de TC sólo se puede utilizar una vez en el mismo programa con las instrucciones listadas anteriormente; en caso contrario se generará un error. No hay ningún orden prefijado para utilizar los números de TC. Los números de TC 11 a TC15 (TC 14 y TC 15 para el SP10) están asignados a instrucciones específicas como se muestra en la siguiente tabla: Número de TC
Instrucción
PLCs aplicables
TC 11
TEMP. ANALOGICO 1, ATM1(25)
SP16, SP20
TC 12
TEMP. ANALOGICO 2, ATM2(26)
SP16, SP20
TC 13
CONT. ALTA VELOCIDAD, CNTH(24)
SP16, SP20
TC 14
TEMP. ALTA VELCIDAD, TIMH(21)
SP10, SP16, SP20
TC 15
TEMP. ANALOGICO, ATIM(22)
SP10, SP16, SP20
Sin embargo, una vez definido, el mismo temporizador o contador se puede utilizar como operando tantas veces como sea necesario en otras instrucciones del programa. Si se define un temporizador, el número de TC asignado toma el prefijo TIM. Este prefijo TIM se utiliza sin tener en cuenta la instrucción de temporizador utilizada para definir el temporizador. Otro tanto se aplica para el contador. Los números de TC se pueden asignar para operandos de bit o operandos de canal. En el primer caso el número de TC se refiere al indicador de Terminación del temporizador o contador. En el segundo caso se refiere al valor presente del temporizador o contador almacenado en memoria. El área de TC mantiene los valores seleccionados (SVs) de los temporizadores o contadores incluso durante fallos de alimentación. Los valores presentes de los temporizadores se resetean cuando comienza la operación del PLC y cuando se utilizan en bifurcaciones del programa. Consultar el apartado 3--7--10 Interlock y Interlock Clear -- IL(02) e ILC(03) sobre la operación de temporizadores y contadores en bifurcaciones del programa. En estos casos no se resetean los valores presentes de los contadores. Observar que en programación ”TIM 0” se utiliza para designar tres conceptos: la instrucción temporizador con el TC 00, el indicador de terminación para este temporizador, y el valor presente (PV) de este temporizador, dependiendo del contexto el primero es siempre una instrucción, el segundo es siempre un bit, y el tercero es siempre un canal. Lo mismo se aplica para el resto de números de TC.
3--3
La consola de programación La consola de programación se utiliza para la programación, monitorización y mantenimiento del PLC. El programa se escribe en principio en la consola, de donde se transfiere al PLC para su ejecución, o a la tarjeta de memoria para su almacenamiento.
37
La consola de programación
Sección 3--3 Para facilitar la operación, el teclado de la consola de programación está dividido en varias secciones. Las teclas de color gris se utilizan en combinación con las teclas numéricas de color blanco para especificar instrucciones, operandos, y funciones de la consola de programación. Las teclas amarillas se utilizan para designar operaciones de la consola de programación. En la siguiente tabla se describen las funciones de cada tecla.
3--3--1
El teclado Tecla
FUN NOT SHIFT
AND OR LD OUT TIM CNT LR DR CH
*
CONT
Función
Tecla de función
Designa instrucciones via códigos de función o designa funciones de la consola de programación.
Tecla NOT
Pulsada después de las teclas LOAD, AND, o OR, designa una condición normalmente cerrada con las instrucciones LOAD, AND, o OR.
Tecla Shift
Para validar la función superior de las teclas con dos funciones. Utilizada con la tecla CH/*, Bit/Constant, o numéricas de 0 a 5.
Tecla AND
Escribe una instrucción AND.
Tecla OR
Escribe una instrucción OR.
Tecla Load
Escribe una instrucción LOAD, o una instrucción OR LOAD o AND LOAD cuando se pulsa después de la tecla OR o AND respectivamente.
Tecla Output
Escribe una instrucción OUTPUT, o una instrucción OUTPUT NOT si se pulsa antes de la tecla NOT.
Tecla Timer
Escribe una instrucción TIMER.
Tecla Counter
Escribe una instrucción COUNTER.
Tecla Link Bit
Indica un bit LR (enlace).
Tecla Data Bit
Indica un bit DR (datos).
Tecla de canal/direcc. indirecto
Indica un direccionamiento indirecto de DR, o la dirección de un canal cuando se pulsa después de la tecla Shift.
Tecla Bit/Constante
Indica un bit o constante dependiendo de si se utiliza o no la tecla Shift.
Tecla Cambiar
Pulsar para cambiar el contenido de una dirección de memoria.
Tecla Borrar
Pulsar para borrar una instrucción en combinación con la tecla Adelante.
Tecla insertar
Pulsar para insertar una instrucción en combinación con la tecla Atrás.
Tecla Clear
Cancela las operaciones y resetea la consola de programación.
Tecla Enter
Escribe instrucciones, valores de selección, y otros datos.
Tecla Adelante
Para avanzar en la lectura de programas o borrar instrucciones cuando se utiliza con la tecla borrar.
Tecla Atrás
Para retroceder en la lectura de programas o insertar instrucciones cuando se utiliza con la tecla insertar.
#
CHG DEL INS CLR ENT
38
Programación básica
Sección 3--4
Tecla MON a
Función
Tecla Monitor
Pulsar para monitorizar bits o canales.
Teclas numéricas
Para escribir valores numéricos, direcciones, y otros datos. Para escribir valores hexadecimales de A a F, pulsar antes la tecla Shift.
a
3--3--2
Modos del PLC Existen dos modos de operación del PLC que se seleccionan desde la consola de programación: RUN y PROGRAM. El modo RUN se utiliza para la ejecución normal del programa una vez escrito. En el modo RUN el PLC lee el estado de los terminales de entrada y actualiza las salidas de acuerdo con el resultado de la ejecución del programa. El modo PROGRAM se utiliza para escribir y depurar el programa durante la selección del sistema de control y para acceder y manipular datos una vez que el sistema de control está corriendo. El programa no se ejecuta en modo PROGRAM.
Modo de arranque
Cuando se pone en on el PLC con la consola de programación conectada, el interruptor de modo de la consola de programación determinará el modo de operación inicial. Si la consola de programación no está conectada al PLC, éste arrancará siempre en modo RUN, ejecutándose inmediatamente el programa. Si se conecta la consola de programación depués de poner en ON el PLC, éste continuará en el modo de operación en que estaba, sin tener en cuenta el modo especificado por la consola de programación. Atención Verificar que la consola de programación está en modo PROGRAM cuando se conecte la alimentación al PLC a no ser que se desee expresamente otro modo. Si la consola está modo RUN, al poner el PLC en ON se ejecutará cualquier programa que tenga en memoria, poniendo en marcha el sistema controlado. Si la entrada START en la fuente de alimentación de la CPU está en ON y no hay ningún dispositivo conectado a la CPU, verificar que no haya problemas antes de poner en ON el PLC.
PELIGRO! No dejar la consola de programación conectada a la CPU mediante un cable alargador estando en modo RUN. El ruido detectado por el cable puede alcanzar el PLC, afectando al programa y por lo tanto al sistema controlado.
3--4 3--4--1
Programacion básica Terminología Existen básicamente dos tipos de instrucciones utilizadas en programación de diagrama de relés: instrucciones de relés que corresponden a las condiciones del diagrama de relés y las de la parte derecha del diagrama de relés, controladas por las anteriores. Las primeras se utilizan en forma de instrucción sólo cuando se convierten a código nemónico. La mayoría de las instrucciones tienen uno o varios operandos asociados. Los operandos indican o suministran los datos sobre los que se ejecutará la
39
Programación básica
Sección 3--4 instrucción. En ciertas ocasiones éstos se especifican como valores numéricos, pero lo normal es que sean direcciones de canales o bits que contienen los datos a utilizar. Por ejemplo, una instrucción MOVE que tiene asignado como primer operando el canal 00, moverá el contenido de dicho canal a otro lugar. Este otro lugar se designará como un operando. Un bit cuya dirección se asigna a un operando se denomina bit operando; un canal cuya dirección se asigna a un operando se denomina canal operando. Cuando se asigna una constante como operando, se ha de escribir delante el caracter # para indicar que no es una dirección.
Diagrama de relés
Un diagrama de relés o de escalera consiste de una línea vertical a la izquierda llamada barra de bus y de líneas paralelas que parten de aquélla, denominadas líneas de instrucción. Junto a las líneas de instrucción se colocan condiciones, siendo las combinaciones lógicas de estas condiciones las que determinan cuándo y cómo se ejecutan las instrucciones de la derecha. La siguiente figura muestra un diagrama de relés sencillo. 0000
0001
0312 Instrucción
0002
0010
0002
0003 DR 0050 Instrucción
0011 Instrucción 0012
Como se muestra en el diagrama, las líneas de instrucción se pueden unir o separar. Los conjuntos de dos líneas paralelas se denominan condiciones. Las condiciones sin una línea diagonal se llaman condiciones normalmente abiertas y corresponden a instrucciones LOAD, AND, o OR, mientras que aquéllas cruzadas por una línea diagonal se denominan condiciones normalmente cerradas y corresponden a instrucciones LOAD NOT, AND NOT, OR NOT. El número situado sobre la condición se denomina bit de operando para la condición. Es el estado del bit asociado a cada instrucción el que determina la condición de ejecución para las siguientes instrucciones. Condiciones normalmente abierta y normalmente cerrada
Toda condición de un diagrama de relés es ON u OFF dependiendo del estado del bit operando asignado. Una condición normalmente abierta está en ON si el bit asignado está en ON, y en OFF si el bit está en OFF. Una condición normalmente cerrada está en ON si el bit asignado está en OFF, y en OFF si el bit está en ON. Generalizando se utiliza una condición normalmente abierta si desea hacer algo cuando un bit esté en ON, y utiliza una condición normalmente cerrada si se ha de ejecutar una acción cuando un bit esté en OFF. 0000 Instrucción
Condición normalmente abierta 0000 Instrucción
Condición normalmente cerrada
40
La instrucción se ejecuta cuando el bit 0000 está en ON.
La instrucción se ejecuta cuando el bit 0000 está en OFF.
Programación básica
Sección 3--4
Condiciones de ejecución
En diagrama de relés, la condición final bajo la cual se ejecutará una instrucción, se determina mediante la combinación de las condiciones ON u OFF que la preceden. Esta condición final, ON u OFF, se denomina condición de ejecución para la instrucción. Todas las instrucciones a excepción de las instrucciones LOAD, tienen condiciones de ejecución.
Bits operando
Los operandos para cualquiera de las instrucciones pueden ser bits de E/S, de trabajo, DR, o dedicados. Esto significa que las condiciones en un diagrama de relés pueden ser determinadas por los estados de E/S, estado de indicadores, estados contenidos en bits de trabajo, estados de temporizadores/contadores, etc.
Bloques lógicos
La correspondencia entre condiciones e instrucciones se determina por la relación entre las condiciones contenidas en las líneas de instrucción que las conectan. Todo grupo de instrucciones unidas para crear un resultado lógico se denomina bloque lógico. Aunque se pueden escribir diagramas de relés sin analizar realmente bloques individuales, la comprensión de éstos es necesaria para programar eficazmente, y es esencial cuando los programas se escriben en código nemónico.
3--4--2
Código nemónico El diagrama de relés no se puede escribir directamente en el PLC mediante la consola de programación. Antes es preciso convertirlo a código nemónico. En realidad se puede programar directamente en nemónico, pero no es recomendable para personal inexperto o para programas complejos. El programa se almacena en memoria en código nemónico. Dada la importancia del código nemónico, lo vamos a describir junto con el diagrama de relés.
Estructura de la memoria de programa
El programa se graba en direcciones de la memoria de programa. Las direcciones en esta memoria difieren de las de otras áreas de la memoria dado que no todas las direcciones contienen necesariamente la misma cantidad de datos. Es más, cada dirección contiene una instrucción junto con todos los datos y operandos que requiere. Dado que algunas instrucciones necesitan un canal, mientras que otras necesitan hasta 5 canales, las direcciones de la memoria de programa pueden tener una longitud desde 1 hasta 5 canales. La dirección inicial de memoria de programa es la 000 y la última aquélla que agote la capacidad de la memoria (144 canales). El primer canal de cada dirección define la instrucción. El primer canal también puede contener alguno de los datos utilizados por algunas instrucciones. Si una instrucción necesita un operando de un solo bit, se programa en el mismo canal que la instrucción. El resto de canales ocupados por una instrucción contiene los operandos que especifican qué datos se han de utilizar. Cuando se convierte a código nemónico, casi todas las instrucciones del diagrama de relés se escriben de la misma forma, una línea en cada canal, igual como aparecen en los símbolos de diagramas de relés. A continuación se muestra un ejemplo de código nemónico.
41
Programación básica
Sección 3--4 Dirección Instrucción 000 001 002 003 004 005 006
007
LD AND OR LD NOT AND AND LD MOV(30)
Operandos DR
0001 0001 0002 0100 0101 0102
DR
00 00
# DR
0100 00
CMP(32)
Las columnas de dirección e instrucción sólo se rellenan para el código nemónico de la instrucción. Para el resto de las líneas estas columnas se dejan en blanco. Si la instrucción no necesita definidor o bit operando, en la primera línea se deja en blanco la columna de operando. Es muy útil tachar todos los espacios en blanco de la columna de operando (para todas las instrucciones que no necesitan bit operando) pues se puede chequear rápidamente si falta por escribir alguna dirección. En programación, las direcciones aparecen automáticamente, no siendo necesario escribirlas, a no ser que se desee otra ubicación para la instrucción. Cuando se pase a código nemónico, es preferible comenzar en la dirección de memoria 000, a no ser que exista una razón específica para comenzar en cualquier otra.
3--4--3
Instrucciones de diagrama de relés Estas instrucciones son las correspondientes a las condiciones del diagrama de relés. Estas instrucciones, individuales o combinadas con bloques lógicos, descritas a continuación, integran las condiciones de ejecución sobre las cuales se basa la ejecución del resto de instrucciones.
LOAD y LOAD NOT
La primera condición para comenzar una línea lógica en un diagrama de relés corresponde a la instrucción LOAD o LOAD NOT. Cada una de estas instrucciones necesita una línea de código nemónico. En los siguientes ejemplos se utiliza “Instrucción” como comodín que sustituye a cualquier instrucción de la parte derecha del diagrama, y descritas más adelante en este manual. 0000
Una instrucción LOAD 0000
Una instrucción LOAD NOT
Dirección Instrucción 000 001 002 003
LD Instrucción LD NOT Instrucción
Operandos 0000 0000
Si esta es la única condición de la línea lógica, para la instrucción LOAD (condición normalmente abierta), la condición de ejecución sería ON cuando el bit 0000 esté en ON; para la instrucción LOAD NOT (condición normalmente cerrada), sería ON cuando el bit 0000 esté en OFF. AND y AND NOT
42
Cuando la misma línea de instrucción contiene dos o más condiciones, la primera corresponde a una LOAD o LOAD NOT, y el resto a instrucciones AND o AND NOT. El siguiente ejemplo muestra tres condiciones correspondientes a las siguientes instrucciones: LOAD, AND NOT y AND. De nuevo, cada una de estas instrucciones necesita una línea de código nemónico.
Programación básica 0000
Sección 3--4 0100
LR 0000
Dirección Instrucción
Instrucción
000 001 002 003
Operandos
LD AND NOT AND Instrucción
0000 0100 0000
LR
La instrucción tendrá una condición de ejecución en ON sólo cuando las tres condiciones anteriores sean ON, es decir bit 0000 a ON, bit 0100 a OFF y LR0000 a ON. Las instrucciones AND en serie se pueden considerar individualmente, con cada una de ellas realizando la operación lógica AND de la condición de ejecución (es decir el total de las condiciones hasta este punto) y el estado del bit operando de la instrucción AND. Si ambos están en ON, se producirá una condición de ejecución ON para la siguiente instrucción. Si alguno de ellos es OFF, el resultado también será OFF. La condición de ejecución para la primera instrucción AND es la primera condición de la línea de instrucción. Cada instrucción AND NOT en serie realizará la operación lógica AND entre su condición de ejecución y la condición negada de su bit operando. Cuando dos o más condiciones en líneas separadas se juntan, la primera condición corresponde a una instrucción LOAD o LOAD NOT; el resto de las condiciones corresponden a instrucciones OR u OR NOT. El siguiente ejemplo muestra tres condiciones correspondientes a las siguientes instrucciones: LOAD NOT, OR NOT, y OR. Cada una de estas instrucciones necesita una línea de código nemónico.
OR y OR NOT
0000 Instrucción
Dirección Instrucción 000 001 002 003
0100 LR 0000
LD OR NOT OR Instrucción
Operandos
LR
0000 0100 0000
La instrucción tendrá una condición de ejecución ON cuando por lo menos una de las condiciones anteriores sea ON, es decir cuando el bit 0000 esté en OFF, el bit 0100 en OFF, o el LR 0000 esté en ON. Las instrucciones OR y OR NOT se pueden considerar individualmente, con cada una de ellas realizando la operación lógica OR entre su condición de ejecución y el estado de su bit operando. Combinación de instrucciones AND y OR
0000
0001
0002
Cuando en programas más complicados nos encontramos con varias instrucciones AND y OR, algunas veces se pueden considerar individualmente, es decir cada instrucción realiza una operación lógica con su condición de ejecución y su bit operando.
0003 Instrucción
0100
Dirección Instrucción 000 001 002 003 004 005
LD AND OR AND AND NOT Instrucción
Operandos 0000 0001 0100 0002 0003
En este ejemplo, se ejecuta una AND entre el estado del bit 0000 y el del bit 0001, para determinar la condición de ejecución para la OR con el bit 0100.
43
Programación básica
Sección 3--4 El resultado de esta operación será la condición de ejecución para la AND con el estado del bit 0002, que a su vez será la condición de ejecución para la AND con el estado negado (AND NOT) del bit 0003. Sin embargo en diagramas más complicados es necesario considerar bloques lógicos para determinar la condición de ejecución final, para lo que se utilizan las instrucciones AND LOAD y OR LOAD. Pero antes veamos las instrucciones necesarias para completar un sencillo programa de ”entrada-salida”.
3--4--4
OUTPUT y OUTPUT NOT La forma más sencilla de presentar en una salida el resultado de la combinación de condiciones de ejecución es programarla directamente con las instrucciones OUTPUT y OUTPUT NOT. Estas instrucciones controlan el estado del bit operando designado de acuerdo con la condición de ejecución. Con la instrucción OUTPUT, el bit se pondrá a ON mientras la condición de ejecución esté en ON y lo mismo con OFF. Con la instrucción OUTPUT NOT, el operando se pondrá en ON mientras la condición de ejecución esté en OFF, y se pondrá a OFF mientras la condición sea ON. Dirección Instrucción
0000 0100
0001 0101
000 001
LD OUT
Dirección Instrucción 000 001
LD OUT NOT
Operandos 0000 0100 Operandos 0001 0101
En los ejemplos anteriores, el bit 0100 estará en ON mientras el bit 0000 esté en ON, y el bit 0101 estará en ON mientras el bit 0001 esté en OFF. En este caso, los bits 0000 y 0001 son bits de entradas y los 0100 y 0101 son bits de salidas, es decir las entradas 0 y 1 controlan el estado de las salidas 0 y 1 respectivamente. La duración del estado ON u OFF de un bit se puede controlar combinando la instrucción OUTPUT u OUTPUT NOT con la instrucción TIM. Consultar Ejemplos en 3--7--14 Temporizadores -- TIM.
3--4--5
La instrucción END La última instrucción necesaria para completar un programa es la instrucción END. La CPU ejecuta el programa cíclicamente, comienza por la primera instrucción y ejecuta secuencialmente las siguientes hasta encontrar la instrucción END, momento en que vuelve a ejecutar la primera instrucción y repite el ciclo. Las instrucciones de un programa situadas a continuación de la instrucción END no se ejecutan. Para depurar el programa se suelen insertar instrucciones END en diversos lugares del programa para chequear bloques de aquél, pero una vez depurado se han de borrar para que la CPU ejecute el programa completo. El número que sigue a la instrucción END es su código de función, que se suele utilizar para escribir la mayoría de las instrucciones en el PLC. Esta instrucción no necesita operando, y no debe haber ninguna condicion en su línea de instrucción.
0000
Dirección Instrucción
0001 Instrucción
END(01)
44
Aquí termina la ejecución del programa
000 001 002 003
LD AND NOT Instrucción END(01)
Operandos 0000 0001 ---
Programación básica
Sección 3--4 El programa no se ejecutará si no existe instrucción END.
3--4--6
Instrucciones de bloque lógico Las instrucciones de bloque no corresponden a condiciones específicas en el diagrama de relés; más bien describen la interrelación de bloques lógicos. La instrucción AND LOAD realiza la operación lógica AND de las condiciones producidas por dos bloques lógicos. La OR LOAD ejecuta la operación lógica OR de dos bloques. El siguiente diagrama de relés, a pesar de su aparente sencillez, necesita de una instrucción AND LOAD.
AND LOAD
0000
0002 Instrucción
0001
0003
Dirección Instrucción 000 001 002 003 004
LD OR LD OR NOT AND LD
Operandos 0000 0001 0002 0003 ---
Los dos bloques lógicos son los marcados por las líneas discontínuas. En este ejemplo se producirá una condición de ejecución ON cuando: cualquiera de las condiciones del bloque de la izquierda sea ON (bit 0000 o bit 0001 en ON), y cuando cualquiera de las condiciones de la derecha sea ON (bit 0002 en ON o bit 0003 en OFF). El diagrama anterior no se puede convertir a nemónico utilizando sólo instrucciones AND y OR. Lo que se necesita es realizar las OR (NOT)s independientemente y luego combinar los resultados. Para hacer esto, se puede utilizar una instrucción LOAD o LOAD NOT en medio de una línea de instrucción. Cuando se ejecuta la instrucción LOAD o LOAD NOT, la condición de ejecución presente se salva en buffers especiales comenzando el proceso lógico. Para combinar los resultados de la condición de ejecución presente con la de la condición anterior ”no utilizada”, se utiliza una instrucción AND LOAD o OR LOAD. Se produce una condición de ejecución no utilizada cuando se usa la instrucción LOAD o LOAD NOT en una línea de instrucción para cualquier condición que no sea la primera. Analizando el diagrama de relés anterior en función de instrucciones nemónicas, la condición para el bit 0000 es una instrucción LOAD y la condición inferior es una instrucción OR entre el estado del bit 0000 y el del bit 0001. La condición en el bit 0002 es otra instrucción LOAD y la condición inferior es una instrucción OR NOT, es decir una OR entre el estado del bit 0002 y el estado inverso del bit 0003. Para obtener la condición de ejecución para la instrucción de la derecha, se ha de ejecutar la AND lógica de los dos bloques anteriores. La instrucción AND LOAD hace esto. El código nemónico se muestra en la tabla anterior. La instrucción AND LOAD no necesita operandos propios, dado que opera sobre las condiciones previamente obtenidas. OR LOAD
El siguiente diagrama necesita una OR LOAD entre el bloque lógico superior y el inferior. Se producirá una condición de ejecución ON para la instrucción de la derecha cuando el bit 0000 esté en ON y el bit 0001 en OFF o cuando el bit 0002 y el bit 0003 estén en ON. La operativa de la instrucción OR LOAD es similar a la de la instrucción AND LOAD excepto que la operación que se ejecuta es la OR lógica.
45
Programación básica 0000
Sección 3--4
0001 Instrucción
0002
0003
Instrucciones de bloques lógicos en serie
Dirección Instrucción 000 001 002 003 004
LD AND NOT LD AND OR LD
Operandos 0000 0001 0002 0003 ---
Para codificar diagramas con instrucciones de bloque lógico en serie, aquéllos se han de dividir en bloques lógicos. Cada bloque se codifica utilizando una instrucción LOAD para codificar la primera condición, y luego se utilizan AND LOAD y OR LOAD para combinar lógicamente los bloques. Primero escribir los dos primeros bloques lógicos y luego utilizar la instrucción de bloque lógico para combinar los resultados. Luego escribir el siguiente bloque junto con la instrucción de bloque necesaria para combinarlo con el resultado anterior. A continuación presentamos algunos ejemplos. El siguiente diagrama necesita de AND LOAD para convertirlo a código nemónico ya que hay tres bloques paralelos conectados en serie.
0000
0002
0004 0100
0001
0003
Dirección Instrucción 000 001 002 003 004 005 006 007 008
0005
LD OR NOT LD NOT OR AND LD LD OR AND LD OUT
Operandos 0000 0001 0002 0003 — 0004 0005 — 0100
El siguiente diagrama necesita instrucciones OR LOAD para convertir a código nemónico dado que existen tres bloques serie conectados en paralelo. El primer par de contactos en serie se convierte a LOAD con el bit operando asignado y luego se ejecuta la AND con la otra condición. Los dos primeros bloques se codifican en primer lugar, seguido por OR LOAD, el último bloque, y otra OR LOAD. 0000
0001 0101
0002
0003
00040
0005
Dirección Instrucción 000 001 002 003 004 005 006 007 008
LD AND NOT LD NOT AND NOT OR LD LD AND OR LD OUT
Operandos 0000 0001 0002 0003 — 0004 0005 — 0101
Combinación de AND LOAD AND LOAD y OR LOAD se pueden utilizar en la misma sección del progray OR LOAD ma. El siguiente diagrama contiene sólo dos bloques lógicos. No es necesario separar en más bloques el bloque b dado que se puede codificar utilizando instrucciones AND y OR.
46
Programación básica 0000
0001
0002
Sección 3--4 0003 0101
000 001 002 003 004 005 006 007
0201
0004
Block a
Dirección Instrucción
Block b
LD AND NOT LD AND OR OR AND LD OUT
Operandos 0000 0001 0002 0003 0201 0004 — 0101
Aunque el siguiente diagrama es muy similar al enterior, el bloque b no se puede codificar sin separarlo en dos combinados con una OR LOAD. En este ejemplo se codifican primero los tres bloques seguidos por las dos instrucciones de bloque lógico necesarios para combinarlos. Estas se deben codificar en orden inverso, es decir, se codifica primero la instrucción para combinar los dos últimos bloques, y este resultado se codifica con el del primer bloque. Block b1 0000
0001
0002
Dirección Instrucción
0003 0102
0004
0104
Block b2 Block a
Block b
Diagramas complejos
000 001 002 003 004 005 006 007 008
LD NOT AND LD AND NOT LD NOT AND OR LD AND LD OUT
Operandos 0000 0001 0002 0003 0004 0104 — — 0102
Para programar diagramas complicados, el mejor método pasa por dividir el diagrama en bloques simples, en los que no sea necesario utilizar instrucciones OR LOAD y AND LOAD, programarlos por separado, y luego combinarlos. En el siguiente ejemplo, el diagrama se divide en cuatro bloques, que programamos de arriba abajo y de izquierda a derecha, y que luego combinamos. Combine siempre los bloques verticalmente y de izquierda a derecha. En este caso se programan por separado los cuatro bloques: a1, a2, b1, y b2. A continuación se combinan los bloques a1 y a2, y b1 y b2 mediante OR LOADs, y se finaliza combinando mediante AND LOAD los bloques formados en el paso anterior: a y b.
Block a1 0000
0001
Block b1 0004
Dirección Instrucción
0005 0103
0002
0003
0008
0009
Block a2
Block b2
Block a
Block b
000 001 002 003 004 005 006 007 008 009 010 011
LD AND NOT LD NOT AND OR LD LD AND LD AND OR LD AND LD OUT
Operandos 0000 0001 0002 0003 — 0004 0005 0008 0009 — — 0103
Bloques a1 y a2
Bloques b1 y b2 Bloques a yb
47
Programación básica
Sección 3--4
Este diagrama se programa de la misma forma que el anterior.
0100
Bloque a
Bloque b
Bloque c
Bloque n
El siguiente diagrama necesita una OR LOAD seguida de una AND LOAD para codificar el bloque superior de los tres, y luego dos OR LOAD para completar el código nemónico.
0000
0001 LR 0000 0002
0004
0005
0106
0107
0003
Dirección Instrucción 000 001 002 003 004 005 006 007 008 009 010 011 012
LD LD LD AND NOT OR LD AND LD LD NOT AND OR LD LD NOT AND OR LD OUT
Operandos
LR
0000 0001 0002 0003 ------0004 0005 ---0106 0107 ---0000
Aunque el programa se ejecuta tal y como se escribe, este diagrama se puede dibujar como sigue para eliminar la primera OR LOAD y AND LOAD, simplificando el programa y ahorrando espacio en memoria.
0002
0003
Dirección Instrucción
0000 LR 0000
0001 0004
0005
0106
0107
000 001 002 003 004 005 006 007 008 009 010
LD AND NOT OR AND LD NOT AND OR LD LD NOT AND OR LD OUT
Operandos
LR
0002 0003 0001 0000 0004 0005 ---0106 0107 ---0000
El siguiente diagrama necesita cinco bloques, programados en orden, antes de utilizar OR LOAD y AND LOAD para combinarlos de atrás adelante. La OR LOAD en la dirección de programa 008 combina los bloques d y e, la
48
Programación básica
Sección 3--4 siguiente AND LOAD combina la condición de ejecución resultante con la del bloque c, etc.
0000
0001
Dirección Instrucción
0002 LR 0000
Bloque b Bloque a Bloque c 0003
Bloque d
0004
0005
0106
0107 Bloques d y e Bloque c con resultado anterior
Bloque e
Bloque b con resultado anterior Bloque a con resultado anterior
000 001 002 003 004 005 006 007 008 009 010 011 012
LD LD AND LD AND LD LD AND OR LD AND LD OR LD AND LD OUT
Operandos
LR
0000 0001 0002 0003 0004 0005 0106 0107 ------------0000
El programa anterior se puede simplificar resultando el siguiente:
0106
0107
0003
0004
Dirección Instrucción
0000 LR 0000
0005 0001
0002
000 001 002 003 004 005 006 007 008 009
LD AND OR AND AND LD AND OR LD AND OUT
Operandos
LR
0106 0107 0005 0003 0004 0001 0002 ---0000 0000
El siguiente ejemplo puede parecer un diagrama complicado, pero se puede codificar utilizando sólo dos instrucciones de bloque lógico. El diagrama es el siguiente: Bloque a 0000
0001
0010
0011
0002
0003
0004
0005 0100
0106
0100 Bloque b
Bloque c
La primera instrucción de bloque combina los bloques a y b, y la segunda el bloque c y la condición de ejecución resultante de la condición normalmente cerrada asignada al bit 0003. El resto del diagrama se puede codificar con instrucciones OR, AND, y AND NOT.
49
Escritura del programa en la memoria del PLC Bloque a 0000
LD AND
Sección 3--5
Bloque b
0001
0010
0000 0001
LD AND
0011
0010 0011
Dirección Instrucción
OR LD Bloque c 0004
0100
OR 0002
LD AND
0100 0003
0005
0004 0005
0106
AND 0002 AND NOT 0003
LD
0106
AND LD
000 001 002 003 004 005 006 007 008 009 010 011 012
Operandos
LD AND LD AND OR LD OR AND AND NOT LD AND OR AND LD OUT
0000 0001 0010 0011 ---0100 0002 0003 0004 0005 0106 ---0100
0100
3--4--7
Codificación de múltiples instrucciones de salida Si existe más de una instrucción a la derecha ejecutadas con la misma condición, se codifican consecutivamente a continuación de la condición de la línea de instrucción. En este ejemplo, la última línea de instrucción contiene una condición más que corresponde a una AND con el bit 0004.
0000
0003 DR 0001
0001 0100 0002
0004 0106
DR 0000
3--5
Dirección Instrucción 000 001 002 003 004 005 006 007 008
LD OR OR OR AND OUT OUT AND OUT
Operandos
DR DR
0000 0001 0002 0000 0003 0001 0100 0004 0106
Escritura del programa en la memoria del PLC Una vez codificado el programa en nemónico se puede escribir directamente en el PLC mediante la consola de programación. El chequeo del programa implica un chequeo de sintaxis de las instrucciones escritas. Una vez corregidos los errores sintácticos, se puede comenzar una ejecución de prueba, y finalmente se pueden realizar las correcciones pertinentes a las condiciones de trabajo reales. En los siguientes apartados se describen las operaciones necesarias para escribir en memoria el programa, así como para modificar programas ya existentes, y el procedimiento para obtener el tiempo de scan presente. Antes de cargar el programa, verificar la existencia o no de otro programa ya cargado. En caso afirmativo y si se trata de un programa que no necesita, borrar el programa mediante la secuencia de teclas de borrado de memoria, y a continuación cargue el programa.
50
Escritura del programa en la memoria del PLC
3--5--1
Sección 3--5
Operaciones iniciales con la consola de programación Para utilizar la consola de programación la primera vez, proceder como sigue: 1, 2, 3.. 1. 2. 3. 4. 5. 6. 7.
Conectar la consola de programación al PLC o al adaptador de enlace. Verificar que la conexión es correcta. Poner el selector de modo de la consola en PRGM (PROGRAM). Alimentar el SP10. Se iluminará el display de la consola y aparecerá el mensaje “ PASSWORD!” . Pulsar CLR y luego MON (la password). Se visualizará el mensaje “ BZ” . Si hay conectados más de un PLC mediante el adaptador de enlace, indicar el PLC. Borrar la memoria.
En los siguientes apartados se describen en detalle cada una de las operaciones enumeradas. Todas las operaciones han de hacerse en modo PROGRAM mientras no se indique lo contrario. Password
Para acceder a las funciones de programación del PLC, se ha de escribir primero la password (contraseña). Esta evita el acceso no autorizado al programa. El PLC pide la password cuando se conecta la alimentación, o si el PLC ya estaba alimentado, cuando se conecta la consola de programación al PLC. Cuando aparezca el mensaje “Password!”, pulsar CLR y luego MON. Después pulsar la tecla CLR para borrar el display. Verificar que el PLC esté en modo PROGRAM antes de escribir la password. Al escribir la password, el PLC se pondrá en el modo seleccionado por el interruptor de modo, comenzando la operación si está en modo RUN. El modo se puede cambiar a RUN con el interruptor de modo una vez escrita la password. PASSWORD! BZ
Indica el modo especificado por el selector de modo
Zumbador
Inmediatamente después de escribir la password o inmediatamente después de cambiar el modo, se pueden pulsar secuencialmente las teclas SHIF y 1 para activar/desactivar el zumbador que suena al pulsar cualquier tecla de la consola. Si se visualiza BZ en el ángulo superior derecho, el zumbador está activo, y desactivado si no se visualiza. El zumbador sonará siempre que se produzca un error durante la operación del PLC, independientemente de que esté o no activado.
3--5--2
Designación de PLC Cuando hay conectados más un PLC y la consola de programación mediante el adaptador de enlace, se ha de especificar el PLC al que se desea acce-
51
Escritura del programa en la memoria del PLC
Sección 3--5
der utilizando la siguiente secuencia de teclas. El PLC puede estar en modo PROGRAM o en modo RUN.
A
A
B
0 PC 0--3? PC ?
Al cambiar la designación de PLC, el funcionamiento y el modo de operación del PLC no varía. El siguiente mensaje aparece cuando el interruptor de modo de la consola de programación y el PLC monitorizado tienen la misma selección. El número del ángulo superior izquierdo indica el PLC que se está monitorizando, en este caso el no. 1.
B
1--000
Cuando el interruptor de modo de la consola de programación y el modo de operación del PLC monitorizado no concuerdan, aparecerá un mensaje similar al de la figura: B
MODE SET ERR
En este ejempo, el mensaje indica que la consola de programación está en modo PRGM (program), y que el PLC #1 está en modo RUN. Para borrar el error y resetear la correspondiente alarma, poner en RUN el interruptor de modo de la consola y luego cambiar PRGM. El PLC #1 se pondrá en modo PROGRAM. Nota Si existe un error de comunicación aparecerá el mensaje “COMM ERR”.
3--5--3
Borrar la memoria Mediante la operación Borrar Memoria es posible borrar total o parcialmente la memoria de programa, y las áreas de DR y TC. Si no se especifica expresamente, esta operación borrará todas las áreas mencionadas además de los contenidos de la memoria de la consola de programación. Antes de la primera programación, o de la instalación de un nuevo programa, borrar todas las áreas de memoria. Antes de borrar la memoria comprobar si contiene algún programa que vaya a necesitar; en caso afirmativo, borrar solamente las áreas de memoria que no necesite. Para borrar todas las áreas de memoria, pulsar CLR hasta que sólo se visualicen ceros, y luego teclear la secuencia de la línea superior de la siguiente figura. Las líneas que parten de la horizontal contienen la secuencia para borrado parcial de
52
Escritura del programa en la memoria del PLC
Sección 3--5
memoria. Al ser borrada la memoria de programa se escribe en toda ella instrucciones no operación NOP(00). Estas instrucciones no realizan ninguna operación. La memoria sólo se puede borrar en modo PROGRAM. Secuencia de teclas
[Dirección]
Borrado completo
Para borrar totalmente la memoria, pulsar las siguientes teclas:
Borrado parcial
Es posible mantener los datos de las áreas especificadas o de parte de la memoria de programa. Para retener los datos de las áreas TC y/o DR, pulsar la tecla apropiada después de escribir el número de función 60. Si no se especifica la retención, ambas áreas serán borradas. CNT se utiliza para el área completa de TC. El display mostrará las áreas que van a ser borradas. También es posible retener una parte del área de programa, en concreto desde la primera dirección hasta la dirección que se especifique. Después de especificar las áreas de datos, DR y/o CNT, a retener, escribir la primera dirección de memoria de programa a borrar. Como ejemplo, para dejar tal cual el área DR y mantener el contenido de las direcciones 000 a 029 de la memoria de programa, escribir lo siguiente: 0--000 0--000PRGM CLEAR CNT DR 0--000PRGM CLEAR CNT 0--030PRGM CLEAR CNT
3--5--4
Borrado de mensajes de error Antes de escribir un nuevo programa, se han de borrar todos los mensajes de error grabados en la memoria. Se supone que las causas que provocaron dichos mensajes han sido eliminadas. Si al intentar borrar un mensaje de error suena el zumbador, eliminar la causa del error y luego borrarlo. Para visualizar todos los mensajes grabados en memoria, pulsar CLR, FUN, 6, 1, y luego MON. Aparecerá el primer mensaje. Pulsando de nuevo MON
53
Escritura del programa en la memoria del PLC
Sección 3--5
se borrará el mensaje presente y aparecerá el siguiente. Seguir pulsando MON hasta borrar todos. Los mensajes de error se pueden visualizar en cualquier modo, pero sólo se pueden borrar en modo PROGRAM. Secuencia de teclas
3--5--5
Selección y lectura de direcciones de la memoria de programa Cuando se escribe el primer programa, normalmente se graba partiendo de la dirección 000. Dado que esta dirección aparece cuando se borra el display, no es necesario especificarla. Cuando se escribe un programa a partir de una dirección distinta de la 000, o se desea modificar un programa, se ha de especificar la dirección deseada. Para ello, pulsar CLR y luego escribir la dirección deseada. Mediante las teclas de flecha arriba -- abajo, podrá visualizar los contenidos de las direcciones siguiente o posterior. Si la lectura de la memoria de programa se ejecuta en modo RUN, también se visualizará el estado ON/OFF de los bits implicados.
Secuencia de teclas (Dirección)
Ejemplo
Al grabar en memoria el programa de la figura, cuando se pulsen las teclas correspondientes aparecerán los displays mostrados a su derecha. 0--000 0--050
54
0--050READ LD
0000
0--051READ AND NOT
0200
0--052READ OR
0201
0--053READ OR
0100
0--054READ AND
0001
0--055READ OUT
0100
Escritura del programa en la memoria del PLC Dirección Instrucción 050 051 052 053 054 055
3--5--6
Sección 3--5 Operandos
LD AND NOT OR OR AND OUT
0000 0200 0201 0100 0001 0100
Escribir o editar programas Los programas se pueden escribir o editar sólo en modo PROGRAM. Tanto para escribir un programa como para cambiar uno que ya existe, se utiliza el mismo procedimiento. En ambos casos se escribe sobre los contenidos de la memoria. Para escribir un programa, seguir el código nemónico obtenido a partir del diagrama de relés, verificando que se ha seleccionado la dirección adecuada antes de comenzar. Una vez visualizada la dirección deseada, escribir la primera instrucción y sus operandos, pulsando la tecla ENT cada vez que se teclee un operando, es decir, ENT se ha de pulsar cada vez que se escribe una línea de código nemónico. Al pulsar ENT se grabará la instrucción escrita y aparecerá el display con la siguiente dirección si la instrucción sólo necesita un canal. Si la instrucción necesita dos o más canales, aparecerá el siguiente operando con un valor por defecto. Cuando se escriben valores numéricos no es necesario escribir los ceros de la izquierda, a excepción de los códigos de función en los que sí es necesario escribirlos. Los números de TC como bits operandos (es decir los indicadores de contaje/tiempo alcanzado), se especifican pulsando TIM o CNT antes de la dirección, dependiendo de si el número de TC se ha utilizado para definir un temporizador o un contador. Para designar un direccionamiento indirecto de DR, pulsar CH/* antes de DR.
Escritura de las selecciones (SV) para TIM/CNT
Los valores de selección SV para un temporizador o contador se escriben generalmente como una constante, aunque es posible dar la dirección de un canal que contiene el SV. En el primer caso, no es necesario escribir CONT/#, simplemente escribir el valor numérico y pulsar ENT. Para especificar un canal, pulsar CLR y luego escribir la dirección del canal.
Instrucciones
Las instrucciones más elementales disponen para su codificación de una tecla en la consola de programación. El resto de las instrucciones se especifican utilizando el código de función correspondiente. Estos códigos de función se dan entre paréntesis a continuación del nemónico de la instrucción. Para escribir una instrucción mediante su código de función, seleccionar la dirección, pulsar FUN, escribir el código de función, los operandos o definidores y pulsar ENTER.
Secuencia de teclas ?
?
[Instrucción]
55
Escritura del programa en la memoria del PLC Ejemplo
Sección 3--5
El siguiente programa se puede escribir utilizando la secuencia de teclas de la siguiente figura. Dirección Instrucción 000 001
LD TIM
002
TIMH(21)
Operandos 0000 00 0150 01 9500
# #
0--000 LD
0000
0--001READ NOP (00) 0--001 TIM
00
0--001READ TIM
DATA
A #0000
0--001READ TIM
DATA
A #0150
0--002READ NOP (00) 0--002 FUN (??) 0--002 TIMH(21) 0--002READ TIMH(21)
DATA A #0000
0--002 TIMH(21)
DATA A #9500
0--003READ NOP (00)
56
14
Escritura del programa en la memoria del PLC Mensajes de error
Durante la escritura de un programa pueden aparecer los siguientes mensajes de error. Corregir el error como se indica y seguir escribiendo el programa. Mensaje error
3--5--7
Sección 3--5
Tipo de error
Posible causa/Corrección
PRGM OVER
Programa demasiado grande
El programa excede la capacidad de la memoria. (La última dirección no es una instrucción NOP, y por lo tanto no se puede escribir el programa). Borrar todos los datos a partir de la instrucción END, o reducir el programa.
ADR OVER
Dirección demasiado alta
El programa excede de la última dirección de la memoria de programa. Reescribir las direcciones.
I/O No. ERR
Error de operando
Se ha especificado un valor no válido para un operando. Corregir los datos.
Chequear el programa Una vez escrito el programa, se debería verificar que no hay errores de sintaxis. Para chequear el programa, escribir la secuencia de teclas de la figura. Cuando se pulse MON, comenzará el chequeo del programa. Si se detecta un error, se detendrá el chequeo para indicar el error y la dirección donde aparece. Pulsar MON para continuar con el chequeo. Una vez chequeado todo el programa, se visualizará “PRGM CHK END(01)”. Si se produce un error, leer la dirección que lo contiene, y corregir el programa. Para detener la operación de chequeo, pulsar la tecla CLR. Nota El chequeo de sintaxis sólo se puede realizar en modo PROGRAM.
Secuencia de teclas
Mensaje error
Nombre
PRGM CHK END (01)
Fin de chequeo de programa
El chequeo se ha pasado hasta la instrucción END sin encontrar más errores.
(dirección programa)
--
Se ha detectado un error en la dirección visualizada. Corregir el código. Si se ha cambiado la selección del área LR, se visualizará “????”. Cambiar la selección del área LR verificando que es idéntica a la existente cuando se creó el programa.
Falta instrucción END
No existe instrucción END en el programa. Escribirla al final de programa.
o ???? NO END INST
3--5--8
Significado
Transferir programa Una vez eliminados todos los errores, el programa se puede transferir de la consola de programación al PLC. Este paso es necesario para poder ejecutar el programa. El programa y/o los datos también se pueden almacenar en tarjetas de memoria mediante la consola de programación, disponiendo de esta forma de una copia de seguridad de los mismos.
57
Escritura del programa en la memoria del PLC
Sección 3--5
SP_ _
Consola de programación
Transf. automática de datos EEPROM
RAM
RAM
Escribir, editar, y transferir programa
Memoria de protección
RAM
Tarjeta de memoria
Nota 1. Las tarjetas de memoria han de inicializarse antes de poder grabar en ellas. 2. El número máximo de programas que se pueden almacenar en una tarjeta de memoria es 26. 3. Si se cambia el tamaño del área LR después de haber comenzado las operaciones de programación, o si el programa accede a direcciones no permitidas, no se podrá ejecutar la transferencia, y se visualizará el mensaje “????” en la consola de programación. Procedimiento de transferencia
58
En la siguiente figura se muestran las secuencias de teclas para transferir datos entre el PLC y la consola de programación o entre ésta y las tarjetas de memoria. Seleccionando 1 ó 2, después de escribir el número de función, se selecciona trasferencia a CPU o tarjeta de memoria. Para cambiar el sentido de la transferencia se pueden utilizar las teclas de flecha arriba -- abajo.
Escritura del programa en la memoria del PLC
Sección 3--5
Secuencia de teclas UM
ProCo→PLC
PC
A
B
Programa transferido a PLC o a consola de programación
UM+DR PLC→ProCo Generalmente los datos del área DR se escriben directamente en el PLC. Sin embargo si ha de transferir el programa y los datos de DR especificar UM+DR. UM ProCo→CARD
Programa transferido a tarjeta
Nombre
Tarjeta de memoria
fichero C UM+DR
B
CARD→ProCo UM: indica el programa de usuario, valor del filtro, y tamaño de LR.
B Programa transferido a la consola de programación Fichero borrado
DR: indica contenidos de la memoria de datos.
D
E
Los displays mostrados por la consola de programación son los de la siguiente figura.
A
0 PRGM TRANSFER? 1.PC 2.CARD
Cuando se selecciona 1 ó 2 como respuesta a la pregunta, el display indicará la opción seleccionada colocando un cursor intermitente sobre número elegido.
B
0 PRGM TRANSFER ProCo PC
El display indicará la dirección de la transferencia mediante una flecha. Durante la transferencia, el cursor destellará sobre la flecha.
TRANSFER B 0 PRGM END ProCo PC TRANSFER?
Este display indica que la transfencia está completa.
Cuando se escribe en una tarjeta de memoria, se ha de especificar un nombre de fichero para identificar cada programa. Este nombre puede contener hasta 8 caracteres compuesto por los comprendidos entre 0 y 9 y A y F.
C
0 PRGM NAME =
D
0 PRGM U----
DELETE? 1000
Indicate que se va a borrar un fichero conteniendo sólo el programa de usuario llamado “1000”.
0 PRGM END
DELETE 1000
Indica que el fichero “1000” ha sido borrado.
E
Atención Los ficheros borrados no se pueden recuperar. Verificar que se ha especificado el fichero correcto antes de pulsar la tecla ENT.
59
Escritura del programa en la memoria del PLC
3--5--9
Sección 3--5
Buscar programa Se puede buscar la existencia de cualquier dirección del área de datos o de un temporizador/contador utilizado en un programa. La búsqueda se puede hacer desde la dirección visualizada o desde el display limpio. Una vez encontrada una instrucción o dirección de bit, se puede pulsar la tecla MON para buscar la existencia de dicha instrucción o bit en otras direcciones del programa. Cuando se visualiza el primer canal de una instrucción multicanal como resultado de una instrucción de búsqueda, el resto de canales de la instrucción se visualizarán pulsando la tecla de flecha abajo ante de continuar buscando.
Secuencia de teclas (Dirección bit)
Ejemplo:
0--000 0--000CONT
SEARCH 0000
0--000CONT
SEARCH 0200
0--051CONT AND NOT
SEARCH 0200
3--5--10 Insertar y borrar instrucciones En modo PROGRAM, se puede borrar cualquier instrucción que se esté visualizando, o insertar otra instrucción delante de ella. Estas operaciones no se pueden hacer en modo RUN. Para insertar una instrucción, visualizar la instrucción delante de la cual se desea insertar, escribirla, pulsar INS y la tecla de flecha abajo. Para borrar una instrucción, visualizarla, pulsar DEL y luego la tecla de flecha arriba. Se borrará la instrucción y todos los operandos asociados a ella. Atención Prestar mucha atención para no borrar instrucciones inconscientemente; no existe forma de recuperarlas a no ser escribiéndolas completamente de nuevo.
60
Escritura del programa en la memoria del PLC
Sección 3--5
Secuencia de teclas Localizar la posición en el programa y lueInstrucción go pulsar:
Cuando se inserta o borra una instrucción, todas las direcciones siguientes de la memoria de programa se ajustan automáticamente de tal forma que no existan direcciones en blanco o instrucciones sin dirección. El siguiente programa muestra los cambios producidos en el programa mediante la secuencia de teclas y displays mostrados a continuación.
Ejemplo
Programa original Dirección Instrucción 000 001 002 003 004 005 006 007 008
LD AND LD AND NOT OR LD AND AND NOT OUT END(01)
0001
0004
0003
0101 0001
0000 0001 0201 0002 -0003 0004 0101 --
Antes de borrar:
Antes de insertar: 0000
Operandos
0002
0000
END(01)
0003
0005
0004 0101
0001
0005
0001
0002
Delete
END(01)
Las siguientes figuras muestran las secuencias de teclas necesarias para hacer los cambios anteriores, así como los displays que aparecen.
61
Escritura del programa en la memoria del PLC
Sección 3--5
Insertar una instrucción 0--000 0--000CONT
SEARCH 0000
0--000CONT
SEARCH 0101
0--007CONT OUT
SEARCH 0101
0--006READ AND NOT
0004
0--006 AND
0000
0--006 AND
0005
0--006INSERT? AND
0005
0--007INSERT END AND NOT
0004
0--006READ AND
0005
Localizar la dirección antes del punto de inserción Programa después de insertar Dirección Instrucción 000 001 002 003 004 005 006 007 008 009
Operandos
LD AND LD AND NOT OR LD AND AND AND NOT OUT END(01)
0000 0001 0001 0002 -0003 0005 0004 0101 --
Insertar la instrucción
Borrar una instrucción 0--000
62
0--000CONT
SEARCH 0000
0--000CONT
SEARCH 0101
0--008CONT OUT
SEARCH 0101
0--007READ AND NOT
0004
0--007 DELETE? AND NOT
0004
0--007DELETE END OUT
0101
0--006READ AND
0005
Buscar la instrucción a borrar Programa después de borrar Dirección Instrucción 000 001 002 003 004 005 006 007 008
LD AND NOT LD AND NOT OR LD AND AND OUT END(01)
Confirmar que es la instrucción a borrar.
Operandos 0000 0001 0001 0002 -0003 0005 0101 --
Programación avanzada
3--6
Sección 3--6
Programación avanzada
3--6--1
Enclavamientos Cuando una línea de instrucción se divide en dos o más líneas, en ciertas ocasiones será necesario utilizar enclavamientos para retener la condición de ejecución existente en el punto de bifurcación. Para esto se utilizan las instrucciones INTERLOCK (IL(02)) y INTERLOCK CLEAR (ILC(03)). La instrucción IL(02) desactiva todas las bobinas de salida comprendidas entre ella y la instrucción ILC(03), si la condición de ejecución de IL es OFF.
0000
0001 Instrucción 1
Dirección Instrucción
0002
000 001 002 003 004 005 006
Instrucción 2
Operandos
LD IL AND Instrucción 1 AND Instrucción 2 ILC
0000 ---0001 0002 ----
El diagrama anterior se puede escribir como sigue: 0000 IL(02)
Dirección Instrucción 000 001 002 003 004 005 006
0001 Instrucción 1 0002 Instrucción 2
ILC(03)
Operandos
LD IL(02) LD Instrucción 1 LD Instrucción 2 ILC(03)
0000 --0001 0002 ---
Como se muestra en el siguiente diagrama, se pueden utilizar más de una instrucción INTERLOCK dentro de un bloque de instrucciones; cada IL será efectiva hasta la siguiente instrucción INTERLOCK CLEAR, es decir se pueden programar dos o más IL sin ILC entre ellas, pero no al contrario, dado que una instrucción ILC sin una IL no tiene ningún sentido. 0000 IL(02) 0001 Instrucción 1 0002 IL(02) 0003
0004 Instrucción 2
0005 Instrucción 3 0008 Instrucción 4
ILC(03)
Dirección Instrucción 000 001 002 003 004 005 006 007 008 009 010 011 012 013
LD IL(02) LD Instrucción 1 LD IL(02) LD AND NOT Instrucción 2 LD Instrucción 3 LD Instrucción 4 ILC(03)
Operandos 0000 --0001 0002 --0003 0004 0005 0008 ---
Si el bit 0000 del diagrama anterior está a OFF, la ejecución del programa saltará a la ILC y no se ejecutará ninguna de las instrucciones comprendidas
63
Programación avanzada
Sección 3--6 entre ambas. Si 0000 es ON, se ejecutará la instrucción 1, y si el estado de 0002 es OFF saltará a la ILC sin ejecutarse las instrucciones intermedias, mientras que si 0002 es ON, se ejecutarán también las instrucciones 2, 3 y 4.
3--6--2
Control de estado de bits Existen cinco instrucciones que se pueden utilizar para controlar el estado de bits individuales. Estas instrucciones son OUTPUT, OUTPUT NOT, DIFFERENTIATE UP, DIFFERENTIATE DOWN, y KEEP. Todas estas instrucciones aparecen al final de las líneas de instrucción y necesitan como operando la dirección de un bit. A continuación las describimos por su importancia en la mayoría de los programas. Aunque se utilizan para poner a ON o a OFF bits de salida (es decir para enviar o no señales de salida a dispositivos externos), se utilizan también para controlar el estado de bits de trabajo y otros bits de memoria.
3--6--3
DIFFERENTIATE UP y DIFFERENTIATE DOWN Las instrucciones DIFFERENTIATE UP y DIFFERENTIATE DOWN se utilizan para poner un bit a ON durante un ciclo de scan, en el flanco de subida la primera y en el flanco de bajada la segunda. Dirección Instrucción
0000 DIFU(10) 0200
000 001
LD DIFU(10)
Operandos 0000 0200
0001 DIFD(11) 0201
Dirección Instrucción 000 001
LD DIFD(11)
Operandos 0001 0201
En este ejemplo, el bit 0200 se pondrá a ON durante un ciclo de scan cuando el bit 0000 cambie a ON. La siguiente vez que se ejecute DIFU(10) 0200, el bit 0200 se pondrá a OFF independientemente del estado del bit 0000. Con la instrucción DIFFERENTIATE DOWN, el bit 0201 se pondrá a ON durante un ciclo de scan al ponerse en OFF el bit 0001. En un programa se pueden utilizar hasta 16 instrucciones DIFFERENTIATE UP y DIFFERENTIATE DOWN.
3--6--4
KEEP La instrucción KEEP se utiliza para mantener el estado del bit operando basado en dos condiciones de ejecución. Para ello la instrucción KEEP está conectada a dos líneas de instrucción. Cuando la condición de ejecución de la primera línea (set) es ON, el bit operando de la instrucción KEEP se pone a ON. Cuando la condición de ejecución de la segunda línea (reset) es ON, el bit operando de la instrucción KEEP se pone a OFF. La línea de reset tiene prioridad sobre la de set. El bit operando de la instrucción KEEP mantendrá su estado ON u OFF incluso si está incluido en una sección IL--ILC de un programa. En el siguiente ejemplo, DR 0000 se pondrá a ON cuando el bit 0002 esté en ON y el bit 0003 a OFF. DR 0000 permanecerá en ON hasta que uno de los bits 0004 ó 0005 se ponga a ON. Con KEEP, igual que con todas las instruc-
64
Programación avanzada
Sección 3--6 ciones que necesiten más de una línea de instrucción, éstas se codifican antes de la instrucción que controlan.
0002
Dirección Instrucción
0003
S: entrada de set
KEEP(12) DR 0000
0004
R: entrada de reset
0005
3--6--5
000 001 002 003 004
LD AND NOT LD OR KEEP(12)
Operandos
DR
0002 0003 0004 0005 0000
Bits de autorretención A pesar de que la instrucción KEEP puede utilizarse para crear bits auto--retenidos, algunas veces es necesario crear bits auto--retenidos de tal forma que puedan ponerse a OFF cuando estén incluidos en una sección IL--ILC del programa. Para crear un bit auto--retenido, el bit operando de una instrucción OUTPUT se utiliza como condición para la misma instrucción OUTPUT en una configuración OR de tal forma que el bit operando de la instrucción OUTPUT permanecerá en ON u OFF hasta que se produzca un cambio en otros bits. Como reset se utiliza al menos otra condición antes de la instrucción OUTPUT. El ejemplo anterior de la instrucción KEEP se puede escribir como se muestra en el siguiente esquema. La única diferencia entre ambos programas sería su operación en una sección IL--ILC de un programa cuando la condición de ejecución para la instrucción IL fuera ON. Aquí el bit DR 0000 se puede poner a OFF conmutando a ON cualquiera de los bits 0004 y 0005.
0002
0003
0004
Dirección Instrucción
0005 DR 0000
DR 0000
3--6--6
000 001 002 003 004 005
LD AND NOT OR AND NOT AND NOT OUT
Operandos
DR
DR
0002 0003 0000 0004 0005 0000
Bits de trabajo (Relés internos) A veces en programación resulta muy difícil combinar condiciones para producir directamente condiciones de ejecución. Estas dificultades se vencen utilizando determinados bits que condicionan indirectamente otras instrucciones. Estos bits se denominan bits de trabajo. Los bits de trabajo no se transfieren al/del PLC. Hay bits seleccionados por el programador para facilitar la programación como se describe arriba. Los bits de E/S y otros dedicados no se pueden utilizar como bits de trabajo. Todos los bits no asignados a E/S, y ciertos bits no utilizados del área DR se pueden utilizar como bits de trabajo. Se recomienda documentar cuidadosamente cómo y dónde se utilizan los bits de trabajo.
Aplicaciones bit de trabajo
Los ejemplos propuestos en este apartado son dos de los empleos más comunes de los bits de trabajo. Sin embargo las formas de utilización son prácticamente ilimitadas. Siempre que se encuentren dificultades para programar una acción de control, se debería contemplar el uso de los bits de trabajo para ver cómo se simplificaría la programación.
65
Programación avanzada
Sección 3--6 Los bits de trabajo se utilizan frecuentemente con instrucciones OUTPUT, OUTPUT NOT, DIFFERENTIATE UP, DIFFERENTIATE DOWN, y KEEP. El bit de trabajo se utiliza primeramente como operando para una de esas instrucciones de tal forma que más tarde pueda ser utilizado como una condición que determinará como se ejecuten otras instrucciones. Estos bits también se pueden utilizar con otras instrucciones; en 3--7--20 REGISTRO DE DESPLAZAMIENTO -- SFT(33) se muestra un ejemplo. La comprensión del uso de estos bits es esencial para una programación eficaz.
Simplificación de condiciones complejas
0000
Cuando una determinada combinación de condiciones se utiliza repetidamente junto con otras condiciones, se utilizan los bits de trabajo para simplificar la programación. En el siguiente ejemplo los bits 0000, 0001, 0002 y 0003 forman un bloque lógico cuyo resultado se almacena en el bit 0103. El bit 0103 se utiliza en combinación con otras condiciones para determinar las condiciones de salida de los bits 0100, 0101 y 0102, es decir para activar o desactivar las salidas que les hayan sido asignadas. Dirección Instrucción
0001 0103
0002
0003
0103
0004
0103
0005
0100
0005 0101
0004
0103 0102
000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016
LD AND NOT OR OR NOT OUT LD AND AND NOT OUT LD OR NOT AND OUT LD NOT OR OR OUT
Operandos 0000 0001 0002 0003 0103 0103 0004 0005 0100 0103 0004 0005 0101 0103 0008 0009 0102
0008
0009
Condiciones diferenciadas
Los bits de trabajo también se pueden utilizar si es necesario un tratamiento diferenciado para alguna, pero no todas, de las condiciones de ejecución de una instrucción. En este ejemplo, el bit 0100 ha de estar en ON simpre que el 0001 esté en ON y los 0002 y 0003 estén en OFF, o mientras el bit 0004 esté en ON y el 0005 esté en OFF. Se debe poner a ON sólo durante un ciclo de scan cada vez que el bit 0000 se ponga en ON (a no ser que ya lo esté debido a las condiciones anteriores). Esta acción se programa fácilmente utilizando el bit 0200 como un bit de trabajo así como bit operando de la instrucción DIFFERENTIATE UP (DIFU(10)). Cuando el bit 0000 se pone a ON, el bit 0100 se pondrá a ON durante un ciclo de scan y en el siguiente ciclo de scan a OFF. Suponiendo que las otras condiciones que controlan el bit 0100 no están en ON, el bit de trabajo 0200 pondrá a ON el bit 0100 durante sólo un ciclo de scan.
66
Programación avanzada
Sección 3--6
0000 DIFU(10) 0200 0200 0100 0001
0002
0004
0003 0005
3--6--7
Dirección Instrucción 000 001 002 003 004 005 006 007 008 009 010
LD DIFU(10) LD LD AND NOT AND NOT OR LD LD AND NOT OR LD OUT
Operandos 0000 0200 0200 0001 0002 0003 --0004 0005 --0100
Precauciones en programación El número de condiciones que se pueden utilizar en serie o paralelo es ilimitado mientras no se exceda la capacidad de la memoria del PLC. Por lo tanto se recomienda utilizar tantas condiciones como sea necesario para generar un diagrama claro. A pesar de que se pueden dibujar diagramas muy complicados con líneas de instrucción, no debe haber ninguna condición en las líneas verticales que unen otras dos líneas de instrucción. El diagrama A de la figura no es posible programarlo en nemónico, y debe dibujarse como el diagrama B.
0000
0002 Instrucción 1
0004 0001
0003 Instrucción 2
Diagrama A 0001
0004
0002 Instrucción 1
0000 0000
0004
0003 Instrucción 2
0001
Diagrama B
Address 000 001 002 003 004 005 006 007 008 009
Instruction LD AND OR AND Instruction 1 LD AND OR AND NOT Instruction 2
Operands 0001 0004 0000 0002 0000 0004 0001 0003
Para simplificar el programa se puede repetir el mismo bit tantas veces como sea necesario, sin limitación. Con frecuencia los programas complicados son el resultado de intentar reducir el número de veces que se utiliza un bit. Excepto para las instrucciones que no admiten condiciones (p. e. INTERLOCK CLEAR), cada línea de instrucción debe tener al menos una condición para determinar la condición de ejecución de la instrucción de la derecha. El diagrama A de la siguiente figura se debe dibujar como se indica en el diagrama B. Si se ha de ejecutar continuamente una instrucción (p. e. si una salida ha de estar siempre en ON mientras se está ejecutando el programa), se puede utilizar el indicador de siempre en ON (bit 0408).
67
Juego de Instrucciones
Sección 3--7
Instrucción
Diagrama A 0408 Instrucción
Dirección Instrucción 000 001
Diagrama B
LD Instrucción
Operandos 0408
Existen unas pocas excepciones a esta regla, incluyendo las instrucciones INTERLOCK CLEAR y de paso. Estas instrucciones son la segunda parte de instrucciones utilizadas por pares, y están controladas por la condición de ejecución de la primera parte. Cuando se dibujan diagramas de relés, es importante pensar el número de instrucciones que serán necesarias para su codificación. En la siguiente figura, el diagrama A necesita una instrucción OR LOAD para combinar las líneas de instrucción superior e inferior. El diagrama B realiza la misma operación y no necesita de la instrucción OR LOAD. Dirección Instrucción
0000 0107 0001
0107
Diagrama A 0001
LD LD AND OR LD OUT
Dirección Instrucción
0107 0107
0000
Diagrama B
3--7
000 001 002 003 004
000 001 002 003
LD AND OR OUT
Operandos 0000 0001 0107 --0107 Operandos 0001 0107 0000 0107
Juego de instrucciones En el resto de esta sección se explica individualmente cada instrucción del SP10.
3--7--1
Nomenclatura A partir de este punto todas las instrucciones se nombrarán por sus nemónicos. Por ejemplo, la instrucción OUTPUT se denominará OUT, la AND LOAD como AND LD, etc. En aquellas instrucciones que tengan asignado código de función, éste se escribirá entre paréntesis después del nemónico. Este código de función, número de dos dígitos decimales, es el que se utiliza frecuentemente para escribir las instrucciones en la CPU. En el Apéndice C se da un listado de las instrucciones ordenadas por su código de función.
3--7--2
Formato de las instrucciones La mayor parte de las instrucciones tienen uno o más operandos asociados. Los operandos indican o suministran los datos de ejecución de las instrucciones. En algunos casos los operandos son números reales (p. e. constantes), pero habitualmente se trata de direcciones de canales o bits del área de datos que contienen los datos a utilizar. Un bit cuya dirección está asignada
68
Juego de Instrucciones
Sección 3--7 como un operando se denomina bit operando; e igualmente sucede con los canales. En algunas instrucciones la dirección de un canal asignado como operando indica el primero de varios canales que contienen los datos deseados. Cada instrucción requiere uno o más canales de memoria de programa. En todo caso, el primer canal contiene la instrucción y algunos definidores o bits operandos necesarios para la instrucción, y los siguientes canales contienen el resto de operandos, uno por canal. Los definidores son operandos que definen la instrucción más que indicar los datos a utilizar. Ejemplos de definidores son los números de TC utilizados en las instrucciones de temporizadores y contadores. Los bits operandos también se incluyen en el canal de la instrucción, aunque no se consideren como definidores.
3--7--3
Areas de datos, operandos, e indicadores En esta sección, junto con la descripción de cada instrucción, se incluye su símbolo de diagrama de relés, las áreas de datos que se pueden utilizar como operandos, y los valores que se pueden utilizar como definidores. No todas las direcciones de las áreas especificadas se pueden utilizar necesariamente para un operando, por ejemplo si un operando necesita dos canales, no se puede designar el último canal de un área de datos como el primer canal del operando, y el primer canal de otro área asignarlo al segundo canal de operando, puesto que todos los canales de un operando han de estar dentro del mismo área de datos. En la siguiente tabla se listan los indicadores, con la abreviatura y número de bit. Abreviación
Nombre
Bit
ER
Indicador de error de ejecución
0311
CY
Indicador de acarreo
0312
LE
Indicador de Menor que
0313
EQ
Indicador de Igual
0314
GR
Indicador de Mayor que
0315
ER es el indicador utilizado más frecuentemente para monitorizar la ejecución de una instrucción. Cuando se pone a ON indica que se ha producido un error durante la ejecución. En la descripción de cada instrucción se incluye una serie de posibles causas que pueden poner a ON este indicador. En el Apéndice E Indicadores de error y de operaciones aritméticas se listan las operaciones que pueden afectar a los indicadores. Direccionamiento indirecto
Se puede utilizar direccionamiento indirecto cuando se especifica el área DR. Este direccionamiento se distingue anteponiendo un asterisco a DR: *DR. En direccionamiento indirecto de DR, el canal especificado contiene la dirección del canal DR que contiene los datos para la instrucción dada. Por ejemplo, si se designa como primer operando de la instrucción MOV(30) *DR01, y como segundo operando LR00, y el contenido de DR01 es 0006, DR 06 contiene 5555, entonces el valor 5555 se moverá a LR 00.
69
Juego de Instrucciones
Sección 3--7 MOV(30) *DR 01 LR 00
Direccionamiento indirecto
Canal DR 00 DR 01 DR 02
Contenido 4C23 0006 F3A3
DR 06 DR 07 DR 08
5555 2255 D1C5
Indica DR 06.
5555 se mueve a LR 00.
En direccionamiento indirecto, la dirección del canal deseado ha de estar en BCD y debe especificar un canal del área DR. En el ejemplo anterior, el contenido de *DR 00 será un valor comprendido entre 0000 y 1515 en BCD. Asignación de constantes
3--7--4
A pesar de que la mayoría de los operandos son direcciones del área de datos, algunos operandos y todos los definidores se dan mediante constantes. El rango de valores disponibles para un definidor u operando dado depende de la instrucción particular que utilice. Las constantes también se deben dar en el código apropiado, BCD o hexadecimal.
Codificación de las instrucciones de la derecha El primer canal de cualquier instrucción define la instrucción y suministra algunos definidores. Si la instrucción sólo necesita un bit operando sin definidor, el bit operando se coloca también en la misma linea en código nemónico. El resto de operandos, uno por línea y en el mismo orden en que aparecen en el símbolo de diagrama de relés, se escriben en líneas consecutivas a la que contiene la instrucción. Las columnas de dirección e instrucción del código nemónico sólo se rellenan para el canal de instrucción. Para el resto de líneas aquellas columnas se dejan en blanco. Si se utiliza direcciones de bit de E/S, de trabajo, o bit dedicado en la columna de datos, la parte izquierda de la columna de datos se deja en blanco. Para direcciones de datos de DR, LR, o TC, la abreviación del área de datos se escribe en la parte izquierda y la dirección en la derecha.Si se escribe una constante, el símbolo # se coloca en la parte izquierda de la columna de datos y el valor de la constante a la derecha. El siguiente diagrama ilustra los puntos mencionados anteriormente.
70
Juego de Instrucciones 0000
Sección 3--7 Dirección Instrucción
0001
Datos
000
LD
001
AND
0001
002
OR
0002
003
DIFU(10)
0215
004
LD
0005
005
TIM
00
DR 00
006
LD
LR 00
007
MOV(30)
DIFU(10) 0215 0002
0005 TIM 00 #0150 TIM 00
0000
#
MOV(30)
DR 0015 0100
Líneas de instrucción múltiples
0000
0201
0214
SFT(33) P 0215
DR 00
R
LR 0000
DR 0015 0100
END(01)
3--7--5
LOAD -- LD
LD
009
OUT NOT
---DR
00
LR
00
DR
Dirección Instrucción I
0002 0200
008
00
0015 0100
Si una instrucción de la parte derecha necesita varias líneas de instrucción (por ejemplo KEEP(12)), todas las líneas para la instrucción se codifican antes de la instrucción de la derecha. Cada una de estas líneas es codificada comenzando por una LD o LD NOT, para formar bloques lógicos que son combinados por la instrucción de la derecha. El siguiente ejemplo es para una instrucción SFT(33).
0001
0215
0150
TIM
Datos
000
LD
0000
001
AND
0001
002
LD
0002
003
LD
0215
004
AND NOT
0200
005
LD
0201
006
AND NOT
0214
007
AND NOT
008
OR LD
009
AND
010
SFT(33)
LR
0000 ---0215
011
LD
012
OUT NOT
---DR
00
DR
0015 0100
Cuando termine de codificar el programa, verifique que se ha escrito la instrucción END(01) en la última dirección. Si esta instrucción no existe en el programa, éste no se ejecutará.
LOAD, LOAD NOT, AND, AND NOT, OR, y OR NOT Diagrama de relés
Areas de datos
B
B: Bit E/S, trabajo, dedicado, DR, LR, TC
71
Juego de Instrucciones
Sección 3--7 B: Bit
B
LOAD NOT -- LD NOT
E/S, trabajo, dedicado, DR, LR, TC
B: Bit
B
AND -- AND
E/S, trabajo, dedicado, DR, LR, TC B: Bit
B
AND NOT -- AND NOT
E/S, trabajo, dedicado, DR, LR, TC B: Bit
OR -- OR
B
OR NOT -- OR NOT
B
E/S, trabajo, dedicado, DR, LR, TC B: Bit E/S, trabajo, dedicado, DR, LR, TC
Limitaciones
No existe limitación en cuanto al número de instrucciones de este tipo que se pueden utilizar en cualquier orden en el programa, siempre que no se exceda la capacidad de la memoria del PLC.
Descripción
Estas seis instrucciones básicas corresponden a las condiciones en un diagrama de relés. Tal y como se describió en el apartado 3--4 Programación básica, el estado de los bits asignados a cada instrucción determina la condición de ejecución para todas las demás instrucciones. Cada una de estas instrucciones y cada una de estas direcciones de bit se pueden utilizar tantas veces como sea necesario.
Indicadores
No existen indicadores afectados por estas instrucciones.
3--7--6
AND LOAD y OR LOAD
AND LOAD -- AND LD Diagrama de relés
0000
0002
0001
0003
OR LOAD -- OR LD Diagrama de relés
0000
0001
0002
0003
Descripción
Estas instrucciones se utilizan para combinar dos bloques de un programa. Se utilizan cuando no se pueden combinar lógicamente mediante instrucciones OR o AND. La instrucción AND LD conecta en serie dos bloques, mientras que la instrucción OR LD los conecta en paralelo.
Indicadores
No existen indicadores afectados por estas instrucciones.
72
Juego de Instrucciones
3--7--7
Sección 3--7
OUTPUT y OUTPUT NOT -- OUT y OUT NOT
OUTPUT -- OUT
Símbolo de relés
Areas de datos B: Bit B
OUTPUT NOT -- OUT NOT
Símbolo de relés
Bits de salida, trabajo, DR, LR
Areas de datos B: Bit B
Bits de salida, trabajo, DR, LR
Limitaciones
Normalmente cualquier bit de salida sólo se puede utilizar en una instrucción que controla su estado. Consultar 3--2--2 Bits de E/S para más detalles.
Descripción
OUT y OUT NOT se utilizan para controlar el estado del bit asignado de acuerdo con la condición de ejecución. OUT pone a ON el bit especificado si la condición de ejecución es ON, y lo pone a OFF si la condición es OFF. OUT NOT pone a ON el bit especificado si la condición de ejecución es OFF, y lo pone a OFF si la consición es ON. El tiempo que un bit estará en ON o en OFF se puede controlar combinando las instrucciones OUT y OUT NOT con la instrucción TIM.
Indicadores
3--7--8
No existen indicadores afectados por estas instrucciones.
DIFFERENTIATE UP y DIFFERENTIATE DOWN -DIFU(10) yDIFD(11) Diagrama de relés DIFU(10) B
Areas de datos B: Bit Bits de salida, trabajo, DR, LR
DIFD(11) B
B: Bit Bits de salida, trabajo, DR, LR
Limitaciones
El número máximo de instrucciones DIFU(10) y DIFD(11) en un programa es 16.
Description
DIFU(10) y DIFD(11) se utilizan para activar un bit durante un ciclo de scan si se cumplen unas condiciones dadas. Ambas instrucciones se ejecutan como respuesta a la transición de la condición de entrada siguiente al inicio de la operación RUN del autómata. Pero mientras la función DIFU se ejecuta en el flanco de subida de la entrada, la instrucción DIFD se ejecuta en el flanco de bajada.
Indicadores
No existen indicadores afectados por estas instrucciones.
73
Juego de Instrucciones
Sección 3--7 La operación de DIFU(10) y DIFD(11) puede no ser la correcta si se programan entre instrucciones IL e ILC.
Precauciones
Ejemplo 1: Ejecutar una vez En el diagrama A, siempre que se ejecute CMP(32) con una condición de otras instrucciones ejecución ON comparará los contenidos de los dos canales operandos ((DR 10 y DR 00) y activará el correspondiente indicador (GR, EQ, y LE). Si la condición de ejecución permanece en ON, esta instrucción se ejecutará cada ciclo de scan pudiendo cambiar el estado de los indicadores si varían los contenidos de los operandos a comparar. El diagrama B es un ejemplo de la utilización de la instrucción DIFU que hace que la instrucción CMP sólo se ejecute cada vez que la condición de ejecución cambia de OFF a ON. 0000 CMP(32) DR 10
Diagrama A
DR 00
Dirección Instrucción 000 001
Operandos
LD CMP(32)
0000 DR DR
10 00
0000 DIFU(10) 0215 0215 CMP(32) DR 10
Diagrama B
DR 00
Dirección Instrucción 000 001 002 003
Operandos
LD DIFU(10) LD CMP(32)
0000 0215 0215 DR DR
Ejemplo 2: Para simplificar la programación
El siguiente diagrama sería muy complicado de dibujar sin utilizar la DIFU(10) dado que sólo una de las condiciones que determinan la condición de ejecución de MOV(30) se ha de ejecutar durante un ciclo de scan.
0000 DIFU(10) 0215 0215 MOV(30) 0001
0002
0003
DR 10 DR 00
0004
0005
Dirección Instrucción 000 001 002 003 004 005 006 007 008 009 010
Operandos
LD DIFU(10) LD LD AND NOT AND NOT OR LD LD AND NOT OR LD MOV(30)
0000 0215 0215 0001 0002 0003 --0004 0005 --DR DR
74
10 00
10 00
Juego de Instrucciones
3--7--9
Sección 3--7
KEEP -- KEEP(12) Diagrama de relés
Areas de datos
S
B: Bit
KEEP(12)
Bits de salida, rabajo, DR, LR
B R
Limitaciones
Generalmente un bit de salida sólo se puede utilizar con una instrucción que controla su estado.
Descripción
La instrucción KEEP(12) funciona como un relé de enclavamiento o biestable. Los datos de la instrucción KEEP se han de introducir en el siguiente orden: entrada de set, entrada de reset y bit cuyo estado se desea mantener. KEEP conmuta a ON cuando la entrada de set de activa y conmuta a OFF cuando se activa la entrada de reset. Si ambas se activan simultáneamente, tiene prioridad la entrada de reset. Por lo tanto, mientras la entrada de reset esté en alta, no acepta la entrada set. Entrada de set S Entrada de reset R Salida del biestable
El primer diagrama de la siguiente figura, se puede escribir de la forma que se indica en el segundo diagrama. Observe que si ambos circuitos están dentro de una instrucción IL -- ILC, cuya condición IL es OFF, en el primer circuito la salida 0100 se desactiva, mientras que en el segundo se retiene el estado. 0002
Dirección Instrucción
0003 0100
0100
0002
KEEP(12) 0100 R
LD OR AND NOT OUT
Dirección Instrucción
S
0003
000 001 002 003
000 001 002
LD LD KEEP(12)
Operandos 0002 0100 0003 0100
Operandos 0002 0003 0100
Indicadores
No existen indicadores afectados por esta instrucción.
Precauciones
No utilizar nunca una condición normalmente cerrada para la entrada de reset de KEEP (12) cuando el dispositivo de entrada utiliza una fuente de alimentación de alterna. El retardo en cerrar la alimentación en continua del PLC (con relación a la fuente de alterna del dispositivo de entrada) puede provocar el reset del bit asignado a la instrucción KEEP. En la siguiente figura se explica gráficamente este problema.
75
Juego de Instrucciones
Sección 3--7
Unidad de entrada A
S KEEP(12)
NUNCA
DR 03
A
R
El siguiente ejemplo es un circuito que retiene su estado ante cortes de alimentación, utilizando un relé DR como bobina de KEEP(12).
Ejemplo
0002
Dirección Instrucción
S
000 001 002 003 004 005 006
KEEP(12) 0003
Indica situación de emergencia
DR 0000
0004
Entrada de reset 0001
R
DR 0000 0100
LD OR OR LD KEEP(12) LD OUT
Operandos
DR DR
0002 0003 0004 0001 0000 0000 0100
Indicador de error
KEEP(12) también se puede utilizar con TIM para producir retardos en la conmutación de bits.
3--7--10 INTERLOCK y INTERLOCK CLEAR -- IL(02) y ILC(03)
Descripción
Diagrama de relés
IL(02)
Diagrama de relés
ILC(03)
IL(02) se utiliza siempre en combinación con ILC(03) para crear bifurcaciones. Si la condición de ejecución de IL es ON, el programa se ejecutará tal como se escribió. Si la condición de IL es OFF, la sección comprendida entre IL e ILC será tratada como se indica en la siguiente tabla: Instrucción
Acción
OUT y OUT NOT
Bits asociados se ponen a OFF.
TIM, TIMM(20), TIMH(21), y ATIM(22)
Reset.
CNT, RDM(23)
Se para el contaje y se mantiene el PV
KEEP(12)
Se mantiene el estado del bit
DIFU(10) y DIFD(11)
No se ejecuta (ver ejemplo).
Resto de instrucciones
No se ejecuta
Se pueden utilizar más de una IL(02) con una sola ILC(03). Esta estructura provoca un error IL--ILC cuando se chequea el programa, pero se puede ejecutar normalmente. Sin embargo, todas las ILs delante de la ILC se borran a la vez.
76
Juego de Instrucciones DIFU(10) y DIFD(11) dentro de secciones IL--ILC
Sección 3--7 A continuación se muestra un ejemplo de una instrucción DIFU encajada dentro de una instrucción IL--ILC.
0000
Dirección Instrucción
IL(02)
000 001 002 003 004
0001 DIFU(10) 0215 ILC(03)
A
Operandos
LD IL(02) LD DIFU(10) ILC(03)
0000 0001 0215
ON
0000
OFF ON
0001
OFF ON
0215
OFF
Precauciones
Siempre debe programarse una ILC(03) para cerrar una o más IL(02). Aunque se pueden utilizar tantas IL(02) como sea necesario con una sola ILC(03), no se pueden utilizar varias ILC(03) consecutivamente sin al menos una IL entre ellas.
Indicadores
No existen indicadores afectados por estas instrucciones.
Ejemplo
Ejemplo de diagrama de relés que utiliza dos IL(02) con una sola ILC(03). Dirección Instrucción
0000 IL(02) 0001
TIM 00 #0015
0002 IL(02) 0003
CP
0004
R
CNT 01 #0150
1.5 s
000 001 002 003
LD IL(02) LD TIM
004 005 006 007 008
LD IL(02) LD LD CNT
009 010 011
LD OUT ILC(03)
Operandos 0000
#
#
0005 0102
ILC(03)
0001 00 0015 0002 0003 0004 01 0150 0005 0102
3--7--11 END -- END(01) Diagrama de relés
END(01)
Descripción
Indica el final de un programa. Asegúrese de escribirla al final de todo programa pues en caso contrario no se ejecutará, apareciendo el mensaje ”NO END INST” en la consola de programación.
Indicadores
END(01) pone a OFF los indicadores ER, CY, GR, EQ, y LE.
3--7--12 NO OPERATION -- NOP(00) Descripción
Esta instrucción no se necesita en programación y no tiene símbolo de diagrama de relés. Cuando se encuentra esta instrucción en un programa, el PLC no ejecuta nada, pasando simplemente a la siguiente instrucción.
77
Juego de Instrucciones Indicadores
Sección 3--7 No existen indicadores afectados por esta instrucción.
3--7--13 Temporizadores y Contadores TIM y TIMM(20) son temporizadores descendentes de retardo a la conexión que necesitan un número de TC y un valor de temporización (SV). La unidad de temporización del TIM es 0,1 segundo, mientras que la del TIMM(20) es 0,01 segundo. TIMH(21) es un temporizador descendente de retardo a la conexión con unidad de temporización de 0,001 segundo. ATIM(22) es un temporizador descendente de retardo a la conexión con selección del valor de temporización (SV) por hardware. En el SP16 y SP20 el potenciómetro de ajuste es el mismo para ATIM(22) y ATIM1(25). ATIM1(25) y ATIM(26) sólo están disponibles en el SP16 y SP20. Al igual que ATIM(22), son temporizadores descendentes de retardo a la conexión con selección del valor de temporización (SV) por hardware. A diferencia de ATIM(22) el SV se puede seleccionar por software en un canal. CNT es un contador descendente y RDM(23) es un contador reversible. Para ambos se ha de programar un número de TC y un valor de contaje SV. Ambos tienen varias entradas como la señal de entrada, reset, y para el RDM(23) una entrada de contaje adelante/atrás. Para RDM(23) también se ha de especificar el primer canal de la tabla de resultados. CNTH(24) es un contador incremental de alta velocidad disponible sólo en el SP16 y SP20. Puede contar impulsos de frecuencia 3,3kHz. Un número de TC se puede utilizar como temporizador o contador, pero sólo una vez en el programa. Sin embargo una vez definido, el número de TC se puede utilizar tantas veces como se quiera como operando en otras instrucciones. Los número de TC disponibles van de 00 a 15. Los números de TC 11 a TC 15 (TC 14 y TC 15 para el SP10) están asignados a instrucciones específicas listadas en la siguiente tabla: Número de TC
Instrucción
PLC aplicable
TC 11
TEMP. ANALOGICO 1, ATM1(25)
SP16, SP20
TC 12
TEMP. ANALOGICO 2, ATM2(26)
SP16, SP20
TC 13
CONT. ALTA VELOCIDAD, CNTH(24)
SP16, SP20
TC 14
TEMP. ALTA VELOCIDAD, TIMH(21)
SP10, SP16, SP20
TC 15
TEMP. ANALOGICO, ATIM(22)
SP10, SP16, SP20
Nota El valor presente de temporizadores y contadores se puede monitorizar mediante la consola de prgoramación.
78
Juego de Instrucciones
Sección 3--7
3--7--14 TIMER -- TIM Definidores N: Número de TC
Diagrama de relés
# (00 a 15)
TIM
N Areas de datos
SV
SV: Valor seleccionado (BCD) SP10: # SP16, SP20: E/S, trabajo, DR, LR, #
Limitaciones
El rango de SV va de 000.0 a 999.9 segundos. El punto decimal no se escribe. Los números de TC 11 y TC 15 no deben utilizarse como TIM si se van a necesitar para las instrucciones específicas.
Descripción
Un temporizador se activa cuando su condición de ejecución es ON y se resetea cuando es OFF. El TIM temporiza en unidades de 0,1 segundo a partir del valor seleccionado (SV). La precisión de temporización es de +0.0/--0.1 segundo. Una vez que la temporización alcanza el valor cero, se activa el indicador de tiempo alcanzado correspondiente al número de TC, permaneciendo en ON hasta que se resetee el temporizador. La siguiente figura muestra el cronograma de operación de la instrucción TIM. ON
Condición de ejecución
OFF ON
Indicador de tiempo alcanzado
OFF
SV
Precauciones
Flags
SV
Los temporizadores comprendidos entre instrucciones IL--ILC se resetean cuando la condición de ejecución para IL(02) es OFF. Los cortes de alimentación también provocan el reset de los temporizadores. Si se necesita un temporizador que no se resetee bajo estas condiciones, se pueden contar bits de impulsos de reloj dedicados utilizando la instrucción CNT. Consultar 3--7--18 CONTADOR -- CNT. ER:
El indicador de error (0311) se pondrá a ON cuando el valor seleccionado SV se especifica en un canal pero el dato no está expresado en BCD (sólo SP16 y SP20). La instrucción se ejecutará, pero la operación no será fiable.
Ejemplos
Todos los siguientes ejemplos utilizan una instrucción OUT para controlar los bits de salida. Sin embargo, estos diagramas se pueden modificar para controlar la ejecución de otras instrucciones.
Ejemplo 1: Aplicación básica
En este ejemplo, cuando el bit 0000 se ponga a ON, el bit 0100 se pondrá a OFF permaneciendo en ese estado durante 15 segundos pasados los cuales
79
Juego de Instrucciones
Sección 3--7 se pondrá a ON. Cuando el bit 0000 se pone a OFF se resetea el temporizador y el bit 0100 pasa a OFF. El TIM 01 comienza la operación cuando el bit 0001 se pone a ON; el bit 0101 también se pone a ON. Después de 20 segundos, el bit 0101 se pone a OFF. Este bit también se pondrá a OFF cuando se resetea el temporizador independientemente de si ha transcurrido el tiempo seleccionado.
0000
Dirección Instrucción
TIM 00 #0150
000 001
LD TIM
002 003 004 005
LD OUT LD TIM
006 007
AND NOT OUT
TIM 00 0100 0001 TIM 01 #0200 TIM 01 0101
Ejemplo 2: Temporizadores ampliados
Operandos
# TIM
# TIM
0000 00 0150 00 0100 0001 01 0200 01 0101
Existen varias formas de ampliar el límite de temporización de 999,9 segundos. Uno de estos métodos consiste en utilizar varios temporizadores consecutivamente, utilizando el indicador de temporización alcanzada para activar el siguiente temporizador. Este es un ejemplo para temporizador 30 minutos con dos temporizadores de 900,0 segundos (15 minutos).
0000
Dirección Instrucción
TIM 01 #9000
900.0 s
000 001
LD TIM
900.0 s
002 003
LD TIM
004 005
LD OUT
TIM 01 TIM 02 #9000 TIM 02 0100
Operandos
# TIM # TIM
0000 01 9000 01 02 9000 02 0100
En este ejemplo el bit 0100 se pondrá a ON 30 minutos después de la puesta a ON del bit 0000.
Ejemplo 3: Retardos a ON/OFF
La instrucción TIM también se puede combinar con KEEP(12) para retrasar la conmutación a ON u OFF. En este ejemplo se utilizan los indicadores de temporización finalizada de dos temporizadores como entradas de set y de reset de una instrucción KEEP. El bit 0100 se pondrá a ON 5 segundos después de que el bit 0000 se ponga a ON, y se pondrá a OFF 3 segundos después de que el 0000 se ponga a OFF.
80
Juego de Instrucciones
Sección 3--7
0000
Dirección Instrucción
TIM 01 #0050 0100
5.0 s
000 001
LD TIM
3.0 s
002 003 004
LD AND NOT TIM
005 006 007
LD LD KEEP(12)
Operandos
#
0000 TIM 02 #0030
TIM 01
S KEEP(12) 0100
TIM 02
R
# TIM TIM
0000 01 0050 0100 0000 02 0030 01 02 0100
0000
0100 3.0 s
5.0 s
Control del tiempo que un bit ha de estar en ON o en OFF a partir de un bit de disparo (un impulso). Esto se consigue combinando instrucciones TIM con OUT o OUT NOT. En este ejemplo, el bit 0103 permanecerá en ON durante 1,5 segundos después de la puesta en ON del bit 0000 e independientemente del tiempo que este bit permanezca en ON. Esto se consigue utilizando el bit 0205 como bit de autoretención activado por la entrada 0000. El 0205 pone a ON el bit 0103 mientras que el TIM 01 lo pone a OFF.
Ejemplo 4:
0215
TIM 01
Dirección Instrucción
0215 0000
0215 TIM 01 #0015 0215 TIM 01 0103
1.5 s
000 001 002 003 004 005
LD AND NOT OR OUT LD TIM
006 007 008
LD AND NOT OUT
Operandos TIM
# TIM
0215 01 0000 0215 0215 01 0015 0215 01 0103
0000
0103 1.5 s
Ejemplo 5:
1.5 s
Mediante la utilización de dos instrucciones TIM se puede controlar la activación--desactivación de un bit a intervalos fijos.
81
Juego de Instrucciones 0000
Sección 3--7
TIM 02
Dirección Instrucción
TIM 01 #0010
1.0 s
TIM 01 TIM 02 #0015 TIM 01 0103
1.5 s
000 001 002
LD AND NOT TIM
003 004
LD TIM
005 006
LD OUT
Operandos TIM # TIM # TIM
0000 02 01 0010 01 02 0015 01 0103
0000 0103 1.0 s
1.5 s
1.0 s
1.5 s
Otro método para crear un efecto parecido es utilizar un bit de reloj lo que lleva implícito la utilización de un temporizador interno.
0000
Dirección Instrucción
0308 0101
000 001 002
Operandos
LD AND OUT
0000 0308 0101
3--7--15 TIMER -- TIMM(20) Definidores N: Número de TC
Diagrama de relés
# (00 a 15)
TIMM(20) N SV
Areas de datos SV: Valor seleccionado (BCD) SP10: # SP16, SP20: E/S, trabajo, DR, LR, #
Limitaciones
El rango de temporización es de 00,00 a 99,99 segundos. Un número de TC sólo se puede utilizar una sola vez como temporizador o contador pero no ambos a la vez. Los números de TC 11 y TC 15 no deben utilizarse como TIM si se van a necesitar para las instrucciones específicas.
Descripción
TIMM(20) opera igual que TIM excepto que la unidad de temporización es 0,01 segundo.
Precauciones
Los temporizadores comprendidos entre instrucciones IL--ILC se resetean cuando la condición de ejecución para IL(02) es OFF. Los cortes de alimentación también provocan el reset de los temporizadores. Si se necesita un
82
Juego de Instrucciones
Sección 3--7 temporizador que no se resetee bajo estas condiciones, se pueden contar bits de impulsos de reloj dedicados utilizando la instrucción CNT. Consultar 3--7--18 CONTADOR -- CNT.
Flags
ER:
El indicador de error (0311) se pondrá a ON cuando el valor seleccionado SV se especifica en un canal pero el dato no está expresado en BCD (sólo SP16 y SP20). La instrucción se ejecutará, pero la operación no será fiable.
3--7--16 HIGH-SPEED TIMER -- TIMH(21) Diagrama de relés
Areas de datos
TIMH(21) SV
SV: Valor seleccionado (BCD) SP10: # SP16, SP20: E/S, trabajo, DR, LR, #
Limitaciones
El rango de temporización va de 0,000 a 9,999. En la práctica, la precisión del TIMH(21) está limitada al ciclo de scan (es decir, dado que las salidas se refrescan cada ciclo de scan, la precisión de TIMH(21) está limitada al orden de magnitud del tiempo de scan). El número de TC no necesita escribirse dado que se asigna automáticamente a TIM 14.
Descripción
TIMH(21) trabaja de la misma forma que TIM y TIMM(20) excepto que en TIMH(21) la unidad de temporización es 0,001 segundo.
Precauciones
Los temporizadores comprendidos entre instrucciones IL--ILC se resetean cuando la condición de ejecución para IL(02) es OFF. Los cortes de alimentación también provocan el reset de los temporizadores. Si se necesita un temporizador que no se resetee bajo estas condiciones, se pueden contar bits de impulsos de reloj dedicados utilizando la instrucción CNT. Consultar 3--7--18 CONTADOR -- CNT.
Flags
ER:
El indicador de error (0311) se pondrá a ON cuando el valor seleccionado SV se especifica en un canal pero el dato no está expresado en BCD (sólo SP16 y SP20). La instrucción se ejecutará, pero la operación no será fiable.
3--7--17 ANALOG TIMER -- ATIM(22) Diagrama de relés
Limitaciones
ATIM(22)
La selección del valor de temporización se realiza por hardware y no se han de dar entradas numéricas con la instrucción. El número de TC no necesita especificarse dado que se asigna automáticamente a TIM 15.
Descripción
ATIM(22) opera de la misma forma que TIM y TIMM(20) excepto que el valor de temporización (entre 0,1 y 25,0 segundos) se selecciona por hardware. El ajuste del SP10 se muestra en la siguiente figura. El valor seleccionado por hardware se convierte a BCD y se almacena en el PLC. El rango
83
Juego de Instrucciones
Sección 3--7 de selección es de 0,1 y 25,0 segundos. ATIM(22) y ATIM1(25) se ajustan con el potenciómetro analógico #1 situado en el frontal del SP16 y SP20.
Ajustar el valor de temporización
Precauciones
Los temporizadores comprendidos entre instrucciones IL--ILC se resetean cuando la condición de ejecución para IL(02) es OFF. Los cortes de alimentación también provocan el reset de los temporizadores. Si se necesita un temporizador que no se resetee bajo estas condiciones, se pueden contar bits de impulsos de reloj dedicados utilizando la instrucción CNT. Consultar 3--7--18 CONTADOR -- CNT. El valor seleccionado SV del temporizador analógico puede variar en un 10% con cambios en la temperatura ambiente.
3--7--18 TEMPORIZADOR ANALOGICO 1 y 2 -- ATM1(25) y ATM2(26) Sólo SP16 y SP20 Diagrama de relés
Areas de datos
ATM1(25) RD
RD: Asignación de rango (BCD) E/S, trabajo, DR, LR, #
ATM2(26) RD Limitaciones
El valor seleccionado SV no se puede escribir directamente. Se asigna un rango para la selección del tiempo de temporización SV por hardware. El número de TC se asigna automáticamente: TIM 11 para ATM1(25) y TIM 12 para ATM2(26).
Description
ATM1(25) y ATM2(26) operan de la misma forma que TIM y TIMM(20) excepto que sus selecciones (SV) se determinan mediante los potenciómetros analógicos #1 y #2 del frontal de la CPU. El valor seleccionado por hardware se convierte a BCD y se almacena en el canal dedicado 08. Los rangos de selección se designan como operando (RD) en la instrucción. Estas designaciones se muestran en la siguiente tabla. RD
84
Rango de SV
0000
1 a 250 segundos
0001
0.1 a 25.0 segundos
0002
0.01 a 2.50 segundos
Juego de Instrucciones
Sección 3--7 RD se puede dar como constante o como el contenido de un canal cuya dirección se da. Tanto ATIM(22) como ATM1(25) se ajustan con el potenciómetro #1 del frontal del SP16 y SP20. Aunque ambas instrucciones se pueden utiizar al mismo tiempo, sus consignas SVs no se pueden ajustar independientemente, aunque el rango del tiempo de selección para ATM1(25) se puede controlar como se describió arriba. ATM2(26) se ajusta con el potenciómetro #2 y por lo tanto se puede seleccionar independientemente de los otros temporizadores. Consultar 3--7--14 TIMER - TIM detalles de operación y ejemplos.
Precauciones
Los temporizadores comprendidos entre instrucciones IL--ILC se resetean cuando la condición de ejecución para IL(02) es OFF. Los cortes de alimentación también provocan el reset de los temporizadores. Si se necesita un temporizador que no se resetee bajo estas condiciones, se pueden contar bits de impulsos de reloj dedicados utilizando la instrucción CNT. Consultar 3--7--18 CONTADOR -- CNT. El valor seleccionado SV del temporizador analógico puede variar en un 10% con cambios en la temperatura ambiente.
Flags
ER:
El indicador de error (0311) se pondrá a ON cuando el valor seleccionado SV se especifica en un canal pero el dato no está expresado en BCD (sólo SP16 y SP20). La instrucción se ejecutará, pero la operación no será fiable.
3--7--19 COUNTER -- CNT Definidores N: Número de TC
Diagrama de relés CP R
# (00 a 15)
CNT N SV
Areas de datos SV: Contaje seleccionado (BCD) SP10: # SP16, SP20: E/S, trabajo, DR, LR, #
Limitaciones
Cada número de temporizador sólo se puede asignar a un temporizador o a un contador, pero no a ambos.
Descripción
CNT es un contador descendente que descuenta uno, a partir del valor de contaje seleccionado, cada vez que la entrada de contaje conmuta de ON a OFF. Cuando el valor de contaje presente (PV) es cero se pone a ON el indicador de contaje alcanzado, permaneciendo en ON hasta el reset del contador. Cuando la entrada de reset R conmuta de OFF a ON, el contaje presente del CNT se pone al valor seleccionado SV. Mientras esta entrada está en alta el contador está inhibido. El PV del contador no se resetea si está comprendido entre instrucciones IL--ILC o ante cortes de alimentación.
85
Juego de Instrucciones
Sección 3--7 ON
Entrada de contaje (CP)
OFF ON
Entrada de reset (R)
OFF ON
Indicador de contaje
OFF
alcanzado
SV
SV
PV
0002
SV -- 1
0001
SV -- 2
0000
Flags
ER:
En este ejemplo, el contador descontará los impulsos recibidos por la línea 0000 -- 0001 siempre que la entrada de reset 0002 esté en OFF. Una vez contados 150 contajes, valor presente cero, se pondrá a ON el bit 0103.
Ejemplo 1: Aplicación básica
0000
El indicador de error (0311) se pondrá a ON cuando el valor seleccionado SV se especifica en un canal pero el dato no está expresado en BCD (sólo SP16 y SP20). La instrucción se ejecutará, pero la operación no será fiable.
0001
0002
CP R
CNT 04 #0150
CNT 04 0103
Dirección Instrucción 000 001 002 003
LD AND LD CNT
004 005
LD OUT
Operandos 0000 0001 0002 04 0150 04 0103
# CNT
El bit 0000 se puede utilizar aquí para controlar cuándo está operativo el contador, contándose las transiciones OFF -- ON del bit 0001. El ejemplo anterior se puede modificar para resetear el contador cada vez que se conecte la alimentación al PLC. Esto se consigue utilizando el Indicador de primer ciclo de scan (0410) como reset del CNT.
Ejemplo 2:
0000
0001 0002
CP R
CNT 04 #0150
0410
CNT 04
Dirección Instrucción 000 001 002 003 004
LD AND LD OR CNT
005 006
LD OUT
0103
Ejemplo 3: Contador ampliado
Operandos
# CNT
0000 0001 0002 0410 04 0150 04 0103
Se pueden obtener contadores con capacidad de contaje superior a 9.999 utilizando varios contadores en cascada. En el siguiente ejemplo, el bit 0000 se utiliza para controlar la operación del CNT 01, así cuando 0000 está en ON, el contador descuenta las transiciones de OFF a ON del bit 0001. El contador se resetea mediante su propio indicador de contaje alcanzado, es decir el contador inmediatamente después de que el contaje presente alcance el valor cero, inicia otra vez la operación de contaje partiendo del valor seleccionado. El CNT 02 cuenta el nú-
86
Juego de Instrucciones
Sección 3--7 mero de veces que el indicador de contaje alcanzado del CNT 01 se pone a ON. El bit 0002 es el reset de ambos contadores. El indicador de contaje alcanzado del CNT 02 resetea también el CNT 01 inhibiendo su operación una vez alcanzado el valor de contaje seleccionado para CNT 02, hasta que se aplique el reset conjunto mediante el bit 0002. En este ejemplo la salida 0103 se activará cuando el bit 0001 haya conmutado 20.000 veces de OFF a ON (100x200 = 20.000, SV de CNT 01 x SV de CNT 02).
0000
0001
Dirección Instrucción
CP CNT 01
0002
R
#0100
CNT 01
000 001 002 003 004 005
LD AND LD NOT OR OR CNT
006 007 008
LD LD NOT CNT
009 010
LD OUT
CNT 02
CNT 01
CP CNT 02
0002
R
#0200
Operandos
CNT CNT # CNT
# CNT
0000 0001 0002 01 02 01 0100 01 0002 02 0200 02 0103
CNT 02 0103
Ejemplo 4: Temporizador ampliado
CNT se puede utilizar para crear temporizadores ampliados de dos formas: combinando TIM con CNT y contando bits de impulsos de reloj. En el siguiente ejemplo, CNT 02 cuenta el número de veces que TIM 01 alcanza cero partiendo del SV. El indicador de tiempo alcanzado del TIM 01 se utiliza para autorresetearse de tal forma que está continuamente operando. El CNT 02 cuenta el número de veces que el temporizador alcanza el tiempo seleccionado. TIM 01 también es reseteado por el indicador de contaje alcanzado del CNT 02, de tal forma que el temporizador no arrancará de nuevo hasta que el bit 0001 resetee el CNT 02. En este ejemplo el bit 0100 se pondrá a ON cuando haya transcurrido un tiempo de 5 segundos x 100 veces = 500 segundos (8 minutos y 20 segundos).
0000 TIM 01
CNT 02 TIM 01 #0050
TIM 01
CP CNT 02
0001
#0100 R
CNT 02 0100
Dirección Instrucción 000 001 002 003
LD AND NOT AND NOT TIM
004 005 006
LD LD CNT
007 008
LD OUT
Operandos TIM CNT # TIM
# CNT
0000 01 02 01 0050 01 0001 02 0100 02 0100
En el siguiente ejemplo, CNT 01 cuenta el número de transiciones OFF--ON del bit de reloj de 1 segundo 0308. El bit 0000 se utiliza para controlar la operación del contador.
87
Juego de Instrucciones
Sección 3--7 Dado que la selección de CNT 01 es 700, el indicador de contaje alcanzado del CNT 01 se pondrá a ON cuando hayan transcurrido 700 segundos, o 11 minutos y 40 segundos. Este indicador a su vez activará el bit de salida 0102.
0000
0308
Dirección Instrucción
CP CNT 01
0001
R
#0700
CNT 01
000 001 002 003
LD AND LD NOT CNT
004 005
LD OUT
0102
Operandos
# CNT
0000 0308 0001 01 0700 01 0102
3--7--20 REVERSIBLE DRUM COUNTER -RDM(23) Definidores N: Número de TC
Diagrama de relés
# (00 a 15)
II DI RI
RDM(23) N
Areas de datos
St
St: Canal inicial
R
DR R : Canal de resultado Bits de salida, trabajo, DR, LR
Limitaciones
El canal inicial St ha de estar comprendido entre 0000 y 0003. Todos los bits no utilizados de R se pueden utilizar como bits de trabajo.
Descripción
RDM (contador reversible) es un contador cíclico con un rango de contaje de 0000 a 9999. Necesita tres señales de entrada para su funcionamiento: entrada de contaje (II), entrada de selección adelante/atrás (DI) y entrada de reset (RI). RDM(23) cuenta cada flanco de subida de la señal de contaje, ADELANTE si la entrada DI está en OFF y ATRAS si está en ON. El valor presente del contador se compara con los límites superior e inferior del rango seleccionado en St + 2 a St + 2(n+1). Si el valor presente está dentro del rango seleccionado, se pondrá a ON el bit correspondiente del canal de resultado R. Cuando la entrada de reset (R) está en ON, el valor presente se resetea a 0000.
88
Juego de Instrucciones
Sección 3--7 La siguiente tabla muestra los límites superior e inferior que han de ser seleccionados en St + 1 a St + 2n +2. PV es el valor presente del contador.
Selección de los límites superior e inferior Límite inferior
Límite superior
Valor presente del contador
Bit de R que se pone a ON
St + 1
St + 2
Valor de St + 1 ≤ PC ≤ valor de St + 2
00
St + 3
St + 4
Valor de St + 3 ≤ PC ≤ valor de St + 4
01
St + 5
St + 6
Valor de St + 5 ≤ PC ≤ valor de St + 6
02
St + 7
St + 8
Valor de St + 7 ≤ PC ≤ valor de St + 8
03
St + 9
St + 10
Valor de St + 9 ≤ PC ≤ valor de St + 10
04
St + 11
St + 12
Valor de St + 11 ≤ PC ≤ valor de St + 12
05
PLCs aplicables SP10, SP16, SP20
SP16, SP20
Los valores, en un rango de 0000 a 9999, han ser en BCD. El límite inferior ha de ser siempre menor que el límite superior. El siguiente ejemplo utiliza el DR 00 como canal de resultado. Aquí, el primer rango es de 0001 a 0002 (el contenido de St + 1 es 0001 y el de St + 2 es 0002), y el segundo rango es de 0004 a 0002 (el contenido de St + 3 es 0004 y el de St + 4 es 0002).
Ejemplo de diagrama de operación
Valor presente
0000
0001 0002 0003 0004 0005 0004 0003 0002 0001 0000 9999 9998 9997 0000 0000 0000
Entrada de contaje (II)
Entrada de reset (RI)
Entrada ADELANTE/ ATRAS (DI)) DR 0000 Límites: 0001 a 0002 DR 0001 Límites: 0002 a 0004
3--7--21 HIGH--SPEED COUNTER -- CNTH(24) Sólo SP16 y SP20 Diagrama de relés SI R
Areas de datos CNTH(24) N SV
SV: Contaje seleccionado (BCD) E/S, trabajo, DR, LR, #
Limitaciones
El número de TC se selecciona automáticamente a CNT 13, los impulsos de contaje (CP) al bit de entrada 0000, y la entrada de reset por hard (R) al bit de entrada 0001 cuando se designa CNTH(24). Las entradas 0000 y 0001 no se pueden utilizar como terminales de entradas normales cuando se programe la instrucción CNTH(24).
Descripción
CNTH(24) es un contador incremental de alta velocidad. El valor presente (PV) comienza en 0000 y aumentará en uno cada vez que la entrada de contaje CP (bit de entrada 0000) conmute de OFF a ON siempre que la entrada de start (SI) esté en ON y la entrada de reset (R) esté en OFF. Las condi-
89
Juego de Instrucciones
Sección 3--7 ciones de entrada start y de reset se escriben con LD antes de la instrucción CNTH(24). El indicador de contaje alcanzado, CNT 13, se pone a ON cuando el contaje actual alcanza al seleccionado SV, permaneciendo en ese estado durante un solo ciclo de scan. Una vez alcanzado el contaje seleccionado SV, el PLC se reseteará automáticamente a cero. El máximo contaje del contador se obtiene seleccionando SV a 0000 más que a 9999, es decir, el contador contará 10.000 cuando el SV se seleccione a 0000. CNTH(24) se resetea con R. Cuando R conmuta de OFF a ON, el PV se resetea a cero. El contaje presente no aumentará mientras R esté en ON. El contaje comenzará nuevamente desde cero cuando R se ponga a OFF. El PV para CNT 13 no se reseteará cuando esté incluido en bloques IL/ILC o antes cortes de alimentación. El contaje de CNTH(24) se habilita con cuando la entrada SI está en ON. La entrada de impulsos de contaje es la 0000 y la entrada de reset por hard es la 0001. La señal de contaje debe tener un tiempo de ON de 150 µseg mín. (3,3kHz) con una relación 1:1, y la señal de reset 250 µseg, como se muestra a continuación. Entrada 0000 150 150 µs µs Entrada 0001 250 µs mín.
Las entradas 0000 y 0001 se pueden utilizar como entradas normales cuando no se utilice CNTH(24), pero las señales han de tener una frecuencia de 1 kHz máx. (500 ms min. de duración). No utilizar la entrada de reset 0001 junto con otros bits de entrada en la condición de ejecución de reset.
Precauciones Incorrecto 0002
Correcto SI
0003
R
0002 CNTH(24) CNT13 #0150
0001
SI R
CNTH(24) CNT13 #0150
0004 0001 0002 0003
0002 0003
SI 0004
Indicadores
Ejemplo 1: Aplicación básica
90
0001
R
ER:
CNTH(24) CNT13 #0150
SI R
CNTH(24) CNT13 #0150
0004
El indicador de error (0311) se pondrá a ON cuando el contaje seleccionado SV no esté en BCD. La instrucción se ejecutará, pero la operación no será fiable.
En el siguiente ejemplo, el valor presente (PV) aumentará cada vez que el impulso de contaje, 0000, conmute de OFF a ON siempre que la entrada de
Juego de Instrucciones
Sección 3--7 start, 0002, esté en ON y la de reset, 0003 esté en OFF. Una vez que se hayan contado 150 impulsos (es decir, el valor presente alcance el preseleccionado), el indicador de contaje alcanzado, CNT 13, y la salida 0101 se pondrán a ON.
0002
SI
2003
Dirección Instrucción
CNTH(24) CNT13 #0150
R
000 001 002
LD LD CNTH(24)
003 004 005
LD OR OUT
CNT 13 0101 0101
Valor presente
0000
0001
0002
0003
0149
Operandos
CNT # CNT
0002 2003 13 0150 13 0101 0101
0000
Entrada de contaje, CP (0000) Entrada de reset, R (2003) Entrada start, SI (0002) ON durante 1 ciclo de scan
Indicador de contaje alcanzado CNT 13 0101
3--7--22 SHIFT REGISTER -- SFT(33) Diagrama de relés I P
Areas de datos Wd: Canal de desplazamiento
SFT(33)
Bits de salida, trabajo, DR, LR
Wd
R
Limitaciones
En cualquier programa se pueden programar un máximo de 16 SFT(33).
Descripción
La instrucción SFT(33) realiza el desplazamiento del estado ON/OFF de la señal presente en la ”entrada” cada vez que se active la señal de ”reloj”. Cada instrucción SFT desplaza 16 bits, un canal. Por lo tanto se pueden desplazar datos entre canales, especificando un canal inicial y un canal final. El orden de programación de esta instrucción es: entrada de datos, entrada de reloj, y SFT (canal inicial y canal final). Canal
Dato perdido
Condición de ejecución I
91
Juego de Instrucciones
Sección 3--7 Cuando se aplica al registro de desplazamiento la entrada de reset, se resetean a la vez los 16 bits.
Ejemplo 1: Aplicación básica
0005 0308 0008
El siguiente ejemplo utiliza el bit de reloj de 1 segundo (0308) de tal forma que la condición de ejecución producida por 0005 se desplaza en un registro de 3 canales entre los bits 010 y 012 cada segundo. Dirección Instrucción
I SFT(33) P
000 001 002 003
010
R
Operandos
LD LD LD SFT(33)
0005 0308 0008 010
Ejemplo 2: Acción de control
El siguiente ejemplo controla la cinta transportadora para expulsar de la cinta los productos defectuosos detectados por los sensores. Para ello, se almacena en un registro de desplazamiento la condición de ejecución determinada por la entrada del primer sensor (0001): ON para producto correcto, OFF para producto defectuoso. La velocidad de la cinta está ajustada para que el bit DR 0003 del registro de desplazamiento active el expulsor (0100) cuando encuentre un producto defectuoso. El programa está escrito de tal forma que el encoder (0000) sincronizado por el primer sensor controla la ejecución de SFT(33) mediante una DIFU(10). Un segundo sensor (0002) detecta los productos defectuosos para activar el expulsor. Sensor (0001)
Expulsor (0100)
Sensor (0002)
Encoder rotativo (0000)
0001 0000 0003
Dirección Instrucción
I SFT(33) P
DR 00
R
DR 0003 0100
0002 0100
DR 0003
92
000 001 002 003
LD LD LD SFT(33)
004 005 006 007 008
LD OUT LD OUT NOT OUT NOT
Operandos 0001 0000 0003 DR DR
DR
00 0003 0100 0002 0100 0003
Juego de Instrucciones
Sección 3--7
3--7--23 MOVE -- MOV(30) Diagrama de relés MOV(30) S D
Descripción
Areas de datos S: Canal fuente E/S, trabajo, dedicado, DR, LR, TC, # D: Canal destino Bits de salida, bits de trabajo, DR, LR
MOV transfiere los datos de un canal especificado (fuente) o constante hexadecimal de cuatro dígitos a otro canal especificado (destino). Canal fuente
Precauciones Indicadores
Canal destino
MOV(30) se ejecuta cada ciclo de scan a no ser que se programe con DIFU(10) o DIFD(11). ER: EQ:
Canal DR direccionado indirectamente no existe. (El contenido de *DR no está en BCD, o se ha excedido el área de DR.) Se pone a ON cuando el contenido a transferir es cero.
3--7--24 MOVE NOT -- MVN(31) Diagrama de relés MVN(31) S D
Descripción
Areas de datos S: Canal fuente E/S, canal, dedicado, DR, LR, TC, # D: Canal destino Bits de salida, bits trabajo, DR, LR
MVN invierte los datos del canal fuente y los transfiere al canal destino. Canal fuente
Canal destino Contenido invertido
Precauciones Indicadores
MVN(31) se ejecuta cada ciclo de scan a no ser que se programe con DIFU(10) o DIFD(11). ER: EQ:
Canal DR direccionado indirectamente no existe. (El contenido de *DR no está en BCD, o se ha excedido el área de DR.) Se pone a ON cuando el contenido a transferir es cero.
3--7--25 COMPARE -- CMP(32) Diagrama de relés CMP(32) Cp1 Cp2
Areas de datos Cp1: Primer canal E/S, canal, dedicado, DR, TR, TC, # Cp2: Segundo canal E/S, canal, dedicado, DR, LR, TC, #
93
Juego de Instrucciones
Sección 3--7
Limitaciones
Cuando se compara un valor con el valor presente de un temporizador o contador, el valor ha de estar en BCD.
Descripción
CMP se utiliza para comparar los datos de un canal especificado con los de otro canal, o con una constante hexadecimal de cuatro dígitos, activando uno de los indicadores GR, EQ, o LE dependiendo del resultado.
Precauciones
Poniendo otras instrucciones entre CMP(32) y la operación que utilice los indicadores EQ, LE, y GR puede cambiar el estado de estos indicadores.
Indicadores
ER:
Canal DR direccionado indirectamente no existe. (El contenido de *DR no está en BCD o se ha excedido el área de DR.)
EQ:
ON si Cp1 es igual a Cp2.
LE:
ON si Cp1 es menor que Cp2.
GR:
ON si Cp1 es mayor que Cp2.
El siguiente ejemplo muestra cómo salvar inmediatamente el resultado de la operación de comparación.
Ejemplo 1: Salvar el resultado de CMP(32)
0000 IL(02) CMP(32) 01 DR 09
0315 0100
Mayor que
0101
Igual
0314
0313 0102
Menor que
ILC(03)
Dirección Instrucción 000 001 002
Operandos
LD IL(02) CMP(32)
0000
DR 003
Ejemplo 2:
94
LD
01 09 0315
Dirección Instrucción 004 005 006 007 008 009
OUT LD OUT LD OUT ILC(03)
Operandos 0100 0314 0101 0313 0102
El siguiente ejemplo utiliza TIM, CMP(32), y el indicador LE (0313) para generar salidas a determinados intervalos de la operación de temporización.
Juego de Instrucciones
Sección 3--7 0000 IL(02) TIM 10 #5000 CMP(32) TIM 10 #4000 0313 0100
Salida a 100 s.
CMP(32) TIM 10 #3000 0313 0101
Salida a 200 s.
ILC(03) TIM 10 0103
Dirección Instrucción 000 001 002
LD IL(02) TIM
003
CMP(32)
Operandos 0000
# TIM # 004 005
AND OUT
10 5000 10 4000 0313 0100
Dirección Instrucción 006
007 008 009 010 011
Salida a 500 s.
Operandos
CMP(32)
AND OUT ILC(03) LD OUT
TIM #
10 3000 0313 0101
TIM
10 0103
3--7--26 BLOCK COMPARE -- BCMP(34) Sólo SP16 y SP20 Diagrama de relés
Areas de datos CD: Datos a comparar
BCMP(34) CD CB R
E/S, trabajo, dedicado (sólo 03), DR, LR, TC, # CB: Canal a comparar inicial DR (sólo de 00 a 13) R: Canal de resultado I/O (sólo 01), trabajo, DR, LR
Limitaciones
Todos los datos deben estar en BCD. Pulsar la tecla CONT/# antes de introducir una constante como dato a comparar (CD).
Descripción
N es el dígito de la derecha de CB y determina el tamaño del bloque de comparación; habrá N+1 rangos de comparacón. BCMP(34) compara CD con los rangos definidos por un bloque que consta de CB+1, CB+2, ..., CB+(2N+2). Cada rango queda definido por dos canales, el primero indica el
95
Juego de Instrucciones
Sección 3--7 límite inferior y el segundo el límite superior, como se muestra a continuación. Si el límite inferior es menor que el límite superior, el correspondiente bit del canal de resultado, R, se pondrá a ON siempre que CD esté dentro del rango preseleccionado. Tabla de comparaciones CB+1 ≤ CD ≤ CB+2 CB+3 ≤ CD ≤ CB+4 . . . . . . . . . CB+ (2N+1)≤ CD ≤ CB+(2N+2)
Bit en R Bit 00 Bit 01
Bit N
Si el límite inferior es mayor que el límite superior, el bit correspondiente del canal de resultado se pondrá a ON siempre que CD no esté dentro del rango preseleccionado. Tabla de comparaciones CD ≤ CB+1 or CB+2 ≤ CD CD ≤ CB+3 or CB+4 ≤ CD . . . . . . . . . CB+(2N+1) ≤ CD or CB+(2N+2) ≤ CB
Bit en R Bit 00 Bit 01
Bit N
Si el contenido de CB o la tabla de datos cambian durante la ejecución, ésta continuará con los nuevos valores. Canal DM direccionado indirectamente no existe. (El contenido de *DM no está en BCD, o se ha excedido el área de DM).
Indicadores
ER:
Ejemplo
El siguiente ejemplo muestra las comparaciones realizadas y los resultados obtenidos para BCMP(34). Aquí, la comparación se ejecuta durante cada ciclo de scan cuando 0000 está en ON. El dígito de la derecha de CB (DR 00) es 5, de tal forma que el bloque de comparación es CB+1 a CB+(2N+2) o DR 01 a DR 12.
Dirección Instrucción
00000 BCMP(34)
000 001
02
Operandos
LD BCMP(34)
0000
DR 00 01
CB: DR 00 DR 00
0005
Bloque de comparación: CB+1 a CB+(2N+2) o DR 01 a DR12.
CD: 02 02
0210
Datos a comparar en 02 (que contiene 0210).
96
02 00 01
DR
Límites inferiores
Límites superiores
R: 01
DR 01 DR 03 DR 05
0000 0101 0201
DR 02 DR 04 DR 06
0100 0200 0300
0100 0101 0102
0 0 1
DR 07 DR 09 DR 11
0501 1401 1501
DR 08 DR 10 DR 12
0600 1500 1600
0103 0104 0105
0 0 0
Juego de Instrucciones
Sección 3--7
3--7--27 CLEAR CARRY -- CLC(44) Diagrama de relés CLC(44)
La instrucción CLC(44) sirve para poner un 0 lógico en el indicador de acarreo CY (0312).
3--7--28 BCD ADD -- ADD(40) Areas de datos Au: Sumando (BCD)
Diagrama de relés
E/S, canal, dedicado, DR, LR, TC, #
ADD(40)
Ad: Sumando (BCD)
Au
E/S, canal. dedicado, DR, LR, TC, #
Ad
R: Canal de resultado
R
Descripción
Bits salida, bits trabajo, DR, LR
ADD(40) suma los datos de dos canales diferentes, o de un canal y una constante, enviando el resultado a un tercer canal, activando el indicador de acarreo si éste se genera.
Au + Ad + CY Indicadores
ER:
CY
R
Au y/o Ad no están en BCD. El canal DR direccionado indirectamente no existe. (Contenido de *DR no está en BCD, o se ha excedido el área de DR.)
CY:
Se pone a ON cuando se genera acarreo.
EQ:
Se pone a ON cuando el resultado es 0.
Si 0002 está en ON, el programa de la figura pone a cero con CLC(44) el bit CY, suma el contenido de LR 25 a la constante (6103), almacena el resultado en DR0100, y luego mueve 0000 ó 0001 dependiendo del estado de CY a DR 0101. Esto asegura el almacenamiento de todo el resultado, incluido el acarreo. Este resultado se puede tratar posteriormente como un dato de 8 dígitos.
Ejemplo
0002 CLC(44)
ADD(40) LR 25
Dirección Instrucción 000 001 002
LD CLC(44) AND(40)
#6103 CY 0312
DR 00 ADD(40) #0000 #0000 DR 01
003 004
Operandos 0002
LR # DR
25 6103 00 0312
# # DR
0000 0000 01
AND AND(40)
97
Juego de Instrucciones
Sección 3--7
3--7--29 BCD SUBTRACT -- SUB(41) Areas de datos Mi: Minuendo (BCD)
Diagrama de relés
E/S, canal, dedicado, DR, LR, TC, #
SUB(41)
Su: Sustraendo (BCD)
Mi
E/S, canal, dedicado, DR, LR, TC, #
Su
R: Canal resultado
R
Descripción
Cuando la condición de ejecución es ON, SUB(41) resta de Mi el contenido de Su y CY, y almacena el resultado en R. Si el resultado es negativo, se pone a ON el bit CY y el resultado se almacena en R en complemento a 10. Para obtener el valor real a partir del complemento a 10, restar a cero el contenido del canal R.
Mi -- Su -- CY
Indicadores
Bits de salida, trabajo, DR, LR
ER:
CY
R
Mi y/o Su no están en BCD. Canal DR direccionado indirectamente no existe. (El contenido de *DR no está en BCD, o se ha excedido el área de DR.)
CY:
Se pone a ON cuando el resultado es negativo.
EQ:
Se pone a ON cuando el resultado es 0.
Atención Poner a cero el indicador de acarreo antes de ejecutar SUB(41), y comprobar el estado de CY después de la ejecución de SUB(41). Si CY está en ON (resultado de la sustración negativo), el resultado se da en complemento a 10 del valor real.
Ejemplo
Cuando 0002 está a ON, el siguiente programa pone a cero el bit CY, resta de DR 0010 el contenido de #0100 y de CY y almacena el resultado en DR 00. Si el bit CY se pone a ON, resultado negativo, a 0000 se le resta dicho resultado, almacenándose el así obtenido en DR 00, y poniendo a ON el DR 1100 para indicar un valor negativo. Si el bit CY permanece en OFF, la segunda resta no se ejecuta.
98
Juego de Instrucciones
Sección 3--7
0002 CLC(44)
Primera resta
SUB(41) DR 10 #0100 DR 00 0312 CLC(44)
Segunda resta Dirección Instrucción
SUB(41)
000 001 002
#0000 DR 00 DR 00 0312 DR 1100
Se pone a ON para indicar resultado negativo
003 004 005
006 007
Operandos
LD CLC(44) SUB(41)
0002
DR # DR
10 0100 00 0312
# DR DR
0000 00 00 0312 1100
AND CLC(44) SUB(41)
AND OUT
DR
A continuación se muestra la ejecución de la primera y segunda resta asignando valores a los operandos. Primera resta DR 10 # CY DR 00 CY Segunda resta # DR 00 CY DR 00 CY
0089 -- 0100 -- 0 9989 1
(0089 + (10,000 -- 0100)) (resultado negativo)
0000 --9989 --0 0011 1
(0000 + (10,000 -- 9989)) (resultado negativo)
En este caso, el programa pondrá a ON el bit DR 1100 para indicar que el resultado contenido en DR 00 es negativo.
3--7--30 AND WORD-- ANDW(42) Areas de datos Diagrama de relés ANDW(42) I1 I2 R
Descripción
I1: Entrada 1 E/S, canal, dedicado, DR, LR, TC, # I2: Entrada 2 E/S, canal, dedicado, DR, LR, TC, # R: Canal resultado Bits de salida, trabajo, DR, LR
Cuando la condición de ejecución es ON, ANDW(42) realiza la operación lógica AND de los contenidos de I1 e I2 bit-a-bit y almacena el resultado en R.
99
Juego de Instrucciones
Sección 3--7 15
Ejemplo I1
1
00 0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
15 0
I2
00 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
15 0
R Indicadores
ER: EQ:
00 0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
Canal DR direccionado indirectamente no existe. (Contenido de canal *DR no está en BCD, o se ha excedido el área de DR.) Se pone a ON cuando el resultado es 0.
3--7--31 OR WORD -- ORW(43) Areas de datos I1: Entrada1
Diagrama de relés
E/S, canal, dedicado, DR, LR, TC, #
ORW(43)
I2: Entrada 2
I1
E/S, canal, dedicado, DR, LR, TC, #
I2
R: Canal de resultado
R
Descripción
Bits de salida, trabajo, DR, LR
Cuando la condición de ejecución es ON, ORW(42) realiza la operación lógica OR de los contenidos de I1 e I2 bit-a-bit y almacena el resultado en R.
Ejemplo
15
I1
1
00 0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
I2
0
00 1
0
1
0
1
0
1
0
1
0
1
0
1
0
15
R Indicadores
ER: EQ:
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
Canal DR direccionado indirectamente no existe. (Contenido de canal *DR no está en BCD, o se ha excedido el área de DR.) Se pone a ON cuando el resultado es 0.
Diagrama de relés
Areas de datos STEP(04)
B: Bit de control Bits de salida, trabajo, DR, LR
100
1
00
3--7--32 STEP DEFINE y STEP START--STEP(04)/SNXT(05)
STEP(04) B
1
Juego de Instrucciones
Sección 3--7 SNXT(05)
B: Bit de control
B
Bits de salida, trabajo, DR, LR
Limitaciones
Los bits de control dentro de una sección de programación paso a paso deben ser secuenciales y pertenecer al mismo canal.
Descripción
Estas instrucciones hacen posible el control paso a paso, programando en diagrama de relés. El funcionamiento es el siguiente: STEP(04) con operando se utilizará para definir el inicio de un programa de paso. STEP(04) sin operando indicará el final de un programa de paso, y tras esta instrucción, el SP10 ejecutará el programa como diagrama de relés normal. SNXT(05) resetea el proceso anterior e inicia el siguiente. Esta instrucción se ha de ejecutar al principio y al final de cada proceso. 0000 SNXT(05) 0200 STEP(04) 0200
Paso controlado por 0200
Inicio del programa paso a paso
1er. paso
0001 SNXT(05) 0201 STEP(04) 0201
Paso controlado por 0201
2nd. paso
0002 SNXT(05) 0202 STEP(04)
Fin del proceso de paso
Dirección Instrucción 000 001 002
Operandos
LD SNXT(05) STEP(04)
0000 0200 0200
Paso controlado por 0200. 030 031
LD SNXT(05)
0001 0201
Dirección Instrucción 032
Operandos
STEP(04)
0201
Paso controlado por 0201. 051 052 053
LD SNXT(05) STEP(04)
0002 0202 ---
Los pasos se pueden programar consecutivamente. Cada paso ha de comenzar con STEP(04) y finalizar generalmente con SNXT(05). Cuando se programan pasos en serie, la ejecución puede ser secuencial, ramificada, o paralela. Las condiciones de ejecución para, y la posición de, SNXT(05) determina como se ejecutan los pasos. Precauciones
Dentro de programas de paso no se pueden insertar instrucciones IL--ILC ni END(01).
101
Juego de Instrucciones
Sección 3--7 Los bits utilizados como bits de control no se pueden utilizar en ningún otro lugar del programa, a no ser que se utilicen para controlar la operación del paso.
Indicadores
0411:
Indicador de inicio de paso; se pone a ON durante un ciclo de scan cuando se ejecuta STEP(04) y se puede utilizar para resetear contadores en pasos si fuera necesario.
0000 Start
SNXT(05) 0200 0200 STEP(04) 0200 0210
CP CNT 1
0411
R
Dirección Instrucción 000 001 002 003
102
LD SNXT(05) STEP(04) LD
Operandos 0000 0200 0200 0210
0411
#0003
1 Scan
Dirección Instrucción 004 005
Operandos
LD CNT #
0411 1 0003
Depuración del programa
3--8
Sección 3--8
Depuración del programa Después de escribir el programa y corregir los errores de sintaxis, se debe ejecutar el programa y eliminar todos los errores de ejecución que aparezcan. Los errores de ejecución incluyen un ciclo de scan excesivamente largo y acciones de control inapropiadas, es decir, que el programa no hace aquello para lo que se diseñó. Si se desea, el programa se puede ejecutar primeramente separado del sistema de control real, simulando las entradas y salidas para comprobar ciertos errores antes de realizar la operación experimental con el sistema controlado.
3--8--1
Visualización y borrado de mensajes de error Cuando se produce un error durante la ejecución del programa, se puede visualizar pulsando las teclas CLR, FUN, 6, 1 y luego MON. Se puede seguir pulsando MON para visualizar otros mensajes de error almacenados en la memoria por el sistema. Si se pulsa MON en modo PRGM, el mensaje de error se borrará de la memoria. Una vez borrado el último mensaje se visualizará el mensaje CHECK OK. En modo RUN los mensajes no se pueden borrar pulsando MON. Si la causa del error permanece, se debe eliminar antes de borrar el mensaje de error correspondiente. Consultar la Sección 5 Eliminación de errores para más detalles sobre los mensajes de error. La secuencia en que se visualizan los mensajes de error depende de su prioridad. A pesar de que los mensajes de error se pueden visualizar en cualquier modo, sólo se pueden borrar en modo PROGRAM. No es posible arrancar de nuevo el PLC después de un error fatal si no se borra primero el mensaje en modo PROGRAM.
Secuencia de teclas
Ejemplo
La siguiente figura muestra algunos de los mensajes que pueden aparecer. Consultar la Sección 5 Eliminación de errores donde encontrará un listado de los mensajes de error, su significado, y las medidas a tomar. 0--000 0
ERROR
MESSAGE
0 ERROR MESSAGE CHECK OK 0 ERROR MESSAGE MEMORY ERR 0 ERROR MESSAGE NO END INST 0 ERROR MESSAGE CHECK OK
Errores fatales
Se han borrado todos los errores
103
Ejecución del programa
3--8--2
Sección 3--9
Lectura de tiempo de scan El siguiente procedimiento se puede utilizar para leer el tiempo de scan presente y el tiempo de scan máximo. La tecla Monitor se puede pulsar consecutivamente para repetir la operación. El PLC debe estar en modo RUN. Esta operación sólo se puede ejecutar con el SP 16 y SP 20.
Secuencia de teclas
Pulsar CLR para parar la operación
Ejemplo
La siguiente figura muestra los displays de tiempo de scan.
0--000 0 SCAN TIME 0
3--9
PRES MAX
VAL VAL
0.8ms 1.0ms
Ejecución del programa El tiempo de ejecución de las diversas operaciones se ha de considerar tanto cuando se escribe un programa como cuando se depura. Para obtener la acción de control deseada en el momento preciso es muy importante considerar el tiempo de ejecución del programa y de otras operaciones de la CPU, como el sincronismo de la entrada y salida de señales al/del PLC.
3--9--1
Tiempo de scan Los factores más importantes para determinar el cronograma del programa son el tiempo de scan o ejecución y el tiempo de respuesta de las E/S. Cuando se inicia la ejecución del programa, la CPU muestrea el programa de arriba a abajo, chequeando todas las condiciones y ejecutando todas las instrucciones secuencialmente. Es muy importante que las instrucciones estén escritas en el orden adecuado, para por ejemplo, mover los datos deseados a un canal antes de que este canal sea utilizado como operando de una instrucción. Un ciclo de la operación de la CPU se denomina ciclo de scan; el tiempo necesario para completar un ciclo se denomina tiempo de scan. El tiempo necesario para producir una señal de salida de control a partir de la recepción de una señal de entrada se denomina tiempo de respuesta de E/S. La siguiente figura muestra el diagrama de flujo de las operaciones de la CPU:
104
Tiempo de respuesta de E/S
Sección 3--10 Conexión de alimentación
Inicialización
A
Tiempo de scan Tiempo necesario para realizar este proceso
Procesos supervisión
B
Ejecución del programa
C
Refresco de E/S
• Transfiere el programa de EEPROM a RAM. • Resetea las áreas de datos (excepto área
DR), resetea todos los temporizadores, y chequea el estado de los enlaces.
• Resetea el temporizador de guarda. • Chequea el estado RUN y la memoria de programa • Utilizando el código programado, ejecuta cada
instrucción desde la dirección 000 hasta la instrucción END.
• Refresco de salida •
D
Servicio de la consola de programación
E
Servicio de PC Link
Refresca los bits de salida de acuerdo con los resulados de la ejecución del programa Refresco de entrada Refresca los bits de entrada de acuerdo con las señales de entrada.
• Da servicio a la Consola de Programación (monitorizar, editar, etc.).
• Comunicación de datos con otros PLCs vía adaptador de enlace.
El primer proceso de inicialización se realiza una sola vez, inmediatamente después de aplicar alimentación al PLC. El resto de operaciones se realizan cíclicamente, formando cada ciclo un scan. El tiempo de scan es el tiempo que necesita la CPU para completar uno de estos ciclos. Este ciclo incluye básicamente cinco tipos de operaciones. 1. 2. 3. 4. 5.
Supervisión Ejecución del programa Refresco de E/S Servicio de la consola de programación Servicio del PC Link
El tiempo de scan es el tiempo total que el PLC necesita para realizar todas las operaciones anteriores. A todos los periféricos se les da servicio una vez por cada ciclo de scan en el orden expresado. Tiempos de temporizador de guarda y de scan largo
El temporizador de guarda mide el tiempo de scan y lo compara con un valor seleccionado. Si el tiempo de scan excede al valor seleccionado del temporizador de guarda, 100mseg, se produce un error de CPU y ésta se para. El tiempo de un scan es aproximadamente 300 µs más el tiempo necesario para la ejecución del programa.
3--10 Tiempo de respuesta de E/S El tiempo de respuesta de E/S es el necesario para que el PLC produzca una señal de salida después de recibir una señal de entrada. Su valor depende del tiempo de scan y del momento en que la CPU recibe la señal de entrada con relación al periodo de refresco de E/S.
105
Tiempo de respuesta de E/S
Sección 3--10
3--10--1 Configuración simple El refresco de las entradas y salidas se realiza a la vez en el mismo ciclo de la CPU, una vez completado el procesamiento del programa. A continuación se indica cómo calcular los tiempos máximo y mínimo de respuesta de E/S. El PLC responde más rápidamente si recibe una señal de entrada justo antes del periodo de refresco de E/S dentro del ciclo de scan. Una vez puesto a ON el bit de entrada correspondiente a la señal, se tendrá que ejecutar una vez el programa para poner a ON el bit de salida para la señal de salida deseada. En este caso el tiempo de respuesta de E/S se calcula sumando el retardo de entrada, el tiempo de scan, y el retardo de salida.
Tiempo mínimo de respuesta de E/S
Retardo de entrada
IN
B Proceso PLC
C D
E
A
Ejecución
B
CDE A
Ejecución
B
C D
E
Ejecución
Tiempo de scan OUT Retardo de salida Tmin
Tmin = Tiempo mínimo de respuesta de E/S = retardo entrada + tiempo filtro + tiempo scan + retardo salida = C + B + (200 µs + tiempo ejecución programa) + A donde A: Retardo de salida (ver siguiente tabla) B: Valor del filtro (consultar Sección 2 Instalación) C: Retardo de entrada y Tiempo ejecución programa = suma de tiempos de ejecución de las instrucciones (consultar Apéndice C Instrucciones de Programación y Tiempos de Ejecución) El retardo de entrada a ON es 200 mseg máximo y el retardo a OFF de 250 mseg. Salida
Tiempo máximo de respuesta de E/S
106
Relé
Transistor
Retardo a ON
10 ms máx.
20 µs máx.
Retardo a OFF
10 ms máx.
300 µs típ.
El PLC responderá más lentamente si recibe la señal de entrada justo después de finalizar el refresco de E/S. En este caso la CPU no reconoce la señal de entrada hasta el final del siguiente ciclo de scan. El tiempo de respuesta es por lo tanto un tiempo de scan más largo que en el caso anterior.
Tiempo de respuesta de E/S
Sección 3--10 Retardo de entrada
IN
C
D
E
A
B
C D
E
A
B
C
D
Ejecu-ción
Proceso PLC
Tiempo scan
Retardo de salida
OUT Tmáx
Tmáx = Tiempo de respuesta de E/S máximo = retardo entrada + tiempo filtro + (tiempo scan x 2) + retardo salida = C + (B + 0.5 ms) + ((200 µs + tiempo ejecución programa) x 2) + A
3--10--2 Configuración múltiple En una configuración de varios PLCs enlazados, el tiempo de respuesta total será la suma de los tiempos de scan de cada uno de ellos. En la siguiente figura se da el tiempo medio de respuesta de E/S en función del número de PLCs enlazados. Para un sistema de 4 PLCs, el tiempo de respuesta máximo es de 0,4 segundos. Tiempo medio de respuesta de E/S (s)
128 pts.
0.4
64 pts. 0.3 0.2 0.1
1
Nota
2
3
4No. de PLCs enlazados
La duración requerida para procesar PLCs enlazados aumenta si un PLC ya enlazado se desconecta de la red.
107
SECCIÓN 4 Operación Esta sección describe cómo monitorizar y mantener el funcionamiento del PLC una vez escrito y transferido el programa. También describe cómo inicializar tarjetas de memoria. 4--1
4--2
Monitorización y cambio de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--1--1 Monitorización Bit/Multibit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--1--2 Forzar a Set/Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--1--3 Modificar datos Hexadecimal/BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--1--4 Monitorizar datos binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--1--5 Modificación de datos binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inicialización de tarjetas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
110 110 113 114 115 116 117
109
Monitorización y modificación de datos
4--1
Sección 4--1
Monitorización y modificación de datos La forma más sencilla de monitorizar es visualizar la dirección del bit cuyo estado deseamos comprobar mediante la operación de leer o buscar. Si la operación se ejecuta en modo RUN, se indicará el estado de cualquier bit visualizado. Esta sección indica otros procedimientos para monitorizar datos así como para modificar datos existentes en el área de datos, como por ejemplo valores presentes (PV) de temporizadores o contadores. Todas las operaciones de monitorización en esta sección se pueden realizar en modo RUN o PROGRAM y se pueden cancelar pulsando CLR. Todas las operaciones de modificación deben ir precedidas de una operación de monitorización. Se pueden modificar datos en modo PROGRAM o RUN.
4--1--1
Monitorización Bit/Multibit Cuando se monitoriza un bit, se visualizará su estado ON/OFF (en modo RUN); cuando se monitoriza un canal se visualizarán los contenidos en hexedecimal de cuatro dígitos; y cuando se monitoriza un temporizador o contador, se visualizará el valor presente (PV), y si el indicador de tiempo o contaje alcanzado está en ON aparecerá un pequeño recuadro. Cuando se monitorizan múltiples canales, aparecerá un espacio entre las diferentes direcciones designadas. El estado de los indicadores aritméticos se borran al ejecutar la instrucción END(01) por lo que no se pueden monitorizar. Se pueden monitorizar a la vez hasta tres direcciones de memoria, bits, canales o una combinación de ambos. Durante la operación de monitorización las teclas de flecha arriba -- abajo se pueden utilizar para aumentar -- disminuir la dirección que aparece en la izquierda del display, y CLR para cancelar la monitorización de dicha dirección. Si se cancela la última dirección, se cancela la operación de monitorización completa. Esta también se puede cancelar pulsando las teclas SHIFT y luego CLR. LD y OUT se pueden utilizar sólo para designar la primera dirección a visualizar; no se pueden utilizar cuando ya se está monitorizando una dirección.
110
Monitorización y modificación de datos
Sección 4--1
Secuencia de teclas para monitorización de bit/canal Leer programa [Direcc. bit]
Borrar dirección de la izquierda Cancelar monitorización Desplazar a canal monitorizado
Secuencia de teclas para monitorización múltiple
[Dirección]
Siguiente dirección Cancela un bit
Cancela toda la monitorización
111
Monitorización y modificación de datos Ejemplos
Sección 4--1
Los siguientes ejemplos muestran varias aplicaciones de monitorización.
Leer programa y luego monitorizar
0--001 0-001 READ TIM
00
0 T 00 1234 0 T 01 0000 Indicador de tiempo/contaje alcanzado en ON
0--001 TIM
01
Operación de monitorización cancelada
Monitorizar bit 0--000 0--000READ ON LD 0--001READ AND
0000 OFF 0001
Monitorizar canal
0--000 0--000 CHANNEL
00
0--000 CHANNEL DR
10
0 cD10 0000 0 cD09 FFFF
112
Monitorización y modificación de datos
Sección 4--1
Monitorización múltiple 0--000 0--000 TIM
00
0 T 00 0100 0 0000 T 00 0100 0 0001 T 00 0100 0 0001 T 00 ^OFF 0100 0 cD00 0001 T 00 10FF ^OFF 0100 0 cD00 0001 T 00 10FF ^OFF 0100 0 T 00 cD00 0100 10FF
0001 OFF
0 cD00 0001 10FF ^OFF
Cancela la monitorización de la dirección de la izquierda
0 0001 ^OFF 0--000 CONT
or
4--1--2
0001
Cancela la operación de monitorización
Forzar a Set/Reset Pulsando las teclas CHG y ENT se puede forzar a set o reset el bit monitorizado o start/reset el temporizador o incrementar/resetear el contador monitorizado. Los bits dedicados y los indicadores no se pueden forzar mediante esta operación. El estado del bit permanecerá en ON u OFF hasta el refresco de las E/S, es decir durante un scan. Esta operación se puede utilizar en modo RUN para chequear el cableado de las salidas desde el PLC antes de la ejecución real del programa.
Secuencia de teclas Monitorización bit/canal Monitorización múltiple
Ejemplo
El siguiente ejemplo muestra cómo controlar bits individuales o contadores mediante la operación forzar a Set/Reset.
113
Monitorización y modificación de datos
Sección 4--1
0000
Dirección Instrucción
CP CNT 05
0200
R
#0100
CNT05 0101
000 001 002
LD LD CNT
003 004
LD OUT
Operandos
# CNT
0000 0200 05 0100 05 0101
El siguiente ejemplo muestra el proceso generado cuando el CNT 05 se activa cuando el bit 0000 está en ON. (Ejemplo en modo RUN)
0--000 0--000 CNT
00
0--000 CNT
05
0 C 05 0100 0 0000 C 05 0100 0
0000 ^OFF
C 05 0100
0
0000 OFF
C 05 0100
Indica que se está ejecutando la operación forzar a set/reset
4--1--3
0
0000 ^ ON
C 05 0099
0
0000 ^OFF
C 05 0099
Después de un scan el valor de 0000 se pone a 0
Modificación de datos Hexadecimal/BCD Cuando se está ejecutando la operación de monitorización múltiple y en la parte izquierda del display aparece un valor en BCD o Hexadecimal, se puede cambiar dicho valor pulsando CHG. No se pueden cambiar los canales dedicados. Si es un temporizador o contador el que se encuentra en la parte izquierda del display, se visualizará y se podrá cambiar el valor presente (PV). Este valor sólo se puede cambiar en modo RUN cuando el temporizador o contador está operando. Para cambiar el contenido de la dirección del canal de la izquierda, pulsar CHG, escribir el valor deseado, y pulsar ENT.
114
Monitorización y modificación de datos
Sección 4--1
Secuencia de teclas
Canal monitorizado en la izquierda del display
Ejemplo
[ Dato ]
El siguiente ejemplo muestra cómo cambiar el valor presente (PV) de un temporizador.
Ejemplo en modo RUN
0--000 0--000 TIM
00
0 T 00 0122 Temporización
0 T 00
PRES 0119
VAL? ????
PV cambiado
Temporización
0 T 00
PRES 0100
VAL? 0200 Temporización
0 T 00 0199 Temporización
4--1--4
Monitorizar datos binarios Se puede especificar la visualización en binario de los contenidos de un canal monitorizado pulsando las teclas SHIFT y MON después de haber especificado la dirección del canal. Se pueden monitorizar canales sucesivos utilizando las teclas de flecha arriba y abajo (siguiente canal, canal anterior). Para borrar la visualización binaria, pulsar CLR.
115
Monitorización y modificación de datos
Sección 4--1
Secuencia de teclas
Para ir al siguiente -anterior canal
[Dirección CH]
Borrar monitorización binaria Borrar toda monitorización
Ejemplo
0--000 0--000 CHANNEL
00
0--000 CHANNEL DR
10
0
cD10 0008
0 cD10 MON 0000000000000111 0
o
4--1--5
cD10 0008
0--000 CHANNEL
DR
10
Modificación de datos binarios Esta operación se puede utilizar para cambiar el estado de bits individuales. El cursor, que se puede mover a derecha -- izquierda con las teclas de flecha abajo -- arriba respectivamente, indica la posición del bit que se desea cambiar. Una vez posicionado en el bit que se desea cambiar, pulsar la tecla 0 ó 1 para especificar el valor binario que se desea. Después de cambiar el valor del bit, aparecerá un cuadrado intermitente en la posición del siguiente bit de la derecha.
Secuencia de teclas
Canal visualizado en binario
116
Inicialización de la tarjeta de memoria Ejemplo
Sección 4--2 0--000 0--000 CHANNEL 0--000 CHANNEL
00 DR
01
cD01 MON 0000010101010101 cD01 CHG? 000010101010101 cD01 CHG? 1 00010101010101 cD01 CHG? 10 0010101010101 cD01 CHG? 100 010101010101 cD01 CHG? 1000 10101010101 cD01 CHG? 100 010101010101 cD01 CHG? 10 0010101010101 cD01 MON 1000010101010101 Bit 15
4--2
Bit 00
Inicialización de la tarjeta de memoria La consola de programación dispone de un slot para la tarjeta de memoria que permite hacer copias de seguridad de los programas. Sólo se puede utilizar un modelo de tarjeta de memoria: HMC-ES141. Cada tarjeta tiene 16 Kbytes de S-RAM y contiene una batería para mantener los datos. Una tarjeta de memoria puede contener hasta 27 programas para el SP10 y hasta 18 programas para el SP16 ó SP20.
Procedimiento de inicialización
Después de insertar una nueva tarjeta de memoria en la consola de programación, aquélla debe inicializarse mediante la siguiente secuencia de teclas.
Secuencia de teclas
Los displays correspondientes se muestran a continuación. Al pulsar la primera vez ENT, la consola de programación visualiza las características de la tarjeta de memoria. Pulsando nuevamente ENT, la consola
117
Inicialización de la tarjeta de memoria
Sección 4--2
comienza a formatear la tarjeta de memoria. El progreso de esta operación se indica gráficamente en el display de la consola. Cuando se visualiza END el formateo ha finalizado. 0--000 0--000 FUN (??) MEM. CARD FORMAT? MEM. CARD TYPE 016KB SRAM MEM. CARD FORMAT MEM. CARD FORMAT END
Nota La batería (batería de litio CR2325 3 V) de la memoria ha de cambiarse en la fecha indicada en su cara posterior, en caso de no hacerlo se perderán los programas o datos almacenados en ella. El LED indicador M/C ON se encenderá cuando se accede a la tarjeta de memoria. Los datos de la tarjeta se pueden destruir si se extrae la tarjeta de la consola mientras el LED M/C ON está encendido. Mensajes de error
Se pueden producir diversos errores relativos a la tarjeta de memoria durante el chequeo del programa. Si aparece en el display uno de los siguientes errores, no se podrá transferir el programa. Mensaje de error
Significado/Corrección
NO END INST
No existe instrucción END. Escribir la instrucción END al final de programa.
(dirección de programa) o ????
La dirección visualizada tiene un operando o una instrucción no apropiado. Corregir el programa y transferirlo de nuevo al PLC.
ERR CARD ~ ProCo El programa almacenado en la tarjeta contiene errores. Se transfieren los datos de la tarjeta de memoria a la RAM de la consola para ser chequeados. Ejecutar un chequeo de programa para confirmar el programa.
118
NO SUPPORT CARD
La tarjeta de memoria no está inicializada, o no es soportada por la consola de programación (SP10--PRO01). Inicializar la tarjeta de memoria (o comprobar las especificaciones de la tarjeta de memoria).
ERR CARD FULL
La tarjeta de memoria está llena. Utilizar otra tarjeta de memoria inicializada.
PTCT ON OR EPROM
El interruptor de protección de la tarjeta está en ON, o la tarjeta insertada en el slot es una EPROM. Ajustar el interruptor de protección, o utilizar una tarjeta de memoria RAM.
NO MEM. CARD
La tarjeta no está insertada correctamente en el slot de la consola.
SECCIÓN 5 Eliminación de errores 5--1 5--2 5--3 5--4
Indicadores de alarma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lectura y borrado de mensajes y errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mensajes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Indicadores de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
120 120 120 121
119
Mensajes de error
5--1
Sección 5--3
Indicadores de alarma Los tres indicadores del frontal de la CPU indican visualmente los errores del PLC. El LED POWER indica errores debidos a aplicación incorrecta de alimentación al PLC; el indicador ERROR informa de errores fatales (errores que paran el funcionamiento del PLC); el LED LINK indica errores de enlace de PLCs. Atención El PLC pondrá a ON el indicador de error (ERROR), detendrá la ejecución del programa, y pondrá a OFF todas las salidas del PLC en la mayoría de los casos de error de hardware y para errores fatales de software. La operación continuará en caso de otros errores. Es responsabilidad del usuario tomar las medidas apropiadas para prevenir situaciones peligrosas derivadas de errores del PLC que no detienen automáticamente su funcionamiento. Los indicadores del sistema se pueden utilizar para programar acciones de este tipo.
5--2
Lectura y borrado de errores y mensajes Los mensajes de error del sistema se pueden visualizar en la consola de programación. Pulsar las teclas CLR, FUN, 6, 1, y MON de la consola de programación. Si existen varios mensajes de error almacenados por el sistema, pulsar la tecla MON para visualizar el siguiente mensaje. Si el sistema está en PROGRAM, pulsando la tecla MON se borrará el mensaje de error. No es posible borrar errores ni mensajes en modo RUN; el PLC ha de estar en modo PROGRAM. Una vez borrados todos los mensajes, se visualizará “CHECK OK” y el LED ERROR se apagará. Si se produce un error “COMM ERR”, la consola de programación sólo reconocerá la tecla CLR, para borrar el error de comunicación y tener acceso vía PC Link a la CPU No. #0. Verificar que el conexionado entre las unidades es correcto. Nota Si se produce un error de memoria en el PLC, la consola de programación puede no funcionar correctamente si el programa es transferido del PLC a la consola de programación. Comparar el programa transferido y el programa del PLC para comprobar si son iguales.
5--3
Mensajes de error Los mensajes visualizados corresponden básicamente a dos tipos de errores: errores de programación y errores fatales de operación. El tipo de error se puede deducir rápidamente a partir de los indicadores del frontal del PLC tal y como se describe en la siguiente tabla. Después de eliminar la causa del error, borrar el correspondiente mensaje de error de la memoria antes de reiniciar la operación.
Errores de programación
120
Los siguientes mensajes de error aparecen si se produce un error durante la programación. La consola ha de estar en modo PROGRAM. El indicador POWER se encenderá y el indicador RUN no se encenderá para ninguno de estos.
Indicadores de error
Sección 5--4 Los siguientes mensajes de error pueden aparecer cuando se escribe un programa. Corregir los errores tal y como se indica y continuar la programación.
Mensajes de error
Mensaje de error
Posible causa/Corrección
PRGM OVER
Programa demasiado grande
El programa excede la capacidad del PLC (La última dirección no es una instrucción NOP, por lo que el programa no se puede escribir) Borrar cualquier dato detrás de la instrucción END o reducir el programa.
ADR OVER
Dirección demasiado alta
El programa excede de la última dirección de la memoria de programa. Seleccionar de nuevo las direcciones.
I/O No. ERR
Error de operando
Se ha escrito un valor no válido para un operando. Verificar el área válida para el operando, y corregir el dato.
Los siguientes mensajes de error aparecen para errores que se producen con el programa en ejecución. Cuando se produce uno de los siguientes errores se detiene la operación del PLC y la ejecución del programa.
Errores de operación
Tipo de error
Tipo de error
Mensaje de error
LED indicador POWER
RUN
Posible Causa/Corrección
ERROR
Fallo de alimentación
--
Chequear la fuente de alimentación, tensión, y cableado.
Error de CPU
--
Ciclo de scan demasiado largo (superior a 100 ms) Desconectar la alimentación, cambiar a PROGRAM, y conectar de nuevo la alimentación.
Error de memoria
MEMORY ERR
El programa puede contener un error. Corregir el programa, y luego transferirlo al PLC mediante la consola de programación. Desconectar y conectar alternativamente la alimentación. Si se produce un error de memoria al conectar la alimentación, pudo poducirse un error en la transferencia de EEPROM a RAM.
Falta instrucción NO END INST END
No encontró en el programa la instrucción END. Cambiar a modo PROGRAM y escribir la instrucción END al final del programa. Encendido
Apagado
Nota Cuando se produce un error PC link, el LED LINK se apaga. Otros mensajes de error
5--4
En este manual se describen otros errores: los de programación se tratan en 3--5 Escritura del programa en memoria y los de transferencia de programas en 3--5--8 Transferencia de programas.
Indicadores de error Existen un número de indicadores en el área de bits dedicados que se pueden utilizar para mantenimiento y corrección de errores. Ver 3--2--5 Bits dedicados.
121
Apéndice A Modelos standard
Nombre SP10
Especificaciones 6 entradas (c.c.; un común)
100 a 240 Vc.a. Salidas relé
4 salidas (2 comunes, 2 pts cada uno) SP16
10 entradas
24 Vc.c.
24 Vc.c.
6 salidas (3 comunes, 2 pts cada uno) SP20
12 entradas
SP10-DT-A
Salidas relé
SP10-DR-D
Salidas transistor
SP10-DT-D SP16-DR-A
Salidas transistor
SP16-DT-A
Salidas relé
SP16-DR-D
Salidas transistor
SP16-DT-D
100 a 240 Vc.a. Salidas relé
(c.c.; 2 comunes, 2 pts cada uno; un común, 8 pts)
SP10-DR-A
Salidas transistor
100 a 240 Vc.a. Salidas relé
(c.c.; un común, 2 pts; un común, 8 pts)
Referencia
24 Vc.c.
8 salidas (4 comunes, 2 pts cada uno)
SP20-DR-A
Salidas transistor
SP20-DT-A
Salidas relé
SP20-DR-D
Salidas transistor
SP20-DT-D
Consola de programación
Vertical, display LCD con iluminación. Compatible con tarjetas de memoria. La SP10-PRO01-V1 tarjeta de memoria y el cable de conexión se venden por separado. Sólo se puede utilizar con los autómatas de la serie SP.
Cable de conexión de la consola
Conecta la consola de programación a la CPU o al Adaptador de Enlace. *
2-m
SP10-CN221
4-m
SP10-CN421
Adaptador de enlace
Utilizado para conectar 4 CPUs SP10/16/20. Los cables se venden por separado.
SP10-AL001
Cable de conexión del adaptador de enlace
Conecta la CPU y el adaptador de enlace.*
SP10-CN211
20-cm
No utilizar para conectar la consola.
1-m
SP10-CN121
2-m
SP10-CN221
4-m
SP10-CN421
Tarjeta de memoria
Tarjetas SRAM de 16-Kbytes (batería incorporada). La batería tiene una vida útil de 5 años desde que se monta en la tarjeta de memoria.
HMC-ES141
Accesorios de montaje
Carrril DIN 50-cm
PFP-50N
Profun.
7.3 mm
Carril DIN 1-m Carril DIN 1-m
Simulador
PFP-100N Profun.
16.0 mm
PFP-100N2
Tope final
PFP-M
Espaciador
PFP-S
Tarjeta con 6 interruptores y cable de alimentación c.a. (interruptor de alimenatción también incluido)
PFP-S
*Nota: Los cables entre CPUs y adaptador de enlace pueden ser de 4 m máx. La suma de la distancia entre el adaptador de enlace y la CPU #0 y la distancia entre el adaptador de enlace y la consola de programación ha de ser de 4,2 m máx.
123
Apéndice B Especificaciones Valores nominales Item
SP10-D_-A
SP16/20-D_-A
SP10/16/20-D_-D*
Tensión de alimentación
100 a 240 Vc.a., 50/60 Hz
24 Vc.c.
Rango de tensión de operación
85 a 264 Vc.a.
20.4 a 26.4 Vc.c.
Consumo
30 VA máx.
Terminal de salida 24-Vc.c.
0.1 A máx. a 24 Vc.c. +10%
Resistencia de aislamiento
20 MΩ (a 500 Vc.c.) entre partes metálicas conductoras y no conductoras
Rigidez dieléctrica
2.300 Vc.a., 50/60 Hz durante 1 min entre partes metálicas conductoras y no conductoras
Inmunidad al ruido
1.000 Vp-p con impulso de 100-ns a 1-µs de anchura y 1-ns de tiempo de subida
Resistencia a vibraciones
10 a 58 Hz con 0.15-mm de amplitud p--p ó 58 a 150 Hz (1G) durante 80 min en los ejes X, Y, Z
Resistencia a golpes
Destrucción: 15G tres veces en las direcciones X, Y, Z
Temperatura ambiente
Operación: 00 a 550C (Consola de Programación: 00 a 450C) Almacenaje: --200 a 750C (Consola de Programación: --200 a 650C)
Humedad ambiente
Operación:10% al 90% (sin condensación)
Atmósfera ambiental
Libre de gases corrosivos
Estructura
Montaje en panel de control (IP30)
Peso
SP10: 500 g máx.; SP16/20: 700 g máx.
Dimensiones
SP10: 92 x 68 x 81; SP16: 135 x 68 x 81; SP20: 160 x 68 x 81 sin cables
10 W máx. 0.2 A máx. a 24 Vc.c. +10%
No tiene
*No utilizar contactos normalmente cerrados para las entradas de modelos de c.c., para evitar la posibilidad de que los contadores y registros de desplazamiento puedan resetearse, y que los bits programados con KEEP(12) inviertan su estado durante interrupciones de alimentación.
Especificaciones de entrada Tensión de entrada
24 Vc.c. +20%/--15%
Impedancia de entrada
3.3 kΩ
Corriente entrada
7 mA típ. (a 24 Vc.c.)
Tensión de ON
15 Vc.c. mín.
Tensión de OFF
5 Vc.c. máx.
Retardo a ON/OFF
ON: 200 µs máx. OFF: 250 µs máx.
No. de entradas
6 puntos (1 circuito)*
*El terminal común se puede conectar como + o --.
125
Especificaciones
Apéndice B
Especificaciones de salida Item
Relé
Transistor
Capacidad de conmutación
Carga resistiva: 2 A, 250 Vc.a. (cosϕ=1); 2 A, 24 Vc.c.; 4 A/común Carga inductiva:0.5 A, 250 Vc.a. (cosϕ=0.4)
0.3 A, 24 Vc.c. +20%/--15%
Retardo a ON/OFF
ON: 10 µs máx. OFF: 10 µs máx.
ON: 20 µs máx. OFF: 300 µs típica
Carga mínima permisible
100 mA, 5 Vc.c.
------
Corriente de fuga
---
0.1 mA máx.
Tensión residual
---
1.0 V máx
No. de salidas
4 pts. (2 circuitos)
Vida útil del relé
Eléctrica: 100.000 operaciones mín. Mecánica: 20.000.000 operaciones mín.
---
Características Item
SP10
SP16
SP20
Método de control
Programa almacenado
Control de E/S
Scan cíclico
Programa
Diagrama de relés
Longitud de instrucción
1 paso/instrucción; 1 a 5 palabras/instrucción
No. de instrucciones
34: 12 básicas, 5 aritméticas, 17 especiales
Tiempo de ejecución
0.2 µs mín./instrucción; 0.72 µs mín. promedio para lectura/proceso de estados E/S
Capacidad de programa
144 palabras (aprox. 100 instrucciones)
348 palabras (aprox. 240 instrucciones)
Puntos de E/S
10 (bit 0000 a bit 0005 y bit 0100 a bit 0103)
16 (bit 0000 a bit 0009 y bit 0100 a bit 0105)
20 (bit 0000 a bit 0011 y bit 0100 a bit 0107)
Bits de trabajo
36 (bit 0008 a bit 0015 y bit 0104 a bit 0215)
208 (bit 0010 a bit 0015 y bit 0106 a bit 0215 y bit 1000 a bit 2105)
204 (bit 0013 a bit 0015 y bit 0108 a bit 0215 y bit 1000 a bit 2015)
Bits dedicados
20 (bit 0300 a bit 0315 y bit 0408 a bit 0411)
69 (bit 0300 a bit 0315, bit 0408 a bit 0411, bit 0515, bit 0700 a bit 0715, bit 0800 a bit 0815, y bit 0900 a bit 0915)
Bits de retención/bits de enlace
256 bits de retención de los cuales 0, 64, ó 128 se pueden asignar como bits de enlace
Temporizadores/ Contadores
16: un temporizador de 1-ms y uno analógico (0.1 a 25.0 s) más temporizadores de 10-ms, temporizadores de 100-ms, contadores reversibles y contadores descendentes
Protección de memoria
Memoria de programa usuario: EEPROM Bits de retención: RAM (20 días a 250C), se pueden almacenar en EEPROM
Chequeo de programa
Chequeo de la existencia de la instrucción END(01)
126
38: 12 básicas, 5 aritméticas, 21 especiales
16: un contador de alta velocidad de 3.3 kHz y dos temporizadores analógicos, un temporizador de 1-ms, temporizadores de 10-ms, temporizadores de 100-ms, contadores reversibles, y contadores descendentes
Apéndice C Instrucciones de Programación y tiempos de ejecución Instrucciones básicas Nombre/ nemónico
Símbolo
LOAD LD
Teclas
LD
Descripción Crea un contacto normalmente abierto a partir de la línea de bus. Todas las líneas de instrucción comienzan con LOAD o LOAD NOT.
B: I/O W D LR DR TC
Crea un contacto normalmente cerrado a partir de la línea de bus. Todas las líneas de instrucción comienzan con LOAD o LOAD NOT.
B: I/O W D LR DR TC
Dirección
Operación lógica AND entre un contacto normalmente abierto y el anterior.
B: I/O W D LR DR TC
NOT
Operación lógica AND NOT entre un contacto normalmente cerrado y el anterior.
B: I/O W D LR DR TC
Dirección
Operación lógica OR entre un contacto normalmente abierto y el anterior
B: I/O W D LR DR TC
NOT
Operación lógica OR entre un contacto normalmente cerrado y el anterior
B: I/O W D LR DR TC
Dirección
ENT
LOAD NOT LD NOT
LD
NOT
Dirección
AND AND
AND
Operandos *
ENT
ENT
AND NOT AND NOT
AND
Dirección
OR OR
OR
ENT
ENT
OR NOT OR NOT
OR
Dirección
AND LOAD AND LD
AND
OR LOAD OR LD
OR
OUTPUT OUT
OUT
LD
ENT
Operación lógica AND de dos grupos de condiciones. Estos grupos se llaman bloques. Los dos diagramas siguientes realizan la misma operación.
ENT
ENT
Operación lógica OR de dos grupos de condiciones. Estos grupos se denominan bloques.
Dirección
Salida del resultado de la operación lógica por el relé especificado.
LD
ENT
*Asignación de operando
Area Bits
I (bits entrada) 0000 a 0005
O (bits salida) 0100 a 0103
Canal
N.A.
N.A.
W (bits trabajo) 0008 a 0015, 0104 a 0115, 0200 a 0215 N.A.
D (bits dedicados) 0300 a 0315 y 0408 a 0411 N.A.
TC: Para definir temporizador/contador: 00 a 15; como bit o canal operando: TIM/CNT 00 a TIM/CNT 15
---
---
B: O W LR DR
LR LR 0000 a LR 0715
DR DR 0000 a DR 1515
LR 00 a LR 07
DR 00 a DR 15
127
Instrucciones y tiempo de ejecución Nombre/ nemónico
Símbolo
Teclas
OUTPUT NOT OUT NOT
OUT
TIM
TIM ENT ENT
COUNTER CNT
CP
CNT R
CNT ENT ENT
NO OPERATION NOP(00)
No tiene
Descripción
Operandos *
Salida del resultado invertido de la operación lógica por B: O el relé especificado.
NOT
Dirección
TIMER TIM
Apéndice C
W LR DR
ENT
Crea un temporizador descendente de 0.1-s que Número TC comienza la operación en el valor seleccionado (SV) cuando la condición de ejecución se pone en ON. SV El rango de temporización es de 0,0 a 999,9seg.
SP10 N: SV: TC # SP16, SP20 N: SV: TC I/O W LR DR #
Descuenta 1 cada vez que la condición de entrada se Número TC pone en ON, activándose el indicador de terminado SV (especificado por el número de contador) cuando el valor presente del contador es 0. El rango de contaje va de 0 a 9999.
SP10 N: SV: TC # SP16, SP20 N: SV: TC I/O W LR DR #
FUN
0
0
ENT
No realiza ninguna operación. Se puede insertar en el programa cuando se realizan modificaciones que pueden cambiar el orden de direcciones del programa.
---
Instrucciones especiales Nombre/ nemónico
Símbolo
END END(01)
END(01)
INTERLOCK IL(02)
IL(02)
INTERLOCK CLEAR ILC(03) STEP DEFINE STEP(04)
Teclas
Descripción
FUN
0
1
ENT
FUN
0
2
ENT
ILC(03) FUN
0
3
STEP(04)
FUN
STEP(04)B
Dirección
0
ENT
Indica el final del programa. Los programas sin esta instrucción no se ejecutarán.
---
Hace que todas las bobinas de los relés comprendidos entre esta instrucción y la ILC se pongan a cero o no, de acuerdo con el resultado inmediatamente anterior a esta instrucción.
---
Divide el programa en secciones llamadas pasos que pueden ser ejecutados como procesos separados.
4 ENT
Operandos *
Definición del comienzo de un paso (Operando necesario)
B: O W LR DR
STEP(04) B
FIn de un paso (Sin operando) STEP(04)
STEP START SNXT(05)
SNXT(05)
FUN
0
Dirección
128
Pone a OFF los pasos anteriores y activa el siguiente paso.
5 ENT
B: O W LR DR
Instrucciones y tiempo de ejecución Nombre/ nemónico
Símbolo
DIFFERENTIATE UP DIFU(10)
FUN
1
DIFD(11)B
FUN
1
10-MS TIMER TIMM(20)
KEE P R
TIMM(20) N SV
FUN
TC no.
HIGHSPEED TIMER TIMH(21)
TIMH(21) SV
ANALOG TIMER ATIM(22)
ATIM(22)
REVERSIBLE DRUM COUNTER RDM(23)
RDM(23) N St R
HIGH-SPEE D COUNTER CNTH(24) (SP16, SP20)
CNTH(24) R
ANALOG TIMER 1 ATM1(25) (SP16, SP20)
ATM1(25) RD
ANALOG TIMER 2 ATM2(26) (SP16, SP20)
ATM2(26) RD
1
2
ENT
2
Dirección
FUN
ENT
1
Dirección S
Descripción
0
Dirección
KEEP KEEP(12)
*Asignación de operando
Teclas
DIFU(10)B
DIFFERENTIATE DOWN DIFD(11)
Apéndice C
ENT
0
ENT
FUN
2
SV
ENT
FUN
FUN
SV
ENT
1
ENT
2
2
ENT
2
3
ENT
TC no.
ENT
St
ENT
R
ENT
FUN
2
4
ENT
SV
ENT
FUN
2
5
ENT
RD
ENT
FUN
2
6
ENT
RD
ENT
Area Bits
I (bits entrada) 0000 a 0005
O (bits salida) 0100 a 0103
Canal
N.A.
N.A.
Operandos *
Hace que un relé específico opere coincidiendo con el flanco de subida de una señal sólo durante un ciclo de scan.
B: O W LR DR
Hace que un relé específico opere coincidiendo con el flanco de bajada de una señal sólo durante un ciclo de scan. Relé de enclavamiento. Se pone en ON cuando se activa la entrada de set (I), permaneciendo en dicho estado hasta la activación de la entrada de reset (R).
B: O W LR DR
Crea un temporizador descendente de 10-ms que comienza a temporizar desde el valor seleccionado (SV) cuando se pone en ON la condición de ejecución.
N: SV: TC #
Crea un temporizador descendente de 0,001-ms que comienza a temporizar desde el valor seleccionado (SV) cuando se pone en ON la condición de ejecución.
SV: #
Crea un temporizador descendente de 0.1-s que comienza a temporizar desde el valor seleccionado (SV: 0.1 a 25.0 s) cuando la condición de ejecución es ON. En este temporizador el valor seleccionado se ajusta manualmente sobre el PLC.
---
Crea un contador que indica cuándo el valor presente está dentro de los rangos especificados poniendo en ON los bits especificados.
N: St: TC DR
Crea un valor ascendente de alta velocidad. EL valor de contaje presente (PV) aumenta en uno cada vez que la entrada de contaje (CP) pasa de OFF a ON, estando la entrada de start (CI) en ON y la de reset (R) en OFF. EL indicador de contaje alcanzado, CNT 13, se pone a ON durante un ciclo de scan cuando el valor de contaje presente alcanza el contaje preseleccionado, momento en el que PV se pone a cero. El rango de contaje es de 0000 a 9999; seleccionar 0000 equivale a un SV de 10.000.
SV: I/O W LR DR *DR #
Crea un temporizador descendente que temporiza el tiempo fijado con el potenciómetro #1 del frontal de la CPU. Si RD=0000, el rango de selección SV es de 1 a 250 s. SI RD=0001, es de 0.1 a 25.0 s. Si RD=0002, es de 0.01 a 2.50 s. El tiempo seleccionado sólo se puede fijar mediante el potenciómetro mencionado.
RD: I/O W LR DR *DR #
Crea un temporizador descendente que temporiza el tiempo fijado con el potenciómetro #2 del frontal de la CPU. Si RD=0000, el rango de selección SV es de 1 a 250 s. SI RD=0001, es de 0.1 a 25.0 s. Si RD=0002, es de 0.01 a 2.50 s. El tiempo seleccionado sólo se puede fijar mediante el potenciómetro mencionado.
RD: I/O W LR DR *DR #
W (bits trabajo) 0008 a 0015, 0104 a 0115, 0200 a 0215 N.A.
D (bits dedicados) 0300 a 0315 y 0408 a 0411 N.A.
TC: Para definir temporizador/contador: 00 a 15; como bit o canal operando: TIM/CNT 00 a TIM/CNT 15
LR LR 0000 a LR 0715
DR DR 0000 a DR 1515
LR 00 a LR 07
DR 00 a DR 15
R: O W LR DR
129
Instrucciones y tiempo de ejecución Nombre/ nemónico
Símbolo
MOVE MOV(30)
S D
MVN(31) S D
COMPARE CMP(32)
SHIFT REGISTER SFT(33) BLOCK COMPARE BCMP(34)
Teclas
MOV(30)
MOVE NOT MVN(31)
Apéndice C
CMP(32) Cp1 Cp2
FUN
S
Descripción
3
0
ENT
ENT
D
ENT
FUN
3
1
ENT
S
ENT
D
ENT
FUN
3
2
ENT
Cp1
ENT
Cp2
ENT
FUN
3
IN SP
SFT(33)
3
ENT
4
ENT
Wd
R
Wd
BCMP(34) CD CB R
FUN
ENT
3
CD
ENT
CB
ENT
R
ENT
Mueve el contenido de un canal o constante especificado a un canal destino. Cuando el contenido a mover es 0 se activa el indicador de Igual.
Operandos * S: I/O W D LR TC DR *DR #
D: O W LR DR *DR
Mueve el contenido invertido de un canal o constante especificado a un canal destino. Cuando el contenido a mover es 0 se activa el indicador de Igual. Compara los contenidos de dos canales o constantes y Cp1./Cp2: I/O activa, según el resultado, el indicador de Igual, Mayor W o Menor que. LR TC DR *DR #
Registro de desplazamiento controlado por el flanco de subida de la entrada de desplazamiento (SP). El registro se pone a 0 cuando se activa la entrada de reset (R).
CH: O W LR DR
N es el dígito menos significativo de CB y determina el tamaño del bloque de comparación; habrá N+1 rangos de comparación. BCMP(34) compara CD con los rangos definidos por un bloque compuesto de CB+1, CB+2, ..., CB+(2N+2). Cada rango está definido por dos canales, el primero indica el límite inferior y el segundo el límite superior. Cuando CD esté dentro del rango preseleccionado, el correspondiente bit del canal de resultado, R, se pondrá a ON.
CD: CB: R: I/O DR O W W D LR LR DR TC DR *DR #
Descripción
Operandos *
Instrucciones aritméticas Nombre/ nemónico BCD ADD ADD(40)
Simbolo ADD(40) Au Ad R
Teclas
FUN
Au R
4
0
ENT
ENT
Ad
ENT
Suma dos valores BCD (binario-codificado decimal) y almacena el resultado en el canal especificado (R) y en el indicador de acarreo.
ENT
Au + Ad +
BCD SUBTRACT SUB(41)
SUB(41) Mi Su R
FUN
Mi R
4
1
ENT
ENT
Su
ENT
R CY
Resta dos valores BCD (binario--codificado decimal) y almacena el resultado en el canal especificado (R) y en el indicador de acarreo.
ENT
Mi - Su
130
CY
CY
R CY
Au/Ad: I/O W D LR TC DR *DR #
R: O W LR DR *DR
Mi/Su: R: O I/O W W LR D LR DR TC *DR DR *DR #
Instrucciones y tiempo de ejecución Nombre/ nemónico
Simbolo
LOGICAL AND ANDW(42)
ANDW(42) I1 I2 R
LOGICAL OR ORW(43)
ORW(43) I1 I2 R
CLEAR CARRY CLC(44)
*Asignación de operando
CLC(44)
Apéndice C
Teclas
FUN
I1 R
FUN
I1 R
FUN
4
Descripción
2
ENT
I2
ENT
4
3
ENT
ENT
I2
ENT
ENT
Realiza, bit a bit, la operación lógica AND entre dos canales y almacena el resultado en el canal especificado (R).
I1/I2: R: I/O O W W D LR LR DR TC *DR DR *DR #
Realiza, bit a bit, la operación lógica OR entre dos canales y almacena el resultado en el canal especificado (R).
I1/I2: R: I/O O W W D LR LR DR TC *DR DR *DR #
I1
ENT
I1
ENT
4
Area Bits
I (bits entrada) 0000 a 0005
O (bits salida) 0100 a 0103
Canal
N.A.
N.A.
4
ENT
Operandos *
AND
OR
I2
I2
R
R
Resetea el indicador de acarreo (bit 0312). Se utiliza normalmente para poner a 0 el indicador antes de ejecutar ADD(40) o SUB(41).
W (bits trabajo) 0008 a 0015, 0104 a 0115, 0200 a 0215 N.A.
D (bits dedicados) 0300 a 0315 y 0408 a 0411 N.A.
TC: Para definir temporizador/contador: 00 a 15; como bit o canal operando: TIM/CNT 00 a TIM/CNT 15
LR LR 0000 a LR 0715
DR DR 0000 a DR 1515
LR 00 a LR 07
DR 00 a DR 15
---
131
Tiempos de ejecución de las instrucciones El tiempo de ejecución se expresa en microsegundos. ”Canal” indica cualquier dirección de área de datos excepto para DR direccionados indirectamente (*DR). Instruc.
No. de canales
Tiempo de ejecución ON
Condiciones
Tiempo ejecución OFF
de
E/S,trabajo, o dedicado
DR, LR, o TC
E/S, trabajo o dedicado
LR, DR, o TC
LD
2
3
0.4
0.8
Siempre
Igual que para ON.
LD NOT
2
3
0.4
0.8
Siempre
Igual que para ON.
AND
1
2
0.2
0.6
Siempre
Igual que para ON.
AND NOT
1
2
0.2
0.6
Siempre
Igual que para ON.
OR
1
2
0.2
0.6
Siempre
OR NOT
1
2
0.2
0.6
Siempre
Igual que para ON.
AND LD
2
2
0.4
0.6
Siempre
Igual que para ON.
OR LD
2
2
0.4
0.6
Siempre
Igual que para ON.
OUT
2
3
2.4
7.0
Siempre
Igual que para ON.
OUT NOT
2
3
2.4
7.0
Siempre
Igual que para ON.
TIM
---
4
---
24.4
Constante para SV
R: 23.0 IL: 24.8
38.5
Canal para SV (sólo SP16, SP20)
R: 28.6 IL: 27.1
63.0
*DR para SV (sólo SP16, SP20)
24.4
Constante para SV
R: 22.4 IL: 19.8
38.8
Canal para SV (sólo SP16, SP20)
R: 28.9 IL: 4.8
63.0
*DR para SV (sólo SP16, SP20)
CNT
---
4
---
NOP(00)
1
1
0.2
Siempre
N.A.
END(01)
1
1
9.8
Siempre
N.A.
IL(02)
2
2
19.6
Siempre
19.8
ILC(03)
1
1
0.2
Siempre
0.2
STEP(04)
4
4
35.4
Siempre
23.0
SNXT(05)
4
4
38.2
Siempre
28.4
DIFU(10)
4
4
39.2
Siempre
Normal: 32.8 IL: 20.0
DIFD(11)
4
4
40.4
Siempre
Normal: 34.4 IL: 20.2
KEEP(12)
4
4
29.0
Siempre
28.4
TIMM(20)
4
4
29.5
Constante para SV
R: 23.6 IL: 22.2
25.8
Canal para SV (sólo SP16, SP20)
R: 28.8 IL: 27.1
63.0
*DR para SV (sólo SP16, SP20)
26.0
Constante para SV
R: 23.6 IL: 22.2
22.8
Canal para SV (sólo SP16, SP20)
R: 28.8 IL: 27.1
59.9
*DR para SV (sólo SP16, SP20)
24.8
Siempre
TIMH(21)
ATIM(22)
132
4
3
4
3
R: 25.5 IL: 23.9
Instrucciones y tiempo de ejecución Instruc.
No. de canales
Apéndice C
Tiempo de ejecución ON
Tiempo ejecución OFF
E/S,trabajo, o dedicado
DR, LR, o TC
RDM(23)
5
5
69.4
Siempre
R: 68.0 IL: 19.4
CNTH(24) (SP16, SP20)
4
4
39.9
Constante para SV
R: 51.3 IL: 4.7
49.4
Canal para SV
73.6
*DR para SV
47.8
Constante para SV
56.3
Canal para SV
81.4
*DR para SV
47.8
Constante para SV
56.3
Canal para SV
81.4
*DR para SV
ATM1(25) (SP16, SP20)
ATM2(25) (SP16, SP20)
MOV(30)
4
4
4
4
4
4
E/S, trabajo o dedicado
Condiciones
LR, DR, o TC
41.6 to 43.4 104.8
MVN(31)
4
4
42.0 to 43.8 104.8
CMP(32)
4
4
33.4 to 36.2 97.2
Mover constante a canal.
R: 47.1 IL: 45.4
R: 47.1 IL: 45.4
20.6
Mover contenido de *DR a canal *DR Mover constante a canal.
20.6
Mover contenido de *DR a canal *DR. Comparar constante con canal
20.0
Comparar contenido de *DR
SFT(33)
3
3
35.2 to 41.8
Siempre
R: 32.2 IL: 19.6
BCMP(34) (SP16, SP20)
5
5
41.5 to 134.4
Rangos de comparación de 0 a 5 con una constante para comparar datos
R: 13.1 IL: 4.9
43.0 to 136.0
Rangos de comparación de 0 a 5 con una constante para comparar datos
70.2 to 72.6
Sumar constante y canal y poner resultado en canal.
ADD(40)
5
5
167.8 SUB(41)
5
5
70.2 to 72.6 167.4
ANDW(42)
5
5
49.0 to 51.4 146.6
ORW(43)
CLC(44)
5
2
5
2
de
49.0 to 51.6
20.8
Sumar *DR a *DR y poner el resultado en *DR. Restar constante a canal y poner el resultado en canal.
20.8
Restar *DR a *DR con resultado en *DR. AND de constante y canal y poner resultado en canal.
20.8
AND de *DR y *DR y poner resultado en *DR OR de constante y canal y poner resultado en canal.
146.6
OR de *DR y *DR y poner resultado en *DR
19.8
Siempre
20.8
19.6
133
Apéndice D Operaciones con la consola de programación
Nombre
Modos
Secuencia de teclas
Escribir password
RUN o PRGM
Chechear el modo de operación y luego teclear como sigue:
Buzzer ON/OFF
RUN o PRGM
Teclear como sigue después de cambiar de modo:
Borrado de la memoria de programa
Sólo PRGM
Borra los contenidos de la memoria de programa usuario. Pulsar CNT y/o DR para preservar los contenidos de estas áreas. Especificar una dirección para borrar desde ella hasta el final de la memoria. La memoria de usuario tanto de la consola como del PLC se borran simultáneamente (incluyendo EEPROM)
CLR
MON
SHIFT
1
CLR
FUN
6
0
ENT
Dirección
CNT DR
Monitorizar dirección
RUN o PRGM
Salta a la dirección especificada.
Escribir programa
Sólo PRGM
Utilizado para escribir programas en la memoria de programa.
Leer programa
RUN o PRGM
Monitorizaci RUN o PRGM ón binaria
CLR
Dirección Dirección
Instrucción
Leer programa
Lectura de la memoria de programa usuario. Si se ejecuta en modo RUN, se visualizarán los estados de E/S.
Operando SV
ENT
Dirección
ENT
Siguiente dirección Dirección anterior
Leer programa
Se utiliza para monitorizar hasta 4 canales de memoria Monitor. bit/canal Monitor. múltiple bit/canal CLR
SHIFT
CH
*
LR
CH No.
MON
SHIFT
CLR CLR
SHIFT DR
Forzado a ON/OFF
RUN o PRGM
Utilizado para controlar el estado de las E/S en modo RUN. Las E/S se refrescan cada ciclo de scan en el que se cancelan los estados forzados.
Cambio de datos HEX/BCD
RUN o PRGM
Para cambiar los contenidos de la memoria en hexadecimal o BCD.
Cambio de datos binarios
RUN o PRGM
Para cambiar los contenidos de la memoria en binario.
Para cancelar la monitorización de canales Cancela toda operación de monitorización
Monitor. bit/CH Monitor multibit/CH
Monitor bit/CH
Nuevo valor
CHG
Monitor multibit/CH Monitor CH.
CHG
ENT
ENT
ENT
CHG
1 0
Leer mensaje de error
RUN o PRGM
Asignación de bit LR
Sólo PRGM
Para leer y borrar los mensajes de error. Para borrar errores, el PLC ha de estar en modo PROGRAM. Utilizado para asignar los bits LR.
CLR
FUN
6
1
MON
Lectura de error
CLR
FUN
6
8
Borrado de error y lectura del siguiente
1
ENT
2
1: 2: 3:
3
Leer RUN o PRGM asignac. LR
Lectura del número de LR asignados.
CLR
FUN
MON
6
9
Ninguno 64 128
MON
135
Operaciones con la consola de programación Nombre Búsqueda
Apéndice D
Modos RUN o PRGM
Secuencia de teclas Utilizado para buscar instrucciones según bits de E/S, bits de trabajo, bits LR, bits HR y temporizadores/contadores.
CLR
FUN
7
Dirección
0
MON
MON
LR DR TIM CNT
Leer tiempo Sólo RUN de scan
Utilizado para visualizar el tiempo de scan máximo del programa que se está ejecutando. (Sólo SP16 y SP20)
Chequeo del programa
Sólo PRGM
Formateo de tarjeta
Sólo PRGM
Para inicializar tarjetas de memoria.
Transferir/ Borrar programa
Sólo PRGM
Utilizado para transferir programas entre la consola de programación, PLCs, y tarjetas de memoria y para borrar ficheros de programa.
Para confirmar los contenidos de la CLR memoria de programa y la existencia de la instrucción END.
CLR
7
3
MON
MON CLR
FUN
7
CLR
CLR
FUN
1
FUN
FUN
6
MON
7
2
2
MON
Pulsar hasta la instrucción END
CLR
Para cancelar chequeo
ENT
ENT
al PLC
1
ENT
PLC
1
A tarjeta 2
ENT
1
Fichero
ENT
Transferir área DR
Sólo PRGM
Utilizado para transferir el contenido del área DR a EEPROM.
Comparar programa
Sólo PRGM
Utilizado para comparar los programas del PLC y de la consola de programación
Asignación del valor del filtro
Sólo PRGM
Utilizado para ajustar la constante de tiempo del filtro de lectura de entrada. Cada grupo se puede seleccionar a 0 ms, 1 ms, 5 ms, ó 10 ms. Seleccionar los tres grupos al mismo tiempo. La selección inicial es 10 ms. Grupo 1 6
5
0
ENT
CLR
(0ms)
FUN
CLR
PLC SP10 SP16 SP20
0
6
FUN
ENT
4
MON
Grupo 2
Grupo 3
3a5 2a5 2a9
Nada 6a9 10 y 11
Grupo 3 ENT
0
ENT
(0ms)
(1ms)
1
(1ms)
1
(1ms)
2
(5ms)
2
(5ms)
2
(5ms)
3
Programa transferido Fichero borrado
0a2 0y1 0y1
(0ms)
(10ms)
3
6
1
3
ENT
Grupo 1
Grupo 2 ENT
ENT
2 ENT DEL
FUN
ENT
2
1: UM 2: UM+DR
del PLC
Tarjeta memoria De tarjeta
CLR
Fin con CLR.
3
(10ms)
Leer valor del filtro
RUN o PRGM
Utilizado para leer la constante de tiempo del filtro. Cuando se realiza con la consola SP10--PRO01--V1, se visualizan las selecciones tanto del PLC como de la consola.
Asignación de PLC
RUN o PRGM
Utilizado para designar el PLC al que se va a acceder cuando se utiliza un adaptador de enlace para conectar varios PLCs.
CLR
(10ms)
CLR
FUN
FUN
6
7
6
6
MON
0
MON
1
PLC no. (0 a 3)
2 3
Insertar instrucción
Sólo PRGM
Utilizado para insertar una instrucción en la dirección actual.
Borrar instrucción
Sólo PRGM
Utilizado para borrar la instrucción visualizada.
136
Dirección Leer programa
Instrucción
Dirección Leer programa
INS
DEL
Operaciones con la consola de programación Nombre
Apéndice D
Modos
Secuencia de teclas
Monitorizar estado
Sólo RUN
Utilizado para monitorizar estados en modo RUN.
Monitorizar bit/canal
RUN o PRGM
Utilizado para monitorizar bits de E/S, otros estados de bit, o valores presentes de temporizadores/conta dores.
Dirección
Ir a la siguiente dirección Ir a la dirección anterior
Leer programa CLR
SHIFT SHIFT
CONT # CH
*
MON LD
Dirección CLR
DR LD
SHIFT
Cancela monitor. MON
OUT CLR TIM
Monitorización de canal
CNT
Monitoriza-ción múltiple
Sólo PRGM
Monitorizar bit/canal CLR
SHIFT SHIFT
Utilizado para monitorizar simultánemante tres bits, canales o temporizadores/contadores.
CONT # CH *
LD DR
TIM CNT
Dirección
Para moverse a la dirección a monitorizar
MON
Para moverse en el display Cancela un bit Cancela todas las monitorizaciones
MON CLR SHIFT
CLR
137
Apéndice E Indicadores de Error y Aritméticos La siguiente tabla contiene las instrucciones que influyen sobre los indicadores ER, CY, GT, LT y EQ. Generalmente, ER indica que el operando no cumple las condiciones requeridas, CY indica resultados de desplazamiento de datos o de operaciones aritméticas, GT indica que el resultado de la comparación es mayor que, LT que es menor que, y EQ que son iguales. EQ también indica que el resultado de operaciones aritméticas es 0. Condultar la Sección 3 Juego de Instrucciones para más detalles. Las flechas verticales significan que los indicadores se ponen a ON o a OFF dependiendo del resultado de la instrucción. Aunque las instrucciones temporizador y contador se ejecutan cuando ER está en ON, las instrucciones con una flecha vertical en la columna ER no se ejecutan si ER está en ON. El resto de indicadores de la siguiente tabla tampoco operarán si el indicador ER está en ON. Instrucciones
0311 (ER)
0312 (CY)
0313 (LT)
0314 (EQ)
0315 (GT)
TIM
No influye
No influye
No influye
No influye
No influye
CNT
No influye
No influye
No influye
No influye
No influye
END(01)
OFF
OFF
OFF
OFF
OFF
STEP(04)
No influye
No influye
No influye
No influye
SNXT(05)
No influye
No influye
No influye
No influye
TIMM(20)
No influye
No influye
No influye
No influye
No influye
TIMH(21)
No influye
No influye
No influye
No influye
No influye
ATIM(22)
No influye
No influye
No influye
No influye
No influye
RDM(23)
No influye
No influye
No influye
No influye
CNTH(24)
No influye
No influye
No influye
No influye
ATM1(25)
No influye
No influye
No influye
No influye
No influye
ATM2(26)
No influye
No influye
No influye
No influye
No influye
MOV(30)
No influye
No influye
No influye
MVN(31)
No influye
No influye
No influye
CMP(32)
No influye
SFT(33)
No influye
No influye
No influye
No influye
BCMP(34)
No influye
No influye
No influye
No influye
ADD(40)
No influye
No influye
SUB(41)
No influye
No influye
ANDW(42)
No influye
No influye
No influye
ORW(43)
No influye
No influye
No influye
OFF
No influye
CLC(44)
No influye
No influye
No influye
139
Apéndice F Hojas de asignación de E/S Este apéndice contiene hojas modelo para la asignación de los bits de E/S, así como para detallar los bits de trabajo, áreas de almacenamiento de datos, temporizadores y contadores.
137
Bits de E/S
Hojas para asignación de E/S No.:
Sistema:
Programa:
Programador:
Unidad #0 Entradas Bit
Disposit. de campo
Apéndice F
Fecha: Salidas
Notas
Bit
0000
0100
0001
0101
0002
0102
0003
0103
Disposit. de campo
Notas
Disposit. de campo
Notas
Disposit. de campo
Notas
Disposit. de campo
Notas
0004 0005
Unidad #1 Entradas Bit
Disposit. de campo
Salidas Notas
Bit
0000
0100
0001
0101
0002
0102
0003
0103
0004 0005
Unidad #2 Entradas Bit
Disposit. de campo
Salidas Notas
Bit
0000
0100
0001
0101
0002
0102
0003
0103
0004 0005
Unidad #3 Entradas Bit
Disposit. de campo
Salidas Notas
Bit
0000
0100
0001
0101
0002
0102
0003
0103
0004 0005
138
Hojas de asignación de E/S No.: Programador:
Bits de trabajo y áreas TC Sistema: Programa:
Canal 00 Bit
Fecha:
Unidad #:
Canal 02 Utilización
Notas
Bit
0008
0200
0009
0201
0010
0202
0011
0203
0012
0204
0013
0205
0014
0206
0015
0207
Utilización
Notas
0208
Canal 01 Bit
Apéndice F
Utilización
Notas
0209
0104
0210
0105
0211
0106
0212
0107
0213
0108
0214
0109
0215
0110 0111 0112 0113 0114 0115
Temporizadores y contadores Direcc.
ToC
SV
Notas
00 01 01 03 04 05 06 07 08 09 10 11 12 13 14 15
139
Hojas para asignación de E/S
Almacenamiento de datos
No.:
Sistema:
Programador:
Programa:
Canal
140
Contenidos
Notas
Apéndice F
Fecha: Canal
Contenidos
Unidad #: Notas
Apéndice G Hoja modelo para codificación del programa En este apéndice se indica una hoja--modelo que se puede utilizar para codificar en nemónico el programa en diagrama de relés. Cuando codifique los programas, verificar que se especifica todos los códigos de función para las instrucciones y todos los datos para los operandos.
141
Hojas para codificación de programas
Apéndice G
No.:
Sistema:
Página 1
Programa:
Programador:
Fecha:
Direcc.
Instrucción
Operando(s)
Direcc.
000
038
001
039
002
040
003
041
004
042
005
043
006
044
007
045
008
046
009
047
010
048
011
049
012
050
013
051
014
052
015
053
016
054
017
055
018
056
019
057
020
058
021
059
022
060
023
061
024
062
025
063
026
064
027
065
028
066
029
067
030
068
031
069
032
070
033
071
034
072
035
073
036
074
037
075
142
Instrucción
Operando(s)
Hojas para codificación de programas
Apéndice G
No.:
Sistema:
Página 2
Programa:
Programador:
Fecha:
Direcc.
Instrucción
Operando(s)
Direcc.
076
096
077
097
078
098
079
099
080
100
081
101
082
102
083
103
084
104
085
105
086
106
087
107
088
108
089
109
090
110
091
111
092
112
093
113
094
114
095
115
Instrucción
Operando(s)
143
Cat. No. MOSP10--E1--2
Nota: Las especificaciones pueden ser cambiadas sin previo aviso
W197--E1--2
09/92
1M