MODEM_QC1

Configura o módulo de modem 4G (EG915U) dos equipamentos/controladores HI e abre uma conexão TCP com um endereço destino através da rede celular; funcional apenas com o módulo de modem instalado na interface ITF-B do equipamento. É 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

                  MODEM_QC1
           +----------------------+
  BOOL ----|START            READY|---- BOOL
           |                      |
  UINT ----|CONN_TMO        STATUS|---- USINT
           |                      |
  BOOL ----|AUTH         LAST_FAIL|---- INT
           |                      |
  BOOL ----|SYNC_RTC       SIG_QLT|---- SINT
           |                      |
 USINT ----|COMM_SRC              |
           |                      |
STRING ----|ID_ON_CONN            |
           |                      |
STRING ----|PIN ----------------- |----
           |                      |
STRING ----|APN ----------------- |----
           |                      |
STRING ----|USER ---------------- |----
           |                      |
STRING ----|PASSW --------------- |----
           |                      |
STRING ----|IP ------------------ |----
           |                      |
STRING ----|PORT ---------------- |----
           +----------------------+

Atenção

Este bloco é funcional apenas quando utilizado com o módulo de modem 4G-EG915U na interface ITF-B do equipamento associado.

Após ser habilitado pela entrada EN, o bloco aguarda uma transição de subida em START; quando ela ocorre, configura o modem e, em seguida, abre a conexão. A entrada START deve permanecer em nível alto durante toda a execução do bloco.

A saída READY indica que o modem foi configurado e a conexão TCP com o endereço destino foi estabelecida. Ela vai a zero se houver transição de descida em START, se o acesso à rede ficar indisponível ou se a conexão TCP for fechada; neste último caso, mantido START ativo, o bloco tenta reabrir a conexão automaticamente com o endereço destino.

COMM_SRC — canal de comunicação

O canal referenciado pelo modem deve ser sempre serial, especificado por um identificador (valor numérico) com o namespace HILS:

Identificador

Valor

HILS.COM1_PORT_ID .. HILS.COM8_PORT_ID

0 .. 7 (canais seriais)

HILS.SOCK0_PORT_ID .. HILS.SOCK7_PORT_ID

8 .. 15 (Ethernet 1)

HILS.ETH2_SOCK0_PORT_ID .. HILS.ETH2_SOCK7_PORT_ID

16 .. 23 (Ethernet 2)

AUTH

Quando ativada, ao final de uma conexão bem-sucedida com o IP destino, o bloco monta e envia um pacote de autenticação ao portal de telemetria da HI Tecnologia. A autenticação segue o padrão V1 e só é enviada se a porta destino for 16800 (MODBUS-TCP) ou 16810 (MODBUS-RTU).

SYNC_RTC

Flag de sincronização do relógio calendário do equipamento pela rede celular. Antes de abrir a conexão com o IP e a porta especificados, o bloco sincroniza a data e a hora com a rede celular, considerando o Time-Zone configurado no equipamento.

ID_ON_CONN

Texto de até 20 caracteres enviado automaticamente após a abertura da conexão com o servidor. Para não utilizar o recurso, basta não declarar o parâmetro ou passar uma string vazia.

PIN

String com o código PIN do chip SIM CARD. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.

APN

String com o APN da operadora do chip SIM CARD. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.

USER

String com o nome de usuário da operadora do chip SIM CARD; em alguns casos pode ser vazio. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.

PASSW

String com a senha da operadora do chip SIM CARD; em alguns casos pode ser vazia. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.

IP

String com o IP destino ou o host name destino. Ex.: '54.227.237.88'.

PORT

String com a porta do destino da conexão. Ex.: '30329'.

Parâmetros

Nome

Direção

Tipo

Dimensão

Padrão

Faixa / Unidade

Descrição

START

IN

BOOL

—

FALSE

—

Inicia a operação por transição de subida; deve permanecer em nível alto durante a execução.

CONN_TMO

IN

UINT

—

180

s

Timeout de desconexão da rede por falta de dados trocados.

AUTH

IN

BOOL

—

FALSE

—

Autentica (V1) no portal de telemetria da HI Tecnologia ao conectar.

SYNC_RTC

IN

BOOL

—

FALSE

—

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

COMM_SRC

IN

USINT

—

0

canal serial

Identificador do canal serial associado ao módulo do modem.

ID_ON_CONN

IN

STRING

:20

‘’

—

Texto enviado automaticamente após a conexão; vazio se não habilitado.

PIN

IN_OUT

STRING

:*

—

—

PIN do SIM CARD.

APN

IN_OUT

STRING

:*

—

—

APN da operadora.

USER

IN_OUT

STRING

:*

—

—

Nome de usuário da operadora.

PASSW

IN_OUT

STRING

:*

—

—

Senha da operadora.

IP

IN_OUT

STRING

:*

—

—

IP (ou host name) destino.

PORT

IN_OUT

STRING

:*

—

—

Porta destino.

READY

OUT

BOOL

—

FALSE

—

Modem conectado e em modo transparente.

STATUS

OUT

USINT

—

0

0 .. 3

Status de operação do gateway (ver Observações).

LAST_FAIL

OUT

INT

—

0

RET_CODE

Código do último erro registrado (ver Códigos de retorno).

SIG_QLT

OUT

SINT

—

0

-1 .. 100 %

Qualidade do sinal adquirida durante a configuração e conexão.

Códigos de retorno

Os erros do processo de configuração e conexão do modem são acessados pela saída LAST_FAIL. Use os identificadores com o namespace HILS (ex.: HILS.CN_PIN_ERR). Códigos mais comuns deste bloco:

Código

Identificador

Significado

0

SUCCESS

Processo executado com sucesso.

2

GL_INV_ENV

Modelo de modem inválido para o bloco.

10

GL_CMD_TMO

Timeout em algum comando interno.

15

GL_HDW_FAIL

Erro de hardware (modem não responde).

32

RE_WRITE_ERR

Erro ao enviar o “ID de conexão”.

63

CO_CONEX_FAIL

Erro na conexão com o IP e a porta especificados.

67

CO_SOCK_ERR

Erro na abertura/aquisição de um socket disponível no modem.

180

CN_PIN_ERR

PIN bloqueado, incorreto ou não desbloqueado.

181

CN_SIM_CARD_ERR

Sem SIM Card inserido ou erro de leitura do SIM Card.

182

CN_NO_NET

Não detectou rede celular.

183

CN_REGISTER_DENIED

Registro na rede celular negado.

184

CN_INV_AUTH_DATA

APN, usuário e/ou senha inválidos.

185

CN_AUTH_DENIED

Não foi possível ativar o perfil / obter um IP válido na rede.

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

Pré-condições

  • O equipamento deve ter o módulo de modem 4G-EG915U instalado na interface ITF-B.

  • COMM_SRC deve apontar para um canal serial válido associado ao modem.

  • Alterações em PIN, APN, USER, PASSW, IP ou PORT exigem um novo pulso em START.

Observações

  • A saída STATUS retorna o código de operação do gateway:

    Valor

    Descrição

    0

    Inativo.

    1

    Procurando rede.

    2

    Aguardando conexão.

    3

    Conexão aberta.

  • SIG_QLT retorna a qualidade do sinal em porcentagem (0 .. 100 %), ou -1 quando indisponível.

  • A autenticação V1 (AUTH) só é enviada quando a porta destino é 16800 ou 16810.

Ver também

MDB_QC1, MQTT_QC1, MDB_MDB_QC1_BRIDGE, MQTT_MDB_4G_BRIDGE, TCP_CONNECT

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    MODEM_IP    : STRING := '54.227.237.88'; (* Endereço IP do broker a ser acessado *)
    MODEM_PORT  : STRING := '30329';         (* Porta de escuta do broker *)
    MODEM_PIN   : STRING := '1010';          (* PIN do SIM CARD *)
    MODEM_APN   : STRING := 'tim.com.br';    (* APN da operadora do chip de rede celular *)
    MODEM_USR   : STRING := 'timtim';        (* Usuário da operadora de rede celular *)
    MODEM_PSW   : STRING := 'timtim';        (* Senha da operadora de rede celular *)
    STRING_ID   : STRING := 'HI_ITS_ME';     (* String de conexão para o servidor *)
    START_MODEM : BOOL := TRUE;              (* Start do bloco do MODEM para conectar na rede celular *)
    MODEM       : HILS.MODEM_QC1;            (* Instância do bloco de configuração do modem celular *)
END_VAR

MODEM(
  START      := START_MODEM,   (* Habilita operação *)
  AUTH       := FALSE,         (* Autentica (V1) no portal de telemetria da HI Tecnologia *)
  SYNC_RTC   := TRUE,          (* Sincroniza o relógio calendário pela rede celular *)
  COMM_SRC   := HILS.COM3_PORT_ID, (* Canal serial associado ao módulo do modem *)
  ID_ON_CONN := STRING_ID,     (* String de "Envia ID na conexão" *)
  PIN        := MODEM_PIN,     (* PIN do SIM CARD *)
  APN        := MODEM_APN,     (* APN *)
  USER       := MODEM_USR,     (* Usuário *)
  PASSW      := MODEM_PSW,     (* Senha *)
  IP         := MODEM_IP,      (* IP destino *)
  PORT       := MODEM_PORT     (* Porta destino *)
  );

IF (MODEM.READY) THEN
    (* ... *)
END_IF;