RNB_CFG

Envia uma sequência de comandos AT a um modem para configurá-lo e habilitá-lo na rede celular NB-IoT; é 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

                  RNB_CFG
           +-------------------+
  BOOL ----|RESET       ACC_STS|---- INT
           |                   |
  BOOL ----|START      DONE_EVT|---- BOOL
           |                   |
  BOOL ----|SIM_STK       READY|---- BOOL
           |                   |
 USINT ----|COMM_SRC     RESULT|---- UINT
           |                   |
           |            NET_QLT|---- INT
           |                   |
           |             NET_IP|---- STRING
           |                   |
           |           NET_OPER|---- STRING
           |                   |
           |            NSI_MOD|---- USINT
           |                   |
STRING ----|APN -------------- |----
           |                   |
STRING ----|USER ------------- |----
           |                   |
STRING ----|PASSW ------------ |----
           |                   |
STRING ----|PIN -------------- |----
           +-------------------+

Após o bloco ser habilitado pela entrada EN, ele aguarda uma transição de subida em START; quando esta ocorre, o bloco envia a sequência de comandos AT que configura o modem. 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 com sucesso. Essa saída vai a zero se houver transição de descida em START ou se o acesso à rede ficar indisponível.

A cada evento de erro durante as etapas de configuração, a saída DONE_EVT gera um pulso e o código do evento é apresentado em RESULT.

Se PIN, APN, USER ou PASSW forem modificados, um novo pulso em START deve ser gerado. USER e PASSW podem ser vazios em alguns casos.

Nota

Para abrir conexão com IP e porta especificados, utilize o bloco MODEM_CONN.

Parâmetros

Nome

Direção

Tipo

Dimensão

Padrão

Faixa / Unidade

Descrição

RESET

IN

BOOL

—

FALSE

—

Habilita soft reset do modem.

START

IN

BOOL

—

FALSE

—

Habilita o início da configuração (avaliado por transição de subida).

SIM_STK

IN

BOOL

—

FALSE

—

Chip multioperadora: SIM ToolKit habilitado.

COMM_SRC

IN

USINT

—

0

0 .. 23

Canal de comunicação a ser utilizado (ver Observações).

APN

IN_OUT

STRING

:31

—

—

APN da operadora do chip SIM Card.

USER

IN_OUT

STRING

:15

—

—

Nome de usuário da operadora (pode ser vazio).

PASSW

IN_OUT

STRING

:10

—

—

Senha da operadora (pode ser vazia).

PIN

IN_OUT

STRING

:4

—

—

Código PIN do chip SIM Card.

ACC_STS

OUT

INT

—

-1

—

Status de registro na rede (ver Observações).

DONE_EVT

OUT

BOOL

—

FALSE

—

Pulso que indica “bloco finalizado”; verifique RESULT para sucesso ou erro.

READY

OUT

BOOL

—

FALSE

—

Sinaliza que a configuração terminou com sucesso.

RESULT

OUT

UINT

—

0

—

Código do resultado da operação (ver Códigos de retorno).

NET_QLT

OUT

INT

—

0

0 .. 100 %

Qualidade do sinal.

NET_IP

OUT

STRING

:30

—

—

IP recebido pela rede NB-IoT.

NET_OPER

OUT

STRING

:10

—

—

Operadora identificada no SIM Card.

NSI_MOD

OUT

USINT

—

0

—

Network Status Indicator: status de conexão do modem (ver Observações).

Códigos de retorno

RESULT apresenta o código do último evento de erro sinalizado por DONE_EVT. Os valores são específicos deste bloco:

Valor

Descrição

0

Processo executado com sucesso.

10

PIN bloqueado.

20

Número do PIN errado.

30

PIN Security status não desbloqueado.

40

Erro no comando de reset.

50

Não detectou rede (não se autoconectou em nenhuma rede).

51

Não se registrou ainda; está procurando rede.

52

Registro negado.

60

APN inválida.

110

Não foi possível ativar o perfil.

120

Não obteve IP na rede.

200

Ficou offline (pelo pino de STS_MOD).

999

Erro de hardware (modem não responde).

Pré-condições

  • O modem deve estar conectado ao canal de comunicação informado em COMM_SRC.

  • APN, USER, PASSW e PIN devem estar preenchidos conforme a operadora antes de gerar o pulso em START.

Observações

COMM_SRC — identificadores de canal. O canal em que o modem está referenciado é indicado por um valor numérico, todos no namespace HILS:

Identificador

Valor

Meio físico

COM1_PORT_ID .. COM8_PORT_ID

0 .. 7

Seriais

SOCK0_PORT_ID .. SOCK7_PORT_ID

8 .. 15

Ethernet 1

ETH2_SOCK0_PORT_ID .. ETH2_SOCK7_PORT_ID

16 .. 23

Ethernet 2

ACC_STS — status de registro na rede (durante a inicialização):

Valor

Descrição

0

Não registrado; o MT não está procurando uma nova operadora para registro.

1

Registrado, rede local (home network).

2

Não registrado; o MT está procurando uma nova operadora para registro.

3

Registro negado.

4

Desconhecido (ex.: fora de cobertura GERAN/UTRAN/E-UTRAN).

5

Registrado, roaming.

NSI_MOD — Network Status Indicator (status de conexão do modem na rede; os valores coincidem com a variável de sistema F138):

Valor

Descrição

0

Modem não disponível.

1

Modem em reset.

2

Sem rede disponível / chip desconectado / procurando rede.

3

Rede 2G detectada.

4

Rede 3G detectada.

5

Rede 4G detectada (NB-IoT).

6

Rede roaming 2G detectada.

7

Rede roaming 3G detectada.

Ver também

MODEM_CONN

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    START        : BOOL := FALSE;            (* Flag de START do bloco *)
    MY_APN       : STRING := 'claro.com.br'; (* APN do chip *)
    MY_USER      : STRING := 'claro';        (* Usuario da operadora *)
    MY_PASSW     : STRING := 'claro';        (* Senha da operadora *)
    MY_PIN       : STRING := '1010';         (* PIN do chip *)
    MY_OPERADORA : STRING;                   (* Operadora detectada *)
    MY_MODEM_IP  : STRING;                   (* IP na rede *)
    MY_NET_QLT   : SINT := 0;                (* Qualidade do sinal *)
    MY_NSI       : UINT := 0;                (* Network Status Indicator *)
    MODEM_CONFIG : HILS.RNB_CFG;             (* Instancia do bloco de configuracao do MODEM *)
    READY        : BOOL := FALSE;            (* Flag de status do bloco *)
    RESULT       : UINT := 0;                (* Resultado do bloco *)
END_VAR

MODEM_CONFIG(  (* RNB_CFG *)
  START    := START,               (* [BOOL] Habilita inicio da configuracao *)
  COMM_SRC := HILS.COM1_PORT_ID,   (* [USINT] Canal de comunicacao a ser utilizado *)
  APN      := MY_APN,              (* [STRING] APN da operadora *)
  PASSW    := MY_PASSW,            (* [STRING] Senha da operadora *)
  PIN      := MY_PIN,              (* [STRING] PIN do SIM Card *)
  USER     := MY_USER              (* [STRING] Usuario da operadora *)
  );

IF MODEM_CONFIG.DONE_EVT THEN
  MY_OPERADORA := MODEM_CONFIG.NET_OPER;
  MY_MODEM_IP  := MODEM_CONFIG.NET_IP;
  MY_NET_QLT   := MODEM_CONFIG.NET_QLT;

  RESULT := MODEM_CONFIG.RESULT;
END_IF;

READY  := MODEM_CONFIG.READY;
MY_NSI := MODEM_CONFIG.NSI_MOD;