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
BTDT_FBD_avail_v31
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
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.
BTD value_1 before BTD
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.
BTD Value_1_2 before and after BTD instruction
Bloque de funciones
BTDT_FBD_ex_v31
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
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal