Files
matlab-python/RSN/azzeramenti.m

62 lines
2.1 KiB
Matlab
Executable File

%% Funzione che corregge gli angoli di alcuni nodi specifici
function angRSN = azzeramenti(conn,IDcentralina,DTcatena,angRSN,NodoRSNLink,ARRAYdateRSN,FileName)
fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'azzeramenti function started';
fprintf(fileID,fmt,text);
NomeFile = strcat(IDcentralina,'-',DTcatena,'-','Azzeramenti.txt');
if isfile(NomeFile) == 1
Dati = importdata(NomeFile);
if Dati(1,1) == 99999
else
[c,~] = size(Dati);
i = 1;
while i <= c
if Dati(i,1) == 99999
break
else
NodeType ='RSN Link';
indice = Dati(i);
NodeNumRSN = num2str(cell2mat(NodoRSNLink(indice,2)));
dataRIF = num2str(ARRAYdateRSN(end)-7);
comando = ['select AlfaX, AlfaY from ElabDataView where EventDate >= ''' ...
dataRIF ''' and UnitName = ''' IDcentralina ...
''' and ToolNameID = ''' DTcatena ''' and NodeType = ''' NodeType ...
''' and NodeNum =' NodeNumRSN ' '];
curs = exec(conn,comando);
curs = fetch(curs);
Riferimento = curs.Data;
angRSN(:,2*indice-1:2*indice) = Riferimento(end,1:2);
text = ['Node RSN Link number ' NodeNumRSN ' has been corrected by azzeramenti function'];
fprintf(fileID,fmt,text);
i=i+1;
end
end
end
else
fclose(fileID);
Parametro1 = 99999;
Parametro2 = 999999999;
outdat = fopen(NomeFile,'wt+');
fopen(NomeFile,'wt');
fmt = '%d \r';
fileA = fopen(NomeFile,'a');
fprintf(fileA,fmt,Parametro1);
fprintf(fileA,fmt,Parametro2);
fclose(fileA);
fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'azzeramenti function created the reference file correctly';
fprintf(fileID,fmt,text);
end
text = 'azzeramenti function executed correctly';
fprintf(fileID,fmt,text);
fclose(fileID);
end