% 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