QC1_CFG
Envia uma sequência de comandos AT a um modem para configurá-lo e habilitá-lo na
rede celular 4G. Requer que o bloco seja habilitado e que uma transição de subida
ocorra em START, que deve permanecer em nível alto durante toda a execução. É 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
QC1_CFG
+---------------------+
BOOL ----|START READY|---- BOOL
| |
BOOL ----|FORCE_CFG DONE_EVT|---- BOOL
| |
USINT ----|COMM_SRC RESULT|---- UINT
| |
| ACC_STS|---- SINT
| |
| NET_QLT|---- SINT
| |
| NSI_MOD|---- UINT
| |
| IP_LOC|---- DINT
| |
| NET_OPER|---- STRING
| |
| QC1_IMEI|---- STRING
| |
| QC1_ICCID|---- STRING
| |
STRING ----|PIN ---------------- |----
| |
STRING ----|APN ---------------- |----
| |
STRING ----|USER --------------- |----
| |
STRING ----|PASSW -------------- |----
+---------------------+
Após ser habilitado, o bloco aguarda uma transição de subida em START para iniciar
a configuração do modem. A entrada START deve permanecer em nível alto durante a
execução. A cada evento de erro nas etapas de configuração, a saída DONE_EVT gera um
pulso de 1 ciclo de scan e o código correspondente é apresentado em RESULT.
A saída READY indica que o modem foi configurado com sucesso. Ela retorna a zero se
houver transição de descida em START ou se o acesso à rede ficar indisponível.
Se qualquer um dos parâmetros PIN, APN, USER ou PASSW for modificado, um
novo pulso em START deve ser gerado para reconfigurar o modem.
Nota
Para abrir conexão com IP e porta especificados, utilize o bloco QC1_CONN.
Parâmetros
Nome |
Direção |
Tipo |
Dimensão |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|---|
START |
IN |
BOOL |
— |
FALSE |
— |
Habilita o início da configuração (avaliado por transição de subida). |
FORCE_CFG |
IN |
BOOL |
— |
TRUE |
— |
Quando ativo, força a reconfiguração da rede mesmo que já esteja configurada. |
COMM_SRC |
IN |
USINT |
— |
0 |
|
Canal de comunicação associado ao módulo do modem (ver tabela abaixo). |
PIN |
IN_OUT |
STRING |
|
— |
— |
Número PIN do SIM Card. |
APN |
IN_OUT |
STRING |
|
— |
— |
APN da rede celular utilizada. |
USER |
IN_OUT |
STRING |
|
— |
— |
Nome de usuário da operadora (pode ser vazio em alguns casos). |
PASSW |
IN_OUT |
STRING |
|
— |
— |
Senha da operadora (pode ser vazia em alguns casos). |
READY |
OUT |
BOOL |
— |
FALSE |
— |
Sinaliza que a configuração foi executada com sucesso. |
DONE_EVT |
OUT |
BOOL |
— |
FALSE |
— |
Evento do bloco: ativo por 1 ciclo de scan a cada resultado. |
RESULT |
OUT |
UINT |
— |
0 |
RET_CODE |
Resultado da execução do bloco (ver Códigos de retorno). |
ACC_STS |
OUT |
SINT |
— |
-1 |
|
Status de registro na rede celular durante a inicialização. |
NET_QLT |
OUT |
SINT |
— |
0 |
|
Qualidade do sinal. |
NSI_MOD |
OUT |
UINT |
— |
0 |
|
Status da rede celular (Network Status Indicator; equivale à variável F138). |
IP_LOC |
OUT |
DINT |
— |
0 |
— |
IP obtido pela rede celular. |
NET_OPER |
OUT |
STRING |
|
— |
— |
Nome da operadora autenticada. |
QC1_IMEI |
OUT |
STRING |
|
— |
— |
IMEI do modem. |
QC1_ICCID |
OUT |
STRING |
|
— |
— |
ICCID do chip celular. |
O canal informado em COMM_SRC é identificado por um valor numérico (namespace
HILS):
Identificador |
Valor |
Interface |
|---|---|---|
|
0 .. 7 |
Portas seriais |
|
8 .. 15 |
Sockets Ethernet 1 |
|
16 .. 23 |
Sockets Ethernet 2 |
Códigos de retorno
RESULT carrega o código do último evento de configuração. Códigos mais comuns
deste bloco:
Código |
Identificador |
Significado |
|---|---|---|
0 |
SUCCESS |
Processo executado com sucesso. |
10 |
GL_CMD_TMO |
Timeout na execução do comando (erro no comando de reset). |
15 |
GL_HDW_FAIL |
Falha de hardware (modem não responde). |
180 |
CN_PIN_ERR |
PIN bloqueado, número do PIN errado ou PIN Security 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 (não se autoconectou em nenhuma rede). |
183 |
CN_REGISTER_DENIED |
Registro na rede 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 nem obter um IP válido na rede. |
Lista completa dos códigos de retorno: RET_CODE - Códigos de retorno do firmware G5.
Pré-condições
O bloco deve estar habilitado antes da transição de subida em
START.STARTdeve permanecer em nível alto durante toda a execução.Ao alterar
PIN,APN,USERouPASSW, gere um novo pulso emSTART.
Observações
ACC_STSreflete o status de registro na rede durante a inicialização:Valor
Descrição
0
not registered, the MT is not currently searching a new operator to register to
1
registered, home network
2
not registered, but the MT is currently searching a new operator to register to
3
registration denied
4
unknown (e.g. out of GERAN/UTRAN/E-UTRAN coverage)
5
registered, roaming
NSI_MOD(Network Status Indicator) usa os mesmos valores da 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/4G detectada
5
Rede 4G detectada (NBIOT)
6
Rede Roaming 2G detectada
7
Rede Roaming 3G/4G detectada
Ver também
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 : DINT; (* IP na rede *)
MY_NET_QLT : SINT := 0; (* Qualidade do sinal *)
MY_NSI : UINT := 0; (* Network Status Indicator *)
MODEM_CONFIG : HILS.QC1_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(
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.IP_LOC;
MY_NET_QLT := MODEM_CONFIG.NET_QLT;
RESULT := MODEM_CONFIG.RESULT;
END_IF;
READY := MODEM_CONFIG.READY;
MY_NSI := MODEM_CONFIG.NSI_MOD;