Bloco que cria 16 novas variáveis BOOL a partir da decomposição de uma variável 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 |
Word |
WORD UINT INT |
Variável de entrada de 16 bits |
|
VAR_OUTPUT |
ENO |
BOOL |
Fim de operação |
Bit0 – Bit15 |
BOOL |
Bit da posição correspondente de Word |
Funcionamento
Este bloco, quando tem um valor TRUE em EN, decompõe a variável de entrada Word em 16 valores booleanos armazenados nas variáveis Bit0 a Bit15. O Bit0 corresponde ao LSB (bit menos significativo) e Bit15 corresponde ao MSB (bit mais significativo).
Quando EN possui valor FALSE, as variáveis de saída permanecem inalteradas.
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

O exemplo acima decompõe o valor de MYWORD em valores booleanos, sendo estes armazenados nas variáveis de saída BIT0 a BIT15. O bloco finaliza com sucesso e a saída ENO é ativada.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR MYWORD : WORD := 45985; BIT0 : BOOL; BIT1 : BOOL; BIT2 : BOOL; BIT3 : BOOL; BIT4 : BOOL; BIT5 : BOOL; BIT6 : BOOL; BIT7 : BOOL; BIT8 : BOOL; BIT9 : BOOL; BIT10 : BOOL; BIT11 : BOOL; BIT12 : BOOL; BIT13 : BOOL; BIT14 : BOOL; BIT15 : BOOL; END_VAR
DO1 := FB_DEMUX( EN:=DI1, Word0:=MYWORD, Bit0=>BIT0, Bit1=>BIT1, Bit2=>BIT2, Bit3=>BIT3, Bit4=>BIT4, Bit5=>BIT5, Bit6=>BIT6, Bit7=>BIT7, Bit8=>BIT8, Bit9=>BIT9, Bit10=>BIT10, Bit11=>BIT11, Bit12=>BIT12, Bit13=>BIT13, Bit14=>BIT14, Bit15=>BIT15);
|
|---|