Q4GA1_SET_SERVER

Modifica em RAM o endereço do servidor destino (IP/URL e porta) usado nas conexões pela interface do modem celular 4GA1; exige que o modem esteja com a conexão fechada (status “OFF”) no acionamento. É um bloco de função (mantém estado entre scans; requer instância).

Biblioteca: HI_STD · Namespace: HILS · Tipo: bloco de função

Bloco de função

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

Este bloco permite configurar dinamicamente diferentes endereços de servidores para a conexão pela interface do modem celular 4GA1. Caso a aplicação exija conexões, não simultâneas, com servidores diferentes, basta chamá-lo com os novos parâmetros de IP e porta antes de abrir a conexão do modem. O bloco é executado apenas a cada transição da entrada START.

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

Importante

O bloco exige que o modem esteja com a conexão fechada antes de ser acionado, ou seja, o status do modem deve estar em “OFF” quando a entrada START for acionada; caso contrário, o bloco retorna erro.

Dica

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

Comportamento das entradas:

  • RESTORE — recarrega na RAM todas as configurações salvas em FLASH no modem. Quando habilitado, os parâmetros SSL, URL_IP e PORT não são executados.

  • SYNC_RTC — sincroniza o relógio calendário do equipamento pela rede celular. A sincronização só ocorre se o modem estiver registrado na rede celular; caso contrário o comando não é executado e não há código de retorno específico para esse caso. Pode ser executado mesmo com RESTORE habilitado.

  • URL_IP — se for uma string vazia, o comando de configuração não é executado.

  • PORT — se for uma string vazia, o comando de configuração do IP não é executado.

Ao finalizar o(s) processo(s) de configuração, DONE é acionada (TRUE); consulte RESULT para saber se o processo foi executado com sucesso.

Parâmetros

Nome

Direção

Tipo

Dimensão

Padrão

Faixa / Unidade

Descrição

START

IN

BOOL

—

FALSE

—

Habilita a operação do bloco (executado por transição).

RESTORE

IN

BOOL

—

FALSE

—

Recarrega na RAM as configurações salvas em FLASH no modem.

SYNC_RTC

IN

BOOL

—

FALSE

—

Sincroniza o relógio calendário do controlador pela rede celular.

SSL

IN

SINT

—

-1

0 / 1 / -1

Conexão segura SSL/TLS: 0 = não, 1 = sim, -1 = não reconfigura. Opcional.

URL_IP

IN_OUT

STRING

[*]

—

máx. 64 caracteres

URL/Host Name ou IP do servidor remoto a configurar em RAM.

PORT

IN_OUT

STRING

[*]

—

—

Número da porta do servidor remoto a configurar em RAM.

DONE

OUT

BOOL

—

FALSE

—

Sinaliza o fim do processo de configuração.

RESULT

OUT

INT

—

0

RET_CODE

Código de retorno do processo (ver Códigos de retorno).

Códigos de retorno

RESULT é do tipo RET_CODE. Use os identificadores com o namespace HILS (ex.: HILS.CO_EQP_TMO). Códigos deste bloco:

Código

Identificador

Significado

0

SUCCESS

Processo executado com sucesso.

4

GL_HDW_SUP

Equipamento sem suporte de hardware (não possui modem 4GA1).

8

GL_INV_STT

Estado corrente inválido (módulo está com a conexão aberta).

13

GL_FUNC_FAIL

Falha na execução; comandos de configuração não executados / parâmetro inválido.

80

CO_EQP_TMO

Timeout na resposta do modem aos comandos de configuração.

81

CO_PTC_ERR

Erro de protocolo; não foi possível configurar o canal de comunicação com o modem.

Lista completa dos códigos de retorno: RET_CODE - Códigos de retorno do firmware G5.

Pré-condições

  • O modem 4GA1 deve estar com a conexão fechada (status “OFF”) no acionamento de START.

  • O equipamento deve possuir hardware com modem 4GA1.

Observações

  • A configuração é feita em RAM; após reinicialização prevalecem os parâmetros originais do modem.

  • Com RESTORE habilitado, SSL, URL_IP e PORT são ignorados.

  • SYNC_RTC não gera código de retorno específico quando o modem não está registrado.

Ver também

Q4GA1_CONTROLLER

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    START    : BOOL;                   (* Ativa processo de troca de servidor *)
    PRG_SERV : HILS.Q4GA1_SET_SERVER;  (* Instância do bloco de função *)
    S_IP     : STRING;                 (* URL ou IP do servidor remoto (máx. 64 caracteres) *)
    S_PORT   : STRING;                 (* Nro da porta do servidor remoto *)
END_VAR

(* Inicializa os parâmetros do servidor a ser utilizado *)
S_IP   := '60.96.7.202';   (* IP do servidor remoto *)
S_PORT := '1234';          (* Nro da porta do servidor remoto *)

(* Utilize a variável START para ativar o processo de troca do servidor no modem 4GA1 *)
PRG_SERV(
  START  := START,    (* Habilita operação do bloco *)
  URL_IP := S_IP,     (* URL ou IP do servidor remoto *)
  PORT   := S_PORT    (* Nro da porta do servidor remoto *)
  );

IF PRG_SERV.DONE THEN
  IF PRG_SERV.RESULT = HILS.SUCCESS THEN
      (* Sucesso na alteração do servidor associado ao modem *)
      ;
  ELSE
      (* Falha identificada no modem *)
      ;
  END_IF;
END_IF;