Q4GA1_CONTROLLER

Este bloco tem a funcionalidade de ativar ou desativar o processo de conexão do módulo de modem celular Q4GA1 com o servidor configurado no mesmo, além de prover informações de status de operação do módulo. Este módulo é um modem 4G (CAT-M1) que pode ser fornecido integrado aos equipamentos da HI Tecnologia.

Dica

O módulo de modem celular Q4GA1 quando presente um um equipamento , pode ser configurado através do script “Configura módulo 4GA1”, disponível no HIstudio em Ferramentas ‣ Ferramentas avançadas ‣ Scripts

Bloco

           Q4GA1_CONTROLLER
        +--------------------+
BOOL ---|CONN_ON           EV|--- BOOL
        |                    |
BOOL ---|CONN_OFF   CONNECTED|--- BOOL
        |                    |
        |           ON_CONFIG|--- BOOL
        |                    |
        |              RESULT|--- INT
        |                    |
        |              STATUS|--- INT
        |                    |
        |            SIGN_QLY|--- INT
        +--------------------+

Parâmetros

Nome

Classe

Tipo

V. Ini.

Opções

Descrição

CONN_ON

Entrada

BOOL

FALSE

Na transiçao para ativo inicia o processo de conexão caso esteja desconectado

CONN_OFF

Entrada

BOOL

FALSE

Na transiçao para ativo inicia o processo de desconexão caso esteja conectado

EV

Saída

BOOL

n_retain

Indica que houve alguma alteraçao do status do modem

CONNECTED

Saída

BOOL

n_retain

Ativo quando for estabelecida conexão com o servidor programado

ON_CONFIG

Saída

BOOL

n_retain

Ativo quando estiver em modo de configuração

RESULT

Saída

INT

n_retain

Código de retorno do processo de conexão / desconexão

STATUS

Saída

INT

n_retain

Status de operação do modem

SIGN_QLY

Saída

INT

n_retain

Qualidade do sinal da rede celular (0..100)

Entradas

CONN_ON

Esta entrada, quando ativa habilita o processo de conexão do modem com o IP/Porta programados. Quando esta entrada estiver inativa o modem pode estar ou não conectado. Esta condição pode ser identificada através da saída CONNECTED.

CONN_OFF

Esta entrada, quando ativa habilita o processo de desconexão do modem com o IP/Porta programados. Quando esta entrada estiver inativa o modem pode estar ou não conectado. Esta condição pode ser identificada através da saída CONNECTED.

CONNECT

Esta entrada irá definir se a aplicação quer ou não que o módulo de modem se conecte ao servidor defindo na configuração do modem.

Quando alterada, o parâmetro RESULT assume o valor HILS.GL_CMD_PEND indicando que o processo foi iniciado. O usuário deverá aguardar até que a saída EV se torne ativa, instante onde o parâmetro RESULT será atualizado com resultado do processo. Se, o comando for de conexão o parâmetro de saída CONNECTED será ativado se o processo for executado com sucesso.

O bloco configura um tempo máximo de 30 segundos para que o processo de comutação ocorra. Caso o tempo para comutaçao ultrapasse este valor, a saída EV será ativada e o parâmetro RESULT será atualizado com o valor HILS.RE_ACS_TMO.

Saídas

EV

Gera um pulso de 1 ciclo de scan sempre que houver uma alteração no estado do modem. neste instante o valor dos parâmetros RESULT e CONNECTED estarão atualizados com a informação corrente do estado de operação.

CONNECTED

Quando esta saída estiver ativa indica que o modem esta conectado na rede celular e com conexão TCP/IP estabelecida com o IP/Porta configurado.

RESULT

Informa ao usuário o estado corrente do modem. Este valor é atualizado sempre que a saída EV for ativada. A tabela seguinte apresenta os possíveis códigos gerados:

Valor

Descrição

HILS.SUCCESS

Módulo funcional. Sem falhas detectadas.

HILS.GL_CMD_PEND

Módulo em processo de alteração de estado de conexão.

HILS.RE_ACS_TMO

Falha no processo de alteração de estado de conexão. Nesta situação o firmware corrente não foi capaz de identificar com precição o motivo do erro.

HILS.CN_NO_NET

Rede celular não detectada.

HILS.CN_AUTH_DENIED

Falha de autenticação na rede celular (EX: PIN, Usuário ou senha inválidos).

HILS.CO_CONEX_FAIL

Falha de conexão. O servidor especificado não foi encontrado ou rejeitou a conexão solicitada modem.

HILS.GL_INV_CFG

Configuração inválida. Erro identificado na consistência dos parâmetros de operação do modem.

HILS.GL_HDW_SUP

Falha no processo de identificação do módulo de modem (Ex: Equipamento corrente não possui o módulo de modem Q4GA1).

HILS.GL_HDW_FAIL

Falha no processo de inicialização do módulo de modem Q4GA1.

STATUS

Apresenta o estado corrente reportado pelo modem. Os valores possíveis estão na tabela a seguir.

Valor

Descrição

-1

Hardware incompatível

0

Falha de hardware

1

Configuração do modem inválida

2

Sem SIMCard

10

Sem rede celular

11

Falha de autenticação na rede celular

12

Modem em modo de configuração

15

Erro no acesso ao servidor (ex: IP/porta inválidos)

19

Modem com conexão estabelecida

SIGN_QLY

Apresenta o valor da qualidade do sinal da rede celular. O valor é apresentado na faixa de -1.. 100 onde:

Valor

Descrição

-1

Falha no processo de obtençao da informação

0..100

Valor percentual da qualidade do sinal da rede celular sendo 0, sem sinal com a rede celular e 100 valor máximo do sinal detectado pelo módulo.

Nota

O valor da qualidade do sinal é atualizado no parâmetro SIGN_QLY apenas durante o processo de conexão do modem com o servidor configurado ou quando o modem estiver em modo de configuração (conexão inativa).

Exemplo

Declaração de variáveis

Nome

Classe

Tipo

Descrição

MODEM_ON_OFF

Local

BOOL

Comando para conectar/desconectar o modem

MODEM

Local

Q4GA1_CONTROLLER

Instancia do bloco de função

Clique aqui para baixar a tabela de variáveis

Código ST

// Utilize a variável MODEM_ON_OFF para controlar a conexão do modem com o servidor remoto
MODEM(  // Q4GA1_CONTROLLER
  CONN_OFF  := NOT MODEM_ON_OFF, // [BOOL] Ativa processo de desconexão
  CONN_ON   := MODEM_ON_OFF      // [BOOL] Ativa processo de conexão
  );

if (MODEM.CONNECTED) then
  //(* ... *) Conexão estabelecida
else
  if (MODEM.EV) then
    if (MODEM.RESULT <> HILS.SUCCESS) then
      //(* ... *) Falha identificada no modem
    end_if;
  end_if;
end_if;