function [unitID,chainID,Chain_Scheme,num_nodi,alarms] = Site_Info(siteID,conn,FileName) text = 'Site_Info function started'; fileID = fopen(FileName,'a'); fmt = '%s \r'; fprintf(fileID,fmt,text); % Scarico tutte le centraline presenti in sito comando = ['select id, name from units where site_id = ''' siteID ''' order by name']; % il rapporto centralina sito è di 1 a 1 curs = exec(conn,comando); curs = fetch(curs); unitID = curs.Data; col = size(unitID); chainID = cell(1,4); ini = 1; for c = 1:col(1,1) % dalle centraline presenti, risalgo alle catene disponibili comando = ['select id, name from tools where unit_id = ''' num2str(cell2mat(unitID(c,1))) ''' order by name']; curs = exec(conn,comando); curs = fetch(curs); chainID_down = curs.Data; % id tool, nome tool [fin,~] = size(chainID_down); fin = fin+ini-1; chainID(ini:fin,3:4) = chainID_down; for j = ini:fin chainID(j,1:2) = unitID(c,1:2); % Id centralina, nome centralina, id tool, nome tool end ini = fin+1; end % Scarico gli schemi delle catene [col,~] = size(chainID); % Numero di Array Chain_Scheme = cell(1,3); num_nodi = zeros(col,1); ini = 1; cont = 1; for c = 1:col(1,1) comando = ['select nodetype_id, depth, num from nodes where tool_id = ''' num2str(cell2mat(chainID(c,3))) ''' order by num']; curs = exec(conn,comando); curs = fetch(curs); scheme_down = curs.Data; % id nodo, profondità, numero [fin,~] = size(scheme_down); num_nodi(cont) = fin; Chain_Scheme(1:fin,ini:ini+2) = scheme_down; ini = ini+3; cont = cont+1; end % Scarico l'allarme relativo al sito comando = ['select id, name, ctrltype_id, alarm_phone, conn_usr, conn_pwd, duedate from ctrltools where site_id = ''' siteID ''' ']; curs = exec(conn,comando); curs = fetch(curs); alarms = curs.Data; text = 'Site_Info function worked correctly'; fprintf(fileID,fmt,text); fclose(fileID); end