HPR4728: Controles Lógicos Programables - Episodio 3

Por Whiskeyjack16/09/2026 às 00:00348 visualizaciones
Foto: CC BY-SA / Hacker Public Radio
🎙 Whiskeyjack · Hacker Public Radio

Este programa ha sido marcado como "Limpio" por el anfitrión.

--------------------

01 Introducción

Este es el tercer episodio de una serie de 8 partes.

02

En el episodio anterior cubrimos:

* La historia temprana de las computadoras en el control industrial

* La historia temprana de los PLCs, incluyendo cómo obtuvieron su nombre

* Quiénes son las principales marcas

* Cómo son físicamente

Una descripción básica de la arquitectura de la máquina abstracta.

Un vistazo muy breve a cómo es un programa de PLC.

El concepto de escaneo.

Los lenguajes de programación principales de PLC.

Los lenguajes de programación menores de PLC.

La popularidad relativa de cada uno de los lenguajes de programación.

03

En este episodio comenzaremos mirando uno de los primeros PLCs de la época en que comenzaron a ver un uso generalizado.

Ni siquiera intentaré ser exhaustivo, solo daré una visión general en el limitado tiempo que tengo disponible aquí.

Comencé con un modelo más antiguo porque su simplicidad y características limitadas permiten una introducción más fácil al tema.

--------------------

04 Allen Bradley PLC/2

El Allen Bradley PLC/2 se introdujo al mercado en 1977.

No fue su primera incursión en este campo, pero sí su primera realmente exitosa.

No estoy al tanto de una historia completa de su línea de productos temprana, pero uno de sus modelos de venta temprana importantes fue el PLC2/30.

Esto también se conoce como su serie 1771.

--------------------

05 Diseño físico

El módulo CPU era una gran caja de metal que se ubicaba junto al rack de E/S y se conectaba a él con un cable.

El rack I/O era una caja con un frente abierto y una serie de ranuras en las que se podían insertar cajas altas y estrechas que contenían el I/O.

06

Un backplane cruzaba la parte posterior, conectando el I/O con la CPU.

Varios racks podían conectarse entre sí mediante cables.

Para el PLC2/30, se podían tener un máximo de 896 puntos de I/O digital.

07

Los racks medían 315 mm de alto y entre 247 mm y 610 mm de ancho, con racks disponibles en variedades de 4, 8, 12 y 16 ranuras.

La CPU tenía la misma altura que el rack y era aproximadamente cuadrada en contorno.

08

A medida que avanzaba la microelectrónica, el módulo CPU pudo reducirse en tamaño para que quedara en una ranura del rack, lo que se convirtió en la norma para los PLCs.

--------------------

09 La electrónica interna

Los primeros modelos PLC/2 utilizaron algún tipo de procesador de 8 bits, algunas fuentes dicen que un Intel 8080.

10

También utilizaron cuatro procesadores AMD 2900 bit slice como procesador lógico co-procesador.

Si no está familiarizado con los procesadores bit slice, estos son chips que son como una rebanada vertical de 4 bits a través de un procesador, y pueden unirse con chips lógicos para formar una CPU completa.

Estos son los que se utilizaron para construir minicomputadoras.

11

Se utilizaron como co-procesadores en los primeros PLCs porque los microprocesadores por sí solos eran simplemente demasiado lentos para manejar la ejecución del programa del usuario lo suficientemente rápido como para permitir un tamaño útil del programa.

También se utilizaron uno o más microprocesadores para coordinar la operación general y la gestión del sistema.

12

A medida que los microprocesadores se volvieron más rápidos y poderosos, la necesidad de co-procesadores lógicos disminuyó y finalmente fueron descartados.

Las primeras versiones utilizaron memoria de núcleo magnético.

Más tarde, se cambiaron a algún tipo de RAM de estado sólido, probablemente RAM estática de algún tipo.

13

Los detalles sobre qué tipo de procesadores hay dentro de cualquier PLC en realidad son muy difíciles de encontrar, ya que los fabricantes generalmente no hablan de ese tipo de cosas.

Desean que el usuario lo vea simplemente como una caja negra.

--------------------

La Tabla de Datos

Desde la perspectiva de un programador, lo más importante para entender primero es la tabla de datos.

La tabla de datos es la memoria de datos del PLC.

15

Para un PLC2, esto es un arreglo de palabras de 16 bits.

Cada palabra consiste en dos bytes de 8 bits.

La dirección tanto para bits como para palabras está en octal.

16

Para quienes no están familiarizados con ellos, los números octales siguen un sistema de conteo que va desde 0 hasta 7.

El siguiente número después de 7 es 10.

El conteo continúa entonces desde 11, 12, 13, etc., hasta 17, 20, 21, etc.

Cada dígito octal ocupa exactamente 3 bits.

17

Los bits individuales en la notación PLC2 pueden ser dirigidos especificando la palabra seguida de una barra diagonal, y luego el bit.

Por ejemplo, 030/12 es el bit 12 en la palabra 030. Recuerda que esto es octal, por lo que 12 no es el decimotercer bit si cuentas en decimal.

Organización de la Memoria 18

En el PLC2/30, la tabla de datos tiene la siguiente organización.

19

Las direcciones de palabras 000 a 007 son el número 1 del Área de Trabajo del Procesador.

Esto no es accesible para el usuario.

20

Las direcciones de palabras 010 hasta 100, pero no incluyendo 100, son la Tabla de Imagen de Salida.

Esta es una imagen mapeada en memoria de las salidas de E/S.

De 010 a 077 es para Rack 1.

De 020 a 027 es para Rack 2.

Este patrón continúa hasta el Rack 7, que es de 070 a 077.

21

Los rangos de direcciones de Word 100 a 107 son el número 2 del Área de Trabajo del Procesador.

Esto también no es accesible para el usuario.

22

Las direcciones de Word 110 hasta 200, pero no incluyendo, son la Tabla de Imagen de Entrada.

Esta es una imagen mapeada en memoria de las entradas I/O.

Esto está dispuesto de la misma manera que la Tabla de Imagen de Salida, y va desde 110 hasta 177.

De 110 a 117 es para Estante 1.

De 120 a 127 es para Estante 2.

Este patrón continúa hasta el Estante 7, que es de 170 a 177.

23

Notarás que la tabla de salida de la imagen y la tabla de entrada de la imagen parecen dirigirse a los mismos slots de rack.

De hecho, lo hacen.

Depende de si hay una tarjeta de entrada o una tarjeta de salida en ese slot, a qué dirección se asigna un slot específico en un rack determinado.

24

Las direcciones 200 a 277 son para los valores acumulados del temporizador/contador.

Un valor acumulado es el tiempo o recuento actual.

25

Las direcciones 300 a 377 son para los valores predeterminados del temporizador/contador.

Un valor predeterminado es el tiempo o recuento objetivo que, al alcanzarse, hace que el temporizador o contador indique que ha alcanzado el valor deseado.

26

La memoria por encima de 400 se puede configurar para dividirla en una zona de almacenamiento de datos y una zona de programa del usuario.

El área de almacenamiento de datos es donde almacenarías los datos que tu programa necesita usar, que no forman parte de la entrada/salida (I/O) ni de los contadores.

Necesitas encontrar el equilibrio adecuado entre los datos del usuario y el tamaño del programa.

27

Hay varias cosas que se pueden cambiar y configurar con respecto a lo anterior, pero no profundizaré en ello, ya que este no es un tutorial sobre el PLC2.

=

Sin embargo, deberías tener una idea bastante clara de la memoria de un modelo PLC antiguo.

Lo importante a comprender es que los dispositivos I/O están mapeados a direcciones de memoria, y

diferentes rangos de memoria se utilizan para distintos propósitos.

28

Toda la gestión de memoria era manual.

Corría a cargo del usuario llevar un registro de qué direcciones de memoria se utilizarían para qué propósitos.

Allen Bradley proporcionó amablemente formularios en papel que podrías copiar, que podrías usar para planificar y documentar para qué sería utilizado cada dirección.

Parte del trabajo del programador era hacer un uso eficiente y lógico de la memoria, al mismo tiempo que dejaba espacio para cambios futuros.

--------------------

El Programa del Usuario

El programa del usuario está compuesto por instrucciones.

Cada instrucción típicamente ocupa una palabra de memoria.

Sin embargo, instrucciones complejas pueden ocupar hasta 8 palabras de memoria.

30

Existe un programa principal.

Puedes pensar en esto como como la función "main" en C.

Si no encuentras útil esa analogía, simplemente piensa que este es el lugar donde comienza tu programa.

El programa principal continúa con un escalón tras otro hasta que alcanza la declaración FIN.

31

También hay un área de subrutinas.

El programa principal llama a una subrutina utilizando una instrucción de salto a subrutina, o JSR.

El terminal de programación T3.

Cuando se lanzó el PLC2, cosas como las computadoras portátiles aún estaban muy lejos en el futuro.

Incluso el primer Compaq Portable, estilo maleta PC, aún estaba a años de distancia.

De hecho, el primer PLC/2 salió poco después del primer kit de PC Altair.

33

Por lo tanto, la programación inicial se realizaba utilizando un terminal de programación especial conocido como T3.

El T3 era una caja del tamaño de una maleta con un pequeño CRT al final y un teclado conectado a ella debajo de la pantalla.

Si esto suena como las primeras computadoras portátiles, ten en cuenta que en realidad las precedió por varios años.

34

El teclado no era un máquina de escribir ni de estilo QWERTY.

Tenía un teclado de membrana con símbolos gráficos.

Recuerda el episodio anterior sobre diagramas de control utilizando relés y cómo se documentaban utilizando símbolos esquemáticos en dibujos.

El teclado del terminal T3 tenía símbolos correspondientes a una versión simplificada y modificada de los símbolos utilizados en esos dibujos esquemáticos.

35

Cuando un programador presionaba uno de esos símbolos en el teclado, el símbolo correspondiente aparecía en la pantalla en la ubicación actual del cursor.

El programador podría entonces ingresar la dirección de datos a la que el símbolo debía corresponder utilizando la parte numérica del teclado.

36

Un ingeniero, técnico o electricista podría por lo tanto crear e ingresar programas utilizando un entorno completamente gráfico que utilizaba su conocimiento existente sobre control mediante componentes de hardware.

No lo veían como programar una computadora, lo veían como algo completamente diferente que no estaba relacionado con las computadoras.

37

La programación tuvo lugar con el T3 conectado al PLC mientras el PLC estaba en modo de programación.

Las instrucciones fueron ingresadas directamente desde el terminal a la memoria del PLC.

Los programas podían ser guardados o restaurados a una cinta de casete.

El programa se ejecutaría cuando el PLC estuviera configurado en modo de ejecución.

38

Además, el terminal T3 permitía el depurado en línea de los programas.

Cuando el T3 se conectó en modo de ejecución, el diagrama de escalera se actualizaría en vivo.

Cuando una condición lógica era verdadera, se resaltaría.

Cuando la condición lógica era falsa, se mostraría en un estado no resaltado.

39

Al observar una barra específica, podías ver si la serie gráfica de instrucciones esperadas estaban todas resaltadas en un patrón que resultaría en la salida final de la barra, verdadera o falsa como se esperaba.

Esto fue una ayuda inestimable para la resolución de problemas en la búsqueda de errores de software y fallas de hardware.

Los terminales de programación se convirtieron en una parte indispensable del equipo esencial de un electricista de mantenimiento industrial.

40

Con el tiempo, a medida que se hicieron disponibles las PC portátiles y más tarde las laptops, el T3 se volvió obsoleto y estas funciones se transfirieron a software que funcionaba en PC estándar.

Sin embargo, aún funcionan esencialmente de la misma manera.

Se agregaron capacidades adicionales, como la posibilidad de escribir programas sin estar conectados al PLC.

Se podrían añadir etiquetas descriptivas y comentarios a las direcciones de memoria para documentarlas y facilitar la lectura del programa.

Las funciones de referencia cruzada harían más fácil encontrar qué direcciones se usaron para qué.

etc.

--------------------

41 Instrucciones

Ahora pasaré a enumerar los tipos de instrucciones que estaban disponibles para su uso.

No intentaré explicar todo, pero al menos te dará una idea vaga de cómo se programaban.

Utilizaré los nombres de Allen Bradley para estos, lo que debo enfatizar no corresponde a lo que otros fabricantes llaman así.

Instrucciones de tipo relé 42

Estas son instrucciones booleanas y consisten en las siguientes.

Instrucciones de entrada 43

Estas examinan bits en la memoria y producen un estado lógico dependiendo del valor del bit al que se dirigen.

Las instrucciones de entrada comienzan en la izquierda de la etapa y avanzan hacia la derecha a medida que se añaden más.

Examinar encendido - Esto es verdadero cuando el bit dirigido está configurado en 1.

Examinar apagado - Esto es verdadero cuando el bit dirigido está configurado en 0.

Instrucciones de salida 44

Estos bits se encienden o se apagan dependiendo de la suma de las condiciones de lógica booleana que los preceden.

Las instrucciones de salida están a la derecha del escalón.

Siempre debe haber al menos una instrucción de salida.

Salida Energizar - Cuando las condiciones de lógica que lo preceden son verdaderas, establece un bit en 1.

Cuando las condiciones de lógica que lo preceden son falsas, establece un bit en 0.

45

Salida Acoplar - Cuando es verdadera, enciende el bit.

Cuando es falsa, no hace nada.

Salida Desacoplar - Cuando es verdadera, apaga el bit.

Cuando es falso, no hace nada.

46 Instrucciones de Rama

Estas no hacen nada por sí mismas, pero crean conexiones de cableado en el diagrama.

Estas son importantes para permitir que las instrucciones mencionadas anteriormente se coloquen en paralelo en el mismo nivel para que puedan hacer cosas como especificar condiciones OR.

Puedes pensar en ellas como esencialmente convertir un examen encendido/apagado en una instrucción OR o OR NO.

--------------------

47 Instrucciones de Temporizador y Contador

Los temporizadores y contadores son, como su nombre lo implica, instrucciones que realizan operaciones de temporización y conteo.

Tienen valores predeterminados y acumulados separados.

Son un tipo de instrucción de salida, ya que residen en el lado derecho del escalón de la escalera y su funcionamiento depende del estado de la lógica del escalón a su izquierda.

48

Los temporizadores y contadores funcionan en Decimal Codificado Binario, o BCD.

Cada valor BCD ocupa 4 bits de memoria.

Sin embargo, a diferencia del hexadecimal, solo los valores del 0 al 9 son válidos.

Lo que serían valores de A a F en hexadecimal, no son valores válidos en BCD.

49

Los valores preestablecidos y acumulados se almacenan en palabras de 16 bits. Los primeros 12 bits se usan para almacenar hasta 3 dígitos BCD.

Los 4 bits superiores restantes se usan para almacenar bits de estado de instrucción, como si el temporizador o contador ha terminado y varias otras características.

50 Temporizadores

La base de tiempo del temporizador corresponde a la resolución del temporizador.

Las bases de tiempo son 1,0 segundos, 0,1 segundos y 0,01 segundos.

Así, un temporizador con una base de tiempo de 1 segundo puede cronometrar desde 0 hasta 999 segundos con una resolución de uno segundo.

Un temporizador con una base de tiempo de 0,1 segundos puede cronometrar desde 0 hasta 99,9 segundos con una resolución de 0,1 segundos.

51

Hay tres tipos de temporizador,

Temporizador de Retraso On (o TON),

Temporizador de Retraso Off (o TOF),

Temporizador Retentivo (o RTO).

52

Los temporizadores de retraso miden el tiempo mientras la condición de activación es verdadera y se reinician cuando se vuelve falsa.

Los temporizadores de retraso fuera miden el tiempo después de que la condición de activación se vuelva falsa y se reinician cuando se vuelve verdadera.

Los temporizadores retentivos son similares a los temporizadores de retraso, pero retienen su valor acumulado hasta que se reinician con la instrucción de reinicio retentivo (o RTR).

En general, se inicia un temporizador y luego se monitorea su bit "hecho" en algún otro lugar de la lógica.

53 Contadores

Los contadores cuentan eventos.

Estos vienen en las siguientes variedades.

54

Contador ascendente (o CTU).

Contador descendente (o CTD)

Reinicio de contador (o CTR)

Contador de escaneo (o SCT)

55

Los contadores ascendentes cuentan de cero hacia arriba, y los contadores descendentes cuentan de un valor predeterminado hacia abajo.

El contador de escaneo cuenta el número de escaneos del programa.

Esto no es algo que normalmente encontrarías una aplicación, aunque puedes usarlo, por ejemplo, para calcular el tiempo de escaneo.

--------------------

56 Instrucciones de manipulación de datos

Las instrucciones de manipulación de datos se usan para leer, escribir y comparar datos de byte y palabra.

Las operaciones tienen lugar cuando la barra va a la verdad.

57

GET lee una palabra de 16 bits de una ubicación de memoria.

PUT escribe una palabra de 16 bits en una ubicación de memoria.

LES se resuelve a verdadero si el valor leído por la instrucción GET es menor que un valor especificado.

EQU se resuelve a verdadero si el valor leído por la instrucción GET es igual a un valor especificado.

58

Las instrucciones LES y EQU pueden combinarse de diversas maneras entre sí y con GET para dar todas las permutaciones de comparación posibles, como mayor que, menor que o igual a, etc.

59

GET BYTE lee un byte de 8 bits de una ubicación de memoria.

TEST LIMIT se resuelve a verdadero si un valor de byte está entre los límites almacenados en los bytes superior e inferior de una palabra.

Se utiliza la prueba de límite en combinación con GET BYTE.

--------------------

60 instrucciones aritméticas.

Las instrucciones aritméticas también operan sobre valores de palabra BCD.

Las operaciones tienen lugar cuando la rúbrica se vuelve verdadera.

El byte más alto se utiliza para indicar cosas como el desbordamiento o el subdesbordamiento aritmético.

Estas incluyen:

61

Suma

Resta

Multiplicar

Dividir

Convertir BCD a binario

Convertir binario a BCD

--------------------

62 Instrucciones de transferencia de bloque

Las instrucciones de transferencia de bloque son instrucciones de salida que se utilizan para transferir hasta 64 palabras de 16 bits de datos entre la tabla de datos y los módulos de E/S.

Estas se utilizan con E/S inteligente que trabaja con palabras en lugar de bits individuales.

63

Ejemplos de estos son cosas como

Entradas y salidas analógicas que leen y escriben voltajes variables en lugar de solo estar encendidas o apagadas.

Controladores PID que manejan el control de bucle cerrado de cosas como la temperatura.

Termopares que leen las temperaturas.

Control de motores servo que mandan las posiciones de los motores servo.

Control de motores pasivos.

Codificadores de posición.

64

No entraré en detalles sobre las transferencias de bloques, pero esto debería ser suficiente para darte una idea general de cómo el PLC podría manejar ese tipo de equipo en comparación con los estados simples de encendido/apagado de los módulos digitales.

Obviamente, estos se pueden usar en combinación con GET, PUT y otras instrucciones de manipulación de datos que pueden leer y escribir ubicaciones de memoria.

--------------------

65 Instrucciones de salto y programación de subrutinas.

Estas incluyen las siguientes instrucciones.

66

Salto (o JMP).

Etiqueta (o LBL).

Salto a subrutina (o JSR).

Retorno (o RET).

67

El salto cambiará la ejecución a una posición de etiqueta.

Puedes pensar en ello como una instrucción GOTO.

68

Las etiquetas son numéricas y pueden ir desde 00 hasta 77 en octal.

Las instrucciones de salto son salidas activas, y cuando la salida se activa, la ejecución salta al número de etiqueta especificado en la instrucción.

Las etiquetas son instrucciones de entrada y aparecen al inicio de la salida donde se reanuda la ejecución.

69

Los saltos normales no pueden saltar a una subrutina, y solo pueden saltar hacia adelante, no hacia atrás.

Esto significa que no es posible crear bucles utilizando el salto.

Esta sería una decisión de diseño deliberada para evitar que los programas se queden atascados en un bucle y para prevenir que el escaneo prosiga.

70

Las subrutinas aparecen después del final del programa principal.

Están definidas por etiquetas numéricas en octal utilizando la instrucción de etiqueta.

Los subrutinas se llaman utilizando la instrucción "Jump to Subroutine" (o JSR).

Al final de la subrutina, la instrucción de retorno (o RET) devuelve la ejecución al siguiente nivel después del JSR que la llamó.

Puedes anidar llamadas a subrutinas hasta 8 niveles de profundidad.

--------------------

Instrucciones de transferencia de datos 71

A pesar de lo que puedas pensar por el nombre, no hay archivos de disco en el PLC2.

Una "instrucción de archivo" en realidad mueve bloques de palabras de una ubicación de memoria de datos a otra.

=

Esto incluye direcciones de origen y destino, así como otros parámetros variados que controlan el funcionamiento.

De hecho, hay bastante involucrado en estos, pero no voy a molestarme en entrar en los detalles.

Solo necesitas saber que es posible mover bloques de memoria de datos alrededor.

--------------------

72 Instrucciones de Registro de Desplazamiento

Estas operan en toda una serie de palabras e incluyen

=

Desplazar Archivo Hacia Arriba

Desplazar Archivo Hacia Abajo

Carga FIFO

Descarga FIFO

73

Estas pueden operar con 1 a 999 palabras.

Un uso típico de este tipo de instrucción sería rastrear una parte mientras se mueve a través de las diversas estaciones de una máquina.

--------------------

Desplazamientos de 74 bits.

Estos operan sobre bits individuales e incluyen los siguientes.

75

Desplazamiento de bits a la izquierda.

Desplazamiento de bits a la derecha.

Examinar bit fuera de desplazamiento.

Examinar bit en desplazamiento.

Establecer bit de desplazamiento.

Reinicio de Bit de Desplazamiento

76

Estos funcionan más o menos como esperarías en términos de desplazar bits hacia la izquierda o la derecha.

Sin embargo, el registro de desplazamiento se puede definir para tener cualquier longitud entre 1 y 999 bits, por lo que no está limitado al tamaño de una palabra.

--------------------

77 Instrucciones de Secuenciador

Las instrucciones de secuenciador son una emulación de software de controladores electromecánicos de tambores.

Los controladores de tambores permitían realizar una larga secuencia de operaciones.

Estos utilizaban un tambor giratorio que tenía una serie regular de agujeros paralelos en la superficie exterior.

Encima de una fila de estos agujeros había una fila de interruptores de límite.

Al insertar palancas en algunos de estos orificios que entran en contacto con los interruptores límite, el controlador de tambor podía activar patrones de relés o válvulas.

78

Algunos de los interruptores límite podrían estar conectados a sensores en los elementos móviles de la máquina.

Cuando las partes de la máquina estaban en la posición correcta para ese paso en la secuencia, el patrón de palancas causaría la finalización de una trayectoria eléctrica a través de los interruptores límite y energizaría un solenoide que accionaría el tambor al siguiente paso.

79

Esto a menudo se compara con una caja de música o con un estilo antiguo de control de lavadora.

Sin embargo, en el caso del controlador de tambor, las palancas programarían las condiciones de coincidencia de entrada así como la salida deseada.

El controlador de tambor PLC/2 emularía este secuenciador.

Esta característica llegó a ser muy ampliamente utilizada en equipos utilizados en la industria automotriz y otros procesos de fabricación orientados a la ensamblaje, y a menudo formaba el corazón del programa PLC/2.

80

No entraré en detalles de las instrucciones del secuenciador, pero existen instrucciones de secuencia de entrada y salida separadas.

La secuencia de entrada intentaría coincidir con los estados de los sensores, y la secuencia de salida encendería o apagaría las diversas salidas, controlando cosas como las válvulas solenoides.

La propia secuencia se definiría mediante una serie de palabras en la memoria, con cada bit correspondiente a una entrada o salida individual.

--------------------

81 Instrucciones Lógicas de Archivo

Las instrucciones lógicas de archivo ascendían a operaciones de matriz sobre palabras, aunque el término "archivo" se utiliza para lo que, en terminología informática, sería una "matriz".

Estas instrucciones incluían

Y

O

O Exclusivo

Complemento

--------------------

82 Técnicas de Programación Especial

Estos son instrucciones diversas.

Consisten en lo siguiente.

Borde Líder de Un Solo Disparo

Borde Posterior de Un Solo Disparo

83

Un disparo es una instrucción de salida que causa que el bit dirigido se encienda durante una sola escaneación cuando hay un cambio en la condición lógica de la rúgida.

Los disparos podrían ser activados por un cambio de falso a verdadero o de verdadero a falso, dependiendo de cuál de las dos instrucciones se utilizara.

--------------------

¿Por qué el PLC2 utilizó BCD?

Probablemente te preguntes por qué el PLC2 utilizó números BCD en lugar de enteros normales.

Esto refleja el entorno de funcionamiento que un PLC temprano tendría que trabajar.

Los paneles de operadores tempranos que utilizaban dispositivos de entrada numérica mecánica y simples pantallas de salida electrónica que típicamente funcionaban en BCD.

85

Los interruptores de rueda de pulgar eran dispositivos giratorios de tipo tambor con números del 0 al 9 impresos en la periferia.

Varios ruedas se apilaban una al lado de la otra.

Parecían algo así como el odómetro mecánico que encontrarías en un auto más antiguo.

Sin embargo, el operador podía mover cada rueda de dígito por separado.

Cada dígito sería leído conectando 4 cables a 4 entradas en el PLC.

Así, cada dígito era inherentemente BCD debido a cómo funcionaba el hardware de la rueda de pulgar.

86

Al girar las ruedas individuales por separado, el operador podía ajustar cosas como temperaturas, velocidades, retrasos en el tiempo, etc., y así modificar los parámetros del proceso.

Las pantallas de salida del operador solían ser de 7 segmentos LED, neón o pantallas de vacío fluorescentes.

Estos displays o dispositivos similares a ellos precedieron a los PLCs, por lo que eran dispositivos industriales comunes que debían manejarse.

Cada dígito numérico tenía 4 entradas que se conectarían a 4 salidas en el PLC.

Las pantallas de 7 segmentos pueden usar hexadecimal, pero eso no era muy útil si se intenta mostrar una temperatura en Celsius a un operador.

Así, nuevamente, BCD era el tipo de número más práctico con el que trabajar.

87

A medida que las PLCs y sus programas de usuario se volvieron más capaces y sofisticados, comenzaron a trabajar con enteros normales e incluso con números de punto flotante.

Sin embargo, muchas, si no la mayoría de las PLCs, conservaron instrucciones para traducir de y hacia BCD.

--------------------

La influencia de la PLC2

La PLC2 fue un producto enormemente exitoso para Allen Bradley y los estableció firmemente como uno de los proveedores líderes de PLCs, con la posición número uno en el mercado norteamericano y entre los 5 primeros a nivel mundial.

Sin embargo, tenía varias debilidades, particularmente la memoria y la arquitectura de subrutinas muy primitivas, y el enfoque en números octales y BCD.

Estaba enfocada en reemplazar los relés de control y lo hizo bastante bien.

89

El siguiente sucesor verdaderamente exitoso de la PLC2 para Allen Bradley fue la PLC5.

Tomó el conjunto de instrucciones básico de la PLC2 y lo combinó con un nuevo sistema de memoria con nuevos tipos de datos, espacios de nombres separados y funciones parametrizadas.

90

Era como pasar de la programación en Basic con números de línea y saltos a Pascal.

Sin embargo, aún podía utilizar rieles y módulos de entrada/salida PLC2, un aspecto importante dado que la mayor parte del costo de un PLC estaba en el sistema de entrada/salida.

91

El PLC 5 fue sucedido a su vez por la serie Contrologix, que modernizó las cosas aún más, al mismo tiempo que tenía un factor de forma más pequeño.

Allen Bradley sigue siendo uno de los principales proveedores de PLC hoy en día, operando bajo el nombre de Rockwell.

--------------------

92 Conclusión

En este episodio nos centramos en un PLC temprano específico pero muy utilizado, el Allen Bradley PLC2.

Cubrimos los siguientes temas.

La electrónica interna.

La tabla de datos.

El programa de usuario.

El terminal de programación T3.

Y una visión general muy breve del conjunto de instrucciones.

93

Este era un PLC bastante simple y, en algunos aspectos, primitivo, pero debería tener una idea muy aproximada de los conceptos detrás de un PLC, incluyendo la tabla de datos y el concepto de escaneo y el conjunto de instrucciones similar a un relé.

94

En el próximo episodio, echaremos un vistazo a un PLC del mayor proveedor a nivel mundial, Siemens.

En este ejemplo, analizaremos un modelo algo más tardío que el PLC2, la serie S5.

Esto podría considerarse como un PLC de segunda generación.

Desde que no necesitamos repetir los conceptos básicos ya cubiertos, podemos centrarnos más en lo nuevo y diferente del S5 en comparación con el PLC2.

95

Este ha sido el tercer episodio de una serie de ocho partes.

--------------------

Proporcionarretroalimentaciónsobre este episodio..

Fuente
Hacker Public Radio
Abrir original ↗

Traducido automáticamente.

¿Esta noticia fue útil?

Debates 0

Sea el primero en contribuir al debate.

Difunda su información y promueva su argumento

No dude en publicar información o datos que puedan ser útiles.

Para participar en el debate, inicia sesión o crea una cuenta gratuita.