QC1_CFG
Este bloco tem por função enviar uma sequência de comandos AT defindos a um modem para configura-lo e habilitá-lo na rede celular 4G.
Após o bloco ser habilitado pela entrada EN, ficará aguardando uma transição de subida em START; quando essa ocorrer, o bloco irá configurar o modem. A entrada START deve permanecer em nível alto durante a execução do bloco. Os itens a seguir detalham o funcionamento do bloco.
Nota
Para abrir conexão com IP e porta especificados, utilizar o bloco QC1_CONN
Bloco
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 -------------- |----
+---------------------+
Parâmetros
Nome |
Classe |
Tipo |
Dim. |
V. Ini. |
Descrição |
START |
Entrada |
BOOL |
FALSE |
Habilita incio da configuração |
|
FORCE_CFG |
Entrada |
BOOL |
TRUE |
Flag de força configuração: quando habilitado, força a re-configuração da rede, mesmo que a rede já esteja configurada |
|
COMM_SRC |
Entrada |
USINT |
0 |
Canal de comunicação associado ao módulo do modem |
|
PIN |
Entrada/Saída |
STRING |
:* |
Nro PIN do SDCARD |
|
APN |
Entrada/Saída |
STRING |
:* |
APN da rede celular utilizada |
|
USER |
Entrada/Saída |
STRING |
:* |
Usuário |
|
PASSW |
Entrada/Saída |
STRING |
:* |
Senha |
|
READY |
Saída |
BOOL |
FALSE |
Flag de configuração executada |
|
DONE_EVT |
Saída |
BOOL |
FALSE |
Evento do bloco: ativo em 1 ciclo de scan |
|
RESULT |
Saída |
UINT |
0 |
Resultado da execução do bloco |
|
ACC_STS |
Saída |
SINT |
-1 |
Status de conexão da rede celular |
|
NET_QLT |
Saída |
SINT |
0 |
Qualidade do sinal |
|
NSI_MOD |
Saída |
UINT |
0 |
Status da rede celular (Network Status indicator) |
|
IP_LOC |
Saída |
DINT |
0 |
IP obtido pela rede celular |
|
NET_OPER |
Saída |
STRING |
:10 |
String com nome da operadora autenticada |
|
QC1_IMEI |
Saída |
STRING |
:25 |
IMEI do MODEM |
|
QC1_ICCID |
Saída |
STRING |
:30 |
ICCID do chip celular |
COMM_SRC
Canal de comunicação que o modem está referenciado. Este canal é especificado por um identificador (valor númerico) conforme indicado na tabela a seguir:
Nome |
Ident. |
Descrição |
HILS.COM1_PORT_ID |
0 |
Canal serial COM1 |
HILS.COM2_PORT_ID |
1 |
Canal serial COM2 |
HILS.COM3_PORT_ID |
2 |
Canal serial COM3 |
HILS.COM4_PORT_ID |
3 |
Canal serial COM4 |
HILS.COM5_PORT_ID |
4 |
Canal serial COM5 |
HILS.COM6_PORT_ID |
5 |
Canal serial COM6 |
HILS.COM7_PORT_ID |
6 |
Canal serial COM7 |
HILS.COM8_PORT_ID |
7 |
Canal serial COM8 |
HILS.SOCK0_PORT_ID |
8 |
Controlador Ethernet 1: Socket 0 |
HILS.SOCK1_PORT_ID |
9 |
Controlador Ethernet 1: Socket 1 |
HILS.SOCK2_PORT_ID |
10 |
Controlador Ethernet 1: Socket 2 |
HILS.SOCK3_PORT_ID |
11 |
Controlador Ethernet 1: Socket 3 |
HILS.SOCK4_PORT_ID |
12 |
Controlador Ethernet 1: Socket 4 |
HILS.SOCK5_PORT_ID |
13 |
Controlador Ethernet 1: Socket 5 |
HILS.SOCK6_PORT_ID |
14 |
Controlador Ethernet 1: Socket 6 |
HILS.SOCK7_PORT_ID |
15 |
Controlador Ethernet 1: Socket 7 |
HILS.ETH2_SOCK0_PORT_ID |
16 |
Controlador Ethernet 2: Socket 0 |
HILS.ETH2_SOCK1_PORT_ID |
17 |
Controlador Ethernet 2: Socket 1 |
HILS.ETH2_SOCK2_PORT_ID |
18 |
Controlador Ethernet 2: Socket 2 |
HILS.ETH2_SOCK3_PORT_ID |
19 |
Controlador Ethernet 2: Socket 3 |
HILS.ETH2_SOCK4_PORT_ID |
20 |
Controlador Ethernet 2: Socket 4 |
HILS.ETH2_SOCK5_PORT_ID |
21 |
Controlador Ethernet 2: Socket 5 |
HILS.ETH2_SOCK6_PORT_ID |
22 |
Controlador Ethernet 2: Socket 6 |
HILS.ETH2_SOCK7_PORT_ID |
23 |
Controlador Ethernet 2: Socket 7 |
Este texto pode ser utilizado como parâmetro pois esta definido no tipo COMM_CHAN_ID disponível na biblioteca HI_STD. |
|
Cada equipamento possui um sub-conjunto dos recursos de comunicação indicados na tabela acima. Para identificar quais recursos estão disponíveis em um dado equipamento, consulte o manual do mesmo. |
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 código 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 código NOME DE USUÁRIO da operadora do chip SIM CARD. Em alguns casos esse parametro pode ser vazio. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.
PASSW
String com o código SENHA da operadora do chip SIM CARD. Em alguns casos esse parametro pode ser vazio. Se este parâmetro for modificado, um novo pulso em START deve ser gerado.
RESULT, DONE_EVT, READY
A cada evento de erro no bloco durante as etapas de configuração o sinal DONE_EVT gera um pulso e o código do evento é mostrado na variável RESULT. A descrição dos códigos do RESULT são listados a seguir:
RESULT |
||
Código |
Valor |
Descrição |
SUCCESS |
0 |
Processo executado com sucesso |
CN_PIN_ERR |
180 |
Pin Bloqueado ou Numero do PIN errado ou Pin Security sts não desbloqueado |
CN_SIM_CARD_ERR |
181 |
Sem SIM Card inserido ou erro de leitura do SIM Card. |
GL_CMD_TMO |
10 |
Erro no comando de reset |
CN_NO_NET |
182 |
Não detectou rede ( não se autoconectou em nenhuma rede) |
CN_REGISTER_DENIED |
183 |
Registro negado |
CN_INV_AUTH_DATA |
184 |
APN e/ou usuário e/ou senha inválidos |
CN_AUTH_DENIED |
185 |
Não foi possivel ativar perfil e não obteve um IP válido na rede |
GL_HDW_FAIL |
15 |
Erro de hardware (modem não responde) |
A saída READY indica que o modem foi configurado com sucesso. Essa saída irá para zero se houver transição de descida na entrada START ou se o acesso a rede ficar indisponível.
ACC_STS, NET_QLT,
Durante a configuração do modem o bloco retornará os seguintes parâmetros da rede:
ACC_STS
Status de registro na rede durante a inicialização
ACC_STS |
|
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 |
NET_QLT
Qualidade do sinal de 0 a 100%
NSI_MOD
Network Status Indicator, ou status de conexão do modem na rede . Os valores de NSI_MOD são os mesmos obtidos pela variável de sistema F138 e a descrição dos valores são apresentados na tabela a seguir.
STS_MOD |
|
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 |
Exemplo
Declaração de variáveis
Nome |
Classe |
Tipo |
Valor Inicial |
Descrição |
|---|---|---|---|---|
START |
Local |
BOOL |
FALSE |
Flag de START do bloco |
MY_APN |
Local |
STRING |
‘claro.com.br’ |
APN do chip |
MY_USER |
Local |
STRING |
‘claro’ |
Usuario da operadora |
MY_PASSW |
Local |
STRING |
‘claro’ |
Senha da operadora |
MY_PIN |
Local |
STRING |
‘1010’ |
PIN do chip |
MY_OPERADORA |
Local |
STRING |
Operadora detectada |
|
MY_MODEM_IP |
Local |
STRING |
IP na rede |
|
MY_NET_QLT |
Local |
SINT |
0 |
Qualidade od sinal |
MY_NSI |
Local |
UINT |
0 |
Network Status indicator |
MODEM_CONFIG |
Local |
QC1_CFG |
Instancia do bloco de configuração do MODEM |
|
READY |
Local |
BOOL |
FALSE |
Flag de status do bloco |
RESULT |
Local |
UINT |
0 |
Resultado do bloco |
Código ST
MODEM_CONFIG( // QC1_CFG
START := START, // [BOOL] Habilita incio da configuração
COMM_SRC := HILS.COM1_PORT_ID, // [USINT] Canal de comunicação 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] usuário 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;