Camino:  Equipo (Dispositivos) > SCA06 > Ladder > Data Transfer >

DEMUX2

Demultiplexor

Previous pageReturn to chapter overviewNext page

Bloque que crea 32 nuevas variables BOOL a partir de la descomposición de una variable DWORD.

 

Representación Ladder

 

DEMUX2_block

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

EN

BOOL

Habilitación del bloque

DWord

DWORD UDINT DINT

Variable de entrada de 32 bits

VAR_OUTPUT

ENO

BOOL

Fin de operación

Bit0 – Bit31

BOOL

Bit da posição correspondente de Word

 

Operación

Este bloque, cuando tiene un valor TRUE en EN, descompone la variable de entrada DWord en 32 valores booleanos almacenados en las variables Bit0 a Bit31. El Bit0 corresponde al LSB (bit menos significativo) y el Bit31 corresponde al MSB (bit más significativo).

 

Cuando EN tiene valor FALSE, las variables de salida permanecen inalteradas.

 

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

 

Diagrama de Flujo del Bloque

 

DEMUX2_flowchart

 

Ejemplo en Ladder

 

DEMUX2_example01

 

El ejemplo de arriba descompone el valor de MYDWORD en valores booleanos, siendo almacenados en las variables de salida BIT0 a BIT31. El bloque finaliza exitosamente y la salida ENO es activada.

 

Ejemplo en ST

 

 El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje 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]);