Distribuir campo de bits con receptor (BTDT)
Esta información corresponde a los controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 y ControlLogix 5590. Las diferencias de controladores se indican cuando corresponda.
La instrucción BTDT copia primero el Target a Destination. A continuación, la instrucción copia los bits especificados del Source, cambia los bits a la posición correspondiente y escribe los bits en Destination. Target y Source se quedan igual.
Idiomas disponibles
Diagrama de lógica de escalera
Esta instrucción no está disponible en un diagrama de escalera.
Bloque de funciones

Texto estructurado
BTDT(BTDT_tag);
Operandos
Bloque de funciones
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
BTDT tag | FBD_BIT_FIELD_DISTRIBUTE | estructura | Estructura BTDT |
Texto estructurado
Parámetro de entrada | Tipo de datos | Descripción |
|---|---|---|
EnableIn | BOOL | Si no está activada, la instrucción no se ejecuta y las salidas no se actualizan. Si está establecida, la instrucción se ejecuta. Está establecido de forma predeterminada. |
Source | DINT | Valor de entrada que contiene los bits a mover al Destino. Válido = cualquier número entero |
SourceBit | DINT | La posición del bit en Origen (número de bit más bajo desde el que empezar el desplazamiento). Válido = de 0 a 31 |
Length | DINT | Número de bits a mover. Válido = de 1 a 32 |
DestBit | DINT | La posición del bit en Dest (número de bit más bajo desde el que empezar a copiar bits). Válido = de 0 a 31 |
Target | DINT | Valor de entrada a mover a Dest antes de mover bits desde el Origen. Válido = cualquier número entero |
Parámetro de salida | Tipo de datos | Descripción |
|---|---|---|
EnableOut | BOOL | Indica si la instrucción está habilitada. |
Dest | DINT | Resultado de la operación de movimiento de bits. |
Consulte
Sintaxis de texto estructurado
para obtener información sobre la sintaxis de las expresiones dentro de texto estructurado.Descripción
Cuando es verdadero, la instrucción BTDT copia primero el valor de Target en Destination y copia un grupo de bits de Source a Destination. El grupo de bits se identifica mediante el Source bit (número de bit más bajo del grupo) y Length (número de bits a copiar). El Destination bit identifica el número de bit más bajo por el que comenzar en Destination. Source y Target se quedan igual.
Si la longitud del campo de bits se extiende más allá de Destination, la instrucción no guarda los bits adicionales. Cualquier bit adicional no se ajusta a la siguiente palabra.
Afecta a las marcas de estado matemáticas
Controladores | Marca de estado matemático afectado |
|---|---|
Controladores CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 y ControlLogix 5590 | Sí |
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570 | No |
Consulte Marcas de estado matemático.
Fallos mayores/menores
No es específico para esta instrucción. Consulte Atributos comunes para obtener información sobre fallos relacionados con los operandos.
Ejecución
Bloque de funciones
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Los bits EnableIn y EnableOut se establecen en falsos. |
Tag.EnableIn es falso | Los bits EnableIn y EnableOut se establecen en falsos. |
Tag.EnableIn es verdadero | Los bits EnableIn y EnableOut se establecen en verdaderos. La instrucción se ejecuta. |
Primera ejecución de instrucción | N/A |
Primer escaneado de instrucción | N/A |
Post-escaneado | Los bits EnableIn y EnableOut se establecen en falsos. |
Texto estructurado
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Consulte Pre-escaneado en la tabla Bloque de funciones. |
Ejecución normal | Consultar Tag.EnableIn es verdadero en la tabla Bloque de funciones. |
Post-escaneado | Consulte Post-escaneado en la tabla Bloque de funciones. |
Ejemplo
Paso 1
El controlador copia el valor de Target en Dest.

Paso 2
SourceBit y Length especifican cuál bits de Source se deben copiar en Dest. Comenzando por DestBit, Source y Target se quedan igual.

Bloque de funciones

Texto estructurado
BTDT_01.Source := sourceSTX;
BTDT_01.SourceBit := source_bitSTX;
BTDT_01.Length := LengthSTX;
BTDT_01.DestBit := dest_bitSTX;
BTDT_01.Target := TargetSTX;
BTDT(BTDT_01);
distributed_value := BTDT_01.Dest;
Entregue su opinión