Bloco que realiza a conversão de um valor STRING para um valor DWORD.
Representação Ladder
![]()
Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
EN |
BOOL |
Habilitação do bloco |
STR |
STRING |
Valor em STRING |
|
VAR_OUTPUT |
DONE |
BOOL |
Fim de operação |
OUT |
DWORD UDINT DINT |
Valor em DWORD |
Funcionamento
Este bloco, quando tem um valor TRUE em EN, lê o valor de STR como STRING caractere a caractere, realizando a conversão para REAL e armazenando em OUT. Caso o primeiro caractere não seja matematicamente válido, a saída OUT recebe zero. Caso haja caracteres válidos, esses caracteres serão convertidos até o fim da STRING, ou até encontrar um caractere não válido.
|
NOTA! Caso o número representado na STRING seja superior ao máximo suportado por uma DWORD, o valor de Result satura neste valor máximo. |
Quando EN possui valor FALSE, OUT permanece inalterado e DONE permanece FALSE.
O valor de DONE repassa para o próximo bloco Ladder o valor de EN após finalizada a operação.
Compatibilidade
Equipamento |
Versão |
PLC300 |
2.10 ou superior |
Fluxograma do Bloco

Exemplo em Ladder
Os exemplos a seguir exibem diversas conversões de STRING em valores do tipo DWORD. Todas as conversões habilitam a saída DONE ao fim da operação.

A conversão acima foi realizada com sucesso.

A conversão acima foi realizada com sucesso. O traço é um caractere matemático válido.

A conversão acima foi realizada com sucesso. O ponto decimal não é matematicamente válido para decimais e encerra a conversão, truncando o resultado ao que já havia sido convertido.

A conversão acima não foi realizada com sucesso. O primeiro caractere não foi identificado como matematicamente válido, e a saída foi zerada.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR STR : STRING := 'A290'; OUT : DINT; END_VAR
OUT := FB_STRING_TO_DWORD(EN:=DI1, STR:=STR, DONE=>DO1);
|
|---|