La funzione POW opera su variabili REAL, quindi se tu passi alla funzioni variabili o valori diversi da REAL il compilatore ti genera le warning riportate.
Ti faccio un esempio in ST Result:=POW(2, 3); genera le warning perchè i valori 2 e 3 sono considerati interi. Se invece scrivi Result:=POW(2.0, 3.0); le warning spariscono (Naturalmente Result deve essere di tipo REAL).
In pratica quando scrivi una costante in una variabile di tipo REAL devi sempre mettere il decimale (2.0). Nel tuo caso poi che copi una variabile intera di tipo USINT in una variabile REAL devi mettere l’operatore TO_REAL.
Result:=POW(2.0, TO_REAL(Exponent));
La stessa cosa se vuoi trasferire il risultato di POW in una variabile intera di tipo UINT devi scrivere
Result:=TO_UINT(POW(TO_REAL(Base), TO_REAL(Exponent)));