Skip to main content

Configurar dispositivos y configurar la asignación de E/S

Puede configurar los objetos de dispositivo adjuntos en el árbol de dispositivos en el editor de dispositivos asociado. Las posibilidades dependen de la descripción del dispositivo. El "editor de dispositivos genéricos' proporciona pestañas que pueden complementarse con pestañas específicas del dispositivo.

Requisito: ha abierto un proyecto estándar en el que se insertan un PLC estándar y un objeto de dispositivo de bus de campo en el árbol de dispositivos.

  1. Haga doble clic en el objeto de dispositivo del PLC estándar en el árbol de dispositivos de su proyecto.

    El editor <nombre del dispositivo> aparece en CODESYS-Ventana principal. La tabla posiciones de comunicación está en primer plano. Cambie a las otras pestañas para realizar ajustes de configuración para el controlador. Consulte las páginas de ayuda del Editor de dispositivos genéricos.

  2. Haga doble clic en el objeto de dispositivo de bus de campo en el árbol de dispositivos de su proyecto.

    El editor <nombre del dispositivo de bus de campo> aparece en CODESYS-Ventana principal. Hay pestañas específicas disponibles según el dispositivo. Para conocer las opciones de configuración, consulte las páginas de ayuda del editor de dispositivos correspondiente. Si la opción Mostrar editores de configuración genéricos en Herramientas → Opciones, categoría editor de dispositivos está habilitado, también verá las pestañas aportadas por el editor de dispositivos genéricos.

Si los parámetros de configuración del PLC fueron cambiados por otro dispositivo, por ejemplo a través de una visualización, se crea un archivo de configuración en el controlador IoConfig.par creado. Dependiendo del dispositivo, también hay un botón en el cuadro de diálogo de parámetros del editor de dispositivos en modo en línea para escribir los parámetros actuales en dicho archivo. Para actualizar también los parámetros modificados dentro de su proyecto, puede leer el archivo de parámetros en modo en línea.

Requisito: Tiene un proyecto estándar con un árbol de dispositivos en el que el entorno de hardware está representado con un PLC y un dispositivo parametrizable en el árbol de dispositivos. En el controlador hay un archivo. IoConfig.par, en el que previamente se guardaron los parámetros del dispositivo con los valores actuales.

  1. Añadir en el diálogo Herramientas → Personalizar de la categoría equipo El comando Lea el archivo de parámetros del PLC en la configuración añadido a un menú de la interfaz.

  2. Seleccione el objeto de dispositivo PLC en el árbol de dispositivos y abra el menú contextual.

  3. Elige el comando Lea el archivo de parámetros del PLC en la configuración.

    Construye automáticamente CODESYS establece una conexión con el controlador y lee los parámetros del archivo par. Estos se actualizan en consecuencia en la pestaña con los parámetros del dispositivo.

Depende del tipo de dispositivo si puede o no configurar una imagen de E/S en variables de proyecto o incluso en bloques de funciones completos. Configurar una imagen de E/S significa vincular los canales de entrada y salida del dispositivo con las variables del proyecto. También usamos el término "cartografía".

En general, tenga en cuenta lo siguiente para asignar entradas y salidas de un dispositivo a variables en CODESYS:

  • No puede escribir en variables que están asignadas a una entrada.

  • Solo puede asignar una variable ya existente a 1 entrada.

  • Puede crear nuevas variables implícitas globales directamente en la imagen de E/S y asignarlas a un canal de dispositivo.

  • El dispositivo especifica el diseño de la memoria de las estructuras.

  • Puede cambiar direcciones y corregir valores en la imagen de E/S.

  • Para cada variable asociada con un canal de E/S en el Pestaña: <nombre del dispositivo> Asignación de E/S está asignado, puede generar "variables forzadas" durante la compilación de la aplicación (ver más abajo). Puede usar estas variables, por ejemplo, para forzar un valor en la entrada o salida al poner en marcha un sistema a través de una visualización/HMI.

  • Puede transferir cambios en la imagen de E/S al controlador con un cambio en línea.

  • Si se utiliza un puntero a la entrada de un dispositivo, el acceso se considera acceso de escritura, p. pTest := ADR(input);. Esto lleva a una advertencia del compilador durante la generación del código "...kein gültiges Zuordnungsziel". Si necesita una construcción de este tipo, necesita el valor de entrada input primera copia a una variable con acceso de escritura.

  • Una dirección de E/S también se puede vincular a una variable a través de la "declaración AT" en el código IEC. Dado que la configuración de un dispositivo cambia a menudo, recomendamos realizar las asignaciones únicamente en el editor de dispositivos.

    Si utiliza la declaración AT, tenga en cuenta lo siguiente:

    • Una declaración AT solo está permitida para variables locales o globales, no para variables de entrada o salida de bloques.

    • No se pueden crear "variables forzadas" implícitas para E/S (ver más abajo) para declaraciones AT.

    • Si utiliza una declaración AT con variables de estructura o bloque de funciones, todas las instancias accederán a la misma ubicación de memoria. Esto corresponde entonces al uso de "variables estáticas" en lenguajes de programación clásicos como "C".

Importante

Cuando se utiliza un puntero a la entrada de un dispositivo, el acceso (por ejemplo pTest := ADR(input);) como acceso de escritura. Esto lleva a una advertencia del compilador durante la generación del código "...kein gültiges Zuordnungsziel".

Si necesita una construcción de este tipo, debe usar el valor de entrada (input) primero a una variable con acceso de escritura.

Sugerencia

Alternativamente, puede asignar una variable a una dirección en el código de programación utilizando la declaración AT. Sin embargo, teniendo en cuenta los posibles cambios en la configuración del dispositivo, recomendamos realizar las asignaciones solo en el editor de dispositivos.

Sugerencia

Puede convertir la configuración de asignación de E/S de un dispositivo en una csv-Exportar archivo de dicha importación.

Para más información, ver: Exportar imagen de E/S a CSV

Para más información, ver: Creación de variables implícitas para forzar E/S

Requisito: Hay un dispositivo adjunto en el árbol de dispositivos de su proyecto que tiene una configuración de imagen de E/S en CODESYS apoya Por lo tanto, ingresa al editor de dispositivos en la pestaña Asignación de E/S una representación tabular de los canales de entrada y salida del dispositivo con detalles de las direcciones y tipos de datos.

Asignación de tipos de datos "demasiado grandes"

Si asigna una variable de un tipo de datos mayor que un byte a una dirección de byte, ¡el valor de la variable se truncará al tamaño de byte allí! Para monitorear el valor de la variable en el diálogo Asignación de E/S esto significa: El valor que la etiqueta tiene actualmente en el proyecto se muestra en el elemento "Raíz" de la dirección. Los valores de bit actuales individuales del byte se muestran uno tras otro en los elementos de bit a continuación, pero esto puede no ser suficiente para el valor de variable completo.

Sugerencia

Si un UNION está representado por canales de E/S en el cuadro de diálogo de la imagen, depende del dispositivo si también es posible la asignación al elemento "Raíz".

  1. Por ejemplo, declarar una variable en un bloque de programa xBool4 del tipo BOOL, con el que desea acceder a una entrada del dispositivo de destino desde la aplicación.

  2. Abra el editor de dispositivos haciendo doble clic en el objeto del dispositivo en el árbol de dispositivos, luego presione la pestaña Asignación de E/S <nombre del dispositivo>.

  3. mira la columna variable con la visualización de los canales de entrada del dispositivo _cds_icon_input_channel.png y canales de salida del dispositivo _cds_icon_output_channel.png, que dependiendo del dispositivo todavía a través de nodos organizacionales _cds_icon_folder.png se puede ordenar Supongamos que hay una entrada de dispositivo de tipo BYTE. Se muestra con sus direcciones de bits individuales (canales de bits) debajo del BYTEnodo mostrado.

  4. Nota: Al mapear variables estructuradas, el editor le impide copiar tanto la variable de estructura (por ejemplo, a %QB0), así como elementos de estructura individuales (por ejemplo, en %QB0.1 y QB0.2) ingresar. Esto significa: si hay una entrada principal con un subárbol de entradas de canales de bits en la tabla de imágenes, puede ingresar una variable en la fila de la entrada principal o en las filas de los subelementos (canales de bits), pero no en ambos.

    Ahora puede asignar todo el canal con una variable del tipo apropiado, O direcciones de canal de bits individuales con variables del tipo apropiado BOOL o BIT. Primero haga doble clic en un canal de entrada de bits en la columna Variables.

    Se abre un campo de entrada.

  5. Para colocar una variable existente en el canal, debe ingresar la variable del proyecto deseado con la ruta completa. abrir sobre _cds_icon_three_dots.png la ayuda de entrada. Por ejemplo, seleccione en PLC_PRG variable declarada Application.PLC_PRG.xBool4.

    Se inserta la variable. en la columna cartografía aparece el icono _cds_icon_map_to_existing_variable.png. La dirección ahora está tachada. Esto no significa que la dirección ya no esté disponible, porque los valores de las variables existentes se administran en una ubicación de memoria diferente. Pero: aún no debe asignar otra variable a la dirección, especialmente en el caso de las salidas, para evitar ambigüedades al escribir los valores.

    Nota: A partir de la versión del compilador V3.5 SP11, el valor de inicialización de la variable se usa automáticamente como valor predeterminado para la asignación a una variable existente. El campo valor por defecto solo se puede editar si está asignando a una variable recién creada o si no se ha ingresado ninguna asignación. En versiones anteriores, el usuario tenía que asegurarse explícitamente de que el valor predeterminado y el valor de inicialización fueran idénticos.

    _cds_mapping_bit_on_existing_variable.png
  6. Vuelva a eliminar la asignación de variables. Haga clic en la raíz de la guarida del canal BYTE-Nodo. Seleccione la variable nuevamente usando la ayuda de entrada Application.PLC_PRG.byte_gotodevice.

    La variable está insertada, todas las direcciones de bit del canal principal están tachadas y no debe usarlas adicionalmente.

    _cds_mapping_root_on_existing_variable.png

A continuación, asigna una salida de dispositivo a una variable implícita global que utiliza directamente en el cuadro de diálogo para este propósito. Asignación de E/S generar nuevos.

Sugerencia

Así el diálogo Asignación de E/S otro lugar para declarar una variable global.

Requisito: Hay un dispositivo adjunto en el árbol de dispositivos de su proyecto que tiene una configuración de imagen de E/S en CODESYS apoya Así lo ves en el editor de dispositivos en la pestaña Asignación de E/S una representación tabular de los canales de entrada y salida del dispositivo con detalles de las direcciones y tipos de datos.

  1. Haga doble clic en el objeto de dispositivo en el árbol de dispositivos para abrir el editor de dispositivos, pestaña Asignación de E/S <nombre del dispositivo>.

  2. En la tabla de mapeo, haga clic en una entrada de canal en la columna variablepara abrir un campo de entrada.

  3. Ingrese un nombre simple (sin ".") para una nueva variable, ejemplo: myBool.

    CODESYS crea la variable como una variable global implícita en el proyecto y la asigna directamente a la dirección del canal. En este caso, por lo tanto, la dirección no aparece tachada como en las asignaciones a variables existentes. _cds_icon_create_new_variable.png.

    _cds_mapping_to_new_variable.png

Si el dispositivo lo admite, puede asignar bloques de funciones completos a un canal de entrada o salida. Puede usar esto para contar la frecuencia de los cambios de señal o escalar el valor de un canal con fines de mantenimiento, por ejemplo.

A continuación, asigna un canal de salida de dispositivo a un bloque de funciones. En este ejemplo, el bloque escala el valor de salida del canal.

Requisito: Hay conectado en el proyecto un dispositivo con una salida digital que admita FB Mapping. Hay un módulo de funciones. Scale_Output_Int con la siguiente implementación. Los atributos en el propio bloque y delante del parámetro de salida con los que se va a procesar la salida del canal son importantes.

{attribute 'io_function_block'}
FUNCTION_BLOCK Scale_Output_Int
VAR_INPUT
    iInput : INT;
    iNumerator : INT;
    iDenominator : INT :=1;
    iOffset : INT := 0;
END_VAR
VAR_OUTPUT
 {attribute 'io_function_block_mapping'}
    iOutput : INT;
END_VAR
VAR
END_VAR
IF iDenominator <> 0 THEN
    iOutput := TO_INT(TO_DINT(iInput) * TO_DINT(iNumerator) / TO_DINT(iDenominator)) + iOffset;
  1. Abre la pestaña Asignación de E/S del módulo del dispositivo. Haga doble clic en la salida que se conectará al bloque de funciones. Clic en el botón _cds_icon_add_fb.png Agregar FB para el canal de E/S.

    El diálogo Seleccionar bloque de funciones se abre En la parte izquierda se puede ver debajo del nodo solicitud al menos el bloque de construcción Scale_Output_int. Si se incluyen bibliotecas en el proyecto que contienen los bloques correspondientes, estos también aparecen para su selección.

  2. Elija el bloque de construcción myScaleOutputInt.

    Después de confirmar con OK se convierte en la ruta del parámetro del bloque de función iOutput en la columna variable introducido en el cuadro de diálogo de mapeo. La ruta consta del nombre de la aplicación, el nombre del canal del dispositivo y la salida FB seleccionada: ejemplo App1.Out_4_Int_myScale_Output_Int_1.iOutput.

  3. Seleccione la entrada del canal y elija el botón _cds_icon_goto_definition.png Ir a Instancia.

    El foco cambia a la pestaña <nombre del dispositivo> Objetos IEC a la entrada creada allí para el nuevo objeto IEC Out_4_Int_myScale_Output_Int_1. En el modo en línea, puede ver el valor actual del parámetro, escalado por el FB, en esta vista iOutput para el canal Out_4_Int. También puede escribir y forzar el valor como en otras vistas de monitoreo.

Para más información, ver: Pestaña: '<nombre del dispositivo> Objetos IEC y io_function_block, io_function_block_mapping

Puede mapear el valor de la dirección de un canal completo (¡no el de un solo subelemento del canal!) en la tabla de mapeo en la pestaña Asignación de E/S <nombre del dispositivo> cambiar y arreglar. Esto permite adaptar el direccionamiento a una configuración de máquina dada y mantener el valor de la dirección incluso si cambia la disposición de los módulos. Por defecto, un cambio en la disposición conduce a un ajuste automático de los valores de dirección.

Requisito: Tiene un proyecto con una imagen de E/S. Consulte las secciones relevantes de la página de ayuda anterior.

  1. Haga doble clic en el objeto de dispositivo en el árbol de dispositivos para abrir el editor de dispositivos, pestaña Asignación de E/S <nombre del dispositivo>.

  2. En la tabla de mapeo, haga clic en una entrada de canal en la columna habla apara abrir un campo de entrada. ¡Esto solo es posible para la dirección "raíz" de un canal, no para uno solo de sus subelementos!

    Por lo tanto, cambie la entrada de la dirección superior de un canal en la tabla, por ejemplo, de QB0 sobre QB1. Deje el campo de entrada.

    El valor de la dirección ha cambiado. El símbolo aparece delante de la dirección. _cds_icon_address_fixed.png. Indica que la dirección es fija. Las direcciones de los subelementos del canal también se modifican en consecuencia. Si ahora cambia la posición del objeto de dispositivo dentro de otros objetos de dispositivo con canales de entrada/salida en el árbol de dispositivos, encaja CODESYS no haga coincidir estas direcciones con el nuevo pedido como lo harían si no estuvieran arregladas.

    _cds_modifying_address_in_mapping_dialog.png
  3. Para deshacer el cambio o corrección manual, abra de nuevo el campo de entrada del valor de la dirección, elimine la entrada de la dirección y presione Entrar.

    CODESYS restablece la dirección y las direcciones posteriores afectadas a los valores que tenían antes del cambio y elimina el símbolo _cds_icon_address_fixed.png.

Para más información, ver: Direcciones

Dependiendo del dispositivo que conecte en el proyecto, actualizado en CODESYS las variables presentes en sus entradas y salidas de diferentes maneras. Puede realizar la configuración para esto en el cuadro de diálogo Asignación de E/S cambiar explícitamente.

Requisito: Ha compilado una aplicación con una configuración de dispositivo que contiene imágenes de E/S sin errores. El hardware asociado y el sistema de bus están funcionando. tienes el comando En línea → Iniciar sesión conectado al controlador, la aplicación cargada e iniciada.

  1. Abre la pestaña Asignación de E/S del dispositivo de control en el editor de dispositivos. Para abrir el editor, haga doble clic en el objeto de dispositivo en el árbol de dispositivos.

    La tabla de mapeo ahora también contiene las columnas Valor actual y Nuevo valor.

    Si una variable de estructura se refiere al elemento "raíz" de una dirección1 se muestra CODESYS ningún valor en esta línea en modo en línea. Sin embargo, si, por ejemplo, un DWORDla variable se asigna a la dirección, los valores respectivos se monitorean tanto en la línea "Raíz" como en las líneas del canal de bits sangradas debajo.

    Básicamente, el campo en la línea "Raíz" siempre permanece vacío si el valor se compone de varios subelementos.

    1 "Raíz" = elemento superior de esta dirección en el cuadro de diálogo de mapeo

  2. Solicitar una entrada en la columna Nuevo valor Ingrese un valor de variable específico y presione F7 por un forzamiento o control+F7 para una escritura del valor.

    en la columna Valor actual - al igual que con la monitorización en el editor de declaraciones o en las listas de monitorización - el valor de la variable forzada se muestra con un símbolo F rojo delante o el valor escrito.

Importante

En modo online, las entradas y salidas que NO está utilizando el código del PLC no son leídas por el PLC, lo que significa que el valor visualizado puede ser erróneo. el Valor actual de la variable afectada aparece con un fondo gris.

_cds_img_mapping_online.png

Durante la puesta en marcha de un sistema o máquina, puede ser necesario "forzar" los valores presentes en las entradas y salidas. Si un dispositivo admite esto, puede crear "variables forzadas" especiales para este propósito y usarlas en una visualización HMI, por ejemplo.

Requisito: El dispositivo es compatible con la funcionalidad. Tiene un proyecto en el que está configurada una imagen de E/S para el dispositivo y un objeto de programa PLC_PRG está incluido.

  1. Haga doble clic en el objeto de dispositivo en el árbol de dispositivos para abrir el editor de dispositivos, pestaña Configuración del PLC.

  2. Activa la opción Crear variables forzadas para la imagen de E/S.

  3. imprenta F11para traducir la aplicación.

    Se crean dos variables para cada canal de E/S. de acuerdo con la siguiente sintaxis, reemplazando los espacios en el nombre del canal con guiones bajos:

    <Gerätename>_<Kanalname>_<IECAdresse>_Force del tipo BOOL para activar y desactivar el forzado

    <Gerätename>_<Kanalname>_<IECAdresse>_Value del tipo de datos del canal para definir el valor que desea forzar en el canal

    Estas variables están en el asistente de entrada en la categoría Variables / IoConfig_Globals_Force_Variables accesible. Puedes usarlos en objetos de programación, en visualizaciones, en configuración de símbolos, etc. CODESYS usar.

  4. Abra el bloque de construcción PLC_PRG, pon el foco en la parte de implementación y pulsa F2.

    Se abre la ayuda para entradas. En categoría Variables / IoConfig_Globals_Force_Variables las variables están listas como se describe arriba.

    Un flanco ascendente en la "Variable de fuerza" activa el forzado de la entrada o salida respectiva con el valor dado por la "Variable de valor". Un flanco descendente desactiva el forzado. Desactivación restableciendo la variable "Forzar" a FALSE es un requisito previo para que se fuerce un nuevo valor!

¡Tenga en cuenta las siguientes restricciones!

  • El forzado a través de las variables de fuerza implícitas solo es posible para los canales que están en el Asignación de E/S del dispositivo se asignan a una variable existente o recién creada.

  • No es posible forzar a través de las variables de fuerza implícitas para entradas y salidas que no se utilizan, o para aquellas que se asignan a una variable a través de una declaración AT en un programa de aplicación.

  • Canales de E/S que desea forzar a través del mecanismo CODESYS uso en al menos una tarea.

  • CODESYS indica entradas forzadas en la monitorización con el símbolo de fuerza rojo, ¡pero no entradas-salidas forzadas! El controlador de E/S solo usa implícitamente el valor forzado para escribir en el dispositivo.

Para más información, ver: Forzado y Escritura de Variables

Hay una tabla que muestra la imagen de E/S de un dispositivo más las imágenes de E/S de todos los subelementos montados debajo de él en el árbol de dispositivos. Puede editar las imágenes de E/S allí de la misma manera que en las tablas de asignación individuales de los respectivos editores de dispositivos.

Requisito: en el árbol de dispositivos de su proyecto hay conectados varios dispositivos de control, cada uno de los cuales permite una configuración de imagen de E/S.

  1. Seleccione el nodo raíz del árbol de dispositivos y elija el comando en el menú contextual Editar imagen de E/S.

    El diálogo Editar imagen de E/S aparece, en el que aparece en una tabla la configuración de la imagen de E/S de todos los dispositivos incluidos en el proyecto. Puede editar las entradas como en el cuadro de diálogo. Asignación de E/S del editor de dispositivos asociado.

  2. Ahora seleccione uno de los objetos de control en el árbol de dispositivos y seleccione el comando nuevamente en el menú contextual Editar imagen de E/S .

    El diálogo Editar imagen de E/S ahora solo muestra la tabla de E/S para las configuraciones de imagen de E/S que se encuentran en y debajo del objeto seleccionado.

  3. Establecer uno deseado en la barra encima de la mesa filtrar o escriba en el cuadro variable de búsqueda Introduzca un nombre de variable para ver el uso de esa variable en la asignación.

    Trabajar en la ventana funciona como en la pestaña Asignación de E/S <nombre del dispositivo> descrito.