Hi there,

if you want to swap the value of two Variables without using a third temporary one, heres how:

Lets say you have Variables “a = 5” and “b = 15” and you want to swap them,

so its “a = 15”, “b = 5”.

You could use a third “temporary” variable to do it like this:

temp := b;

b := a;

a := temp;

another way, without the necessity of the “temp” Variable is:

Using XOR to swap the bits of the two variables.

After three XOR “swaps” the value-Swap is done:

a := a XOR b;

b := a XOR b;

a := a XOR b;

I have put it in a function, if anyone is interested. In this case for Variables of type “INT”

```
FUNCTION f_swapInt : USINT
VAR_IN_OUT
a : INT;
b : INT;
END_VAR
END_FUNCTION
```

```
(* Swaps the Value of 2 Integer Variables *)
FUNCTION f_swapInt
a := a XOR b;
b := a XOR b;
a := a XOR b;
END_FUNCTION
```