Hi..can you please tell me how fault detection module work in LabVIEW it is in sound and vibration toolkit..i want to connect accelometer on bearing so i want to take bearing fft or frequently data so please help me regarding it..
I learned so much from this video, that 50103 error work around and that timing property was really helpful, also you explained NI-DAQmx really well, I'm trying to move away from Express VIs, thank you!
This is a great videos for us novice people, but I'm pretty sure LabVIEW experts are closing their eyes, don't worry about them, they're just too picky hhhh
It's great video that inspired me , but i want to plot voltage as a function of temperature or by another mean i want lab view to record the values of voltage at a certain value of temperature the xy plot will be like that V(T) versus T
That sounds good, just replace time input with temperature. Depending on your experiment, you could add some logic triggers or a manual button to start data collection. I recommend keeping time data in the data spreadsheet. Good luck!
Thanks for watching. Unfortunately I currently don't have the resources to make that content. I am about to start a project with DIO and relay modules though.
I know that it doesn't work for analog output, but not sure about current input. I will take a look later and try to get back to you. I have never had good luck with measuring current, especially when trying to measure current and voltage from the same module on different channels, it seems to break the circuit when it measure voltage. Measuring current and voltage from two individual modules works fine. If I only have one module to work with then I usually measure voltage across a known resistor and calculate current. As long as temperature doesn't change it should be reliable.
Quick question: is it possible to collect data from multiple physical channels on the same task and scale data from each channel in their own independent scales?
I don't know of any limit to the number of thermocouples that you can plot. You can also add a legend to the plot to select which series to display. Your physical DAQ device will only have so many inputs. This specific device had only 4 channels, so that is the maximum.
Hi. I´ve got some problems with data aquisition immediately stop after the vibration system off. It´s 3 simultenously aquisition wich is temperature, acceleration, amplifier voltage and one vibration control as an output signal. My goal is to sincronize the start and stop of all inputs and outputs after all times out fineshed. If you have a video wich can bring me under light, I´ll apriciate. Thanks
This is one of the most helpful videos about Labview DAQ technique, thanks! Regarding the multichannel data acquisition, does the program you've shown consider any synchronization issues? Could you please give some guide about the sampling clock things?
I am not familiar with your question, and it may be beyond my skill level. One issue to consider is the time delay between two different physical channels, both are given the same time value in this example. For most experiments it is negligible, but could be a problem if you have many channels at small time intervals.
would you able to help me for real-time image processing. I couldnt find detailed video for it. I dont know how to save frames in real time and process it.
Hi Mustafa. I am not experienced with image processing on LabVIEW, but it seems NI offers some resources on this subject. You may start here and find examples from NI. www.ni.com/en-us/shop/data-acquisition-and-control/add-ons-for-data-acquisition-and-control/what-is-vision-development-module.html www.ni.com/en-us/innovations/white-papers/06/image-processing-with-ni-vision-development-module.html#section--134902382
Hi, I am getting an error while using DAQ Assistant. The error message is "the top-level vi was stopped at wire on the block diagram of daqmx timing (sample clock)". Even a simple DAQ assistant is not working. I am using NI USB 6341 and Labview version 2021. I have verified the version of DAQmx and repaired it and even installed it again. But nothing worked. Can you please suggest what would be the problem?
Hi do u have a playlist with more labVIEW tutorials?. I am trying to use digital lines to make an spi master with daqmx to interact with another microcontroller
No sorry, I do not have a playlist and this is the only video I made for a class I taught. Sounds like an interesting project. You can check the NI website, they have many resources.
Great Video, extremely helpful! Got 2 questions: 1) I don't see the option to set the ADC Timing mode to High Speed; Under Digitizer/ADC there's only resolution and raw sample unit/value, and dither. Is it cause my device USB-6002 doesn't support such option? 2) Does daq assistant have high speed option? and is there any reason to use DAQmx instead of assistant?
@Dreamstar1 I just tried it and also could not find the AI.ADC property. Perhaps there was an update since this video that changed something. I was able to find it though. Try this: 1) Right click on the property node 2) Click on "Select Filters..." 3) Switch to "Show All Attributes" That should let you change the Timing Mode. I am not sure about DAQ Assistant, I am unable to test it without a device currently. If you cannot find it, you could change the DAQ Assistant to NI-DAQmx Code by right clicking on it. DAQ Assistant is convenient, but it is like a blackbox. I prefer to have more control over the code.
Are you able to create one build array for the graph? I have 16 channels I need to measure and graph, it seems doing 16 build array vi is alittle much.
Yes, you can reduce it to 2 build arrays using a for-loop. I will try to send you a picture through DM. Basically you need to put the 1D array of cluster (that goes into the XY graph) on a shift register on the while loop, send it into the for-loop, then index the 1D array to pull out the individual elements of cluster data based on the loop-count, then unbundle that into the 1D array of X-data and Y-data, then from there you can add onto that 1D array of X-data and Y-data for each channel based on the loop-count, then re-bundle those two 1D arrays into a cluster that is sent to the edge of the for-loop which is set to indexing which will build the 1D array of cluster data that is sent into the XY graph and shift register.
I am not sure about that. The thermocouple type is specific to the materials it is made from, giving an empirical Seebeck coefficient which is used by the VI to transduce its voltage to temperature. You could manually make this calculation and calibration, if you switch to read Voltage and add some math to convert to temperature. However, Seebeck coefficient is also a function of temperature. I am not sure if the VI or thermocouple devices take this into account, or just make a linear approximation. That is probably why some thermocouples are more suitable for different temperature ranges.
Great video, thanks for sharing. Do you have any recommendations to ensure that the two data sets you collect are measured simultaneously? By linking the two Read SubVIs with the error, you essentially delay the second one by a little bit of time. Any advice? Thank you
Yes, you are correct, there will be some time delay between the two data sets, but it will be on the order of milliseconds or less. You could probably get an estimate of the time lost if you add a time stamp before the first data set and after the read. The difference will be negligible for most general data acquisition purposes. One thing you can try is changing from single sample to N-sample in the read.vi. I am not too experience with using the n-sample data collection, but you should be able to collect n-samples of data within a time frame that gets output together. That might help you if you require collecting data very quickly.
how much resolution does High resolution relative seconds actually provide ? and if I am collecting data from a daq assitant, is this time stamping stamping technique feasible ?, also please explain how to insert software defined start stop triggers in the same program....
This I do not know. You can take a look at the relative seconds time resolution manually by collecting the time data without a delay limit. You may have to change your data type to include more decimals.
Hi, this is really helpful. I do have a couple of questions though. Do you think this would be adapted to support 40 channels, and my DAQ doesn't support timing mode so do you have any recommendations for replacement? I am looking to sample at about 10 Hz, thanks in advance!
It has been a while since I last used LabView so I am not certain. The sampling rate will also be limited by your physical device, so make sure it allows those rates. You may want to try measuring N samples instead of single sample mode, but the data output will be an array I think, and you will have to figure out how to control the sampling rate in a different way. For 40 channels you might consider making a for loop structure to separate the data.
HI, could you give please me any tips on connecting LabVIEW with third-party software? I am having trouble connecting with this software called Autowave to control EMtest.
I am not sure. You may start looking here if you have not already. www.ni.com/en-us/innovations/white-papers/13/hardware-integration-with-ni-labview.html
Try this: 1) Right click on the property node 2) Click on "Select Filters..." 3) Switch to "Show All Attributes" That should let you change the Timing Mode.
Hi Sir, thanks a lot for sharing this useful information. See if I am acquiring a voltage signal with this program, how can I measure and display the frequency of the signal? Thank you.
Hello Adriano, it depends on what type of signals you are trying to measure. First you need to make sure your hardware is able to measure at such frequencies. The devices I use in this example are not able to collect data at high frequencies, so you would not be able to measure frequency of AC signals unless they are very low frequency. To display the data you could use a waveform chart and update the chart history length to view the frequency. There should also be some oscilloscope and trigger VIs that you can look into.
For some reason my daqmx channel node does not give me the option for timing. It just allows me to pick between resolution units, resolution value, raw sample size, raw sample justification, and dither. Any idea why? Using labview 2019 and 2020
@@dipsylogic1715 Did that work for you? There must have been an update since this video because I am also unable to find it by default anymore. I can find it if I right click on the property node, "select filters...", then "show all attributes..."
hi sir, this is the first semester of using this cool software for me at my college and I'm having a project on this class. I got the idea of my project but not sure where to start! I am trying make a mass balance for evaporation of water so what should i use for the sensor? like temperature sensor to measure the temp of water when it raises to 100C would be enough then the rest will be coding in LabVIEW? I have no clue about the starting point . It will be much appreciated if you help me on the start. Thank you
Sounds like a good project. You want to monitor temperature and mass? Do you want to control temperature too? Measuring temperature using a thermocouple will be straight forward, like what you see in this video. Measuring mass will be more difficult, you will need to look into what type of sensor you will use. There are different type of mass/weight sensors, and they have different sensitivities. One thing to look out for is the input requirement of the sensor, either voltage or current requirement. You will need to make sure your LabVIEW device or microcontroller can supply the required output to the sensor, or if the sensor needs to be externally powered. To measure the sensor, there might be some pre-made .VIs associated with the sensor that you can download and use in your LabVIEW program, but if not you will have to make your own and calibrate it. Most likely you will be measuring voltage, and make a program that translates voltage into mass. If you want to control the temperature of the heater, that can also be done using a PID function in LabVIEW. This will help turn the heater on and off to maintain a set point temperature. It is better than manually turning the heater on and off around a set temperature because it can predict future temperature change. The heater controller will require an external power source, such as AC from the outlet. You can use a solidstate relay to control the AC power on/off to the heating element. Use LabVIEW to send the on/off signal to the relay, but make sure the current requirement of the relay sense is within the output of the LabVIEW device.
@@ZGNeale those are really helpful and useful info for me! I now got better idea on the start point. Thanks a lot sir. And yes probably I’m gonna do both measurements for mass&temperature.
Hey I am using this for a school project but, I need to be able to average the data into 60 second data points is there anyway to do this ???? would be a huge help
You want to average data into 60 s intervals, correct? Just thinking about it, I would add a CASE structure into the WHILE loop, the case selector is hooked up to some boolean logic to turn false after 60 s -- to do this I would put a "relative seconds" vi inside the FALSE case, wire this outside the case structure and to the edge of the WHILE loop, turn this into a shift register to the beginning of the WHILE loop, then subtract this from the current step time to get the time elapsed since the beginning of averaging. Make boolean logic to return TRUE when this elapsed time is less than 60 s. So, when elapsed time is 60 s it switches to the FALSE case and the timer starts over again so that it only runs the FALSE case once every 60 s. You will also need to wire the line from the left shift register into the CASE structure, in the TRUE case wire it directly to the empty tunnel on the right side of the case structure, this way it passes that original value back to the beginning of the while loop each time (until it is FALSE). Wire both your x- and y-data lines (should be just single element data) into the CASE structure. In the FALSE case, use 2 BUILD ARRAY functions that only have 1 element each to build each element into a 1D array (we are just need to change the data type into 1D array), wire this to the right side of the CASE structure and to the right side of the WHILE loop, turn this into a shift register, then from the return shift register on the left side of the WHILE loop wire it back into the CASE structure. In the TRUE case add 2 BUILD ARRAY functions each with 2 elements, wire the 1D x- data into the top element and the single x-data into the bottom element (we are building a 1D array of all x-data over the last 60 s), do the same thing for the y-data in the other build array function. Wire these into the empty tunnels on the right side of the CASE structure. So now your case structure is building up your data for 60 seconds and then restarting the 1D arrays when it enters the FALSE case, now you need to average the arrays after 60 seconds. I would add two MEAN functions into the FALSE case, wire each 1D data array into the MEAN function, it will output the average of the array that was previously built up over 60 s. Now you need to figure out how to plot only the averaged data every 60 s. I would BUILD another array of your average x- and average y-data, have it go through the case structure, it only BUILDS onto the array in the FALSE case, otherwise it just passes straight through the TRUE case. Have these lines plot the data outside the CASE structure. I think this will work, but not sure since I don't have labview on my home computer to try it out. There might be an easier way to do this, but I am not sure. Let me know how you solve this problem or if you have any other questions. Good luck! If it is too messy for your main VI, I suggest putting all the boolean and case structure into another subvi, then add it to your main vi.
@@dariusboyce360 ah, my mistake, guess you shouldn't be averaging your time data. In that case you do not need to build it into an array, but still have it pass through the case structure. The averaged y-data in the False case will go with the time data in that False case and that will be your x,y coordinate, build those x,y coordinates into an array to make your data series that you can graph. The y-data is whatever you want averaged.
For serial port you will need to use the VISA Read.vi under Instrument I/O palette. You can look at examples in LabVIEW > Help > Find Examples... > Hardware Input and Output > Serial > Simple Serial.vi
What type of sensor? This example uses an NI-9219 module which can be used to measure analog voltage output from a sensor. Specifically this video covers how to plot and save data in LabVIEW, the device collecting data does not necessarily need to be a NI-DAQmx physical device.
@@cch1806 I've never worked with pressure transducers before, but if it can output a voltage then you can measure and plot it in LabVIEW. If it is not linear because of the different sensitivity you could make a program to convert voltage into pressure on LabVIEW, but you would need to know the sensor characteristics.
I couldn't find the file for the example I made in the video. I found a similar example but it doesn't include the save data part. drive.google.com/file/d/1JehVq28uyhxEeDsaxRxdp305SgF2fomH/view?usp=sharing
You do for both if you want time data. The single sample analog read does not provide any time data to my knowledge... Actually... it might if you use a waveform chart or some other type of chart. I haven't investigated.
This is pure gold.
Simple and straight forward explanation to use as a jumping off point.
Excellent! I never saw a tutorial with so detailed explanation. Thank you!
Best tutorial ever. Exacly what I needed.
Bro, I'm doing my final project for the university and i think you have saved me man. Thank you for this video
Cool, good luck!
Hi..can you please tell me how fault detection module work in LabVIEW it is in sound and vibration toolkit..i want to connect accelometer on bearing so i want to take bearing fft or frequently data so please help me regarding it..
11 months later and here i am in the same situation
@@khamisi__6378 Feel you man. Luckily I'm finishing it :D
Here i am 1 year later trying to set up a daq for a 12 channel system for my capstone.... thank you
Thank you so much for this video. I am a self taught labview amateur and this has been such a great resource video for me.
This video provided me with everything I needed to get me through my Mecharonics Project. Thank you sir. I learned so much here.
I learned so much from this video, that 50103 error work around and that timing property was really helpful, also you explained NI-DAQmx really well, I'm trying to move away from Express VIs, thank you!
Simple! Clear! Powerful! Thank you so much for your useful video
best Tutorial on UA-cam that i ever seen !! thank you
Thank you so much. You can't know how much that means.
Thank you very much for this video. Love from India
Thanks a lot for such a wonderful work and explanation 👍
Very helpful, I learned a lot from this video. Thank you for making this tutorial.
Excellent!! Thank you so much, got to learn so many functions at one go. It helped me a lot, thank you once again.
This is exactly, I'm looking for. Thank you so much.
This was an amazing video...Thank you!
Time to learn using labview software = 30 minutes.
Time to understand software applications in NI catalogue = 30 years
Thanks a lot for the help.
great video, thanks for sharing!
Great Tutorial
Thanks. It was very helpful!
This is a great videos for us novice people, but I'm pretty sure LabVIEW experts are closing their eyes, don't worry about them, they're just too picky hhhh
this video is also very good for saving data.
Thanks.
Very good. Thanks.
It's great video that inspired me , but i want to plot voltage as a function of temperature or by another mean i want lab view to record the values of voltage at a certain value of temperature the xy plot will be like that V(T) versus T
That sounds good, just replace time input with temperature. Depending on your experiment, you could add some logic triggers or a manual button to start data collection. I recommend keeping time data in the data spreadsheet. Good luck!
Great buddy
Helpful for my work
Thanks
You da man!!! Thanks!!!
A nice video! But I'd like to know how to achieve data writing simultaneously in your case? Thank you!
This is awesome!
thanks so much it helped me a lot !!
Excellent video. Thank you!
I have a question: I want to measure two types of thermocouple. How could I do that?
Zachary, this is great! Any examples for talking to ni PXI modules (DMM, Relay, DIO, MUX, etc.)?
Thanks for watching. Unfortunately I currently don't have the resources to make that content. I am about to start a project with DIO and relay modules though.
@@ZGNeale Looking forward to those video(s)...
Thanks. ❤
Hi great video, I am wondering if you can help with a current input? the AI.ADC property node doesn't work with this type.
I know that it doesn't work for analog output, but not sure about current input. I will take a look later and try to get back to you.
I have never had good luck with measuring current, especially when trying to measure current and voltage from the same module on different channels, it seems to break the circuit when it measure voltage. Measuring current and voltage from two individual modules works fine. If I only have one module to work with then I usually measure voltage across a known resistor and calculate current. As long as temperature doesn't change it should be reliable.
Can you please make video on fault detection... sound and vibration toolkit example.. please suggest me
Helpful
Quick question: is it possible to collect data from multiple physical channels on the same task and scale data from each channel in their own independent scales?
thanks bro!!! you save me!!!
Thank you Zachary Neale, you saved my life. Quick question, how many thermocouples can be included in this configuration?
I don't know of any limit to the number of thermocouples that you can plot. You can also add a legend to the plot to select which series to display.
Your physical DAQ device will only have so many inputs. This specific device had only 4 channels, so that is the maximum.
Hi. I´ve got some problems with data aquisition immediately stop after the vibration system off. It´s 3 simultenously aquisition wich is temperature, acceleration, amplifier voltage and one vibration control as an output signal. My goal is to sincronize the start and stop of all inputs and outputs after all times out fineshed. If you have a video wich can bring me under light, I´ll apriciate. Thanks
How do you back up a PXI-1031?
This is one of the most helpful videos about Labview DAQ technique, thanks!
Regarding the multichannel data acquisition, does the program you've shown consider any synchronization issues? Could you please give some guide about the sampling clock things?
I am not familiar with your question, and it may be beyond my skill level. One issue to consider is the time delay between two different physical channels, both are given the same time value in this example. For most experiments it is negligible, but could be a problem if you have many channels at small time intervals.
would you able to help me for real-time image processing. I couldnt find detailed video for it. I dont know how to save frames in real time and process it.
Hi Mustafa. I am not experienced with image processing on LabVIEW, but it seems NI offers some resources on this subject. You may start here and find examples from NI.
www.ni.com/en-us/shop/data-acquisition-and-control/add-ons-for-data-acquisition-and-control/what-is-vision-development-module.html
www.ni.com/en-us/innovations/white-papers/06/image-processing-with-ni-vision-development-module.html#section--134902382
Hi, I am getting an error while using DAQ Assistant. The error message is "the top-level vi was stopped at wire on the block diagram of daqmx timing (sample clock)". Even a simple DAQ assistant is not working. I am using NI USB 6341 and Labview version 2021. I have verified the version of DAQmx and repaired it and even installed it again. But nothing worked. Can you please suggest what would be the problem?
Hi do u have a playlist with more labVIEW tutorials?. I am trying to use digital lines to make an spi master with daqmx to interact with another microcontroller
No sorry, I do not have a playlist and this is the only video I made for a class I taught. Sounds like an interesting project. You can check the NI website, they have many resources.
Thank you for the nice lecture. Can I use Daq assist to do the same? Is it not easier? Is there an advantage of following this method?
Yes, Daq assist is probably an easier approach. I teach this method to students so they have an understanding of how the data is collected.
Great Video, extremely helpful!
Got 2 questions:
1) I don't see the option to set the ADC Timing mode to High Speed;
Under Digitizer/ADC there's only resolution and raw sample unit/value, and dither.
Is it cause my device USB-6002 doesn't support such option?
2) Does daq assistant have high speed option? and is there any reason to use DAQmx instead of assistant?
@Dreamstar1
I just tried it and also could not find the AI.ADC property. Perhaps there was an update since this video that changed something. I was able to find it though. Try this:
1) Right click on the property node
2) Click on "Select Filters..."
3) Switch to "Show All Attributes"
That should let you change the Timing Mode.
I am not sure about DAQ Assistant, I am unable to test it without a device currently. If you cannot find it, you could change the DAQ Assistant to NI-DAQmx Code by right clicking on it.
DAQ Assistant is convenient, but it is like a blackbox. I prefer to have more control over the code.
@@ZGNeale Thank you sir, useful
Are you able to create one build array for the graph? I have 16 channels I need to measure and graph, it seems doing 16 build array vi is alittle much.
Yes, you can reduce it to 2 build arrays using a for-loop. I will try to send you a picture through DM. Basically you need to put the 1D array of cluster (that goes into the XY graph) on a shift register on the while loop, send it into the for-loop, then index the 1D array to pull out the individual elements of cluster data based on the loop-count, then unbundle that into the 1D array of X-data and Y-data, then from there you can add onto that 1D array of X-data and Y-data for each channel based on the loop-count, then re-bundle those two 1D arrays into a cluster that is sent to the edge of the for-loop which is set to indexing which will build the 1D array of cluster data that is sent into the XY graph and shift register.
I don't know how to DM you on youtube, so please send me an e-mail if you would like a picture of the VI. zgneale@uw.edu
does Channel Calibration Wizard calibrate the thermocouples?
I am not sure about that. The thermocouple type is specific to the materials it is made from, giving an empirical Seebeck coefficient which is used by the VI to transduce its voltage to temperature. You could manually make this calculation and calibration, if you switch to read Voltage and add some math to convert to temperature. However, Seebeck coefficient is also a function of temperature. I am not sure if the VI or thermocouple devices take this into account, or just make a linear approximation. That is probably why some thermocouples are more suitable for different temperature ranges.
Putting TC2 (C) to while loop shows pure class:😂🤣
zachary have a project need your expertise how do i get in touch with you?
Great video, thanks for sharing. Do you have any recommendations to ensure that the two data sets you collect are measured simultaneously? By linking the two Read SubVIs with the error, you essentially delay the second one by a little bit of time. Any advice? Thank you
Yes, you are correct, there will be some time delay between the two data sets, but it will be on the order of milliseconds or less. You could probably get an estimate of the time lost if you add a time stamp before the first data set and after the read. The difference will be negligible for most general data acquisition purposes.
One thing you can try is changing from single sample to N-sample in the read.vi. I am not too experience with using the n-sample data collection, but you should be able to collect n-samples of data within a time frame that gets output together. That might help you if you require collecting data very quickly.
@@ZGNeale thanks!
how much resolution does High resolution relative seconds actually provide ? and if I am collecting data from a daq assitant, is this time stamping stamping technique feasible ?, also please explain how to insert software defined start stop triggers in the same program....
This I do not know. You can take a look at the relative seconds time resolution manually by collecting the time data without a delay limit. You may have to change your data type to include more decimals.
Hi, this is really helpful. I do have a couple of questions though. Do you think this would be adapted to support 40 channels, and my DAQ doesn't support timing mode so do you have any recommendations for replacement? I am looking to sample at about 10 Hz, thanks in advance!
It has been a while since I last used LabView so I am not certain. The sampling rate will also be limited by your physical device, so make sure it allows those rates. You may want to try measuring N samples instead of single sample mode, but the data output will be an array I think, and you will have to figure out how to control the sampling rate in a different way.
For 40 channels you might consider making a for loop structure to separate the data.
HI,
could you give please me any tips on connecting LabVIEW with third-party software? I am having trouble connecting with this software called Autowave to control EMtest.
I am not sure. You may start looking here if you have not already. www.ni.com/en-us/innovations/white-papers/13/hardware-integration-with-ni-labview.html
I'm unable to access the ADC TimingMode. I'm using a USB 6356 device. Any advice? Please.
Try this:
1) Right click on the property node
2) Click on "Select Filters..."
3) Switch to "Show All Attributes"
That should let you change the Timing Mode.
Nice!
Hi Sir, thanks a lot for sharing this useful information. See if I am acquiring a voltage signal with this program, how can I measure and display the frequency of the signal? Thank you.
Hello Adriano, it depends on what type of signals you are trying to measure. First you need to make sure your hardware is able to measure at such frequencies. The devices I use in this example are not able to collect data at high frequencies, so you would not be able to measure frequency of AC signals unless they are very low frequency.
To display the data you could use a waveform chart and update the chart history length to view the frequency. There should also be some oscilloscope and trigger VIs that you can look into.
@@ZGNeale Thank you!
For some reason my daqmx channel node does not give me the option for timing. It just allows me to pick between resolution units, resolution value, raw sample size, raw sample justification, and dither. Any idea why? Using labview 2019 and 2020
Well, I tried throwing in an actual daqmx timing vi/function/node and that seemed to work.
@@dipsylogic1715 Did that work for you? There must have been an update since this video because I am also unable to find it by default anymore. I can find it if I right click on the property node, "select filters...", then "show all attributes..."
@@ZGNeale yeah it worked. Good to know I’m not crazy! Lol
hi sir, this is the first semester of using this cool software for me at my college and I'm having a project on this class. I got the idea of my project but not sure where to start! I am trying make a mass balance for evaporation of water so what should i use for the sensor? like temperature sensor to measure the temp of water when it raises to 100C would be enough then the rest will be coding in LabVIEW? I have no clue about the starting point . It will be much appreciated if you help me on the start.
Thank you
Sounds like a good project. You want to monitor temperature and mass? Do you want to control temperature too?
Measuring temperature using a thermocouple will be straight forward, like what you see in this video.
Measuring mass will be more difficult, you will need to look into what type of sensor you will use. There are different type of mass/weight sensors, and they have different sensitivities. One thing to look out for is the input requirement of the sensor, either voltage or current requirement. You will need to make sure your LabVIEW device or microcontroller can supply the required output to the sensor, or if the sensor needs to be externally powered. To measure the sensor, there might be some pre-made .VIs associated with the sensor that you can download and use in your LabVIEW program, but if not you will have to make your own and calibrate it. Most likely you will be measuring voltage, and make a program that translates voltage into mass.
If you want to control the temperature of the heater, that can also be done using a PID function in LabVIEW. This will help turn the heater on and off to maintain a set point temperature. It is better than manually turning the heater on and off around a set temperature because it can predict future temperature change. The heater controller will require an external power source, such as AC from the outlet. You can use a solidstate relay to control the AC power on/off to the heating element. Use LabVIEW to send the on/off signal to the relay, but make sure the current requirement of the relay sense is within the output of the LabVIEW device.
@@ZGNeale those are really helpful and useful info for me! I now got better idea on the start point. Thanks a lot sir. And yes probably I’m gonna do both measurements for mass&temperature.
Hey I am using this for a school project but, I need to be able to average the data into 60 second data points is there anyway to do this ???? would be a huge help
You want to average data into 60 s intervals, correct? Just thinking about it, I would add a CASE structure into the WHILE loop, the case selector is hooked up to some boolean logic to turn false after 60 s -- to do this I would put a "relative seconds" vi inside the FALSE case, wire this outside the case structure and to the edge of the WHILE loop, turn this into a shift register to the beginning of the WHILE loop, then subtract this from the current step time to get the time elapsed since the beginning of averaging. Make boolean logic to return TRUE when this elapsed time is less than 60 s. So, when elapsed time is 60 s it switches to the FALSE case and the timer starts over again so that it only runs the FALSE case once every 60 s. You will also need to wire the line from the left shift register into the CASE structure, in the TRUE case wire it directly to the empty tunnel on the right side of the case structure, this way it passes that original value back to the beginning of the while loop each time (until it is FALSE).
Wire both your x- and y-data lines (should be just single element data) into the CASE structure. In the FALSE case, use 2 BUILD ARRAY functions that only have 1 element each to build each element into a 1D array (we are just need to change the data type into 1D array), wire this to the right side of the CASE structure and to the right side of the WHILE loop, turn this into a shift register, then from the return shift register on the left side of the WHILE loop wire it back into the CASE structure. In the TRUE case add 2 BUILD ARRAY functions each with 2 elements, wire the 1D x- data into the top element and the single x-data into the bottom element (we are building a 1D array of all x-data over the last 60 s), do the same thing for the y-data in the other build array function. Wire these into the empty tunnels on the right side of the CASE structure. So now your case structure is building up your data for 60 seconds and then restarting the 1D arrays when it enters the FALSE case, now you need to average the arrays after 60 seconds. I would add two MEAN functions into the FALSE case, wire each 1D data array into the MEAN function, it will output the average of the array that was previously built up over 60 s.
Now you need to figure out how to plot only the averaged data every 60 s. I would BUILD another array of your average x- and average y-data, have it go through the case structure, it only BUILDS onto the array in the FALSE case, otherwise it just passes straight through the TRUE case. Have these lines plot the data outside the CASE structure.
I think this will work, but not sure since I don't have labview on my home computer to try it out.
There might be an easier way to do this, but I am not sure. Let me know how you solve this problem or if you have any other questions. Good luck!
If it is too messy for your main VI, I suggest putting all the boolean and case structure into another subvi, then add it to your main vi.
@@ZGNeale I’m going to try this and see if it works but thanks for all the help you have been great keep up the work I can’t thank you enough
@@ZGNeale Also when you mention x data do you mean time elapses and when you mention y data do you mean voltage data and or the tc data ?
@@dariusboyce360 ah, my mistake, guess you shouldn't be averaging your time data. In that case you do not need to build it into an array, but still have it pass through the case structure. The averaged y-data in the False case will go with the time data in that False case and that will be your x,y coordinate, build those x,y coordinates into an array to make your data series that you can graph. The y-data is whatever you want averaged.
does the daqmx work with MyRio?
I have not used MyRio, but it looks like DAQmx will not work for Rio
@@ZGNeale it does not however most of the other stuff so your guide creates a great basis for multi channel reading thank you
what if the data logger using serial port? Do we need read first from serial port?
For serial port you will need to use the VISA Read.vi under Instrument I/O palette. You can look at examples in LabVIEW > Help > Find Examples... > Hardware Input and Output > Serial > Simple Serial.vi
@@ZGNeale thanks
@@ZGNeale so after read from VISA then connected with the virtual channel vi?
@@ZGNeale can you tell the data logger hardware and LabVIEW release year you used for this tutorial? Thanks again
@@artawina1 I think this was LabVIEW 2019. The module I was using was a NI 9219.
How about Sensor with different sensitivity?
What type of sensor? This example uses an NI-9219 module which can be used to measure analog voltage output from a sensor. Specifically this video covers how to plot and save data in LabVIEW, the device collecting data does not necessarily need to be a NI-DAQmx physical device.
@@ZGNeale Pressure Transducer, with different sensitivity.
@@cch1806 I've never worked with pressure transducers before, but if it can output a voltage then you can measure and plot it in LabVIEW. If it is not linear because of the different sensitivity you could make a program to convert voltage into pressure on LabVIEW, but you would need to know the sensor characteristics.
Thumbs up. Thanks for saving my ass.
is there anyway of sending me this file
I couldn't find the file for the example I made in the video. I found a similar example but it doesn't include the save data part.
drive.google.com/file/d/1JehVq28uyhxEeDsaxRxdp305SgF2fomH/view?usp=sharing
Why don't you need to build an array with time for the analog voltage signal DAQ, but you do for the thermocouple one?
You do for both if you want time data. The single sample analog read does not provide any time data to my knowledge... Actually... it might if you use a waveform chart or some other type of chart. I haven't investigated.