151 lines
5.8 KiB
Matlab
Executable File
151 lines
5.8 KiB
Matlab
Executable File
function database_write(catena,IDcentralina,DTcatena,...
|
|
AlfaX,AlfaY,TempDef_RSN,ARRAYdateRSN,ErrRSNLink,...
|
|
AlfaX_HR,AlfaY_HR,TempDef_RSNHR,ARRAYdateRSNHR,ErrRSNLinkHR,...
|
|
LoadDef,ErrLoadLink,ARRAYdateLL,val_TrL,StoricoTrigger,ErrTriggerLink,ARRAYdateTrL,...
|
|
val_SS,StoricoShock,ErrShockSensor,ARRAYdateSS,conn,FileName)
|
|
|
|
%% Attivo/disattivo la scrittura
|
|
[scrivoRSN,scrivoRSN_HR,scrivoLL,scrivoTrL,scrivoSS] = scrivo(AlfaX,...
|
|
AlfaX_HR,LoadDef,val_TrL,val_SS);
|
|
|
|
text = 'database_write function started';
|
|
fileID = fopen(FileName,'a');
|
|
fmt = '%s \r';
|
|
fprintf(fileID,fmt,text);
|
|
|
|
%% Contatori nodi
|
|
cRSN = 1; % RSN Link
|
|
cRSNHR = 1; % RSN Link HR
|
|
cLL = 1; % Load Link
|
|
cTrL = 1; % Trigger Link
|
|
cSS = 1; % Shock Sensor
|
|
|
|
% conto i dati
|
|
[~,colRSN] = size(AlfaX'); % controllo quanti dati ho
|
|
[~,colRSNHR] = size(AlfaX_HR'); % controllo quanti dati ho
|
|
[~,colLL] = size(LoadDef'); % controllo quanti dati ho
|
|
[~,colTrL] = size(val_TrL'); % controllo quanti dati ho
|
|
[~,colSS] = size(val_SS'); % controllo quanti dati ho
|
|
[rC,~] = size(catena);
|
|
idNodo = cell2mat(catena(:,1));
|
|
|
|
text = 'Upload of the results in the DB started';
|
|
fprintf(fileID,fmt,text);
|
|
|
|
%% Scrittura risultati su DB
|
|
for a = 1:rC
|
|
NodeNum = cell2mat(catena(a,3));
|
|
|
|
%% RSN Link
|
|
if idNodo(a,1) == 38
|
|
if scrivoRSN == 1 % se ho correttamente tutti i dati
|
|
ListaDate = colRSN;
|
|
|
|
DATAinsert = cellMakerRSN(IDcentralina,DTcatena,NodeNum,cRSN,ListaDate,...
|
|
ErrRSNLink,ARRAYdateRSN,AlfaX,AlfaY,TempDef_RSN);
|
|
|
|
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdateRSN,conn);
|
|
|
|
DBwriteRSN(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
|
|
|
|
cRSN = cRSN+1;
|
|
clear DATAinsert
|
|
% Logfile
|
|
text = ['RSN Link node no. ' num2str(NodeNum) ' of ' ...
|
|
num2str(rC) ' of unit ' IDcentralina ' and chain ' DTcatena ' written in the DB!'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
|
|
%% RSN Link HR
|
|
elseif idNodo(a,1) == 39
|
|
if scrivoRSN_HR == 1 % se ho correttamente tutti i dati
|
|
ListaDate = colRSNHR;
|
|
|
|
DATAinsert = cellMakerRSNHR(IDcentralina,DTcatena,NodeNum,cRSNHR,ListaDate,...
|
|
ErrRSNLinkHR,ARRAYdateRSNHR,AlfaX_HR,AlfaY_HR,TempDef_RSNHR);
|
|
|
|
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdateRSNHR,conn);
|
|
|
|
DBwriteRSNHR(DATAinsert,idElabData,ListaDate,NodeNum,DTcatena,IDcentralina,conn);
|
|
|
|
cRSNHR = cRSNHR+1;
|
|
clear DATAinsert
|
|
% Logfile
|
|
text = ['RSN Link HR node no. ' num2str(NodeNum) ' of ' ...
|
|
num2str(rC) ' of unit ' IDcentralina ' and chain ' DTcatena ' written in the DB!'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
|
|
%% Load Link
|
|
elseif idNodo(a,1) == 15 % Load Link
|
|
if scrivoLL == 1
|
|
ListaDate = colLL;
|
|
|
|
DATAinsert = cellMakerLL(IDcentralina,DTcatena,NodeNum,cLL,...
|
|
ListaDate,ARRAYdateLL,LoadDef,ErrLoadLink);
|
|
|
|
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdateLL,conn);
|
|
|
|
DBwriteLL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
|
|
|
|
cLL = cLL+1;
|
|
clear DATAinsert
|
|
% Logfile
|
|
text = ['Load Link node no. ' num2str(NodeNum) ' of ' ...
|
|
num2str(rC) ' of unit ' IDcentralina ' and chain ' DTcatena ' written in the DB!'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
|
|
%% Trigger Link
|
|
elseif idNodo(a,1) == 40 % Trigger Link
|
|
if scrivoTrL == 1
|
|
ListaDate = colTrL;
|
|
|
|
DATAinsert = cellMakerTrL(DTcatena,IDcentralina,NodeNum,ListaDate,...
|
|
ARRAYdateTrL,val_TrL,StoricoTrigger,cTrL,ErrTriggerLink);
|
|
|
|
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdateTrL,conn);
|
|
|
|
DBwriteTrL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
|
|
|
|
cTrL = cTrL+1;
|
|
clear DATAinsert
|
|
% Logfile
|
|
text = ['Trigger Link node no. ' num2str(NodeNum) ' of ' ...
|
|
num2str(rC) ' of unit ' IDcentralina ' and chain ' DTcatena ' written in the DB!'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
%% Shock Sensor
|
|
elseif idNodo(a,1) == 54 % Shock Sensor
|
|
if scrivoSS == 1
|
|
ListaDate = colSS;
|
|
|
|
DATAinsert = cellMakerSS(DTcatena,IDcentralina,NodeNum,ListaDate,...
|
|
ARRAYdateSS,val_SS,StoricoShock,cSS,ErrShockSensor);
|
|
|
|
idElabData = DB_date_time(IDcentralina,DTcatena,NodeNum,ListaDate,ARRAYdateSS,conn);
|
|
|
|
DBwriteSS(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,DTcatena,conn);
|
|
|
|
cTrL = cTrL+1;
|
|
clear DATAinsert
|
|
% Logfile
|
|
text = ['Trigger Link node no. ' num2str(NodeNum) ' of ' ...
|
|
num2str(rC) ' of unit ' IDcentralina ' and chain ' DTcatena ' written in the DB!'];
|
|
fprintf(fileID,fmt,text);
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
text = 'DB upload completed. database_write function ended';
|
|
fprintf(fileID,fmt,text);
|
|
fclose(fileID);
|
|
|
|
end
|