Intercambiar byte (SWPB)

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.
La instrucción SWPB reorganiza el orden de los bytes de Source. Coloca el resultado en Destination.
Idiomas disponibles
Diagrama de lógica de escalera
SWPB_LD_avail_v31
Bloque de funciones
Esta instrucción no está disponible en el bloque de funciones.
Texto estructurado
SWPB(Source, Order Mode, Dest);
Operandos
IMPORTANTE: Puede ocurrir un funcionamiento inesperado si:
  • Los operandos de etiqueta de salida se sobrescriben.
  • Los miembros de un operando de estructura se sobrescriben.
  • A no ser que se especifica, los operandos de estructura son compartidos por varias instrucciones.
Existen reglas de conversión de datos para utilizar diversos tipos de datos numéricos en una instrucción. Consulte
Conversión de datos
.
Diagrama de escalera y texto estructurado
Operando
Tipo de datos
Formato
Descripción
Source
INT
DINT
etiqueta
Etiqueta que contiene los bytes que se deben reorganizar.
Order Mode
elemento de lista
Este operando especifica cómo reordnenar los bytes. Consulte la tabla Modo Orden.
Dest
INT
DINT
etiqueta
Etiqueta para almacenar los bytes en un nuevo orden. Consulte la tabla Dest.
Si selecciona el modo de orden HIGH/LOW, introdúzcalo como HIGHLOW (sin la barra inclinada). Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Order Mode
Si el valor de Source es un
Y quiere cambiar los bytes a este patrón (cada letra representa un byte diferente)
Entonces, selecciona
INT
AB => BA
Cualquier opción
DINT
ABCD => DCBA
REVERSE
ABCD =>CDAB
WORD
ABCD => BADC
HIGH/LOW
Dest
Si el valor de Source es un
Entonces, el valor de Destination debe ser un
INT
INT, DINT
Si el valor de Destinación es un DINT, se extiende el signo del resultado después de que se intercambien los bytes.
DINT
DINT
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
No es específico para esta instrucción. Consulte Índice a través de matrices para ver si hay fallos de indexación de matrices.
Ejecución
Diagrama de lógica de escalera
Condición/estado
Acción realizada
Pre-escaneado
N/A
La condición de entrada de renglón es falsa
N/A
La condición de entrada de renglón es verdadera
La instrucción reordena los bytes especificados.
Post-escaneado
N/A
Texto estructurado
Condición/estado
Acción realizada
Pre-escaneado
Consultar Pre-escaneado en la tabla Diagrama de lógica de escalera.
Ejecución normal
Consultar La condición de entrada de reglón es verdadera en la tabla Diagrama de escalera.
Post-escaneado
Consultar Post-escaneado en la tabla Diagrama de escalera.
Ejemplos
Ejemplo 1: intercambiar los bytes de una etiqueta DINT
Las tres instrucciones SWPB reordenan los bytes de DINT_1 conforme a un modo de ordenación diferente. El estilo de visualización es ASCII y cada carácter representa un byte. Cada instrucción coloca los bytes en el nuevo orden en un Destination diferente.
Diagrama de lógica de escalera
SWPB_LD_ex1_v31
Ejemplo 2: intercambiar los bytes en todos los elementos de una matriz
Diagrama de lógica de escalera
SWPB_LD_ex2_#1_v31
SWPB_LD_ex2_#2_[index]_v31
SWPB_LD_ex2_#3_v31
Ejemplo 3: SWPB en texto estructurado
Texto estructurado
index := 0;
SIZE (array[0],0,array_length);
REPEAT
SWPB(array[index],REVERSE,array_bytes_reverse[index]);
index := index + 1;
UNTIL(index >= array_length)END_REPEAT;
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal