Il modulo di espansione I/O analogico che dispone di ingressi diferenziali con acquisizione a 23 bit verrà a breve aggiornato con un nuovo firmware per la lettura anche di strain gauge. Anche se visto l’elevato numero di bits del convetitore,è già possibile acquisire i valori analogici in uscita dal ponte di misura ed acquisire il valore di peso.
Per quanto riguarda il filtraggio del valore di peso acquisito è possibile realizzare l’algoritmo di filtro da linguaggio ST. Abbiamo alcuni esempi di filtro che possiamo fornire su richiesta.
Per quanto riguarda il ciclo FOR, 35000 cicli sono parecchi, ma se non è possibile effettuare algoritmi di semplificazione gioco forza è realizzare il numero di cicli richiesto. Ho realizato un semplice programma ST che esegue 40000 cicli con tre somme ed un confronto all’interno, tutto su variabili a 32 bits, ed il tempo di esecuzione è 56 mSec.
PROGRAM ST
VAR
i : UINT; { DE:”Auxiliary counter” }
AddArray : ARRAY[ 0..3 ] OF UDINT; { DE:”Adding array” }
END_VAR
FOR i:=0 TO 40000 DO
AddArray[0]:=AddArray[0]+1;
AddArray[1]:=AddArray[1]+1;
AddArray[2]:=AddArray[2]+1;
IF (AddArray[2] = AddArray[3]) THEN AddArray[3]:=AddArray[3]+1; END_IF;
END_FOR;
END_PROGRAM