![](/profiles/wavemetrics/themes/wavemetrics/logo.png)
data loader for MINISOFT '.el1' files
![](/sites/default/files/styles/thumbnail/public/default_images/Artboard%201_1.png?itok=jeHOCIXy)
awirsing
#pragma rtGlobals=1 // Use modern global access method. #pragma version=1.2 //////////////////////// // Remarks: // Data loader for .el1 files, which were saved with the program 'MINISOFT V7.8' (http://www.greisinger.de/). // The binary file structure of the .el1 files has been worked out empirically (because the // company didn't want to reveal any details of their binary format), so the structure // may change in fututre versions of the program. Additionally be aware of bugs. // The data loader reads out the data, the time scaling, and some parameters which are put in the wave note. //////////////////////// Menu "Load Waves" "Load MiniSoft File...", LoadMiniSoftFile() end function LoadMiniSoftFile() variable refnum open/z=2/m="Looking for a MiniSoft file"/r/t=".el1" refnum if(V_flag==-1) return 0 endif fstatus refnum string S_filenameLocal=ReplaceString(".el1",S_filename,"") variable V_numDataPnts,V_timeDelta,V_timeStart,V_startComment,V_commentLen variable V_startWindowTitle,V_windowTitleLen,V_tmp,V_measureMin,V_measureMax variable V_version,V_alarmMin,V_alarmMax,V_alarmDelay string S_comment,S_windowTitle,S_identification fsetpos refnum,99; fbinread/b=3/f=3 refnum,V_startComment V_startComment-=1 // in Igor, first byte is byte #0!!! fsetpos refnum,1007; fbinread/b=3/f=5 refnum,V_version fsetpos refnum,1111; fbinread/b=3/f=5 refnum,V_measureMin fsetpos refnum,1119; fbinread/b=3/f=5 refnum,V_measureMax fsetpos refnum,1503; fbinread/b=3/f=5 refnum,V_alarmMin fsetpos refnum,1511; fbinread/b=3/f=5 refnum,V_alarmMax fsetpos refnum,1519; fbinread/b=3/f=3 refnum,V_alarmDelay fsetpos refnum,2003; fbinread/b=3/f=3 refnum,V_numDataPnts fsetpos refnum,2011; fbinread/b=3/f=3 refnum,V_timeDelta fsetpos refnum,3999; fbinread/b=3/f=5 refnum,V_timeStart V_timeStart=V_timeStart*24*60*60-126313200 // Conversion into s, offset subtraction make/o/n=(V_numDataPnts) $S_filenameLocal wave w=$S_filenameLocal fbinread/b=3/f=5 refnum,w // data start @ 4007 setscale/p x V_timeStart,V_timeDelta,"dat" w S_identification=padstring("",39,0x20) fsetpos refnum,2103; fbinread refnum,S_identification S_identification=replacestring(num2char(32),S_identification,"") fsetpos refnum,V_startComment do fbinread/f=1 refnum,V_tmp while(V_tmp!=4) fstatus refnum; V_commentLen=V_filePos-V_startComment-1 do fbinread/f=1 refnum,V_tmp while(V_tmp!=0) fstatus refnum; V_startWindowTitle=V_filePos do fbinread/f=1 refnum,V_tmp while(V_tmp!=4) fstatus refnum; V_windowTitleLen=V_filePos-V_startWindowTitle-1 S_comment=padstring("",V_commentLen,0x20) fsetpos refnum,V_startComment; fbinread refnum,S_comment S_windowTitle=padstring("",V_windowTitleLen,0x20) fsetpos refnum,V_startWindowTitle; fbinread refnum,S_windowTitle S_comment=replacestring(";",S_comment,"") S_windowTitle=replacestring(";",S_windowTitle,"") S_comment=replacestring(num2char(10),S_comment,"") note/nocr w,"identification:"+S_identification+";" note/nocr w,"window title:"+S_windowTitle+";" note/nocr w,"comment:"+S_comment+";" note/nocr w,"version:"+num2str(V_version)+";" note/nocr w,"measure minimum:"+num2str(V_measureMin)+";" note/nocr w,"measure maximum:"+num2str(V_measureMax)+";" note/nocr w,"alarm minimum:"+num2str(V_alarmMin)+";" note/nocr w,"alarm maximum:"+num2str(V_alarmMax)+";" note/nocr w,"alarm delay/min:"+num2str(V_alarmDelay)+";" if(V_version!=74&&V_version!=73) DoAlert 0,"MiniLog version of file "+S_filenameLocal+".el1 is not 7.3 or 7.4 (with which this file loader has been tested).\rPlease check the data carefully for reliability!" endif close refnum end
![](/sites/default/files/forum.png)
Forum
![](/sites/default/files/support.png)
Support
![](/sites/default/files/gallery.png)
Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAH
July 8, 2008 at 12:21 pm - Permalink