Bloco que realiza a conversão de uma variável de 32 bits (DWORD) em quatro variáveis de 8 bits (4 BYTES).
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 |
BYTE USINT SINT |
Valor em BYTE (menos significativo) |
|
Result2 |
BYTE USINT SINT |
Valor em BYTE |
|
Result3 |
BYTE USINT SINT |
Valor em BYTE |
|
Result4 |
BYTE USINT SINT |
Valor em BYTE (mais significativo) |
Funcionamento
Este bloco, quando tem um valor TRUE em EN, separa a variável de entrada de 32 bits (DWORD) em 4 variáveis de saída de 8 bits (BYTE), transferindo o resultado para Result1 (menos significativo) até Result4 (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 quatro variáveis do tipo BYTE (8 bits).
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR VALUE : DINT := 65536; RESULT1 : SINT; RESULT2 : SINT; RESULT3 : SINT; RESULT4 : SINT; END_VAR
DO1 := FB_DWORD_TO_BYTES( EN:=DI1, Value:=VALUE, Result1=>RESULT1, Result2=>RESULT2, Result3=>RESULT3, Result4=>RESULT4);
|
|---|