Files
matlab-python/ATD/report_AR.m

925 lines
41 KiB
Matlab
Executable File
Raw Blame History

function [PL_A,PL_D,FIG,FIG_ENG] = report_AR(chainID,unitID,tipoarray,contunit,...
siteID,FIG,FIG_ENG,rpt,rpt_ENG,Font_caption,Font_Chapter,Font_section,...
Font_tools,datarif,yesKLHR3D,rTL,rTLHR,rTLH,rTLHRH,rPL,rBL,rLL,rRL,rKL,...
rKLHR,rThL,rPT100,rIPL,rIPLHR,rTuL,rRaL,rPCL,rPCLHR,rPrL,rEL,r3DEL,rWEL,rMPBEL,...
rCrL,r2DCrL,r3DCrL,rBML,rHL,rLuxL,rCO2,rRSN,rRSNHR,rTrL,rPE,rWL,rGF,rGS,...
NodoTiltLink,NodoTiltLinkH,NodoPiezoLink,NodoBaroLink,NodoLoadLink,...
NodoRainLink,NodoKlinoLink,NodoKlinoLinkHR,NodoThermLink,NodoPT100Link,...
NodoInPlaceLink,NodoInPlaceLinkHR,NodoTunnelLink,NodoRadialLink,NodoPreConvLink,...
NodoPressureLink,NodoExtensometerLink,Nodo3DExtensometerLink,...
NodoWireExtensometerLink,NodoMultiPointExtensometerLink,NodoCrackLink,...
Nodo2DCrackLink,Nodo3DCrackLink,NodoBaroMusaLink,NodoHumidityLink,NodoLuxLink,...
NodoCO2Link,NodoRSNLink,NodoRSNHRLink,NodoTriggerLink,NodoStressMeter,NodoWeirLink,...
NodoPendulum,MUMS,MUMS_ENG,colonna2,colonna2bis,colonna4,firstdata_num,activeEN,IDscaduta,...
status,br,conn,FileName)
fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'report_AR function started';
fprintf(fileID,fmt,text);
fclose(fileID);
import mlreportgen.dom.*
import mlreportgen.report.*
% Make sure DOM is compilable
makeDOMCompilable()
% Inizializzo
[rAR,~] = size(chainID);
[GI_Disp_TL,GI_Date_TL,GI_Prof_TL,GI_Disp_IPL,GI_Date_IPL,GI_Prof_IPL,...
GI_Disp_IPLHR,GI_Date_IPLHR,GI_Prof_IPLHR,GI_Level_PL,GI_Prof_PL,GI_Date_PL,...
GI_Rain_RL,GI_Date_RL,GI_Angolo_KL,GI_Date_KL,GI_Num_KL,GI_Disp_CrL,GI_Date_CrL,...
GI_Num_CrL,PL_A,PL_D,GI_Q1_TuL,GI_Q2_TuL,GI_Q3_TuL,GI_Q4_TuL,GI_Q1_Num_TuL,...
GI_Q2_Num_TuL,GI_Q3_Num_TuL,GI_Q4_Num_TuL,GI_Seg_TuL,GI_NumSeg_TuL,GI_Z_TuL,...
GI_Date_TuL,GI_XYZ_Rad,GI_Num_Rad,GI_dS_RL_MPB,GI_dS_RL_TuL,GI_dS_TuL_RL,...
GI_Date_Rad,GI_Z_PCL,GI_Date_PCL,GI_Date_MPB,GI_dS_MPB,GI_MPB_Base,GI_dS_MPB_RL] = report_ini;
fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'report_ini function executed';
fprintf(fileID,fmt,text);
fclose(fileID);
kl = 1;
s = 1; % Usato nei Cir
TR = 1; % usato nei Cir-Rad
TP = 1; % Usato nei Cir-PCL
MR = 1; % usato nei multibase-Rad
%% Analizzo i singoli Array e li riporto nel Report
for m = 1:rAR % creo una sottosezione per ciascuna catena
% Cerco se alcune centraline (e i relativi Array) sono scaduti
IDcentralina = char(chainID(m,2)); % Centralina dell'Array in analisi
[rCU,~] = size(chainID);
for indCU = 1:rCU
if strcmp(char(unitID(indCU,2)),IDcentralina) == 1
u = indCU;
break
end
end
if IDscaduta(u,1) == 1
escludi = 1;
IDcentralina = char(chainID(m,2));
DTcatena = char(chainID(m,4));
DT = Section();
app = Heading2(strcat(IDcentralina, '-', DTcatena));
app.Style = {OuterMargin('0in','0in','0.2in','0.2in'),FontSize(Font_section),HAlign('justify')}; % Sx-Dx-Alto-Basso
DT.Title = app;
else
escludi = 0;
end
if escludi == 0
battANALOG = 0; % indicatore per riportare batteria GMUX una sola volta per catena
toolrif = chainID(m,4);
DTcatena = char(toolrif);
toolrifID = chainID(m,3);
ID801 = chainID(m,1);
comando = ['select prod_date from tools where unit_ID like ''' num2str(cell2mat(ID801)) ''' and name like ''' char(toolrif) ''' '];
curs = exec(conn,comando);
curs = fetch(curs);
data_ini = curs.Data;
stringa = cell2mat(data_ini);
[~,cst] = size(stringa);
if cst > 10
date = stringa(1,1:10);
time = stringa(1,11:21);
dataora_sito(1,1) = cellstr(date);
dataora_sito(1,2) = cellstr(time);
datasito = [cell2mat(dataora_sito(1,1)) repmat(' ', [1,1]) cell2mat(dataora_sito(1,2))]; % Data definita sul sito
if datenum(datasito) > datenum(datarif)
datarif = datestr(datenum(datasito),'yyyy-mm-dd');
end
end
for ind = 1:rAR
if strcmp(chainID(ind,4),cellstr(toolrif)) == 1
unitrif = char(chainID(ind,2));
break
else
end
end
DT = Section();
app = Heading2(char(strcat(unitrif, '-', toolrif)));
app.Style = {OuterMargin('0in','0in','0.2in','0.2in'),FontSize(Font_section),HAlign('justify')}; % Sx-Dx-Alto-Basso
DT.Title = app;
if activeEN == 1
DT_ENG = Section();
app_ENG = Heading2(char(strcat(unitrif, '-', toolrif)));
app_ENG.Style = {OuterMargin('0in','0in','0.2in','0.2in'),FontSize(Font_section),HAlign('justify')}; % Sx-Dx-Alto-Basso
DT_ENG.Title = app_ENG;
else
DT_ENG = [];
end
ATTIVA = 1;
%% TILT LINK V
if rTL(m,1) > 0
[GI_MaxDispMESE,GI_DateTL,GI_MaxDispProf,ATTIVA,FIG,FIG_ENG] = report_TL(...
rTL,rTLHR,m,NodoTiltLink,toolrif,unitrif,datarif,firstdata_num,...
Font_caption,Font_tools,siteID,toolrifID,DT,DT_ENG,FIG,FIG_ENG,br,...
colonna2,colonna2bis,status,ATTIVA,activeEN,conn,FileName);
[rControl_1,~] = size(GI_MaxDispMESE);
[rControl_2,~] = size(GI_Disp_TL);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_Disp_TL
clear GI_Prof_TL
clear GI_Date_TL
GI_Disp_TL(:,m) = GI_MaxDispMESE;
GI_Prof_TL(1,m) = GI_MaxDispProf;
GI_Date_TL(:,m) = GI_DateTL;
elseif rControl_1 == 0
GI_Disp_TL(1,m) = 0;
GI_Prof_TL(1,m) = 0;
GI_Date_TL(1,m) = 0;
else
GI_Disp_TL(1:rControl_1,m) = GI_MaxDispMESE;
GI_Prof_TL(1,m) = GI_MaxDispProf;
GI_Date_TL(1:rControl_1,m) = GI_DateTL;
end
else
if rControl_2 ~= 0
clear BackUp
BackUp = GI_Disp_TL(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Disp_TL(1:rControl_1,m) = GI_MaxDispMESE;
GI_Disp_TL(1:rControl_2,1:cBck) = BackUp;
GI_Prof_TL(1,m) = GI_MaxDispProf;
BackUp = GI_Date_TL (1:rControl_2,:);
GI_Date_TL(1:rControl_1,m) = GI_DateTL;
GI_Date_TL(1:rControl_2,1:cBck) = BackUp;
end
end
end
%% TILT LINK H
if rTLH(m,1) > 0
wip = Paragraph('Sezione non ancora disponibile per dati del Tilt Link H');
add(DT,wip);
if activeEN == 1
wip = Paragraph('Section for Tilt Link H is not yet available.');
add(DT_ENG,wip);
end
end
%% IN PLACE LINK
if rIPL(m,1) > 0
[GI_MaxDispMESE,GI_DateIPL,GI_MaxDispProf,ATTIVA,FIG,FIG_ENG] = report_IPL(...
rIPL,rIPLHR,m,NodoInPlaceLink,toolrif,unitrif,datarif,firstdata_num,Font_caption,...
Font_tools,siteID,toolrifID,DT,DT_ENG,FIG,FIG_ENG,br,colonna2,colonna2bis,status,...
ATTIVA,activeEN,conn,FileName);
[rControl_1,~] = size(GI_MaxDispMESE);
[rControl_2,~] = size(GI_Disp_IPL);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_Disp_IPL
clear GI_Prof_IPL
clear GI_Date_IPL
GI_Disp_IPL(:,m) = GI_MaxDispMESE;
GI_Prof_IPL(:,m) = GI_MaxDispProf;
GI_Date_IPL(:,m) = GI_DateIPL;
elseif rControl_1 == 0
GI_Disp_IPL(1,m) = 0;
GI_Prof_IPL(1,m) = 0;
GI_Date_IPL(1,m) = 0;
else
GI_Disp_IPL(1:rControl_1,m) = GI_MaxDispMESE;
GI_Prof_IPL(1:rControl_1,m) = GI_MaxDispProf;
GI_Date_IPL(1:rControl_1,m) = GI_DateIPL;
end
else
if rControl_2 ~= 0
clear BackUp
BackUp = GI_Disp_IPL(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Disp_IPL(1:rControl_1,m) = GI_MaxDispMESE;
GI_Disp_IPL(1:rControl_2,1:cBck) = BackUp;
GI_Prof_IPL(1,m) = GI_MaxDispProf;
BackUp = GI_Date_IPL(1:rControl_2,:);
GI_Date_IPL(1:rControl_1,m) = GI_DateIPL;
GI_Date_IPL(1:rControl_2,1:cBck) = BackUp;
end
end
end
%% IN PLACE LINK HR
if rIPL(m,1) == 0 && rIPLHR(m,1) > 0
[GI_MaxDispMESE,GI_DateIPLHR,GI_MaxDispProf,ATTIVA,FIG,FIG_ENG] = report_IPLHR(...
rIPLHR,m,NodoInPlaceLinkHR,toolrif,unitrif,datarif,firstdata_num,Font_caption,...
Font_tools,siteID,toolrifID,DT,DT_ENG,FIG,FIG_ENG,br,colonna2,colonna2bis,status,...
ATTIVA,activeEN,conn,FileName);
[rControl_1,~] = size(GI_MaxDispMESE);
[rControl_2,~] = size(GI_Disp_IPLHR);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_Disp_IPLHR
clear GI_Prof_IPLHR
clear GI_Date_IPLHR
GI_Disp_IPLHR(:,m) = GI_MaxDispMESE;
GI_Prof_IPLHR(:,m) = GI_MaxDispProf;
GI_Date_IPLHR(:,m) = GI_DateIPLHR;
elseif rControl_1 == 0
GI_Disp_IPLHR(1,m) = 0;
GI_Prof_IPLHR(1,m) = 0;
GI_Date_IPLHR(1,m) = 0;
else
GI_Disp_IPLHR(1:rControl_1,m) = GI_MaxDispMESE;
GI_Prof_IPLHR(1:rControl_1,m) = GI_MaxDispProf;
GI_Date_IPLHR(1:rControl_1,m) = GI_DateIPLHR;
end
else
if rControl_2 ~= 0
clear BackUp
BackUp = GI_Disp_IPLHR(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Disp_IPLHR(1:rControl_1,m) = GI_MaxDispMESE;
GI_Disp_IPLHR(1:rControl_2,1:cBck) = BackUp;
GI_Prof_IPLHR(1,m) = GI_MaxDispProf;
BackUp = GI_Date_IPLHR(1:rControl_2,:);
GI_Date_IPLHR(1:rControl_1,m) = GI_DateIPLHR;
GI_Date_IPLHR(1:rControl_2,1:cBck) = BackUp;
end
end
end
%% PIEZO LINK
if rPL(m,1) > 0
[GI_LivelloFaldaPL,GI_ProfPL,GI_DatePL,PL_A,PL_D,ATTIVA,FIG,FIG_ENG] = report_PL(...
rPL,rTL,rIPL,m,NodoPiezoLink,PL_A,PL_D,toolrif,unitrif,datarif,Font_caption,...
Font_tools,toolrifID,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,ATTIVA,activeEN,conn,FileName);
[rControl_1,~] = size(GI_LivelloFaldaPL);
[rControl_2,~] = size(GI_Level_PL);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_Level_PL
clear GI_Prof_PL
clear GI_Date_PL
GI_Level_PL(:,m) = GI_LivelloFaldaPL;
GI_Prof_PL(1,m) = GI_ProfPL;
GI_Date_PL(:,m) = GI_DatePL;
elseif rControl_1 == 0
GI_Level_PL(1,m) = 0;
GI_Prof_PL(1,m) = 0;
GI_Date_PL(1,m) = 0;
else
GI_Level_PL(1:rControl_1,m) = GI_LivelloFaldaPL(:,1);
GI_Prof_PL(1:rControl_1,m) = GI_ProfPL(:,1);
GI_Date_PL(1:rControl_1,m) = GI_DatePL(:,1);
end
else
if rControl_2 ~= 0
clear BackUp
BackUp = GI_Level_PL(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Level_PL(1:rControl_1,m) = GI_LivelloFaldaPL;
GI_Level_PL(1:rControl_2,1:cBck) = BackUp;
GI_Prof_PL(1,m) = GI_ProfPL;
BackUp = GI_Date_PL(1:rControl_2,:);
GI_Date_PL(1:rControl_1,m) = GI_DatePL;
GI_Date_PL(1:rControl_2,1:cBck) = BackUp;
end
end
end
%% BARO LINK
if rBL(m,1) > 0
[ATTIVA,FIG,FIG_ENG] = report_BL(rBL,m,NodoBaroLink,toolrif,unitrif,datarif,...
Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,ATTIVA,activeEN,...
conn,FileName);
end
%% LOAD LINK
if rLL(m,1) > 0
[FIG,FIG_ENG,battANALOG,ATTIVA] = report_LL(rLL,m,NodoLoadLink,toolrif,...
unitrif,datarif,contunit,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,...
br,colonna4,status,ATTIVA,battANALOG,activeEN,conn,FileName);
end
%% PRESSURE LINK
if rPrL(m,1) > 0
[FIG,FIG_ENG,battANALOG,ATTIVA] = report_PrL(rPrL,m,NodoPressureLink,toolrif,...
unitrif,datarif,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,ATTIVA,...
battANALOG,activeEN,conn,FileName);
end
%% KLINO LINK
if rKL(m,1) > 0
[GI_AngoloKL,GI_NumKL,GI_DateKL,ATTIVA,FIG,FIG_ENG] = report_KL(rKL,m,...
NodoKlinoLink,toolrif,unitrif,datarif,contunit,Font_caption,Font_tools,...
siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,ATTIVA,activeEN,colonna4,conn,FileName);
[rControl_1,~] = size(GI_AngoloKL);
[rControl_2,~] = size(GI_Angolo_KL);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_Angolo_KL
clear GI_Num_KL
clear GI_Date_KL
GI_Angolo_KL(:,kl:kl+1) = GI_AngoloKL;
GI_Num_KL(1,m) = GI_NumKL;
GI_Date_KL(:,m) = GI_DateKL;
kl = kl+2;
elseif rControl_1 == 0
GI_Angolo_KL(1,kl:kl+1) = 0;
GI_Num_KL(1,m) = 0;
GI_Date_KL(1,m) = 0;
kl = kl+2;
else
GI_Angolo_KL(1:rControl_1,kl:kl+1) = GI_AngoloKL;
GI_Num_KL(1:rControl_1,m) = GI_NumKL;
GI_Date_KL(1:rControl_1,m) = GI_DateKL;
kl = kl+2;
end
else
if rControl_2 ~= 0
clear BackUp
BackUp = GI_Angolo_KL(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Angolo_KL(1:rControl_1,kl:kl+1) = GI_AngoloKL;
GI_Angolo_KL(1:rControl_2,1:cBck) = BackUp;
kl = kl+2;
GI_Num_KL(1,m) = GI_NumKL;
BackUp = GI_Date_KL (1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Date_KL(1:rControl_1,m) = GI_DateKL;
GI_Date_KL(1:rControl_2,1:cBck) = BackUp;
end
end
end
%% KLINO LINK HR
if rKLHR(m,1) > 0
if yesKLHR3D(m,1) == 0
[ATTIVA,FIG,FIG_ENG] = report_KLHR(rKLHR,m,NodoKlinoLinkHR,toolrif,unitrif,...
datarif,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,ATTIVA,...
activeEN,conn,FileName);
end
end
%% THERM LINK
if rThL(m,1) > 0
[ATTIVA,FIG,FIG_ENG] = report_ThL(rThL,m,NodoThermLink,toolrif,...
unitrif,datarif,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,...
activeEN,br,status,ATTIVA,conn,FileName);
end
%% PT100 LINK
if rPT100(m,1) > 0
[FIG,FIG_ENG,battANALOG,ATTIVA] = report_PT100(rPT100,m,NodoPT100Link,...
toolrif,unitrif,datarif,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,...
battANALOG,ATTIVA,activeEN,contunit,br,status,conn,FileName);
end
%% TUNNEL LINK
if rTuL(m,1) > 0
[GI_Cir_Q1,GI_Cir_Q2,GI_Cir_Q3,GI_Cir_Q4,GI_Cir_Q1_Num,GI_Cir_Q2_Num,...
GI_Cir_Q3_Num,GI_Cir_Q4_Num,GI_Cir_Seg,GI_Cir_Z,GI_Cir_Date,GI_TuL_RL,...
ATTIVA,FIG,FIG_ENG] = report_TuL(IDcentralina,DTcatena,rTuL,m,NodoTunnelLink,toolrif,...
unitrif,datarif,firstdata_num,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,...
colonna2,colonna2bis,status,ATTIVA,activeEN,conn,FileName);
[rControl_1,~] = size(GI_Cir_Date);
[rControl_2,~] = size(GI_Date_TuL);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_Q1_TuL
clear GI_Q2_TuL
clear GI_Q3_TuL
clear GI_Q4_TuL
clear GI_Q1_Num_TuL
clear GI_Q2_Num_TuL
clear GI_Q3_Num_TuL
clear GI_Q4_Num_TuL
clear GI_Date_TuL
clear GI_Seg_TuL
GI_Q1_TuL(:,m) = GI_Cir_Q1;
GI_Q2_TuL(:,m) = GI_Cir_Q2;
GI_Q3_TuL(:,m) = GI_Cir_Q3;
GI_Q4_TuL(:,m) = GI_Cir_Q4;
GI_Q1_Num_TuL(:,m) = GI_Cir_Q1_Num;
GI_Q2_Num_TuL(:,m) = GI_Cir_Q2_Num;
GI_Q3_Num_TuL(:,m) = GI_Cir_Q3_Num;
GI_Q4_Num_TuL(:,m) = GI_Cir_Q4_Num;
GI_Date_TuL(:,m) = GI_Cir_Date;
[~,num_s] = size(GI_Cir_Seg);
GI_Seg_TuL(1,s:s+num_s-1) = GI_Cir_Seg;
s = s+num_s;
GI_NumSeg_TuL(m,1) = num_s;
if isempty(GI_Cir_Z) == 0
clear GI_Z_TuL
[~,num_T] = size(GI_Cir_Z);
GI_Z_TuL(:,TP:TP+num_T-1) = GI_Cir_Z;
TP = TP+num_T;
end
if isempty(GI_TuL_RL) == 0
clear GI_dS_TuL_RL
[~,num_TR] = size(GI_TuL_RL);
GI_dS_TuL_RL(:,TR:TR+num_TR-1) = GI_TuL_RL;
TR = TR+num_TR;
end
elseif rControl_1 == 0
GI_Q1_TuL(1,m) = 0;
GI_Q2_TuL(1,m) = 0;
GI_Q3_TuL(1,m) = 0;
GI_Q4_TuL(1,m) = 0;
GI_Q1_Num_TuL(1,m) = 0;
GI_Q2_Num_TuL(1,m) = 0;
GI_Q3_Num_TuL(1,m) = 0;
GI_Q4_Num_TuL(1,m) = 0;
GI_Date_TuL(1:rControl_1,m) = 0;
GI_NumSeg_TuL(m,1) = 0;
else
GI_Q1_TuL(1,m) = GI_Cir_Q1;
GI_Q2_TuL(1,m) = GI_Cir_Q2;
GI_Q3_TuL(1,m) = GI_Cir_Q3;
GI_Q4_TuL(1,m) = GI_Cir_Q4;
GI_Q1_Num_TuL(1,m) = GI_Cir_Q1_Num;
GI_Q2_Num_TuL(1,m) = GI_Cir_Q2_Num;
GI_Q3_Num_TuL(1,m) = GI_Cir_Q3_Num;
GI_Q4_Num_TuL(1,m) = GI_Cir_Q4_Num;
GI_Date_TuL(1:rControl_1,m) = GI_Cir_Date;
[~,num_s] = size(GI_Cir_Seg);
GI_Seg_TuL(1,s:s+num_s-1) = GI_Cir_Seg;
s = s+num_s;
GI_NumSeg_TuL(m,1) = num_s;
if isempty(GI_Cir_Z) == 0
[~,num_T] = size(GI_Cir_Z);
GI_Z_TuL(1:rControl_1,TP:TP+num_T-1) = GI_Cir_Z;
TP = TP+num_T;
end
if isempty(GI_TuL_RL) == 0
[~,num_TR] = size(GI_TuL_RL);
GI_dS_TuL_RL(1:rControl_1,TR:TR+num_TR-1) = GI_TuL_RL;
TR = TR+num_TR;
end
end
else
if rControl_2 ~= 0
clear BackUp
GI_Q1_TuL(1,m) = GI_Cir_Q1;
GI_Q2_TuL(1,m) = GI_Cir_Q2;
GI_Q3_TuL(1,m) = GI_Cir_Q3;
GI_Q4_TuL(1,m) = GI_Cir_Q4;
GI_Q1_Num_TuL(1,m) = GI_Cir_Q1_Num;
GI_Q2_Num_TuL(1,m) = GI_Cir_Q2_Num;
GI_Q3_Num_TuL(1,m) = GI_Cir_Q3_Num;
GI_Q4_Num_TuL(1,m) = GI_Cir_Q4_Num;
BackUp = GI_Date_TuL(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Date_TuL(1:rControl_1,m) = GI_Cir_Date;
GI_Date_TuL(1:rControl_2,1:cBck) = BackUp;
[~,num_s] = size(GI_Cir_Seg);
GI_Seg_TuL(1,s:s+num_s-1) = GI_Cir_Seg;
GI_NumSeg_TuL(m,1) = num_s;
s = s+num_s;
if isempty(GI_Cir_Z) == 0
BackUp = GI_Z_TuL(1:rControl_2,:);
[~,cBck] = size(BackUp);
[~,num_T] = size(GI_Cir_Z);
GI_Z_TuL(1:rControl_1,TP:TP+num_T-1) = GI_Cir_Z;
TP = TP+num_T;
GI_Z_TuL(1:rControl_2,1:cBck) = BackUp;
end
if isempty(GI_TuL_RL) == 0
BackUp = GI_dS_TuL_RL(1:rControl_2,:);
[~,cBck] = size(BackUp);
[~,num_TR] = size(GI_TuL_RL);
GI_dS_TuL_RL(1:rControl_1,TR:TR+num_TR-1) = GI_TuL_RL;
GI_dS_TuL_RL(1:rControl_2,1:cBck) = BackUp;
TR = TR+num_TR;
end
end
end
end
%% RADIAL LINK
if rRaL(m,1) > 0
[GI_Rad_XYZ,GI_Rad_Num,GI_Rad_MPBEL,GI_Rad_Cir,GI_Rad_Date,ATTIVA,FIG,FIG_ENG] = report_RaL(...
DTcatena,rRaL,m,NodoRadialLink,toolrif,unitrif,datarif,firstdata_num,Font_caption,...
Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,colonna2,colonna2bis,status,ATTIVA,activeEN,...
conn,FileName);
[rControl_1,~] = size(GI_Rad_Date);
[rControl_2,~] = size(GI_Date_Rad);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_XYZ_Rad
clear GI_Num_Rad
clear GI_Date_Rad
GI_XYZ_Rad(:,m) = GI_Rad_XYZ;
GI_Num_Rad(:,m) = GI_Rad_Num;
if isempty(GI_Rad_MPBEL) == 0
clear GI_dS_RL_MPB
GI_dS_RL_MPB(:,m) = GI_Rad_MPBEL;
else
GI_dS_RL_MPB(:,m) = 0;
end
if isempty(GI_Rad_Cir) == 0
clear GI_dS_RL_TuL
GI_dS_RL_TuL(:,m) = GI_Rad_Cir;
else
GI_dS_RL_TuL(:,m) = 0;
end
GI_Date_Rad(:,m) = GI_Rad_Date;
elseif rControl_1 == 0
GI_XYZ_Rad(:,m) = 0;
GI_Num_Rad(:,m) = 0;
GI_Date_Rad(:,m) = 0;
else
GI_XYZ_Rad(1,m) = GI_Rad_XYZ;
GI_Num_Rad(1,m) = GI_Rad_Num;
if isempty(GI_Rad_MPBEL) == 0
GI_dS_RL_MPB(1:rControl_1,m) = GI_Rad_MPBEL;
else
GI_dS_RL_MPB(1:rControl_1,m) = 0;
end
if isempty(GI_Rad_Cir) == 0
GI_dS_RL_TuL(1:rControl_1,m) = GI_Rad_Cir;
else
GI_dS_RL_TuL(1:rControl_1,m) = 0;
end
GI_Date_Rad(1:rControl_1,m) = GI_Rad_Date;
end
else
if rControl_2 ~= 0
clear BackUp
GI_XYZ_Rad(1,m) = GI_Rad_XYZ;
GI_Num_Rad(1,m) = GI_Rad_Num;
BackUp = GI_dS_RL_MPB(1:rControl_2,:);
[~,cBck] = size(BackUp);
if isempty(GI_Rad_MPBEL) == 0
GI_dS_RL_MPB(1:rControl_1,m) = GI_Rad_MPBEL;
GI_dS_RL_MPB(1:rControl_2,1:cBck) = BackUp;
else
GI_dS_RL_MPB(:,m) = 0;
end
BackUp = GI_dS_RL_TuL(1:rControl_2,:);
[~,cBck] = size(BackUp);
if isempty(GI_Rad_Cir) == 0
GI_dS_RL_TuL(1:rControl_1,m) = GI_Rad_Cir;
GI_dS_RL_TuL(1:rControl_2,1:cBck) = BackUp;
else
GI_dS_RL_TuL(:,m) = 0;
end
BackUp = GI_Date_Rad(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Date_Rad(1:rControl_1,m) = GI_Rad_Date;
GI_Date_Rad(1:rControl_2,1:cBck) = BackUp;
end
end
end
%% PRECONV LINK
if rPCL(m,1) > 0
[GI_PCL_Z,GI_PCL_Date,ATTIVA,FIG,FIG_ENG] = report_PCL(DTcatena,rPCL,m,NodoPreConvLink,...
toolrif,unitrif,datarif,firstdata_num,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,...
colonna2,colonna2bis,status,ATTIVA,activeEN,conn,FileName);
[rControl_1,~] = size(GI_PCL_Date);
[rControl_2,~] = size(GI_Date_PCL);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_Date_PCL;
GI_Date_PCL = GI_PCL_Date;
if isempty(GI_PCL_Z) == 0
clear GI_Z_PCL;
GI_Z_PCL(:,m) = GI_PCL_Z;
end
else
GI_Date_PCL(1:rControl_1,m) = GI_PCL_Date;
if isempty(GI_PCL_Z) == 0
GI_Z_PCL(1:rControl_1,m) = GI_PCL_Z;
end
end
else
if rControl_2 ~= 0
clear BackUp
BackUp = GI_Date_PCL(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Date_PCL(1:rControl_1,m) = GI_PCL_Date;
GI_Date_PCL(1:rControl_2,1:cBck) = BackUp;
if isempty(GI_PCL_Z) == 0
BackUp = GI_Z_PCL(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Z_PCL(1:rControl_1,m) = GI_PCL_Z;
GI_Z_PCL(1:rControl_2,1:cBck) = BackUp;
end
end
end
end
%% RAIN LINK
if rRL(m,1) > 0
[GI_rainloc,GI_DateRL,ATTIVA,FIG,FIG_ENG] = report_RL(rRL,m,NodoRainLink,toolrif,...
unitrif,datarif,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,ATTIVA,...
activeEN,conn,FileName);
[rControl_1,~] = size(GI_DateRL);
[rControl_2,~] = size(GI_Date_RL);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_Date_RL;
GI_Date_RL = GI_DateRL;
clear GI_Rain_RL;
GI_Rain_RL = GI_rainloc;
else
GI_Date_RL(1:rControl_1,m) = GI_DateRL;
GI_Rain_RL(1:rControl_1,m) = GI_rainloc;
end
else
if rControl_2 ~= 0
clear BackUp
BackUp = GI_Date_RL(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Date_RL(1:rControl_1,m) = GI_DateRL;
GI_Date_RL(1:rControl_2,1:cBck) = BackUp;
BackUp = GI_Rain_RL(1:rControl_2,:);
[~,cBck] = size(BackUp);
GI_Rain_RL(1:rControl_1,m) = GI_rainloc;
GI_Rain_RL(1:rControl_2,1:cBck) = BackUp;
end
end
end
%% EXTENSOMETER LINK
if rEL(m,1) > 0
[FIG,FIG_ENG,battANALOG,ATTIVA] = report_EL(rEL,m,NodoExtensometerLink,toolrif,...
unitrif,contunit,datarif,Font_caption,Font_tools,battANALOG,ATTIVA,siteID,DT,...
DT_ENG,FIG,FIG_ENG,activeEN,br,status,conn,FileName);
end
%% 3D EXTENSOMETER LINK
if r3DEL(m,1) > 0
[FIG,FIG_ENG,battANALOG,ATTIVA] = report_3DEL(r3DEL,m,Nodo3DExtensometerLink,toolrif,...
unitrif,contunit,datarif,Font_caption,Font_tools,battANALOG,ATTIVA,siteID,DT,DT_ENG,...
FIG,FIG_ENG,activeEN,br,status,conn,FileName);
end
%% WIRE EXTENSOMETER LINK
if rWEL(m,1) > 0
[FIG,FIG_ENG,battANALOG,ATTIVA] = report_WEL(rWEL,m,NodoWireExtensometerLink,toolrif,...
unitrif,contunit,datarif,Font_caption,Font_tools,battANALOG,ATTIVA,siteID,DT,DT_ENG,...
FIG,FIG_ENG,br,activeEN,status,conn,FileName);
end
%% MULTI POINT BOREHOLE LINK
if rMPBEL(m,1) > 0
[GI_MPB_RL,GI_MPB,GI_Base,GI_Date,FIG,FIG_ENG,battANALOG,ATTIVA] = report_MPBEL(DTcatena,...
rMPBEL,m,NodoMultiPointExtensometerLink,toolrif,unitrif,contunit,datarif,...
Font_caption,Font_tools,battANALOG,ATTIVA,siteID,DT,DT_ENG,FIG,FIG_ENG,br,...
activeEN,status,conn,FileName);
[rControl_1,~] = size(GI_Date);
[rControl_2,~] = size(GI_Date_MPB);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
GI_Date_MPB(:,m) = GI_Date(:,1);
GI_dS_MPB = GI_MPB;
GI_MPB_Base = GI_Base;
[~,num_M] = size(GI_MPB_RL);
GI_dS_MPB_RL(:,MR:MR+num_M-1) = GI_MPB_RL;
MR = MR+num_M;
elseif rControl_1 == 0
GI_Date_MPB(:,m) = 0;
GI_dS_MPB(:,m) = 0;
GI_MPB_Base(:,m) = 0;
else
Num_Basi = rMPBEL(m);
BackUp = GI_Date_MPB;
[~,cBck] = size(BackUp);
GI_Date_MPB(1:rControl_1,m) = GI_Date(:,1);
GI_dS_MPB(1:rControl_1,cBck+1:cBck+Num_Basi) = GI_MPB;
GI_MPB_Base(1,cBck+1:cBck+Num_Basi) = GI_Base;
[~,num_M] = size(GI_MPB_RL);
GI_dS_MPB_RL(1:rControl_1,MR:MR+num_M-1) = GI_MPB_RL;
MR = MR+num_M;
end
else
if rControl_2 ~= 0
clear BackUp
BackUp = GI_Date_MPB(1:rControl_2,:);
[~,cBck] = size(BackUp);
clear GI_Date_MPB
Num_Basi = rMPBEL(m);
GI_Date_MPB(1:rControl_1,m) = GI_Date(:,1);
GI_Date_MPB(1:rControl_2,1:cBck) = BackUp;
BackUp = GI_dS_MPB(1:rControl_2,:);
[~,cBck] = size(BackUp);
clear GI_dS_MPB
GI_dS_MPB(1:rControl_1,cBck+1:cBck+Num_Basi) = GI_MPB;
GI_dS_MPB(1:rControl_2,1:cBck) = BackUp;
BackUp = GI_MPB_Base(1,:);
[~,cBck] = size(BackUp);
GI_MPB_Base(1,cBck+1:cBck+Num_Basi) = GI_Base;
BackUp = GI_dS_MPB_RL(1:rControl_2,:);
[~,cBck] = size(BackUp);
clear GI_dS_MPB_RL
[~,num_M] = size(GI_MPB_RL);
GI_dS_MPB_RL(1:rControl_1,MR:MR+num_M-1) = GI_MPB_RL;
GI_dS_MPB_RL(1:rControl_2,1:cBck) = BackUp;
MR = MR+num_M;
end
end
end
%% CRACK LINK
if rCrL(m,1) > 0
[GI_DispCrL,GI_NumCrL,GI_DateCrL,battANALOG,ATTIVA,FIG,FIG_ENG] = report_CrL(rCrL,...
m,NodoCrackLink,toolrif,unitrif,contunit,datarif,Font_caption,...
Font_tools,battANALOG,ATTIVA,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,...
activeEN,conn,FileName);
[rControl_1,~] = size(GI_DispCrL);
[rControl_2,~] = size(GI_Disp_CrL);
if rControl_1 <= rControl_2 || rControl_2 == 0
if rControl_1 ~= 0 && rControl_2 == 0
clear GI_Disp_CrL
clear GI_Num_CrL
clear GI_Date_CrL
GI_Disp_CrL(:,m) = GI_DispCrL;
GI_Num_CrL(:,m) = GI_NumCrL;
GI_Date_CrL(:,m) = GI_DateCrL;
elseif rControl_1 == 0
GI_Disp_CrL(:,m) = 0;
GI_Num_CrL(:,m) = 0;
GI_Date_CrL(:,m) = 0;
else
GI_Disp_CrL(1:rControl_1,m) = GI_DispCrL;
GI_Num_CrL(1:rControl_1,m) = GI_NumCrL;
GI_Date_CrL(1:rControl_1,m) = GI_DateCrL;
end
else
if rControl_2 ~= 0
clear BackUp
[~,cBck] = size(BackUp);
BackUp = GI_Disp_CrL(1:rControl_2,:);
GI_Disp_CrL(1:rControl_1,m) = GI_DispCrL;
GI_Disp_CrL(1:rControl_2,1:cBck) = BackUp;
BackUp = GI_Num_CrL(1:rControl_2,:);
GI_Num_CrL(1:rControl_1,m) = GI_NumCrL;
GI_Num_CrL(1:rControl_2,1:cBck) = BackUp;
BackUp = GI_Date_CrL (1:rControl_2,:);
GI_Date_CrL(1:rControl_1,m) = GI_DateCrL;
GI_Date_CrL(1:rControl_2,1:cBck) = BackUp;
end
end
end
%% 2D CRACK LINK
if r2DCrL(m,1) > 0
[battANALOG,ATTIVA,FIG,FIG_ENG] = report_2DCrL(r2DCrL,m,Nodo2DCrackLink,toolrif,...
unitrif,contunit,datarif,Font_caption,Font_tools,battANALOG,ATTIVA,siteID,DT,DT_ENG,...
FIG,FIG_ENG,br,status,activeEN,conn,FileName);
end
%% 3D CRACK LINK
if r3DCrL(m,1) > 0
[battANALOG,ATTIVA,FIG,FIG_ENG] = report_3DCrL(r3DCrL,m,Nodo3DCrackLink,toolrif,...
unitrif,contunit,datarif,Font_caption,Font_tools,battANALOG,ATTIVA,siteID,DT,DT_ENG,...
FIG,FIG_ENG,br,status,activeEN,conn,FileName);
end
%% RSN LINK
if rRSN(m,1) > 0
[ATTIVA,FIG,FIG_ENG] = report_RSN(rRSN,m,NodoRSNLink,toolrif,unitrif,datarif,...
Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,ATTIVA,activeEN,conn,FileName);
end
%% RSN LINK HR
if rRSNHR(m,1) > 0
[ATTIVA,FIG,FIG_ENG] = report_RSNHR(rRSNHR,m,NodoRSNHRLink,toolrif,unitrif,...
datarif,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,ATTIVA,activeEN,conn,FileName);
end
%% TRIGGER SYSTEM
if rTrL(m,1) > 0
ATTIVA = report_TrL(NodoTriggerLink,rTrL,m,Font_tools,br,datarif,toolrif,...
unitrif,DT,DT_ENG,activeEN,status,ATTIVA,conn,FileName);
end
%% G-Flow SYSTEM
if rGF(m,1) > 0
sezGflow = Paragraph('G-Flow Link');
sezGflow.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
GF = Section();
GF.Title = sezGflow;
add(DT,sezGflow);
if activeEN == 1
add(DT_ENG,sezGflow);
end
wip = Paragraph('Sezione non ancora disponibile per dati del G-Flow');
add(DT,wip);
if activeEN == 1
wip = Paragraph('Section for G-Flow is not yet available.');
add(DT_ENG,wip);
end
end
%% G-Shock SYSTEM
if rGS(m,1) > 0
sezGshock = Paragraph('G-Shock Link');
sezGshock.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
GS = Section();
GS.Title = sezGshock;
add(DT,sezGshock);
if activeEN == 1
add(DT_ENG,sezGshock);
end
wip = Paragraph('Sezione non ancora disponibile per dati del G-Shock');
add(DT,wip);
if activeEN == 1
wip = Paragraph('Section for G-Shock is not yet available.');
add(DT_ENG,wip);
end
end
%% Weir Link
if rWL(m,1) > 0
[FIG,FIG_ENG,battANALOG,ATTIVA] = report_WL(rWL,m,NodoWeirLink,toolrif,...
unitrif,contunit,datarif,Font_caption,Font_tools,battANALOG,ATTIVA,siteID,DT,...
DT_ENG,FIG,FIG_ENG,activeEN,br,status,conn,FileName);
end
%% Pendulum
if rPE(m,1) > 0
[battANALOG,ATTIVA,FIG,FIG_ENG] = report_PE(rPE,m,NodoPendulum,toolrif,unitrif,...
datarif,Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,battANALOG,ATTIVA,...
activeEN,conn,FileName);
end
%% MUSA
if strcmp(tipoarray(m),'MUSA') == 1 % la catena <20> un MUSA
sezMusa = Paragraph('Musa');
sezMusa.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
MU = Section();
MU.Title = sezMusa;
add(DT,sezMusa);
if activeEN == 1
add(DT_ENG,sezMusa);
end
wip = Paragraph('Sezione non ancora disponibile per dati del sistema Musa');
add(DT,wip);
if activeEN == 1
wip = Paragraph('Section for Musa is not yet available.');
add(DT_ENG,wip);
end
end
%% Grafici Integrati
[Site,Site_ENG,FIG,FIG_ENG] = report_CrossGraphs(rTL,rIPL,rTuL,rRaL,...
rPCL,rPL,rRL,rKL,rCrL,rMPBEL,GI_Disp_TL,GI_Date_TL,GI_Prof_TL,GI_Disp_IPL,...
GI_Date_IPL,GI_Prof_IPL,GI_Level_PL,GI_Prof_PL,GI_Date_PL,GI_Rain_RL,GI_Date_RL,...
GI_Angolo_KL,GI_Num_KL,GI_Date_KL,GI_Disp_CrL,GI_Num_CrL,GI_Date_CrL,GI_Q1_TuL,...
GI_Q2_TuL,GI_Q3_TuL,GI_Q4_TuL,GI_Q1_Num_TuL,GI_Q2_Num_TuL,GI_Q3_Num_TuL,...
GI_Q4_Num_TuL,GI_Z_TuL,GI_Seg_TuL,GI_NumSeg_TuL,GI_Date_TuL,GI_Z_PCL,GI_Date_PCL,...
GI_XYZ_Rad,GI_Num_Rad,GI_dS_RL_MPB,GI_dS_RL_TuL,GI_dS_TuL_RL,GI_Date_Rad,...
GI_Date_MPB,GI_dS_MPB,GI_MPB_Base,GI_dS_MPB_RL,siteID,toolrif,chainID,Font_Chapter,...
Font_caption,Font_tools,m,rAR,br,FIG,FIG_ENG,DT,DT_ENG,activeEN,FileName);
add(MUMS,DT);
if activeEN == 1
add(MUMS_ENG,DT_ENG);
end
else
testo = Paragraph(['I dati dell''Array ' DTcatena ' letto dalla centralina '...
IDcentralina ' non sono disponibili in quanto ' char(232) ' scaduto '...
'l''abbonamento ai dati della stessa. I dati torneranno ad essere '...
'disponibili non appena sar' char(224) ' rinnovato il canone annuo.']);
testo.HAlign = 'justify';
add(DT,testo);
add(MUMS,DT);
if activeEN == 1
end
Site = [];
toolrifID = chainID(m,3);
for p = 1:rPL(m,1)
NodeNum = num2str(NodoPiezoLink(p,m));
comando = ['select measurment from nodes where tool_id = ''' num2str(cell2mat(toolrifID))...
''' and num = ''' NodeNum ''' and nodetype_id = 2 '];
curs = exec(conn,comando);
curs = fetch(curs);
Leggo = curs.Data;
misuraPL(1,p) = Leggo(1,1); % unit<69> di misura del piezometro
% pressione assoluta vs relativa
PL_A(p) = 0;
PL_D(p) = 0;
if strcmp(misuraPL(1,p),'VW kPa') == 1 || strcmp(misuraPL(1,p),'VW kg/cm2') == 1
PL_A(p) = PL_A(p)+1;
else
PL_D(p) = PL_D(p)+1;
end
end
end
end
add(rpt,MUMS);
add(rpt,Site);
template(rpt);
if activeEN == 1
add(rpt_ENG,MUMS_ENG);
add(rpt_ENG,Site_ENG);
template(rpt_ENG);
end
fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'report_AR function executed correctly';
fprintf(fileID,fmt,text);
fclose(fileID);
end