SOCKET_CREATE

Crea una instancia del socket y devuelve un número de instancia que se utiliza como entrada en todas las operaciones de socket subsiguientes.
Detalles de la operación:
  • Instrucciones de sockets admiten la comunicación full-duplex con dispositivos remotos.
  • Las conexiones del protocolo de datagramas de usuario (UDP) admiten un máximo de ocho paquetes de datagramas UDP en cola. La cola contiene los paquetes más recientes.
  • Los controladores Micro820 en revisión 9 o superior admiten hasta ocho instancias de socket. Las instancias de socket admiten sockets UDP y TCP:
    • En el caso de las conexiones de protocolo de control de transmisión (TCP), utilice las ocho ocurrencias.
    • Para escuchar conexiones TCP entrantes, utilice las ocho instancias y, a continuación, acepte ocho conexiones de otros dispositivos.
    • Efectúe tanto operaciones de cliente como de servidor TCP.
    • Efectúe tanto operaciones TCP como UDP.
  • Para aceptar conexiones TCP entrantes en el mismo puerto, cree una instancia de socket.
  • Pérdida de conexión TCP:
    • El programa de aplicación del usuario debe detectar la pérdida de conexiones TCP y gestionar el evento. Según la aplicación del usuario, considere la posibilidad de hacer fallar el controlador.
      • Error del controlador.
      • Intente restablecer la conexión.
  • Para restablecer la comunicación con otro dispositivo:
    • Borre la instancia de socket de la última conexión.
    • Si la conexión se establece con el lado cliente TCP, cree una instancia de socket mediante el uso de SOCKET_CREATE y ejecute SOCKET_OPEN en el dispositivo objetivo.
    • Si la conexión se establece con el lado servidor TCP, cree una instancia de socket mediante el uso de SOCKET_CREATE y ejecute SOCKET_ACCEPT para esperar otra conexión desde el dispositivo remoto.
  • Mensajes de la aplicación para conexiones TCP:
    • Una conexión TCP es una secuencia de bytes entre dos aplicaciones. El protocolo de aplicación determina los formatos del mensaje.
    • Los mensajes pueden ser de tamaño fijo o variable.
Idiomas compatibles: Diagrama de bloque de funciones, diagrama de lógica de escalera y texto estructurado.
Esta instrucción se aplica a los controladores L20E, L50E y L70E.
SOCKET_CREATE
SOCKET_CREATE
Parámetros de SOCKET_CREATE
Parámetro
Tipo de parámetro
Tipo de datos
Descripción
Execute
Entrada
BOOL
Habilitar bloque de instrucción.
  • CIERTO: Se ha detectado un flanco ascendente, inicia el bloque de instrucciones con la condición previa de que la última operación esté completa.
  • FALSO: No se ha detectado un flanco ascendente.
Type
Entrada
USINT
Especifique el tipo de socket:
  • Protocolo de control de transmisión (TCP)
  • Protocolo de datagramas de usuario (UDP)
SockAddr
Entrada
SOCKADDR_CFG
Especifique la configuración de dirección del socket.
El módulo de EtherNet/IP para seleccionar el número de puerto local, establezca SockAddr en 0.
Especifique el número de puerto local donde una aplicación esté escuchando y recibiendo. O bien:
  • Todos los elementos de matriz deben ser cero.
  • En el caso de las operaciones de cliente TCP, especifique 0 a menos que desee usar un número de puerto local concreto.
  • Para establecer comunicación con el servidor TCP, especifique un número de puerto que permita aceptar solicitudes de conexión entrantes.
  • En el caso del protocolo UDP, especifique un número de puerto local que permita recibir datagramas en un puerto concreto.
Rango de puerto local: Del 1 al 65535.
Se produce un error si el controlador L20E o L50E ya está utilizando el número de puerto local especificado.
El controlador utiliza los números de puerto siguientes:
Puertos TCP:
  • EtherNet/IP: 44818
  • ModbusTCP: 502
  • Servidor DHCP: 67
  • Cliente DHCP: 68
Puertos UDP:
  • EtherNet/IP: 2222
  • Servidor DHCP: 67
  • Cliente DHCP: 68
Timeout
Entrada
UDINT
Especifique el tiempo de espera para inactividad de socket.
Si una instancia de socket no recibe solicitudes en el tiempo de espera por inactividad especificado, la ocurrencia de socket se borra.
Si se envía una solicitud después de haber borrado una instancia de socket, se produce un error de ocurrencia de socket no compatible.
El bloque de instrucción muestra un error cuando el valor de tiempo de espera es inferior al valor mínimo.
Establezca el tiempo de espera de modo que sea más prolongado que el intervalo más largo que transcurra entre operaciones de socket. Si el tiempo de espera de inactividad es demasiado corto, es posible que las instancias de socket experimenten un tiempo de espera. Rango de tiempo de espera: 1.000-86.400.000 milisegundos.
Establezca el Tiempo de espera en 0 si desea utilizar el valor predeterminado 300.000 (5 minutos).
Done
Salida
BOOL
Indica si la operación está completa.
  • CIERTO: Operación completada correctamente.
  • FALSO: La operación está en curso o se produjo una condición de error.
Busy
Salida
BOOL
  • CIERTO: La operación está incompleta.
  • FALSO: La operación está completa.
Error
Salida
BOOL
Indica que se ha producido un error.
  • CIERTO: Se ha detectado un error.
  • FALSO: No hay error.
Status
Salida
SOCK_STATUS
El estado se define utilizando el tipo de datos SOCK_STATUS que contiene información de ErrorID, SubErrorID y StatusBits.
Instance
Salida
UDINT
Contiene controlador de socket.
Utilice el parámetro de ocurrencia para las instrucciones de socket posteriores.

Ejemplos de SOCKET_CREATE

Ejemplo de diagrama de bloque de funciones SOCKET_CREATE
Ejemplo de diagrama de bloque de funciones SOCKET_CREATE
Ejemplo de diagrama de lógica de escalera SOCKET_CREATE
Ejemplo de diagrama de lógica de escalera SOCKET_CREATE
Ejemplo de texto estructurado SOCKET_CREATE
Ejemplo de texto estructurado SOCKET_CREATE
Resultados: cliente TCP
Resultados: cliente TCP
Resultados: servidor TCP
Resultados: servidor TCP
Resultados - UDP
Resultados - UDP
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal