Jump to content

sts123

Members
  • Posts

    28
  • Joined

  • Last visited

Everything posted by sts123

  1. I have a LabVIEW VI that opens a REST client and, inside a While Loop, sends multiple HTTP POST requests to read data from sensors. The responses are converted to numeric values, displayed on charts/indicators, and logged to an XLSX file using Set Dynamic Data Attributes and Write To Measurement File, with the loop rate controlled by a Wait (ms). For timestamps I use Get Date/Time In Seconds that links to each of the Set Dynamic Attributes. The charts and displays appear to update correctly, but there are problems with the Excel logging. When the update rate is set higher than 1 sample/s, the saved magnitudes are wrong and are only correct at exact 1-second points (1 s, 2 s, 3 s, etc.); the values in between are incorrect. When the update rate is set to 1 sample/s, the values are initially correct, but after ~30 minutes the effective time interval starts drifting above 1 s. This looks like a buffering, timing, or logging issue rather than a sensor problem. I’ve attached the VI and would appreciate advice on how the VI should be restructured so that the values and timestamps written to Excel are correct and stable over long runs and at higher update rates. I am also attaching the vi where I tried to implement the buffer using the Feedback Node and Case Structure. However there is a problem as the Case Structure is never executed as the buffer at the start is 0. Json_getData_3.vi Json_getData_5_Buffer.vi
  2. I have this .vi that uses a multiple tasks, and recordings are saved into separate files for each tasks. Each task is meant to be recorded with different acquisition rates. From data postprocessing I realized that each task data are not time-synced. Is there any quick solution to fix this issue with my .vi? RR_Trigs_1.vi
  3. So, MATLAB or Python are more efficient to convert TMDS to .txt?
  4. You were right. How I could check if the there is not samples missing in-between splitting? This is my exporting vi: to_Asci_3_range_2.vi
  5. It does not throw the names as expected. to_Asci_3_range_2.vi
  6. My .vi works ok until input file is about 1GB in size. Otherwise, it doesn't run, throwing the error about memory. to_Asci_3_range.vi
  7. At the moment, when the tdms i split, every individual fiel has time stamp reset to 0 at the start. Is is possible to do it the way that each file has time stamps that are continuing without disruption right from the beginning?
  8. Any thoughts how can I add header to the file, that are the same name as channels names in the Task?
  9. I've done it like this. Not sure if this is efficient and can avoid missing samples during split. I am using high sampling rates. RR_Spliting_2.vi
  10. This worked as intended. Many thanks.
  11. Not sure what that is. Can you please guide me?
  12. I tired using Format into string, but then the result text file includes time stamp 4 times for each line of data, instead of doing just once.
  13. I have this .vi that converts the .TDMS to ASCII. However at the moment the time format is "00:00.000001 5.2041 0.2388 -0.0004 0.9106" for each line. How can I make it in seconds in scientific format so the data will show as "1e-6 5.2041 0.2388 -0.0004 0.9106"? Also how can the headers be added into the ASCII file? to_Asci_2.vi
  14. They use the same channels. OK, thanks. Good to know I cannot run two task with same channels simultaneously.
  15. Thanks for the .vi. Seem like the notifier is being passed to the new loop, as new .tdms file is created, but the loop inside the case structure is not being executed, hence the data is not being written into that file. The count stays at 0.
  16. Not sure if I understand... I want the loop when meets condition not to stop but carried on. At the moment there is an "OR" block that is connected to the LED and to the stop loop.
  17. Would it be possible, not to stop the recording of the low sampling rate, while the high sampling rate is also recording after the trigger?
  18. This is great. Many thanks for your help. All makes sense.
  19. Not sure if this is the right way of doing it. R_R_9_MTDS_Split_Rec_trig.vi
  20. Hi I want to create a logic to trigger an event with Case Structure block with Greater Than block, where the "x" value for the Greater Than is input coming from one of the channels value. I used Get Waveform Components to extract the "Y" value from waveform and wanted to use this as an input into the "x" for Greater thank block, however Case Structure does not accept this type. Any thoughts?
  21. So effectively I want to create a variables with file path and samples number.
  22. In task there is the option to split the file by spanning multiple files over the given number of samples. Any chance I can do this with the LabVIEW code, so I have control over the file names and samples per file? R_R_9_MTDS_2.vi
  23. Hi, I have this .vi project where I acquire data from the NI-Module and save it to TDMS. The acquisition rate for the TDMS is in the Resample Waveform block. However when I examine the TDMS in excel it does not match the expected number of samples recorded based on the chosen acquisition rate. I also tested it without the Resample Waveform block, when the rate is directly set in the Task, the TDMS again does not match the expected rate. Any thoughts? Regards R_R_9_single_channel_1.vi
  24. How do I postprocess automatically, so that the .tdms is converted into the delimited .txt file that includes the time and all channels involved columns. Also to have headers. See the .vi attached. R_R_9_MTDS_2.vi
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.