Está en la página 1de 61

¿ QUE ES UN PLC

Un PLC (es decir, un controlador lógico programable) es un dispositivo que se inventó para reemplazar los
circuitos de relés secuenciales necesarios para el control de la máquina. El PLC funciona mirando sus entradas
y dependiendo de su estado, activando / desactivando sus salidas. El usuario ingresa un programa,
generalmente a través de un software, que brinda los resultados deseados.

Los PLC se utilizan en muchas aplicaciones del "mundo real". Si hay una industria presente, es probable que
haya un presente de plc. Si está involucrado en el mecanizado, el embalaje, el manejo de materiales, el
ensamblaje automatizado o un sinnúmero de otras industrias, probablemente ya las esté utilizando. Si no lo
eres, estás perdiendo dinero y tiempo. Casi cualquier aplicación que necesite algún tipo de control eléctrico
necesita un plc.

Por ejemplo, supongamos que cuando se enciende un interruptor, queremos encender un solenoide durante 5
segundos y luego apagarlo independientemente de cuánto tiempo esté encendido el interruptor. Podemos
hacer esto con un simple temporizador externo. Pero, ¿y si el proceso incluye 10 interruptores y solenoides?
Necesitaríamos 10 temporizadores externos. ¿Qué pasa si el proceso también necesita contar cuántas veces
se activaron los interruptores individualmente? Necesitamos muchos contadores externos.

Como puede ver, cuanto más grande es el proceso, más necesidad tenemos de un PLC. Podemos simplemente
programar el PLC para contar sus entradas y encender los solenoides durante el tiempo especificado.

Este sitio le brinda suficiente información para poder escribir programas mucho más complicados que el
simple anterior. Echaremos un vistazo a las que se consideran las "20 principales" instrucciones de plc. Se
puede estimar con seguridad que con un conocimiento sólido de estas instrucciones, se puede resolver más
del 80% de las aplicaciones existentes.

¡Así es, más del 80%! Por supuesto, aprenderemos más que estas instrucciones para ayudarlo a resolver casi
TODAS sus aplicaciones potenciales de PLC.

PLC Historia
A fines de la década de 1960, los PLC se introdujeron por primera vez. La razón principal para diseñar un
dispositivo de este tipo fue la eliminación del gran costo que suponía la sustitución de los complejos sistemas
de control de máquinas basados en relés. Bedford Associates (Bedford, MA) propuso algo llamado Controlador
Digital Modular (MODICON) a un importante fabricante de automóviles de los EE. UU. Otras compañías en el
momento propusieron esquemas basados en computadora, uno de los cuales se basó en el PDP-8. El
MODICON 084 trajo el primer PLC del mundo a la producción comercial.

Cuando los requisitos de producción cambiaron también lo hizo el sistema de control. Esto se vuelve muy
costoso cuando el cambio es frecuente. Como los relés son dispositivos mecánicos, también tienen una vida
útil limitada que requiere una adhesión estricta a los programas de mantenimiento. La solución de problemas
también era bastante tediosa cuando se trata de tantos relés. Ahora imagina un panel de control de máquina
que incluye muchos, posiblemente cientos o miles, de relés individuales. El tamaño podría ser alucinante.
¿Qué tal el complicado cableado inicial de tantos dispositivos individuales? Estos relés se cablearán
individualmente juntos de una manera que arroje el resultado deseado. ¿Hubo problemas? ¡Apuesto!

Estos "nuevos controladores" también tuvieron que ser programados fácilmente por el mantenimiento y los
ingenieros de planta. La vida útil tuvo que ser larga y los cambios de programación se realizaron fácilmente.
También tuvieron que sobrevivir en el duro entorno industrial. ¡Eso es mucho pedir! Las respuestas fueron
utilizar una técnica de programación con la que la mayoría de la gente ya estaba familiarizada y reemplazar las
partes mecánicas por las de estado sólido.

A mediados de los años 70, las tecnologías dominantes del PLC eran las máquinas de estado del secuenciador
y la CPU basada en segmentos de bits. Los modelos AMD 2901 y 2903 eran bastante populares en los PLC
Modicon y A-B. Los microprocesadores convencionales carecían de la capacidad para resolver rápidamente la
lógica PLC en todos los PLC, excepto en los más pequeños. A medida que evolucionaron los microprocesadores
convencionales, cada vez se basaban PLC más grandes. Sin embargo, incluso hoy en día, algunos todavía se
basan en el 2903. (ref. PLC-3 de A-B). Modicon aún tiene que construir un PLC más rápido que su 984A / B / X
que se basó en el 2901.

Las habilidades de comunicación comenzaron a aparecer aproximadamente en 1973. El primer sistema de este
tipo fue el Modbus de Modicon. El PLC ahora podría hablar con otros PLC y podrían estar muy lejos de la
máquina real que controlaban. También podrían usarse ahora para enviar y recibir voltajes variables para
permitirles ingresar al mundo analógico. Desafortunadamente, la falta de estandarización junto con la
tecnología en constante cambio ha hecho que las comunicaciones PLC sean una pesadilla de protocolos
incompatibles y redes físicas. Aún así, ¡fue una gran década para el PLC!

Los años 80 vieron un intento de estandarizar las comunicaciones con el protocolo de automatización de
fabricación (MAP) de General Motor. También fue un momento para reducir el tamaño del PLC y hacer que el
programa programable a través de la programación simbólica en computadoras personales en lugar de
terminales de programación dedicados o programadores de mano. ¡Hoy el PLC más pequeño del mundo tiene
el tamaño de un solo relé de control!

Los años 90 han visto una reducción gradual en la introducción de nuevos protocolos y la modernización de las
capas físicas de algunos de los protocolos más populares que sobrevivieron a la década de 1980. El último
estándar (IEC 1131-3) ha intentado fusionar los lenguajes de programación de PLC bajo un estándar
internacional. ¡Ahora tenemos PLC que son programables en diagramas de bloques de función, listas de
instrucciones, C y texto estructurado, todo al mismo tiempo! Las PC también se utilizan para reemplazar PLC
en algunas aplicaciones. La compañía original que encargó el MODICON 084 ha cambiado a un sistema de
control basado en PC.

¿Qué traerán los 00? Sólo el tiempo dirá.

Las tripas dentro


El PLC se compone principalmente de una CPU, áreas de memoria y circuitos apropiados para recibir datos de
entrada / salida. De hecho, podemos considerar que el PLC es una caja llena de cientos o miles de relés,
contadores, temporizadores y ubicaciones de almacenamiento de datos por separado. ¿Existen realmente
estos contadores, temporizadores, etc.? No, no existen "físicamente", sino que se simulan y se pueden
considerar contadores de software, temporizadores, etc. Estos relés internos se simulan a través de
ubicaciones de bit en los registros. (más sobre eso más adelante)

¿Qué hace cada parte?

• RELÉ DE ENTRADA- (contactos) Estos están conectados al mundo exterior. Existen físicamente y reciben
señales de interruptores, sensores, etc. Normalmente no son relés, sino transistores.

• RELÉS DE SERVICIOS PÚBLICOS INTERNOS (contactos) No reciben señales del mundo exterior ni existen
físicamente. Son relés simulados y son lo que permite a un PLC eliminar relés externos. También hay algunos
relevos especiales dedicados a realizar solo una tarea. Algunos están siempre encendidos, mientras que otros
siempre están apagados. Algunos están encendidos solo una vez durante el encendido y normalmente se
utilizan para inicializar los datos almacenados.

• CONTADORES: estos nuevamente no existen físicamente. Son contadores simulados y pueden programarse
para contar pulsos. Normalmente, estos contadores pueden contar hacia arriba, hacia abajo o hacia arriba y
hacia abajo. Como se simulan, tienen una velocidad de conteo limitada. Algunos fabricantes también incluyen
contadores de alta velocidad basados en hardware. Podemos pensar en estos como físicamente existentes. La
mayoría de las veces estos contadores pueden contar hacia arriba, hacia abajo o hacia arriba y hacia abajo.

• TEMPORIZADORES: estos tampoco existen físicamente. Vienen en muchas variedades e incrementos. El tipo
más común es un tipo de retardo a la conexión. Otros incluyen el retardo a la desconexión y los tipos
retentivos y no retentivos. Los incrementos varían de 1 ms a 1 s.

• RELÉS DE SALIDA- (bobinas) Estos están conectados al mundo exterior. Existen físicamente y envían señales
de encendido / apagado a solenoides, luces, etc. Pueden ser transistores, relés o triacs, dependiendo del
modelo elegido.
• ALMACENAMIENTO DE DATOS: normalmente hay registros asignados para almacenar datos simplemente.
Por lo general, se utilizan como almacenamiento temporal para la manipulación de datos o matemática.
También pueden usarse típicamente para almacenar datos cuando se quita energía del PLC. Tras el encendido
todavía tendrán los mismos contenidos que antes de que se eliminara la energía. Muy conveniente y necesario
!!

PLC Operación
Un PLC funciona escaneando continuamente un programa. Podemos pensar que este ciclo de escaneo
consiste en 3 pasos importantes. Normalmente hay más de 3 pero podemos enfocarnos en las partes
importantes y no preocuparnos por las demás. Por lo general, los demás están verificando el sistema y
actualizando el contador interno actual y los valores del temporizador.

Paso 1-VERIFICACIÓN DE ESTADO DE ENTRADA-Primero, el PLC mira cada entrada para determinar si está
encendida o apagada. En otras palabras, ¿está conectado el sensor a la primera entrada? ¿Qué tal la segunda
entrada? ¿Qué hay de la tercera ... Registra estos datos en su memoria para ser utilizados durante el siguiente
paso.

Paso 2-EJECUTAR PROGRAMA-A continuación, el PLC ejecuta su programa una instrucción a la vez. Tal vez su
programa dijo que si la primera entrada estaba activada debería encender la primera salida. Como ya sabe qué
entradas están conectadas / desconectadas del paso anterior, podrá decidir si la primera salida debe activarse
según el estado de la primera entrada. Almacenará los resultados de ejecución para usarlos más adelante
durante el siguiente paso.

Paso 3: ACTUALIZAR EL ESTADO DE SALIDA: Finalmente, el PLC actualiza el estado de las salidas. Actualiza los
resultados según las entradas que estuvieron activas durante el primer paso y los resultados de la ejecución
del programa durante el segundo paso. Según el ejemplo del paso 2, ahora se activará la primera salida
porque la primera entrada estaba activada y se dice que su programa enciende la primera salida cuando esta
condición es verdadera.

Después del tercer paso, el PLC vuelve al paso uno y repite los pasos continuamente. Un tiempo de
exploración se define como el tiempo que lleva ejecutar los 3 pasos enumerados anteriormente.

Tiempo de Respuesta
El tiempo de respuesta total del PLC es un hecho que debemos tener en cuenta al comprar un PLC. Al igual
que nuestros cerebros, el PLC tarda cierto tiempo en reaccionar a los cambios. En muchas aplicaciones, la
velocidad no es una preocupación, en otros, aunque ...

Si se toma un momento para apartar la mirada de este texto, es posible que vea una imagen en la pared. Tus
ojos realmente ven la imagen antes de que tu cerebro diga "Ah, hay una imagen en la pared". En este ejemplo,
sus ojos pueden considerarse el sensor. Los ojos están conectados al circuito de entrada de tu cerebro. El
circuito de entrada de su cerebro toma una cierta cantidad de tiempo para darse cuenta de que sus ojos
vieron algo. (¡Si ha estado bebiendo alcohol, este tiempo de respuesta de entrada sería más largo!)
Finalmente, su cerebro se da cuenta de que los ojos han visto algo y procesa los datos. Luego envía una señal
de salida a tu boca. Su boca recibe esta información y comienza a responderla. Finalmente, su boca pronuncia
las palabras "¡Caramba, esa es una imagen realmente fea!".

Observe que en este ejemplo tuvimos que responder a 3 cosas:

ENTRADA: le llevó un cierto tiempo al cerebro notar la señal de entrada de los ojos.

EJECUCIÓN: llevó cierto tiempo procesar la información recibida de los ojos. Considera que el programa es: si
los ojos ven una imagen fea, entonces saca las palabras apropiadas a la boca.

SALIDA- La boca recibe una señal del cerebro y finalmente escupe (sin juego de palabras) las palabras
"¡Caramba, esa es una imagen realmente fea!"

Preocupaciones del tiempo de respuesta


Ahora que sabemos sobre el tiempo de respuesta, esto es lo que realmente significa para la aplicación. El PLC
solo puede ver una entrada encender / apagar cuando está buscando. En otras palabras, solo mira sus
entradas durante la verificación del estado de entrada del escaneo.

En el diagrama, la entrada 1 no se ve hasta el escaneo 2. Esto se debe a que cuando la entrada 1 se activó, el
escaneo 1 ya había terminado de mirar las entradas.

La entrada 2 no se ve hasta el escaneo 3. Esto también se debe a que cuando la entrada activada el escaneo 2
ya había terminado de mirar las entradas.
La entrada 3 nunca se ve. Esto se debe a que cuando el escaneo 3 estaba mirando las entradas, la señal 3 aún
no estaba encendida. Se apaga antes de que el escaneo 4 observe las entradas. Por lo tanto, la señal 3 nunca
es vista por el PLC.

Para evitar esto, decimos que la entrada debe estar activada durante al
menos 1 tiempo de retardo de entrada + un tiempo de exploración.

Pero, ¿y si no fuera posible que la entrada durara tanto? Entonces, el plc no ve encenderse la entrada. ¡Por lo
tanto, se convierte en un peso de papel! No es cierto ... por supuesto, debe haber una forma de evitar esto. En
realidad hay 2 formas.

Función de estiramiento de pulso. Esta función amplía la longitud de la señal de


entrada hasta que el PLC mire las entradas durante el siguiente escaneo (es decir,
alarga la duración del impulso).

Función de interrupción Esta función interrumpe el escaneo para procesar una


rutina especial que haya escrito. es decir, tan pronto como se active la entrada,
independientemente de dónde esté el escaneo actualmente, el plc detiene
inmediatamente lo que está haciendo y ejecuta una rutina de interrupción. (Una
rutina se puede considerar como un mini programa fuera del programa principal.)
Una vez realizada la rutina de interrupción, regresa al punto que dejó en y continúa
con el proceso de escaneo normal.

Ahora consideremos el tiempo más largo para que una salida realmente se active. Supongamos que cuando un
interruptor se enciende, necesitamos encender una carga conectada a la salida de plc.

El siguiente diagrama muestra la demora más larga (el peor caso porque la entrada no se ve hasta el escaneo
2) para que la salida se encienda después de que la entrada se haya activado.

La demora máxima es, por lo tanto, 2 ciclos de exploración: 1 tiempo de retardo de entrada.

No es tan difícil, ¿verdad?


Reles
Ahora que entendemos cómo el PLC procesa las entradas, las salidas y el programa real, estamos casi listos
para comenzar a escribir un programa. Pero primero veamos cómo funciona realmente un relé. Después de
todo, el objetivo principal de un plc es reemplazar los relés del "mundo real".

Podemos pensar en un relevo como un interruptor electromagnético. Aplique un voltaje a la bobina y se


genera un campo magnético. Este campo magnético absorbe los contactos del relé, lo que hace que se
conecten. Estos contactos pueden considerarse un cambio. Permiten que la corriente fluya entre 2 puntos,
cerrando así el circuito.

Consideremos el siguiente ejemplo. Aquí simplemente encendemos una campana (hora del almuerzo!) Cada
vez que se cierra un interruptor. Tenemos 3 partes del mundo real. Un interruptor, un relevo y una campana.
Cada vez que se cierra el interruptor aplicamos una corriente a una campana que hace que suene.

Observe en la imagen que tenemos 2 circuitos separados. La parte inferior (azul) indica la parte DC. La parte
superior (roja) indica la parte AC.

Aquí estamos utilizando un relé de CC para controlar un circuito de CA. ¡Esa es la diversión de los relevos!
Cuando el interruptor está abierto, ninguna corriente puede fluir a través de la bobina del relé. Sin embargo,
tan pronto como se cierra el interruptor, la corriente pasa a través de la bobina y provoca la acumulación de
un campo magnético. Este campo magnético hace que los contactos del relé se cierren. Ahora la corriente de
CA fluye a través de la campana y lo escuchamos. ¡Hora de comer!

Un relevo industrial típico

Remplazo de Reles
A continuación, usemos un plc en lugar del relé. (Tenga en cuenta que esto puede no ser muy rentable para
esta aplicación, pero demuestra los principios básicos que necesitamos.) Lo primero que se necesita es crear lo
que se llama un diagrama de escalera. Después de ver algunos de estos, será obvio por qué se llama un
diagrama de escalera. Tenemos que crear uno de estos porque, desafortunadamente, un plc no entiende un
diagrama esquemático. Solo reconoce código. Afortunadamente, la mayoría de los PLC tienen un software que
convierte diagramas de escalera en código. Esto nos protege de realmente aprender el código de plc.
Primer paso: tenemos que traducir todos los elementos que estamos utilizando en símbolos que el plc
entiende. El plc no entiende términos como interruptor, relé, timbre, etc. Prefiere entrada, salida, bobina,
contacto, etc. No le importa cuál es realmente el dispositivo de entrada o salida real. Solo le importa que sea
una entrada o una salida.

Primero reemplazamos la batería con un símbolo. Este símbolo es común a todos los diagramas de escalera.
Dibujamos lo que se llama barras de distribución. Estos simplemente parecen dos barras verticales. Uno a cada
lado del diagrama. Piense en el izquierdo como + voltaje y el derecho como tierra. Además, piense que el flujo
actual (lógico) es de izquierda a derecha.

A continuación, le damos a las entradas un símbolo. En este ejemplo básico, tenemos una entrada en el
mundo real. (es decir, el interruptor) Le damos la entrada a la que se conectará el interruptor, al símbolo que
se muestra a continuación. Este símbolo también se puede usar como contacto de un relevo..

Un símbolo de contacto

A continuación, le damos a las salidas un símbolo. En este ejemplo usamos una salida (es decir, la campana).
Le damos el resultado de que la campana estará conectada físicamente al símbolo que se muestra a
continuación. Este símbolo se usa como la bobina de un relevo.

Un símbolo de bobina

El suministro de CA es un suministro externo por lo que no lo ponemos en nuestra escalera. El plc solo se
preocupa por la salida que enciende y no por lo que está físicamente conectado a ella.

Segundo paso: debemos informar al plc donde se encuentra todo. En otras palabras, tenemos que darles a
todos los dispositivos una dirección. ¿Dónde se conectará físicamente el interruptor al PLC? ¿Qué hay de la
campana? Comenzamos con un mapa de ruta en blanco en la ciudad de PLC y le damos a cada elemento una
dirección. ¿Podrías encontrar a tus amigos si no conocieras su dirección? ¿Sabes que viven en la misma ciudad
pero en qué casa? La ciudad de Plc tiene muchas casas (entradas y salidas) pero tenemos que descubrir quién
vive dónde (qué dispositivo está conectado en qué lugar). Avanzaremos en el esquema de direccionamiento
más adelante. ¡Los fabricantes de plc lo hacen de una manera diferente! Por ahora, digamos que nuestra
entrada se llamará "0000". La salida se llamará "500".

Paso final: tenemos que convertir el esquema en una secuencia lógica de eventos. Esto es mucho más fácil de
lo que parece. El programa que vamos a escribir le dice al plc qué hacer cuando ocurren ciertos eventos. En
nuestro ejemplo, tenemos que decirle al plc qué hacer cuando el operador enciende el interruptor.
Obviamente, queremos que suene la campana, pero la plc no lo sabe. Es un dispositivo bastante estúpido,
¿no?
La imagen de arriba es el diagrama final convertido. Tenga en cuenta que eliminamos el relevo del mundo real
de la necesidad de un símbolo. En realidad es "inferido" del diagrama. ¿Huh? No se preocupe, verá a qué nos
referimos cuando hagamos más ejemplos.

Instrucciones Básicas
Ahora examinemos algunas de las instrucciones básicas para obtener más detalles para ver más acerca de lo
que hace cada uno.

Carga

La instrucción de carga (LD) es un contacto normalmente abierto. A veces también se denomina examinar si
está activado. (XIO) (como en examinar la entrada para ver si está físicamente activada) El símbolo de una
instrucción de carga se muestra a continuación.

 Un símbolo de LoaD (contacto)

Esto se usa cuando se necesita una señal de entrada para que el símbolo se encienda. Cuando la entrada física
está activa podemos decir que la instrucción es verdadera. Examinamos la entrada para una señal de
encendido. Si la entrada está físicamente activa, el símbolo está activado. Una condición de encendido
también se conoce como estado lógico 1.

Este símbolo normalmente se puede usar para entradas internas, entradas externas y contactos de salida
externos. Recuerde que los relés internos no existen físicamente. Son relés simulados (software).

LoadBar

La instrucción LoaDBar es un contacto normalmente cerrado. A veces también se llama LoaDNot o examina si
está cerrado. (XIC) (como en examinar la entrada para ver si está físicamente cerrado) El símbolo para una
instrucción de barra de carga se muestra a continuación.

Un símbolo de LoaDNot (contacto normalmente cerrado)

Esto se usa cuando una señal de entrada no necesita estar presente para que el símbolo se encienda. Cuando
la entrada física está desactivada, podemos decir que la instrucción es Verdadera. Examinamos la entrada para
una señal de apagado. Si la entrada está físicamente apagada, el símbolo está activado. Una condición
desactivada también se denomina estado 0 lógico.

Este símbolo normalmente se puede usar para entradas internas, entradas externas y, a veces, contactos de
salida externos. Recuerde nuevamente que los relés internos no existen físicamente. Son relés simulados
(software). Es exactamente lo contrario de la instrucción Load.

* NOTA: en la mayoría de los PLC, esta instrucción (Load o Loadbar) DEBE ser el primer símbolo a la izquierda
de la escalera.

Logic State Load LoadBar


0 False True
1 True False

Fuera

La instrucción Out a veces también se denomina instrucción OutputEnergize. La instrucción de salida es como

una bobina de relé. Su símbolo se ve como se muestra a continuación. Un símbolo OUT (bobina)

Cuando hay una ruta de Instrucciones verdaderas que precede a esto en el escalón de la escalera, también
será Verdadero. Cuando la instrucción es verdadera, está físicamente activada. Podemos pensar en esta
instrucción como una salida normalmente abierta. Esta instrucción se puede usar para bobinas internas y
salidas externas.

Outbar

La instrucción Outbar a veces también se denomina instrucción OutNot. Algunos proveedores no tienen esta
instrucción. La instrucción de barra de salida es como una bobina de relé normalmente cerrada. Su símbolo se
ve como el que se muestra a continuación.

Un símbolo OUTBar (normalmente bobina cerrada)

Cuando hay una ruta de instrucciones falsas que precede a esto en el escalón de la escalera, será Verdadero.
Cuando la instrucción es verdadera, está físicamente activada. Podemos pensar en esta instrucción como una
salida normalmente cerrada. Esta instrucción se puede usar para bobinas internas y salidas externas. Es
exactamente lo opuesto a la instrucción Out.

Logic State Out OutBar


0 False True
1 True False

Un Ejemplo Simple
Ahora comparemos un diagrama de escalera simple con su circuito de relé externo físicamente conectado y
vea las diferencias.

En el circuito anterior, la bobina se energizará cuando haya un circuito cerrado entre los terminales + y - de la
batería. Podemos simular este mismo circuito con un diagrama de escalera. Un diagrama de escalera consta
de peldaños individuales al igual que en una escalera real. Cada escalón debe contener una o más entradas y
una o más salidas. La primera instrucción en un escalón debe ser siempre una instrucción de entrada y la
última instrucción en un escalón siempre debe ser una salida (o su equivalente).
Observe que en este sencillo diagrama de escala de peldaño hemos recreado el circuito externo anterior con
un diagrama de escalera. Aquí usamos las instrucciones de carga y salida. Algunos fabricantes requieren que
cada diagrama de escalera incluya una instrucción END en el último escalón. Algunos PLC también requieren
una instrucción ENDH en el renglón después del renglón END.

A continuación, rastrearemos los registros. Registros? Veamos...

Registros PLC
Ahora tomaremos el ejemplo anterior y cambiaremos el interruptor 2 (SW2) por un símbolo normalmente
cerrado (instrucción de la barra de carga). SW1 estará físicamente APAGADO y SW2 estará físicamente

ENCENDIDO inicialmente. El diagrama de escalera ahora se ve así:

Observe también que ahora le dimos a cada símbolo (o instrucción) una dirección. Esta dirección reserva un
área de almacenamiento determinada en los archivos de datos de PLC para que pueda almacenarse el estado
de la instrucción (es decir, verdadero / falso). Muchos PLC utilizan 16 ubicaciones de almacenamiento de
ranura o de bit. En el ejemplo anterior, estamos utilizando dos ubicaciones de almacenamiento o registros
diferentes.

REGISTER 00
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
1 0
REGISTER 05
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0

En las tablas anteriores podemos ver que en el registro 00, el bit 00 (es decir, la entrada 0000) era un 0 lógico
y el bit 01 (es decir, la entrada 0001) era un 1. El registro 05 muestra que el bit 00 (es decir, la salida 0500) 0.
La lógica 0 o 1 indica si una instrucción es False o True. * Aunque la mayoría de los elementos en las tablas de
registro anteriores están vacíos, cada uno debe contener un 0. Se dejaron en blanco para enfatizar las
ubicaciones que nos preocupaban.

LOGICAL CONDITION OF SYMBOL


LOGIC BITS LD LDB OUT
Logic 0 False True False
Logic 1 True False True
El PLC solo energizará una salida cuando todas las condiciones en el renglón sean VERDADERAS. Entonces,
mirando la tabla de arriba, vemos que en el ejemplo anterior, SW1 tiene que ser la lógica 1 y SW2 debe ser la
lógica 0. Entonces, y SÓLO entonces, la bobina será verdadera (es decir, energizada). Si alguna de las
instrucciones en el renglón antes de la salida (bobina) es falsa, entonces la salida (bobina) será falsa (no
energizada).

Veamos ahora una tabla de verdad de nuestro programa anterior para ilustrar más este punto importante.
Nuestra tabla de verdad mostrará TODAS las combinaciones posibles del estado de las dos entradas.

Inputs Outputs Register Logic Bits


SW1(LD) SW2(LDB) COIL(OUT) SW1(LD) SW2(LDB) COIL(OUT)
False True False 0 0 0
False False False 0 1 0
True True True 1 0 1
True False False 1 1 0

Observe en el cuadro que a medida que las entradas cambian sus estados a lo largo del tiempo, también lo
hará la salida. La salida solo es verdadera (energizada) cuando todas las instrucciones anteriores en el renglón
son verdaderas.

Una Aplicación de Nivel


Ahora que hemos visto cómo funcionan los registros, procesemos un programa como los PLC para mejorar
nuestra comprensión de cómo se escanea el programa.

Consideremos la siguiente aplicación:

Estamos controlando el aceite lubricante que se dispensa desde un tanque. Esto es posible usando dos
sensores. Colocamos uno cerca de la parte inferior y otro cerca de la parte superior, como se muestra en la
imagen a continuación.

Aquí, queremos que el motor de llenado bombee aceite lubricante al tanque hasta que el sensor de nivel alto
se encienda. En ese punto queremos apagar el motor hasta que el nivel caiga por debajo del sensor de nivel
bajo. Entonces debemos encender el motor de llenado y repetir el proceso.

Aquí tenemos una necesidad de 3 E / S (es decir, Entradas / Salidas). 2 son entradas (los sensores) y 1 es una
salida (el motor de llenado). Nuestras dos entradas serán sensores de nivel de fibra óptica NC (normalmente
cerrados). Cuando NO estén inmersos en líquido, estarán encendidos. Cuando estén sumergidos en líquido,
estarán APAGADOS.

Daremos una dirección a cada dispositivo de entrada y salida. Esto le permite al plc saber dónde están
físicamente conectados. Las direcciones se muestran en las siguientes tablas:

Inputs Address Output Address Internal Utility Relay


Low 0000 Motor 0500 1000
High 0001

A continuación se muestra cómo se verá realmente el diagrama de escalera. Tenga en cuenta que estamos
utilizando un relevador de servicio interno en este ejemplo. Puede usar los contactos de estos relés tantas
veces como sea necesario. Aquí se usan dos veces para simular un relevo con 2 juegos de contactos. Recuerde,
estos relés NO existen físicamente en el PLC sino que son bits en un registro que puede usar para
SIMULAR un relevador.

Siempre debemos recordar que la razón más común para usar PLC en nuestras aplicaciones es para
reemplazar los relés del mundo real. Los relés de servicio internos hacen posible esta acción. Es imposible
indicar cuántos relevos internos se incluyen con cada marca de plc. Algunos incluyen 100, mientras que otros
incluyen 1000, mientras que otros incluyen 10 de 1000. Normalmente, el factor decisivo es el tamaño de plc
(no el tamaño físico sino el tamaño de E / S). Si utilizamos un micro-plc con algunas E / S, no necesitamos
muchos relés internos. Sin embargo, si estamos usando un PLC grande con 100 o 1000 de E / S, ciertamente
necesitaremos muchos más relés internos.

Si alguna vez surge la duda de si el fabricante suministra suficientes relés internos o no, consulte sus hojas de
especificaciones. En todas las aplicaciones, excepto en la más grande, la cantidad suministrada debe ser MÁS
que suficiente.

El Escaneo del Programa


Veamos qué sucede en este programa escanear por escaneo.
Inicialmente el tanque está vacío. Por lo tanto, la entrada 0000 es VERDADERO y la entrada 0001 también es
VERDADERO.

Scan 1 Scan 2-100

Poco a poco, el tanque se llena porque 500 (motor de llenado) está encendido.

Después de 100 escaneos, el nivel de aceite sube por encima del sensor de nivel bajo y se vuelve abierto. (es
decir, FALSO)

Scan 101-1000

Observe que incluso cuando el sensor de nivel bajo es falso, todavía hay una ruta de lógica verdadera de
izquierda a derecha. Es por eso que usamos un relevo interno. El relé 1000 está activando la salida (500).
Permanecerá así hasta que no haya una verdadera ruta lógica de izquierda a derecha (es decir, cuando 0001
se convierte en falso)

Después de 1000 escaneos, el nivel de aceite se eleva por encima del sensor de nivel alto y también se vuelve
abierto (es decir, falso)
Scan 1001 Scan 1002

Como ya no existe una ruta lógica verdadera, la salida 500 ya no está energizada (verdadera) y, por lo tanto, el
motor se apaga.

Después de 1050 exploraciones, el nivel de aceite cae por debajo del sensor de nivel alto y volverá a ser cierto.

Scan 1050

Observe que aunque el sensor de alto nivel se hizo verdadero, ¡todavía NO hay una ruta lógica verdadera
continua y, por lo tanto, la bobina 1000 sigue siendo falsa!

Después de 2000 escaneos, el nivel de aceite cae por debajo del sensor de nivel bajo y también volverá a ser
cierto. En este punto, la lógica aparecerá igual que SCAN 1 arriba y la lógica se repetirá como se ilustra arriba.

Instrucciones de Bloqueo
Ahora que entendemos cómo las entradas y salidas son procesadas por el PLC, veamos una
variación de nuestros productos regulares. Las bobinas de salida regulares son, por supuesto, una
parte esencial de nuestros programas, pero debemos recordar que solo son VERDADERAS cuando
TODAS LAS INSTRUCCIONES antes de ellas en el escalón también son VERDADERAS. ¿Qué
pasa si no lo son? Entonces, por supuesto, la salida se convertirá en falsa. (Apague)

Piense en el ejemplo de campana de almuerzo que hicimos hace unos capítulos. ¿Qué hubiera
pasado si no pudiéramos encontrar un interruptor de "empujar / desconectar"? Entonces tendríamos
que seguir presionando el botón mientras queramos que suene la campana. (Un interruptor
momentáneo) Las instrucciones de enganche nos permiten usar interruptores momentáneos y
programar el plc de modo que cuando presionamos uno, la salida se enciende y cuando
presionamos otro, la salida se apaga.
Quizás ahora te estás diciendo "¿De qué diablos está hablando?". (¡También es lo que estoy
pensando!) Así que hagamos un ejemplo del mundo real.

Imagina el control remoto para tu TV. Tiene un botón para ON y otro para OFF. (el mío lo hace, de
todos modos) Cuando presiono el botón ON el televisor se enciende. Cuando presiono el botón de
apagado, el televisor se apaga. No tengo que seguir presionando el botón ON para mantener el
televisor encendido. Esta sería la función de una instrucción de bloqueo.

La instrucción de pestillo a menudo se denomina SET o OTL (pestillo de salida). La instrucción de


liberación a menudo se denomina RES (reinicio), OUT (desenganche de salida) o RST (reinicio).

El siguiente diagrama muestra cómo usarlos en un programa.

Aquí estamos usando 2 interruptores de botón momentáneos. Uno está físicamente conectado a la
entrada 0000 mientras que el otro está físicamente conectado a la entrada 0001. Cuando el operador
presiona el interruptor 0000, la instrucción "establecer 0500" se convertirá en verdadera y la salida
0500 se encenderá físicamente. Incluso después de que el operador deja de presionar el interruptor,
la salida (0500) permanecerá encendida. Está enganchado. La única forma de desactivar la salida
0500 es activar la entrada 0001. Esto causará que la instrucción "res 0500" se vuelva verdadera, lo
que desencadenará o restablecerá la salida 0500.

Haga clic aquí y vea la animación para aprender realmente!

Aquí hay algo en lo que pensar. ¿Qué pasaría si las entradas 0000 y 0001 se encienden al mismo
tiempo?

¿La salida 0500 estará bloqueada o desbloqueada?

Para responder a esta pregunta, debemos pensar en la secuencia de escaneo. La escalera siempre se
escanea de arriba a abajo, de izquierda a derecha. Lo primero en el escaneo es mirar físicamente las
entradas. 0000 y 0001 están físicamente encendidos. Luego, el plc ejecuta el programa.
Comenzando desde la parte superior izquierda, la entrada 0000 es verdadera, por lo tanto, debe
establecer 0500. Luego pasa al siguiente escalón y como la entrada 0001 es verdadera, debe
reiniciar 0500. Lo último que dijo fue reiniciar 0500. Por lo tanto, en la última parte de el escaneo
cuando actualiza las salidas mantendrá 0500 apagado. (es decir, restablecer 0500).

Tiene mejor sentido ahora, ¿no?

Contadores
Un contador es un dispositivo simple destinado a hacer una cosa simple: contar. Sin embargo,
usarlos a veces puede ser un desafío porque cada fabricante (por el motivo que sea) parece usarlos
de otra manera. Tenga la seguridad de que la siguiente información le permitirá programar de
manera sencilla y fácil los contadores de cualquier persona.

¿Qué tipo de contadores hay? Bueno, hay up-counters (solo cuentan 1,2,3 ...). Estos se llaman
CTU, (cuenta hacia arriba) CNT, C o CTR. Hay contadores descendentes (solo cuentan 9,8,7, ...).
Estos se suelen llamar CTD (cuenta atrás) cuando se trata de una instrucción separada. También
hay contadores up-down (cuentan hacia arriba y / o hacia abajo 1,2,3,4,3,2,3,4,5, ...) Estos se
denominan generalmente UDC (contador up-down) cuando son instrucciones separadas.

Muchos fabricantes solo tienen uno o dos tipos de contadores, pero se pueden usar para contar
hacia arriba, hacia abajo o ambos. ¿Confundido todavía? ¿Puedes decir "sin estandarización"? No
se preocupe, la teoría es la misma independientemente de lo que los fabricantes les llamen. Un
contador es un contador es un contador ...

Para confundir aún más el problema, la mayoría de los fabricantes también incluyen un número
limitado de contadores de alta velocidad. Estos son comúnmente llamados HSC (contador de alta
velocidad), CTH (Counter High-speed?) O lo que sea.

Normalmente, un contador de alta velocidad es un dispositivo de "hardware". Los contadores


normales enumerados anteriormente suelen ser contadores de "software". En otras palabras, no
existen físicamente en el PLC, sino que se simulan en software. Los contadores de hardware
existen en el PLC y no dependen del tiempo de escaneo.

Una buena regla empírica es simplemente usar siempre los contadores normales (de software) a
menos que los pulsos que está contando lleguen más rápido que 2 veces el tiempo de exploración.
(es decir, si el tiempo de escaneo es de 2 ms y los pulsos llegarán para contar cada 4 ms o más,
utilice un contador de software. Si llegan más rápido que cada 4 ms (3 ms, por ejemplo), utilice los
contadores de hardware (alta velocidad). tiempo = 2x2ms = 4ms)

Para usarlos debemos saber 3 cosas:

1. De donde provienen los pulsos que queremos contar. Normalmente esto es de una de las entradas
(un sensor conectado a la entrada 0000, por ejemplo)

2. ¿Cuántos pulsos queremos contar antes de reaccionar? Vamos a contar 5 widgets antes de que
los boxeamos, por ejemplo.

3. Cuándo / cómo reiniciaremos el contador para que pueda contar nuevamente. Después de contar
5 widgets, reinicie el contador, por ejemplo.

Cuando el programa se ejecuta en el PLC, el programa generalmente muestra el valor actual o


"acumulado" para nosotros, de modo que podamos ver el valor del recuento actual.

Normalmente, los contadores pueden contar de 0 a 9999, -32,768 a +32,767 o de 0 a 65535. ¿Por
qué los números extraños? Porque la mayoría de los PLC tienen contadores de 16 bits. Veremos lo
que esto significa en un capítulo posterior, pero por ahora basta decir que 0-9999 es BCD de 16 bits
(decimal codificado en binario) y que -32,768 a 32767 y 0 a 65535 es binario de 16 bits.
Estos son algunos de los símbolos de instrucciones que encontraremos (dependiendo del fabricante
que elijamos) y cómo usarlos. Recuerde que si bien pueden verse diferentes, todos se usan
básicamente de la misma manera. Si podemos configurar uno, podemos configurar cualquiera de

ellos.

En este contador necesitamos 2 entradas.

Uno va antes de la línea de reinicio. Cuando esta entrada se activa, el valor de conteo actual
(acumulado) volverá a cero.

La segunda entrada es la dirección de donde provienen los pulsos que estamos contando.

Por ejemplo, si contamos cuántos widgets pasan frente al sensor que está físicamente conectado a la
entrada 0001, entonces pondríamos contactos normalmente abiertos con la dirección 0001 frente a
la línea de pulso.

Cxxx es el nombre del contador. Si queremos llamarlo contador 000 entonces pondríamos "C000"
aquí.

yyyyy es la cantidad de pulsos que queremos contar antes de hacer algo. Si queremos contar 5
widgets antes de activar una salida física para encasillarlos, pondríamos 5 aquí. Si quisiéramos
contar 100 widgets, pondríamos 100 aquí, etc. Cuando el contador haya finalizado (es decir,
contamos los widgets yyyyy), se activará un conjunto separado de contactos que también
etiquetamos Cxxx.

Tenga en cuenta que el valor acumulado en el contador SÓLO cambia en la transición de encendido

a encendido de la entrada de impulso.

Aquí está el símbolo en una escalera que muestra cómo configuramos un contador (lo llamaremos
contador 000) para contar 100 widgets desde la entrada 0001 antes de encender la salida 500.
Sensor 0002 restablece el contador.
A continuación se muestra un símbolo que podemos encontrar para un contador de arriba hacia
abajo. Usaremos la misma abreviatura que usamos para el ejemplo anterior (es decir, UDCxxx y

yyyyy)

En este contador up-down necesitamos asignar 3 entradas. La entrada de reinicio tiene la misma
función que la anterior. Sin embargo, en lugar de tener solo una entrada para el recuento de pulsos,
ahora tenemos 2. Uno es para contar y el otro es para contar. En este ejemplo, llamaremos al
contador UDC000 y le daremos un valor preestablecido de 1000. (contaremos 1000 pulsos totales)
Para las entradas usaremos un sensor que activará la entrada 0001 cuando vea un objetivo y otro el
sensor en la entrada 0003 también se encenderá cuando vea un objetivo. Cuando la entrada 0001 se
activa, contamos hacia arriba y cuando se activa la entrada 0003, contamos hacia abajo. Cuando
lleguemos a 1000 pulsos, activaremos la salida 500. Observe nuevamente que el valor acumulado
del contador SÓLO cambia en la transición de encendido a encendido de la entrada de pulso. El

diagrama de escalera se muestra a continuación.

VIDEO PLC – 3 : CONTADORES


En el ejemplo anterior, cada vez que el operador presiona el botón 0001, el valor acumulado
del contador aumenta en uno. Tenga en cuenta que solo aumenta cuando el botón se enciende
por primera vez. (es decir, la transición de encendido a encendido). Cuando el valor
acumulado es igual al valor preestablecido (es decir, 5), los contactos C000 se encienden y la
salida 0500 se convierte en verdadera. Cuando el operador presiona el botón de reinicio
(0002), el valor acumulado vuelve a cambiar a 0000.

Una cosa importante a tener en cuenta es que los contadores y los temporizadores no pueden tener
el mismo nombre (en la mayoría de los PLC). Esto es porque generalmente usan los mismos
registros. Todavía no hemos aprendido sobre los temporizadores, pero puede tomar nota de esto
para futuras referencias porque es bastante importante.

Bueno, los contadores anteriores pueden parecer difíciles de entender, pero en realidad son bastante
fáciles una vez que nos acostumbramos a usarlos. Ciertamente son una herramienta esencial.
También son una de las instrucciones básicas menos "estandarizadas" que veremos. Sin embargo,
recuerde siempre que la teoría es la misma de fabricante en fabricante.

Temporizadores
Veamos ahora cómo funciona un temporizador. ¿Qué es un temporizador? Es exactamente lo que
dice la palabra ... es una instrucción que espera una cantidad determinada de tiempo antes de hacer
algo. Suena simple, ¿no?

Cuando miramos los diferentes tipos de temporizadores disponibles, comienza la diversión. Como
siempre, diferentes tipos de temporizadores están disponibles con diferentes fabricantes. Aquí están
la mayoría de ellos:

• Temporizador de retardo a la conexión: este tipo de temporizador simplemente "retrasa el


encendido". En otras palabras, después de que nuestro sensor (entrada) se encienda, esperamos x
segundos antes de activar una válvula de solenoide (salida). Este es el temporizador más común. A
menudo se denomina TON (temporizador de retardo a la conexión), TIM (temporizador) o TMR
(temporizador).

• Temporizador de retardo a la desconexión: este tipo de temporizador es el opuesto al


temporizador de retardo a la conexión mencionado anteriormente. Este temporizador simplemente
"retrasa el apagado". Después de que nuestro sensor (entrada) ve un objetivo, activamos un
solenoide (salida). Cuando el sensor ya no ve el objetivo, mantenemos el solenoide durante x
segundos antes de apagarlo. Se denomina TOF (temporizador de retardo a la desconexión) y es
menos común que el tipo de retardo a la conexión mencionado anteriormente. (es decir, pocos
fabricantes incluyen este tipo de temporizador)

• Temporizador retentivo o acumulado: este tipo de temporizador necesita 2 entradas. Una entrada
inicia el evento de temporización (es decir, el reloj comienza a funcionar) y el otro lo restablece.
Los temporizadores de encendido / apagado anteriores se restablecerían si el sensor de entrada no
estaba encendido / apagado para la duración completa del temporizador. Sin embargo, este
temporizador retiene o retiene el tiempo transcurrido actual cuando el sensor se apaga a la mitad del
flujo. Por ejemplo, queremos saber cuánto tiempo está encendido un sensor durante un período de 1
hora. Si usamos uno de los temporizadores anteriores, seguirán reiniciándose cuando el sensor se
apague / encienda. Sin embargo, este temporizador nos dará un tiempo total o acumulado. A
menudo se denomina RTO (temporizador retentivo) o TMRA (temporizador de acumulación).

Veamos ahora cómo usarlos. Por lo general, necesitamos saber 2 cosas:

1. Qué habilitará el temporizador. Normalmente, esta es una de las entradas (un sensor conectado a
la entrada 0000, por ejemplo)

2. Cuánto tiempo queremos retrasarnos antes de reaccionar. Esperemos 5 segundos antes de


encender un solenoide, por ejemplo.
Cuando las instrucciones antes del símbolo del temporizador son verdaderas, el temporizador
comienza a "marcar". Cuando el tiempo transcurra, el temporizador cerrará automáticamente sus
contactos. Cuando el programa se ejecuta en el PLC, el programa generalmente muestra el tiempo
transcurrido o "acumulado" para que podamos ver el valor actual. Por lo general, los
temporizadores pueden marcar de 0 a 9999 o de 0 a 65535 veces.

¿Por qué los números raros? Nuevamente es porque la mayoría de los PLC tienen temporizadores
de 16 bits. Veremos lo que esto significa en un capítulo posterior, pero por ahora basta decir que 0-
9999 es BCD de 16 bits (decimal codificado en binario) y que 0 a 65535 es binario de 16 bits. Cada
tic del reloj es igual a x-segundos.

Por lo general, cada fabricante ofrece varias marcas diferentes. La mayoría de los fabricantes
ofrecen incrementos de 10 y 100 ms (tics del reloj). Un "ms" es un milli-segundo o 1/1000 de
segundo. Varios fabricantes también ofrecen incrementos de 1 ms y de 1 segundo. Estos diferentes
temporizadores de incremento funcionan igual que los anteriores, pero a veces tienen diferentes
nombres para mostrar su base de tiempo. Algunos son TMH (temporizador de alta velocidad), TMS
(temporizador de velocidad súper alta) o TMRAF (temporizador de acumulación rápida)

A continuación se muestra un símbolo de instrucción de temporizador típico que encontraremos


(dependiendo del fabricante que elijamos) y cómo usarlo. Recuerde que si bien pueden verse
diferentes, todos se usan básicamente de la misma manera. Si podemos configurar uno, podemos

configurar cualquiera de ellos.


Este temporizador es el tipo de retardo a la conexión y se llama Txxx. Cuando la entrada de habilitación está activada, el
temporizador comienza a marcar. Cuando marca yyyyy (el valor preestablecido) veces, activará sus contactos que
usaremos más adelante en el programa. Recuerde que la duración de un tick (incremento) varía con el proveedor y la
base de tiempo utilizada. (es decir, una marca puede ser 1ms o 1 segundo o ...) A continuación se muestra el símbolo

que se muestra en una escalera

En este diagrama, esperamos que se active la entrada 0001. Cuando lo hace, el temporizador T000
(un temporizador de incremento de 100 ms) comienza a funcionar. Marcará 100 veces. Cada tic
(incremento) es 100 ms, por lo que el temporizador será un temporizador de 10000 ms (es decir, 10
segundos). 100 patillas X 100ms = 10,000ms. Cuando hayan transcurrido 10 segundos, los
contactos T000 se cerrarán y 500 se encenderán. Cuando la entrada 0001 se apaga (falso), el
temporizador T000 volverá a establecerse en 0, lo que provocará que sus contactos se apaguen (se
volverán falsos) y, por lo tanto, la salida 500 se desactivará.

VIDEO PLC – 4.1 : TEMPORIZADORES


En el ejemplo anterior, cuando el operador presiona el botón 0001, el temporizador comienza
a marcar. Cuando el valor acumulado llega a 0, los contactos del temporizador (T000) se
cerrarán y la salida 0500 se convertirá en verdadera. Cuando el operador suelta el botón
(0001), el valor acumulado vuelve al valor preestablecido (es decir, se restablece)

Un temporizador de acumulación se vería similar a esto:


Este temporizador se llama Txxx. Cuando la entrada de habilitación está activada, el temporizador comienza a marcar.
Cuando marca yyyyy (el valor preestablecido) veces, activará sus contactos que usaremos más adelante en el programa.
Recuerde que la duración de un tick (incremento) varía con el proveedor y la base de tiempo utilizada. (es decir, un tic
puede ser de 1 ms o 1 segundo o ...) Sin embargo, si la entrada de habilitación se desactiva antes de que el
temporizador se haya completado, se retendrá el valor actual. Cuando la entrada se vuelva a encender, el temporizador
continuará desde donde se detuvo. La única forma de volver a configurar el temporizador para que vuelva a su valor
preestablecido es activar la entrada de reinicio.The symbol is shown in the ladder diagram below.

En este diagrama, esperamos que se active la entrada 0002. Cuando lo hace, el temporizador T000
(un temporizador de incremento de 10 ms) comienza a funcionar. Marcará 100 veces. Cada tic
(incremento) es 10 ms, por lo que el temporizador será un temporizador de 1000 ms (es decir, 1
segundo). 100 patillas X 10ms = 1,000ms. Cuando ha transcurrido 1 segundo, los contactos T000
se cierran y 500 se activan. Si la entrada 0002 se apaga, se retendrá el tiempo transcurrido actual.
Cuando 0002 se vuelve a encender, el temporizador continuará donde lo dejó. Cuando la entrada
0001 se enciende (verdadero), el temporizador T000 volverá a cero y hará que sus contactos se
apaguen (se volverán falsos), por lo que la salida 500 se desactivará.

VIDEO PLC – 4.2 : TEMPORIZADORES


En el ejemplo anterior, cuando el operador presiona el botón 0002, el temporizador comienza
a marcar. Cuando el valor acumulado llega a 0, los contactos del temporizador (T000) se
cerrarán y la salida 0500 se convertirá en verdadera. Cuando el operador suelta el botón
(0002), el valor acumulado se mantiene (es decir, retenido). Solo cuando el operador presiona
el botón de reinicio (0001) se reinicia el temporizador.

Una cosa importante a tener en cuenta es que los contadores y los temporizadores no pueden tener
el mismo nombre (en la mayoría de los PLC). Esto es porque generalmente usan los mismos
registros.
Recuerde siempre que, aunque los símbolos pueden parecer diferentes, todos funcionan de la
misma manera. Por lo general, las principales diferencias se encuentran en la duración de los
incrementos de ticks.

Presición del Temporizador


Ahora que hemos visto cómo se crean y utilizan los temporizadores, aprendamos un poco sobre su
precisión. Cuando estamos creando un temporizador que dura unos pocos segundos o más,
normalmente no podemos preocuparnos mucho por su precisión, ya que generalmente es
insignificante. Sin embargo, cuando estamos creando temporizadores que tienen una duración en el
rango de milisegundos (1ms = 1/1000 segundos) DEBEMOS estar preocupados por su precisión.

Hay dos tipos generales de errores cuando se usa un temporizador. El primero se llama un error de
entrada. El otro se llama un error de salida. El error total es la suma de los errores de entrada y
salida.

• Error de entrada: se produce un error dependiendo de cuándo se activa la entrada del temporizador
durante el ciclo de escaneo. Cuando la entrada se activa inmediatamente después de que plc
observa el estado de las entradas durante el ciclo de escaneo, el error de entrada será mayor. (es
decir, más de 1 tiempo de exploración completo). Esto se debe a que, como recordará, (consulte el
capítulo del tiempo de escaneo) las entradas se examinan una vez durante un escaneo. Si no estaba
encendido cuando se miró el plc y se enciende más adelante en el escaneo, obviamente tenemos un
error. Además, tenemos que esperar hasta que la instrucción del temporizador se ejecute durante la
ejecución del programa de la parte del escaneo. Si la instrucción del temporizador es la última
instrucción en el escalón, ¡podría ser un gran error!

• Error de salida- Se produce otro error dependiendo de cuándo en la escalera el temporizador


realmente "agota el tiempo de espera" (caduca) y cuando el PLC termina de ejecutar el programa
para llegar a la parte del escaneo cuando actualiza las salidas. (otra vez, vea el capítulo del tiempo
de escaneo) Esto se debe a que el temporizador termina durante la ejecución del programa, pero el
PLC debe terminar de ejecutar el resto del programa antes de que pueda activar la salida apropiada.

A continuación se muestra un diagrama que ilustra el peor error de entrada posible. Notará que el
peor error de entrada posible sería 1 tiempo de exploración completo + 1 tiempo de ejecución del
programa. Recuerde que el tiempo de ejecución de un programa varía de un programa a otro.

(¡Depende de cuántas instrucciones hay en el programa!)


A continuación se muestra un diagrama que ilustra el peor error de salida posible. Puede ver que el
peor error de salida posible sería 1 tiempo completo de exploración.

En base a la información anterior, ahora podemos ver que el peor error total posible del
temporizador sería igual a:

1 tiempo de escaneo + 1 tiempo de ejecución del programa + 1 tiempo de escaneo

= 2 tiempos de escaneo + 1 tiempo de ejecución del programa.

¿Qué significa esto realmente? Significa que a pesar de que la mayoría de los fabricantes
actualmente tienen temporizadores con incrementos de 1 ms, en realidad no deberían usarse durante
períodos de tiempo inferiores a unos pocos milisegundos. Esto supone que el tiempo de escaneo es
de 1ms. Si el tiempo de escaneo es de 5 ms, será mejor que no use un temporizador con una
duración inferior a aproximadamente 15 ms. El punto es, sin embargo, solo para que sepamos qué
errores podemos esperar. Si sabemos qué error esperar, podemos pensar si esta cantidad de error es
aceptable para nuestra aplicación. En la mayoría de las aplicaciones, este error es insignificante,
pero en algunas aplicaciones de alta velocidad o muy precisas, este error puede ser MUY
significativo.

También debemos tener en cuenta que los errores anteriores son solo los "errores de software".
También hay un error de entrada de hardware y un error de salida de hardware.

El error de entrada de hardware es causado por el tiempo que le toma a la plc darse cuenta de que la
entrada está activada cuando escanea sus entradas. Por lo general, esta duración es de
aproximadamente 10 ms. Esto se debe a que muchos PLC requieren que una entrada esté
físicamente activada para algunos escaneos antes de determinar que está físicamente activada. (para
eliminar ruido o entradas de "rebote")

El error de salida del hardware es causado por el tiempo que toma desde que el plc le dice a su
salida que se encienda físicamente hasta el momento en que realmente lo hace. Típicamente un
transistor toma aproximadamente 0.5ms mientras que un relé mecánico toma aproximadamente
10ms.

El error sigue creciendo, ¿no? Si se vuelve demasiado grande para la aplicación, considere usar un
temporizador de "hardware" externo.

One-shots
Un one-shot es una herramienta de programación interesante e invaluable. A primera vista, podría ser difícil entender por
qué se necesita una instrucción de este tipo. Sin embargo, una vez que comprendamos lo que hace esta instrucción y
cómo usarla, la necesidad quedará clara.
Se usa una sola toma para hacer que algo suceda por SÓLO 1 EXPLORACIÓN. (¿Recuerdas qué es un escaneo,
verdad?) La mayoría de los fabricantes tienen one-shots que reaccionan a una transición de apagado a encendido y un
tipo diferente que reacciona a una transición de encendido a apagado. Algunos nombres de las instrucciones pueden ser
difu / dif (diferenciar arriba / abajo), sotu / sotd (salida única arriba / abajo), osr (subida de una toma) y otros. Todos ellos,

sin embargo, terminan con el mismo resultado, independientemente del nombre. One-shot Instruction

Arriba está el símbolo para una instrucción difu (one-shot). Una diferencia parece igual pero dentro del símbolo dice
"difd". Algunos fabricantes lo tienen en forma de caja pero, independientemente del símbolo, todos funcionan de la misma
manera. Para aquellos fabricantes que no incluyen una instrucción de diferenciación hacia abajo, puede obtener el
mismo efecto al poner una instrucción NC (normalmente cerrada) antes que en una instrucción NO (normalmente
abierta). (es decir, invertir la lógica antes de la instrucción difu)

Vamos a configurar ahora una aplicación para ver cómo funciona realmente esta instrucción en una escalera. Esta
instrucción se usa con mayor frecuencia con algunas de las instrucciones avanzadas donde hacemos algunas cosas que
DEBEN suceder solo una vez. Sin embargo, dado que aún no hemos llegado tan lejos, vamos a configurar un circuito
flip / flop. En términos simples, un flip / flop cambia algo cada vez que ocurre una acción. Aquí usaremos un solo
interruptor de botón. La primera vez que el operador lo presiona, queremos que se active una salida. Permanecerá
"enganchado" hasta la próxima vez que el operador presione el botón. Cuando lo hace, la salida se apaga.Here's the

ladder diagram that does just that:

¡Ahora esto parece confuso! En realidad, no lo es si lo hacemos paso a paso.

• Peldaño 1: cuando la entrada NO (normalmente abierta) 0000 se convierte en verdadera, DIFU


1000 se convierte en verdadero.

• Peldaño 2- NO 1000 es verdadero, NO 1001 sigue siendo falso, NC 1001 permanece verdadero,
NC 1000 se vuelve falso. Como tenemos un camino verdadero, (NO 1000 y NC 1001) OUT 1001
se convierte en verdadero.

• Peldaño 3- NO 1001 es verdadero, por lo tanto, OUT 500 se convierte en verdadero.

Siguiente escaneo

• Peldaño 1- NO 0000 permanece verdadero. DIFU 1000 ahora se convierte en falso. Esto se debe a
que la instrucción DIFU solo es verdadera para un escaneo. (es decir, el borde ascendente de la
lógica anterior al escalón)

• El renglón 2- NO 1000 es falso, NO 1001 permanece verdadero, NC 1001 es falso, NC 1000 se


convierte en verdadero. Como TODAVÍA tenemos un camino verdadero, (NO 1001 y NC 1000)
OUT 1001 sigue siendo verdadero.

• Peldaño 3- NO 1001 es verdadero, por lo tanto, OUT 500 sigue siendo cierto.
Después de 100 escaneos, NO 0000 se apaga (se vuelve falso). La lógica permanece en el mismo
estado que el "siguiente escaneo" que se muestra arriba. (Difu no reacciona, por lo tanto, la lógica
permanece igual en los peldaños 2 y 3)

En el escaneo 101 NO 0000 se vuelve a encender. (se vuelve verdad)

• Peldaño 1: cuando la entrada NO (normalmente abierta) 0000 se convierte en verdadera, DIFU


1000 se convierte en verdadero.

• Renglón 2- NO 1000 es verdadero, NO 1001 permanece verdadero, NC 1001 se vuelve falso, NC


1000 también se vuelve falso. Como ya no tenemos un camino verdadero, OUT 1001 se convierte
en falso.

• Peldaño 3- NO 1001 es falso, por lo tanto, SALIDA 500 se convierte en falso.

VIDEO PLC – 5 : One-shots


En el ejemplo anterior, cada vez que el operador presiona el botón 0000, la instrucción difu se
activa (se convierte en verdadera) PARA UNA ESCANEO. Observe que se enciende (se
convierte en verdadero) en el borde ascendente de la entrada 0000. En otras palabras, cuando
la entrada 0000 se enciende inicialmente (se convierte en verdadera), la instrucción difu es
verdadera. Cuando una entrada se vuelve inicialmente verdadera, se le llama el borde inicial
o ascendente. Cuando se apaga inicialmente (se vuelve falso) se llama borde posterior o
posterior.

Si después de ver la animación todavía te resulta difícil de entender, no te sientas mal. ¡Solo
eres un idiota y debes rendirte! No en realidad no. Solo trate de recordar cómo es escaneado
por el plc. Piénselo a través de una instrucción a la vez de arriba a abajo, luego de izquierda a
derecha. (es decir, en este orden: NO 0000, difu 1000, NO 1000, NO 1001, NC 1001, NC 1000,
OUT 1001, NO 1001, OUT 500) ¿Mientras se ejecuta cada instrucción es verdadero o falso?

El renglón 2 (tiene 5 instrucciones) es la parte confusa para la mayoría de nosotros. Para


hacerlo más fácil, divídalo en secciones. NO 1000 y NO 1001 están en paralelo. En otras
palabras, forman un circuito "o". Llame a esta sección 1. Si 1000 o 1001 es verdadero,
entonces esta mini sección es verdadera. Luego tenemos otra sección en paralelo. Esta sección
es NC 1001 y NC 1000. De nuevo, estos 2 están en paralelo. Llame a esta sección 2. Si NC 1001
O NC 1000 es verdadero, entonces esta sección es verdadera. Finalmente, esas 2 secciones
paralelas (secciones 1 y 2) están en serie entre sí. Esto significa que si la sección 1 Y la sección
2 son ambas verdaderas, entonces el renglón es verdadero y la salida 1001 debe ser
verdadera.

Ahora es mucho más fácil de entender, ¿no? También aprendimos sobre lógica OR y AND,
comúnmente llamada lógica paralela y de serie.
Ejecutar el programa 1 instrucción a la vez hace que este y cualquier programa sean fáciles de
seguir. En realidad, un programa más grande que salta puede ser difícil de seguir, ¡pero un dibujo a
lápiz de los registros sí ayuda!

Controles Maestros
Veamos ahora lo que se llama controles maestros. Los controles maestros se pueden considerar como "interruptores de
parada de emergencia". Un interruptor de parada de emergencia por lo general es un gran botón rojo en una máquina
que lo apagará en casos de emergencia. La próxima vez que esté en la estación de servicio local, mire cerca de la puerta
en el exterior para ver un ejemplo de parada de emergencia.

* IMPORTANTE: no estamos implicando que esta instrucción sea un sustituto de un interruptor de parada de emergencia
"cableado". ¡No hay sustituto para tal cambio! Más bien es solo una manera fácil de llegar a entenderlos.

La instrucción de control maestro normalmente se usa en pares con un reinicio del control maestro. Sin embargo, esto
varía según el fabricante. Algunos usan MCR por parejas en lugar de combinarlo con otro símbolo. Se abrevia
comúnmente como MC / MCR (control maestro / reinicio del control maestro), MCS / MCR (ajuste del control maestro /
reinicio del control maestro) o simplemente simplemente MCR (reinicio del control maestro).

Aquí hay un ejemplo de cómo se ve un símbolo de control maestro.

A continuación se muestra un ejemplo de un restablecimiento de control maestro.

Para hacer las cosas interesantes, muchos fabricantes los hacen actuar de manera diferente. Veamos

ahora cómo se usa en un diagrama de escalera. Considere el siguiente ejemplo:


Así es cómo diferentes PLC ejecutarán este programa:

Fabricante X- En este ejemplo, los peldaños 2 y 3 solo se ejecutan cuando la entrada 0000 está activada (verdadera). Si
la entrada 0000 no es verdadera, el plc pretende que la lógica entre las instrucciones mc y mcr no exista. Por lo tanto,
pasaría por alto este bloque de instrucciones e iría inmediatamente al escalón después de la instrucción mcr.

Por el contrario, si la entrada 0000 es verdadera, el PLC ejecutará los peldaños 2 y 3 y actualizará el estado de las
salidas 0500 y 0501 en consecuencia. Por lo tanto, si la entrada 0000 es verdadera, la ejecución del programa pasa al
renglón 2. Si la entrada 0001 es verdadera, 0500 será verdadera y, por lo tanto, se activará cuando el PLC actualice las
salidas. Si la entrada 0002 es verdadera (es decir, está físicamente apagada) 0501 será verdadera y, por lo tanto, se
encenderá cuando el PLC actualice las salidas.

MCR simplemente le dice al PLC "ese es el final del bloque mc / mcr".

En este plc, el tiempo de escaneo no se extiende cuando el bloque mc / mcr no se ejecuta porque el plc simula que la
lógica en el bloque no existe. En otras palabras, las instrucciones dentro del bloque no son vistas por el plc y por lo tanto
no las ejecuta.
VIDEO PLC – 6 : CONTROL MAESTRO
En el ejemplo anterior, podemos ver los efectos de mc / mcr en una instrucción outb (barra de salida). Recuerde
que si el bloque mc / mcr no estuviera allí, 0500 estaría físicamente encendido solo cuando la entrada 0001 fuera
falsa (físicamente desactivada). Pero dado que el bloque mc / mcr está ahí, esto ocurre solo cuando la entrada
0000 es verdadera. Cuando la entrada 0000 es falsa, es imposible que 0500 esté activada.

Fabricante Y- En este ejemplo, los escalones 2 y 3 siempre se ejecutan independientemente del estado de la entrada
0000. Si la entrada 0000 no es verdadera, el plc ejecuta la instrucción MC. (es decir, MC se convierte en verdad) Luego
fuerza que todas las instrucciones de entrada dentro del bloque estén desactivadas. Si la entrada 0000 es verdadera, la
instrucción MC se hace falsa.

Entonces, si la entrada 0000 es verdadera, la ejecución del programa pasa al renglón 2. Si la entrada 0001 es verdadera,
0500 será verdadera y, por lo tanto, se activará cuando el PLC actualice las salidas. Si la entrada 0002 es verdadera (es
decir, está físicamente apagada) 0501 será verdadera y, por lo tanto, se encenderá cuando el PLC actualice las salidas.
MCR simplemente le dice al PLC "ese es el final del bloque mc / mcr". Cuando la entrada 0000 es falsa, las entradas
0001 y 0002 se desactivan independientemente de si están físicamente activadas o desactivadas. Por lo tanto, las
salidas 0500 y 0501 serán falsas.

La diferencia entre los fabricantes X e Y anteriores es que en el esquema Y el tiempo de escaneo será el mismo (muy
cerca del mismo) independientemente de si el bloque está encendido o apagado. Esto es porque el plc ve cada
instrucción si el bloque está encendido o apagado.

La mayoría de los fabricantes realizarán una instrucción previamente bloqueada (una que está dentro del bloque mc /
mcr) conservando su condición previa.

Si fue verdad antes, seguirá siendo verdad.

Si fue falso antes, seguirá siendo falso.

Los temporizadores no se deben usar dentro del bloque mc / mcr porque algunos fabricantes los restablecerán a cero
cuando el bloque sea falso, mientras que otros fabricantes harán que retengan el estado horario actual.

Los contadores suelen conservar su valor contado actual.

Aquí está la parte a tener en cuenta más que nada. Cuando el bloque mc / mcr está desactivado (es decir, la entrada
0000 sería falsa en el ejemplo de escalera mostrado anteriormente), una instrucción OUTB (OutBar o OutNot) no estaría

físicamente activada. Es forzado físicamente. Instrucción OutBar

En resumen, ¡TEN CUIDADO! La mayoría de los fabricantes utilizan el esquema de ejecución Y


del fabricante que se muestra arriba. En caso de duda, sin embargo, lea el manual de instrucciones
del fabricante. Mejor aún, solo pregúntales.

Registros de Cambio
En muchas aplicaciones, es necesario almacenar el estado de un evento que ha sucedido
anteriormente. Como hemos visto en capítulos anteriores, este es un proceso simple. Pero, ¿qué
hacemos si tenemos que almacenar muchos eventos anteriores y actuar sobre ellos más tarde?

Respuesta: llamamos a la instrucción de registro de desplazamiento.


Usamos un registro o grupo de registros para formar un tren de bits (autos) para almacenar el
estado anterior de encendido / apagado. Cada nuevo cambio de estado se almacena en el primer bit
y los bits restantes se desplazan hacia abajo del tren. ¿Huh? Sigue leyendo.

El registro de desplazamiento tiene muchos nombres. SFT (ShiFT), BSL (Bit Shift Left), SFR
(Shift Forward Register) son algunos de los nombres comunes. Estos registros cambian los bits a la
izquierda. BSR (Bit Shift Right) y SFRN (Shift Forward Register Not) son algunos ejemplos de
instrucciones que desplazan bits hacia la derecha. Debemos tener en cuenta que no todos los
fabricantes tienen registros de desplazamiento que cambian los datos a la derecha, pero la mayoría

todos tienen registros de desplazamiento.

Una instrucción de registro de desplazamiento típica tiene un símbolo como el que se muestra
arriba. Tenga en cuenta que el símbolo necesita 3 entradas y tiene algunos datos dentro del símbolo.

Los motivos de cada entrada son los siguientes:

• Datos: la entrada de datos recopila los estados verdadero / falso que se desplazarán por el tren.
Cuando la entrada de datos es verdadera, el primer bit (automóvil) en el registro (tren) será un 1.
Estos datos solo se ingresan en el registro (tren) en el borde ascendente de la entrada del reloj.

• Reloj: la entrada del reloj le dice al registro de desplazamiento que "haga lo suyo". En el borde
ascendente de esta entrada, el registro de desplazamiento desplaza los datos una ubicación dentro
del registro e ingresa el estado de la entrada de datos en el primer bit. En cada borde ascendente de
esta entrada, el proceso se repetirá.

• Restablecer: la entrada de reinicio hace exactamente lo que dice. Borra todos los bits dentro del
registro que estamos usando a 0.

El 1000 dentro del símbolo de registro de desplazamiento es la ubicación del primer bit de nuestro
registro de desplazamiento. Si pensamos en el registro de desplazamiento como un tren (es decir,
un tren choo-choo), este bit es la locomotora. El 1003 dentro del símbolo de arriba es el último bit
de nuestro registro de desplazamiento. Es el vagón de cola. Por lo tanto, podemos decir que 1001 y
1002 son autos entre la locomotora y el furgón de cola. Son bits intermedios. Entonces, este
registro de desplazamiento tiene 4 bits (es decir, 1000,1001,1002,1003)

Examinemos una aplicación para ver por qué / cómo podemos usar el registro de desplazamiento.

Imagina una máquina de helados. Tenemos 4 pasos. Primero verificamos que el cono no esté roto. Luego ponemos
helado dentro del cono. (Enciende la salida 500) Luego agregamos los cacahuetes. (Enciende la salida 501) Y finalmente
agregamos las chispas. (Enciende la salida 502) Si el cono está roto, obviamente no queremos agregue helado y los
otros artículos. Por lo tanto, tenemos que rastrear el cono defectuoso en nuestra línea de proceso para que podamos
decirle a la máquina que no agregue cada elemento. Usamos un sensor para mirar la parte inferior del cono. (entrada
0000) Si está encendido, entonces el cono es perfecto y si está apagado, entonces el cono está roto. Un codificador
rastrea el cono que baja por el transportador. (entrada 0001) Un botón en la máquina borrará el registro. (entrada 0002)

Así es como se vería la escalera:

Sigamos ahora el registro de desplazamiento a medida que se lleva a cabo la operación. Esto es lo
que la serie 1000 registra (el registro que estamos cambiando) se ve al principio:

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 0

Un buen cono se encuentra delante del sensor (entrada 0000). El sensor (entrada de datos) se
enciende. 1000 no se encenderá hasta el borde ascendente del codificador (entrada 0001).
Finalmente, el codificador genera ahora un pulso y el estado de la entrada de datos (entrada del
sensor de cono 0000) se transfiere al bit 1000. El registro ahora se ve así:

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 1

A medida que el sistema de transporte avanza, otro cono se acerca al sensor. Esta vez es un cono
roto y el sensor permanece apagado. Ahora el codificador genera otro pulso. El estado antiguo del
bit 1000 se transfiere al bit 1001. El estado anterior de 1001 cambia a 1002. El estado anterior de
1002 cambia a 1003. Y el nuevo estado de la entrada de datos (sensor de cono) se transfiere al bit
1000. El registro ahora se ve así:

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 1 0

Como el registro muestra que 1001 está encendido, la escalera dice que la salida 0500 se encenderá
y se colocará helado en el cono.
A medida que el sistema de transporte continúa avanzando, otro cono se encuentra frente al sensor.
Esta vez es un buen cono y el sensor se enciende. Ahora el codificador genera otro pulso. El estado
antiguo del bit 1000 se transfiere al bit 1001. El estado anterior de 1001 cambia a 1002. El estado
anterior de 1002 cambia a 1003. Y el nuevo estado de la entrada de datos (sensor de cono) se
transfiere al bit 1000. El registro ahora se ve así:

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 1 0 1

Como el registro muestra que 1002 está ahora encendido, la escalera dice que la salida 0501 se
encenderá y se colocarán cacahuetes en el cono. Como 1001 ahora tiene el estado de un cono roto,
500 permanece apagado en la escalera de arriba y no se inserta helado en este cono. A medida que
el sistema de transporte continúa avanzando, otro cono se encuentra frente al sensor. Esta vez
también es un buen cono y el sensor se enciende. Ahora el codificador genera otro pulso. El estado
antiguo del bit 1000 se transfiere al bit 1001. El estado anterior de 1001 cambia a 1002. El estado
anterior de 1002 cambia a 1003. Y el nuevo estado de la entrada de datos (sensor de cono) se
transfiere al bit 1000. El registro ahora se ve así:

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
1 0 1 1

Dado que el registro muestra que 1003 está ahora encendido, la escalera indica que la salida 0502
se encenderá y se colocarán chispas en el cono. (Hecho, delicioso ...) Dado que 1002 ahora tiene el
estado de un cono roto, 501 permanece apagado en la escalera de arriba y no se colocan cacahuetes
en este cono. Como el registro muestra que 1001 está ahora encendido, la escalera dice que la
salida 0500 se encenderá y se colocará helado en ese cono.

A medida que el sistema de transporte continúa avanzando, otro cono se encuentra frente al sensor.
Esta vez es otro cono roto y el sensor se apaga. Ahora el codificador genera otro pulso. El estado
antiguo del bit 1000 se transfiere al bit 1001. El estado anterior de 1001 cambia a 1002. El estado
anterior de 1002 cambia a 1003. Y el nuevo estado de la entrada de datos (sensor de cono) se
transfiere al bit 1000. El registro ahora se ve así:

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 1 1 0

Observe que el estado de nuestro primer cono ha desaparecido. En realidad, está ubicado en la
ubicación 1004 pero es inútil que dibujemos una aplicación con 16 procesos aquí. Baste decir que
una vez que la broca se desplaza hacia la izquierda, desaparece y nunca se vuelve a ver. En otras
palabras, se ha eliminado del registro y se borró de la memoria. Aunque no está dibujado, la
operación anterior continuará con cada bit cambiando en el borde ascendente de la señal del
codificador.

VIDEO PLC – 7 : REGISTROS DE CAMBIO


En el ejemplo anterior, podemos ver la operación ya que produce conos de helado. Siga el
primer cono a través de la animación para comprender mejor la instrucción de registro de
desplazamiento.

El registro de desplazamiento se usa más comúnmente en sistemas de cintas transportadoras,


aplicaciones de etiquetado o embotellado, etc. Algunas veces también se usa convenientemente
cuando la operación debe demorarse en una línea de embotellado de rápido movimiento. Por
ejemplo, un solenoide no puede expulsar inmediatamente una lata de cerveza mala cuando el sensor
dice que está mal. Para cuando el solenoide reaccione, la lata ya habría pasado. Por lo tanto,
normalmente el solenoide se encuentra más abajo en la línea del transportador y un registro de
desplazamiento rastrea la lata para expulsarlo más tarde cuando sea más conveniente.

Un registro de desplazamiento a menudo es muy difícil de entender. En caso de duda, vuelva a leer
lo anterior y lo comprenderá lo suficientemente pronto.

Obtener y mover datos


Comencemos ahora a trabajar con algunos datos. Esto es lo que se puede considerar como estar en las funciones
"avanzadas" de un plc. Este es también el punto donde veremos algunas diferencias marcadas entre la funcionalidad e
implementación de muchos de los fabricantes. En las líneas que siguen, exploraremos dos de las formas más populares
de obtener y manipular datos.

¿Por qué queremos obtener o adquirir datos? La respuesta es simple. Digamos que estamos usando uno de los módulos
opcionales del fabricante. Quizás es un módulo A / D. Este módulo adquiere señales analógicas del mundo exterior (una
tensión o corriente variable) y convierte la señal en algo que el PLC puede entender (una señal digital, es decir, 1 y 0).
Los fabricantes almacenan automáticamente estos datos en ubicaciones de memoria para nosotros. Sin embargo,
tenemos que sacar los datos de allí y moverlos a otro lugar; de lo contrario, la próxima muestra analógica reemplazará a
la que acabamos de tomar. En otras palabras, muévelo o piérdalo! Otra cosa que podríamos hacer es almacenar una
constante (es decir, una palabra elegante para un número), obtener algunos datos binarios de los terminales de entrada
(tal vez un conmutador de rueda está conectado allí, por ejemplo), hacer algunas operaciones matemáticas y almacenar
el resultado en un ubicación diferente, etc.

Como se dijo antes, normalmente hay 2 "conjuntos" de instrucciones comunes para lograr esto. Algunos fabricantes usan
una sola instrucción para realizar toda la operación, mientras que otros usan dos instrucciones separadas. Los dos se
usan juntos para lograr el resultado final. Miremos ahora brevemente cada instrucción.

La instrucción simple se denomina comúnmente MOV (movimiento). Algunos proveedores también incluyen un MOVN
(movimiento no). Tiene la misma función de MOV pero transfiere los datos en forma invertida. (es decir, si el bit era un 1,
se almacena / mueve un 0 o si el bit era un 0, se almacena / movía un 1). El MOV generalmente se ve como el que se

muestra a continuación. Símbolo de instrucción MOV

La instrucción emparejada se denomina normalmente LDA (Acumulador LoaD) y STA (Acumulador STore). El
acumulador es simplemente un registro dentro de la CPU donde el PLC almacena datos temporalmente mientras está
funcionando. La instrucción LDA generalmente se parece a la que se muestra a continuación, mientras que la instrucción
STA se parece a la que se muestra a continuación a la derecha.
Independientemente de si usamos el conjunto de instrucciones de un símbolo o dos símbolos (no
tenemos elección ya que depende de quién usemos el plc), funcionan de la misma manera.

Veamos primero la instrucción individual. La instrucción MOV necesita saber dos cosas de
nosotros.

• Fuente (xxxx): aquí es donde se ubican los datos que queremos mover. Podríamos escribir una
constante aquí (2222 por ejemplo). Esto significaría que nuestra fuente de datos es el número 2222.
También podríamos escribir una ubicación o dirección donde se encuentran los datos que queremos
mover. Si escribimos DM100, esto movería los datos que se encuentran en la memoria de datos
100.

• Destino (aaaa): esta es la ubicación a la que se moverán los datos. Escribimos una dirección aquí.
Por ejemplo, si escribimos DM201 aquí, los datos se moverán a la memoria de datos 201. También
podríamos escribir 0500 aquí. Esto significaría que los datos se moverían a las salidas físicas. 0500
tendría el bit menos significativo, 0501 tendría el siguiente bit ... 0515 tendría el bit más
significativo. Esto sería útil si tuviéramos una pantalla binaria conectada a las salidas y quisiéramos
mostrar el valor dentro de un contador para el operador de la máquina en todo momento (por

ejemplo).

El diagrama de escalera para hacer esto se vería similar al que se muestra arriba.

Tenga en cuenta que también estamos utilizando una instrucción "difu" aquí. La razón es
simplemente porque si no lo hiciéramos, los datos se moverían durante cada escaneo. A veces esto
es algo bueno (por ejemplo, si estamos adquiriendo datos de un módulo A / D) pero otras veces no
(por ejemplo, una pantalla externa no se puede leer porque los datos cambian demasiado).

La escalera muestra que cada vez que la entrada del mundo real 0000 se convierte en verdadera,
difu se convertirá en verdadera solo para un escaneo. En este momento, LoaD 1000 será verdadero
y el plc moverá los datos de la memoria de datos 200 y los colocará en la memoria de datos 201.

Simple pero efectivo Si, en lugar de DM200, hubiésemos escrito 2222 en el símbolo, habríamos
movido (escrito) el número (constante) 2222 a DM201.

La instrucción de dos símbolos funciona en el mismo método, pero se ve diferente. Para usarlos
también debemos proporcionar dos cosas, una para cada instrucción:

• LDA: esta instrucción es similar a la fuente de una instrucción MOV. Aquí es donde se ubican los
datos que queremos mover. Podríamos escribir una constante aquí (2222 por ejemplo). Esto
significaría que nuestra fuente de datos es el número 2222. También podríamos escribir una
ubicación o dirección donde se encuentran los datos que queremos mover. Si escribimos DM100,
esto movería los datos que se encuentran en la memoria de datos 100.

• STA: esta instrucción es similar al destino de una instrucción MOV. Escribimos una dirección
aquí. Por ejemplo, si escribimos DM201 aquí, los datos se moverán a la memoria de datos 201.
También podríamos escribir 0500 aquí. Esto significaría que los datos se moverían a las salidas
físicas. 0500 tendría el bit menos significativo, 0501 tendría el siguiente bit ... 0515 tendría el bit
más significativo. Esto sería útil si tuviéramos una pantalla binaria conectada a las salidas y
quisiéramos mostrar el valor dentro de un contador para el operador de la máquina en todo

momento (por ejemplo).

El diagrama de escalera para hacer esto se vería similar al que se muestra arriba. Aquí nuevamente
notamos que estamos usando un intento único para que el movimiento solo ocurra una vez por cada
vez que la entrada 0000 se vuelva verdadera. En esta escalera, estamos moviendo la constante 2222
en la memoria de datos 200. Algunos manufacturadores usan el "#" para simbolizar un número
decimal. Si acabamos de usar 2222, este plc pensaría que se refería a la dirección 2222. Los PLC
son todos iguales ... pero todos son diferentes.

VIDEO PLC – 8 : REGISTROS DE CAMBIO


En el ejemplo anterior, la memoria de datos 200 (DM200) contiene inicialmente la constante
(número) 0000. Cada vez que el operador presiona el botón 0000, la instrucción difu se
activará (se convertirá en verdadera) PARA UNA EXPLORACIÓN. Cuando esto sucede,
cargamos la constante (número) 2222 y la movemos a la memoria de datos 200 (DM200). No
es una aplicación muy útil en sí misma, pero debe mostrar lo que hace el par de instrucciones.
En capítulos posteriores verás que esta es una instrucción invaluable.

Podemos pensar en esta instrucción como la puerta de entrada a las instrucciones avanzadas. Estoy
seguro de que lo encontrará útil e invaluable como veremos en el futuro. ¡Muchas funciones
avanzadas son imposibles sin esta instrucción!

Instrucciones de Matemáticas
Veamos ahora el uso de algunas funciones matemáticas básicas en nuestros datos. Muchas veces en nuestras
aplicaciones debemos ejecutar algún tipo de fórmula matemática en nuestros datos. Es raro que nuestros datos sean
exactamente lo que necesitábamos.

Como ejemplo, digamos que estamos fabricando widgets. No queremos mostrar el número total que hemos hecho hoy,
sino que queremos mostrar cuánto más necesitamos hacer hoy para cumplir con nuestra cuota. Digamos que nuestra
cuota de hoy es 1000 piezas. Diremos que X es nuestra producción actual. Por lo tanto, podemos imaginar que 1000-X =
widgets quedan por hacer. Para implementar esta fórmula, obviamente necesitamos alguna capacidad matemática.
En general, los PLC casi siempre incluyen estas funciones matemáticas:

• Adición: la capacidad de agregar una pieza de datos a otra. Comúnmente se llama ADD.

• Resta: la capacidad de restar una pieza de datos de otra. Comúnmente se llama SUB.

• Multiplicación: la capacidad de multiplicar una pieza de datos por otra. Comúnmente se llama MUL.

• División: la capacidad de dividir una pieza de datos de otra. Comúnmente se llama DIV.

Como vimos con la instrucción MOV, generalmente hay dos métodos comunes utilizados por la mayoría de los
fabricantes de PLC. El primer método incluye una sola instrucción que nos pide algunas piezas clave de información.
Este método generalmente requiere:

• Fuente A: esta es la dirección de la primera pieza de datos que usaremos en nuestra fórmula. En otras palabras, es la
ubicación en memoria de dónde es el primer "número" que usamos en la fórmula.

• Fuente B: esta es la dirección de la segunda pieza de datos que usaremos en nuestra fórmula. En otras palabras, es la
ubicación en memoria de dónde está el segundo "número" que usamos en la fórmula. -NOTA: normalmente solo
podemos trabajar con 2 datos a la vez. En otras palabras, no podemos trabajar directamente con una fórmula como 1 + 2
+ 3. Tendríamos que dividirlo en pedazos. Al igual que 1 + 2 = X, entonces X + 3 = nuestro resultado.

• Destino: esta es la dirección donde se colocará el resultado de nuestra fórmula. Por ejemplo, si 1 + 2 = 3, (¡espero que

todavía lo haga!), El 3 se colocará automáticamente en esta ubicación de la memoria de destino. Símbolo ADD

Las instrucciones anteriores suelen tener un símbolo que se parece a lo que se muestra arriba. Por supuesto, la palabra
ADD se reemplazará por SUB, MUL, DIV, etc. En este símbolo, la fuente A es DM100, la fuente B es DM101 y el destino
es DM102. Por lo tanto, la fórmula es simplemente cualquier valor que esté en DM100 + cualquier valor que esté en
DM101. El resultado se almacena automáticamente en DM102.

Se muestra arriba cómo usar las funciones matemáticas en un diagrama de escalera. Tenga en cuenta que una vez más
estamos utilizando una instrucción de una sola vez. Como hemos visto antes, esto es porque si no lo usáramos,
ejecutaremos la fórmula en cada escaneo. Las probabilidades son buenas de que solo querríamos ejecutar la función
una vez cuando la entrada 0000 sea verdadera. Si previamente hubiésemos ingresado el número 100 en DM100 y 200

en DM101, el número 300 se almacenaría en DM102 (es decir, 100 + 200 = 300, ¿no?) Símbolo ADD (método
dual)

El método de instrucción dual usaría un símbolo similar al que se muestra arriba. En este método, le damos a este
símbolo solo la ubicación de la Fuente B. La ubicación de la Fuente A está dada por la instrucción LDA. El destino se
incluiría en la instrucción STA.
Se muestra arriba un diagrama de escalera que muestra lo que queremos decir.

Los resultados son los mismos que el método de instrucción único que se muestra arriba.

Haga clic aquí y vea la animación para aprender realmente!

¿Qué pasaría si tuviéramos un resultado que fuera mayor que el valor que podría almacenarse en
una ubicación de memoria?

Normalmente, las ubicaciones de memoria son ubicaciones de 16 bits. (más sobre los tipos de
números en un capítulo posterior) En palabras simples, esto significa que si el número es mayor
que 65535 (2 ^ 16 = 65536) es demasiado grande para caber. Entonces obtenemos lo que se llama
un desbordamiento. Típicamente, el plc enciende un relé interno que nos dice que ha ocurrido un
desbordamiento. Dependiendo del plc, tendríamos diferentes datos en la ubicación de destino.
(DM102 del ejemplo) La mayoría de los PLC ponen el resto aquí.

Algunos usan matemática de 32 bits que resuelve el problema. (¡excepto por números realmente
grandes!) Si hacemos división, por ejemplo, y dividimos por cero (ilegal), el bit de desbordamiento
también se activa normalmente. Baste decir, verifique el bit de desbordamiento en su escalera y si
es cierto, planifique de manera apropiada.

Muchos PLC también incluyen otras capacidades matemáticas. Algunas de estas funciones podrían
incluir:

• Raíces cuadradas

• Escalado

• Valor absoluto

• Sin

• coseno

• Tangente

• Logaritmo natural

• Logaritmo de base 10
• X ^ Y (X a la potencia de Y)

• Arcsine (tan, cos)

• y más ... consulte con el fabricante para estar seguro.

Algunos PLC también pueden usar matemática de punto flotante. La matemática de punto flotante
simplemente usa puntos decimales. En otras palabras, podríamos decir que 10 dividido por 3 es
3.333333 (punto flotante). O podríamos decir que 10 dividido por 3 es 3 con un resto de 1 (división
larga). Muchos micro / mini PLC no incluyen matemática de coma flotante. La mayoría de los
sistemas más grandes normalmente lo hacen.

Comprenda la teoría y siempre podemos aprender cómo lo hace nuestro fabricante de elección.

Sistemas Numéricos
Antes de llegar demasiado lejos de nosotros mismos, echemos un vistazo a los diversos sistemas
numéricos utilizados por los PLC.

Muchos sistemas numéricos son utilizados por los PLC. Los decimales codificados binarios y
binarios son populares, mientras que los sistemas octales y hexadecimales también son comunes.

Veamos cada uno:

Al hacerlo, considere la siguiente fórmula (¡Matemáticas otra vez!):

Nbase = Ddigit * R ^ unidad + .... D1R ^ 1 + D0R ^ 0

donde D = el valor del dígito y R = # de los símbolos de dígitos utilizados en el sistema numérico
dado.

El "*" significa multiplicación. (5 * 10 = 50)

El "^" significa "al poder de".

Como recordará, cualquier número elevado a la potencia de 0 es 1. 10 ^ 1 = 10, 10 ^ 2 es 10x10 =


100, 10 ^ 3 es 10x10x10 = 1000, 10 ^ 4 es 10x10x10x10 = 10000 ...

Esto nos permite convertir de cualquier sistema numérico de nuevo a decimal. ¿Huh? Sigue
leyendo ...

• Decimal: este es el sistema de numeración que usamos en la vida cotidiana. (¡bueno, la mayoría
de nosotros lo hacemos de todos modos!) Podemos pensar en esto como un conteo de base 10. Se
puede llamar como base 10 porque cada dígito puede tener 10 estados diferentes. (es decir, 0-9)
Dado que esto no es fácil de implementar en un sistema electrónico, rara vez, o nunca, se utiliza. Si
utilizamos la fórmula anterior, podemos averiguar cuál es el número 456. De la fórmula:
Nbase = Ddigit * R ^ unidad + .... D1R ^ 1 + D0R ^ 0

tenemos (ya que estamos haciendo base 10, R = 10)

            N10 = D410 ^ 2 + D510 ^ 1 + D610 ^ 0

                = 4 * 100 + 5 * 10 + 6 *

                = 400 + 50 + 6

                = 456.

• Binario: este es el sistema de numeración que usan las computadoras y los PLC. Era mucho más
fácil diseñar un sistema en el que solo se manipulan 2 números (0 y 1) (es decir, se usa).

El sistema binario usa los mismos principios básicos que el sistema decimal. En decimal, teníamos
10 dígitos. (0-9) En binario, solo tenemos 2 dígitos (0 y 1). En decimal, contamos:
0,1,2,3,4,5,6,7,8,9, y en lugar de volver a cero, comenzamos un nuevo dígito y luego comenzamos
desde 0 en la ubicación del dígito original.

En otras palabras, comenzamos colocando un 1 en la ubicación del segundo dígito y comenzamos a


contar de nuevo en la ubicación original como esta 10,11,12,13, ... Cuando de nuevo llegamos a 9,
incrementamos el segundo dígito y comenzamos a contar desde 0 nuevamente en la ubicación del
dígito original. Como 20,21,22,23 ... por supuesto, esto sigue repitiéndose. Y cuando nos quedemos
sin dígitos en la ubicación del segundo dígito, creamos un tercer dígito y nuevamente comenzamos
desde cero (es decir, 99, 100, 101, 102 ...)

Binary funciona de la misma manera. Comenzamos con 0 y luego 1. Como no hay 2 en binario,
debemos crear un nuevo dígito.

Por lo tanto, tenemos 0, 1, 10, 11 y nuevamente nos quedamos sin espacio. Luego creamos otro
dígito como 100, 101, 110, 111. Nuevamente nos quedamos sin espacio así que agregamos otro
dígito ... ¿Entiendes la idea?

La fórmula de conversión general puede aclarar las cosas:

Nbase = Ddigit * R ^ unidad + .... D1R ^ 1 + D0R ^ 0.

Como ahora estamos haciendo binario o base 2, R = 2. Tratemos de convertir el número binario
1101 nuevamente en decimal.

            N10 = D1 * 2 ^ 3 + D1 * 2 ^ 2 + D0 * 2 ^ 1 + D1 * 2 ^ 0
                = 1 * 8 + 1 * 4 + 0 * 2 + 1 * 1

                = 8 + 4 +0 +1

                = 13

(Si no ve de dónde venían el 8,4,2 y el 1, consulte

 a la tabla a continuación).

Ahora podemos ver que el binario 1101 es igual que el decimal 13. Trate de traducir el binario 111.
Debe obtener el decimal 7. Pruebe el binario 10111. Debe obtener el decimal 23.

Aquí hay una tabla binaria simple para referencia. La fila superior muestra potencias de 2, mientras
que la fila inferior muestra su valor decimal equivalente.

Conversiones de números binarios


2^15 2^14 2^13 2^12 2^11 2^10 2^9 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

• Octal: el sistema de números binarios requiere una tonelada de dígitos para representar un número
grande. Considere que el 11111111 binario es solo el decimal 255. ¡Un número decimal como
1,000,000 ("1 millón") necesitaría muchos dígitos binarios! Además, es difícil para los humanos
manipular dichos números sin cometer errores.

Por lo tanto, varios fabricantes de computadoras / PLC comenzaron a implementar el sistema de


número octal.

Este sistema puede considerarse como base8 ya que consta de 8 dígitos. (0,1,2,3,4,5,6,7)

Entonces contamos como 0,1,2,3,4,5,6,7,10,11,12 ... 17,20,21,22 ... 27,30, ...

Usando la fórmula nuevamente, podemos convertir un número octal a decimal bastante fácilmente.

Nbase = Ddigit * R ^ unidad + .... D1R ^ 1 + D0R ^ 0

Así que octal 654 sería: (recuerde que aquí R = 8)

            N10 = D6 * 8 ^ 2 + D5 * 8 ^ 1 + D4 * 8 ^ 0

                = 6 * 64 + 5 * 8 + 4 * 1

                = 384 +40 +4

                = 428
(Si no ve de dónde vienen los blancos 64,8 y 1,

 Consulte la tabla de abajo).

Ahora podemos ver que octal 321 es igual que el decimal 209. Trate de traducir octal 76. Debe
obtener decimal 62. Pruebe octal 100. Debe obtener decimal 64.

Aquí hay un gráfico octal simple para su referencia. La fila superior muestra potencias de 8,
mientras que la fila inferior muestra su valor decimal equivalente.

Octal Number Conversions


8^7 8^6 8^5 8^4 8^3 8^2 8^1 8^0
2097152 262144 32768 4096 512 64 8 1

Por último, el sistema octal es una forma conveniente para nosotros de expresar o escribir números binarios en sistemas
de PLC. Un número binario con una gran cantidad de dígitos se puede escribir convenientemente en forma octal con
menos dígitos. Esto se debe a que 1 dígito octal en realidad representa 3 dígitos binarios.

Créame que cuando comenzamos a trabajar con datos de registro o ubicaciones de direcciones en los capítulos
avanzados, se convierte en una gran forma de expresar datos. El siguiente cuadro muestra a qué nos estamos refiriendo:

Número binario con su equivalente octal

1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1
1 6 2 3 4 5

De la tabla, podemos ver que el código binario 1110010011100101 es el octal 162345. (decimal 58597) Como podemos
ver, cuando pensamos en los registros, es más fácil pensar en octal que en binario. Como pronto verás, el hexadecimal
es la mejor manera de pensar. (De Verdad)

• Hexadecimal: el sistema de números binarios requiere una tonelada de dígitos para representar un número grande. El
sistema octal mejora sobre esto. Sin embargo, el sistema hexadecimal es la mejor solución, porque nos permite usar
incluso menos dígitos. Por lo tanto, es el sistema numérico más popular utilizado con computadoras y PLC. (debemos
aprender cada uno sin embargo)

El sistema hexadecimal también se conoce como base 16 o simplemente simplemente hexadecimal. Como lo implica la
base de nombres 16, tiene 16 dígitos. Los dígitos son

0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F.

Así que contamos como

0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F, 10,11,12,13, ...

1A, 1B, 1C, 1D, 1E, 1F, 20,21 ... 2A, 2B, 2C, 2D, 2E, 2F, 30 ...

Usando nuevamente la fórmula, podemos convertir un número hexadecimal a decimal con bastante facilidad.

Nbase = Ddigit * R ^ unidad + .... D1R ^ 1 + D0R ^ 0

Entonces el hex 6A4 sería: (recuerda aquí que R = 16)


            N10 = D6 * 16 ^ 2 + DA * 16 ^ 1 + D4 * 16 ^ 0

                = 6 * 256 + A (A = decimal10) * 16 + 4 * 1

                = 1536 +160 +4

                = 1700

(Si no ve de dónde proviene el 256,16 y 1,

 Consulte la tabla de abajo)

Ahora podemos ver que el FFF hexadecimal es el mismo que el decimal 4095. Trate de traducir el hexágono 76. Debe
obtener el decimal 118. Pruebe el hexadecimal 100. Debe obtener el decimal 256.

Aquí hay un gráfico hexadecimal simple para referencia. La fila superior muestra potencias de 16, mientras que la fila
inferior muestra su valor decimal equivalente. ¡Fíjate que los números se agrandan bastante rápido!

Conversiones de números hexadecimales

16^8 16^7 16^6 16^5 16^4 16^3 16^2 16^1 16^0


4294967296 268435456 16777216 1048576 65536 4096 256 16 1

Finalmente, el sistema hexadecimal es quizás la forma más conveniente para nosotros de expresar o
escribir números binarios en sistemas de PLC. Un número binario con una gran cantidad de dígitos
se puede escribir convenientemente en forma hexadecimal con menos dígitos que octal. Esto se
debe a que 1 dígito hexadecimal en realidad representa 4 dígitos binarios.

Créame que cuando comenzamos a trabajar con datos de registro o ubicaciones de direcciones en
los capítulos avanzados, se convierte en la mejor forma de expresar datos. El siguiente cuadro
muestra a qué nos estamos refiriendo:

Número binario con su equivalente hexadecimal


0 1 1 1 0 1 0 0 1 0 1 0 0 1 0 1
7 4 A 5

De la tabla, podemos ver que el 0111010010100101 binario es hexadecimal 74A5. (decimal 29861)
Como podemos ver, cuando pensamos en los registros, es mucho más fácil pensar en hex que en
binario u octal.

¡4 dígitos recorren un largo camino después de un poco de práctica!

Matemáticas Booleanas
Echemos un vistazo a algunas simples "matemáticas booleanas". La matemática booleana nos
permite variar algunas funciones básicas con los bits en nuestros registros. Estas funciones básicas
incluyen típicamente funciones AND, OR y XOR. Cada uno se describe a continuación.
• AND- Esta función nos permite usar la tabla de verdad a continuación. Aquí, podemos ver que la
función AND está muy relacionada con la multiplicación. Vemos esto porque la única vez que el
resultado es verdadero (es decir, 1) es cuando ambos operadores A y B son verdaderos (es decir, 1).

La instrucción AND es útil cuando su plc no tiene una función de enmascaramiento. Ah sí, una
función de enmascaramiento permite que un bit en un registro se "deje solo" cuando se trabaja en
un nivel de bit. Esto es simplemente porque cualquier bit que esté alineado con sí mismo seguirá
siendo el valor que tiene actualmente. Por ejemplo, si desea borrar (hacerlos 0) solo 12 bits en un
registro de 16 bits, usted puede Y el registro con 0 en todas partes, excepto en los 4 bits que desea
mantener el estado.

Vea la tabla de verdad a continuación para descubrir a qué nos referimos. (1 Y 1 = 1, 0 AND 0 = 0)

Result = A AND B
A B Result
0 0 0
1 0 0
0 1 0
1 1 1

• OR- Esto funciona en base a la tabla de verdad a continuación. Aquí, podemos ver que la
función OR está muy relacionada con la suma. Vemos esto porque la única vez que el
resultado es verdadero (es decir, 1) es cuando el operador A o B es verdadero (es decir, 1).
Obviamente, cuando ambos son verdaderos, el resultado es verdadero. (Si A o B es
verdadero ...)

Result = A OR B
A B Result
0 0 0
1 0 1
0 1 1
1 1 1

• EXOR: esta función nos permite usar la tabla de verdad a continuación. Aquí, podemos ver
que la función EXOR (XOR) no está relacionada con nada que se me ocurra. Una manera
fácil de recordar los resultados de esta función es pensar que A y B deben ser uno u otro
caso, exclusivamente. ¿Huh?

 En otras palabras, deben ser opuestos el uno del otro. Cuando ambos son iguales (es decir, A
= B), el resultado es falso (es decir, 0).
 Esto a veces es útil cuando quiere comparar bits en 2 registros y resaltar qué bits son
diferentes. También es necesario cuando calculamos algunas sumas de comprobación. Una
suma de comprobación se usa comúnmente como comprobación de errores en algunos
protocolos de comunicación.

Result = A XOR B
A B Result
0 0 0
1 0 1
0 1 1
1 1 0

Las instrucciones de la lógica de escalera se denominan comúnmente AND, ANDA, ANDW, OR, ORA, ORW, XOR,
EORA XORW.

Como vimos con la instrucción MOV, generalmente hay dos métodos comunes utilizados por la mayoría de los
fabricantes de PLC. El primer método incluye una sola instrucción que nos pide algunas piezas clave de
información. Este método generalmente requiere:

• Fuente A: esta es la dirección de la primera pieza de datos que usaremos. En otras palabras, es la ubicación en
memoria de dónde está el A.

• Fuente B: esta es la dirección de la segunda pieza de datos que usaremos. En otras palabras, es la ubicación
en memoria de dónde está B.

• Destino: esta es la dirección donde se colocará el resultado. Por ejemplo, si AYB = 0, el resultado (0) se

colocará automáticamente en esta ubicación de memoria de destino. Y símbolo

Las instrucciones anteriores suelen tener un símbolo que se parece a lo que se muestra aquí. Por supuesto, la
palabra Y sería reemplazada por O o XOR. En este símbolo, la fuente A es DM100, la fuente B es DM101 y el
destino es DM102. Por lo tanto, simplemente hemos creado la ecuación DM100 Y DM101 = DM102. El resultado se
almacena automáticamente en DM102.

Las funciones booleanas en un diagrama de escalera se muestran a continuación.

Tenga en cuenta que una vez más estamos utilizando una instrucción de una sola vez. Como hemos
visto antes, esto se debe a que, si no lo usamos, ejecutaremos las instrucciones en cada escaneo. Las
probabilidades son buenas de que solo querríamos ejecutar la función una vez cuando la entrada
0000 sea verdadera.

  Y símbolo (método de instrucción dual)

El método de instrucción dual usaría un símbolo similar al que se muestra arriba. En este método,
le damos a este símbolo solo la ubicación de la Fuente B. La ubicación de la Fuente A está dada por
la instrucción LDA. El destino se incluiría en la instrucción STA.
A continuación se muestra un diagrama de escalera que muestra lo que se quiere decir:

Los resultados son los mismos que el método de instrucción único que se muestra arriba. Se debe tener en
cuenta que, si bien el símbolo y el diagrama de la escalera de arriba muestran la instrucción AND, también se
puede utilizar OR o EXOR. Simplemente sustituya la palabra "Y" dentro de la instrucción para que sea "OR" o
"EXOR". Los resultados serán los mismos que se muestran en sus respectivas tablas de verdad.

Siempre debemos recordar que la teoría es más importante. Si podemos entender la teoría de por qué las cosas
suceden como lo hacen, podemos usar la plc de cualquier persona. Si nos referimos a la documentación del
fabricante, podemos encontrar los detalles del plc particular que estamos utilizando. Trate de encontrar la teoría
en esa documentación y es posible que se quede corto. Los detalles son insignificantes, mientras que la teoría es
muy significativa.

Entradas de Corriente Contínua


Veamos ahora cómo funcionan los circuitos de entrada de un PLC. Esto nos dará una mejor
comprensión de cómo debemos conectarlos. ¡Pueden pasar cosas malas si los conectamos
incorrectamente!

Normalmente, los módulos de entrada de CC están disponibles y funcionarán con 5, 12, 24 y 48


voltios. Asegúrese de comprar el que se ajuste a sus necesidades en función de los dispositivos de
entrada que utilizará.

Primero veremos cómo funcionan las entradas de CC. Los módulos de entrada de CC nos permiten
conectarles dispositivos tipo transistor PNP (fuente) o NPN (hundimiento). Si estamos usando un
interruptor regular (por ejemplo, alternar o presionar, etc.), normalmente no tenemos que
preocuparnos si lo cableamos como NPN o PNP. Debemos tener en cuenta que la mayoría de los
PLC no nos permiten mezclar dispositivos NPN y PNP en el mismo módulo. Cuando estamos
usando un sensor (foto-ojo, prox, etc.), sin embargo, tenemos que preocuparnos por su
configuración de salida. Siempre verifique si es PNP o NPN. (Consulte con el fabricante cuando no
esté seguro)

La diferencia entre los dos tipos es si la carga (en nuestro caso, el plc es la carga) se cambia a tierra
o voltaje positivo. Un sensor tipo NPN tiene la carga conmutada a tierra mientras que un
dispositivo PNP tiene la carga conmutada a voltaje positivo.
A continuación se muestra cómo son las salidas para los sensores NPN y PNP.

En el sensor NPN, conectamos una salida a la entrada de los PLC y la otra a la tierra de la fuente de
alimentación. Si el sensor no está alimentado con el mismo suministro que el PLC, debemos
conectar ambos motivos juntos. Los sensores NPN son los más utilizados en América del Norte.

Muchos ingenieros dirán que PNP es mejor (es decir, más seguro) porque la carga se cambia a
tierra, pero lo que sea que funcione para usted es lo mejor. Solo recuerda planificar lo peor.

En el sensor PNP conectamos una salida a voltaje positivo y la otra salida a la entrada de PLC. Si el
sensor no recibe alimentación del mismo suministro que el PLC, debemos conectar ambos V +

juntos. Los sensores PNP son los más comúnmente utilizados en Europa.

Dentro del sensor, el transistor solo actúa como un interruptor. El circuito interno de los sensores le
indica al transistor de salida que se encienda cuando hay un objetivo presente. El transistor luego
cierra el circuito entre las 2 conexiones que se muestran arriba. (Entrada V + y plc).

Las únicas cosas accesibles para el usuario son los terminales denominados COMMON, INPUT 0000, INPUT
0001, INPUTxxxx ... El terminal común se conecta a V + o a tierra. Donde está conectado depende del tipo de
sensor utilizado. Cuando se utiliza un sensor NPN, este terminal está conectado a V +. Cuando se usa un sensor
PNP, este terminal está conectado a 0V (tierra).
Un interruptor común (es decir, interruptor de límite, pulsador, palanca, etc.) se conectaría a las entradas de una
manera similar. Un lado del interruptor estaría conectado directamente a V +. El otro extremo va al terminal de
entrada plc. Esto supone que el terminal común está conectado a 0V (tierra). Si el común está conectado a V +,
simplemente conecte un extremo del interruptor a 0V (tierra) y el otro extremo al terminal de entrada plc.

Los fotoacopladores se usan para aislar el circuito interno del PLC de las entradas. Esto elimina la posibilidad
de que el ruido eléctrico entre en el circuito interno. Funcionan convirtiendo la señal de entrada eléctrica a luz y
luego volviendo a convertir la luz en una señal eléctrica para ser procesada por el circuito interno.

Entradas de Corriente Alterna


Ahora que entendemos cómo funcionan las entradas de CC, echemos un vistazo de cerca a las entradas de CA.
Un voltaje de CA no es polarizado. En pocas palabras, esto significa que no hay nada positivo o negativo de
"preocuparse". Sin embargo, el voltaje de CA puede ser bastante peligroso para trabajar si somos descuidados.
(¿Recuerdas cuando metiste el cuchillo en la tostadora y recibiste un golpe? Tenga cuidado) Normalmente, hay
módulos de entrada de CA disponibles que funcionarán con 24, 48, 110 y 220 voltios. Asegúrese de comprar el
que se ajuste a sus necesidades en función de los dispositivos de entrada (voltaje) que utilizará.

OUCH ... ¡¡cuidado !!

Los módulos de entrada de CA son menos comunes hoy en día que los módulos de entrada de CC. La razón es
que los sensores actuales suelen tener salidas de transistor. Un transistor no funcionará con un voltaje de CA.
Más comúnmente, el voltaje de CA se conmuta a través de un interruptor de límite u otro tipo de interruptor. Si su
aplicación está utilizando un sensor, probablemente esté funcionando con un voltaje de CC

Normalmente conectamos un dispositivo de CA a nuestro módulo de entrada como se muestra


arriba. Comúnmente, el cable "caliente" de CA está conectado al interruptor mientras que el
"neutro" va al común del PLC. La tierra de CA (3er cable donde corresponda) se debe conectar al
terminal de tierra del cuadro de la PLC. (No se muestra) Como es cierto con CC, las conexiones de
CA generalmente están codificadas por colores para que el cableado individual del dispositivo sepa
qué cable es cuál. Esta codificación varía de un país a otro, pero en los EE. UU. Suele ser blanca
(neutra), negra (caliente) y verde (tercera tierra de cable cuando corresponda). Fuera de los EE.
UU. Se codifica comúnmente como marrón (caliente), azul (neutral) y verde con una franja
amarilla (3er cable de tierra, donde corresponda).El circuito del módulo de entrada de CA de los

PLC suele tener este aspecto:

Las únicas cosas accesibles para el usuario son los terminales etiquetados COMMON, INPUT 0000,
INPUTxxxx ... El terminal común se conecta al cable neutro.

Un interruptor común (es decir, interruptor de límite, pulsador, palanca, etc.) se conectaría directamente a los
terminales de entrada. Un lado del interruptor se conectaría directamente a INPUT XXX. El otro extremo va al
cable caliente de CA. Esto supone que el terminal común está conectado a neutral. Siempre revise las
especificaciones del fabricante antes del cableado, para estar seguro Y SEGURO.

Los fotoacopladores se usan para aislar el circuito interno del PLC de las entradas. Esto elimina la posibilidad
de que el ruido eléctrico entre en el circuito interno. Funcionan convirtiendo la señal de entrada eléctrica a luz y
luego volviendo a convertir la luz en una señal eléctrica para ser procesada por el circuito interno.

Una última nota, por lo general, una entrada de CA lleva más tiempo que una entrada de DC para que la vea el
PLC. En la mayoría de los casos, no le importa al programador porque un dispositivo de entrada CA es
típicamente un interruptor mecánico y los dispositivos mecánicos son lentos. Es bastante común que un plc
requiera que la entrada esté activada durante 25 o más milisegundos antes de que se vea. Este retraso es
necesario debido al filtrado que necesita el circuito interno de PLC. Recuerde que el circuito interno de PLC
normalmente funciona con 5 o menos voltios de CC.

Salidas de Relé
Por ahora deberíamos tener una buena comprensión de cómo se usan las entradas. El siguiente es
los circuitos de salida.

Uno de los tipos más comunes de salidas disponibles es la salida de relé. Un relevador se puede
usar con cargas de CA y CC. Una carga es simplemente una palabra elegante para lo que está
conectado a nuestras salidas. Lo llamamos carga porque estamos "cargando la salida" con algo. Si
conectamos sin carga a la salida (es decir, simplemente lo conectamos directamente a una fuente de
alimentación), sin duda dañaríamos las salidas. Esto sería similar a reemplazar la bombilla en la
lámpara que está usando para leer esto con un trozo de cable. Si hicieras esto, la lámpara
consumiría una gran cantidad de corriente de la toma de corriente y, por supuesto, abriría tu
disyuntor o tu fusible o tu cerebro. (Tome nuestra palabra. ¡Por favor no lo intente!
¡Extremadamente peligroso!)

Algunas formas comunes de carga son un solenoide, una lámpara, un motor, etc. Estas "cargas"
vienen en todos los tamaños. Tamaños eléctricos, eso es. Siempre verifique las especificaciones de
su carga antes de conectarla a la salida de plc. Siempre quiere asegurarse de que la corriente
máxima que consumirá esté dentro de las especificaciones de la salida de plc. Si no está dentro de
las especificaciones (es decir, consume demasiada corriente), es probable que dañe la salida. En
caso de duda, verifique con el fabricante para ver si se puede conectar sin daño potencial.

Algunos tipos de cargas son muy engañosas. Estas cargas engañosas se llaman "cargas inductivas".
Estos tienen una tendencia a entregar una "corriente inversa" cuando se encienden. Esta corriente
inversa es como un pico de voltaje que pasa por el sistema.

Un buen ejemplo de carga inductiva que la mayoría de nosotros ve aproximadamente 6 meses al


año es una unidad de aire acondicionado. Quizás en su casa tenga un aire acondicionado. (¡a menos
que vivas en el ártico, probablemente lo hagas!) ¿Alguna vez te has dado cuenta de que cuando el
acondicionador de aire "se pone en marcha" las luces se atenúan durante uno o dos segundos.
Luego vuelven a su brillo normal. Esto se debe a que cuando el acondicionador de aire se enciende
trata de atraer mucha corriente a través de su sistema de cableado. Después de esta "patada" inicial,
requiere menos corriente y las luces vuelven a la normalidad. Esto podría ser peligroso para los
relés de salida de su PLC. Se puede estimar que esta patada es aproximadamente 30 veces la
corriente nominal de la carga. Normalmente, un diodo, un varistor u otro circuito de
"amortiguador" debe usarse para ayudar a combatir cualquier daño al relé. Basta de charla. Veamos

cómo podemos usar estos productos en el "mundo real de los PLC".

Se muestra arriba es un método típico de conectar nuestras salidas a los relés de PLC. Aunque
nuestro diagrama muestra la salida conectada a una fuente de CA, DC también se puede usar. Un
relé no está polarizado y, por lo general, puede cambiar de CA o CC. Aquí, el común está
conectado a un extremo de nuestra fuente de alimentación y el otro extremo del suministro está
conectado a la carga. La otra mitad de nuestra carga se conecta a la salida de plc real que ha

designado dentro de su programa de escalera.

El relevo es interno a la plc. Su diagrama de circuito típicamente se ve como el que se muestra arriba. Cuando
nuestro diagrama de escalera le dice a la salida que se encienda, el plc aplicará internamente un voltaje a la
bobina del relé. Este voltaje permitirá que se cierre el contacto apropiado. Cuando el contacto se cierra, se
permite que una corriente externa fluya a través de nuestro circuito externo. Cuando el diagrama de escalera le
dice al plc que apague la salida, simplemente eliminará la tensión del circuito interno, permitiendo así que se
libere el contacto de salida. Nuestra carga tendrá un circuito abierto y por lo tanto estará apagado. Simple, ¿no
es así?

Salidas de Transistor
El siguiente tipo de salida que deberíamos aprender es nuestra salida de tipo transistor. Es
importante tener en cuenta que un transistor solo puede conmutar una corriente continua. Por esta
razón, no se puede usar con un voltaje de CA.

Podemos pensar en un transistor como un interruptor de estado sólido. O simplemente, un


interruptor eléctrico. Una pequeña corriente aplicada a la "base" de los transistores (es decir,
entrada) nos permite cambiar una corriente mucho mayor a través de su salida. El plc aplica una
pequeña corriente a la base del transistor y la salida del transistor se "cierra". Cuando está cerrado,
el dispositivo conectado a la salida de plc se encenderá. Lo anterior es una explicación muy simple
de un transistor. Por supuesto, hay más detalles involucrados, pero no necesitamos profundizar
demasiado.

También debemos tener en cuenta que, como vimos anteriormente con los circuitos de entrada,
generalmente hay más de un tipo de transistor disponible. Típicamente, un plc tendrá salidas de tipo
NPN o PNP. El tipo de transistor "físico" utilizado también varía de un fabricante a otro. Algunos
de los tipos comunes disponibles son BJT y MOSFET. Un tipo BJT (Transistor de unión bipolar) a
menudo tiene menos capacidad de conmutación (es decir, puede conmutar menos corriente) que un
tipo MOS-FET (Semiconductor de óxido metálico-Transistor de efecto de campo). El BJT también
tiene un tiempo de conmutación ligeramente más rápido. Una vez más, verifique las
especificaciones de salida de la plc particular que va a utilizar. Nunca exceda la corriente de

conmutación máxima del fabricante.

A continuación, se muestra cómo conectamos nuestro dispositivo de salida a la salida del transistor.
Tenga en cuenta que este es un transistor de tipo NPN. Si fuera un tipo PNP, el terminal común
probablemente estaría conectado a V + y V- se conectaría a un extremo de nuestra carga. Tenga en
cuenta que, dado que se trata de una salida de tipo DC, siempre debemos observar la polaridad
adecuada para la salida. Un extremo de la carga está conectado directamente a V + como se
muestra arriba.

Tomemos un momento y veamos qué sucede dentro del circuito de salida. A continuación se
muestra un diagrama de circuito de salida típico para una salida de tipo NPN.

Tenga en cuenta que, como vimos con las entradas de


tipo transistor, hay un fotoacoplador que aísla el "mundo real" del circuito interno. Cuando el
diagrama de escalera lo requiere, el circuito interno enciende el fotocluctor aplicando un pequeño
voltaje al lado del LED del fotoacoplador. Esto hace que el LED emita luz y la parte receptora del
fotoacoplador lo verá y permitirá que fluya la corriente. Esta pequeña corriente encenderá la base
del transistor de salida conectado a la salida 0500. Por lo tanto, todo lo que esté conectado entre
COM y 0500 se encenderá. Cuando la escalera le ordena a la 0500 que se apague, el LED dejará de
emitir luz y, por lo tanto, el transistor de salida conectado entre 0500 y COM se apagará.

Otra cosa importante a tener en cuenta es que un transistor normalmente no puede conmutar una
carga tan grande como un relé. Verifique las especificaciones del fabricante para encontrar la carga
más grande que pueda cambiar con seguridad. Si la corriente de carga que necesita para cambiar
excede la especificación de la salida, puede conectar la salida de PLC a un relé externo. Luego,
conecte el relé a la carga grande. Usted puede estar pensando, "¿por qué no usar un relevo en
primer lugar"? La respuesta es porque un relevo no siempre es la elección correcta para cada salida.
Un transistor le brinda la oportunidad de usar relevadores externos cuando y solo cuando sea
necesario.

En resumen, un transistor es rápido, conmuta una corriente pequeña, tiene una larga vida útil y
funciona solo con CC. Mientras que un relé es lento, puede conmutar una gran corriente, tiene una
vida útil más corta y funciona con CA o CC. Seleccione el apropiado según sus necesidades reales
de aplicación.

Historia de Comunicaciones
De lejos, el método más popular de comunicación con dispositivos externos es mediante el uso del
método de comunicación "RS-232". Muchos programadores de PLC consideran que la
comunicación con dispositivos externos es difícil, si no "imposible de entender". ¡Está léjos de la
verdad! No es "arte negro", "brujería" o "ciencia extraña". Sigue leyendo ...

Todos los sistemas de comunicación de PLC tienen sus raíces en el antiguo telégrafo que pudimos
haber visto en las películas antiguas. (¿Recuerdas al tipo que trabajaba en la estación de tren con el
brazo y el visor de plástico?) Los primeros intentos de comunicarse electrónicamente a largas
distancias comenzaron ya a fines del siglo XVIII. En 1810, un hombre alemán (von Soemmering)
estaba utilizando un dispositivo con 26 cables (1 por cada letra del alfabeto) unido al fondo de un
acuario. Cuando la corriente pasaba a través de los cables, la acción electrolítica producía pequeñas
burbujas. Al elegir los cables adecuados para energizar, pudo enviar mensajes codificados "a través
de burbujas". (Es cierto ... realmente) Esto llamó la atención de los militares y la carrera para
encontrar un sistema estaba en marcha.

En 1839, 2 ingleses, Cooke y Wheatstone, tenían un telégrafo de 13 millas en uso por un ferrocarril
británico. Su dispositivo tenía 5 cables que alimentaban pequeños electroimanes que desviaban
agujas de baja masa. Al aplicar la corriente a diferentes combinaciones de 2 alambres a la vez, las
agujas se desviaron para que señalaran las letras del alfabeto dispuestas en una matriz. Este código
"2 de 5" solo permitía 20 combinaciones, por lo que se omitieron las letras "z, v, u, q, j y c". Este
telégrafo era un gran paso para la época, pero el código no era binario (activado / desactivado) sino

que era trinario (la aguja se movía hacia la izquierda, derecha o no).

El mayor problema con estos dispositivos fue el hecho de que eran paralelos (se requieren múltiples
cables). Cooke y Wheatstone finalmente hicieron un dispositivo de dos hilos, pero el primer
sistema binario completamente serial práctico generalmente se acredita a S.F.B. Morse. En el
código Morse, los caracteres están simbolizados por puntos y guiones (binarios-1 y 0). El primer
sistema de Morse no es como lo vemos hoy en las películas. (Está en exhibición en el Smithsonian
en DC si quieres verlo) En realidad tenía una aguja en contacto con un tambor de papel giratorio
que marcaba continuamente. Al energizar un electroimán, la aguja "rebota" lejos del papel creando
un espacio. Muy pronto los operadores de telégrafos notaron que no tenían que mirar el papel para
leer el código, pero podían interpretar el código por el sonido que hacía la aguja cuando rascaban el
papel. Así que este dispositivo fue reemplazado por una sonda que producía sonidos de clic en
lugar de grabados en papel. Teleprinters llegó más tarde, y los dispositivos de comunicación en
serie de hoy están más estrechamente relacionados con ellos. El resto es historia ... extinta, ¡pero la
historia de todos modos!

A propósito, los términos MARCA y ESPACIO (los veremos más adelante) se originaron del
dispositivo original de Morse. Cuando la aguja entró en contacto con el papel, lo llamamos
MARCA y, cuando la aguja rebotó, se denominó ESPACIO. Su dispositivo solo produjo letras
MAYÚSCULAS, lo que no fue un gran problema. Además, el hundimiento del Titanic
"estandarizó" el código de "SOS" que significa "Salvemos nuestro barco" o si alguna vez estuvo en
el ejército de los EE. UU. Lo mejor es que lo conozca mejor como "S *% $ en una teja", que estaba
descascarado pan de molde.

Comunicaciones RS-232 (hardware)


Las comunicaciones RS-232 son el método más popular de comunicaciones de dispositivos
externos a PLC. Vamos a abordarlo pieza por pieza para ver qué tan simple puede ser cuando lo
entendemos.

RS-232 es una función asíncrona (una banda de marcha debe estar "sincronizada" entre sí, de modo
que cuando se avanza paso a paso, son asíncronos, ya que siguen el método del líder de la banda
para mantener su sincronización). Usamos un sistema binario (1's y 0's) para transmitir nuestros
datos en el formato ASCII. (Código Estándar Estadounidense para el Intercambio de Información -
ASS-KEY pronunciado) Este código traduce el código legible por el ser humano (letras / números)
en un código "legible por computadora" (1 y 0). Nuestro puerto serie de plcs se usa para
transmisión / recepción de datos. Funciona al enviar / recibir un voltaje. Un voltaje positivo se
llama MARCA y un voltaje negativo se llama ESPACIO. Típicamente, el PLC funciona con +/- 15
voltios. El voltaje entre +/- 3 voltios generalmente no se usa y se considera ruido.

Hay 2 tipos de dispositivos RS-232. El primero se llama dispositivo DTE. Esto significa Data
Terminal Equipment y un ejemplo común es una computadora. El otro tipo se llama dispositivo
DCE. DCE significa Equipo de comunicación de datos y un ejemplo común es un módem. Su plc
puede ser un dispositivo DTE o DCE. Verifica tu documentación.

El puerto serie de plc funciona al encender algunos pines mientras apaga los demás. Estos pines
están dedicados a un propósito específico. El puerto serie viene en 2 sabores: un tipo de 25 pines y
uno de 9 pines. Los pines y sus propósitos se muestran a continuación. (Este cuadro asume que su
plc es un dispositivo DTE)

9-PIN 25-PIN PURPOSE


tierra del marco
1 1
recibir datos (RD)
2 3
transmitir datos (TD)
3 2
terminal de datos listo (DTR)
4 20
tierra de señal
5 7
conjunto de datos listo (DSR)
6 6
solicitud para enviar (RTS)
7 4
claro para enviar (CTS)
8 5
indicador de timbre (RI) * solo para módems *
9 22

Cada pines tiene un propósito en detalle:

• tierra del cuadro: este pin debe estar conectado internamente al chasis del dispositivo.

• recibir datos: este pin es donde los datos del dispositivo externo ingresan al puerto serie de plc.

• transmitir datos: este pin es donde los datos del puerto serie plc dejan el camino en línea hacia el
dispositivo externo.

• terminal de datos listo- Este pin es un control maestro para el dispositivo externo. Cuando este pin
es 1, el dispositivo externo no transmitirá ni recibirá datos.

• tierra de la señal: como los datos se envían como voltaje + o -, este pin es la tierra a la que se hace
referencia.

• conjunto de datos listo: generalmente los dispositivos externos tienen este pin como permanente 0
y el plc básicamente lo usa para determinar que el dispositivo externo está encendido y listo.

• solicitud para enviar: esto es parte del apretón de manos del hardware. Cuando el plc desea enviar
datos al dispositivo externo, establece este pin en 0. En otras palabras, establece el pin en un 0 y
básicamente dice "Quiero enviarte datos. ¿Está bien?" El dispositivo externo dice que está bien
enviar datos configurando su borrado para enviar el pin a 0. El PLC envía los datos.

• claro para enviar: esta es la otra mitad del apretón de manos de hardware. Como se indicó
anteriormente, el dispositivo externo establece este pin en 0 cuando está listo para recibir datos del
plc.

• Indicador de anillo: solo se usa cuando el PLC está conectado a un módem.


¿Qué sucede cuando su plc y dispositivo externo son dispositivos DTE (o ambos DCE)? No pueden
hablar entre ellos, eso es lo que sucede. La siguiente imagen muestra por qué 2 dispositivos del

mismo tipo no pueden comunicarse entre sí.

Observe que en la imagen anterior, la línea de datos de recepción (pin2) del primer dispositivo está
conectada a la línea de datos de recepción del segundo dispositivo. Y la línea de datos de
transmisión (pin3) del primer dispositivo está conectada a los datos de transmisión del segundo
dispositivo. Es como hablar por un teléfono con los cables invertidos. (es decir, su boquilla está
conectada directamente a la boquilla de las otras partes y su pieza para la oreja está conectada
directamente al auricular de la otra parte). ¡Obviamente, esto no funcionará bien!

La solución es usar una conexión null-modem como se muestra a continuación. Esto generalmente
se hace usando un cable inverso (módem nulo) para conectar los dispositivos.

Para resumir todo, aquí hay una sesión de comunicaciones típica. Ambos dispositivos están
encendidos. El plc es DTE y el dispositivo externo es DCE.

El dispositivo externo enciende DSR, que le dice al plc que está encendido y "allí". El PLC
enciende RTS, que es como preguntar al dispositivo externo "¿estás listo para recibir algunos
datos?" El dispositivo externo responde al encender su CTS que dice que está bien para que el PLC
envíe datos. El PLC envía los datos en su terminal TD y el dispositivo externo lo recibe en su
terminal RD. Algunos datos son enviados y recibidos. Después de un tiempo, el dispositivo externo
no puede procesar los datos lo suficientemente rápido. Entonces, apaga su terminal CTS y el plc
pausa el envío de datos. El dispositivo externo se activa y luego vuelve a encender su terminal
CTS. El plc nuevamente comienza a enviar datos en su terminal TD y el dispositivo externo lo
recibe en su terminal RD. El PLC se queda sin datos para enviar y apaga su terminal RTS. El
dispositivo externo se sienta y espera más datos.

Comunicaciones RS-232 (software)


 Ahora que entendemos la parte de hardware de la imagen, vamos a sumergirnos en la parte
del software. Veremos cada parte del rompecabezas definiendo algunos de los términos
comunes. ¿Alguna vez se preguntó qué significaban frases como 9600-8-N-1?
 ¿Utiliza el protocolo de enlace de software o el apretón de manos de hardware en las fiestas
formales para un saludo? Si no estás seguro, ¡sigue leyendo!

 • ASCII es un código de traducción legible por computadora y legible por humanos. (es
decir, cada letra / número se traduce a 1 y 0) Es un código de 7 bits (un bit es 1 o un 0), por
lo que podemos traducir 128 caracteres. (2 ^ 7 es 128) Los juegos de caracteres que usan el
octavo bit sí existen, pero no son verdaderos ASCII. A continuación se muestra un gráfico
ASCII que muestra su representación "humanamente legible". Por lo general, nos referimos
a los caracteres mediante el uso de terminología hexadecimal. "0" es 30h, "5" es 35h, "E" es
45h, etc. (la "h" simple significa hexadecimal)

most significant bits


0 1 2 3 4 5 6 7
0 space 0 @ P ` p
1 XON ! 1 A Q a q
2 STX " 2 B R b r
3 ETX XOFF # 3 C S c s
4 $ 4 D T d t
5 NAK % 5 E U e u
menos 6 ACK & 6 F V f v
Sig. 7 ' 7 G W g w
bits 8 ( 8 H X h x
9 ) 9 I Y i y
A LF * : J Z j z
B + ; K [ k {
C , < L \ l |
D CR - = M ] m }
E . > N ^ n ~
F / ? O _ o

• bit de inicio: en RS-232, lo primero que enviamos se llama bit de inicio. Este bit de inicio
("inventado" durante WW1 por Kleinschmidt) es un bit de sincronización agregado justo antes de
cada personaje que estamos enviando. Esto se considera un ESPACIO o voltaje negativo o un 0.

• bit de parada: lo último que enviamos se llama bit de parada. Este bit de parada nos dice que el
último personaje acaba de ser enviado. Piense en ello como un bit de fin de personaje. Esto se
considera un MARK o voltaje positivo o un 1. Los bits de inicio y parada se conocen comúnmente
como bits de encuadre porque rodean al personaje que estamos enviando.

• bit de paridad- Dado que la mayoría de los plcs / equipos externos están orientados por byte (8
bits = 1 byte), parece natural manejar los datos como un byte. Aunque ASCII es un código de 7
bits, rara vez se transmite de esa manera. Normalmente, el octavo bit se usa como un bit de paridad
para la comprobación de errores. Este método de comprobación de errores recibe su nombre de la
idea matemática de la paridad. (¿recuerdan la propiedad impar-par de los enteros? No lo creo). En
términos simples, la paridad significa que todos los personajes tendrán un número impar de 1 o un
número par de 1.

Las formas comunes de paridad son None, Even y Odd. (Mark y Space no son muy comunes, así
que no los discutiré). Considera estos ejemplos:
envíe "E" (45h o 1000101b (inary))

En paridad de Ninguno, el bit de paridad siempre es 0, por lo que enviamos 10001010.

En paridad de Even, debemos tener un número par de 1 en nuestro carácter total, por lo que el
carácter original actualmente tiene 3 1 (1000101), por lo tanto, nuestro bit de paridad que
agregaremos debe ser 1. (10001011) Ahora tenemos un número par de 1 .

En la paridad impar, necesitamos un número impar de 1. Dado que nuestro personaje original ya
tiene un número impar de 1 (3 es un número impar, ¿verdad?), Nuestro bit de paridad será 0.
(10001010)

Durante la transmisión, el emisor calcula el bit de paridad y lo envía. El receptor calcula la paridad
para el carácter de 7 bits y compara el resultado con el bit de paridad recibido. Si los bits de paridad
reales y calculados no coinciden, se produjo un error y actuamos de forma adecuada.

Es extraño que este método de paridad sea tan popular. La razón es porque solo es efectivo la mitad
del tiempo. Es decir, la comprobación de paridad solo puede encontrar errores que afectan a un
número impar de bits. Si el error afectó a 2, 4 o 6 bits, el método es inútil. Por lo general, los
errores son causados por ruido que entra en ráfagas y rara vez afecta a 1 bit. Las comprobaciones
de redundancia de bloque se utilizan en otros métodos de comunicación para evitar esto.

• Velocidad en baudios: perpetuaré el significado incorrecto ya que se usa de forma incorrecta.


Piense en la velocidad en baudios como en referencia a la cantidad de bits por segundo que se
transmiten. Entonces 1200 significa que se están enviando 1200 bits por segundo y 9600 significa
que se están transmitiendo 9600 bits por segundo. Los valores comunes (velocidades) son 1200,
2400, 4800, 9600, 19200 y 38400.

• Formato de datos RS232 (bits de datos de velocidad en baudios, bits de parada de paridad) Esta es
la forma en que normalmente se especifica el formato de datos. Por ejemplo, 9600-8-N-1 significa
una velocidad en baudios de 9600, 8 bits de datos, paridad de Ninguno y 1 bit de parada.

La siguiente imagen muestra cómo los datos abandonan el puerto serie para el carácter "E" (45h

100 0101b) y Paridad par.

Otra cosa importante que a veces se utiliza se llama apretón de manos del software (control de
flujo). Al igual que el protocolo de enlace de hardware que vimos en el capítulo anterior, el
protocolo de enlace del software se utiliza para garantizar que ambos dispositivos estén listos para
enviar / recibir datos. El "control de flujo de caracteres" más popular se llama XON / XOFF. Es
muy simple de entender En pocas palabras, el receptor envía el carácter XOFF cuando quiere que el
transmisor pause el envío de datos. Cuando esté listo para recibir datos nuevamente, envía al
transmisor el carácter XON. XOFF a veces se denomina carácter de retención y XON como
carácter de liberación.
Lo último que debemos saber es delimitadores. Un delimitador simplemente se agrega al final de
un mensaje para decirle al receptor que procese los datos que ha recibido. El más común es el CR o
el par CR y LF. El CR (retorno de carro) es como las máquinas de escribir antiguas. (¿los
recuerdas?) Cuando alcanzaste el final de una línea mientras escribes, sonaría una campana. A
continuación, agarraría el asa y movería el carro de nuevo al inicio. En otras palabras, devolviste el
carruaje al principio. (Esto es lo mismo que un delimitador de CR si lo visualiza en la pantalla de
una computadora.) El dispositivo plc / externo lo recibe y sabe tomar los datos de su búfer. (donde
los datos se almacenan temporalmente antes de ser procesados) A veces también se envía un LF
(avance de línea) con el carácter CR. Si se ve en la pantalla de una computadora, esto se vería como
lo que sucede en la máquina de escribir cuando se devuelve el carro y la página se mueve hacia
abajo para que no escriba lo que acaba de escribir.

A veces, un par de STX y ETX también se utiliza para la transmisión / recepción. STX es "inicio de
texto" y ETX es "fin de texto". El STX se envía antes de los datos y le dice al dispositivo externo
que los datos están llegando. Una vez que se han enviado todos los datos, se envía un carácter ETX.

Finalmente, también podríamos encontrar un par de ACK / NAK. Esto rara vez se usa, pero
también debe tenerse en cuenta. Esencialmente, el transmisor envía sus datos. Si el receptor lo
recibe sin error, devuelve un carácter ACK. Si hubo un error, el receptor devuelve un carácter NAK
y el transmisor reenvía los datos.

RS-232 tiene mucha información para absorber, así que no dude en volver a leerla. No es tan difícil
si te tomas tu tiempo y piensas en cada paso. ¡Otros métodos de comunicación se vuelven más
fáciles!

Usando RS-232 con Ladder Logic


Ahora que entendemos lo que significa RS-232, veamos cómo usarlo con nuestro plc.

Deberíamos comenzar como siempre, recordando que un plc es un plc es un plc ... En otras
palabras, primero comprenda la teoría y luego descubra cómo nuestro fabricante de elección "lo
hace funcionar". Algunos fabricantes incluyen la capacidad de comunicación RS-232 en el
procesador principal. Algunos usan el "puerto de programación" para esto. Otros requieren que
compre (es decir, gaste $ extra) un módulo para "hablar con RS-232" con un dispositivo externo.

¿Qué es un dispositivo externo, quizás estás preguntando? La respuesta es difícil porque hay tantos
dispositivos externos. Puede ser una interfaz de operador, una computadora externa, un controlador
de motor, un robot, un sistema de visión, un ... ¿entiendes?

Para comunicarse a través de RS-232 tenemos que configurar algunas cosas. Pregúntate a ti mismo
las siguientes preguntas:

• ¿Dónde, en la memoria de datos, almacenaremos los datos que se enviarán? Básicamente,


tenemos que almacenar los datos que enviaremos ... en algún lugar. ¿Dónde más sino en nuestra
memoria de datos?
• ¿Dónde, en la memoria de datos, pondremos los datos que recibimos del dispositivo externo?

• ¿Cómo le diremos al plc cuándo es el momento de enviar nuestros datos (los datos que
almacenamos en la memoria de datos) fuera del puerto serie?

• ¿Cómo sabremos cuándo hemos recibido datos de nuestro dispositivo externo?

Si sabes lo anterior, entonces el resto es fácil. Si no sabes lo anterior, entonces inventa algo y ahora
el resto es fácil. Huh ??? Simple, elija un área de memoria con la que trabajar y descubra si
podemos elegir los relés internos que se usarán para enviar y recibir datos, o si el PLC tiene los que
están dedicados a este fin. Suena demasiado simple? (¡De ninguna manera, es simple!)

Antes de hacerlo, eliminemos algunos términos más técnicos para estar en el mismo campo de
juego.

• Buffer- Un buffer es una palabra técnica sofisticada que significa una bolsa de plástico. En otras
palabras, es una ubicación de almacenamiento temporal donde el PLC o dispositivo externo
almacena los datos que ha recibido (o que está esperando enviar) a través de RS-232. Cuando voy
al supermercado a comprar mis cenas de televisión favoritas, las llevo a casa en una bolsa de
plástico. La bolsa de plástico no es un lugar permanente para mi comida (¿las cenas de televisión
son realmente comida?) Sino un lugar de almacenamiento temporal para ellas hasta que llegue a
casa. Cuando llego a casa, los saco de la bolsa y los cocino. El supermercado era el dispositivo
externo donde obtuve los datos (cenas de televisión) y mi microondas es el plc. La bolsa de plástico
era el búfer (lugar de almacenamiento temporal) que contenía mis datos (cena de televisión) hasta
que los saqué para usar (es decir, cocinar).

• Cadena: una cuerda es una forma genial de decir "un grupo de personajes". La palabra "hola" es
una cadena. Es un grupo de personajes (es decir, h-e-l-l-o) que están conectados (encadenados) para
significar algo útil. "43770" es también una cadena. Aunque no tiene sentido para nosotros, puede
significar algo valioso para su PLC o dispositivo externo. Podría ser un comando que le dice a su
robot que envíe sus coordenadas actuales. (o podría ser simplemente la palabra "hola" al revés)

• Concatenar: esta palabra es un bocazas. En pocas palabras, significa combinar 2 cuerdas para
formar una cuerda. Un ejemplo es combinar las 2 cuerdas "láser" y "chorro" juntas para hacer una
cuerda ... "laserjet".

Con el mumbo-jumbo fuera del camino, veámoslo en acción. De nuevo, las ubicaciones de
memoria y los relés varían según el fabricante, pero la teoría es universal.

1. Asignamos las ubicaciones de memoria DM100 a DM102 para ubicar nuestros datos antes de
enviarlos al puerto serie. Nota: Muchos plcs tienen áreas de memoria dedicadas para esto y solo
para este propósito.

2. Asignaremos el relé interno 1000 para que sea nuestro relevo de envío. En otras palabras, cuando
activamos 1000, plc enviará los datos en DM100-DM102 fuera del puerto serie a nuestro
dispositivo externo. Nota de nuevo: muchos plcs tienen relés dedicados (relés especiales de
servicio) para esto y solo para este propósito. ¡Es genial cuando el fabricante nos hace la vida más
fácil!

Enviaremos la cadena "alr" fuera del puerto serie plc a la interfaz del operador cuando se encienda
nuestra entrada del sensor de temperatura. Esto significa que nuestro horno se ha calentado
demasiado. Cuando la interfaz del operador recibe esta cadena, mostrará un mensaje de alarma para
que el operador la vea. Mira hacia atrás en el gráfico ASCII y verás que "alr" es hexadecimal 61,
6C, 72. (a = 61, l = 6C, r = 72) Escribiremos estos caracteres ASCII (en forma hexadecimal) en el
ubicaciones de memoria de datos individuales. Usaremos DM100-102. ¿Cómo? Recuerde la
instrucción LDA o MOV? Activaremos nuestro relevo de envío (1000) cuando nuestro sensor de

temperatura (0000) se encienda. La escalera se muestra a continuación.

Es posible que algunos plcs no tengan relés internos dedicados que envíen nuestros datos a través
del puerto RS-232. Es posible que tengamos que asignarlos manualmente. Además, algunos plcs
tendrán instrucciones especiales para decirnos dónde se almacenan los datos y cuándo enviar los
datos. Esta instrucción se llama comúnmente AWT (escritura ASCII) o RS. La teoría es siempre la
misma sin embargo. Coloque los datos en una ubicación de memoria y luego encienda un relevador
para enviar los datos.

Enlaces de Fabricantes
Aquí hay algunos enlaces a todos los sitios de fabricantes de PLC que podemos pensar / encontrar. Si alguien sabe de
algunos otros que perdimos, no dude en enviarnos un correo electrónico. * NOTA: dado que se trata de un sitio no
sesgado, se dará cuenta de que están en orden alfabético.

The PLCopen(IEC 61131-3)

ABB/Elsag Bailey/Alfa Laval


Alfa Laval/ABB/Elsag Bailey
Allen-Bradley
ALSTOM/Cegelec
Aromat/Matsushita 
Array Electronics 
AutomationDirect/PLC Direct/Koyo/
B&R Industrial Automation
Bachmann
Beck Electronic/Festo
Beckhoff
Berthel gmbh
Bosch
Bristol Babcock
Cegelec/ALSTOM
CNI
Control Microsystems
Crouzet Automatismes
Control Technology Corporation
Cutler Hammer/IDT
Delta
Divelbiss
Eberle/GE-Fanuc (Europe)
Elsag Bailey/ABB/Alfa Laval
Elsist
Entertron
Fatek Automation
Festo/Beck Electronic
FF Automation
Fisher & Paykel
Fuji Electric
GE-Fanuc 
GE-Fanuc/Eberle (Europe) 
Gefran/SIEI
Giddings & Lewis 
Gould/Modicon 
Groupe Schneider 
Hima 
Hitachi 
Honeywell
Horner Electric
Ibercomp
Idec
IDT/Cutler Hammer
Industrial Control Links
International Parallel Machines
Jetter gmbh
Keyence Corporation
Kirchner Soft
Klockner-Moeller 
Koyo/AutomationDirect/PLC Direct
LG Industrial Systems
Liyan Electric
Matsushita (Europe)/Aromat
Messung
Microconsultants/SPLat
Mitsubishi
Modicon/Gould
Moore Products/Siemens
Nyquist/P8
Omron
Opto22
P8/Nyquist
Pilz
Pixsys
PLC Direct/Koyo/AutomationDirect
Poscon
Reliance
Rockwell Automation
Rockwell Software
RTP Corporation
SAIA-Burgess
Schleicher
Schneider Electric
Selectron
Sharp
Shihlin
SIEI/Gefran
Siemens/Moore Products
Sigmatek
Sixnet
SMAR
SoftPLC/Tele-Denken
SPLat/Microconsultants
Square D
Teco a. s.
Tele-Denken/SoftPLC 
Telemecanique 
Toshiba

También podría gustarte