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
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 |
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;