CONFIG_SERIAL
Configura o canal serial especificado (baud rate, data bits, paridade, stop bits e
protocolo) apenas em RAM — se o equipamento for resetado, a configuração salva em flash
é restaurada — exigindo uma transição de subida em START para executar. É 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
CONFIG_SERIAL
+-----------------+
BOOL ----|START COMPLETE|---- BOOL
| |
USINT ----|CHANN RESULT|---- INT
| |
USINT ----|BAUD |
| |
USINT ----|DATA |
| |
USINT ----|PARITY |
| |
USINT ----|STOPB |
| |
USINT ----|PROT |
+-----------------+
O bloco necessita de uma transição de subida em START para executar a
configuração. A configuração é aplicada somente em RAM; após um reset do equipamento
a configuração salva na flash é restaurada. A restauração dos valores salvos em flash
também pode ser realizada com o bloco de função RESTORE_COMM. O uso do código
255 em qualquer entrada mantém o valor atualmente configurado para aquele parâmetro.
Nota
Verifique na especificação do equipamento utilizado se o firmware do mesmo possui recurso para o protocolo desejado.
CHANN — o canal de comunicação é especificado por um identificador (valor numérico).
Para a configuração serial utilize os identificadores dos canais seriais (COM1 a
COM8). Esses identificadores estão definidos no tipo COMM_CHAN_ID da biblioteca
HI_STD:
Identificador |
Ident. |
Descrição |
|---|---|---|
|
0 .. 7 |
Canais seriais COM1 a COM8. |
|
8 .. 15 |
Controlador Ethernet 1: sockets 0 a 7. |
|
16 .. 23 |
Controlador Ethernet 2: sockets 0 a 7. |
BAUD — código do baud rate:
BAUD |
Baud rate |
|---|---|
0 |
1200 |
1 |
2400 |
2 |
4800 |
3 |
9600 |
4 |
19200 |
5 |
38400 |
6 |
57600 |
7 |
115200 |
255 |
Mantém o valor configurado |
DATA — código do número de bits de dados:
DATA |
Data bits |
|---|---|
0 |
7 |
1 |
8 |
255 |
Mantém o valor configurado |
PARITY — código da paridade:
PARITY |
Paridade |
|---|---|
0 |
Nenhuma |
1 |
Par |
2 |
Ímpar |
255 |
Mantém o valor configurado |
STOPB — código do número de stop bits:
STOPB |
Stop bits |
|---|---|
0 |
1 |
1 |
2 |
255 |
Mantém o valor configurado |
PROT — código do protocolo:
PROT |
Protocolo |
|---|---|
0 |
ASCII |
1 |
ASCII com SOF |
2 |
ASCII com EOF |
3 |
ASCII com SOF + EOF |
6 |
MQTT_CLIENT |
8 |
MODBUS-RTU |
9 |
MODBUS-TCP |
10 |
HTTPServer |
255 |
Mantém o valor configurado |
Parâmetros
Nome |
Direção |
Tipo |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|
START |
IN |
BOOL |
FALSE |
— |
Transição de subida inicia o processo de configuração dos parâmetros. |
CHANN |
IN |
USINT |
— |
COMM_CHAN_ID (canais seriais) |
Identificador do canal serial a ser configurado ( |
BAUD |
IN |
USINT |
255 |
0 .. 7 · 255 |
Código do baud rate a ser configurado ( |
DATA |
IN |
USINT |
255 |
0 .. 1 · 255 |
Código do número de bits de dados ( |
PARITY |
IN |
USINT |
255 |
0 .. 2 · 255 |
Código da paridade ( |
STOPB |
IN |
USINT |
255 |
0 .. 1 · 255 |
Código do número de stop bits ( |
PROT |
IN |
USINT |
255 |
vide tabela de protocolos · 255 |
Código do protocolo a ser configurado ( |
COMPLETE |
OUT |
BOOL |
FALSE |
— |
Indica o fim da execução do comando. |
RESULT |
OUT |
INT |
0 |
RET_CODE |
Código de retorno da operação (ver Códigos de retorno). |
Códigos de retorno
RESULT é do tipo RET_CODE: 0 ( HILS.SUCCESS ) indica que a função foi
executada com sucesso; qualquer valor diferente de 0 indica falha e identifica o
respectivo código de erro. Use os identificadores com o namespace HILS (ex.:
HILS.CO_INV_CHA). Códigos comumente observados nesta função:
Código |
Identificador |
Significado |
|---|---|---|
0 |
SUCCESS |
Configuração aplicada com sucesso. |
4 |
GL_HDW_SUP |
Equipamento sem suporte de hardware/firmware para o recurso solicitado. |
5 |
GL_INV_PAR |
Parâmetro inválido (código de baud/data/parity/stop/protocolo não suportado). |
74 |
CO_INV_CHA |
Canal de comunicação inválido. |
Lista completa dos códigos de retorno: RET_CODE - Códigos de retorno do firmware G5.
Pré-condições
CHANNdeve identificar um canal serial existente no equipamento (consulte o manual do equipamento para saber quais recursos de comunicação estão disponíveis).O firmware do equipamento deve suportar o protocolo selecionado em
PROT.
Observações
A configuração é gravada somente em RAM; um reset do equipamento restaura os valores salvos em flash. Use RESTORE_COMM para restaurar os valores de flash sob comando.
O código
255em qualquer entrada preserva o valor atualmente configurado para o parâmetro correspondente.RESULTé atualizado no encerramento do comando, quandoCOMPLETEvai a TRUE.
Ver também
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
CFG_SERIAL : HILS.CONFIG_SERIAL; (* Instancia de configuração do canal serial *)
MY_START : BOOL := FALSE; (* Flag de start *)
COUNT : UINT := 0; (* Contador de execuções do comando *)
MY_CHANN : USINT := 0; (* Canal a ser configurado (COM1) *)
MY_BAUD_RATE : USINT := 0; (* Baud rate a ser configurado (1200) *)
MY_DATA_BITS : USINT := 1; (* Data bits a ser configurado (8 bits) *)
MY_PARITY : USINT := 0; (* Paridade a ser configurada (nenhuma) *)
MY_STOP_BITS : USINT := 0; (* Stop bits a ser configurado (1 stop) *)
MY_PROTOCOL : USINT := 8; (* Protocolo a ser configurado (Modbus-RTU) *)
RET : INT := 0; (* Recebe o RESULT (RET_CODE) *)
END_VAR
(* Exemplo do bloco de configuração de um canal serial *)
CFG_SERIAL(
START := MY_START,
CHANN := MY_CHANN,
BAUD := MY_BAUD_RATE,
DATA := MY_DATA_BITS,
PARITY := MY_PARITY,
STOPB := MY_STOP_BITS,
PROT := MY_PROTOCOL
);
(* Aguarda o fim da configuração *)
IF (CFG_SERIAL.COMPLETE) THEN
RET := CFG_SERIAL.RESULT;
COUNT := COUNT + 1;
MY_START := FALSE;
END_IF;