1102 lines
46 KiB
Matlab
Executable File
1102 lines
46 KiB
Matlab
Executable File
function RC = ATD(IDcentralina,DTcatena)
|
||
%%% Programma per l'elaborazione dei dati di Cir Array, Rad Array, Tilt
|
||
%%% Link H, Tilt Link HR H, PreConv Array, PreConv Array HR e strumenti
|
||
%%% analogici per gallerie.
|
||
%%% Versione 3.4
|
||
|
||
tic
|
||
|
||
RC = 1; %#ok<NASGU>
|
||
text = ['Elaboration of chain ' DTcatena ' of control unit ' IDcentralina ' started correctly'];
|
||
d = datestr(datetime,'yyyy_mm_dd');
|
||
t = datestr(datetime,'HH_MM_SS');
|
||
FileName = ['LogFile-' IDcentralina '-' DTcatena '-' d '-' t '.txt'];
|
||
outdat = fopen(FileName,'wt+'); %#ok<NASGU>
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
|
||
%% Parte generale
|
||
|
||
% Associo ID company al relativo DB
|
||
% Definisco i parametri del Database
|
||
IDcompany = '1'; % DA INTEGRARE IN VERSIONI FUTURE
|
||
DB = database_definition(IDcompany,FileName);
|
||
|
||
% Apro la connessione al DB
|
||
dbname = cell2mat(DB{1,1});
|
||
username = cell2mat(DB{2,1});
|
||
password = cell2mat(DB{3,1});
|
||
driver = cell2mat(DB{4,1});
|
||
dburl = 'jdbc:mysql://212.237.30.90:3306/ase_lar?useLegacyDatetimeCode=false&serverTimezone=Europe/Rome&';
|
||
conn = database(dbname, username, password, driver, dburl);
|
||
|
||
% scarico Contol Unit ID
|
||
unitID = IDunit(IDcentralina,conn,FileName);
|
||
|
||
% questa funzione considera la prima data e ora da cui caricare i dati a seconda della catena
|
||
[date,time,date_AC,time_AC,Nodo_AC,unitID] = datainiziale(DTcatena,unitID,conn,FileName);
|
||
|
||
% funzione che elenca tutti i nodi ed il loro numero presenti per ogni tipo di sensore.
|
||
[idTool,NodoTunnelLink,NodoRadialLink,NodoTiltLinkH,...
|
||
NodoTiltLinkHRH,NodoPreConvLink,NodoPreConvLinkHR,NodoDistoMTLink,NodoPressureLink,...
|
||
NodoLoadLink,NodoExtensometerLink,Nodo3DExtensometerLink,NodoWireExtensometerLink,...
|
||
NodoMultiPointRodExtensometer,NodoTiltLinkHR3DH,NodoPreConvLinkHR3D,...
|
||
NodoAnalogLink,NodoCrackLink,Nodo3DCrackLink,Nodo2DCrackLink,NodoStressMeter,...
|
||
rTuL,rRL,rTLH,rTLHRH,rPCL,rPCLHR,rPrL,rLL,rEL,r3DEL,rWEL,rMPBEL,rAL,rCrL,r3DCrL,...
|
||
r2DCrL,rSM,~,~,rDM] = tipologiaNodi(DTcatena,unitID,conn,FileName);
|
||
|
||
% funzione che ricostruisce i nodi della catena
|
||
catena = schema(idTool,conn,FileName);
|
||
|
||
% funzione che attiva/disattiva l'elaborazione per una determinata tipologia di nodo
|
||
[yesTuL,yesRL,yesTLH,yesTLHRH,yesTLHR3DH,yesPCL,yesPCLHR,yesPCLHR3D,...
|
||
yesPL,yesLL,yesEL,yes3DEL,yesWEL,yesMPBEL,yesAL,yesCrL,yes3DCrL,yes2DCrL,...
|
||
yesDM,yesSM] = YesNo(NodoTunnelLink,NodoRadialLink,NodoTiltLinkH,NodoTiltLinkHRH,...
|
||
NodoTiltLinkHR3DH,NodoPreConvLink,NodoPreConvLinkHR,NodoPreConvLinkHR3D,...
|
||
NodoDistoMTLink,NodoPressureLink,NodoLoadLink,NodoExtensometerLink,...
|
||
Nodo3DExtensometerLink,NodoWireExtensometerLink,NodoMultiPointRodExtensometer,...
|
||
NodoAnalogLink,NodoCrackLink,Nodo3DCrackLink,Nodo2DCrackLink,NodoStressMeter,FileName);
|
||
|
||
% Definisco i parametri di elaborazione di un'installazione
|
||
[NdatiMedia,Ndatidespike,MEMS,tolleranzaAcc,Tmax,Tmin,Ndevst,Wdevst,...
|
||
Ndevst_HR,Wdevst_HR,NumBasi,elab_option,Calcolo_Carico,Area,Mod_Elastico,...
|
||
Carico_Ini] = Parametri_Installazione(idTool,conn,yesTuL,yesRL,...
|
||
yesTLH,yesTLHRH,yesPCL,yesPCLHR,yesMPBEL,yesWEL,yesEL,FileName);
|
||
|
||
% funzione che ricostruisce segmenti di pertinenza etc
|
||
[SpeTuL,SpeRL,SpeTLH,PsTLH,SpeTLHRH,PsTLHRH,SpePCL,SpePCLHR]...
|
||
= schemaSP(yesTuL,yesRL,yesTLH,yesTLHRH,yesPCL,yesPCLHR,...
|
||
NodoTunnelLink,NodoRadialLink,NodoTiltLinkH,NodoTiltLinkHRH,...
|
||
NodoPreConvLink,NodoPreConvLinkHR,rTuL,rRL,rTLH,rTLHRH,rPCL,rPCLHR,catena,FileName);
|
||
|
||
% tipologia di centralina
|
||
Unit = centralina(IDcentralina,conn,FileName);
|
||
|
||
%% Scarico dei dati
|
||
|
||
% funzione che carica i dati di calibrazione
|
||
[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);
|
||
|
||
if strcmp(Unit,'Nesa evolution') == 0
|
||
|
||
% funzione che scarica i dati da utilizzare come nuovo zero (ultimo dato
|
||
% elaborato, con un certo margine
|
||
[DatiElabTunnelLink,NuovoZeroTuL,ay_TuL,t_TuL,ay_TuL_AC,t_TuL_AC,...
|
||
datainiTuL,tempoiniTuL,data1_AC,DatiElabRadialLink,NuovoZeroRL,datainiRL,tempoiniRL,...
|
||
DatiElabTiltLinkH,NuovoZeroTLH,datainiTLH,tempoiniTLH,...
|
||
DatiElabTiltLinkHRH,NuovoZeroTLHRH,datainiTLHRH,tempoiniTLHRH,...
|
||
DatiElabPreConvLink,NuovoZeroPCL,datainiPCL,tempoiniPCL,...
|
||
DatiElabPreConvLinkHR,NuovoZeroPCLHR,datainiPCLHR,tempoiniPCLHR,...
|
||
DatiElabDistoMTLink,NuovoZeroDM,datainiDM,tempoiniDM,...
|
||
datainiPL,tempoiniPL,NuovoZeroPrL,datainiLL,tempoiniLL,NuovoZeroLL,...
|
||
datainiEL,tempoiniEL,Date_Rif_EL,NuovoZeroEL,...
|
||
dataini3DEL,tempoini3DEL,Date_Rif_3DEL,NuovoZero3DEL,datainiWEL,tempoiniWEL,NuovoZeroWEL,...
|
||
datainiMPBEL,tempoiniMPBEL,NuovoZeroMPBEL,DatiElabAnalogLink,NuovoZeroAL,datainiAL,tempoiniAL,...
|
||
datainiCrL,tempoiniCrL,NuovoZeroCrL,dataini3DCrL,tempoini3DCrL,NuovoZero3DCrL,...
|
||
dataini2DCrL,tempoini2DCrL,NuovoZero2DCrL, datainiSM,tempoiniSM,Date_Rif_SM,NuovoZeroSM,margine] = ...
|
||
LastElab(conn,date,time,IDcentralina,DTcatena,Wdevst,NdatiMedia,Ndatidespike,...
|
||
NodoTunnelLink,yesTuL,date_AC,time_AC,Nodo_AC,rTuL,...
|
||
NodoRadialLink,yesRL,rRL,NodoTiltLinkH,yesTLH,rTLH,NodoTiltLinkHRH,yesTLHRH,rTLHRH,...
|
||
NodoPreConvLink,yesPCL,rPCL,NodoPreConvLinkHR,yesPCLHR,rPCLHR,...
|
||
NodoDistoMTLink,yesDM,rDM,NodoPressureLink,yesPL,...
|
||
NodoLoadLink,yesLL,NodoExtensometerLink,yesEL,Nodo3DExtensometerLink,...
|
||
yes3DEL,NodoWireExtensometerLink,yesWEL,NodoMultiPointRodExtensometer,...
|
||
yesMPBEL,NodoAnalogLink,yesAL,rAL,NodoCrackLink,yesCrL,...
|
||
Nodo3DCrackLink,yes3DCrL,Nodo2DCrackLink,yes2DCrL,NodoStressMeter,yesSM,FileName);
|
||
|
||
% Lettura dati da DB
|
||
[Batteria,DatiTunnelLink,ErrTunnelLink,datainiTuL,...
|
||
DatiRadialLink,ErrRadialLink,datainiRL,DatiTiltLinkH,ErrTiltLinkH,datainiTLH,...
|
||
DatiTiltLinkHRH,ErrTiltLinkHRH,datainiTLHRH,DatiPreConvLink,ErrPreConvLink,datainiPCL,...
|
||
DatiPreConvLinkHR,ErrPreConvLinkHR,datainiPCLHR,DatiDistoMTLink,ErrDistoMTLink,datainiDM,...
|
||
DatiPressureLink,ErrPressureLink,...
|
||
DatiLoadLink,ErrLoadLink,DatiExtensometerLink,DatiExtensometerLink_Rif,...
|
||
DatiNTCExtensometerLink,ErrExtensometerLink,Dati3DExtensometerLink,ChEL,EL_NTC,...
|
||
Dati3DExtensometerLink_Rif,DatiNTC3DExtensometerLink,Err3DExtensometerLink,ErrNTC3DExtensometerLink,Ch3DEL,EL3D_NTC,...
|
||
DatiWireExtensometerLink,DatiNTCWireExtensometerLink,ErrWireExtensometerLink,ChWEL,WEL_NTC,...
|
||
DatiMultiPointExtensometer,DatiNTCMultiPointExtensometer,ErrMultiPointExtensometer,ErrNTCMultiPointExtensometer,ChMPBEL,MPBEL_NTC,...
|
||
DatiAnalogLink,ErrAnalogLink,datainiAL,~,~,...
|
||
DatiCrackLink,DatiNTCCrackLink,ErrCrackLink,ChCrL,CrL_NTC,...
|
||
Dati3DCrackLink,DatiNTC3DCrackLink,Err3DCrackLink,ErrNTC3DCrackLink,Ch3DCrL,CrL3D_NTC,...
|
||
Dati2DCrackLink,DatiNTC2DCrackLink,Err2DCrackLink,ErrNTC2DCrackLink,Ch2DCrL,CrL2D_NTC,...
|
||
DatiStressMeter,DatiStressMeter_Rif,DatiNTCStressMeter,DatiNTCStressMeter_Rif,ErrStressMeter,ChSM,SM_NTC,...
|
||
yesTuL,yesRL,yesTLH,yesTLHRH,yesPCL,yesPCLHR,yesPL,yesLL,yesEL,yes3DEL,...
|
||
yesWEL,yesMPBEL,yesAL,yesCrL,yes3DCrL,yes2DCrL,yesSM,yesDM] = ...
|
||
lettura(IDcentralina,DTcatena,datainiTuL,tempoiniTuL,NodoTunnelLink,NuovoZeroTuL,date_AC,time_AC,Nodo_AC,...
|
||
datainiRL,tempoiniRL,NodoRadialLink,NuovoZeroRL,datainiTLH,tempoiniTLH,NodoTiltLinkH,NuovoZeroTLH,...
|
||
datainiTLHRH,tempoiniTLHRH,NodoTiltLinkHRH,NuovoZeroTLHRH,datainiPCL,tempoiniPCL,NodoPreConvLink,NuovoZeroPCL,...
|
||
datainiPCLHR,tempoiniPCLHR,NodoPreConvLinkHR,NuovoZeroPCLHR,datainiDM,tempoiniDM,NodoDistoMTLink,NuovoZeroDM,...
|
||
datainiPL,tempoiniPL,NodoPressureLink,NuovoZeroPrL,datainiLL,tempoiniLL,NodoLoadLink,NuovoZeroLL,...
|
||
datainiEL,tempoiniEL,Date_Rif_EL,NodoExtensometerLink,NuovoZeroEL,...
|
||
dataini3DEL,tempoini3DEL,Date_Rif_3DEL,Nodo3DExtensometerLink,NuovoZero3DEL,...
|
||
datainiWEL,tempoiniWEL,NodoWireExtensometerLink,NuovoZeroWEL,...
|
||
datainiMPBEL,tempoiniMPBEL,NodoMultiPointRodExtensometer,NuovoZeroMPBEL,...
|
||
datainiAL,tempoiniAL,NodoAnalogLink,NumBasi,NuovoZeroAL,...
|
||
datainiCrL,tempoiniCrL,NodoCrackLink,NuovoZeroCrL,dataini3DCrL,tempoini3DCrL,Nodo3DCrackLink,NuovoZero3DCrL,...
|
||
dataini2DCrL,tempoini2DCrL,Nodo2DCrackLink,NuovoZero2DCrL,...
|
||
datainiSM,tempoiniSM,Date_Rif_SM,NodoStressMeter,NuovoZeroSM,yesTuL,yesRL,yesTLH,...
|
||
yesTLHRH,yesPCL,yesPCLHR,yesPL,yesLL,yesEL,yes3DEL,yesWEL,yesMPBEL,yesAL,yesCrL,...
|
||
yes3DCrL,yes2DCrL,yesSM,yesDM,rTuL,rRL,rTLH,rTLHRH,rPCL,rPCLHR,rPrL,...
|
||
rLL,rEL,r3DEL,rWEL,rMPBEL,rAL,rCrL,r3DCrL,r2DCrL,rSM,rDM,conn,catena,date,time,FileName);
|
||
|
||
% Controllo incrociato fra la data iniziale definita da Lettura e la data
|
||
% iniziale definita da LastElab
|
||
[DatiElabTunnelLink,DatiElabRadialLink,DatiElabTiltLinkH,DatiElabTiltLinkHRH,...
|
||
DatiElabPreConvLink,DatiElabPreConvLinkHR,DatiElabAnalogLink,DatiElabDistoMTLink]...
|
||
= checkdata(yesTuL,yesRL,yesTLH,yesTLHRH,yesPCL,yesPCLHR,yesAL,yesDM,...
|
||
DatiElabTunnelLink,DatiElabRadialLink,DatiElabTiltLinkH,DatiElabTiltLinkHRH,...
|
||
DatiElabPreConvLink,DatiElabPreConvLinkHR,DatiElabAnalogLink,DatiElabDistoMTLink,...
|
||
datainiTuL,tempoiniTuL,datainiRL,tempoiniRL,datainiTLH,tempoiniTLH,...
|
||
datainiTLHRH,tempoiniTLHRH,datainiPCL,tempoiniPCL,datainiPCLHR,tempoiniPCLHR,...
|
||
datainiAL,tempoiniAL,datainiDM,tempoiniDM,rTuL,rRL,rTLH,rTLHRH,rPCL,rPCLHR,rAL,rDM,...
|
||
NodoTunnelLink,NodoRadialLink,NodoTiltLinkH,NodoTiltLinkHRH,NodoPreConvLink,...
|
||
NodoPreConvLinkHR,NodoAnalogLink,NodoDistoMTLink,NuovoZeroTuL,NuovoZeroRL,NuovoZeroTLH,...
|
||
NuovoZeroTLHRH,NuovoZeroPCL,NuovoZeroPCLHR,NuovoZeroAL,NuovoZeroDM,...
|
||
IDcentralina,DTcatena,conn,FileName);
|
||
|
||
%% Parte di definizione dati, conversione in unit<69> fisiche e calcolo medie
|
||
|
||
% --- Tunnel Link ---
|
||
if yesTuL == 1 % attiva l'elaborazione dei Tunnel Link
|
||
% definizione dei dati
|
||
[TimeTuL,accTuL,tempTuL,ay_TuL,ay_TuL_AC,ErrTunnelLink] = defDatiTuL(...
|
||
DatiTunnelLink,ay_TuL,ay_TuL_AC,Ndatidespike,rTuL,NuovoZeroTuL,...
|
||
ErrTunnelLink,MEMS,FileName);
|
||
% Conversione dei dati grezzi
|
||
[accTuL,ris_acc_TuL,T_TuL,ay_TuL,ay_TuL_AC] = conv_grezziTuL(...
|
||
rTuL,accTuL,tempTuL,DCalTuLTot,ay_TuL,t_TuL,ay_TuL_AC,t_TuL_AC,...
|
||
NuovoZeroTuL,MEMS,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_TuL,accTuL,ACCdefRis_TuL,TempDef_TuL,ay_TuL,ay_TuL_AC] = ...
|
||
MediaDati_TuL(accTuL,TimeTuL,ris_acc_TuL,ay_TuL,ay_TuL_AC,NdatiMedia,...
|
||
T_TuL,NuovoZeroTuL,FileName);
|
||
else
|
||
ARRAYdate_TuL = [];
|
||
text = 'There are not data to convert for Tunnel Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiTunnelLink
|
||
clear tempTuL
|
||
clear DCalTuLTot
|
||
clear t_TuL
|
||
clear t_TuL_AC
|
||
clear ris_acc_TuL
|
||
clear T_TuL
|
||
clear TimeTuL
|
||
|
||
% --- Radial Link ---
|
||
if yesRL == 1 % attiva l'elaborazione dei Radial Link
|
||
% definizione dei dati
|
||
[TimeRL,accRL,tempRL,ErrRadialLink] = defDatiRL(DatiRadialLink,...
|
||
ErrRadialLink,Ndatidespike,rRL,MEMS,FileName);
|
||
% Conversione dei dati grezzi
|
||
[accRL,ris_acc_RL,T_RL] = conv_grezziRL(rRL,accRL,tempRL,DCalRLTot,MEMS,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_RL,accRL,ACCdefRis_RL,TempDef_RL] = MediaDati_RL(accRL,...
|
||
TimeRL,ris_acc_RL,NdatiMedia,T_RL,FileName);
|
||
else
|
||
text = 'There are not data to convert for Radial Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
ARRAYdate_RL = [];
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiRadialLink
|
||
clear tempRL
|
||
clear DCalRLTot
|
||
clear ris_acc_RL
|
||
clear T_RL
|
||
clear TimeRL
|
||
|
||
% --- Tilt Link H ---
|
||
if yesTLH == 1 % attiva l'elaborazione dei Tilt Link H
|
||
% definizione dei dati
|
||
[TimeTLH,accTLH,tempTLH,ErrTiltLinkH] = defDatiTLH(...
|
||
DatiTiltLinkH,ErrTiltLinkH,Ndatidespike,rTLH,MEMS,FileName);
|
||
% conversione dei dati grezzi
|
||
[accTLH,ris_acc_TLH,tempTLH,ErrTiltLinkH] = conv_grezziTLH(rTLH,...
|
||
accTLH,tempTLH,DCalTLHTot,ErrTiltLinkH,MEMS,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_TLH,accTLH,ACCdefRis_TLH,TempDef_TLH] = MediaDati_TLH(...
|
||
accTLH,TimeTLH,ris_acc_TLH,NdatiMedia,tempTLH,FileName);
|
||
else
|
||
text = 'There are not data to convert for Tilt Link H';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
ARRAYdate_TLH = [];
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiTiltLinkH
|
||
clear tempTLH
|
||
clear DCalTLHTot
|
||
clear ris_acc_TLH
|
||
clear T_TLH
|
||
clear TimeTLH
|
||
|
||
% --- Tilt Link HR H ---
|
||
if yesTLHRH == 1 % attiva l'elaborazione dei Tilt Link HR H
|
||
% definizione dei dati
|
||
[TimeTLHRH,angTLHRH,tempTLHRH,ErrTiltLinkHRH] = defDatiTLHRH(...
|
||
DatiTiltLinkHRH,ErrTiltLinkHRH,Ndatidespike,NodoTiltLinkHRH,rTLHRH,...
|
||
IDcentralina,DTcatena,FileName);
|
||
% conversione dei dati grezzi
|
||
[angTLHRH,tempTLHRH] = conv_grezziTLHRH(angTLHRH,tempTLHRH,DCalTLHRHTot,...
|
||
rTLHRH,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_TLHRH,AngDef_TLHRH,TempDef_TLHRH] = MediaDati_TLHRH(angTLHRH,...
|
||
TimeTLHRH,NdatiMedia,tempTLHRH,FileName);
|
||
else
|
||
text = 'There are not data to convert for Tilt Link HR H';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
ARRAYdate_TLHRH = [];
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiTiltLinkHRH
|
||
clear tempTLHRH
|
||
clear DCalTLHRHTot
|
||
clear ang_TLHRH
|
||
clear TimeTLHRH
|
||
|
||
% --- PreConv Link ---
|
||
if yesPCL == 1 % attiva l'elaborazione dei PreConv Link
|
||
% definizione dei dati
|
||
[TimePCL,accPCL,tempPCL,ErrPreConvLink] = defDatiPCL(DatiPreConvLink,...
|
||
ErrPreConvLink,Ndatidespike,rPCL,MEMS,FileName);
|
||
% conversione dei dati grezzi
|
||
[accPCL,ris_acc_PCL,T_PCL] = conv_grezziPCL(rPCL,accPCL,tempPCL,DCalPCLTot,...
|
||
MEMS,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_PCL,accPCL,ACCdefRis_PCL,TempDef_PCL] = MediaDati_PCL(...
|
||
accPCL,TimePCL,ris_acc_PCL,NdatiMedia,T_PCL,FileName);
|
||
else
|
||
text = 'There are not data to convert for PreConv Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
ARRAYdate_PCL = [];
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiPreConvLink
|
||
clear tempPCL
|
||
clear TimePCL
|
||
clear DCalPCLTot
|
||
clear ris_acc_PCL
|
||
clear T_PCL
|
||
|
||
% --- PreConv Link HR ---
|
||
if yesPCLHR == 1 % attiva l'elaborazione dei PreConv Link HR
|
||
% definizione dei dati
|
||
[TimePCLHR,angPCLHR,tempPCLHR,ErrPreConvLinkHR] = defDatiPCLHR(...
|
||
DatiPreConvLinkHR,ErrPreConvLinkHR,NodoPreConvLinkHR,Ndatidespike,rPCLHR,...
|
||
IDcentralina,DTcatena,FileName);
|
||
% conversione dei dati grezzi
|
||
[angPCLHR,tempPCLHR] = conv_grezziPCLHR(angPCLHR,tempPCLHR,DCalPCLHRTot,...
|
||
rPCLHR,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_PCLHR,AngDef_PCLHR,TempDef_PCLHR] = MediaDati_PCLHR(...
|
||
angPCLHR,TimePCLHR,NdatiMedia,tempPCLHR,FileName);
|
||
else
|
||
text = 'There are not data to convert for PreConv Link HR';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
ARRAYdate_PCLHR = [];
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiPreConvLinkHR
|
||
clear angPCLHR
|
||
clear tempPCLHR
|
||
clear DCalPCLHRTot
|
||
clear T_PCLHR
|
||
clear TimePCLHR
|
||
|
||
% % --- DistoMT Link ---
|
||
% if yesTuL == 1 % attiva l'elaborazione
|
||
% % definizione dei dati
|
||
% [TimeTuL,accTuL,tempTuL,ay_TuL,ay_TuL_AC,ErrTunnelLink] = defDatiTuL(...
|
||
% DatiTunnelLink,ay_TuL,ay_TuL_AC,Ndatidespike,rTuL,NuovoZeroTuL,...
|
||
% ErrTunnelLink,MEMS,FileName);
|
||
% % Conversione dei dati grezzi
|
||
% [accTuL,ris_acc_TuL,T_TuL,ay_TuL,ay_TuL_AC] = conv_grezziTuL(...
|
||
% rTuL,accTuL,tempTuL,DCalTuLTot,ay_TuL,t_TuL,ay_TuL_AC,t_TuL_AC,...
|
||
% NuovoZeroTuL,MEMS,FileName);
|
||
% % media mobile dei dati
|
||
% [ARRAYdate_DL,accTuL,ACCdefRis_TuL,TempDef_TuL,ay_TuL,ay_TuL_AC] = ...
|
||
% MediaDati_TuL(accTuL,TimeTuL,ris_acc_TuL,ay_TuL,ay_TuL_AC,NdatiMedia,...
|
||
% T_TuL,NuovoZeroTuL,FileName);
|
||
% else
|
||
% ARRAYdate_DL = [];
|
||
% text = 'There are not data to convert for Tunnel Link';
|
||
% fileID = fopen(FileName,'a');
|
||
% fmt = '%s \r';
|
||
% fprintf(fileID,fmt,text);
|
||
% fclose(fileID);
|
||
% clear text
|
||
% end
|
||
% % Pulisco le variabili non pi<70> utilizzate
|
||
% clear DatiTunnelLink
|
||
% clear tempTuL
|
||
% clear DCalTuLTot
|
||
% clear t_TuL
|
||
% clear t_TuL_AC
|
||
% clear ris_acc_TuL
|
||
% clear T_TuL
|
||
% clear TimeTuL
|
||
|
||
% --- Pressure Link ---
|
||
if yesPL == 1 % arriva l'elaborazione dei Pressure Link
|
||
% definizione dei dati
|
||
[TimePL,Pressure,ErrPressureLink] = defDatiPL(DatiPressureLink,...
|
||
ErrPressureLink,Ndatidespike,rPrL,FileName);
|
||
% conversione dei dati grezzi
|
||
DatiPressure = conv_grezziPL(Pressure,DCalPLTot,NodoPressureLink,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_PL,DatiPressure] = MediaDati_PL(DatiPressure,TimePL,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_PL = [];
|
||
DatiPressure = [];
|
||
text = 'There are not data to convert for Pressure Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiPressureLink
|
||
clear TimePL
|
||
clear Pressure
|
||
clear DCalPLTot
|
||
|
||
% --- Load Link ---
|
||
if yesLL == 1 % attiva l'elaborazione dei Load Link
|
||
% definizione dei dati
|
||
[TimeLL,Load,ErrLoadLink] = defDatiLL(DatiLoadLink,ErrLoadLink,...
|
||
Ndatidespike,rLL,FileName);
|
||
% Conversione dei dati grezzi
|
||
DatiLoad = conv_grezziLL(Load,DCalLLTot,NodoLoadLink,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_LL,DatiLoad] = MediaDati_LL(DatiLoad,TimeLL,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_LL = [];
|
||
DatiLoad = [];
|
||
text = 'There are not data to convert for Load Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiLoadLink
|
||
clear TimeLL
|
||
clear Load
|
||
clear DCalLLTot
|
||
|
||
% --- Extensometer Link ---
|
||
if yesEL == 1
|
||
% definizione dei dati
|
||
[TimeEL,Extensometer,NTCExtensometer,ErrExtensometerLink]...
|
||
= defDatiEL(DatiExtensometerLink,DatiNTCExtensometerLink,ErrExtensometerLink,...
|
||
ChEL,EL_NTC,rEL,Ndatidespike,FileName);
|
||
% Conversione dei dati grezzi
|
||
[DatiExtensometer,DatiExtensometer_Rif,DatiNTCExtensometer,ErrExtensometerLink,Carico_Sensore]...
|
||
= conv_grezziEL(Extensometer,NTCExtensometer,DatiExtensometerLink_Rif,DCalELTot,EL_NTC,...
|
||
NodoExtensometerLink,ErrExtensometerLink,Calcolo_Carico,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_EL,DatiExtensometer] = MediaDati_EL(DatiExtensometer,TimeEL,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_EL = [];
|
||
DatiExtensometer = [];
|
||
DatiNTCExtensometer = [];
|
||
text = 'There are not data to convert for Extensometer Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiExtensometerLink
|
||
clear DatiNTCExtensometerLink
|
||
clear DatiExtensometerLink_Rif
|
||
clear TimeEL
|
||
clear Extensometer
|
||
clear NTCExtensometer
|
||
clear DCalELTot
|
||
|
||
% --- 3D Extensometer Link ---
|
||
if yes3DEL == 1
|
||
% definizione dei dati
|
||
[Time3DEL,Extensometer3D,Extensometer3D_Rif,NTCExtensometer3D,...
|
||
Err3DExtensometerLink,ErrNTC3DExtensometerLink] = ...
|
||
defDati3DEL(Dati3DExtensometerLink,Dati3DExtensometerLink_Rif,...
|
||
DatiNTC3DExtensometerLink,Err3DExtensometerLink,ErrNTC3DExtensometerLink,...
|
||
Nodo3DExtensometerLink,r3DEL,Ch3DEL,EL3D_NTC,Ndatidespike,FileName);
|
||
% Conversione dei dati grezzi
|
||
[DatiExtensometer3D,DatiExtensometer3D_Rif,DatiNTCExtensometer3D,...
|
||
Err3DExtensometerLink] = conv_grezzi3DEL(Extensometer3D,NTCExtensometer3D,...
|
||
Extensometer3D_Rif,DCalEL3DTot,Nodo3DExtensometerLink,Err3DExtensometerLink,...
|
||
r3DEL,EL3D_NTC,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_3DEL,DatiExtensometer3D] = MediaDati_3DEL(DatiExtensometer3D,Time3DEL,...
|
||
NdatiMedia,FileName);
|
||
% Sottraggo la misura di riferimento
|
||
DatiExtensometer3D = DatiExtensometer3D - DatiExtensometer3D_Rif(1,:);
|
||
else
|
||
ARRAYdate_3DEL = [];
|
||
DatiExtensometer3D = [];
|
||
DatiNTCExtensometer3D = [];
|
||
text = 'There are not data to convert for 3D Extensometer Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear Dati3DExtensometerLink
|
||
clear DatiNTC3DExtensometerLink
|
||
clear Dati3DExtensometerLink_Rif
|
||
clear Time3DEL
|
||
clear Extensometer3D
|
||
clear NTCExtensometer3D
|
||
clear DCal3DELTot
|
||
clear DatiExtensometer3D_Rif
|
||
|
||
% --- Wire Extensometer Link ---
|
||
if yesWEL == 1
|
||
% definizione dei dati
|
||
[TimeWEL,WireExtensometer,NTCWireExtensometer,ErrWireExtensometerLink]...
|
||
= defDatiWEL(DatiWireExtensometerLink,DatiNTCWireExtensometerLink,...
|
||
ErrWireExtensometerLink,ChWEL,WEL_NTC,rWEL,Ndatidespike,FileName);
|
||
% Conversione dei dati grezzi
|
||
[DatiWireExtensometer,DatiNTCWireExtensometer,ErrWireExtensometerLink] = conv_grezziWEL(...
|
||
WireExtensometer,NTCWireExtensometer,DCalWELTot,NodoWireExtensometerLink,...
|
||
ErrWireExtensometerLink,WEL_NTC,rWEL,Tmax,Tmin,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_WEL,DatiWireExtensometer] = MediaDati_WEL(DatiWireExtensometer,...
|
||
TimeWEL,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_WEL = [];
|
||
DatiWireExtensometer = [];
|
||
DatiNTCWireExtensometer = [];
|
||
text = 'There are not data to convert for Wire Extensometer Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiWireExtensometerLink
|
||
clear DatiNTCWireExtensometerLink
|
||
clear TimeWEL
|
||
clear WireExtensometer
|
||
clear NTCWireExtensometer
|
||
clear DCalWELTot
|
||
|
||
% --- MultiPoint Rod Extensometer ---
|
||
if yesMPBEL == 1
|
||
% definizione dei dati
|
||
[TimeMPBEL,DatiMPBEL,~,ErrMultiPointExtensometer] = ...
|
||
defDatiMPBEL(DatiMultiPointExtensometer,DatiNTCMultiPointExtensometer,...
|
||
ErrMultiPointExtensometer,FileName);
|
||
% Conversione dei dati grezzi
|
||
DatiMultiBase = conv_grezziMPBEL(DatiMPBEL,NumBasi,DCalMPBELTot,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_MPBEL,DatiMultiBase] = MediaDati_MPBEL(DatiMultiBase,TimeMPBEL,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_MPBEL = [];
|
||
DatiMultiBase = [];
|
||
text = 'There are not data to convert for MultiPoint Borehole Rod Extensometer';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiMultiPointExtensometer
|
||
clear DatiNTCMultiPointExtensometer
|
||
clear TimeMPBEL
|
||
clear DCalMPBELTot
|
||
|
||
% --- Analog Link ---
|
||
if yesAL == 1
|
||
% definizione dei dati
|
||
[TimeAL,ADCAnalog,ErrAnalogLink] = defDatiAL(DatiAnalogLink,ErrAnalogLink,FileName);
|
||
% Conversione dei dati grezzi
|
||
DatiAnalog = conv_grezziAL(ADCAnalog,DCalALTot,NodoAnalogLink,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_AL,DatiAnalog] = MediaDati_AL(DatiAnalog,TimeAL,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_AL = [];
|
||
DatiAnalog = [];
|
||
text = 'There are not data to convert for Analog Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiAnalogLink
|
||
clear ADCAnalog
|
||
clear TimeAL
|
||
clear DCalALTot
|
||
|
||
% --- Crack Link ---
|
||
if yesCrL == 1
|
||
% definizione dei dati
|
||
[TimeCrL,Crack,NTCCrack,ErrCrackLink] = defDatiCrL(DatiCrackLink,...
|
||
DatiNTCCrackLink,ErrCrackLink,ChCrL,CrL_NTC,rCrL,Ndatidespike,FileName);
|
||
% Conversione dei dati grezzi
|
||
[DatiCrack,DatiNTCCrack,ErrCrackLink] = conv_grezziCrL(Crack,NTCCrack,DCalCrLTot,...
|
||
NodoCrackLink,ErrCrackLink,CrL_NTC,rCrL,NuovoZeroCrL,IDcentralina,DTcatena,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_CrL,DatiCrack] = MediaDati_CrL(DatiCrack,TimeCrL,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_CrL = [];
|
||
DatiCrack = [];
|
||
DatiNTCCrack = [];
|
||
text = 'There are not data to convert for Crack Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiCrackLink
|
||
clear TimeCrL
|
||
clear Crack
|
||
clear NTCCrack
|
||
clear DCalCrLTot
|
||
|
||
% --- 2D Crack Link ---
|
||
if yes2DCrL == 1
|
||
% definizione dei dati
|
||
[Time2DCrL,Crack2D,NTCCrack2D,Err2DCrackLink,ErrNTC2DCrackLink] = ...
|
||
defDati2DCrL(Dati2DCrackLink,DatiNTC2DCrackLink,Err2DCrackLink,ErrNTC2DCrackLink,...
|
||
r2DCrL,Nodo2DCrackLink,Ch2DCrL,CrL2D_NTC,Ndatidespike,FileName);
|
||
% Conversione dei dati grezzi
|
||
[Dati2DCrack,DatiNTCCrack2D,Err2DCrackLink] = conv_grezzi2DCrL(...
|
||
Crack2D,NTCCrack2D,DCal2DCrLTot,Nodo2DCrackLink,Err2DCrackLink,CrL2D_NTC,...
|
||
r2DCrL,NuovoZero2DCrL,IDcentralina,DTcatena,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_2DCrL,Dati2DCrack] = MediaDati_2DCrL(Dati2DCrack,Time2DCrL,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_2DCrL = [];
|
||
Dati2DCrack = [];
|
||
DatiNTCCrack2D = [];
|
||
text = 'There are not data to convert for 2D Crack Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
clear Dati2DCrackLink
|
||
clear Time2DCrL
|
||
clear Crack2D
|
||
clear DCal2DCrLTot
|
||
clear DatiNTC2DCrackLink
|
||
|
||
% --- 3D Crack Link ---
|
||
if yes3DCrL == 1
|
||
% definizione dei dati
|
||
[Time3DCrL,Crack3D,NTCCrack3D,Err3DCrackLink,ErrNTC3DCrackLink] = ...
|
||
defDati3DCrL(Dati3DCrackLink,DatiNTC3DCrackLink,Err3DCrackLink,ErrNTC3DCrackLink,...
|
||
r3DCrL,Nodo3DCrackLink,Ch3DCrL,CrL3D_NTC,Ndatidespike,FileName);
|
||
% Conversione dei dati grezzi
|
||
[Dati3DCrack,DatiNTCCrack3D,Err3DCrackLink] = conv_grezzi3DCrL(...
|
||
Crack3D,NTCCrack3D,DCal3DCrLTot,Nodo3DCrackLink,Err3DCrackLink,CrL3D_NTC,...
|
||
r3DCrL,NuovoZero3DCrL,IDcentralina,DTcatena,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_3DCrL,Dati3DCrack] = MediaDati_3DCrL(Dati3DCrack,Time3DCrL,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_3DCrL = [];
|
||
Dati3DCrack = [];
|
||
DatiNTCCrack3D = [];
|
||
text = 'There are not data to convert for 3D Crack Link';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
clear Dati3DCrackLink
|
||
clear Time3DCrL
|
||
clear Crack3D
|
||
clear DCal3DCrLTot
|
||
clear DatiNTC3DCrackLink
|
||
|
||
% --- Stress Meter ---
|
||
if yesSM == 1
|
||
% definizione dei dati
|
||
[TimeSM,Stress,NTCStress,ErrStressMeter] = defDatiSM(DatiStressMeter,...
|
||
DatiNTCStressMeter,ErrStressMeter,ChSM,SM_NTC,rSM,Ndatidespike,FileName);
|
||
% Conversione dei dati grezzi
|
||
[DatiStress,DatiNTCStress,ErrStressMeter] = conv_grezziSM(Stress,NTCStress,...
|
||
DatiStressMeter_Rif,DatiNTCStressMeter_Rif,DCalSMTot,NodoStressMeter,ErrStressMeter,...
|
||
SM_NTC,rSM,FileName);
|
||
% media mobile dei dati
|
||
[ARRAYdate_SM,DatiStress] = MediaDati_SM(DatiStress,TimeSM,NdatiMedia,FileName);
|
||
else
|
||
ARRAYdate_SM = [];
|
||
DatiStress = [];
|
||
DatiNTCStress = [];
|
||
text = 'There are not data to convert for Stress Meter';
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
clear text
|
||
end
|
||
% Pulisco le variabili non pi<70> utilizzate
|
||
clear DatiStressMeter
|
||
clear DatiNTCStressMeter
|
||
clear TimeSM
|
||
clear Stress
|
||
clear NTCStress
|
||
clear DCalSMTot
|
||
|
||
%% Parte di Elaborazione
|
||
|
||
% --- Analisi Tunnel Link ---
|
||
if yesTuL == 1
|
||
[X_TuL,Xstar_TuL,Y_TuL,Z_TuL,Zstar_TuL,Xlocal_TuL,Ylocal_TuL,Zlocal_TuL,...
|
||
SegStar,HShift_local_TuL,TempDef_TuL,ARRAYdate_TuL,Area_TuL,Speed_local_TuL,...
|
||
Acceleration_local_TuL,ErrTunnelLink] = elab2D_TuL(rTuL,accTuL,ay_TuL,ay_TuL_AC,...
|
||
ACCdefRis_TuL,SpeTuL,IDcentralina,DTcatena,DatiElabTunnelLink,NuovoZeroTuL,...
|
||
TempDef_TuL,tolleranzaAcc,Ndevst,Wdevst,NdatiMedia,Ndatidespike,ARRAYdate_TuL,...
|
||
data1_AC,Nodo_AC,margine,ErrTunnelLink,Tmax,Tmin,datainiTuL,FileName);
|
||
else
|
||
[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] = matrici_vuote_TuL(FileName);
|
||
end
|
||
clear DatiElabTunnelLink
|
||
clear rTuL
|
||
clear accTuL
|
||
clear ay_TuL
|
||
clear ay_TuL_AC
|
||
clear data1_AC
|
||
clear ACCdefRis_TuL
|
||
clear SpeTuL
|
||
clear DatiElabTunnelLink
|
||
clear NuovoZeroTuL
|
||
clear Nodo_AC
|
||
clear data1_AC
|
||
% fine elaborazione Tunnel Link
|
||
|
||
% --- Analisi Radial Link ---
|
||
if yesRL == 1
|
||
[X_RL,Y_RL,Z_RL,Xlocal_RL,Ylocal_RL,Zlocal_RL,TempDef_RL,ARRAYdate_RL,...
|
||
ErrRadialLink] = elab2D_RL(rRL,accRL,ACCdefRis_RL,SpeRL,IDcentralina,DTcatena,...
|
||
DatiElabRadialLink,NuovoZeroRL,tolleranzaAcc,TempDef_RL,Ndevst,Wdevst,ARRAYdate_RL,...
|
||
elab_option,NdatiMedia,Ndatidespike,margine,ErrRadialLink,Tmax,Tmin,datainiRL,FileName);
|
||
else
|
||
[X_RL,Y_RL,Z_RL,Xlocal_RL,Ylocal_RL,Zlocal_RL,TempDef_RL] = matrici_vuote_RL(FileName);
|
||
end
|
||
clear DatiElabRadialLink
|
||
clear accRL
|
||
clear SpeRL
|
||
clear ACCdefRis_RL
|
||
clear NuovoZeroRL
|
||
clear rRL
|
||
% fine elaborazione Radial Link
|
||
|
||
% --- Tilt Link H ---
|
||
if yesTLH == 1
|
||
[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] = elab2D_TLH(IDcentralina,DTcatena,rTLH,accTLH,ACCdefRis_TLH,...
|
||
TempDef_TLH,SpeTLH,PsTLH,tolleranzaAcc,DatiElabTiltLinkH,Ndevst,Wdevst,...
|
||
ARRAYdate_TLH,NuovoZeroTLH,NdatiMedia,Ndatidespike,ErrTiltLinkH,margine,...
|
||
elab_option,Tmax,Tmin,datainiTLH,FileName);
|
||
else
|
||
[Y_TLH,Z_TLH,Ylocal_TLH,Zlocal_TLH,AlfaX_TLH,AlfaY_TLH,TempDef_TLH,...
|
||
speed_TLH,speed_local_TLH,acceleration_TLH,acceleration_local_TLH] = matrici_vuote_TLH(FileName);
|
||
end
|
||
clear DatiElabTiltLinkH
|
||
clear accTLH
|
||
clear ACCdefRis_TLH
|
||
clear SpeTLH
|
||
clear PsTLH
|
||
clear NuovoZeroTLH
|
||
% fine elaborazione Tilt Link H
|
||
|
||
% --- Tilt Link HR H ---
|
||
if yesTLHRH == 1
|
||
[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] = elab2D_TLHRH(rTLHRH,AngDef_TLHRH,TempDef_TLHRH,...
|
||
SpeTLHRH,PsTLHRH,DatiElabTiltLinkHRH,Ndevst_HR,Wdevst_HR,ARRAYdate_TLHRH,...
|
||
NuovoZeroTLHRH,NdatiMedia,Ndatidespike,ErrTiltLinkHRH,margine,elab_option,...
|
||
Tmax,Tmin,datainiTLHRH,FileName);
|
||
else
|
||
[Y_TLHRH,Z_TLHRH,Ylocal_TLHRH,Zlocal_TLHRH,AlfaX_TLHRH,AlfaY_TLHRH,TempDef_TLHRH,...
|
||
speed_TLHRH,speed_local_TLHRH,acceleration_TLHRH,acceleration_local_TLHRH] = matrici_vuote_TLHRH(FileName);
|
||
end
|
||
clear calotta_base
|
||
clear DatiElabTiltLinkHRH
|
||
clear AngDef_TLHRH
|
||
clear SpeTLHRH
|
||
clear PsTLHRH
|
||
clear NuovoZeroTLHRH
|
||
% fine elaborazione Tilt Link HR H
|
||
|
||
% --- PreConv Link ---
|
||
if yesPCL == 1
|
||
[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] = elab2D_PCL(IDcentralina,DTcatena,rPCL,accPCL,ACCdefRis_PCL,...
|
||
TempDef_PCL,SpePCL,tolleranzaAcc,DatiElabPreConvLink,Ndevst,Wdevst,ARRAYdate_PCL,...
|
||
NuovoZeroPCL,NdatiMedia,Ndatidespike,ErrPreConvLink,margine,elab_option,...
|
||
Tmax,Tmin,datainiPCL,FileName);
|
||
else
|
||
[Y_PCL,Z_PCL,Ylocal_PCL,Zlocal_PCL,AlfaX_PCL,AlfaY_PCL,TempDef_PCL,...
|
||
speed_PCL,speed_local_PCL,acceleration_PCL,acceleration_local_PCL] = matrici_vuote_PCL(FileName);
|
||
end
|
||
clear DatiElabPreConvLink
|
||
clear accPCL
|
||
clear ACCdefRis_PCL
|
||
clear SpePCL
|
||
clear tolleranzaAcc
|
||
clear DatiElabPreConvLink
|
||
clear NuovoZeroPCL
|
||
clear rPCL
|
||
clear Ndevst
|
||
clear Wdevst
|
||
% fine elaborazione PreConv Link
|
||
|
||
% --- PreConv Link HR ---
|
||
if yesPCLHR == 1
|
||
[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] = elab2D_PCLHR(IDcentralina,DTcatena,rPCLHR,AngDef_PCLHR,...
|
||
TempDef_PCLHR,SpePCLHR,DatiElabPreConvLinkHR,Ndevst_HR,Wdevst_HR,ARRAYdate_PCLHR,...
|
||
NuovoZeroPCLHR,NdatiMedia,Ndatidespike,ErrPreConvLinkHR,margine,elab_option,Tmax,Tmin,...
|
||
datainiPCLHR,FileName);
|
||
else
|
||
[Y_PCLHR,Z_PCLHR,Ylocal_PCLHR,Zlocal_PCLHR,AlfaX_PCLHR,AlfaY_PCLHR,TempDef_PCLHR,...
|
||
speed_PCLHR,speed_local_PCLHR,acceleration_PCLHR,acceleration_local_PCLHR] = matrici_vuote_PCLHR(FileName);
|
||
end
|
||
clear DatiElabPreConvLinkHR
|
||
clear rPCLHR
|
||
clear AngDef_PCLHR
|
||
clear SpePCLHR
|
||
clear elab_option
|
||
clear Ndevst_HR
|
||
clear Wdevst_HR
|
||
clear NuovoZeroPCLHR
|
||
clear NdatiMedia
|
||
clear Ndatidespike
|
||
clear tolleranzaT
|
||
clear margine
|
||
clear elab_option
|
||
|
||
% --- Extensometer Link ---
|
||
if yesEL == 1
|
||
% Sottraggo la misura di riferimento
|
||
DatiExtensometer = DatiExtensometer - DatiExtensometer_Rif(1,:);
|
||
% Calcolo lo sforzo e il carico assoluto
|
||
if Calcolo_Carico == 1
|
||
Epsilon = DatiExtensometer/1000000;
|
||
Sforzo = Epsilon.*Mod_Elastico; % MPa
|
||
Carico_rel = Area*Sforzo/1000; % kN
|
||
Carico_ass = Carico_rel+Carico_Ini+Carico_Sensore'; % kN
|
||
Sforzo = Carico_ass*1000/Area; % MPa
|
||
else
|
||
Carico_ass = [];
|
||
Sforzo = [];
|
||
end
|
||
clear DatiExtensometer_Rif
|
||
else
|
||
Carico_ass = [];
|
||
Sforzo = [];
|
||
end
|
||
|
||
% --- 3D Extensometer Link ---
|
||
% Correzione 3D Extensometer Link
|
||
if yes3DEL == 1
|
||
[r,~] = size(Err3DExtensometerLink);
|
||
Matrice_err = zeros(r,r3DEL);
|
||
for i = 1:r % date
|
||
d = 1;
|
||
for n = 1:r3DEL % nodi
|
||
j = 1;
|
||
err = Err3DExtensometerLink(i,d:d+2);
|
||
while j <= 3
|
||
if err(1,j) == 1
|
||
Matrice_err(i,n) = 1;
|
||
end
|
||
j = j+1;
|
||
end
|
||
d = d+3;
|
||
end
|
||
end
|
||
Err3DExtensometerLink = Matrice_err;
|
||
Join = find(ErrNTC3DExtensometerLink);
|
||
[rJ,cJ] = size(Join);
|
||
for ii = 1:rJ
|
||
for jj = 1:cJ
|
||
if Err3DExtensometerLink(Join(ii,jj)) == 0
|
||
Err3DExtensometerLink(Join(ii,jj)) = 0.5;
|
||
end
|
||
end
|
||
end
|
||
end
|
||
clear ErrNTC3DExtensometerLink
|
||
|
||
% --- Crack Link ---
|
||
if yesCrL == 1
|
||
NomeFile = ['' IDcentralina '-' DTcatena '-RifCrL.csv'];
|
||
if NuovoZeroCrL == 0 % prima elaborazione
|
||
csvwrite(NomeFile,DatiCrack(1,:));
|
||
DatiCrack = DatiCrack - DatiCrack(1,:);
|
||
else % Ci sono gi<67> dei dati elaborati
|
||
RIF = csvread(NomeFile);
|
||
DatiCrack = DatiCrack - RIF;
|
||
end
|
||
end
|
||
|
||
% --- 3D Crack Link ---
|
||
if yes3DCrL == 1
|
||
[r,~] = size(Err3DCrackLink);
|
||
Matrice_err = zeros(r,r3DCrL);
|
||
for i = 1:r % date
|
||
d = 1;
|
||
for n = 1:r3DCrL % nodi
|
||
j = 1;
|
||
err = Err3DCrackLink(i,d:d+2);
|
||
while j <= 3
|
||
if err(1,j) == 1
|
||
Matrice_err(i,n) = 1;
|
||
end
|
||
j = j+1;
|
||
end
|
||
d = d+3;
|
||
end
|
||
end
|
||
Err3DCrackLink = Matrice_err;
|
||
Join = find(ErrNTC3DCrackLink);
|
||
[rJ,cJ] = size(Join);
|
||
for ii = 1:rJ
|
||
for jj = 1:cJ
|
||
if Err3DCrackLink(Join(ii,jj)) == 0
|
||
Err3DCrackLink(Join(ii,jj)) = 0.5;
|
||
end
|
||
end
|
||
end
|
||
end
|
||
clear ErrNTC3DCrackLink
|
||
|
||
% --- 2D Crack Link ---
|
||
if yes2DCrL == 1
|
||
[r,~] = size(Err2DCrackLink);
|
||
Matrice_err = zeros(r,r2DCrL);
|
||
for i = 1:r % date
|
||
d = 1;
|
||
for n = 1:r2DCrL % nodi
|
||
j = 1;
|
||
err = Err2DCrackLink(i,d:d+1);
|
||
while j <= 2
|
||
if err(1,j) == 1
|
||
Matrice_err(i,n) = 1;
|
||
end
|
||
j = j+1;
|
||
end
|
||
d = d+2;
|
||
end
|
||
end
|
||
Err2DCrackLink = Matrice_err;
|
||
Join = find(ErrNTC2DCrackLink);
|
||
[rJ,cJ] = size(Join);
|
||
for ii = 1:rJ
|
||
for jj = 1:cJ
|
||
if Err2DCrackLink(Join(ii,jj)) == 0
|
||
Err2DCrackLink(Join(ii,jj)) = 0.5;
|
||
end
|
||
end
|
||
end
|
||
end
|
||
clear ErrNTC2DCrackLink
|
||
|
||
% --- MultiPoint Borehole Extensometer Link ---
|
||
% Correzione MultiPoint Extensometer
|
||
if yesMPBEL == 1
|
||
[r,~] = size(ErrMultiPointExtensometer);
|
||
Matrice_err = zeros(r,rMPBEL);
|
||
for i = 1:r % date
|
||
d = 1;
|
||
for n = 1:rMPBEL % nodi
|
||
j = 1;
|
||
err = ErrMultiPointExtensometer(i,d:d+NumBasi-1);
|
||
while j <= NumBasi
|
||
if err(1,j) == 1
|
||
Matrice_err(i,n) = 1;
|
||
end
|
||
j = j+1;
|
||
end
|
||
d = d+NumBasi;
|
||
end
|
||
end
|
||
ErrMultiPointExtensometer = Matrice_err;
|
||
Join = find(ErrNTCMultiPointExtensometer);
|
||
[rJ,cJ] = size(Join);
|
||
for ii = 1:rJ
|
||
for jj = 1:cJ
|
||
if ErrMultiPointExtensometer(Join(ii,jj)) == 0
|
||
ErrMultiPointExtensometer(Join(ii,jj)) = 0.5;
|
||
end
|
||
end
|
||
end
|
||
end
|
||
clear ErrNTCMultiPointExtensometer
|
||
|
||
%% Parte di Scrittura su Database
|
||
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,ARRAYdate_AL,ErrAnalogLink,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);
|
||
|
||
%% Rilancio software
|
||
[yesRSN,yesMusa] = SWSearch(idTool,conn,FileName);
|
||
try
|
||
if yesRSN == 1
|
||
rilancio = ['/usr/local/matlab_func/run_RSN_lnx.sh /usr/local/MATLAB/MATLAB_Runtime/v93 ' IDcentralina ' ' DTcatena ''];
|
||
status = system(rilancio);
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,status);
|
||
fclose(fileID);
|
||
end
|
||
if yesMusa == 1
|
||
rilancio = ['/usr/local/matlab_func/run_Musa_lnx.sh /usr/local/MATLAB/MATLAB_Runtime/v93 ' IDcentralina ' ' DTcatena ''];
|
||
status = system(rilancio);
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,status);
|
||
fclose(fileID);
|
||
end
|
||
catch err
|
||
FileErr = ['ErrorFile-' IDcentralina '-' datestr(today) '-' datestr(now,'hhMMss')];
|
||
fid = fopen(FileErr,'a+');
|
||
fprintf(fid, '%s', err.getReport('extended','hyperlinks','off'));
|
||
fclose(fid);
|
||
end
|
||
end
|
||
|
||
%% Parte di allertamento
|
||
|
||
% Determino gli utenti da utilizzare in tutte le funzioni successive
|
||
[Mail,~,~,Users_Report,~,activeEN,...
|
||
sms,siteID,NomeSito,ini_CoV] = Users_Def(IDcentralina,conn,FileName);
|
||
|
||
% Determino alcune informazioni del sito che mi servono nei passaggi
|
||
% successivi
|
||
[unitID,chainID,Chain_Scheme,num_nodi,alarms] = Site_Info(siteID,conn,FileName);
|
||
|
||
% % Funzione Soglie sperimentale ASE
|
||
% [~,unitID,chainID,Chain_Scheme,num_nodi] = soglie(IDcentralina,...
|
||
% yesTuL,yesRL,yesTLH,yesTLHRH,yesPCL,yesPCLHR,conn,FileName);
|
||
|
||
% Funzione per soglie sito specifiche
|
||
alert_Levels(rLL,rCrL,DatiLoad,DatiCrack,ARRAYdate_LL,ARRAYdate_CrL,...
|
||
ErrLoadLink,ErrCrackLink,NodoLoadLink,NodoCrackLink,IDcentralina,DTcatena,...
|
||
sms,date,time,conn,FileName);
|
||
|
||
if strcmp(Unit,'Nesa evolution') == 0
|
||
% Funzione che elabora i Control Tools
|
||
alarms = Siren(siteID,yesTuL,yesRL,yesTLH,yesTLHRH,yesPCL,yesPCLHR,...
|
||
yesCrL,yes3DCrL,yes2DCrL,yesEL,yes3DEL,yesWEL,yesMPBEL,datainiTuL,tempoiniTuL,...
|
||
datainiRL,tempoiniRL,datainiTLH,tempoiniTLH,datainiTLHRH,tempoiniTLHRH,...
|
||
datainiPCL,tempoiniPCL,datainiPCLHR,tempoiniPCLHR,datainiCrL,tempoiniCrL,...
|
||
dataini3DCrL,tempoini3DCrL,dataini2DCrL,tempoini2DCrL,...
|
||
datainiEL,tempoiniEL,dataini3DEL,tempoini3DEL,...
|
||
datainiWEL,tempoiniWEL,datainiMPBEL,tempoiniMPBEL,ARRAYdate_TuL,ARRAYdate_RL,...
|
||
ARRAYdate_TLH,ARRAYdate_TLHRH,ARRAYdate_PCL,ARRAYdate_PCLHR,ARRAYdate_CrL,...
|
||
ARRAYdate_3DCrL,ARRAYdate_2DCrL,ARRAYdate_EL,ARRAYdate_3DEL,ARRAYdate_WEL,ARRAYdate_MPBEL,...
|
||
conn,date,time,FileName);
|
||
end
|
||
|
||
% Controllo del Livello della Batteria
|
||
checkBattery(Batteria,IDcentralina,Mail,conn,FileName);
|
||
|
||
% Controllo della data di chiusura piattaforma per una determinata centralina
|
||
checkUnit(IDcentralina,conn,FileName);
|
||
|
||
% Controllo della data di scadenza della SIM
|
||
checkSIM(IDcentralina,conn,FileName);
|
||
|
||
% Controllo della data di scadenza del GIS
|
||
checkGIS(siteID,NomeSito,conn,FileName)
|
||
|
||
%% Parte di Report
|
||
Report_ASE(IDcentralina,siteID,unitID,chainID,Chain_Scheme,num_nodi,...
|
||
alarms,Mail,Users_Report,activeEN,time,conn,FileName);
|
||
|
||
toc
|
||
text = ['ATD calculation ended in ' num2str(toc) ' seconds.'];
|
||
fileID = fopen(FileName,'a');
|
||
fmt = '%s \r';
|
||
fprintf(fileID,fmt,text);
|
||
fclose(fileID);
|
||
|
||
RC = 0;
|
||
|
||
end
|
||
|