FP_IPV4_SET_ADDRESS

Establecer la dirección IP mediante el protocolo IPv4

Esta instrucción FP establece una conexión con la dirección IP especificada por sAddress a través del protocolo de Internet V4.

Parámetros

Entrada

sAddress (STRING)
  • Direcciones IPv4 (parámetro requerido)

    Palabra clave: IP

  • Máscara de red (parámetro opcional)

    Palabra clave: MASK

  • Puerta de enlace (parámetro opcional)

    Palabra clave: GWIP

    Especificar "0" cuando no se vaya a utilizar la puerta de enlace predeterminada.

Ejemplos:
  1. Ajustar la dirección IP a 192.168.1.5, usar la máscara de red 255.255.255.0 y la puerta de enlace 192.168.1.1: 'IP=192.168.1.5,MASK=255.255.255.0,GWIP=192.168.1.1'

  2. Ajsutar la dirección IP a 192.168.1.5, no usar una máscara de red, usar la puerta de enlace 192.168.1.1: 'IP=192.168.1.5,,GWIP=192.168.1.1'

Salida

bError (BOOL)
  • si se supera el tiempo de espera de la conexión

  • si la dirección IP no es válida

Cuando se produce un error, consulte la variable del sistema sys_iEthernetConnectionErrorCode para conocer el número de código de error.

Observaciones

  • Se recomienda ejecutar esta instrucción solo una vez al arrancar el PLC. No ejecutarla repetidamente.

  • Se tarda tres segundos o más en completar la inicialización.

  • El número de caracteres de los datos de cadena no debe superar los 256.

  • Esta instrucción no está disponible en los programas de interrupción.

  • Asegurarse de que la cadena en sAddress no contiene espacios en blanco. Utilizar la coma como carácter separador únicamente.

  • La dirección IPv4 es obligatoria. La máscara de red y la puerta de enlace pueden omitirse.

  • Se puede omitir una parte de los parámetros. Los ajustes no se modifican cuando los parámetros se omiten parcialmente.

  • Se pueden utilizar mayúsculas y minúsculas para especificar las palabras clave.

  • No cambiar el orden de las palabras clave. Especificar las palabras clave y sus parámetros de ajuste en el orden en que se enumeran aquí.

  • Antes de ejecutar la instrucción, asegurarse de que sys_bIsEthernetInitializing es FALSE. sys_bIsEthernetInitializing pasa a TRUE cuando se ejecuta la instrucción. Cuando ejecuta la instrucción mientras sys_bIsEthernetInitializing es TRUE, se produce un error.

  • Antes de ejecutar la instrucción, comprobar si la variable del sistema sys_bIsEthernetIPAddressAssigned es TRUE. Si es FALSE al ejecutar la instrucción, se producirá un error.

  • La instrucción solo puede ejecutarse cuando sys_bIsEthernetCableNotConnected es FALSE.

  • Cuando se produce un error, consulte la variable del sistema sys_iEthernetConnectionErrorCode para conocer el número de código de error.

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)
  • Si el valor especificado para un parámetro está fuera del rango permitido.

  • Si se especifica la misma palabra clave más de una vez

  • si la instrucción se ejecuta en un programa de interrupción

  • Si el número de caracteres de los datos de cadena supera los 256.

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • Si el valor especificado para un parámetro está fuera del rango permitido.

  • Si se especifica la misma palabra clave más de una vez

  • si la instrucción se ejecuta en un programa de interrupción

  • Si el número de caracteres de los datos de cadena supera los 256.

sys_bIsCarry (pasa a TRUE para un ciclo de scan)
  • si la instrucción se ejecuta con una dirección IP, máscara de red o puerta de enlace incorrecta, o con una combinación de direcciones IP incorrectas, sys_iEthernetConnectionErrorCode se ajusta al código de error correspondiente (1-4).

  • Si la instrucción se ejecuta mientras el cable Ethernet está desconectado. sys_iEthernetConnectionErrorCode pasa a "10: Cable Ethernet desconectado".

  • si la instrucción se ejecuta durante la inicialización de Ethernet, sys_iEthernetConnectionErrorCode pasa a "11: Ethernet se está inicializando".

Ejemplo

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
		bSetIpv4Address: BOOL:=FALSE;
		bGetConnection: BOOL:=FALSE;
		bGetMac: BOOL:=FALSE;
		dutIPv4Connection: FP_IPv4_CONNECTION_DUT;
		dutIPv4MAC: FP_IPv4_MAC_DUT;
	END_VAR

Cuerpo de la POU

Este ejemplo establece los parámetros de conexión Ethernet especificados por s_Address. Comprobar que los parámetros adecuados también están configurados en el navegador del proyecto en Registros del Sistema > Ethernet > Direcciones IP. Cuando bGetConnection se encuentra a TRUE, los parámetros de conexión se ingresan en la DUT FP_IPv4_CONNECTION_DUT. Cuando bGetMac se encuentra a TRUE, los parámetros de la dirección MAC se ingresan en la DUT FP_IPv4_MAC_DUT.

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bSetIpv4Address,4,2,6,4,R);
B(B_CONTACT,,sys_bIsEthernetInitializing,15,2,17,4,N);
B(B_F,FP_IPV4_SET_ADDRESS!,,31,1,43,5,,?DEN?DsAddress?AENO?CbError);
B(B_VARIN,,'IP=192.168.1.5~MASK=255.255.255.0~GWIP=192.168.1.1',29,3,31,5,);
B(B_VAROUT,,bError,43,3,45,5,);
L(1,0,1,5);
L(1,3,4,3);
L(6,3,15,3);
L(17,3,31,3);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bGetConnection,4,1,6,3,);
B(B_F,FP_IPV4_GET_CONNECTION!,,31,0,45,4,,?DEN?DnPort?AENO?CdutIPv4Connection);
B(B_VAROUT,,dutIPv4Connection,45,2,47,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,31,2);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bGetMac,4,1,6,3,);
B(B_F,FP_IPV4_GET_MAC!,,31,0,41,4,,?DEN?AENO?CdutIPv4MAC);
B(B_VAROUT,,dutIPv4MAC,41,2,43,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,31,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

IF DF(bSetIpv4Address) AND not(sys_bIsEthernetInitializing) then
    FP_IPV4_SET_ADDRESS(sAddress := 'IP=192.168.1.5,MASK=255.255.255.0,GWIP=192.168.1.1',
				bError => bError);
END_IF;
IF (bGetConnection) then
    FP_IPV4_GET_CONNECTION(nPort := SYS_ETHERNET_USER_CONNECTION_2, dutIPv4Connection => dutIPv4Connection);
END_IF;
IF (bGetMac) then
    FP_IPV4_GET_MAC(dutIPv4MAC => dutIPv4MAC);
END_IF;

Modificado el: 2024-04-25Comentarios sobre esta páginaLínea directa de Panasonic