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

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

Ejemplo 2: intercambiar los bytes en todos los elementos de una matriz
Diagrama de lógica de escalera

![SWPB_LD_ex2_#2_[index]_v31](/content/dam/dita/es/studio-5000-logix-designer/38-00/help/clinset/move-logical/graphics/l5k_swpb_ld_ex2_2_v31.png/_jcr_content/renditions/original)

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