HI all I need help from that.
Voltech PM100 and PM300 driver are missing from the site. could any one kindly offer a help to share me any relate vi files. I require it for log data in the meantime. billions thanks, appreciated.
HI all I need help from that.
Voltech PM100 and PM300 driver are missing from the site. could any one kindly offer a help to share me any relate vi files. I require it for log data in the meantime. billions thanks, appreciated.
I need help from that.
Voltech PM100 and PM300 driver are missing from the site. could any one kindly offer a help to share me any relate vi files. I require it for log data in the meantime. billions thanks, appreciated.
Click here. Then click on hardware drivers -> NI DAQmx.
The site will show you the complete DAQmx driver list. The newest version is 18.1.0
Hello Everyone,
Attached a subVI that is used in a larger VI to control temperature acquisition from a cDAQ 9174. The VI itself works. However, due to some hardware fault (most likely a bad USB 2.0 A cable) the cDAQ disconnects freezing/crashing the whole application. Now, of course we are going to substitute the faulty hardware, however I was wondering if there is a way to pause a loop like the one attached to this post when the DAQ channel is not detected and have the VI start again once the channel is connected again.
Thank you,
Michele
Hello all,
I have a strange issue. I create TDMS files within Labview that I want to analyse afterwards in Diadem. However when I (accidentally) save the TDMS in Diadem I have issues with numbers in the properties when loading the files in Labview again. I load all property values as text and as long as the number is an integer (1; 2; 3; etc) there seems to be no problem, but as soon as it has a Sientific notation (65.00000000000000000000E+0) the "TDMS Get Properties" VI gives me an empty result. Any idea?
Regards,
Jeroen
Totally agree with you ! In my opinion this behavior is unacceptable. It's just another example for a unnecessary complicated implementation in this overaged software. That's why they put NXG on the market with a brand new concept ... we will see - the change is overdue.
You can always do the google search for someone else.
There is one problem. Data is coming like HEX byte. Not as string.
So my bytes FFFF is in string this character ˙˙.
So I've found only the possibility to convert that into byte array.
The biggest peak will be at 110, which is closest to 105.1 Hz, but it's a "crude" estimate, so you can't expect it to be precise.
I know that with this resolution i can not expect precise and Sharp peak but in this scenario(with this sample rate and Number of sample) if i want to find Energy that distributed to near frequency(I have some "signal" at 80 Hz, some at 90 Hz, some at 100 Hz, some at 110 Hz, some at 120 Hz) which estimation is good whether taking Quadratic mean or just average that can give me magnitude near to 0,7071. That is the problem i am facing.
wrote: Suppose you sample 20,000 points at 1 kHz, for a resolution of 0.05 Hz. Your FFT would be a single "sharp" peak, with magnitude of 0.7071 (which you might realize is sqrt(2)/2, the correct answer)
In this case my acquisition become slow and i read data or update graph after every 20 Sec (Because 1k sample rate and 20k Sample to read). I am doing computation on fly so i want acquisition to be fast and once measurement taken, I shift to next frequency.
Try to reduce the timeout in DAQmx Read. It will give an error if the data is not acquired within that timeout period.
Your 6251 can handle this easily with a buffered, hardware-timed task.
Start with the shipping example ("Help-->Find Examples...") for continuous voltage input. It can easily keep up with a constant 100 Hz sample rate (10 msec intervals) and the timing intervals will be hardware-precise.
I would recommend you acquire both the control and the response signal (2 channels) as an easy way to correlate your data.
-Kevin P
wrote:
I am receiving 26 bytes. Is it posible to work like that:Read bytes, and when 2 bytes of head appear, read next 24 bytes.
Or is it some better solution for reading like that?
You give a lot better information than most when asking these types of questions.
So one thing to hit first: Since we are dealing with raw/binary/hex data, make sure the Termination Character is turned OFF. It defaults to TRUE with the VISA Configure Serial Port. So just set that input to FALSE.
Now as far as code structure, I have found it best to read 1 byte at a time until you read 0xFF. Then you read another byte and verify it is also 0xFF. If verified, read the rest of your message (24 bytes). Then you can repeat the process from there. I say to read 1 byte at a time instead of 2 because you could be out of sync by that 1 byte and you will therefore never catch the FFFF. Using your example, you could read 89FF and then FFF4. Neither of your two reads would match your FFFF requirement and you miss your entire message. So read 1 byte at a time to find the sync.
Note 1: Notice the FF constants. I have those set to be in Hex display. Right-click on the string constant and choose Visible Items->Display Style. You should see a little 'n' show up as part of the constant. That is showing you are in "Normal" display. You can then click on that 'n' and choose Hex Display.
Note 2: All FALSE cases just pass the VISA Reference and error straight through.
Hello. I found a program in the attachment that I think can resolve the problem. However, when I run it, there is an error 7 as shown in the png file below.
How can I fix the error please?
How can I replace Lakeshore 340 in the program with Lakeshore 330?
Is there a way to change the big blue coordinates in the front panel of the
program such as x-axis to be voltage and y-axis to be current please?
Thank you.
https://forums.ni.com/ni/attachments/ni/170/843298/1/IV_T_2602A.vi
Hello Zhaoyong,
Currently I am not working on this project. But I found this example from NI which comes very near to my case: Synchronize XNET CAN with X Series DAQ
I also got one code from a collegue, which is working but it's written in CVI. I can tell from the code that it's all about the initialization of the DAQ and XNET.
Kind regards,
Zweimercedes
wrote: I hope its better to read all data bytes in the serial Buffer at once and Process a String Operation to Find the header and Data payload.
As somebody who did that early in his career, I can tell you that that is NOT the way to do it. It led to nothing but slow processing and major memory issues. Use the VISA buffer and read only what you need for your message and then use a Producer-Consumer to pass that message on to another loop for actual processing. This becomes especially needed when you have constant data coming through the serial port.
Hello i'm trying to build an Web Panel for our customer using LabVIEW NXG with the Web Module.
To customize the controls and indicators (objects) there are some examples in css.
But if you dont know the nested structure and attributes of an object you cant manipulate the design. Especially the black border around some of the controls e.g.
ni-string-control { background-color: transparent; border-color: transparent; }
the background color will be set to transparent - but the border-color will be ignored.
So I'm searching for some attributes of the ni-string-control - but could not find any.
Please help me ! thanks a lot
Helo Everyone, I am having issues again with ActiveX. i had pretty much the same code working last week. but now, the system is throwing out error as:
Error -2146827284 occurred at Unknown System Error in OpenXL_Workbook.vi-
I'm not sure if our IT has made any upgrades to Windows or what happened -- but I'm just lost n down!
I have moved to Labview 2017, Win10, Office 2016. The original code in which OpenXL_Workbook was written was developed in Labview 2011, Win7, Office 2013.
any clues? I have tried removing Outdated references as mentioned by someone before, but that didn't help.
Hi,
Please find attached screen shot of block diagram and Convert U8 frame to channel.vi(From Frame channel conversion library)
I developed VI to convert received CAN frame data into channel data but scaled channel data does not match with received frame data.
Please provide solution to match the data mentioned above.
Regards,
Sanket
Just a little followup that might help you get started on that algorithm.
Given the protocol as you've described it, and my warning that the first "0x0D" byte you happen to see may *NOT* actually be the 1st byte of the 10-byte packet:
1. Within any set of 10 consecutive bytes you read, 1 of them *will* be the first byte of the packet. And its value will be 0x0D.
2. If it's the *only* 0x0D value in a set of 10, congrats, you've established your proper framing.
3. If there are other 0x0D values, then you can treat each as a candidate, rotate the string to put it at the beginning of the string, then test whether the 9 following bytes would all have valid values according to the protocol. (Some of the bitflag bytes imply that only 1 bit would be high. Bytes 2,4,5. Byte 6 also only has a small # of valid values.)
4. If only one candidate passes the test, congrats again. Else, keep trying with another set of 10 bytes.
If this doesn't work, then the protocol description is either wrong or incomplete.
Note: I would definitely not rule this out! Its ambiguity already lets us know that it was ill-considered, making it that much more likely that there was also carelessness in the implementation.
Over the years, I've seen a *lot* of anomalies in serial communication that couldn't have been anticipated from the concise protocol description. (Recent example: a device that sporadically reports status update messages in a way that essentially inserts its string into the midst of a normal data string. Must be a higher priority interrupt on the device that pushes its characters to the serial buffer when the normal process was part way through pushing its characters there.)
If the actual communication is not *exactly* as described in the docs, you'll have a lot more work ahead.
-Kevin P
Thanks kartiknattar, however I wonder if there is a way to bypass displaying the error and stop the program. I'll try to explain better. I would like the application to keep on running and waiting for the user to reconnect the DAQ rather than stop and restart. I am not sure that is possible that is why I am asking it here in the forum.