Hi Saeed Heshmatian,
Welcome to the world of Fixed-Point!
In many of our examples, we like to keep our units between -1 and 1 in a fixed point format. So voltages, currents, speed, position signals are all normailzed in signals that move from -1 to 1 in a high precision fixed-point format (24 bits (Q24) for the decimal part). 1 represents the max value, i.e. max voltage, or max current, -1 the minimum value. For currents, the max value is defined by the max value the ADC can measure. For voltages, the max is defined by 100% PWM duty cycle on the output.
Why do we do this? Fixed point math is more efficient than float, even on microcontrollers that have an FPU. The control loop in the example that you mention runs at 200kHz (5µs), you can't waste CPU cycles at that rate.
Why -1 to 1? When you multiply 2 signlas ranging from -1 to 1, you get a signal ranging from... -1 to 1. Therefore you can keep the same fixed-point format (Q24) throughout the model and skip expensive and complicated fixed-point conversions. The algorithm also becomes agnostic to engineering units and can be ported from one hardware platform ot another.
How does that appy to the DC/DC buck converter example? The ADC gives you a signal from 0 to 4095, where 0 is 0 Amperes and 4095 the max current, I don't care how much it is at this point, I will just call it 1. That's a 12-bit signal, so the conversion to fixed-point Q12 is trivial, you just have to take the bits the way they are and treat the signal as an unsigned fixed-point signal in Q12. That's what the first conversion block does, SI (Stored Integer) means "Take the bits the way they are and treat this signal as ufix Q12". Now we have a signlal that moves from 0 to 1 in Q12, but like I said above we like to use a better fixed-point precision for the rest of the model, so I convert this signal to Q24, which is the format that we use for the rest of the model. That's what the second conversion block does. In this case, the bits need to change (it's actually a shift by 12 to the left), the RWW (Real Worl Value) tells Simulink to do the conversion on the signal, so the bits needs to be shifted by 12 to reach the Q24 format. I now have my current moving from 0 to 1 (negative values are not possible here) in Q24 format and all you will see in the generated code is a shift by 12 to do the scaling from the ADC value, which is very efficient.
While sending the signals to the host, you can convert back the normalized signals into engineering units that are easier to read. I would do this on the host so you don't waste time on the target.
I hope it helps,