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
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).
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.