Record data taken by NI ELVIS impedance analyzer
I need to display data taken by the impedance analyzer VI (magnitude and phase which are used to find resistance and reactance) in chart form in a given time interval (in addition to the polar graphic displayed currently). Also, when the program is terminated, the data should be saved to a spreadsheet. I am having trouble recording each variable in a separate column in both the spreadsheet and the chart. Apparently they need to be separate channels.
So, are you just needing a "log" option within the impedance analyzer? If so, then I would suggest to modify the impedance analyzer source code to write the data to a spreadsheet file.
The source code VI for the impedance analyzer can be found within the ...\Program Files\National Instruments\NI ELVIS 1.0\Source Code\Impedance Analyzer directory. You could add the Write to Spreadsheet File VI to the program to create a VI that would log the data to a spreadsheet file.
I hope this helps.
Regards,
Todd D.
NI Applications Engineer
Similar Messages
-
How to use IMPEDANCE ANALYZER to measure input $ output impedance of BJT circuit
Am currently doing experiments by using NI ELVIS IMPEDANCE ANALYZER but am now suffering a problem on how I can connect it so as to measure input and output impedance of a BJT circuit.
My circuit is as shown in my attachment.
Attachments:
ni.docx 46 KBI see that you already posted on another thread. Please refer to it here:
http://forums.ni.com/t5/Instrument-Control-GPIB-Serial/HOW-TO-USE-ELVIS-IMPEDANCE-ANALYZER-TO-MEASUR...
Regards,
Nathan S.
Applications Engineer
National Instruments -
Impedance Analyzer Sweep Getting Interrupted
Hi Everyone,
I am working on a LabView program for an impedance analyzer which finds a peak and records data around the frequency the peak is located at. While collecting data about a certain peak it is also designed to continue tracking that peak because the peak is not constant.
This program works in LabView Version 7, but this is not the case in Version 8.5. In 8.5, it looks like that the program begins sweeping (the little cursor on the display begins moving across the display) but gets interrupted and stops sweeping. This does not prevent the program from recording data - data is definitely being recorded. However, what this prevents us from doing is tracking the peak; eventually, the peak drifts off the span of the impedance analyzer and any data we collect is useless.Something I've noticed is that if I put LabView in "highlight execution" mode, the program works perfectly fine - no more interruptions! I'm not sure what is interrupting the sweep in normal mode - I'm relatively new to
LabView and attempted to use a WAITSRQ VI to remove any interruptions,
but this just ends up timing out.
While I have attempted tackling the problem from a programming point of view, the fact that this program works in version 7 but not 8.5 seems to indicate that it might not be a programming issue but rather something with the versions.
I have attached two files that may be helpful for anyone that looks at the problem. Mainly the problem is occuring when the control goes to the "Agilent4294APeakTracker_twochannel" file.The main file is the 4395A_no_curve_fit.vi file. If you have any questions about the program or anything I've been unclear about, please feel free to ask!
Thank you for your help!
Matt
Attachments:
4395A_no_curve_fit.vi 81 KB
Agilent4294APeakTracker_twochannel.vi 38 KBRemember that this is all for your own good. I am surprised this program ever worked correctly. Dataflow, dataflow, dataflow. The sequence structures you are using perform no function. There is no coordination between your sub-vi and the main VI. Your are sending commands from both VI's with no flow of the timing. Review dataflow programming and clean up the VI, then you will be able to troubleshoot.
-
How can I record data from 2 devices synchronously
Hi,
I've been working on this VI for some time now and I've already recieved some prior help from these forums, so I hope I can get this problem solved.
I have a DAQpad 6020e, a hot wire thermo anemometer, and Labview 7.1. I need to take voltage measurements from the DAQpad at a scan rate I specify (I have it set to 1000 in the screenshot), while simultaneously taking readings from the anemometer. However, the anemometer only takes readings every 1.6 seconds, which it sends to the serial port in ASCII.
I have tried many iterations of this vi to try to get the data to come out synchronously. By synchronously, I just mean I want both measurements to START at the EXACT same time. Obvisously the scan rates are drastically different so I will have far more measurements from the DAQpad, but that is ok so long as both measurements start at the same time. I cannot control when the anemometer makes its reading, so what I have attempted to do is as follows:
1. VI starts, both reads initialize, then DAQpad scan begins.
2. If Scan Rate and "Scans to read" are equal, it takes one second for measurements to start being recorded from the DAQpad.
3. In an attempt to synchronize the measurements, I attempted to tell the anemometer WHILE loop (serial) to wait until the first measurement has been recorded from the DAQpad. (**Note, I have also tried using the "number read" lead off of the AI read command).
4. Because I only get 1 reading from my anemometer per 1.6 seconds, I can't predict when the next reading will be. But I want my measurements to be corrolated in time, so I have attempted to start the measurement file as soon as the case structure starts. This way, even if the very first reading is invalid, the rest of the readings will be valid and will be taken at times that directly correlate with the DAQpad measurements.
I have run this vi many times, with different results. I have gotten it to run sucessfully many times, meaning that both measurement files started recording data at the exact same instant, even if the anemometer reading wasn't available yet (I know this because the second measurement was taken at a time earlier than 1.6 seconds, meaning that the file did not wait for a measurement to be obtained in order to assign a value at 0 time). HOWEVER, other times, this vi does not run correctly. Sometimes the anemometer readings begin before the DAQpad readings, sometimes after. In every case where the vi does not work, it appears that the anemometer measurement has waited for its first measurement to be recorded at time 0 instead of starting the measurement file when the DAQpad starts.
I need to know why this vi doesn't run consistently. I can see it do what I want it to do over and over again, but I can't use this vi if it is not 100% consistent.
Thank you,
Jake
Attachments:
LabVIEW Synchronization Attempt.pdf 78 KBFor future reference, just post the actual VI. It is easier to troubleshoot than a print as a PDF.
Given the software complexities of separate threads and serial bus versus PCI bus, I don't see how you can say that the measurements actually start at the same time. The only way you can say that the measurements started together was if you were using a hardware trigger.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
This still seems to be a problem with Lightroom 5. This post is one of the top results after trying to Google this problem, and it's for LR3. I can't understand why something so fundamental to video (and some photo) organisation has been overlooked for so long.
I've been trying to import and organise all my old photos and videos by date with LR5. They've been backed up and copied many times over the years, most recently to an external drive last week. So every file has a "date created" of last week. But "date modified" remains the original recorded date.
This doesn't matter for photos with a proper EXIF "date taken" - but LR5 looks at the "date created" for videos, making it completely useless for organising them into date-based folders. It puts videos I recorded in 2010 (as per "date modified") into a 2014-12 folder. Why.
It's not just a video problem - some photos I took with devices that didn't record EXIF "date taken" are also filed into folders from this month, even though the "date modified" on them is correct as being from 5 years ago.
How can I rely on LR5 for importing and date-based organisation when it relies on files (lacking "date taken") having never been copied or backed up?Hello,
I use exiftool to modify the Creation and Modification time of the files. After that I use LR "Ajust time" feature to set the time of the movies in LR to the file creation time (last point). This works fine for me.
For MOV (Quicktime):
exiftool "-FileModifyDate<TrackCreateDate" "-FileCreateDate<TrackCreateDate"
For AVI:
exiftool "-FileModifyDate<DateTimeOriginal" "-FileCreateDate<DateTimeOriginal" *.avi
Depnding on your camera (and container format mov, avi) you may also ajust the time zone, e.g.
exiftool -FileModifyDate+=1 -FileCreateDate+=1 -if "$CameraModelName =~ /EOS 600D/i" *.mov
Which time in the container (MOV, AVI) you use as source, depends on your workflow. I edit my mov files before import. Therfore "CreateDate" is the time when I edited the file. Quicktime and (some) avi file contain a time when the containing stream was created. I use this vaule as source.
exiftool <filename> gives you detailed information about all available times. -
Recording data at particular iterations and writing to text file
Hi all,
this is my first time posting on the NI boards. I'm running into a couple problems I can't seem to figure out how to fix.
I'm collecting data using a LabJack U3-HV daq. I've taken one of the out-of-the-box streaming functions that comes with the LabJack and modified it for my purposes. I am attempting to simply save the recorded data to a text file in columns, one for each of my 4 analog strain gauge inputs, and one for time. For some reason when the 'write to measurement file.vi' executes it is puts everything in rows, and the data is unintelligible.
The 2nd issue I am facing, which is not currently visible in my vi, is that I am running my test for 60,000 cycles, which generates a ton of data. I'm measuring creep/fatigue with my strain gages so I don't need data for every cycle, probably for the first 1000, then the 2k, 4k, 6k, 8k, 10k, 20k, etc. More of an exponential curve. I tried using some max/min functions and then matching the 'write to measurement file.vi' with a case structure that only permitted it to write for particular iterations, but can't seem to get it to work.
Thanks in advance for any help!
Attachments:
3.5LCP strain gages v2.vi 66 KBHey carfreak,
I've attached a screenshot that shows three different ways of trying to keep track of incrementing data and/or time in a while loop. The top loop just shows a program that demonstrates how shift registers can be used to transfer data between loops. This code just writes the iteration value to the array using the Build Array function.
The first loop counts iterations in an extremely round-about way... the second shows that really you can just build the array directly using the iteration count (the blue "i" in the while loop is just an iteration counter).
The final loop shows how you can use a time stamp to actually keep track of the relative time when a loop executes.
Please note that these three should not actually be implemented together in one VI. I just built them in one BD for simplicity's sake for the screenshot. As described above, the producer-consumer architecture should be used when running parallel loops.
Does that answer your question?
Chris G
Applications Engineer
National Instruments
Attachments:
While Loops and Iterations.JPG 83 KB -
Does digital output conflict with impedance analyzer
I am running one program that produces three digital outputs on DO [0..2] and I am also trying to run the Impedance analyzer at the same time. I get this error message:
Error -200429 occurred at DAQmx Write (Digital 1D Bool 1Chan 1Samp).vi:1
Possible
reason(s):
Value passed to the Task/Channels In control is an
empty string (or I/O control).
The value must refer to a valid
task or valid channels.
I'm not sure what this means, but does it have anything to do with a conflict in hardware when running digital outputs and impedance analyzer?
Any help would be great, I am relatively new at LabVIEW/ELVIS.
Thanks in advance
-ShaneShane,
It sounds to be more a referencing issue than an issue between the DIO and impedance analyzer. Sounds like it may not be calling to the correct channel.
Heres some troubleshooting steps:
Can you communicate with the ELVIS board in Measurement and Automation Explorer (MAX)?
If so, can you use one of our example files to try to do some DIO?
If that works, try to comment out the impedance analyzer step to make sure it isn't causing the issue. You can comment things out by using the diagram disable structure, which is under programming->structures.
Regards,
Kyle Mozdzyn
Applications Engineering
National Instruments
Regards,
Kyle M.
Applications Engineering
National Instruments -
Is using only 'date taken' date an option I missed
Where do the absurd dates come from? As far as I'm concerned the only 'must have' date for a photo is the date it's taken. It may also be nice for some to know when they modified it or imported into there library.
What I find is that I see to what my mind is impossible dates. Things like 'date modified' having a date earlier than 'date created'.
Do I have the option to just seeing the EXIF data 'date taken' & if necessary suppressing the other dates & if so how is this done? I'm using Windows 7 64 bit & all my photographic devises record EXIF dates.
Thanks in advanceFor clarifications on various date time tags, please refer to: http://forums.adobe.com/message/4879588
In Organizer to see only EXIF dates, you can hide other date time fields (that is hide 'General' section and 'File properties' section under EXIF').
~Andromeda -
Master collection CS4, how to keep "Date taken" in captured videos?
Hello,
I have the master collection CS4 on a Vista system, and I can easily capture from my old Canon Elura DV tapes, with a firewire cable, either using Premiere Pro, or the simple Windows capture utility.
Now, no matter what file format I created, both AVI (big) and WMV (smaller) the files' "Date Taken" or "Date Shot" fields are blank. All Date modified/created and accessed are the date of the capture, which I do not really need, since my tapes are 8 years old... !
Windows Photo Gallery sorts your photo and videos by date taken, but this does not seem to be possible with captured DV videos...
Now, it seems such a simple feature to have the DV date/time stamp to be translated into the file "Date Taken" field, I am wondering how to do that.
Is there a plugin? Is there a workflow I am missing in premiere? or AfterEffects?
The date/time stamp is embeddded in the DV stream, and I read that a AVI capture will simply copy the DV stream to the HD, so how do I extract / see that information?
And, really, how come such a critical information is so hard to work with? I mean, don't professional movie makers want to know precisely when video clips have been shot?
Thank you
regardsHi,
hmm, I use SCLive to capture and the filename becomes the date taken and are numbered sequentially...as it can capture different avi files every time it sees the camera was shut off and turned back on...like those become "scenes" in a way..a new avi file. But the date and numbers reflect what youre talking about. I never captured using cs3 which is what I use. SCLive is actually "better" at capturing mini dv tapes.
As for movie making the slate gives you that info...and when you start the edit you rename the captured footage according to the slate..so the filenames reflect more readily what the stuff is...
eg. " scene3-take3-cu " or "scene5-take2-master"...etc. -
Using a waveform graph, how to get all recorded data graphed?
I record data from 6 channels using DAQmx with simulated channels and write to measurement file. Then using read from measurement file, and waveform graph, I am trying to graph the data that has been recorded. I am only getting a small amount graphed. The same graph appears whether I have let the measure and record program run for 1 minute or for ten minutes. It also displays a time at the end of the graph that is in the future. What am I doing wrong? Please help.
Hillis Pratt, Jr.I am attaching the two VIs I have been trying to use. I started with examples from NI and didn't go far from that. Any assistance would be appreciated.
Attachments:
Measure and Record Six Voltages with Express1.vi 119 KB
Graph Measurement Files1.vi 89 KB -
I tryed to sort my pictures with buying Apps and following suggestion from apple, but without any success. In my opinion, the real solution is for Apple to offer us a choice of the photo sort order in ITunes. My preference would be filename, perhaps with options to choose the Date Taken attribute, file timestamp or date modified filestamp.
Not a problem when using iPhoto on a Mac, which the transfer of photos is primarily based on - not manually managing photo storage as seems to be common with Windoze.
The same should be available with a supported photo management app on a PC.
http://support.apple.com/kb/HT4221 -
Getting file name and date taken to appear in thumbnails
How do I get my thumbnails in Media to show the file name of each photo and also the date taken? Right clicking on the thumbnail reflects that the "show file info" box is checked. I have Elements 11 (was using Elements 6) and the operating system in Windows 7 and the photos are in jpeg format.
Thanks in advance for your assistance.
LClick the menu:
View >> Details
Move the zoom slider slightly to the right to see more details under each thumbnail. -
Problem In Update Statement In Multiple Record Data Block
Hi Friends,
I have problem in update Statement for updating the record in multiple record data Block.
I have two data Block the master block is single Record block and the 2nd data block is Multiple Record data Block.
I am inserting the fields like category,and post_no for partiular job in single data block
Now in second Multiple Record Data Block,i am inserting the multiple record for above fileds like no. of employees work in the position
There is no problem in INSERT Statement as it is inerting all record But whenever i want to update particular Record (in Multiple Block) of employee for that category and Post_no
then its updating all the record.
my code is Bellow,
IF v_count <> 0 THEN
LOOP
IF :SYSTEM.last_record <> 'TRUE' THEN
UPDATE post_history
SET idcode = :POST_HISTORY_MULTIPLE.idcode,
joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
WHERE post_no = :POST_HISTORY_SINGLE.post_no
AND category = :POST_HISTORY_SINGLE.category
AND roster_no = :POST_HISTORY_SINGLE.roster_no;
AND idcode = :POST_HISTORY_MULTIPLE.idcode;
IF SQL%NOTFOUND THEN
INSERT INTO post_history(post_no,roster_no,category,idcode,joining_post_dt,leaving_post_dt,entry_gp_stage)
VALUES(g_post_no, g_roster_no, g_category, :POST_HISTORY_MULTIPLE.idcode, :POST_HISTORY_MULTIPLE.joining_post_dt,
:POST_HISTORY_MULTIPLE.leaving_post_dt,:POST_HISTORY_MULTIPLE.entry_gp_stage);
END IF;
next_record;
ELSIF :SYSTEM.last_record = 'TRUE' THEN
UPDATE post_history
SET idcode = :POST_HISTORY_MULTIPLE.idcode,
joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
WHERE post_no = :POST_HISTORY_SINGLE.post_no
AND category = :POST_HISTORY_SINGLE.category
AND roster_no = :POST_HISTORY_SINGLE.roster_no;
AND idcode = :POST_HISTORY_MULTIPLE.idcode;
IF SQL%NOTFOUND THEN
INSERT INTO post_history(post_no,roster_no,category,idcode,joining_post_dt,leaving_post_dt,entry_gp_stage)
VALUES (g_post_no,g_roster_no,g_category,:POST_HISTORY_MULTIPLE.idcode,
:POST_HISTORY_MULTIPLE.joining_post_dt,:POST_HISTORY_MULTIPLE.leaving_post_dt,:POST_HISTORY_MULTIPLE.entry_gp_stage);
END IF;
EXIT;
END IF;
END LOOP;
SET_ALERT_PROPERTY('user_alert',ALERT_MESSAGE_TEXT, 'Record Updated successfuly' );
v_button_no := SHOW_ALERT('user_alert');
FORMS_DDL('COMMIT');
CLEAR_FORM(no_validate);
Please Guide me
Thanks in advenceUPDATE post_history
SET idcode = :POST_HISTORY_MULTIPLE.idcode,
joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
WHERE post_no = :POST_HISTORY_SINGLE.post_no
AND category = :POST_HISTORY_SINGLE.category
AND roster_no = :POST_HISTORY_SINGLE.roster_no;
AND idcode = :POST_HISTORY_MULTIPLE.idcode;
UPDATE post_history
SET idcode = :POST_HISTORY_MULTIPLE.idcode,
joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
WHERE post_no = :POST_HISTORY_SINGLE.post_no
AND category = :POST_HISTORY_SINGLE.category
AND roster_no = :POST_HISTORY_SINGLE.roster_no;
AND idcode = :POST_HISTORY_MULTIPLE.idcode;These update statements are without where clause, so it will update all records.
If it is specific to oracle forms then u may get better help at Forms section. -
I have over 1000 PNG files that do not have exif 'date taken'. They only have exif 'date created or modified'
The 'date created/modified' is not the actual date that I took the screen shots.
I added the 'date taken' manually in windows explorer. However, it seems that this does not write this data into the exif 'date taken' which remains blank.
When I transfer the PNG file from the PC to IPhone Photo App, it does not appear on the 'date taken' (that I added manually) but appears on the exif 'date created or modified'.
Interestingly, when I do same as above but with JPG file, it does show up correctly based on the 'date taken' (that I added manually in windows explorer).
So I converted the PNG file to JPG using one of the online tools. However, when I do this, the converted file does not retain the 'date taken'.
I can fix the above by:
1. Use Paint to save the PNG file as JPG; this retains the 'date taken' but this is not the solution I am looking for as I would need to do this for each file (there is no bulk 'save as' in Paint)
2. Use a file conversion tool to bulk convert from PNG to JPG; but again this is not solution, as I would have to manually add the 'date taken' in windows explorer to each JPG file
Alternatively, I tried to rename the file name to include the 'date taken' and then use an exif date changer app to set the xhif dates based on file name.
However, I was not able to find any software that would allow me to do this. The software that I have seen only picks up the 'date taken' from file EXIF data. But in my case there is no such data in the file - only the 'date taken' that I manually added in Windows Explorer.
Any advice is appreciated. All I want to do is transfer PNG files from PC to Iphone Photo app and have these files appear in Photo app based on the 'date taken' (the one I manually added in windows - not the date taken in exif data).Have you touched the "More" button (on the iPhone).
then gone to Audio Books.
Are they there?
I had an audio book still on my iphone, it survivedf the iOS5 update.
To get rid of it, I plugged iPhone into Mac,
Go to itunes.
Click on Iphone in iTunes.
Go to Books tab,
Scroll down, there is audio books.
Choose sync selected audio books,
And untick the ones I don;t want.
Dows this work for you? -
I'm doing a multiple record data merge, I have 2 frames both with variable data placed inside.
I would like to specify that one of the text frames only merges once(first record) and the other frame multiple times for each record in the data file.
Is it possible?
I thought that perhaps if I place the text frame that must merge once on the master page, it would work. But you are not allowed to place variable text on the master and on the document page.
I'm going to try it through scripting next, but thought that perhaps there is an easier way that I'm not aware of.
Thanks,
SuzanneSuzanne,
If you were trying to post a screen shot, you would need to return to the forum and post it using the "camera" icon at the top of the post editing windows.
I use a plug-in from Em Software called InData. One of the benefits for what I do is there are no individual frames on a page to deal with post-merge. Individual frames are great for simple merges (address labels, post cards, etc.). But I typically do more other types of merges.
That said, there is a drawback--one needs to come to an understanding of writing expressions that actually parse the incoming data. So in the spice price list example, that looks like:
It's reasonably easy once one does it a few times. And it can be far more complicated. The above is from Em Software's samples that has been tweaked. The best thing I can recommend would be to download the trial and see for yourself. They are good at responding to specific questions if you get stumped.
I imagine this all could be scripted somehow in ID. But I have no idea how and the plug-in just lets me keep working.
Mike
Maybe you are looking for
-
hello all, am trying to setup a 'guest' access for known people... i mean, the validation of the credentials are made to a LDAP server. User account are created there, and inside a wfacces group. My probleme is when i activate my autorization policy
-
AE CC 2014.2 crashes after RAM preview.
Hey, It crashes almost every time after RAM preview. I think it gives an error, but it's buggy and i can't see it correctly. The error box, the timeline, effects tab etc goes completely black. Can't close the program from anywhere else, only from tas
-
InDesign CC impossible to save in IDML ?
Hi, Sorry for my poor english (I'm French). When I want to save, I can't use the scrolling menus wich are on the window : -> the first is for choosing a location for saving -> the second to select the format : Indesign CC or compatibility mode IDML
-
Can we place content engine outside interface on PIX DMZ interface. At this moment both the WCCP router and content Engine are on outside. I want to place Content Engine Outside interface on PIX DMZ and then to run WCCP between Content Engine and Out
-
Notifying other checkboxes to toggle the state within an Action
Hello, I created an action that toggles visibility of one dialog. There is a JCheckBoxItem in the menu and JToogleButton on the toolbar. Both with this action deployed (with setAction() method). When user click on the menu item checkbox it do not tog