F17_SWAP

Byte-Austausch

Die Bytes des Speicherregisters d werden gegeneinander ausgetauscht. Dazu muss der Trigger EN auf TRUE gesetzt sein. 1 Byte entspricht 8 Bit.

Parameter

Ausgang

d (WORD, INT, UINT)

16-Bit-Bereich in dem die höherwertigen und die niederwertigen Bytes ausgetauscht werden

Anmerkungen

Wir empfehlen, anstelle von diesem F-Befehl den entsprechenden FP7-Befehl zu verwenden: FP_SWAP_BYTES

  1.  (1) höherwertiges Byte (8-Bit)
  2.  (2) niederwertiges Byte (8-Bit)

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		start: BOOL:=FALSE;
			(*activates the function*)
		swap_value: WORD:=16#2345;
			(*result after 0->1 leading
edge from start: 16#4523*)
	END_VAR

POE-Rumpf

Wenn die Variable start auf TRUE gesetzt wird, wird die Funktion ausgeführt.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_CONTACT,,start,3,2,5,4,);
B(B_F,F17_SWAP!,Instance,5,1,12,5,,?DEN?AENO?Cd);
B(B_VAROUT,,swap_value,12,3,14,5,);
L(1,3,3,3);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

IF start then
    F17_SWAP(swap_value);
END_IF;

AWL-Rumpf

LD

start

(* EN = start; Starting signal for the F17_SWAP function. *)

F17_SWAP

swap_value

(* d = swap_value (source/destination) *)

(* Byte1Byte0 Byte0Byte1 *)

ST

out

(* option *)

Letzte Änderung am: 2021-07-28Feedback zu dieser SeitePanasonic Hotline