SOCKET_WRITE

A instrução SOCKET_WRITE envia dados em um soquete.
Detalhes da operação:
  • SOCKET_WRITE tenta enviar o número solicitado de bytes de dados especificados no parâmetro Length. Quando a operação de envio é concluída, o SOCKET_WRITE retorna o número de bytes de dados gravados no parâmetro TxLength.
  • A saída é atualizada de maneira assíncrona a partir da varredura do programa.
Linguagens suportadas: Diagrama de blocos de função, diagrama de ladder, texto estruturado.
Essa instrução aplica-se aos controladores L20E, L50E e L70E.
SOCKET_WRITE
SOCKET_WRITE
Parâmetros da SOCKET_WRITE
Parâmetro
Tipo do parâmetro
Tipo de dados
Descrição
Execute
Entrada
BOOL
Habilitação do bloco de instruções.
  • TRUE: Borda ascendente detectada; inicia o bloco de instruções com a pré-condição de que a última operação tenha sido concluída.
  • FALSE: Nenhuma borda ascendente detectada.
Instance
Entrada
UDINT
Copia o Manipulador de soquete retornado de uma instrução SOCKET_CREATE ou SOCKET_ACCEPT.
  • Para os tipos de soquete UDP e TCP-Client, copia o Manipulador de soquete retornado de uma instrução SOCKET_CREATE.
  • Para o tipo de soquete TCP- Server, copia o Manipulador de soquete retornado de uma instrução SOCKET_ACCEPT.
Timeout
Entrada
UDINT
Tempo limite das instâncias SOCKET_WRITE. A instrução retorna um Erro se o valor Timeout for menor que o valor mínimo.
Intervalo do tempo-limite: De 1.000 a 1.800.000 milissegundos. Configure Timeout como 0 para usar o valor padrão 10000 (10 segundos).
UDPAddr
Entrada
O endereço de destino UDP para o qual os dados estão sendo gravados quando uma instrução SOCKET_OPEN não foi executada desde a criação do soquete. Para TCP, ou quando a instrução SOCKET_OPEN tiver sido executada para UDP, esta estrutura não será usada e deverá conter somente zeros. A conexão TCP e a instrução SOCKET_OPEN para UDP possuem todas as informações do endereço remoto.
Exemplo de UDPAddr de 192.168.2.100 e Porta 12000:
UDPAddr.IPAddress[0] = 192
UDPAddr.IPAddress[1] = 168
UDPAddr.IPAddress[2] = 2
UDPAddr.IPAddress[3] = 100
UDPAddr.Port = 12000
Use o tipo de dados SOCKADDR_CFG para definir UDPAddr.
Data
Entrada
USINT[1..1]
Uma matriz usada para armazenar a gravação de dados para a respectiva instância de soquete usando a instrução SOCKET_WRITE.
  • O tamanho da matriz de dados deve ser >= (Offset + Length).
  • A matriz de dados pode ser maior do que o Length de SOCKET_WRITE.
Length
Entrada
UINT
O número de bytes de dados a serem gravados. 
Máximo de 256 bytes.
Offset
Entrada
UNIT
Offset em uma matriz de dados. A gravação de dados do "SOCKET_WRITE" está começando desse local.
Done
Saída
BOOL
Indica quando a operação é concluída.
  • TRUE: Operação concluída com êxito.
  • FALSE: A operação está em progresso ou foi encontrada uma condição de erro.
A saída é atualizada de maneira síncrona a partir da varredura do programa.
Busy
Saída
BOOL
  • TRUE: A operação não foi concluída.
  • FALSE: A operação foi concluída.
A saída é atualizada de maneira síncrona a partir da varredura do programa.
Error
Saída
BOOL
Indica a ocorrência de um erro.
  • TRUE: Um erro foi detectado.
  • FALSE: Sem erro. 
A saída é atualizada de maneira síncrona a partir da varredura do programa.
Status
Saída
SOCK_STATUS
O status é definido usando o Tipo de dados SOCK_STATUS que contém informações de ErrorID, SubErrorID e StatusBits.
A saída é atualizada de maneira síncrona a partir da varredura do programa.
TxLength
Saída
UNIT
O número de bytes de dados gravados.

Exemplos de SOCKET_WRITE

Exemplo de diagrama de blocos de função SOCKET_WRITE
Exemplo de diagrama de blocos de função SOCKET_WRITE
Exemplo de diagrama de ladder SOCKET_WRITE
Exemplo de diagrama de ladder SOCKET_WRITE
Exemplo de texto estruturado SOCKET_WRITE
Exemplo de texto estruturado SOCKET_WRITE
Resultados - TCP
Resultados - TCP
Resultados - UDP sem aberto
Resultados - UDP sem aberto
Resultados - UDP com aberto
Resultados - UDP com aberto
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.
Normal