Files
matlab-python/ATD/database_write.m

453 lines
20 KiB
Matlab
Executable File

function database_write(catena,IDcentralina,DTcatena,X_TuL,Xstar_TuL,Y_TuL,Z_TuL,Zstar_TuL,...
Xlocal_TuL,Ylocal_TuL,Zlocal_TuL,SegStar,HShift_local_TuL,Area_TuL,...
Speed_local_TuL,Acceleration_local_TuL,TempDef_TuL,ARRAYdate_TuL,ErrTunnelLink,...
X_RL,Y_RL,Z_RL,Xlocal_RL,Ylocal_RL,Zlocal_RL,TempDef_RL,ARRAYdate_RL,ErrRadialLink,...
Y_TLH,Z_TLH,Ylocal_TLH,Zlocal_TLH,AlfaX_TLH,AlfaY_TLH,TempDef_TLH,speed_TLH,...
speed_local_TLH,acceleration_TLH,acceleration_local_TLH,ARRAYdate_TLH,ErrTiltLinkH,...
Y_TLHRH,Z_TLHRH,Ylocal_TLHRH,Zlocal_TLHRH,AlfaX_TLHRH,AlfaY_TLHRH,TempDef_TLHRH,speed_TLHRH,...
speed_local_TLHRH,acceleration_TLHRH,acceleration_local_TLHRH,ARRAYdate_TLHRH,ErrTiltLinkHRH,...
Y_PCL,Z_PCL,Ylocal_PCL,Zlocal_PCL,AlfaX_PCL,AlfaY_PCL,TempDef_PCL,speed_PCL,...
speed_local_PCL,acceleration_PCL,acceleration_local_PCL,ARRAYdate_PCL,ErrPreConvLink,...
Y_PCLHR,Z_PCLHR,Ylocal_PCLHR,Zlocal_PCLHR,AlfaX_PCLHR,AlfaY_PCLHR,TempDef_PCLHR,speed_PCLHR,...
speed_local_PCLHR,acceleration_PCLHR,acceleration_local_PCLHR,ARRAYdate_PCLHR,ErrPreConvLinkHR,...
DatiPressure,ARRAYdate_PL,ErrPressureLink,DatiLoad,ARRAYdate_LL,ErrLoadLink,...
DatiExtensometer,DatiNTCExtensometer,ARRAYdate_EL,Carico_ass,Sforzo,Calcolo_Carico,ErrExtensometerLink,ChEL,EL_NTC,...
DatiExtensometer3D,DatiNTCExtensometer3D,ARRAYdate_3DEL,Err3DExtensometerLink,Ch3DEL,EL3D_NTC,...
DatiWireExtensometer,DatiNTCWireExtensometer,ARRAYdate_WEL,ErrWireExtensometerLink,ChWEL,WEL_NTC,...
DatiMultiBase,ARRAYdate_MPBEL,ErrMultiPointExtensometer,NumBasi,...
DatiAnalog,~,~,DatiCrack,DatiNTCCrack,ChCrL,CrL_NTC,ARRAYdate_CrL,ErrCrackLink,...
Dati3DCrack,DatiNTCCrack3D,ARRAYdate_3DCrL,Ch3DCrL,CrL3D_NTC,Err3DCrackLink,...
Dati2DCrack,DatiNTCCrack2D,ARRAYdate_2DCrL,Ch2DCrL,CrL2D_NTC,Err2DCrackLink,...
DatiStress,DatiNTCStress,ARRAYdate_SM,ErrStressMeter,ChSM,SM_NTC,...
conn,FileName)
[scrivoTuL,scrivoRL,scrivoTLH,scrivoTLHRH,scrivoPCL,scrivoPCLHR,scrivoPL,...
scrivoLL,scrivoEL,scrivo3DEL,scrivoWEL,scrivoMPBEL,~,...
scrivoCrL,scrivo3DCrL,scrivo2DCrL,scrivoSM] = scrivo(X_TuL,X_RL,...
Z_TLH,Z_TLHRH,Z_PCL,Z_PCLHR,DatiPressure,DatiLoad,...
DatiExtensometer,DatiExtensometer3D,DatiWireExtensometer,DatiMultiBase,...
DatiAnalog,DatiCrack,Dati3DCrack,Dati2DCrack,DatiStress,FileName);
%% Contatori nodi
cTuL = 1; % Tunnel Link
cRL = 1; % Radial Link
cTLH = 1; % Tilt Link H
cTLHRH = 1; % Tilt Link HR H
cPCL = 1; % PreConv Link
cPCLHR = 1; % PreConv Link HR
cPL = 1; % Pressure Link
cLL = 1; % Load Link
cEL = 1; % Extensometer Link
c3DEL = 1; % 3D Extensometer Link
c3DEL_NTC = 1; % NTC 3D Extensometer Link
cWEL = 1; % Wire Extensometer Link
cMPBEL = 1; % Multi Point Rod Extensometer, contatore basi
contMPBEL = 1; % Multi Point Rod Extensometer, contatore singoli nodi
cAL = 1; % Analog Link
cCrL = 1; % Crack Link
c3DCrL = 1; % 3D Crack Link
c2DCrL = 1; % 2D Crack Link
cont3DCrL = 1; % 3D Crack Link, contatore pari a 1/3 del precedente
cSM = 1;
% conto i dati
[~,colTuL] = size(X_TuL); % controllo quanti dati ho
[~,colRL] = size(X_RL); % controllo quanti dati ho
[~,colTLH] = size(Z_TLH); % controllo quanti dati ho
[~,colTLHRH] = size(Z_TLHRH); % controllo quanti dati ho
[~,colPCL] = size(Z_PCL); % controllo quanti dati ho
[~,colPCLHR] = size(Z_PCLHR); % controllo quanti dati ho
[~,colPL] = size(DatiPressure'); % controllo quanti dati ho
[~,colLL] = size(DatiLoad'); % controllo quanti dati ho
[~,colEL] = size(DatiExtensometer'); % controllo quanti dati ho
[~,col3DEL] = size(DatiExtensometer3D'); % controllo quanti dati ho
[~,colWEL] = size(DatiWireExtensometer'); % controllo quanti dati ho
[~,colMPBEL] = size(DatiMultiBase'); % controllo quanti dati ho
[~,colAL] = size(DatiAnalog'); % controllo quanti dati ho
[~,colCrL] = size(DatiCrack'); % controllo quanti dati ho
[~,col3DCrL] = size(Dati3DCrack'); % controllo quanti dati ho
[~,col2DCrL] = size(Dati2DCrack'); % controllo quanti dati ho
[~,colSM] = size(DatiStress'); % controllo quanti dati ho
[rC,~] = size(catena);
idNodo = cell2mat(catena(:,1));
% Apro il file di log
fileID = fopen(FileName,'a');
fmt = '%s \r';
%% Scrittura risultati su DB
% for a = 1:rC % salto l'ancora
for a = 1:rC % salto l'ancora
NodeNum = cell2mat(catena(a,3));
%% Tunnel Link
if idNodo(a,1) == 17
if scrivoTuL == 1
ListaDate = colTuL;
DATAinsert = cellMakerTuL(IDcentralina,DTcatena,NodeNum,cTuL,ListaDate,ARRAYdate_TuL,...
X_TuL,Xstar_TuL,Y_TuL,Z_TuL,Zstar_TuL,Xlocal_TuL,Ylocal_TuL,Zlocal_TuL,...
SegStar,HShift_local_TuL,TempDef_TuL,Area_TuL,Speed_local_TuL,Acceleration_local_TuL,ErrTunnelLink);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_TuL,conn);
DBwriteTuL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
cTuL = cTuL+1;
clear DATAinsert
% Logfile
text = ['Tunnel Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% Radial Link
elseif idNodo(a,1) == 18
if scrivoRL == 1
ListaDate = colRL;
DATAinsert = cellMakerRL(IDcentralina,DTcatena,NodeNum,cRL,ListaDate,ARRAYdate_RL,...
X_RL,Y_RL,Z_RL,Xlocal_RL,Ylocal_RL,Zlocal_RL,TempDef_RL,ErrRadialLink);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_RL,conn);
DBwriteRL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
cRL = cRL+1;
clear DATAinsert
% Logfile
text = ['Radial Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% Tilt Link H
elseif idNodo(a,1) == 11
if scrivoTLH == 1
ListaDate = colTLH;
DATAinsert = cellMakerTLH(IDcentralina,DTcatena,NodeNum,cTLH,ListaDate,...
Y_TLH,Z_TLH,Ylocal_TLH,Zlocal_TLH,AlfaX_TLH,AlfaY_TLH,TempDef_TLH,speed_TLH,...
speed_local_TLH,acceleration_TLH,acceleration_local_TLH,ErrTiltLinkH,ARRAYdate_TLH);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_TLH,conn);
DBwriteTLH(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
cTLH = cTLH+1;
clear DATAinsert
% Logfile
text = ['Tilt Link H node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% Tilt Link HR H
elseif idNodo(a,1) == 12
if scrivoTLHRH == 1
ListaDate = colTLHRH;
DATAinsert = cellMakerTLHRH(IDcentralina,DTcatena,NodeNum,cTLHRH,ListaDate,...
Y_TLHRH,Z_TLHRH,Ylocal_TLHRH,Zlocal_TLHRH,AlfaX_TLHRH,AlfaY_TLHRH,TempDef_TLHRH,...
speed_TLHRH,speed_local_TLHRH,acceleration_TLHRH,acceleration_local_TLHRH,...
ErrTiltLinkHRH,ARRAYdate_TLHRH);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_TLHRH,conn);
DBwriteTLHRH(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
cTLHRH = cTLHRH+1;
clear DATAinsert
% Logfile
text = ['Tilt Link HR H node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% PreConv Link
elseif idNodo(a,1) == 23
if scrivoPCL == 1
ListaDate = colPCL;
DATAinsert = cellMakerPCL(IDcentralina,DTcatena,NodeNum,cPCL,ListaDate,...
Y_PCL,Z_PCL,Ylocal_PCL,Zlocal_PCL,AlfaX_PCL,AlfaY_PCL,TempDef_PCL,speed_PCL,...
speed_local_PCL,acceleration_PCL,acceleration_local_PCL,ErrPreConvLink,ARRAYdate_PCL);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_PCL,conn);
DBwritePCL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
cPCL = cPCL+1;
clear DATAinsert
% Logfile
text = ['PreConv Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ' of unit ' IDcentralina ' and chain ' ...
DTcatena ' written in the DB!'];
fprintf(fileID,fmt,text);
end
%% PreConv Link HR
elseif idNodo(a,1) == 24
if scrivoPCLHR == 1
ListaDate = colPCLHR;
DATAinsert = cellMakerPCLHR(IDcentralina,DTcatena,NodeNum,cPCLHR,ListaDate,...
Y_PCLHR,Z_PCLHR,Ylocal_PCLHR,Zlocal_PCLHR,AlfaX_PCLHR,AlfaY_PCLHR,TempDef_PCLHR,...
speed_PCLHR,speed_local_PCLHR,acceleration_PCLHR,acceleration_local_PCLHR,...
ErrPreConvLinkHR,ARRAYdate_PCLHR);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_PCLHR,conn);
DBwritePCLHR(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
cPCLHR = cPCLHR+1;
clear DATAinsert
% Logfile
text = ['PreConv Link HR node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ' of unit ' IDcentralina ' and chain ' ...
DTcatena ' written in the DB!'];
fprintf(fileID,fmt,text);
end
%% Pressure Link
elseif idNodo(a,1) == 21
if scrivoPL == 1
ListaDate = colPL;
DATAinsert = cellMakerPL(IDcentralina,DTcatena,NodeNum,cPL,ListaDate,...
ARRAYdate_PL,DatiPressure,ErrPressureLink);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_PL,conn);
DBwritePL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
cPL = cPL+1;
clear DATAinsert
% Logfile
text = ['Pressure Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ' of unit ' IDcentralina ' and chain ' ...
DTcatena ' written in the DB!'];
fprintf(fileID,fmt,text);
end
%% Load Link
elseif idNodo(a,1) == 15
if scrivoLL == 1
ListaDate = colLL;
DATAinsert = cellMakerLL(IDcentralina,DTcatena,NodeNum,cLL,ListaDate,...
ARRAYdate_LL,DatiLoad,ErrLoadLink);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_LL,conn);
DBwriteLL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
cLL = cLL+1;
clear DATAinsert
% Logfile
text = ['Load Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ' of unit ' IDcentralina ' and chain ' ...
DTcatena ' written in the DB!'];
fprintf(fileID,fmt,text);
end
%% Extensometer Link
elseif idNodo(a,1) == 16
if scrivoEL == 1
ListaDate = colEL;
DATAinsert = cellMakerEL(IDcentralina,DTcatena,NodeNum,cEL,ListaDate,...
ARRAYdate_EL,DatiExtensometer,DatiNTCExtensometer,Carico_ass,Sforzo,...
Calcolo_Carico,ErrExtensometerLink,ChEL,EL_NTC);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,...
ListaDate,ARRAYdate_EL,conn);
DBwriteEL(DATAinsert,idElabData,ListaDate,NodeNum,Calcolo_Carico,...
IDcentralina,DTcatena,cEL,ChEL,EL_NTC,conn);
cEL = cEL+1;
clear DATAinsert
% Logfile
text = ['Extensometer Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena ...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% 3D Extensometer Link
elseif idNodo(a,1) == 19
if scrivo3DEL == 1
ListaDate = col3DEL;
DATAinsert = cellMaker3DEL(IDcentralina,DTcatena,NodeNum,c3DEL,c3DEL_NTC,ListaDate,ARRAYdate_3DEL,...
DatiExtensometer3D,DatiNTCExtensometer3D,Err3DExtensometerLink,Ch3DEL,EL3D_NTC);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_3DEL,conn);
DBwrite3DEL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,...
DTcatena,Ch3DEL,c3DEL_NTC,EL3D_NTC,conn);
c3DEL = c3DEL+3;
c3DEL_NTC = c3DEL_NTC+1;
clear DATAinsert
% Logfile
text = ['3D Extensometer Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena ...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% Wire Extensometer Link
elseif idNodo(a,1) == 22
if scrivoWEL == 1
ListaDate = colWEL;
DATAinsert = cellMakerWEL(IDcentralina,DTcatena,NodeNum,cWEL,ListaDate,...
ARRAYdate_WEL,DatiWireExtensometer,DatiNTCWireExtensometer,ChWEL,WEL_NTC,...
ErrWireExtensometerLink);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_WEL,conn);
DBwriteWEL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,...
cWEL,ChWEL,WEL_NTC,conn);
cWEL = cWEL+1;
clear DATAinsert
% Logfile
text = ['Wire Extensometer Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena ...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% Crack Link
elseif idNodo(a,1) == 36
if scrivoCrL == 1
ListaDate = colCrL;
DATAinsert = cellMakerCrL(IDcentralina,DTcatena,NodeNum,cCrL,ListaDate,...
ARRAYdate_CrL,DatiCrack,DatiNTCCrack,ChCrL,CrL_NTC,ErrCrackLink);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_CrL,conn);
DBwriteCrL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,...
DTcatena,cCrL,ChCrL,CrL_NTC,conn);
cCrL = cCrL+1;
clear DATAinsert
% Logfile
text = ['Crack Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena ...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% 3D Crack Link
elseif idNodo(a,1) == 37
if scrivo3DCrL == 1
ListaDate = col3DCrL;
DATAinsert = cellMaker3DCrL(IDcentralina,DTcatena,NodeNum,c3DCrL,ListaDate,...
ARRAYdate_3DCrL,Dati3DCrack,DatiNTCCrack3D,Err3DCrackLink,...
Ch3DCrL,CrL3D_NTC,cont3DCrL);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_3DCrL,conn);
DBwrite3DCrL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,...
DTcatena,Ch3DCrL,CrL3D_NTC,cont3DCrL,conn);
c3DCrL = c3DCrL+3;
cont3DCrL = cont3DCrL+1;
clear DATAinsert
% Logfile
text = ['3D Crack Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena ...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% 2D Crack Link
elseif idNodo(a,1) == 51
if scrivo2DCrL == 1
ListaDate = col2DCrL;
DATAinsert = cellMaker2DCrL(IDcentralina,DTcatena,NodeNum,c2DCrL,ListaDate,...
ARRAYdate_2DCrL,Dati2DCrack,DatiNTCCrack2D,Err2DCrackLink,...
Ch2DCrL,CrL2D_NTC,cont2DCrL);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_2DCrL,conn);
DBwrite3DCrL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,...
DTcatena,Ch3DCrL,CrL3D_NTC,cont3DCrL,conn);
c2DCrL = c2DCrL+2;
cont3DCrL = cont3DCrL+1;
clear DATAinsert
% Logfile
text = ['2D Crack Link node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena ...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% MultiPoint BoreHole Extensometer
elseif idNodo(a,1) == 25
if scrivoMPBEL == 1
ListaDate = colMPBEL;
DATAinsert = cellMakerMPBEL(IDcentralina,DTcatena,NodeNum,cMPBEL,contMPBEL,...
ListaDate,ARRAYdate_MPBEL,DatiMultiBase,NumBasi,ErrMultiPointExtensometer);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_MPBEL,conn);
DBwriteMPBEL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,...
DTcatena,NumBasi,conn);
cMPBEL = cMPBEL+NumBasi;
contMPBEL = contMPBEL+1;
clear DATAinsert
% Logfile
text = ['Multi Point Borehole Extensometer node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena ...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
%% Stress Meter
elseif idNodo(a,1) == 47
if scrivoSM == 1
ListaDate = colSM;
DATAinsert = cellMakerSM(IDcentralina,DTcatena,NodeNum,cSM,ListaDate,...
ARRAYdate_SM,DatiStress,DatiNTCStress,ChSM,SM_NTC,ErrStressMeter);
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdate_SM,conn);
DBwriteSM(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,...
DTcatena,ChSM,SM_NTC,cSM,conn);
cSM = cSM+1;
clear DATAinsert
% Logfile
text = ['Stress Meter node no. ' num2str(NodeNum) ' of ' ...
num2str(rC) ', unit ' IDcentralina ' and chain ' DTcatena ...
', has been written in the DB!'];
fprintf(fileID,fmt,text);
end
end
end
text = 'All the data have been written in the DB correctly';
fprintf(fileID,fmt,text);
fclose(fileID);
end