function [T,f,Lon,Lat,qmc,err]=dlpos_serv_read_fun(file,Nline_head);
% считываание исходного данного DLPOS, работающего режиме съемки
%
%        [T,f,Lon,Lat,qmc,err]=dlpos_serv_read_fun(file[,Nline_head]);
%
% file       - полныое имя файла (с путем, если нужно)
% Nline_head - кол-во строк заголовка (по умолчанию = 6)
%
%   T - сериальная дата
%   f - значение модуля F в нТл
% Lon - долгота (град.)
% Lat - широта (град.)
% qmc - QMC в нТл
% err - код ошибки (строковый массив)
%
% !!! ВНИМАНИЕ !!! Предполагается, что длина строки с данными = 65
%                  символов, включая <CR> и <LF>

% 29.08.2009 - Хомутов С.Ю., Новосибирск

if nargin<2,
    Nline_head=6;   % ставим кол-во строк заголовка, если не указано
end

Rec_Length=65;      % длина строки с данными (включая <cr> и <lf>)

fid=fopen(file,'r');    % открываем фалй для чтения
% Считываем заголовок файла (Nline_head строк)
for k=1:Nline_head,
    str=fgets(fid);
end
% считываем остаток файла бинарно
str=fread(fid);
fclose(fid);

Nrec=length(str)/Rec_Length;    % кол-во измерений в файле
str=char(reshape(str',Rec_Length,Nrec)'); % строковый массив нужного вида

f=str2num(str(:,1:8))/1000;         % модуль F в нТл
qmc=str2num(str(:,9:14))/1000;      % QMC, в нТл
err=str(:,16:17);                   % код ошибки (строка)
T=datenum(str2num(str(:,25:26))+2000,...    % сериальная дата
          str2num(str(:,19:20)),...
          str2num(str(:,22:23)),...
          str2num(str(:,28:29)),...
          str2num(str(:,31:32)),...
          str2num(str(:,34:35))+str2num(str(:,37:38))/100);
Lon=str2num(str(:,39:49))/1e7; Lon=fix(Lon)+rem(Lon,1)*100/60;
Lat=str2num(str(:,50:60))/1e7; Lat=fix(Lat)+rem(Lat,1)*100/60;

Lon(Lon==0)=NaN; Lat(Lat==0)=NaN;


return
