Q4GA1_SET_SERVER

Este bloco permite modificar o endereço do servidor destino (IP e Porta) corrente do modem celular 4GA1.

Com este bloco é possível configurar dinamicamente diferentes endereços de servidores para a conexão pela interface do modem celular 4GA1. Caso a aplicação exija que seja realizado conexões, não simultâneas, com servidores diferentes, basta chamar este bloco com os novos parâmetros de IP e Porta desejado antes de abrir a conexão do modem.

Este bloco exige que o modem esteja com a conexão fechada antes de ser acionada, ou seja, é necessário que o status do modem esteja em “OFF” quando a entrada START do bloco for acionado, caso contrário, o bloco retornará erro.

Dica

Veja mais informações em Q4GA1_CONTROLLER para fazer o gerenciamento da conexão e desconexão do modem.

Esta configuração é realizada em RAM no modem, ou seja, se o equipamento for desligado (ou reinicializado) os parâmetros de conexão que prevalecem são os que foram configurados originalmente no modem. Este configuração pode ser realizada pelo comando “Configura módulo 4GA1”, disponível no HIstudio em Ferramentas ‣ Ferramentas avançadas ‣ Scripts

Bloco

           Q4GA1_SET_SERVER
          +-----------------+
  BOOL ---|START        DONE|--- BOOL
          |                 |
  BOOL ---|RESTORE    RESULT|--- INT
          |                 |
  BOOL ---|SYNC_RTC         |
          |                 |
  SINT ---|SSL              |
          |                 |
STRING ---|URL_IP --------- |---
          |                 |
STRING ---|PORT ----------- |---
          +-----------------+

Parâmetros

Nome

Classe

Tipo

Dim.

V. Ini.

Descrição

START

Entrada

BOOL

FALSE

Habilita operação do bloco

RESTORE

Entrada

BOOL

FALSE

Flag para recarregar as configurações salvas no modem

SYNC_RTC

Entrada

BOOL

FALSE

Flag para sincronizar o relógio calendário do controlador (pela rede celular)

SSL

Entrada

SINT

-1

Utiliza conexão segura SSL na abertura da conexão. [0] = Não, [1] = Sim, [-1] = Parâmetro não será modificado. Default = -1.

URL_IP

Entrada/Saída

STRING

[*]

URL ou IP do servidor remoto. Tamanho máximo de 64 caracteres

PORT

Entrada/Saída

STRING

[*]

Nro da Porta do servidor remoto

DONE

Saída

BOOL

Sinaliza o fim do processo

RESULT

Saída

INT

Código de retorno do processo

START

Habilita operação do bloco. Este bloco é executado apenas a cada transição do start.

RESTORE

Flag para recarregar na RAM todas as configurações salvas em FLASH no modem. Quando este flag está habilitado os parâmetros de configuração SSL, URL_IP e URL_IP não são executados.

SYNC_RTC

Flag de sincronização do relógio calendário do equipamento pela rede celular. Este a sincronização só é executada se o modem estiver registrado na rede celular com sucesso. Caso contrário o comando não é executado, e não há nenhum código de retorno específico para estes casos.

Este comando pode ser executado mesmo se o RESTORE estiver habilitado.

SSL

Flag de utilização de conexão segura SSL/TLS na abertura da conexão com cliente remoto. Este parâmetro é opcional.

Valor

Descrição

Obs

0

Não utiliza TLS/SSL na abertura da conexão com cliente remoto

1

Utiliza TLS/SSL na abertura da conexão com cliente remoto

-1

Não reconfigura parâmetros

Default

URL_IP

URL/Host Name ou IP do servidor remoto a ser configurado em RAM. Este parâmetro possui limitação de tamanho máximo de 64 caracteres. Se este parâmetro for uma string vazia, o comando de configuração não é executado.

PORT

Número da porta do servidor remoto a ser configurado em RAM. Se este parâmetro for uma string vazia, o comando de configuração do IP não é executado.

DONE

Ao finalizar o(s) processo(s) de configuração a variável booleana DONE é acionada (= TRUE). Para saber se o processo foi executado com sucesso ou não consulte a variável de retorno RESULT.

RESULT

Os erros gerados no processo de configuração é acessado através da variável RESULT, a descrição dos códigos estão listados abaixo:

Código

Valor

Descrição Padrão

Possíveis causas

SUCCESS

0

Processo executado com sucesso.

GL_HDW_SUP

4

Equipamento sem suporte de hardware.

Módulo incompatível para o bloco. Hardware não possui modem 4GA1.

GL_INV_STT

8

Estado corrente inválido.

Módulo está com conexão aberta.

GL_FUNC_FAIL

13

Falha na execução da função.

Comandos de configuração enviados ao modem não foram executados com sucesso. Algum parâmetro pode estar inválido.

CO_EQP_TMO

80

Timeout na resposta de equipamento

Não recebeu resposta do modem para os comandos de configuração.

CO_PTC_ERR

81

Erro de protocolo.

Não foi possível configurar o canal do equipamento para comunicação com modem.

Exemplo

Declaração de variáveis

Nome

Classe

Tipo

Descrição

START

Local

BOOL

Ativa processo de troca de servidor

PRG_SERV

Local

Q4GA1_SET_SERVER

Instância do bloco de função

S_IP

Local

STRING

URL ou IP do servidor remoto. Tamanho máximo de 64 caracteres

S_PORT

Local

UINT

Nro da Porta do servidor remoto

Clique aqui para baixar a tabela de variáveis

Código ST

// Inicializa os parametros do servido a ser utilizado
S_IP   := '60.96.7.202';         // IP do servidor remoto
S_PORT := 1234;                  // Nro da Porta do servidor remoto

// Utilize a variavel START para ativar o processo de troca do servidor no modem 4GA1
PRG_SERV(
  START := START,        // Habilita operação do bloco
  //RESTORE :=           // Flag para recarregar as configurações salvas no modem
  //SYNC_RTC :=          // Flag para sincronizar o relógio calendário do controlador (pela rede celular)
  //SSL :=               // Utiliza conexão segura SSL na abertura da conexão. [0] = Não, [1] = Sim, [-1] = Parâmetro não será modificado. Default = -1.
  URL_IP := S_IP,        // URL ou IP do servidor remoto. Tamanho máximo de 64 caracteres
  PORT   := S_PORT       // Nro da Porta do servidor remoto
);

if (PRG_SERV.DONE) then
  if (MODEM.RESULT == HILS.SUCCESS) then
      //(* ... *) Falha sucesso na alteração do servidor associado ao modem
  else
      //(* ... *) Falha identificada no modem
  end_if;
end_if;