Adr_Of_Var

Devuelve la dirección de la entrada o salida

Esta función devuelve la dirección de una variable a la entrada o a la salida de una instrucción de sistema no sobrecargada.

Parámetros

Entrada

Unnamed input (ANY)

Este pin debe estar conectado a la entrada o salida de una función básica para la que estén permitidos los tipos de datos INT, WORD

Proporciona la dirección de inicio de 16 bits de las variables de entrada/salida

Salida

Unnamed output (ANY_IN_UNITS_OF_WORDS)

Variable de entrada/salida para la que se necesita la dirección de inicio

Observaciones

  • Se devuelve una dirección de inicio de 16 bits en Adr según las variables de entrada/salida Var. Esta entrada/salida tiene que estar directamente conectada a la entrada o salida de 16 bits de una instrucción de sistema no sobrecargada.

  • Solo para los editores LD y FBD: Para insertar la instrucción en la ventana de programación, seleccionar Instrucción de entrada o Instrucción de salida desde el panel Instrucciones.

Ejemplo

DUT

En DUTs, se declara un tipo de datos estructurados cuyos elementos son diversas variables no booleanas.

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU.Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

	VAR
		start: BOOL:=FALSE;
		DutNonBoolean: @'Dut_NonBoolean';
	END_VAR

En este caso se declara la variable DutNonBoolean del tipo de dato DUT. No se asigna ningún valor a los elementos de la variable DutNonBoolean puesto que les valores de la variable DutNonBoolean se sobrescriben después de ejecutar la función F12_ICRD.

Cuando la variable start pasa a TRUE, se ejecuta la función F12_ICRD. La función lee los valores de la tarjeta IC a partir de la dirección 100 y escribe la información en la variable DutNonBoolean. No olvidar que la tarjeta IC tiene que estar debidamente formateada a través del menú Online > Tarjeta IC... y debe contener los valores a partir de la dirección 100.

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 12 ;
        NETWORK_BODY
B(B_COMMENT,,It reads the values on the IC card from address 100 and writes theø^information to the variable DutNonBoolean,2,0,27,2,);
B(B_F,P12_ICRD!,Instance,9,2,17,7,,?DEN?Ds1_Start?Ds2_Number?AENO?Cd_Start);
B(B_VARIN,,start,7,3,9,5,);
B(B_VARIN,,100,7,4,9,6,);
B(B_VAROUT,,DutNonBoolean,26,4,28,6,);
B(B_F,Adr_Of_Var_O!,Instance,18,4,26,6,,?D?C);
B(B_F,Size_Of_Var!,Instance,10,10,17,12,,?D?C);
B(B_VARIN,,DutNonBoolean,8,10,10,12,);
B(B_F,INT_TO_DINT!,Instance,17,10,25,12,,?D?C);
L(17,5,18,5);
L(1,0,1,12);
L(7,6,9,6);
L(7,6,7,9);
L(7,9,26,9);
L(26,9,26,11);
L(25,11,26,11);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Se pueden obtener más ejemplos desde el directorio "Ejemplos" del CD de instalación del FPWIN :

  • Lectura, escritura en la tarjeta IC

  • Lectura, escritura en la memoria compartida

Modificado el: 2021-09-27Comentarios sobre esta páginaLínea directa de Panasonic