Skip to main content

Diálogos de llamada con interfaces

Puede definir una interfaz para una visualización que se llama como un cuadro de diálogo.

Cree una visualización para esto con el tipo de visualización Diálogo y declarar una interfaz para el diálogo. La referencia a la visualización en una visualización primaria por medio de una entrada de usuario y transfiere los parámetros a la interfaz.

Si llama a la visualización como una visualización integrada, los parámetros que se transfieren deben ser variables de un tipo de datos básico. Si la visualización se llama como CODESYS TargetVisu o CODESYS WebVisu, los parámetros también pueden tener tipos de datos definidos por el usuario.

Procedimiento principal

  1. Establezca los tipos de visualización de la visualización en diálogo.

  2. Declare variables en el editor de interfaz del diálogo.

    El diálogo tiene una interfaz. Puede transferir parámetros al llamar al cuadro de diálogo.

  3. Configure los elementos del diálogo y use las variables de la interfaz.

  4. Seleccione un elemento en otra visualización (generalmente la visualización principal) para configurar cómo se abre el cuadro de diálogo.

  5. En el Configuración de entrada → OnMouseDown propiedad, haga clic Configurar.

    los Configuración de entrada se abre el cuadro de diálogo.

  6. Seleccione Abrir cuadro de diálogo en la lista de acciones de entrada seleccionadas.

  7. Seleccione uno de los Diálogo cuadro de lista.

    Si el cuadro de diálogo seleccionado tiene una interfaz, las variables de la interfaz se enumeran a continuación.

  8. Asigne un parámetro de transferencia a las variables de interfaz en el Valor columna.

  9. Seleccione el resultado para el que se actualizaron los parámetros en el Actualizar _cds_icon_output_channel.png y _cds_icon_varinout.png Parámetro en caso de resultados lista.

  10. Activa la opción Abrir cuadro de diálogo modal. Hacer clic OK para salir del diálogo.

    La apertura del cuadro de diálogo está configurada.

Sugerencia

Ejecutar un diálogo varias veces al mismo tiempo requiere múltiples instancias del diálogo. Estos ya deben haber sido descargados en el dispositivo de visualización al descargar la aplicación. Para ello, configure el número de instancias para descargar en el Administrador de visualización (visualizaciones pestaña).

ejemplo 19. Diálogo: visChangeUserLevel:
ejemplo 20. visualización principal: visMain:
_visu_img_vismain.png
tabla 6. Lista de elementos de la visualización visMain:

Escribe

Nombre

Propiedades del elemento

Descripción

#5 Text field

Button for change user level

Textos → Texto: %s

Salida con marcador de posición

Variables de texto → Variable de texto: PLC_PRG.iLevel

Asignación de la PLC_PRG.iLevel variables al marcador de posición. Incluye el número de nivel.

#6 Button

Title

Textos → Texto: Change user level

Configuración de entrada → OnMouseDown → Abrir diálogo: Open Dialog: visChangeUserLevel

Cuando un usuario hace clic en el Change User Level botón, el visChangeUserLevel Se abre el cuadro de diálogo con la lista de parámetros almacenada aquí.

Sugerencia: haga clic en Configurar para ver la configuración almacenada en el Configuración de entrada diálogo (acción de entrada Abrir cuadro de diálogo).



tabla 7. Configuración de la llamada de diálogo visChangeUserLevel

Parámetro

Escribe

Valor

Descripción

La lista de parámetros se almacena en el Configuración de entrada diálogo (acción de entrada Abrir cuadro de diálogo).

sItfTitle

STRING

'ChangeUse user level'

Transferencia de una cadena para el título.

sItfLevel0

STRING

'pwd0'

Transferencia de una cadena como contraseña para Level0.

sItfLevel1

STRING

'pwd1'

Transferencia de una cadena como contraseña para Level1.

sItfLevel2

STRING

'pwd2'

Transferencia de una cadena como contraseña para Level2.

sItfLevel3

STRING

'pwd3'

Transferencia de una cadena como contraseña para Level3.

sItfLevel4

STRING

'pwd4'

Transferencia de una cadena como contraseña para Level4.

sItfLevel5

STRING

'pwd5'

Transferencia de una cadena como contraseña para Level5.

sItfLevel6

STRING

'pwd6'

Transferencia de una cadena como contraseña para Level6.

sItfLevel7

STRING

'pwd7'

Transferencia de una cadena como contraseña para Level7.

iItfLevel

INT

PLC_PRG.iLevel

Transferencia de una variable para el nivel especificado por el usuario.

sItfPwd

STRING

PLC_PRG.sPwd

Transferencia de una variable para la contraseña especificada por el usuario.



tabla 8. Actualización de lista y parámetro en caso de resultado

Valor

Descripción

OK

Activado



Abrir cuadro de diálogo modal

Habilitado La entrada fuera del cuadro de diálogo no es posible.



La siguiente aplicación llama al Cambiar nivel de usuario y pide al usuario que seleccione un nivel y especifique una contraseña. Si la contraseña está de acuerdo, entonces el OK el botón está habilitado. Entonces el usuario puede cerrar el cuadro de diálogo. También se aplica la entrada del nivel.

_visu_img_dialog_change_user_level.png

Declaración de la interfaz de diálogo. visChangeUserLevel:

VAR_INPUT
    sTitle: STRING; // titel of the dialog box
    sItfLevel0: STRING; //password level 0
    sItfLevel1: STRING; //password level 1
    sItfLevel2: STRING; //password level 2
    sItfLevel3: STRING; //password level 3
    sItfLevel4: STRING; //password level 4
    sItfLevel5: STRING; //password level 5
    sItfLevel6: STRING; //password level 6
    sItfLevel7: STRING; //password level 7
END_VAR
VAR_IN_OUT
    iItfLevel: INT; // user input: level
    sItfPwd: STRING; //user input: password
END_VAR                        
tabla 9. Lista de elementos del cuadro de diálogo visChangeUserLevel:

Escribe

Nombre

Propiedades del elemento

Descripción

#0 Image

Background

identificación estática: VisuDialogs.ImagePoolDialogs.Login

La propiedad asigna la imagen de un cuadro de diálogo en blanco con un fondo gris y una barra de título azul en blanco al elemento. La imagen está incluida en el VisuDiálogos Biblioteca.

#1 Rectangle

Title

Textos → Texto: %s

Salida con marcador de posición para variable de texto

Variables de texto → Variable de texto: sItfTitle

Asignación de variable de interfaz sItfTitle para el que se transfiere un parámetro en el momento de la llamada.

#2 Radio button

Input level

Variable: iItfLevel

Asignación de variable de interfaz iItfLevel para el que se transfiere un parámetro en el momento de la llamada. Incluye la entrada del usuario en tiempo de ejecución.

Número de columnas: 4

Orden de los botones de opción: De izquierda a derecha

Mostrar

Configuración del botón de opción → Botón de opción → Áreas: [0] hasta [7]

[<n>] → Texto: <n>

Etiqueta de ocho botones de radio con números del 0 al 7

#3 Text field

Input password

Textos → Texto: %s

Salida con marcador de posición para variable de texto

Variables de texto → Variable de texto: sItfPwd

Asignación de variable de interfaz sItfPwd para el que se transfiere un parámetro en el momento de la llamada. Incluye la entrada del usuario en tiempo de ejecución.

Configuración de entrada → OnMouseDown → Escribir variable: Variable:,InputType:Edit,Use text output variable: TRUE

En el Configuración de entrada diálogo, Entrada de texto se selecciona para el Tipo de entrada cuadro de lista y la opción Usar variable de salida de texto Está activado.

#4 Text field

Label for level

Textos → Texto: Level:

Etiqueta

#5 Text field

Label for password

Textos → Texto: Password

Etiqueta

#6 Button

OK

Textos → Texto: OK

Etiqueta

Colores → color: Element base color

Colores → Color de alarma: Alarm filling color

Configuración de la pantalla en colores dependientes del estado. Puedes cambiar entre colores.

Variables de color → Alternar color: sItfPwd <> MUX(iItfLevel, sItfLevel0, sItfLevel1, sItfLevel2, sItfLevel3, sItfLevel4, sItfLevel5, sItfLevel6, sItfLevel7);

Si la contraseña y la entrada del usuario no concuerdan, entonces la expresión es TRUE. Entonces el botón se muestra en el color de la alarma.

Variables de estado → Desactivar entradas: sItfPwd <> MUX(iItfLevel, sItfLevel0, sItfLevel1, sItfLevel2, sItfLevel3, sItfLevel4, sItfLevel5, sItfLevel6, sItfLevel7);

Si la contraseña y la entrada del usuario no concuerdan, entonces la expresión es TRUE. El botón está desactivado.

Si la contraseña está de acuerdo, entonces el botón está habilitado.

Configuración de entrada → OnMouseDown → Cerrar diálogo: Close Dialog: visChangeUserLevel, Result: OK

Si un usuario hace clic en el OK botón, luego el visChangeUserLevel se cierra el cuadro de diálogo y se actualizan los parámetros.

#7 Button

Cancel

Textos → Texto: Cancel

Etiqueta

Colores → color: Element base color

Mostrar

Configuración de entrada → OnMouseDown → Cerrar diálogo: Close Dialog: visChangeUserLevel, Result: Cancel

Si un usuario hace clic en el Cancelar botón, luego el visChangeUserLevel el cuadro de diálogo está cerrado.





ejemplo 21. Código de aplicación PLC_PRG:
PROGRAM PLC_PRG
VAR
    iLevel: INT;
    sPwd : STRING;
END_VAR                       


ejemplo 22. Visualización en tiempo de ejecución
_visu_img_vismain_rt.png

Después de hacer clic en el botón, se abre el cuadro de diálogo y permite la entrada. Si el texto especificado concuerda con el texto almacenado, entonces OK está habilitado:

_visu_img_vismain_open_dialog_rt.png

Después de hacer clic OK, se aplica la selección.

_visu_img_vismain_level4_rt.png


Sugerencia

El ejemplo muestra el procedimiento para múltiples valores devueltos. Sin embargo, la contraseña se puede devolver más fácilmente con una variable local en el cuadro de diálogo.

Acceder a los parámetros mediante programación

Las variables declaradas en la interfaz de una visualización están disponibles automáticamente como variables de estructura. Se identifican por <name of visualization>_VISU_STRUCT. Por lo tanto, puede acceder a las variables de interfaz de las visualizaciones que aparecen como un cuadro de diálogo. Normalmente se usa la estructura en el código de la aplicación de una función que es llamada por una entrada de usuario.

Pasar punteros como parámetros

Para pasar una estructura de datos compleja, puede marcar una variable de interfaz de tipo VAR_IN_OUT con el atributo pragma VAR_IN_OUT_AS_POINTER y pasar un puntero o referencia a él como un parámetro.

procedimiento. Procedimiento para el uso de referencias
  1. Declarar el objeto de datos de usuario (DUT).

  2. En el editor de interfaz de un diálogo, declare una variable de interfaz (VAR_IN_OUT) como una referencia al objeto de datos asignando el atributo 'VAR_IN_OUT_AS_POINTER' a la variable.

  3. Programe la interfaz de usuario: use el diálogo en una visualización o asigne el diálogo en la configuración de entrada de un elemento de visualización. Entonces es posible el acceso a los datos referenciados.

ejemplo 23. Ejemplo: Uso de una interfaz con el pragma 'VAR_IN_OUT_AS_POINTER'.
FUNCTION_BLOCK ControlFB
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
    bOk : BOOL := TRUE;
    nCounter : INT;
    nValue : INT;
END_VAR
nCounter := nCounter + 1;
                        

Declaración de una variable de interfaz con VAR_IN_OUT_AS_POINTER

_visu_img_varinoutaspointer_example.png

Interfaz de usuario: Se abre el cuadro de diálogo:

_visu_img_varinoutaspointer_dialog_example.png