% 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