Jump to content
  • Sign in to follow this  

    Mapeo de memoria de PLC y direccionamiento de E/S

       (0 reviews)

    leizuofa

    Un sabio programador de PLC me dijo una vez que lo primero que cualquier programador en ciernes debería aprender sobre el PLC que pretende programar es cómo está organizada la memoria digital de ese PLC. Este es un consejo sabio para cualquier programador, especialmente en sistemas donde la memoria es limitada y/o donde la E/S tiene una asociación fija con ciertas ubicaciones en la memoria del sistema.

    Prácticamente todos los sistemas de control basados en microprocesadores vienen con un mapa de memoria publicado que muestra la organización de su memoria limitada: cuánta hay disponible para ciertas funciones, qué direcciones están vinculadas a qué puntos de E/S, a qué diferentes ubicaciones en la memoria debe hacer referencia el programador.

    Los canales de entrada y salida discretos en un PLC corresponden a bits individuales en la matriz de memoria del PLC. De manera similar, los canales de entrada y salida analógicos en un PLC corresponden a palabras de múltiples bits (bloques contiguos de bits) en la memoria del PLC.

    La asociación entre los puntos de E/S y las ubicaciones de memoria no está estandarizada de ninguna manera entre los distintos fabricantes de PLC, o incluso entre los distintos modelos de PLC diseñados por el mismo fabricante. Esto hace que sea difícil escribir un tutorial general sobre el direccionamiento de PLC, por lo que mi consejo final es consultar las referencias de ingeniería para el sistema de PLC que pretende programar.

    La marca de PLC más común en uso es Allen-Bradley (Rockwell), que utiliza una forma única de direccionamiento de E/S (Nota 1), que los estudiantes tienden a encontrar confusa. Por estas dos razones (popularidad y confusión), me centraré en las convenciones de direccionamiento de Allen-Bradley durante la mayor parte de esta sección.

    Nota 1: Los PLC Allen-Bradley más modernos prácticamente han eliminado el direccionamiento de E/S de ubicación fija, optando en su lugar por el direccionamiento de E/S basado en el nombre de la etiqueta. Sin embargo, todavía existen suficientes sistemas de PLC Allen-Bradley antiguos en la industria como para justificar la cobertura de estas convenciones de direccionamiento.

    Mapa de memoria del PLC

    La siguiente tabla muestra un mapa de memoria parcial para un PLC Allen-Bradley SLC 500

    33-1.gif

    Mapa de memoria También llamado tabla de datos, este mapa muestra el direccionamiento de las áreas de memoria reservadas para los programas ingresados por el usuario. Existen otras áreas de memoria dentro del procesador SLC 500, pero estas otras áreas son inaccesibles para el técnico que escribe programas de PLC.

    Tenga en cuenta que el uso que hace Allen-Bradley de la palabra "archivo" difiere del lenguaje de las computadoras personales. En el controlador SLC 500, un "archivo" es un bloque de memoria de acceso aleatorio que se utiliza para almacenar un tipo particular de datos.

    Por el contrario, un "archivo" en una computadora personal es una colección contigua de bits de datos con significado colectivo (por ejemplo, un archivo de procesamiento de texto o un archivo de hoja de cálculo), generalmente almacenados en la unidad de disco duro de la computadora.

    Dentro de cada uno de los “archivos” del PLC Allen-Bradley hay múltiples “elementos”, cada uno de los cuales consta de un conjunto de bits (8, 16, 24 o 32) que representan datos.

    Los elementos se identifican mediante un número que sigue a los dos puntos después del designador de archivo, y los bits individuales dentro de cada elemento se identifican mediante un número que sigue a una barra. Por ejemplo, el primer bit (bit 0) del segundo elemento en el archivo 3 (Binario) se identificaría como B3:2/0.

    En los PLC Allen-Bradley, como los modelos SLC 500 y PLC-5, los archivos 0, 1 y 2 están reservados exclusivamente para salidas discretas, entradas discretas y bits de estado, respectivamente.

    Por lo tanto, los designadores de letras O, I y S (tipos de archivo) son redundantes con los números 0, 1 y 2 (números de archivo).

    Otros tipos de archivos, como B (binario), T (temporizadores), C (contadores) y otros, tienen sus propios números de archivo predeterminados (3, 4 y 5, respectivamente), pero también se pueden usar en algunos de los números de archivo definidos por el usuario (10 y superiores).

    Por ejemplo, el archivo 7 en un controlador Allen-Bradley está reservado para datos del tipo “entero” (N), pero los datos enteros también se pueden almacenar en cualquier archivo numerado 10 o superior a discreción del usuario.

    Por lo tanto, los números de archivo y las letras de tipo de archivo para tipos de datos distintos de salida (O), entrada (I) y estado (S) siempre aparecen juntos.

    Por ejemplo, no es habitual ver una palabra entera direccionada como N:30 (palabra entera 30 en la memoria del PLC), sino como N7:30 (palabra entera 30 en el archivo 7 de la memoria del PLC) para distinguirla de otras palabras enteras 30 que puedan existir en otros archivos de la memoria del PLC.

    Esta notación de direccionamiento basada en archivos requiere una explicación más detallada. Cuando aparece una dirección en un programa de PLC, se utilizan caracteres especiales para separar (o “delimitar”) los diferentes campos entre sí.

    El esquema general para los PLC Allen-Bradley SLC 500 se muestra aquí:

    33-2.gif

    No todos los tipos de archivos necesitan distinguir palabras y bits individuales. Los archivos enteros (N), por ejemplo, constan de una palabra de 16 bits para cada elemento. Por ejemplo, N7:5 sería la palabra entera de 16 bits número cinco almacenada en el archivo siete.

    Sin embargo, un tipo de archivo de entrada discreto (I) debe abordarse como bits individuales porque cada punto de E/S independiente se refiere a un solo bit. Por lo tanto, I:3/7 sería el bit número siete que se encuentra en el elemento de entrada tres.

    El símbolo de “barra” es necesario cuando se trata de bits de E/S discretos porque no deseamos referirnos a los dieciséis bits de una palabra cuando solo nos referimos a un único punto de entrada o salida en el PLC.

    Los números enteros, por el contrario, son conjuntos de 16 bits cada uno en el mapa de memoria del SLC 500, y por lo tanto, generalmente se tratan como palabras completas en lugar de bit a bit.

    Ciertos tipos de archivos, como los temporizadores, son más complejos. Cada “elemento” del temporizador consta de dos palabras diferentes de 16 bits (una para el valor acumulado del temporizador, la otra para el valor objetivo del temporizador) además de no menos de tres bits que declaran el estado del temporizador (un bit “Habilitado”, un bit “Tiempo” y un bit “Hecho”).

    Por lo tanto, debemos hacer uso de los símbolos separadores de punto decimal y barra cuando nos referimos a los datos dentro de un temporizador. Supongamos que declaramos un temporizador en nuestro programa PLC con la dirección T4:2, que sería el temporizador número dos contenido en el archivo de temporizadores cuatro.

    Si quisiéramos direccionar el valor actual de ese temporizador, lo haríamos como T4:2.ACC (la palabra “Acumulador” del temporizador número dos en el archivo cuatro). El bit “Listo” de ese mismo temporizador se direccionaría como T4:2/DN (el bit “Listo” del temporizador número dos en el archivo cuatro)

    Una característica distintiva del esquema de direccionamiento del SLC 500 común a muchos sistemas PLC antiguos es que las etiquetas de dirección para los bits de entrada y salida hacen referencia explícita a las ubicaciones físicas de los canales de E/S.

    Por ejemplo, si se conecta una tarjeta de entrada discreta de 8 canales en la ranura 4 de un PLC Allen Bradley SLC 500 y se desea especificar el segundo bit (bit 1 de un rango de 0 a 7), se lo debe asignar la siguiente etiqueta: I:4/1.

    Para asignar el séptimo bit (bit número 6) en una tarjeta de salida discreta conectada en la ranura 3 se debe asignar la etiqueta O:3/6. En cualquier caso, la estructura numérica de esa etiqueta indica exactamente dónde se conecta la señal de entrada del mundo real al PLC.

    Ejemplo de mapeo de memoria de PLC

    Para ilustrar la relación entre la E/S física y los bits en la memoria del PLC, considere este ejemplo de un PLC Allen-Bradley SLC 500, que muestra uno de sus canales de entrada discretos activado (el interruptor se usa como interruptor de "Inicio" para un motor eléctrico):

    33-3.gif

    Si una tarjeta de entrada o salida posee más de 16 bits (como en el caso de la tarjeta de salida discreta de 32 bits que se muestra en la ranura 3 del bastidor SLC 500 de ejemplo), el esquema de direccionamiento subdivide cada elemento en palabras y bits (cada "palabra" tiene una longitud de 16 bits).

    Por lo tanto, la dirección para el bit número 27 de un módulo de entrada de 32 bits conectado a la ranura 3 sería I:3.1/11 (ya que el bit 27 es equivalente al bit 11 de la palabra 1: la palabra 0 direcciona los bits del 0 al 15 y la palabra 1 direcciona los bits del 16 al 31):

    33-4.gif

    Una fotografía en primer plano de una tarjeta de entrada de CC de 32 bits para un sistema PLC Allen-Bradley SLC 500 muestra este direccionamiento de múltiples palabras:

    33-5.gif

    Los primeros dieciséis puntos de entrada de esta tarjeta (el grupo de LED de la izquierda numerados del 0 al 15) tienen direcciones I:X.0/0 a I:X.0/15, donde “X” hace referencia al número de ranura en el que está conectada la tarjeta. Los siguientes dieciséis puntos de entrada (el grupo de LED de la derecha numerados del 16 al 31) se direccionan de I:X.1/0 a I:X.1/15.

    Los sistemas PLC heredados generalmente hacen referencia a cada uno de los canales de E/S mediante etiquetas como “I:1/3” (o equivalente) que indican la ubicación real del terminal del canal de entrada en la unidad PLC.

    El estándar de programación IEC 61131-3 se refiere a este direccionamiento basado en canales de puntos de datos de E/S como direccionamiento directo. Un sinónimo de direccionamiento directo es direccionamiento absoluto.

    Direccionar bits de E/S directamente por sus etiquetas de tarjeta, ranura y/o terminal puede parecer simple y elegante, pero se vuelve muy engorroso para sistemas PLC grandes y programas complejos.

    Cada vez que un técnico o programador ve el programa, debe “traducir” cada una de estas etiquetas de E/S a algún dispositivo del mundo real (por ejemplo, “La entrada I:1/3 es en realidad el botón de inicio del motor del mezclador del tanque intermedio”) para comprender la función de ese bit.

    Un esfuerzo posterior para mejorar la claridad de la programación de PLC fue el concepto de direccionamiento de variables en la memoria de un PLC mediante nombres arbitrarios en lugar de códigos fijos.

    El estándar de programación IEC 61131-3 se refiere a esto como direccionamiento simbólico en contraste con el direccionamiento “directo” (basado en canales), lo que permite a los programadores nombrar arbitrariamente los canales de E/S de maneras que sean significativas para el sistema en su conjunto.

    Para utilizar nuestro sencillo ejemplo del interruptor de “Inicio” del motor, ahora es posible que el programador designe la entrada I:1/3 (un ejemplo de una dirección directa) como “Interruptor de inicio del motor” (un ejemplo de una dirección simbólica) dentro del programa, mejorando así en gran medida la legibilidad del programa del PLC.

    Las implementaciones iniciales de este concepto mantenían direcciones directas para los puntos de datos de E/S, con nombres simbólicos que aparecían como complementos de las direcciones absolutas.

    La tendencia moderna en el direccionamiento de PLC es evitar el uso de direcciones directas como I:1/3 por completo, de modo que no aparezcan en ninguna parte del código de programación.

    La serie de controladores lógicos programables “Logix” de Allen-Bradley es el ejemplo más destacado de esta nueva convención en el momento de escribir este artículo.

    A cada punto de E/S, independientemente del tipo o la ubicación física, se le asigna un nombre de etiqueta que tiene significado en el mundo real, y estos nombres de etiqueta (o símbolos, como se los llama alternativamente) se referencian a las ubicaciones absolutas del canal de E/S mediante un archivo de base de datos.

    Un requisito importante de los nombres de etiqueta es que no contengan caracteres de espacio entre palabras (por ejemplo, en lugar de “Interruptor de arranque del motor”, un nombre de etiqueta debe usar guiones o marcas de subrayado como caracteres de espaciado: “Interruptor de arranque del motor”), ya que los lenguajes de programación informática generalmente asumen que los espacios son delimitadores (separadores entre diferentes variables).

    Tras haber introducido la notación de direccionamiento de Allen-Bradley para los PLC modelo SLC 500, ahora la abandonaré en favor de la convención moderna de direccionamiento simbólico en el resto de los artículos, para evitar que los ejemplos de programación sean específicos de una marca o modelo. Cada punto de datos dentro de mis programas de PLC llevará su propio nombre de etiqueta en lugar de una etiqueta de dirección directa (basada en el canal).

    Sign in to follow this  


    User Feedback

    Recommended Comments

    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...