Bloco que realiza a conversão de uma variável de 32 bits (DWORD) em duas variáveis de 16 bits (2 WORD).
Representação Ladder

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
EN |
BOOL |
Habilitação do bloco |
Value |
DWORD UDINT DINT |
Valor em DWORD |
|
VAR_OUTPUT |
ENO |
BOOL |
Fim de operação |
Result1 |
WORD UINT INT |
Valor em WORD (menos significativo) |
|
Result2 |
WORD UINT INT |
Valor em WORD (mais significativo) |
Funcionamento
Este bloco, quando tem um valor TRUE em EN, separa a variável de entrada de 32 bits (DWORD) em 2 variáveis de saída de 16 bits (WORD), transferindo o resultado para Result1 (menos significativo) e Result2 (mais significativo).
Quando EN possui valor FALSE, Result permanece inalterado.
O valor de ENO repassa para o próximo bloco Ladder o valor de EN após finalizada a operação.
Fluxograma do Bloco

Exemplo em Ladder


Os exemplos acima convertem uma variável do tipo DWORD (32 bits) em duas variáveis do tipo WORD (16 bits).
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR VALUE : DINT := 65536; RES1 : INT; RES2 : INT; END_VAR
DO1 := FB_DWORD_TO_WORDS( EN:=DI1, Value:=VALUE, Result1=>RES1, Result2=>RES2);
|
|---|