PLC: mis primeros pasos

El acceso a la memoria de datos es diferente para cada PLC. Hay muchas marcas y modelos diferentes de PLC. Algunas marcas conocidas son Allen Bradley, Siemens, schneider-electric, Omron, AutomationDirect entre otros. Es muy difícil hablar de cómo acceder la memoria de un PLC de manera general, así que escogeremos un procesador específico. Se escogió una marca conocida, pero que además contara con software de programación y emulador gratuitos. El resultado fue Micrologix 1100 de Allen Bradley. En el futuro hablaremos acerca de PLC de otras marcas.

El micrologix 1100 cuenta con E/S incluidas y además soporta hasta 4 módulos de expansión. En total puede manejar hasta 144 puntos digitales de E/S. Tiene un puerto RS-232/485, un puerto Ethernet, 4k de memoria de programa, 4K de memoria de datos y una pantalla LCD a través de la cual puede ver y cambiar los datos del controlador. Más detalles del equipo se pueden ver en el manual del usuario.

Direccionamiento del PLC

La memoria de datos del PLC está dividida en archivos, cada archivo es de un tipo de datos específico. Por defecto se crean 9 archivos de datos. Estos archivos están numerados del 0 al 8 y son los siguientes:

  • 0 de salidas (O0)
  • 1 de entradas (I1)
  • 2 de estado (S2)
  • 3 de bit (B3)
  • 4 de temporizadores (T4)
  • 5 de contadores (C5)
  • 6 registros de control (R6)
  • 7 de enteros (N7)
  • 8 de punto flotante (F8)

Esta distribución de la memoria de datos se puede ver con más detalles en ambiente de programación del RSLogixMicro.

Dirección de entrada y salida

El tamaño del archivo de salida depende de la cantidad de módulos de salidas que estén instalados en el PLC. Para direccionar las salidas el formato es como sigue:

O:#modulo_de _salida/#bit

La dirección para las entradas es muy similar, sólo que en lugar de O se coloca I. Así, la dirección de la primera entrada en la base del PLC es I:0/0 y la dirección de la entrada 6 de la tarjeta en la posición 1 es I:1/6.

Direccionamiento de los binarios y enteros

Los enteros y binarios están agrupados en elementos de 16 bits. Para direccionar un bit se usa el siguiente formato: B3:#elemento/#bit; o se puede colocar la dirección omitiendo el número del elemento esto es: B3/#bit. En este sentido las direcciones B3:1/1 y la dirección B3/17 son equivalentes, tal como muestra la figura, en la posición marcada con la x roja.

Tabla Bit

Archivo de Binarios

Los enteros, como era de suponerse, son de 16 bits, así que se pueden representar números en el rango de -32.768 to 32.767. La dirección de los enteros tiene el siguiente formato: N:#elemento. Así, una dirección válida para un entero sería N7:1, refiriéndose al segundo entero. También se puede acceder a un bit particular de los 16 bit del entero. Por ejemplo acceder al último bit del entero N7:1 su dirección sería N7:1/15.

Dirección de temporizadores y contadores

La dirección para acceder los temporizadores, contadores, registro de control, punto flotante y estados se explicarán más adelante, cuando sea oportuno.

Conjunto de instrucciones  del PLC

El procesador Micrologix 1100 se programa con diagramas escalera. El conjunto de instrucciones del procesador estás dividido en grupos de instrucciones, entre ellas se encuentran los siguientes grupos: de bit, temporizadores y contadores, aritmética, lógicas, de comparación y control de programa entre otros.

Instrucciones de entrada y de salida

Las instrucciones que escriben en la memoria de dados son llamadas instrucciones de salidas y siempre ocupan la última posición en el reglón o línea, el resto de las instrucciones son llamadas instrucciones de entrada.

Conjunto de instrucciones de bit

El grupo instrucciones más básico es el de bit y es el que vamos a explicar a continuación.  Dentro del grupo de instrucciones de bit se encuentran las siguientes instrucciones:

Contacto normalmente abierto (-] [-, XIC)

instrucción de entrada. A esta instrucción se le asocia una dirección binaria, por ejemplo una entrada (I), una salida (O) o un bit (B) y se comporta como un relé cuya bobina es la dirección asociada. Si el estado del registro donde apunta la dirección es cero entonces el contacto permanece abierto y se dice que no hay continuidad lógica entre los extremos del contacto o en otra palabas la instrucción es falsa. Si el estado del registro donde apunta la dirección es 1, entonces el contacto cierra y hay continuidad lógica entre sus extremos, en otras palabras la instrucción es verdadera.

Contacto normalmente cerrado (-]/[-, XIO),

instrucción de entrada. instrucción de entrada. A esta instrucción se le asocia una dirección binaria, por ejemplo una entrada (I), una salida (O) o un bit (B) y se comporta como un relé cuya bobina es la dirección asociada. Si el estado del registro donde apunta la dirección es cero entonces el contacto permanece cerrado y se dice que hay continuidad lógica entre los extremos del contacto o en otra palabas la instrucción es verdadera. Si el estado del registro donde apunta la dirección es 1, entonces el contacto abre y no hay continuidad lógica entre sus extremos, en otras palabras la instrucción es falsa.

Detector de flanco de subida (-[ONS]-, ONS),

instrucción de entrada. Se le asigna una dirección de bit (B). Esta instrucción siempre tiene al menos una instrucción antes que ella. El ONS vigilia el estado de las instrucciones antes que ella, cuando es estado de estas instrucciones va de falso a verdadero, la instrucción se hacer verdadera por el tiempo que dura un ciclo de escán, el resto del tiempo la instrucción es falsa.

Bobina de salida (–( )–, OTE),

instrucción de salida. A esta instrucción se le asocia una dirección binaria, por ejemplo una entrada (I), una salida (O) o un bit (B). Por ser una instrucción de salida va al final del renglón. Cuando el renglón es falso esta instrucción coloca un 0 en la dirección correspondiente y cuando el renglón es verdadero la instrucción coloca un 1 en la dirección correspondiente.

Enclavar dirección (–(L)–, OTL),

instrucción de salida. A esta instrucción se le asocia una dirección binaria, por ejemplo una entrada (I), una salida (O) o un bit (B). Por ser una instrucción de salida va al final del renglón. Cuando el renglón es falso esta instrucción no hace nada, como si no estuviera programada y cuando el renglón es verdadero la instrucción coloca un 1 en la dirección correspondiente.

Desenclavar dirección (–(U)–, OTU),

instrucción de salida. A esta instrucción se le asocia una dirección binaria, por ejemplo una entrada (I), una salida (O) o un bit (B). Por ser una instrucción de salida va al final del renglón. Cuando el renglón es falso esta instrucción no hace nada, como si no estuviera programada y cuando el renglón es verdadero la instrucción coloca un 0 en la dirección correspondiente.

El conjunto completo de instrucciones del PLC se puede encontrar aquí.

Nuestro primer programa

La siguiente figura muestra el diagrama de un arranque típico para un motor hecho con RSLogixMicro, se supone que en la entrada I:0/0 se conecta el botón de marcha, en la entrada I:0/1 se conecta el botón de parada, en la entrada I:0/2 se conecta el contacto auxiliar del arrancador del motor y en la salida O:0/0 se conecta la bobina del arrancador. Cuando se presiona el botón de marcha el renglón es verdadero hasta la instrucción de salida, esto hace que el arrancador accione, el contacto auxiliar se activa permitiendo que el motor siga en marcha cuando se suelte el botón de marcha. Si se presiona el botón de parada la instrucción de salida se hace falsa apagando el arrancador, el contacto auxiliar se desactiva haciendo que el motor permanezca apagado.

El programa puede descargarse al RSEmulate usando el RSLinx para ser probado.

Programa de marcha de un motor en PLC

Programa escalera del PLC

15 Comentarios

  1. Emily Jones

    Hi there,

    We run a YouTube growth service, which increases your number of subscribers both safely and practically.

    – We guarantee to gain you 700-1500+ subscribers per month.
    – People subscribe because they are interested in your channel/videos, increasing likes, comments and interaction.
    – All actions are made manually by our team. We do not use any ‘bots’.

    The price is just $60 (USD) per month, and we can start immediately.

    If you have any questions, let me know, and we can discuss further.

    Kind Regards,
    Emily

    Unsubscribe: https://removeme.click/yt/unsubscribe.php?d=controlreal.com

    Responder
  2. frank

    muy buenas explicacion y aun mejor sus argumentos a las dudas gracias me gustaria aprender mas

    Responder
  3. Franceschini

    Adicionalmente se podria colocar en serie un contacto cerrado de un termico para rapida deteccion de fallas y se puede hacer seguridad redundante al hacerlo de manera electrica

    Responder
    1. Miguel

      Buena sugerencia, además de la re-alimentación (contacto auxiliar) podemos usar una entrada adicional (si disponemos de ella) con la protección térmica. Si no disponemos de la entrada auxiliar (típico cunado la cantidad de motores es grande) lo que se hace es que se cablea el contacto NC de la protección térmica en serie con la bobina del contactor, cuando el térmico se dispara des-energiza la bobina y contactor abre, el controlador se entera del que contactor no está accionado por que no ve la re-alimentación. Lo que normalmente se hace es que se agrega una lógica adicional que si se activa la salida de la bobina y no se recibe la re alimentación se indica una falla. Gracias Franceschini (Leonardo?) por el comentario.

      Responder
    2. argelio

      Si la salida esta directamente a la bobina del contactor del motor, como lo señala el diagrama, y el contactor esta debidamente instalado, pasando el neutro a través de los cotactos del sistema de térmicos, no necesita mas…

      Responder
  4. Luis Silva

    Buen Dia,

    Entonces Miguel en la forma que se muestra en la imagen es la que se debe realizar por seguridad o porque motivo es la que se maneja en el ambito industrial???

    Saludos!!!

    Responder
    1. Anónimo

      Si Luis por seguridad.

      Responder
    2. Miguel

      Si Luis por seguridad.

      Responder
  5. Luis Sánchez

    como observacion en su explicacion de su diagrama en escalera la direccion es erronea en el contacto auxiliar de acuerdo en su explicacion ya que deveria tener la direccion de la bobina de salida para poder enclavar la misma.
    gracias.

    Responder
  6. isauro medina

    como observacion en su explicacion de su diagrama en escalera la direccion es erronea en el contacto auxiliar de acuerdo en su explicacion ya que deveria tener la direccion de la bobina de salida para poder enclavar la misma.
    gracias.

    Responder
    1. Miguel

      Muchas Gracias por tu comentario Isauro y Luis. Si bien es cierto que si colocamos donde va la dirección de CONTACTO AUXILIAR, la dirección de la BOBINA, el programa también funciona, pero se asume que el motor esta en marcha, sin estar seguro de que eso sea así (es lo que se llama en control un circuito de lazo abierto). Mientras que si se coloca la dirección del CONTACTO AUXILIAR del contactor, estamos verificando que el contactor efectivamente esta cerrado y por lo tanto el motor debería estar en marcha. La manera en que se debe hacer en el ámbito industrial es la que se muestra acá, aunque la otra también funcione.

      Responder
      1. Xalamihua

        Excelente, genial me haz ayudado en grande mi amigo, se te agracede

        Responder
        1. Miguel

          Para eso estamos

          Responder
        2. Miguel

          A la orden, para eso estamos

          Responder
  7. Anónimo

    Muchas gracias a sido de mucha ayuda su pagina

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *