Ho realizzato questo semplice programma di esempio dove la funzione @USINT SSelector(USINT Index) ritorna l’indirizzo del messaggio selezionato con la variabile Index.
Come vedi dalla stampa del programma, chiamando la funzione SSelector passando il valore di indice viene ritornato l’indirizzo del messaggio relativo. Nel programma ST viene trasferito il messaggio selezionato in stringhe di testo utilizzando la funzione StrCopy di cui fornisco anche il codice sorgente.
Ho definito la struttura MESSAGETEXT per permettere di gestire un array di messaggi, ed utilizzando l’array ho creato un loop per il trasferimento di tutti i messaggi (Download programma).
FOR i:=0 TO 3 DO
RCode:=StrCopy(ADR(Msg[i].Txt), SSelector(i));
END_FOR;