42 lines
1.6 KiB
Matlab
Executable File
42 lines
1.6 KiB
Matlab
Executable File
% Funzione che converte i dati in mV/V della cella di carico in dati di
|
|
% forza mediante i valori di calibrazione.
|
|
% Il risultato è la matrico DatiLoad
|
|
|
|
function DatiAnalog = conv_grezziAL(ADCAnalog,DCalALTot,NodoAnalogLink,FileName)
|
|
|
|
fileID = fopen(FileName,'a');
|
|
fmt = '%s \r';
|
|
text = 'conv_grezziAL function started';
|
|
fprintf(fileID,fmt,text);
|
|
|
|
numAL = size(NodoAnalogLink); % numero di Analog Link
|
|
[rA,cA] = size(ADCAnalog);
|
|
DatiAnalog = zeros(rA,cA);
|
|
|
|
for jj=1:numAL
|
|
if strcmp(NodoAnalogLink(jj,3),'4-20 mA')
|
|
%% Conversione da 4-20 mA parabolica
|
|
% Spacchetto i parametri di calibrazione
|
|
a = DCalALTot(:,1);
|
|
b = DCalALTot(:,2);
|
|
c = DCalALTot(:,3);
|
|
DatiAnalog(:,jj) = a(jj,1)*(ADCAnalog(:,jj).^2)+b(jj,1)*ADCAnalog(:,jj)+c(jj,1); % conversione
|
|
elseif strcmp(NodoAnalogLink(jj,3),'mV/V')
|
|
%% Conversione da mV/V lineare
|
|
% Spacchetto i parametri di calibrazione
|
|
a = DCalALTot(:,1);
|
|
DatiAnalog(:,jj) = a(jj,1)*ADCAnalog(:,jj); % conversione
|
|
elseif strcmp(NodoAnalogLink(jj,3),'Hertz')
|
|
%% Conversione da Hertz lineare
|
|
% Spacchetto i parametri di calibrazione
|
|
GF = DCalALTot(:,1);
|
|
BF = DCalALTot(:,2);
|
|
digit = (ADCAnalog(:,jj).^2)*0.001; % Freq. ^2 *E-3
|
|
DatiAnalog(:,jj) = GF(jj,1)*BF(jj,1)*digit(:,1); % conversione in microEpsilon
|
|
end
|
|
end
|
|
|
|
text29 = 'Calibrations of Analog Link defined correctly. conv_grezziAL function closed';
|
|
fprintf(fileID,fmt,text29);
|
|
fclose(fileID);
|
|
end |