FP_ETHERNET_CONNECTION_SET

Establecer una conexión Ethernet

Esta instrucción FP configura una conexión Ethernet con los ajustes especificados por sMode y sAddress en un rango de conexiones de usuario especificado por nStartPort y nEndPort. Comprobar que los parámetros adecuados también están configurados en el navegador del proyecto en Registros del Sistema > Ethernet > Conexión de usuario.

Parámetros

Entrada

sMode (STRING)

Configurar el modo de comunicación y los parámetros de conexión.

  • Modo de comunicación (parámetro requerido)

    Especifica los parámetros del modo de comunicación.

    Palabras clave:

    • 'MEWCOM': MEWTOCOL-COM (valor por defecto)

    • 'MEW7COM': MEWTOCOL7-COM

    • 'MODBUS': MODBUS-TCP

    • 'MEWDAT': MEWTOCOL-DAT

    • 'GP': Control de programa [propósito general] ( solo disponible para 16 conexiones de usuario)

    • 'GP_LARGE': Control de programa [propósito general] con recepción de gran capacidad (solo disponible para la primera conexión de usuario y solo en los tipos de PLC CPS4* y CPS3* versión 4.32 o superior)

  • Ajuste opcional (parámetro requerido)

    Algunos modos de comunicación tienen una opción de protocolo adicional que se puede activar. Especificar si se utiliza o no la opción para el modo de comunicación seleccionado.

    • 'OPTAV': Se activa la opción disponible para el modo de comunicación seleccionado

    • 'OPTNAV': No hay ninguna opción disponible para el modo de comunicación seleccionado o la opción disponible no está activada (por defecto)

    Método de comunicación

    'OPTAV'

    'OPTNAV'

    MEWTOCOL-COM

    Conectar con FP2 ET-LAN

    No conectar

    MEWTOCOL7-COM

    No disponible

    No disponible

    MODBUS-TCP

    No disponible

    No disponible

    MEWTOCOL-DAT

    Conectar con FP2 ET-LAN

    No conectar

    Control de programa [Propósito general]

    No añadir una cabecera especial

    Añadir una cabecera especial

    Control de programa [propósito general] con recepción de gran capacidad

    No añadir una cabecera especial

    No disponible. Si se especifica esta palabra clave, se produce un error de operación.

  • Especificar el tipo de conexión Ethernet que se abrirá (parámetro requerido).

    • 'CL': Conexión de cliente (por defecto)

      Para las conexiones de cliente, la dirección IP de la unidad de destino se incrementa en uno para cada conexión de usuario desde la conexión de usuario especificada por nStartPort hasta la conexión de usuario especificada por nEndPort.

    • 'SV': Conexión con el servidor

      Para las conexiones con el servidor, el número de puerta de la unidad maestra se incrementa en uno para cada conexión de usuario desde la conexión de usuario especificada por nStartPort hasta la conexión de usuario especificada por nEndPort.

  • Especificar el método de apertura de la conexión Ethernet (parámetro requerido).

    • 'AUTO': Abrir la conexión automáticamente (por defecto)

    • 'MANU': No abrir la conexión automáticamente (en su lugar, utilizar la instrucción FP_ETHERNET_CONNECTION_OPEN)

  • Especificar el tipo de comunicación Ethernet (parámetro requerido).

    • 'TCP': Ajuste TCP/IP (por defecto)

    • 'UDP': Ajuste UDP/IP (no disponible para el modo de comunicación GP_LARGE)

    Notas:

    • Si ha especificado UDP como tipo de comunicación, hay diferencia entre utilizar instrucciones FP y realizar los ajustes de configuración en el navegador. No existe hay ningún parámetro "tipo de apertura" en el navegador. No obstante, se debe especificar el "tipo de apertura" en las instrucciones FP. Usar las palabras clave 'SV' para una conexión esclava y 'CL' para una conexión maestra.

    • No especificar UDP para el modo de comunicación GP_LARGE ya que esto generará un error de operación.

  • Restablecer los valores por defecto

    'INITIAL': Restablece todos los ajustes a los valores por defecto

Ejemplos:

  1. Establecer MEWTOCOL-COM como modo de comunicación, utilizar la opción de conectar con FP2 ET-LAN, se debe establecer y abrir una conexión cliente automáticamente, y el tipo de comunicación es TCP/IP: 'MEWCOM,OPTAV,CL,AUTO,TCP'

  2. Establecer MODBUS-TCP como modo de comunicación, la opción no está disponible, se debe establecer una conexión con el servidor pero no abrirse automáticamente, y el tipo de comunicación es UDP/IP: 'MODBUS,OPTNAV,SV,MANU,UDP'

  3. Establecer el modo de comunicación como control de programa, añadir una cabecera especial, se debe establecer y abrir automáticamente una conexión con el servidor, y el tipo de comunicación es UDP/IP: 'GP,OPTNAV,SV,AUTO,UDP'

  4. Establecer el modo de comunicación como control de programa con recepción de gran capacidad, no añadir una cabecera especial, se debe establecer una conexión con el servidor pero no abrirse automáticamente, y el tipo de comunicación es TCP/IP: 'GP_LARGE,OPTAV,SV,MANU,TCP'

  5. Cuando se quiere restablecer la configuración a los valores por defecto para que el modo de comunicación sea MEWTOCOL-COM, no hay conexión con FP2 ET-LAN, se debe establecer y abrir automáticamente una conexión de cliente, y el tipo de comunicación es TCP/IP: 'INITIAL'

sAddress (STRING)

Ajustar los parámetros de dirección. Los ajustes difieren en función de si se especifican conexiones de cliente o de servidor.

Para las conexiones de cliente, es necesario especificar las direcciones IP y los números de puerto de las unidades de destino, así como el tiempo de desconexión para las conexiones no utilizadas.

En el caso de las conexiones de servidor, hay que especificar los números de puerto de la unidad maestra y el tiempo de desconexión de las conexiones no utilizadas.

  • Especificar una conexión de cliente

    • Dirección IP de la unidad de destino (parámetro requerido)

      Especificar la dirección IP de la unidad de destino para la primera conexión de usuario en el rango de conexiones de usuario especificado por nStartPort y nEndPort. La dirección IP para las demás conexiones de usuario se establece incrementando en uno el último bloque de la dirección IP. El ajuste para el número de puerto de destino y el tiempo de desconexión es el mismo para todas las conexiones de usuario y no se incrementará.

      Para una dirección IP, especificar la palabra clave IPv4 o IPv6 al principio.

      • Sintaxis para IPv4: por ejemplo, 'IPv4=111.122.133.144'

      • Sintaxis para IPv6: por ejemplo, 'IPv6=1111:122:2:1555:0:0:1888'

        Tener en cuenta que para las direcciones IPv4 existen restricciones de rango. Para IPv4, no se puede especificar 000.000.000.000 (0.0.0.0). Cuando se especifica una dirección IP no válida con una instrucción, no habrá ningún error de operación, pero la salida bError se ajustará a TRUE. La variable del sistema sys_iEthernetConnectionErrorCode se establece en "1: Se ha especificado una dirección IP incorrecta".

    • Número de puerto de la unidad destino (parámetro requerido)

      Palabra clave: 'PORT'

      Sintaxis:'PORT=xxxxx'

      Valores: 1–65535

    • Tiempo de desconexión de las conexiones no utilizadas (parámetro requerido)

      Palabra clave: 'DISCONT'

      Sintaxis: 'DISCONT=xxxx'

      Valores: 0–4294967295ms en intervalos de 10ms. 0: La conexión no se desconecta automáticamente.

    • Dirección de inicio del buffer de recepción (parámetro opcional)

      Este parámetro solo está disponible para FP0H C32ET/EP y FP-XH C40ET, C60ET, FP-XH C60ETF cuando el modo de comunicación está ajustado a controlado por programa [Propósito general].

      Palabra clave: 'BUFTOP'

      Sintaxis: 'BUFTOP=xxxx'

      Valores: DT0 hasta el último DT posible

    • Tamaño del buffer de recepción (parámetro opcional)

      Este parámetro solo está disponible para FP0H C32ET/EP y FP-XH C40ET, C60ET, FP-XH C60ETF cuando el modo de comunicación está ajustado a controlado por programa [Propósito general].

      Palabra clave: 'BUFSIZE'

      Sintaxis: 'BUFSIZE=xxxx'

      Valores: 0–2048

Ejemplos:

  1. Ajustar la dirección de la unidad destino a 192.244.2.10 y el número de puerto de la unidad destino a 9000, no desconectar automáticamente aunque la conexión no se use: 'IPv4=192.244.2.10,PORT=9000,DISCONT=0'

  2. Ajustar la dirección de la unidad destino a 1222::1555:0:0:1999 y el número de puerto de la unidad destino a 10000, desconectar automáticamente después de que la conexión no se haya utilizado durante 30 segundos: 'IPv6=1222::1555:0:0:1999,PORT=10000,DISCONT=30000'

  3. Ajustar la dirección de la unidad destino a 192.168.1.5 y el número de puerto a 4000, desconectar automáticamente después de que la conexión no se haya utilizado durante 50 segundos, ajustar la dirección de inicio del buffer de recepción a DT4 y el tamaño del buffer de recepción a 256: 'IPv4=192.168.1.5, PORT=4000, DISCONT=100, BUFTOP=DT4, BUFSIZE=256'

  • Especificar una conexión de servidor

    • Número de puerto de la unidad maestra (parámetro requerido)

      Palabra clave: 'PORT'

      Sintaxis: 'PORT=xxxxx'

      Valores: 1–65535

    • Tiempo de desconexión de las conexiones no utilizadas (parámetro requerido)

      Palabra clave: 'DISCONT'

      Sintaxis: 'DISCONT=xxxx'

      Valores: 0–4294967295ms en intervalos de 10ms. 0: La conexión no se desconecta automáticamente.

Ejemplos:

  1. Ajustar el número de puerto de la unidad maestra a 9000, no desconectar automáticamente aunque la conexión no se use: 'PORT=9000,DISCONT=0'

  2. Ajustar el número de puerto de la unidad maestra a 10000, desconectar automáticamente después de que la conexión no se haya utilizado durante 30 segundos: 'PORT=10000,DISCONT=30000'

  3. Ajustar el número de puerto de la unidad maestra a 11111, desconectar automáticamente después de que la conexión no se haya utilizado durante 70 milisegundos:: 'PORT=11111,DISCONT=70'

nStartPort (WORD, INT, UINT)

Establecer el número de la primera conexión de usuario

SYS_ETHERNET_USER_CONNECTION_1SYS_ETHERNET_USER_CONNECTION_216

nEndPort (WORD, INT, UINT)

Establecer el número de la última conexión de usuario

SYS_ETHERNET_USER_CONNECTION_1SYS_ETHERNET_USER_CONNECTION_216

Salida

bError (pasa a TRUE y permanece TRUE) (BOOL)
  • si la dirección IP no es válida

  • si la instrucción se ejecuta cuando la dirección IP no está establecida

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

Observaciones

  • 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í.

  • Utilizar una coma "," para separar una palabra clave y su ajuste de la siguiente palabra clave.

  • Comprobar que nStartPort £ nEndPort

  • Asegurarse de especificar nStartPort y nEndPort para que todas las direcciones IP de la unidad destino (conexión de cliente) o todos los números de puerto de la unidad maestra (conexión de servidor) estén dentro del rango permitido.

  • El número máximo de conexiones de usuario Ethernet es 216.

  • Si se ejecuta la instrucción cuando está abierta una conexión de usuario, o cuando una conexión de usuario está configurada para abrirse automáticamente, se produce un error de operación. Sin embargo, cuando se configuran varias conexiones de usuario con la instrucción, los cambios de configuración de las conexiones de usuario que van antes de la conexión de usuario en la que se produce un error de operación, se llevarán a cabo. Los cambios de configuración de las conexiones de usuario que van después de la conexión de usuario en la que se produce un error de operación, no se llevarán a cabo.

  • Si se utiliza esta instrucción para varias conexiones de cliente, algunas de las cuales ya han sido configuradas, se produce un error de operación debido a que las conexiones de usuario que han sido configuradas para un servidor se agrupan y se abrirán y cerrarán todas al mismo tiempo.

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

  • Se pueden utilizar tanto las mayúsculas como las minúsculas. "Abcd", "ABCD" y "abcd" son sinónimos.

  • 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, asegurarse de que sys_bIsEthernetIPAddressAssigned es TRUE. Cuando se ejecuta la instrucción mientras sys_bIsEthernetIPAddressAssigned es FALSE, bError pasa a TRUE y la instrucción termina sin ser ejecutada.

  • Cuando se especifica una dirección IP incorrecta, se establece bError y no se ejecuta ninguna operación.

  • Cuando esta instrucción se ha ejecutado con éxito, las variables del sistema sys_bIsCarry y sys_iEthernetConnectionErrorCode se reinician.

  • Esta instrucción no sobrescribe los datos de configuración Ethernet almacenados en el PLC de forma permanente. Cuando el PLC ha sido apagado y encendido de nuevo, los datos de configuración Ethernet guardados en el PLC se utilizan de nuevo.

  • 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 nStartPort > nEndPort

  • si el número de conexión de usuario está fuera del rango permitido

  • 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 un número de puerto no es válido

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

  • si hay una conexión abierta

  • si hay una conexión configurada para abrirse automáticamente

  • si una o más conexiones de usuario en el rango especificado por nStartPort y nEndPort pertenecen a una configuración de servidor ya existente.

  • si se especifica GP_LARGE como modo de comunicación y OPTNAV como opción de protocolo

  • si se especifica GP_LARGE como modo de comunicación y UDPcomo tipo de comunicación Ethernet

  • si se especifica GP_LARGE como modo de comunicación y nStartPort o nEndPort no es 1

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

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • si nStartPort > nEndPort

  • si el número de conexión de usuario está fuera del rango permitido

  • 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 un número de puerto no es válido

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

  • si hay una conexión abierta

  • si hay una conexión configurada para abrirse automáticamente

  • si una o más conexiones de usuario en el rango especificado por nStartPort y nEndPort pertenecen a una configuración de servidor ya existente.

  • si se especifica GP_LARGE como modo de comunicación y OPTNAV como opción de protocolo

  • si se especifica GP_LARGE como modo de comunicación y UDPcomo tipo de comunicación Ethernet

  • si se especifica GP_LARGE como modo de comunicación y nStartPort o nEndPort no es 1

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

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
		bSetConnection: BOOL:=FALSE;
		bOpenConnection: BOOL:=FALSE;
		bCloseConnection: BOOL:=FALSE;
	END_VAR

Cuerpo de la POU

Cuando la variable bSetConnection cambia de FALSE a TRUE, y la variable del sistema sys_bIsEthernetInitializing no está a TRUE, se ejecuta la función.

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_VARIN,,'GP~OPTNAV~SV~AUTO~UDP',30,2,32,4,);
B(B_VARIN,,'PORT=9000~DISCONT=0',30,3,32,5,);
B(B_VARIN,,SYS_ETHERNET_USER_CONNECTION_1,30,4,32,6,);
B(B_VARIN,,SYS_ETHERNET_USER_CONNECTION_13,30,5,32,7,);
B(B_CONTACT,,sys_bIsEthernetInitializing,15,1,17,3,N);
B(B_CONTACT,,bSetConnection,5,1,7,3,R);
B(B_VAROUT,,bError,48,2,50,4,);
B(B_F,FP_ETHERNET_CONNECTION_SET!,,32,0,48,7,,?DEN?DsMode?DsAddress?DnStartPort?DnEndPort?AENO?CbError);
L(17,2,32,2);
L(1,2,5,2);
L(7,2,15,2);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

If DF(bSetConnection) AND NOT sys_bIsEthernetInitializing Then
    FP_ETHERNET_CONNECTION_SET(sMode := 'GP,OPTNAV,SV,AUTO,UDP',
                                sAddress := 'PORT=9000,DISCONT=0,BUFTOP=DT10000,BUFSIZE=100',
                                nStartPort := SYS_ETHERNET_USER_CONNECTION_1, 
                                nEndPort := SYS_ETHERNET_USER_CONNECTION_13);
END_IF;

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