37 lines
1.2 KiB
Matlab
Executable File
37 lines
1.2 KiB
Matlab
Executable File
% Funzione che converte i dati ADC della cella di carico in dati di forza
|
|
% mediante i valori di calibrazione.
|
|
% Il risultato è la matrico DatiLoad
|
|
|
|
function DatiLoad = conv_grezziLL(ADCLoad,DCalLLTot,NodoLoadLink,FileName)
|
|
|
|
text = 'conv_grezziLL function started';
|
|
fileID = fopen(FileName,'a');
|
|
fmt = '%s \r';
|
|
fprintf(fileID,fmt,text);
|
|
|
|
if strcmp(NodoLoadLink(1,3),'mV/V') || strcmp(NodoLoadLink(1,4),'ADC')
|
|
caLoad = DCalLLTot(:,1);
|
|
intLoad = DCalLLTot(:,2);
|
|
elseif strcmp(NodoLoadLink(1,3),'4-20 mA')
|
|
a_Load = DCalLLTot(:,1);
|
|
b_Load = DCalLLTot(:,2);
|
|
c_Load = DCalLLTot(:,3);
|
|
end
|
|
|
|
%% Conversione dei punti ADC in dati di carico
|
|
[rL,cL] = size(ADCLoad);
|
|
DatiLoad = zeros(rL,cL);
|
|
|
|
for i=1:cL % nodi
|
|
if strcmp(NodoLoadLink(1,3),'mV/V') || strcmp(NodoLoadLink(1,4),'ADC')
|
|
DatiLoad(:,i) = caLoad(i,1)*ADCLoad(:,i) + intLoad(i,1); % conversione lineare
|
|
elseif strcmp(NodoLoadLink(1,3),'4-20 mA')
|
|
DatiLoad(:,i) = a_Load(i,1)*ADCLoad(:,i).^2 + b_Load(i,1)*ADCLoad(:,i) + c_Load(i,1); % conversione parabolica
|
|
end
|
|
end
|
|
|
|
text = 'Raw Data of Load Link converted into physical units correctly. conv_grezziLL function closed';
|
|
fprintf(fileID,fmt,text);
|
|
fclose(fileID);
|
|
|
|
end |