Sync from remote server: 2025-10-12 18:56:41
This commit is contained in:
696
Tilt/tipologiaNodi.m
Executable file
696
Tilt/tipologiaNodi.m
Executable file
@@ -0,0 +1,696 @@
|
||||
% Funzione che ricostruisce la tipologia di nodi presenti
|
||||
% NodoTiltLink ad esempio contiene numero del nodo e profondità per tutti i
|
||||
% nodi di questo tipo
|
||||
% idTool rappresenta l'identificativo con cui sono definite le
|
||||
% installazioni su DB, serve più avanti nell'elaborazione
|
||||
% idNode scrive gli identificativi dei nodi del DB. E' un output di
|
||||
% controllo
|
||||
|
||||
function [idTool,NodoTiltLink,NodoTiltLinkHR,NodoTiltLinkH,NodoTiltLinkHRH,...
|
||||
NodoTiltLinkHR3D,NodoTiltLinkHR3DH,NodoPiezoLink,NodoBaroLink,...
|
||||
NodoThermLink,NodoAnalogLink,NodoLoadLink,NodoKlinoLink,NodoKlinoLinkHR,...
|
||||
NodoRainLink,NodoPT100Link,NodoInPlaceLink,NodoInPlaceLinkHR,NodoInPlaceLinkHR3D,...
|
||||
NodoWeirLink,NodoPendulum,NodoWind,NodoTiltLinkHD,NodoTiltLinkHDVR,NodoSPPLink,NodoSnowLink,...
|
||||
rTL,rTLHR,rTLH,rTLHRH,rTLHR3D,rTLHR3DH,rPL,rBL,rThL,rAL,rLL,rKL,rKLHR,...
|
||||
rRL,rPT100,rIPL,rIPLHR,rIPLHR3D,rWL,rPE,rWI,rHD,rHDVR,rSPP,rSL]...
|
||||
= tipologiaNodi(DTcatena,unitID,conn,FileName)
|
||||
|
||||
fileID = fopen(FileName,'a');
|
||||
fmt = '%s \r';
|
||||
text = 'tipologiaNodi function started';
|
||||
fprintf(fileID,fmt,text);
|
||||
|
||||
%% A partire dal nome della catena, risalgo all'identificativo con cui è
|
||||
% definita nel Database (mi serve successivamente)
|
||||
comando = ['select id from tools where name = ''' DTcatena ''' and unit_id = ''' unitID ''' '];
|
||||
idTool = num2str(cell2mat(fetch(conn,comando))); % leggo e converto in stringa
|
||||
|
||||
%% Tilt Link V
|
||||
% carico le informazioni relative al numero e alla profondità per TILT LINK
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool ''' and nodetype_id = 1 order by num'];
|
||||
Leggo = fetch(conn,comando);
|
||||
[rTL,cL] = size(Leggo);
|
||||
if rTL <= 1 && cL <= 1
|
||||
textTL = 'There are not Tilt Link V; ';
|
||||
NodoTiltLink = [];
|
||||
nodoTL = 0; % mi serve nei Tilt Link HR3D
|
||||
rTL = 0;
|
||||
else
|
||||
nodoTL = 1; % mi serve nei Tilt Link HR3D
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rTL,1);
|
||||
for i=1:rTL
|
||||
nome(i,1) = cellstr('Tilt Link V');
|
||||
end
|
||||
NodoTiltLink = [nome Leggo(:,1) depth Leggo(:,3)];
|
||||
textTL = ['There are ',num2str(rTL),' Tilt Link V nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textTL);
|
||||
|
||||
%% Piezo Link
|
||||
% carico le informazioni relative al numero e alla profondità per PIEZO LINK
|
||||
comando = ['select num, depth, measurment, therm from nodes where tool_id = ''' idTool ''' and nodetype_id = 2 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rPL,cL] = size(Leggo);
|
||||
if rPL == 1 && cL == 1
|
||||
textPL = 'There are not Piezo Link; ';
|
||||
rPL = 0;
|
||||
NodoPiezoLink = [];
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rPL,1);
|
||||
for i=1:rPL
|
||||
nome(i,1) = cellstr('Piezo Link');
|
||||
end
|
||||
NodoPiezoLink = [nome Leggo(:,1) depth Leggo(:,3) Leggo(:,4)];
|
||||
textPL = ['There are ',num2str(rPL),' Piezo Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textPL);
|
||||
|
||||
%% Baro Link
|
||||
% carico le informazioni relative al numero e alla profondità per BARO LINK
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool ''' and nodetype_id = 3 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rBL,cL] = size(Leggo);
|
||||
if rBL == 1 && cL == 1
|
||||
textBL = 'There are not Baro Link; ';
|
||||
NodoBaroLink = [];
|
||||
rBL = 0;
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rBL,1);
|
||||
for i=1:rBL
|
||||
nome(i,1) = cellstr('Baro Link');
|
||||
end
|
||||
NodoBaroLink = [nome Leggo(:,1) depth Leggo(:,3)];
|
||||
textBL = ['There are ',num2str(rBL),' Baro Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textBL);
|
||||
|
||||
%% Therm Link
|
||||
% carico le informazioni relative al numero e alla profondità per THERM LINK
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool ''' and nodetype_id = 4 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rThL,cL] = size(Leggo);
|
||||
if rThL == 1 && cL == 1
|
||||
textThL = 'There are not Therm Link; ';
|
||||
NodoThermLink = [];
|
||||
rThL = 0;
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rThL,1);
|
||||
for i=1:rThL
|
||||
nome(i,1) = cellstr('Therm Link');
|
||||
end
|
||||
NodoThermLink = [nome Leggo(:,1) depth Leggo(:,3)];
|
||||
textThL = ['There are ',num2str(rThL),' Therm Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textThL);
|
||||
|
||||
%% Tilt Link HR V
|
||||
% carico le informazioni relative al numero e alla profondità per TILT LINK HR V
|
||||
comando = ['select num, depth from nodes where tool_id = ''' idTool ''' and nodetype_id = 5 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rTLHR,cL] = size(Leggo);
|
||||
if rTLHR == 1 && cL == 1
|
||||
textTLHR = 'There are not Tilt Link HR V; ';
|
||||
NodoTiltLinkHR = [];
|
||||
nodoTLHR = 0; % mi serve a riconoscere i Tilt Link HR3D
|
||||
rTLHR = 0;
|
||||
else
|
||||
nodoTLHR = 1; % mi serve a riconoscere i Tilt Link HR3D
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rTLHR,1);
|
||||
for i=1:rTLHR
|
||||
nome(i,1) = cellstr('Tilt Link HR V');
|
||||
end
|
||||
NodoTiltLinkHR = [nome Leggo(:,1) depth];
|
||||
textTLHR = ['There are ',num2str(rTLHR),' Tilt Link HR V nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textTLHR);
|
||||
|
||||
% confrontando le profondità di Tilt Link e Tilt Link HR riconosco i TILT LINK HR 3D
|
||||
if nodoTL == 1 && nodoTLHR == 1
|
||||
NodoTiltLinkHR3Dwork = cell(rTL,4); % creo matrice di zeri
|
||||
p=1;
|
||||
Control = 0;
|
||||
for i=1:rTL
|
||||
for j=1:rTLHR
|
||||
if cell2mat(NodoTiltLink(i,3)) == cell2mat(NodoTiltLinkHR(j,3))
|
||||
prof = NodoTiltLink(i,3);
|
||||
nome = cellstr('Tilt Link HR 3D V');
|
||||
% il numero nodo del Tilt Link lo faccio diventare il numero nodo del Tilt Link HR3D
|
||||
num = NodoTiltLink(i,2);
|
||||
num2 = NodoTiltLinkHR(j,2);
|
||||
Leggo = [nome,num,num2,prof];
|
||||
NodoTiltLinkHR3Dwork(p,:) = Leggo;
|
||||
p = p+1;
|
||||
Control = 1;
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
% elimino gli zeri in più
|
||||
q = 1;
|
||||
rCONT = 0;
|
||||
[s,~] = size(NodoTiltLinkHR3Dwork);
|
||||
a = 1;
|
||||
while a == 1
|
||||
if q > s
|
||||
a = 0;
|
||||
else
|
||||
if strcmp(cell2mat(NodoTiltLinkHR3Dwork(q,1)),'Tilt Link HR 3D V')
|
||||
rCONT = 1+rCONT; % ultima riga con dati che non siano celle vuote
|
||||
end
|
||||
end
|
||||
q = q+1;
|
||||
end
|
||||
if Control == 1
|
||||
NodoTiltLinkHR3D = NodoTiltLinkHR3Dwork(1:rCONT,:);
|
||||
elseif Control == 0
|
||||
NodoTiltLinkHR3D = [];
|
||||
end
|
||||
textTLHR3D = ['There are ',num2str(rCONT),' Tilt Link HR 3D V nodes; '];
|
||||
else
|
||||
textTLHR3D = 'There are not Tilt Link HR 3D V; ';
|
||||
NodoTiltLinkHR3D = [];
|
||||
rCONT = 0;
|
||||
end
|
||||
rTLHR3D = rCONT;
|
||||
fprintf(fileID,fmt,textTLHR3D);
|
||||
|
||||
%% Tilt Link H
|
||||
% carico le informazioni relative al numero e alla profondità per TILT LINK H
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool ''' and nodetype_id = 11 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rTLH,cL] = size(Leggo);
|
||||
if rTLH == 1 && cL == 1
|
||||
textTLH = 'There are not Tilt Link H; ';
|
||||
NodoTiltLinkH = [];
|
||||
nodoTLH = 0; % mi serve nei Tilt Link H HR3D
|
||||
rTLH = 0;
|
||||
else
|
||||
nodoTLH = 1; % mi serve nei Tilt Link H HR3D
|
||||
% depth in questo caso è la lunghezza in orizzontale
|
||||
depth = Leggo(:,2);
|
||||
nome = cell(rTLH,1);
|
||||
for i=1:rTLH
|
||||
nome(i,1) = cellstr('Tilt Link H');
|
||||
end
|
||||
NodoTiltLinkH = [nome Leggo(:,1) depth Leggo(:,3)];
|
||||
textTLH = ['There are ',num2str(rTLH),' Tilt Link H nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textTLH);
|
||||
|
||||
%% Tilt Link HR H
|
||||
% carico le informazioni relative al numero e alla profondità per TILT LINK HR H
|
||||
comando = ['select num, depth from nodes where tool_id = ''' idTool ''' and nodetype_id = 12 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rTLHRH,cL] = size(Leggo);
|
||||
if rTLHRH == 1 && cL == 1
|
||||
textTLHRH = 'There are not Tilt Link HR H; ';
|
||||
NodoTiltLinkHRH = [];
|
||||
nodoTLHRH = 0; % mi serve a riconoscere i Tilt Link HR3D H
|
||||
rTLHRH = 0;
|
||||
else
|
||||
nodoTLHRH = 1; % mi serve a riconoscere i Tilt Link HR3D H
|
||||
% la profondità in realtà indica la lunghezza in orizzontale
|
||||
depth = Leggo(:,2);
|
||||
nome = cell(rTLHRH,1);
|
||||
for i=1:rTLHRH
|
||||
nome(i,1) = cellstr('Tilt Link HR H');
|
||||
end
|
||||
NodoTiltLinkHRH = [nome Leggo(:,1) depth];
|
||||
textTLHRH = ['There are ',num2str(rTLHRH),' Tilt Link HR H nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textTLHRH);
|
||||
|
||||
% confrontando le profondità (in realtà lunghezze in orizzontale) di Tilt
|
||||
% Link H e Tilt Link HR H riconosco i TILT LINK HR 3D H
|
||||
if nodoTLH == 1 && nodoTLHRH == 1
|
||||
NodoTiltLinkHR3Dwork = cell(rTLH,4); % creo matrice di zeri
|
||||
p=1;
|
||||
Control = 0;
|
||||
for i=1:rTLH
|
||||
for j=1:rTLHRH
|
||||
if cell2mat(NodoTiltLinkH(i,3)) == cell2mat(NodoTiltLinkHRH(j,3))
|
||||
prof = NodoTiltLinkH(i,3);
|
||||
nome = cellstr('Tilt Link HR 3D H');
|
||||
% il numero nodo del Tilt Link H lo faccio diventare il
|
||||
% numero nodo del Tilt Link HR3D H
|
||||
num = NodoTiltLinkH(i,2);
|
||||
num2 = NodoTiltLinkHRH(i,2);
|
||||
Leggo = [nome,num,num2,prof];
|
||||
NodoTiltLinkHR3Dwork(p,:) = Leggo;
|
||||
p = p+1;
|
||||
Control = 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
% elimino gli zeri in più
|
||||
q = 1;
|
||||
rCONT = 0;
|
||||
|
||||
while strcmp(NodoTiltLinkHR3Dwork(q,1),'Tilt Link HR 3D H')
|
||||
q = q+1;
|
||||
rCONT = 1+rCONT; % ultima riga con dati che non siano celle vuote
|
||||
if q > rTLH || q > rTLHRH
|
||||
break % esco dal ciclo while
|
||||
end
|
||||
end
|
||||
if Control == 1
|
||||
NodoTiltLinkHR3DH = NodoTiltLinkHR3Dwork(1:rCONT,:);
|
||||
elseif Control == 0
|
||||
NodoTiltLinkHR3DH = [];
|
||||
end
|
||||
textTLHR3DH = ['There are ',num2str(rCONT),' Tilt Link HR 3D H nodes; '];
|
||||
else
|
||||
textTLHR3DH = 'There are Tilt Link HR 3D H nodes; ';
|
||||
NodoTiltLinkHR3DH = [];
|
||||
end
|
||||
fprintf(fileID,fmt,textTLHR3DH);
|
||||
rTLHR3DH = rCONT;
|
||||
|
||||
%% Analog Link
|
||||
% carico le informazioni relative al numero e alla profondità per ANALOG LINK
|
||||
comando = ['select num, depth from nodes where tool_id = ''' idTool ''' and nodetype_id = 8 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rAL,cL] = size(Leggo);
|
||||
if rAL == 1 && cL == 1
|
||||
textAL = 'There are not Analog Link; ';
|
||||
NodoAnalogLink = [];
|
||||
rAL = 0;
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rAL,1);
|
||||
for i=1:rAL
|
||||
nome(i,1) = cellstr('Analog Link');
|
||||
end
|
||||
NodoAnalogLink = [nome Leggo(:,1) depth];
|
||||
% inverto la matrice Nodi (il primo nodo è il più profondo)
|
||||
textAL = ['There are ',num2str(rAL),' Analog Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textAL);
|
||||
|
||||
%% Load Link
|
||||
% carico le informazioni relative al numero e alla profondità per LOAD LINK
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool ''' and nodetype_id = 15 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rLL,cL] = size(Leggo);
|
||||
if rLL == 1 && cL == 1
|
||||
textLL = 'There are not Load Link; ';
|
||||
NodoLoadLink = [];
|
||||
rLL = 0;
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rLL,1);
|
||||
for i=1:rLL
|
||||
nome(i,1) = cellstr('Load Link');
|
||||
end
|
||||
NodoLoadLink = [nome Leggo(:,1) depth Leggo(:,3)];
|
||||
% inverto la matrice Nodi (il primo nodo è il più profondo)
|
||||
textLL = ['There are ',num2str(rLL),' Load Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textLL);
|
||||
|
||||
%% Klino Link
|
||||
% carico le informazioni relative al numero e alla profondità per Klino Link
|
||||
comando = ['select num, depth, measurment, channels from nodes where tool_id = ''' idTool ''' and nodetype_id = 26 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rKL,cL] = size(Leggo);
|
||||
if rKL == 1 && cL == 1
|
||||
textKL = 'There are not Klino Link; ';
|
||||
NodoKlinoLink = [];
|
||||
rKL = 0;
|
||||
else
|
||||
depth = Leggo(:,2);
|
||||
nome = cell(rKL,1);
|
||||
for i=1:rKL
|
||||
nome(i,1) = cellstr('Klino Link');
|
||||
end
|
||||
NodoKlinoLink = [nome Leggo(:,1) depth Leggo(:,3) Leggo(:,4)];
|
||||
textKL = ['There are ',num2str(rKL),' Klino Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textKL);
|
||||
|
||||
%% Klino Link HR
|
||||
% carico le informazioni relative al numero e alla profondità per Klino
|
||||
% Link HR
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool ''' and nodetype_id = 44 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rKLHR,cL] = size(Leggo);
|
||||
if rKLHR == 1 && cL == 1
|
||||
textKLHR = 'There are not Klino Link HR; ';
|
||||
NodoKlinoLinkHR = [];
|
||||
rKLHR = 0;
|
||||
else
|
||||
depth = Leggo(:,2);
|
||||
nome = cell(rKLHR,1);
|
||||
for i=1:rKLHR
|
||||
nome(i,1) = cellstr('Klino Link HR');
|
||||
end
|
||||
NodoKlinoLinkHR = [nome Leggo(:,1) depth Leggo(:,3)];
|
||||
textKLHR = ['There are ',num2str(rKLHR),' Klino Link HR nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textKLHR);
|
||||
|
||||
%% Rain Link
|
||||
% carico le informazioni relative al numero e alla profondità per Rain Link
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool ''' and nodetype_id = 27 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rRL,cL] = size(Leggo);
|
||||
if rRL == 1 && cL == 1
|
||||
textRL = 'There are not Rain Link; ';
|
||||
NodoRainLink = [];
|
||||
rRL = 0;
|
||||
else
|
||||
nome = cell(rRL,1);
|
||||
for i=1:rRL
|
||||
nome(i,1) = cellstr('Rain Link');
|
||||
end
|
||||
NodoRainLink = [nome Leggo(:,1:3)];
|
||||
textRL = ['There are ',num2str(rRL),' Rain Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textRL);
|
||||
|
||||
%% PT100 Link
|
||||
% carico le informazioni relative al numero e alla profondità per PT100 Link
|
||||
comando = ['select num, depth from nodes where tool_id = ''' idTool ''' and nodetype_id = 28 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rPT100,cL] = size(Leggo);
|
||||
if rPT100 == 1 && cL == 1
|
||||
textPT100 = 'There are not PT100 Link; ';
|
||||
NodoPT100Link = [];
|
||||
rPT100 = 0;
|
||||
else
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rPT100,1);
|
||||
for i=1:rPT100
|
||||
nome(i,1) = cellstr('PT100 Link');
|
||||
end
|
||||
NodoPT100Link = [nome Leggo(:,1) depth];
|
||||
textPT100 = ['There are ',num2str(rPT100),' PT100 Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textPT100);
|
||||
|
||||
%% In Place Link
|
||||
% carico le informazioni relative al numero e alla profondità per In Place Link
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool...
|
||||
''' and nodetype_id = 42 order by num'];
|
||||
Leggo = fetch(conn,comando);
|
||||
[rIPL,cL] = size(Leggo);
|
||||
if rIPL <= 1 && cL <= 1
|
||||
textIPL = 'There are not In Place Link; ';
|
||||
NodoInPlaceLink = [];
|
||||
nodoIPL = 0; % mi serve nei In Place Link HR 3D
|
||||
rIPL = 0;
|
||||
else
|
||||
nodoIPL = 1; % mi serve nei In Place Link HR 3D
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rIPL,1);
|
||||
for i=1:rIPL
|
||||
nome(i,1) = cellstr('In Place Link');
|
||||
end
|
||||
NodoInPlaceLink = [nome Leggo(:,1) depth Leggo(:,3)];
|
||||
textIPL = ['There are ',num2str(rIPL),' In Place Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textIPL);
|
||||
|
||||
%% In Place Link HR
|
||||
% carico le informazioni relative al numero e alla profondità per In Place
|
||||
% Link HR
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool ''' and nodetype_id = 43 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rIPLHR,cL] = size(Leggo);
|
||||
if rIPLHR == 1 && cL == 1
|
||||
textIPLHR = 'There are not In Place Link HR; ';
|
||||
NodoInPlaceLinkHR = [];
|
||||
nodoIPLHR = 0; % mi serve a riconoscere In Place Link HR 3D
|
||||
rIPLHR = 0;
|
||||
else
|
||||
nodoIPLHR = 1; % mi serve a riconoscere In Place Link HR 3D
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rIPLHR,1);
|
||||
for i=1:rIPLHR
|
||||
nome(i,1) = cellstr('In Place Link HR');
|
||||
end
|
||||
NodoInPlaceLinkHR = [nome Leggo(:,1) depth Leggo(:,3)];
|
||||
textIPLHR = ['There are ',num2str(rTLHR),' In Place Link HR nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textIPLHR);
|
||||
|
||||
% confrontando le profondità di Tilt Link e Tilt Link HR riconosco i TILT LINK HR 3D
|
||||
if nodoIPL == 1 && nodoIPLHR == 1
|
||||
NodoInPlaceLinkHR3Dwork = cell(rIPL,4); % creo matrice di zeri
|
||||
p=1;
|
||||
Control = 0;
|
||||
for i=1:rIPL
|
||||
for j=1:rIPLHR
|
||||
if cell2mat(NodoInPlaceLink(i,3)) == cell2mat(NodoInPlaceLinkHR(j,3))
|
||||
prof = NodoInPlaceLink(i,3);
|
||||
nome = cellstr('In Place Link HR 3D');
|
||||
% il numero nodo del In Place Link lo faccio diventare il numero nodo del In Place Link HR3D
|
||||
num = NodoInPlaceLink(i,2);
|
||||
num2 = NodoInPlaceLinkHR(j,2);
|
||||
Leggo = [nome,num,num2,prof];
|
||||
NodoInPlaceLinkHR3Dwork(p,:) = Leggo;
|
||||
p = p+1;
|
||||
Control = 1;
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
% elimino gli zeri in più
|
||||
q = 1;
|
||||
rCONT = 0;
|
||||
[s,~] = size(NodoInPlaceLinkHR3Dwork);
|
||||
a = 1;
|
||||
while a == 1
|
||||
if q > s
|
||||
a = 0;
|
||||
else
|
||||
if strcmp(cell2mat(NodoInPlaceLinkHR3Dwork(q,1)),'In Place Link HR 3D')
|
||||
rCONT = 1+rCONT; % ultima riga con dati che non siano celle vuote
|
||||
end
|
||||
end
|
||||
q = q+1;
|
||||
end
|
||||
if Control == 1
|
||||
NodoInPlaceLinkHR3D = NodoInPlaceLinkHR3Dwork(1:rCONT,:);
|
||||
elseif Control == 0
|
||||
NodoInPlaceLinkHR3D = [];
|
||||
end
|
||||
textIPL3D = ['There are ',num2str(rCONT),' In Place HR 3D nodes; '];
|
||||
else
|
||||
textIPL3D = 'There are not In Place HR 3D; ';
|
||||
NodoInPlaceLinkHR3D = [];
|
||||
end
|
||||
rIPLHR3D = rCONT;
|
||||
fprintf(fileID,fmt,textIPL3D);
|
||||
|
||||
%% Weir Link
|
||||
% carico le informazioni relative al numero e alla profondità per Weir Link
|
||||
comando = ['select num, depth, measurment, channels, therm from nodes where tool_id = ''' ...
|
||||
idTool ''' and nodetype_id = 53 order by num'];
|
||||
Leggo = fetch(conn,comando);
|
||||
[rWL,cL] = size(Leggo);
|
||||
if rWL <= 1 && cL <= 1
|
||||
textWL = 'There are not Weir Link; ';
|
||||
NodoWeirLink = [];
|
||||
rWL = 0;
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rWL,1);
|
||||
for i=1:rWL
|
||||
nome(i,1) = cellstr('Weir Link');
|
||||
end
|
||||
NodoWeirLink = [nome Leggo(:,1) depth Leggo(:,3) Leggo(:,4) Leggo(:,5)];
|
||||
textWL = ['There are ',num2str(rWL),' Weir Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textWL);
|
||||
|
||||
%% Pendulum
|
||||
% carico le informazioni relative al numero e alla profondità per Pendulum
|
||||
comando = ['select num, depth, measurment, channels from nodes where tool_id = ''' idTool...
|
||||
''' and nodetype_id = 52 order by num'];
|
||||
Leggo = fetch(conn,comando);
|
||||
[rPE,cL] = size(Leggo);
|
||||
if rPE <= 1 && cL <= 1
|
||||
textPE = 'There are not Pendulums; ';
|
||||
NodoPendulum = [];
|
||||
rPE = 0;
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rPE,1);
|
||||
for i=1:rPE
|
||||
nome(i,1) = cellstr('Pendulum');
|
||||
end
|
||||
NodoPendulum = [nome Leggo(:,1) depth Leggo(:,3) Leggo(:,4)];
|
||||
textPE = ['There are ',num2str(rPE),' Pendulum nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textPE);
|
||||
|
||||
%% Wind Link
|
||||
% carico le informazioni relative al numero e alla profondità per Pendulum
|
||||
comando = ['select num, depth, measurment, channels from nodes where tool_id = ''' idTool...
|
||||
''' and nodetype_id = 55 order by num'];
|
||||
Leggo = fetch(conn,comando);
|
||||
[rWI,cL] = size(Leggo);
|
||||
if rWI <= 1 && cL <= 1
|
||||
textWI = 'There are not Wind Link; ';
|
||||
NodoWind = [];
|
||||
rWI = 0;
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
nome = cell(rWI,1);
|
||||
for i=1:rWI
|
||||
nome(i,1) = cellstr('Wind Link');
|
||||
end
|
||||
NodoWind = [nome Leggo(:,1) Leggo(:,3) Leggo(:,4)];
|
||||
textWI = ['There are ',num2str(rWI),' Wind Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textWI);
|
||||
|
||||
%% Tilt Link HD VR
|
||||
% carico le informazioni relative al numero e alla profondità per TILT LINK
|
||||
comando = ['select num, depth, measurment, magnetometro from nodes where tool_id = ''' idTool...
|
||||
''' and nodetype_id = 61 order by num'];
|
||||
Leggo = fetch(conn,comando);
|
||||
[rHDVR,cL] = size(Leggo);
|
||||
if rHDVR <= 1 && cL <= 1
|
||||
textHDVR = 'There are not Tilt Link HD VR; ';
|
||||
NodoTiltLinkHDVR = [];
|
||||
rHDVR = 0;
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rHDVR,1);
|
||||
for i=1:rHDVR
|
||||
nome(i,1) = cellstr('Tilt Link HD VR');
|
||||
end
|
||||
NodoTiltLinkHDVR = [nome Leggo(:,1) depth Leggo(:,3) Leggo(:,4)];
|
||||
textHDVR = ['There are ',num2str(rHDVR),' Tilt Link HD VR nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textHDVR);
|
||||
|
||||
%% Tilt Link HD
|
||||
comando = ['select num, depth, measurment, magnetometro from nodes where tool_id = ''' idTool...
|
||||
''' and nodetype_id = 67 order by num'];
|
||||
Leggo = fetch(conn,comando);
|
||||
[rHD,cL] = size(Leggo);
|
||||
if rHD <= 1 && cL <= 1
|
||||
textHD = 'There are not Tilt Link HD; ';
|
||||
NodoTiltLinkHD = [];
|
||||
rHD = 0;
|
||||
else
|
||||
% cambio il segno della profondità (nel DB è positivo)
|
||||
depth = (-1)*cell2mat(Leggo(:,2));
|
||||
depth = num2cell(depth);
|
||||
nome = cell(rHD,1);
|
||||
for i=1:rHD
|
||||
nome(i,1) = cellstr('Tilt Link HD');
|
||||
end
|
||||
NodoTiltLinkHD = [nome Leggo(:,1) depth Leggo(:,3) Leggo(:,4)];
|
||||
textHD = ['There are ',num2str(rHD),' Tilt Link HD nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textHD);
|
||||
|
||||
%% Sensore Presenza Pioggia
|
||||
% carico le informazioni relative al numero e alla profondità per SPP Link
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool...
|
||||
''' and nodetype_id = 64 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rSPP,cSPP] = size(Leggo);
|
||||
if rSPP == 1 && cSPP == 1
|
||||
textSPP = 'There are not SPP Link; ';
|
||||
NodoSPPLink = [];
|
||||
rSPP = 0;
|
||||
else
|
||||
nome = cell(rSPP,1);
|
||||
for i=1:rSPP
|
||||
nome(i,1) = cellstr('SPP Link');
|
||||
end
|
||||
NodoSPPLink = [nome Leggo(:,1:3)];
|
||||
textSPP = ['There are ',num2str(rSPP),' SPP Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textSPP);
|
||||
|
||||
%% Snow Link
|
||||
% carico le informazioni relative al numero e alla profondità per Snow Link
|
||||
comando = ['select num, depth, measurment from nodes where tool_id = ''' idTool...
|
||||
''' and nodetype_id = 78 order by num'];
|
||||
curs = exec(conn,comando);
|
||||
curs = fetch(curs);
|
||||
Leggo = curs.Data;
|
||||
[rSL,cL] = size(Leggo);
|
||||
if rSL == 1 && cL == 1
|
||||
textSL = 'There are not Snow Link; ';
|
||||
NodoSnowLink = [];
|
||||
rSL = 0;
|
||||
else
|
||||
nome = cell(rSL,1);
|
||||
for i=1:rSL
|
||||
nome(i,1) = cellstr('Snow Link');
|
||||
end
|
||||
NodoSnowLink = [nome Leggo(:,1:3)];
|
||||
textSL = ['There are ',num2str(rSL),' Snow Link nodes; '];
|
||||
end
|
||||
fprintf(fileID,fmt,textSL);
|
||||
|
||||
text = 'tipologiaNodi function closed';
|
||||
fprintf(fileID,fmt,text);
|
||||
fclose(fileID);
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user