71 lines
1.7 KiB
Matlab
Executable File
71 lines
1.7 KiB
Matlab
Executable File
% Funzione che definisce le attivazioni di fine corsa per i nodi di tipo Trigger Link
|
|
function [ARRAYdateTrL,val_TrL,ErrTriggerLink] = defDatiTrL(DatiTriggerLink,...
|
|
Type,ErrTriggerLink,rTrL,NuovoZeroTrL,FileName)
|
|
|
|
fileID = fopen(FileName,'a');
|
|
fmt = '%s \r';
|
|
text = 'defDatiTrL function started';
|
|
fprintf(fileID,fmt,text);
|
|
|
|
[r,c]=size(DatiTriggerLink);
|
|
Ncorr = 0;
|
|
% Elimino gli eventuali Not a Number
|
|
for a = 2:r
|
|
for b = 1:c
|
|
check = isnan(DatiTriggerLink(a,b));
|
|
if check == 1
|
|
DatiTriggerLink(a,b) = DatiTriggerLink(a-1,b);
|
|
ErrTriggerLink(a,b) = 1;
|
|
Ncorr = Ncorr+1;
|
|
end
|
|
end
|
|
end
|
|
|
|
if NuovoZeroTrL == 1
|
|
DatiTriggerLink = DatiTriggerLink(2:end,:);
|
|
ErrTriggerLink = ErrTriggerLink(2:end,:);
|
|
end
|
|
|
|
text = ['' num2str(Ncorr) ' NaN of Trigger Link corrected by defDatiTrL function'];
|
|
fprintf(fileID,fmt,text);
|
|
|
|
[r,~] = size(DatiTriggerLink);
|
|
TimeTrL = DatiTriggerLink(:,1); % data
|
|
val_TrL = zeros(r,rTrL); % dati fine corsa
|
|
if Type == 7
|
|
code = 16;
|
|
else
|
|
code = 1;
|
|
end
|
|
|
|
i = 1;
|
|
while i <= rTrL
|
|
for j = 1:r
|
|
if DatiTriggerLink(j,1+i) == code % Se la prima colonna ha il codice associato al Trigger
|
|
if j > 1 && Type == 7
|
|
check = DatiTriggerLink(j,1+i)-DatiTriggerLink(j-1,1+i);
|
|
else
|
|
check = 1;
|
|
end
|
|
if check > 0
|
|
val_TrL(j,i) = 1;
|
|
end
|
|
else
|
|
val_TrL(j,i) = 0;
|
|
end
|
|
end
|
|
if Type == 7
|
|
i = i+2;
|
|
else
|
|
i = i+1;
|
|
end
|
|
end
|
|
|
|
ARRAYdateTrL = TimeTrL;
|
|
|
|
text = 'Data of Trigger Link defined correctly';
|
|
fprintf(fileID,fmt,text);
|
|
fclose(fileID);
|
|
|
|
end
|