Ср янв 08, 2020 20:30:14
Ср янв 08, 2020 21:54:48
Пт мар 20, 2020 14:57:57
Ср апр 08, 2020 15:55:11
Ср апр 29, 2020 19:29:38
Program R6871Logger; // ѕрограмма дл¤ сбора данных с мультиметра Advantest
const MakeModel='R6871'; // ”казать модель прибора
const GPIB_address = 1; // ”казать адрес прибора на шине GPIB
const Duration = 3; // ƒлительность измерени¤, мин. (+выход по нажатию клавиши)
const Directory = 'C:\Incoming'; // ѕуть дл¤ сохранени¤ файла CSV
const Timeout = 0.3;
var Filename : String;
var t_start_datetime: TDateTime;
var t_acq_datetime: TDateTime;
var tmp_str:String;
var elapsed_time:longint;
var Answer:String;
var i:longint;
procedure Init_File;
begin;
EZGPIB_FileClearBuffer;
tmp_str:='date'; // First column
EZGPIB_ConvertAddToString(tmp_str,';');
EZGPIB_ConvertAddToString(tmp_str,MakeModel); // Second column
EZGPIB_FileAddToBuffer(tmp_str);
Filename := Directory+'\';
EZGPIB_ConvertAddToString(Filename,DateOf(EZGPIB_TimeNow));
EZGPIB_ConvertAddToString(Filename,' '+MakeModel);
EZGPIB_ConvertAddToString(Filename,'.csv');
if EZGPIB_FileExists(Filename)then EZGPIB_FileDelete(Filename); // Erase old file
EZGPIB_FileWrite(Filename); // Save File
end;
procedure Save_File;
begin;
EZGPIB_FileClearBuffer;
tmp_str :='';
EZGPIB_ConvertAddToString(tmp_str,t_acq_datetime); // First column
EZGPIB_ConvertAddToString(tmp_str,';');
EZGPIB_ConvertAddToString(tmp_str,Answer); // Second column
EZGPIB_FileAddToBuffer(tmp_str); // Add to file buffer
EZGPIB_FileWrite(Filename); // Save File
end;
procedure Init_Device;
begin;
EZGPIB_BusAutoOff; // Ёквивалент команды ++auto 0
EZGPIB_BusWriteData(gpib_address,'Z');// Reset to defaults
EZGPIB_TimeSleep(5);
EZGPIB_BusWriteData(gpib_address,'ac');// Acal execute
EZGPIB_TimeSleep(3);
EZGPIB_BusWriteData(gpib_address,'++read_tmo_ms 10000'); // установка таймаута 10 сек
EZGPIB_BusIFC; // Perform an Interface Clear
EZGPIB_BusEnableEoi;
EZGPIB_BusSetEos(0);
EZGPIB_TimeSleep(1);
// IT8 100 PLC
// IT7 50 PLC
// IT6 20 PLC
// IT5 10 PLC
// IT4 5 PLC
// IT3 1 PLC
// IT2 10 msec
// IT1 1 msec
// IT0 100 usec
EZGPIB_BusWriteData(gpib_address,'F1,R5,M1,IT4,SI0,TD0,AZ1,RE7,CI0');
EZGPIB_TimeSleep(2);
EZGPIB_BusWriteData(gpib_address,'H0,S0,SL2,DL0,CS');
EZGPIB_BusAutoOn;
EZGPIB_TimeSleep(5);
end;
// Main procedure
begin;
EZGPIB_screenclear; // Clear the Output Console
Init_Device; // Send command strings to meter
Init_File; // Look for file, delete it if it exists. Create new file with headers
t_start_datetime :=EZGPIB_TimeNow; // Get time at beginning of each cycle
elapsed_time:=0;
while (elapsed_time < duration) and (not ezgpib_kbdKeyPressed) do begin;
repeat
Answer:=''; // Clear previous reading
EZGPIB_BusWriteData(gpib_address,'E');
i:=0;
repeat
EZGPIB_TimeSleep(0.0001);
i:=i+1;
until (EZGPIB_BusDataAvailable or (i>200000));
Answer:=EZGPIB_BusGetData;
until Length(Answer)>1;
Answer := AnsiReplaceText ( Answer, '.', ','); // переделка ответа под стандарт с цифровым разделителем зап¤той
t_acq_datetime := EZGPIB_TimeNow;
elapsed_time:=MinutesBetween(t_start_datetime,t_acq_datetime);// Calculate elapsed time since start of acquisition
EZGPIB_ScreenWriteLn(Answer);
Save_File; // If result contains data, write data to the file
end;
end.
Ср июн 03, 2020 11:45:37
Program R6871Logger; // Программа для сбора данных с мультиметра Advantest
const MakeModel='R6871'; // Указать модель прибора
const GPIB_address = 1; // Указать адрес прибора на шине GPIB
const Duration = 2880; // Длительность измерения, мин. (+выход по нажатию клавиши)
const Directory = 'C:\Incoming'; // Путь для сохранения файла CSV
const Temperature = 'Temp1'; // Температура
const Sampling = 10; // Интервал измерения, сек
var Maker : TDateTime; // Дата/время создания файла
var Filename : String;
var t_start_datetime: TDateTime;
var t_acq_datetime: TDateTime;
var tmp_str:String;
var elapsed_time:longint;
var Answer:String;
var i:longint;
var Temp1:String;
var Make : String;
procedure Init_File;
begin;
Maker := EZGPIB_TimeNow; // Дата/время создания файла
EZGPIB_FileClearBuffer;
tmp_str:='date'; // First column
EZGPIB_ConvertAddToString(tmp_str,';');
EZGPIB_ConvertAddToString(tmp_str,'DCV'); // Second column
EZGPIB_ConvertAddToString(tmp_str,';');
EZGPIB_ConvertAddToString(tmp_str,'Temp °C'+#13+#10); // Third column + пустую строку для более простого выделения столбца в Excel
EZGPIB_FileAddToBuffer(tmp_str);
Filename := Directory+'\';
EZGPIB_ConvertAddToString(Make,Maker);
Make := AnsiReplaceText ( Make, ':', '_'); //Замена недопустимых символов в имени файла
EZGPIB_ConvertAddToString(Filename,Make);
EZGPIB_ConvertAddToString(Filename,' '+MakeModel);
EZGPIB_ConvertAddToString(Filename,'.csv');
EZGPIB_FileWrite(Filename); // Save File
end;
procedure Save_File;
begin;
EZGPIB_FileClearBuffer;
tmp_str :='';
EZGPIB_ConvertAddToString(tmp_str,t_acq_datetime);// First column
EZGPIB_ConvertAddToString(tmp_str,';');
EZGPIB_ConvertAddToString(tmp_str,Answer); // Second column
EZGPIB_ConvertAddToString(tmp_str,';');
EZGPIB_ConvertAddToString(tmp_str,Temp1); // Third column
EZGPIB_FileAddToBuffer(tmp_str); // Add to file buffer
EZGPIB_FileWrite(Filename); // Save File
end;
procedure Init_Device;
begin;
EZGPIB_BusAutoOff; // Эквивалент команды ++auto 0
EZGPIB_BusWriteData(gpib_address,'Z'); // Reset to defaults
EZGPIB_TimeSleep(5);
EZGPIB_BusWriteData(gpib_address,'ac'); // Acal execute
EZGPIB_TimeSleep(3);
EZGPIB_BusWriteData(gpib_address,'++read_tmo_ms 10000'); // установка таймаута 10 сек
EZGPIB_BusIFC; // Perform an Interface Clear
EZGPIB_BusEnableEoi;
EZGPIB_BusSetEos(0);
EZGPIB_TimeSleep(1);
// IT8 100 PLC
// IT7 50 PLC
// IT6 20 PLC
// IT5 10 PLC
// IT4 5 PLC
// IT3 1 PLC
// IT2 10 msec
// IT1 1 msec
// IT0 100 usec
EZGPIB_BusWriteData(gpib_address,'F1,R5,M1,IT6,SI0,TD0,AZ1,RE7,CI0');
EZGPIB_TimeSleep(2);
EZGPIB_BusWriteData(gpib_address,'H0,S0,SL2,DL0,CS');
EZGPIB_TimeSleep(5);
EZGPIB_BusAutoOn;
end;
// Main procedure
begin;
EZGPIB_screenclear; // Clear the Output Console
Init_Device; // Send command strings to meter
Init_File; // Look for file, delete it if it exists. Create new file with headers
t_start_datetime :=EZGPIB_TimeNow; // Get time at beginning of each cycle
elapsed_time:=0;
while (elapsed_time < duration) and (not ezgpib_kbdKeyPressed) do begin;
EZGPIB_TimeWaitForMultipleOf (Sampling); // Интервал измерения
repeat
Answer:=''; // Clear previous reading
EZGPIB_BusWriteData(gpib_address,'E');
i:=0;
repeat
EZGPIB_TimeSleep(0.0001);
i:=i+1;
until (EZGPIB_BusDataAvailable or (i>200000)); //ответ от R6871E 20PLC AZon составляет 0,406 сек
Answer:=EZGPIB_BusGetData;
until Length(Answer)>1;
Answer := AnsiReplaceText ( Answer, '.', ','); // переделка ответа под стандарт с цифровым разделителем запятой
t_acq_datetime := EZGPIB_TimeNow;
elapsed_time:=MinutesBetween(t_start_datetime,t_acq_datetime);// Calculate elapsed time since start of acquisition
repeat
Temp1:=''; // Clear previous reading
EZGPIB_BusWriteData(gpib_address,'++temp'); // ответ от Arduino Uno R488 составляет 58 мсек
i:=0;
repeat
EZGPIB_TimeSleep(0.001);
i:=i+1;
until (EZGPIB_BusDataAvailable or (i>200));
Temp1:=EZGPIB_BusGetData;
until Length(Temp1)>1;
Temp1 := AnsiReplaceText ( Temp1, '.', ','); // переделка ответа под стандарт с цифровым разделителем запятой
EZGPIB_ScreenWrite(t_acq_datetime);
EZGPIB_ScreenWrite(' ');
EZGPIB_ScreenWrite(Answer);
EZGPIB_ScreenWrite(' ');
EZGPIB_ScreenWriteLn(Temp1);
Save_File; // If result contains data, write data to the file
end;
end.
Пт июл 31, 2020 17:52:00
Вс авг 09, 2020 18:44:59
Чт сен 10, 2020 05:47:44
Чт сен 10, 2020 07:54:45
Вс ноя 08, 2020 09:55:06
Ср ноя 18, 2020 00:09:01
Ср ноя 18, 2020 01:17:25
Ср ноя 18, 2020 09:17:13
Ср ноя 18, 2020 13:01:39
Чт ноя 19, 2020 10:49:42
Чт ноя 19, 2020 13:44:17
Чт ноя 19, 2020 16:46:56
Чт ноя 19, 2020 23:10:56
Пт ноя 20, 2020 00:17:17