Caminho:  Equipamentos (Dispositivos) > RUW100 > Ladder > Data Transfer >

DEMUX2

Demultiplexador

Previous pageReturn to chapter overviewNext page

Bloco que cria 32 novas variáveis BOOL a partir da decomposição de uma variável DWORD.

 

Representação Ladder

 

DEMUX2_block

 

Estrutura do Bloco

 

Tipo de Variável

Nome

Tipo de Dado

Descrição

VAR_INPUT

EN

BOOL

Habilitação do bloco

DWORD

DWORD UDINT DINT

Variável de entrada de 32 bits

VAR_OUTPUT

ENO

BOOL

Fim de operação

Bit0 – Bit31

BOOL

Bit da posição correspondente de DWord

 

Funcionamento

 

Este bloco, quando tem um valor TRUE em EN, decompõe a variável de entrada DWORD  em 32 valores booleanos armazenados nas variáveis Bit 0 a Bit 31. O Bit 0 corresponde ao LSB (bit menos significativo) e Bit 31 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

 

DEMUX2_flowchart

 

Exemplo em Ladder

 

DEMUX2_example01

 

O exemplo acima decompõe o valor de MYWORD em valores booleanos, sendo estes armazenados nas variáveis de saída BIT0 a BIT31. 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

  ENTRADA : DWORD := 1456756758;

  ARRAY_BOOL : ARRAY[0..31] OF BOOL;

END_VAR

 

DO1 := FB_DEMUX2(

  EN:=DI1,

  DWord0:=ENTRADA,

  Bit0=>ARRAY_BOOL[0],

  Bit1=>ARRAY_BOOL[1],

  Bit2=>ARRAY_BOOL[2],

  Bit3=>ARRAY_BOOL[3],

  Bit4=>ARRAY_BOOL[4],

  Bit5=>ARRAY_BOOL[5],

  Bit6=>ARRAY_BOOL[6],

  Bit7=>ARRAY_BOOL[7],

  Bit8=>ARRAY_BOOL[8],

  Bit9=>ARRAY_BOOL[9],

  Bit10=>ARRAY_BOOL[10],

  Bit11=>ARRAY_BOOL[11],

  Bit12=>ARRAY_BOOL[12],

  Bit13=>ARRAY_BOOL[13],

  Bit14=>ARRAY_BOOL[14],

  Bit15=>ARRAY_BOOL[15],

  Bit16=>ARRAY_BOOL[16],

  Bit17=>ARRAY_BOOL[17],

  Bit18=>ARRAY_BOOL[18],

  Bit19=>ARRAY_BOOL[19],

  Bit20=>ARRAY_BOOL[20],

  Bit21=>ARRAY_BOOL[21],

  Bit22=>ARRAY_BOOL[22],

  Bit23=>ARRAY_BOOL[23],

  Bit24=>ARRAY_BOOL[24],

  Bit25=>ARRAY_BOOL[25],

  Bit26=>ARRAY_BOOL[26],

  Bit27=>ARRAY_BOOL[27],

  Bit28=>ARRAY_BOOL[28],

  Bit29=>ARRAY_BOOL[29],

  Bit30=>ARRAY_BOOL[30],

  Bit31=>ARRAY_BOOL[31]);