function [proud napeti pocet_hodnot graf] = zmerVA(smer_VA, pocet_vzorku, mez_napeti, mez_proudu, krok_napeti, zarizeni)
% nastavi rele a zmeri VA charakteristiku

%napeti = 0;proud = 0;
%pocet_hodnot = 0;graf = 0;

%try

global s vps

s.addAnalogOutputChannel(zarizeni, 0:1, 'Voltage');
s.Rate = 1e3;

if smer_VA == 1
    % propustna cast
    s.outputSingleScan([0 5]);
else
    % zaverna cast
    s.outputSingleScan([0 0]);
end

s.removeChannel([1 2]);

vps.Vneg = 0;
vps.Vpos = 5;

s.addAnalogInputChannel(zarizeni, 6, 'Voltage'); % napeti
s.addAnalogInputChannel(zarizeni, 7, 'Voltage'); % proud
s.Rate = 5e3;
s.Channels(1).Range = [-10 10];
s.Channels(2).Range = [-10 10];
s.NumberOfScans = 10;

vps.Vneg = 0;
podm = 1;

% mereni jednoho smeru
pocet_hodnot = 0;
graf = [];
while podm == 1
    vps.Vneg = vps.Vneg - krok_napeti;
    data = s.startForeground;
    napeti = sum(data(:, 1))/double(s.NumberOfScans);
    proud = (sum(data(:, 2))/double(s.NumberOfScans))/99.2;
    %plot(napeti, proud*1000, 'x');
    if abs((sum(data(:, 2))/double(s.NumberOfScans))/99.2) > mez_proudu
        podm = 0;
    end
    if vps.Vneg < -mez_napeti
        podm = 0;
    end
    pocet_hodnot = pocet_hodnot + 1;
    graf(pocet_hodnot, 1:2) = [napeti proud];
end

% nastaveni do vychoziho stavu
vps.Vneg = 0;
vps.Vpos = 0;

s.removeChannel([1 2]);

%catch chyba
%    chyba
%    errordlg('Nastala chyba HW, opravdu je vybrane spravne zarizeni?');
%end