20

AUTOMATAS PROGRAMABLES INDUSTRIALES SYSMAC SP10/16/20 OMRON, 1992 Reservados todos los derechos. El contenido de esta publicación no puede ser re

13 downloads 230 Views 2MB Size

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

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.