Intanto non è chiaro quello che chiedi in merito al concatenamento, se ho capito bene tu hai due variabili USINT (Esempio 12 e 30) e vuoi unirle in una variabile UINT che abbia valore 1230. Per fare questo basta usare la matematica (12*100)+30.
Esempio ST:
Concatenato:=(Ora*100)+Minuti;
Stesso discorso per il contrario una variabile UINT di valore 1230 da dividere in due variabili USINT.
Esempio ST:
Ora:=TO_USINT(Concatenato/100);
Minuti:=TO_USINT(Concatenato-(Ora*100));
Il controllo sulle fasce orarie è un problema abbastanza complesso che può essere facilmente risolto operando con valori di data e ora espressi in Epoch Time (Vedi blocchi funzione SysETimeToDate, SysDateToETime per le conversioni).