% 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