741 lines
34 KiB
Matlab
Executable File
741 lines
34 KiB
Matlab
Executable File
% Funzione che legge i valori di calibrazione per i vari sensori
|
|
|
|
function [DCalTuLTot,DCalRLTot,DCalTLHTot,DCalTLHRHTot,DCalPCLTot,DCalPCLHRTot,...
|
|
DCalPLTot,DCalLLTot,DCalELTot,DCalEL3DTot,DCalWELTot,DCalMPBELTot,...
|
|
DCalALTot,DCalCrLTot,DCal3DCrLTot,DCal2DCrLTot,DCalSMTot,yesTuL,yesRL,yesTLH,yesTLHRH,...
|
|
yesPCL,yesPCLHR,yesPL,yesLL,yesEL,yes3DEL,yesWEL,yesMPBEL,yesCrL,yes3DCrL,yes2DCrL,...
|
|
yesAL,yesSM] = letturaCal(IDcentralina,DTcatena,catena,rTuL,rRL,rTLH,rTLHRH,...
|
|
rPCL,rPCLHR,rPrL,rLL,rEL,r3DEL,rWEL,rMPBEL,NumBasi,rAL,rCrL,r3DCrL,r2DCrL,rSM,...
|
|
NodoTunnelLink,NodoRadialLink,NodoTiltLinkH,NodoPreConvLink,NodoPressureLink,...
|
|
NodoLoadLink,NodoExtensometerLink,Nodo3DExtensometerLink,...
|
|
NodoWireExtensometerLink,NodoMultiPointRodExtensometer,NodoAnalogLink,...
|
|
NodoCrackLink,Nodo3DCrackLink,Nodo2DCrackLink,NodoStressMeter,yesTuL,yesRL,yesTLH,yesTLHRH,...
|
|
yesPCL,yesPCLHR,yesPL,yesLL,yesEL,yes3DEL,yesWEL,yesMPBEL,yesAL,yesCrL,yes3DCrL,yes2DCrL,...
|
|
yesSM,conn,FileName)
|
|
|
|
% Apro file di testo
|
|
fileID = fopen(FileName,'a');
|
|
fmt = '%s \r';
|
|
text = 'letturaCal function started';
|
|
fprintf(fileID,fmt,text);
|
|
|
|
% Inizializzo le matrici
|
|
[rC,~] = size(catena);
|
|
idNodo = cell2mat(catena(:,1));
|
|
|
|
% Tunnel Link
|
|
if isempty(NodoTunnelLink) == 1
|
|
DCalTuLTot = [];
|
|
else
|
|
if strcmp(NodoTunnelLink(1,4),'ADC') || strcmp(NodoTunnelLink{1,4},'null') || isempty(NodoTunnelLink{1,4}) == 1
|
|
DCalTuLTot = cell(rTuL,11);
|
|
elseif strcmp(NodoTunnelLink(1,4),'g')
|
|
DCalTuLTot = [];
|
|
end
|
|
end
|
|
|
|
% Radial Link
|
|
if isempty(NodoRadialLink) == 1
|
|
DCalRLTot = [];
|
|
else
|
|
if strcmp(NodoRadialLink(1,4),'ADC') || strcmp(NodoRadialLink{1,4},'null') || isempty(NodoRadialLink{1,4}) == 1
|
|
DCalRLTot = cell(rRL,11);
|
|
elseif strcmp(NodoRadialLink(1,4),'g')
|
|
DCalRLTot = [];
|
|
end
|
|
end
|
|
|
|
% Tilt Link H
|
|
if isempty(NodoTiltLinkH) == 1
|
|
DCalTLHTot = [];
|
|
else
|
|
if strcmp(NodoTiltLinkH(1,4),'ADC') || strcmp(NodoTiltLinkH{1,4},'null') || isempty(NodoTiltLinkH{1,4}) == 1
|
|
DCalTLHTot = cell(rTLH,11);
|
|
elseif strcmp(NodoTiltLinkH(1,4),'Gradi') || strcmp(NodoTiltLinkH(1,4),'g')
|
|
DCalTLHTot = [];
|
|
end
|
|
end
|
|
|
|
% Tilt Link HR H
|
|
DCalTLHRHTot = cell(rTLHRH,4); % matrice che concatena i dati di calibrazione relativi a ciascun nodo Tilt Link HR H
|
|
|
|
% PreConv Link
|
|
if isempty(NodoPreConvLink) == 1
|
|
DCalPCLTot = [];
|
|
else
|
|
if strcmp(NodoPreConvLink(1,4),'ADC') || strcmp(NodoPreConvLink{1,4},'null') || isempty(NodoPreConvLink{1,4}) == 1
|
|
DCalPCLTot = cell(rPCL,11);
|
|
elseif strcmp(NodoPreConvLink(1,4),'g')
|
|
DCalPCLTot = [];
|
|
end
|
|
end
|
|
|
|
% PreConv Link HR
|
|
DCalPCLHRTot = cell(rPCLHR,4); % matrice che concatena i dati di calibrazione relativi a ciascun nodo PreConv Link HR
|
|
|
|
% Pressure Link
|
|
x = isempty(NodoPressureLink);
|
|
if x == 0
|
|
for P = 1:rPrL
|
|
if strcmp(NodoPressureLink(P,3),'4-20 mA')
|
|
DCalPLTot = cell(rPrL,3); % matrice che concatena i dati relativi a ciascun nodo Pressure Link
|
|
break
|
|
elseif strcmp(NodoPressureLink(P,3),'mV/V')
|
|
DCalPLTot = cell(rPrL,2); % matrice che concatena i dati relativi a ciascun nodo Pressure Link
|
|
end
|
|
end
|
|
else
|
|
DCalPLTot = [];
|
|
end
|
|
|
|
% Load Link
|
|
x = isempty(NodoLoadLink);
|
|
if x == 0
|
|
for P = 1:rLL
|
|
if strcmp(NodoLoadLink(P,3),'4-20 mA')
|
|
DCalLLTot = cell(rLL,3); % matrice che concatena i dati relativi a ciascun nodo Load Link
|
|
break
|
|
elseif strcmp(NodoLoadLink(P,3),'mV/V') || strcmp(NodoLoadLink(P,3),'ADC')
|
|
DCalLLTot = cell(rLL,2); % matrice che concatena i dati relativi a ciascun nodo Load Link
|
|
end
|
|
end
|
|
else
|
|
DCalLLTot = [];
|
|
end
|
|
|
|
% Extensometer Link
|
|
x = isempty(NodoExtensometerLink);
|
|
if x == 0
|
|
for P = 1:rEL
|
|
if strcmp(NodoExtensometerLink(P,3),'4-20 mA')
|
|
DCalELTot = cell(rEL,4);
|
|
break
|
|
elseif strcmp(NodoExtensometerLink(P,3),'mV/V') || strcmp(NodoExtensometerLink(P,3),'Hz')
|
|
DCalELTot = cell(rEL,3);
|
|
end
|
|
end
|
|
else
|
|
DCalELTot = [];
|
|
end
|
|
|
|
% 3D Extensometer Link
|
|
x = isempty(Nodo3DExtensometerLink);
|
|
if x == 0
|
|
for P = 1:r3DEL
|
|
if strcmp(Nodo3DExtensometerLink(P,3),'4-20 mA')
|
|
DCalEL3DTot = cell(rEL,9);
|
|
break
|
|
elseif strcmp(Nodo3DExtensometerLink(P,3),'mV/V') || strcmp(Nodo3DExtensometerLink(P,3),'Hz')
|
|
DCalEL3DTot = cell(r3DEL,6);
|
|
end
|
|
end
|
|
else
|
|
DCalEL3DTot = [];
|
|
end
|
|
|
|
% Wire Extensometer Link
|
|
x = isempty(NodoWireExtensometerLink);
|
|
if x == 0
|
|
for P = 1:rWEL
|
|
if strcmp(NodoWireExtensometerLink(P,3),'4-20 mA')
|
|
DCalWELTot = cell(rWEL,3);
|
|
break
|
|
elseif strcmp(NodoWireExtensometerLink(P,3),'mV/V') || strcmp(NodoWireExtensometerLink(P,3),'Hz')
|
|
DCalWELTot = cell(rWEL,2);
|
|
end
|
|
end
|
|
else
|
|
DCalWELTot = [];
|
|
end
|
|
|
|
% Estensimetri multibase
|
|
x = isempty(NodoMultiPointRodExtensometer);
|
|
if x == 0
|
|
for P = 1:rMPBEL
|
|
if strcmp(NodoMultiPointRodExtensometer(P,3),'mV/V')
|
|
DCalMPBELTot = cell(rMPBEL,NumBasi); % matrice che concatena i dati relativi a ciascun nodo Multi Point Borehole Extensometer Link
|
|
break
|
|
end
|
|
end
|
|
else
|
|
DCalMPBELTot = [];
|
|
end
|
|
|
|
% Analog Link
|
|
DCalALTot = cell(rAL,3); % matrice che concatena i dati relativi a ciascun nodo Analog Link
|
|
|
|
% Crack Link
|
|
x = isempty(NodoCrackLink);
|
|
if x == 0
|
|
for P = 1:rCrL
|
|
if strcmp(NodoCrackLink(P,3),'Hz') || strcmp(NodoCrackLink(P,3),'4-20 mA')||strcmp(NodoCrackLink(P,3),'Hz mm')
|
|
DCalCrLTot = cell(rCrL,3); % matrice che concatena i dati relativi a ciascun nodo Crack Link
|
|
elseif strcmp(NodoCrackLink(P,3),'mV/V')
|
|
DCalCrLTot = cell(rCrL,2); % matrice che concatena i dati relativi a ciascun nodo Crack Link
|
|
end
|
|
end
|
|
else
|
|
DCalCrLTot = [];
|
|
end
|
|
|
|
% 3D Crack Link
|
|
x = isempty(Nodo3DCrackLink);
|
|
if x == 0
|
|
for P = 1:r3DCrL
|
|
if strcmp(Nodo3DCrackLink(P,3),'Hz') || strcmp(Nodo3DCrackLink(P,3),'4-20 mA')
|
|
DCal3DCrLTot = cell(r3DCrL,9); % matrice che concatena i dati relativi a ciascun nodo 3D Crack Link
|
|
elseif strcmp(Nodo3DCrackLink(P,3),'mV/V')
|
|
DCal3DCrLTot = cell(r3DCrL,6); % matrice che concatena i dati relativi a ciascun nodo 3D Crack Link
|
|
end
|
|
end
|
|
else
|
|
DCal3DCrLTot = [];
|
|
end
|
|
|
|
% 2D Crack Link
|
|
x = isempty(Nodo2DCrackLink);
|
|
if x == 0
|
|
for P = 1:r2DCrL
|
|
if strcmp(Nodo2DCrackLink(P,3),'Hz') || strcmp(Nodo2DCrackLink(P,3),'4-20 mA')
|
|
DCal2DCrLTot = cell(r2DCrL,6); % matrice che concatena i dati relativi a ciascun nodo 2D Crack Link
|
|
elseif strcmp(Nodo2DCrackLink(P,3),'mV/V')
|
|
DCal2DCrLTot = cell(r2DCrL,4); % matrice che concatena i dati relativi a ciascun nodo 2D Crack Link
|
|
end
|
|
end
|
|
else
|
|
DCal2DCrLTot = [];
|
|
end
|
|
|
|
% Stress Meter
|
|
x = isempty(NodoStressMeter);
|
|
if x == 0
|
|
for P = 1:rSM
|
|
if strcmp(NodoStressMeter(P,3),'Hz')
|
|
DCalSMTot = cell(rSM,1); % matrice che concatena i dati relativi a ciascun nodo Stress Meter
|
|
end
|
|
end
|
|
else
|
|
DCalSMTot = [];
|
|
end
|
|
|
|
%% Contatori
|
|
% Matrice con testi di conferma lettura o warning di lettura per le varie tipologie di nodi
|
|
TuL = 1; % Tunnel Link
|
|
RL = 1; % Radial Link
|
|
TLH = 1; % Tilt Link H
|
|
TLHRH = 1; % Tilt Link HR H
|
|
PCL = 1; % PreConv Link
|
|
PCLHR = 1; % PreConv Link HR
|
|
PL = 1; % Pressure Link
|
|
LL = 1; % Load Link
|
|
EL = 1; % Extensometer Link
|
|
EL3D = 1; % 3D Extensometer Link
|
|
WEL = 1; % Wire Extensometer Link
|
|
MPBEL = 1; % Multi Point Borehole Extensometer Link
|
|
AL = 1; % Analog Link
|
|
CrL = 1; % Crack Link
|
|
CrL3D = 1; % 3D Crack Link
|
|
CrL2D = 1; % 2D Crack Link
|
|
SM = 1; % Stress Meter
|
|
|
|
for a = 1:rC
|
|
nNodo = mat2str(cell2mat(catena(a,3)));
|
|
|
|
if idNodo(a,1) == 17 % Tunnel Link
|
|
if strcmp(NodoTunnelLink(1,4),'ADC') || strcmp(NodoTunnelLink{1,4},'null') || isempty(NodoTunnelLink{1,4}) == 1
|
|
%% Tunnel link
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4, Cal5, Cal6, Cal7, Cal8, CalA, CalB from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''''];
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalTuL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Tunnel Link
|
|
[rr,cc] = size(DCalTuL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Tunnel Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesTuL = 0;
|
|
else
|
|
DCalTuLTot(TuL,:) = DCalTuL(:,:);
|
|
TuL = TuL+1;
|
|
text = ['Calibration of node Tunnel Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
else
|
|
ok = ['Calibration parameters of node Tunnel Link number ' nNodo ' unnecessary'];
|
|
fprintf(fileID,fmt,ok);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 18 % Radial Link
|
|
if strcmp(NodoRadialLink(1,4),'ADC') || strcmp(NodoRadialLink{1,4},'null') || isempty(NodoRadialLink{1,4}) == 1
|
|
%% Radial Link
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4, Cal5, Cal6, Cal7, Cal8, CalA, CalB from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' ...
|
|
DTcatena ''' and NodeNum = ''' nNodo ''''];
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalRL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Radial Link
|
|
[rr,cc] = size(DCalRL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Radial Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesRL = 0;
|
|
else
|
|
DCalRLTot(RL,:) = DCalRL(:,:);
|
|
RL = RL+1;
|
|
text = ['Calibration of node Radial Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
else
|
|
ok = ['Calibration parameters of node Radial Link number ' nNodo ' unnecessary'];
|
|
fprintf(fileID,fmt,ok);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 11 % Tilt Link H
|
|
%% Tilt Link H
|
|
if strcmp(NodoTiltLinkH(1,4),'ADC') || strcmp(NodoTiltLinkH{1,4},'null') || isempty(NodoTiltLinkH{1,4}) == 1
|
|
%% Importazione dei dati di calibrazione per Tilt link H
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4, Cal5, Cal6, Cal7, Cal8, CalA, CalB from CalibrationView where UnitName = '''...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''''];
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalTLH = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Tilt Link H
|
|
[rr,cc] = size(DCalTLH);
|
|
if rr==1 && cc==1
|
|
w = ['Warning: there was an error reading calibration values of node Tilt Link H number ' nNodo ''];
|
|
fprintf(fileID,fmt,w);
|
|
yesTLH = 0;
|
|
else
|
|
DCalTLHTot(TLH,:) = DCalTLH;
|
|
TLH = TLH+1;
|
|
ok = ['Calibration parameters of node Tilt Link H number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,ok);
|
|
end
|
|
else
|
|
ok = ['Calibration parameters of node Tilt Link H number ' nNodo ' unnecessary'];
|
|
fprintf(fileID,fmt,ok);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 12 % Tilt Link HR H
|
|
%% Tilt Link HR H
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''''];
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalTLHRH = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Tilt Link HR H
|
|
[rr,cc] = size(DCalTLHRH);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Tilt Link HR H number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesTLHRH = 0;
|
|
else
|
|
DCalTLHRHTot(TLHRH,:) = DCalTLHRH(:,:);
|
|
TLHRH = TLHRH+1;
|
|
text = ['Calibration of node Tilt Link HR H number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 23 % PreConv Link
|
|
if strcmp(NodoPreConvLink(1,4),'ADC') || strcmp(NodoPreConvLink{1,4},'null') || isempty(NodoPreConvLink{1,4}) == 1
|
|
%% PreConv Link
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4, Cal5, Cal6, Cal7, Cal8, CalA, CalB from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''''];
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalPCL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo PreConv Link
|
|
[rr,cc] = size(DCalPCL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node PreConv Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesPCL = 0;
|
|
else
|
|
DCalPCLTot(PCL,:) = DCalPCL(:,:);
|
|
PCL = PCL+1;
|
|
text = ['Calibration of node PreConv Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
else
|
|
ok = ['Calibration parameters of node PreConv Link number ' nNodo ' unnecessary'];
|
|
fprintf(fileID,fmt,ok);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 24 % PreConv Link HR
|
|
%% PreConv Link HR
|
|
comando = ['select Cal0, Cal1, CalA, CalB from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''''];
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalPCLHR = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo PreConv Link HR
|
|
[rr,cc] = size(DCalPCLHR);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node PreConv Link HR number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesPCLHR = 0;
|
|
else
|
|
DCalPCLHRTot(PCLHR,:) = DCalPCLHR(:,:);
|
|
PCLHR = PCLHR+1;
|
|
text = ['Calibration of node PreConv Link HR number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 21 % Pressure Link
|
|
%% Pressure Link
|
|
if strcmp(NodoPressureLink(PL,3),'4-20 mA')
|
|
comando = ['select Cal0, Cal1, Cal2 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(NodoPressureLink(PL,3),'mV/V')
|
|
comando = ['select Cal0 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' andToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalPL = curs.Data; % matrice che raccoglie i dati del nodo numero 'nNodo' di tipo Pressure Link
|
|
[rr,cc] = size(DCalPL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Pressure Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesPL = 0;
|
|
else
|
|
if strcmp(NodoPressureLink(PL,3),'mV/V')
|
|
DCalPLTot(PL,1) = DCalPL(:,:);
|
|
elseif strcmp(NodoPressureLink(PL,3),'4-20 mA')
|
|
DCalPLTot(PL,1:3) = DCalPL(:,:);
|
|
end
|
|
PL = PL+1;
|
|
text = ['Calibration of node Pressure Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 15 % Load Link
|
|
%% Importazione dei dati di calibrazione per Load Link
|
|
if strcmp(NodoLoadLink(LL,3),'mV/V') || strcmp(NodoLoadLink(a,3),'ADC')
|
|
comando = ['select Cal0, Cal1 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(NodoLoadLink(LL,3),'4-20 mA')
|
|
comando = ['select Cal0, Cal1, Cal2 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalLL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Load Link
|
|
[rr,cc] = size(DCalLL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Load Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesLL = 0;
|
|
else
|
|
if strcmp(NodoLoadLink(LL,3),'mV/V') || strcmp(NodoLoadLink(LL,3),'ADC')
|
|
DCalLLTot(LL,1:2) = DCalLL(:,:);
|
|
elseif strcmp(NodoLoadLink(LL,3),'4-20 mA')
|
|
DCalLLTot(LL,1:3) = DCalLL(:,:);
|
|
end
|
|
LL = LL+1;
|
|
text = ['Calibration of node Load Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 16 % Extensometer Link
|
|
%% Importazione dei dati di calibrazione per Extensometer Link
|
|
if strcmp(NodoExtensometerLink(EL,3),'Hz') || strcmp(NodoExtensometerLink(EL,3),'mV/V')
|
|
comando = ['select Cal0, Cal1, carico_iniziale from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(NodoExtensometerLink(EL,3),'4-20 mA')
|
|
comando = ['select Cal0, Cal1, Cal2, carico_iniziale from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalEL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Extensometer Link
|
|
[rr,cc] = size(DCalEL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Extensometer Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesEL = 0;
|
|
else
|
|
if strcmp(NodoExtensometerLink(EL,3),'Hz') || strcmp(NodoExtensometerLink(EL,3),'mV/V')
|
|
DCalELTot(EL,1:3) = DCalEL(:,:);
|
|
elseif strcmp(NodoExtensometerLink(EL,3),'4-20 mA')
|
|
DCalELTot(EL,1:4) = DCalEL(:,:);
|
|
end
|
|
EL = EL+1;
|
|
text = ['Calibration of node Extensometer Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 19 % 3D Extensometer Link
|
|
%% Importazione dei dati di calibrazione per 3D Extensometer Link
|
|
if strcmp(Nodo3DExtensometerLink(EL3D,3),'Hz') || strcmp(Nodo3DExtensometerLink(EL3D,3),'mV/V')
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4, Cal5 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(Nodo3DExtensometerLink(EL3D,3),'4-20 mA')
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4, Cal5, Cal6, Cal7, Cal8 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalEL3D = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Extensometer Link
|
|
[rr,cc] = size(DCalEL3D);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node 3D Extensometer Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yes3DEL = 0;
|
|
else
|
|
if strcmp(Nodo3DExtensometerLink(EL3D,3),'Hz') || strcmp(Nodo3DExtensometerLink(EL3D,3),'mV/V')
|
|
DCalEL3DTot(EL3D,1:6) = DCalEL3D(:,:);
|
|
elseif strcmp(Nodo3DExtensometerLink(EL3D,3),'4-20 mA')
|
|
DCalEL3DTot(EL3D,1:9) = DCalEL3D(:,:);
|
|
end
|
|
EL3D = EL3D+1;
|
|
text = ['Calibration of node 3D Extensometer Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 22 % Wire Extensometer Link
|
|
%% Importazione dei dati di calibrazione per Wire Extensometer Link
|
|
if strcmp(NodoWireExtensometerLink(WEL,3),'4-20 mA')
|
|
comando = ['select Cal0, Cal1, Cal2 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(NodoWireExtensometerLink(WEL,3),'mV/V')
|
|
comando = ['select Cal0, Cal1 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalWEL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Wire Extensometer Link
|
|
[rr,cc] = size(DCalWEL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Wire Extensometer Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesWEL = 0;
|
|
else
|
|
if strcmp(NodoWireExtensometerLink(WEL,3),'4-20 mA')
|
|
DCalWELTot(WEL,1:3) = DCalWEL(:,:);
|
|
elseif strcmp(NodoWireExtensometerLink(WEL,3),'mV/V')
|
|
DCalWELTot(WEL,1:2) = DCalWEL(:,:);
|
|
end
|
|
WEL = WEL+1;
|
|
text = ['Calibration of node Wire Extensometer Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 25 % Multi Point Borehole Extensometer Link
|
|
%% Importazione dei dati di calibrazione per Multi Point Borehole Extensometer Link
|
|
if strcmp(NodoMultiPointRodExtensometer(MPBEL,3),'mV/V')
|
|
if NumBasi == 1
|
|
comando = ['select Cal0 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' ...
|
|
DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif NumBasi == 2
|
|
comando = ['select Cal0, Cal1 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' ...
|
|
DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif NumBasi == 3
|
|
comando = ['select Cal0, Cal1, Cal2 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' ...
|
|
DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif NumBasi == 4
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' ...
|
|
DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif NumBasi == 5
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' ...
|
|
DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalMPBEL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Multi Point Borehole Extensometer Link
|
|
[rr,cc] = size(DCalMPBEL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node MultiPoint Borehole Extensometer Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesMPBEL = 0;
|
|
else
|
|
if strcmp(NodoMultiPointRodExtensometer(MPBEL,3),'mV/V')
|
|
if NumBasi == 1
|
|
DCalMPBELTot(MPBEL,1) = DCalMPBEL(:,:);
|
|
elseif NumBasi == 2
|
|
DCalMPBELTot(MPBEL,1:2) = DCalMPBEL(:,:);
|
|
elseif NumBasi == 3
|
|
DCalMPBELTot(MPBEL,1:3) = DCalMPBEL(:,:);
|
|
elseif NumBasi == 4
|
|
DCalMPBELTot(MPBEL,1:4) = DCalMPBEL(:,:);
|
|
elseif NumBasi == 5
|
|
DCalMPBELTot(MPBEL,1:5) = DCalMPBEL(:,:);
|
|
elseif NumBasi == 6
|
|
DCalMPBELTot(MPBEL,1:6) = DCalMPBEL(:,:);
|
|
end
|
|
end
|
|
MPBEL = MPBEL+1;
|
|
text = ['Calibration of node MultiPoint Borehole Extensometer Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 8 % Analog Link
|
|
%% Importazione dei dati di calibrazione per Analog Link
|
|
if strcmp(NodoAnalogLink(AL,3),'mV/V')
|
|
comando = ['select Cal0, Cal1 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' ...
|
|
DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(NodoAnalogLink(a,3),'4-20 mA')
|
|
comando = ['select Cal0, Cal1, Cal2 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' ...
|
|
DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(NodoAnalogLink(a,3),'Hz')
|
|
comando = ['select Cal0, Cal1 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' ...
|
|
DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalAL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Analog Link
|
|
[rr,cc] = size(DCalAL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Analog Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesAL = 0;
|
|
else
|
|
if strcmp(NodoAnalogLink(AL,3),'mV/V')
|
|
DCalALTot(AL,1:2) = DCalAL(:,:);
|
|
elseif strcmp(NodoAnalogLink(AL,3),'4-20 mA')
|
|
DCalALTot(AL,1:3) = DCalAL(:,:);
|
|
elseif strcmp(NodoAnalogLink(AL,3),'Hz')
|
|
DCalALTot(AL,1:2) = DCalAL(:,:);
|
|
end
|
|
AL = AL+1;
|
|
text = ['Calibration of node Analog Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 36 % Crack Link
|
|
%% Importazione dei dati di calibrazione per Crack Link
|
|
if strcmp(NodoCrackLink(CrL,3),'mV/V')
|
|
comando = ['select Cal0, Cal1 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(NodoCrackLink(CrL,3),'Hz')||strcmp(NodoCrackLink(CrL,3),'Hz mm')
|
|
comando = ['select Cal0, Cal1, Cal2 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalCrL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo Crack Link
|
|
[rr,cc] = size(DCalCrL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Crack Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesCrL = 0;
|
|
else
|
|
if strcmp(NodoCrackLink(CrL,3),'mV/V')
|
|
DCalCrLTot(CrL,1:2) = DCalCrL(:,:);
|
|
elseif strcmp(NodoCrackLink(CrL,3),'Hz')||strcmp(NodoCrackLink(CrL,3),'Hz mm')
|
|
DCalCrLTot(CrL,1:3) = DCalCrL(:,:);
|
|
end
|
|
CrL = CrL+1;
|
|
text = ['Calibration of node Crack Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 37 % 3D Crack Link
|
|
%% Importazione dei dati di calibrazione per 3D Crack Link
|
|
if strcmp(Nodo3DCrackLink(CrL3D,3),'mV/V')
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4, Cal5 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(Nodo3DCrackLink(CrL3D,3),'Hz') || strcmp(Nodo3DCrackLink(CrL3D,3),'4-20 mA')
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4, Cal5, Cal6, Cal7, Cal8 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCal3DCrL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo 3D Crack Link
|
|
[rr,cc] = size(DCal3DCrL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node 3D Crack Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yes3DCrL = 0;
|
|
else
|
|
if strcmp(Nodo3DCrackLink(CrL3D,3),'mV/V')
|
|
DCal3DCrLTot(CrL3D,1:6) = DCal3DCrL(:,:);
|
|
elseif strcmp(Nodo3DCrackLink(CrL3D,3),'Hz') || strcmp(Nodo3DCrackLink(CrL3D,3),'4-20 mA')
|
|
DCal3DCrLTot(CrL3D,1:9) = DCal3DCrL(:,:);
|
|
end
|
|
CrL3D = CrL3D+1;
|
|
text = ['Calibration of node 3D Crack Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 51 % 2D Crack Link
|
|
%% Importazione dei dati di calibrazione per 2D Crack Link
|
|
if strcmp(Nodo2DCrackLink(CrL2D,3),'Hz') || strcmp(Nodo3DCrackLink(CrL3D,3),'4-20 mA')
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3, Cal4, Cal5 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
elseif strcmp(Nodo2DCrackLink(CrL2D,3),'mV/V')
|
|
comando = ['select Cal0, Cal1, Cal2, Cal3 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCal2DCrL = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo 2D Crack Link
|
|
[rr,cc] = size(DCal2DCrL);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node 2D Crack Link number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yes2DCrL = 0;
|
|
else
|
|
if strcmp(Nodo2DCrackLink(CrL2D,3),'Hz') || strcmp(Nodo3DCrackLink(CrL3D,3),'4-20 mA')
|
|
DCal2DCrLTot(CrL2D,1:6) = DCal2DCrL(:,:);
|
|
elseif strcmp(Nodo2DCrackLink(CrL2D,3),'mV/V')
|
|
DCal2DCrLTot(CrL2D,1:4) = DCal2DCrL(:,:);
|
|
end
|
|
CrL2D = CrL2D+1;
|
|
text = ['Calibration of node 2D Crack Link number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 47 % Stress Meter
|
|
%% Importazione dei dati di calibrazione per Stress Meter
|
|
if strcmp(NodoStressMeter(SM,3),'Hz')
|
|
comando = ['select Cal0, Cal1 from CalibrationView where UnitName = ''' ...
|
|
IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' nNodo ''' '];
|
|
end
|
|
curs = exec(conn,comando);
|
|
curs = fetch(curs);
|
|
DCalSM = curs.Data; % matrice che raccoglie i dati del nodo numero 'a' di tipo 3D Crack Link
|
|
[rr,cc] = size(DCalSM);
|
|
if rr==1 && cc==1
|
|
text = ['Warning: there was an error reading node Stress Meter number ' nNodo ''];
|
|
fprintf(fileID,fmt,text);
|
|
yesSM = 0;
|
|
else
|
|
if strcmp(NodoStressMeter(SM,3),'Hz')
|
|
DCalSMTot(SM,1) = DCalSM(:,1);
|
|
end
|
|
SM = SM+1;
|
|
text = ['Calibration of node Stress Meter number ' nNodo ' downloaded correctly'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
elseif idNodo(a,1) == 9 % Ancora
|
|
text = 'Anchor';
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
end
|
|
|
|
text = 'NuovaConversione function started';
|
|
fprintf(fileID,fmt,text);
|
|
|
|
% Nuova conversione da fare per il nuovo database
|
|
[DCalTuLTot,DCalRLTot,DCalTLHTot,DCalTLHRHTot,DCalPCLTot,DCalPCLHRTot,...
|
|
DCalPLTot,DCalLLTot,DCalELTot,DCalEL3DTot,DCalWELTot,DCalMPBELTot,DCalALTot,...
|
|
DCalCrLTot,DCal3DCrLTot,DCal2DCrLTot] = NuovaConversione(DCalTuLTot,yesTuL,DCalRLTot,yesRL,...
|
|
DCalTLHTot,yesTLH,DCalTLHRHTot,yesTLHRH,DCalPCLTot,yesPCL,DCalPCLHRTot,yesPCLHR,...
|
|
DCalPLTot,yesPL,DCalLLTot,yesLL,DCalELTot,yesEL,DCalEL3DTot,yes3DEL,DCalWELTot,yesWEL,...
|
|
DCalMPBELTot,yesMPBEL,DCalALTot,yesAL,DCalCrLTot,yesCrL,DCal3DCrLTot,yes3DCrL,...
|
|
DCal2DCrLTot,yes2DCrL,FileName);
|
|
|
|
%% Chiudo Testo
|
|
text = 'NuovaConversione & letturaCal functions ended';
|
|
fprintf(fileID,fmt,text);
|
|
fclose(fileID);
|
|
|
|
end
|