Quantcast
Channel: LabVIEW topics
Viewing all 67195 articles
Browse latest View live

Good practice to reduce I/O Node's FXP bit-width for FPGA Optimization?

$
0
0

I'm reading from some cRIO cards that output <+/-,24,10> FXP's which is *much* wider than I need it to be.  I'm reading in voltages that are always positive and less than 100V and I have a 1mV accuracy requirement.

 

Is it good practice to immediately add a "To Fixed-Point" primitive after the I/O node to reduce a <+/-,24,10> to a <+,17,7> (in this case) to save 7 bits per I/O channel and possibly more if I do any sort of math upon them?

 

 


NI 9237 Null Range

$
0
0

What is the range that the 9237 card can balance out using the bridge offset null calibration? I am writing a program that will be collecting four load cells with the 9237 card so I will be using 2.5V of excitation. Playing with my program with only one load cell connected I can use the bridge offset null to balance the bridge and it works fine with 10V excitation . When I put the excitation down to 2.5 Volts, I get an error -201398. With 2.5 Vex the offset value would be closer to zero, so I don't understand why it is having trouble trying to balance the bridge.

 

 

Software or Hardware troubleshooting?

$
0
0

I'm using an NI cDAQ-9172 chassis with LabVIEW 2016. I have been using a VI to test a product for over a year now, totaling several dozen successful tests. Each test runs for 3 seconds. I have one while loop which has four channels using NI 9482 which starts/ends the test of the system by opening/closing valves. This loop is stopped after three seconds using Elapsed Time. A notifier is used to stop the second while loop, which contains a DAQ assistant with eight channels. I acquire data at a rate of 1000 Hz using an NI 9211 and three NI 9215. On my last three tests, the data acquisition stopped for 1-2.5 seconds (never for a consistent amount of time, or at a the same time) while the system we are testing ran properly (that is, the valves opened/shut appropriately). The timestamp on the output file shows gaps in the data; for example, I have data for time 0.000 s - 0.700 s, and the next data point is at 1.700 s. If I run the program without anything flowing through the valves, the data acquisition works as normal. Where should I begin troubleshooting? Is it more likely a hardware or software problem? I cannot attach a VI as it is proprietary. Thanks.

Saving multiple segments into one file

$
0
0

I am converting an SDK vi provided by a data acquisition card company to suit my needs. The original vi records multiple data segments in the card memory and displays in a waveform graph on the front panel without any saving to file function. I can input "Number of Records" to set how many segments (waveforms) I want to acquire. Once the acquisition is over, I can click on "segment" (a "control" on the front panel to input a number) to view the nth segment. To save all the data segments into one file, I put the "Write Delimited Spreadsheet VI" in this VI, with attache to file and transpose function.

 

My problem is that once I add the save file function, the VI is only saving one segment if the "Run" is set at "False," and then by clicking the arrow to add one in the "Segment" control on the front panel, the next segment data will be saved in the same file and attach after the previously segment. Or the VI will keep saving data without stopping if the "Run" is set at "True. What I want is when I set the "Number of Records" as X (an integer), the file will save X segments. I tried to add a counter to automatically add one each time and replace the "Segment" input but was not working.

 

I feel that I am getting very close to what I want but after a week I decided to ask for help. Any comments and suggestions welcome. Thank you.

 

I also provide the VI here, but as the subVIs in the file is from the acquisition card company I am not sure if those are showing. I've also asked for permission to post the VI as I changed some parts in it, but I believe anything in that other than mine, the company has the copyright. 

 

NI6341 common starting trigger for AO and IO

$
0
0

Hello,

 

I use NI PCIE 6341 DAQ to output a digital signal and an analog signal, but there is alway some delay between each other when initializing. I am wondering if it is possible to set up a common software starting trigger to have those two channels start output at the same moment? How to do that with the counter clock?

 

Thanks.

FPGA bitfile retrieval from NI 9144 Ethercat Chassis

$
0
0

I have inherited a CRIO system comprised of a single 9039 CompactRIO connected to two 9144 Ethercat CompactRIO chassis. The 9039 serves as the ethercat master to the two 9144 ethercat chassis. The system is currently operational. I am unsure exactly what FPGA bitfile is currently deployed onto the two ethercat chassis and I want to be able to clone those running bitfiles and save them to my machine somehow. Is there a utility that exists that can retrieve a currently deployed bitfile from an ethercat chassis and save it to your local machine?

Why expensive NI DAQ only have data rate of few million while cheap digital oscilloscope has sample rate of 1G?

$
0
0

Right now I am working on a NI DAQ based oscilloscope on Labview, I understand the difference between continuous data acquisition and triggered data acquistion, but still one burning question. 

 

Why expensive NI DAQ only have data rate of few million while cheap digital oscilloscope has sample rate of 1G? For instance, the Tektronix TSD educational oscilloscope claims to have a sample rate of 1G, and it is so much cheaper than NI stuff. Pls enlighten me!

NI Package Manager instructions file use of root paths


como conectar TMDSPLCKITV4 a labview

$
0
0

hola, 

 

alguien me puede ayudar, la verdad no se si es posible conectar la placa TMDSPLCKITV4 a labview para enviar  o resivir datos, si alguien me puede ayudar muchas gracias.

Pure LabVIEW JSON Web Token (JWT) Library (Use on VxWorks, Linux, Windows, etc)

$
0
0

It's not quite finished yet (I think I have like 5 documentation labels across all of the libraries and zero VI documentation) but I have implemented a pure LabVIEW JWT library that provides the currently required 'none' and 'HS256' (HMAC SHA-256) signature algorithms. All of the cryptographic, base64, and JSON functions are all pure LabVIEW contained in separate PPLs and then the JWT ppl utilizes these to provide verification of HS256 signed JWTs as well as generate unsigned and HS256 signed JWTs.

 

I'm currently working on a dev environment/process to [relatively] easily manage ppl build artifacts for multiple targets (VxWorks, Linux-RT, Windows) utilizing a single source root folder and need to clean that up a bit. Once I get the development environment cleaned up and document the build output organization I'll be pushing everything into a github repo for public critique consumption. I'm also working on all of this in 2018f1 so I need to down-save everything to an older version which will be a bit of a hassle with this architecture. I'll update this post with a link once it's available. In the mean-time to whet your appetites here are some screenshots showing the final test VI for working with JWTs:

 

HS256 Test.pngJWT Project.png

All of the abstraction is in place to implement the other signature algorithms without needing massive changes to the existing libraries; I just need a bit of a break before I try to dip my toes into implementing asymmetric key encryption in LabVIEW. (perhaps someone can donate some effort once I make this available?) As evident from the screenshot, the standard payload claims are also handled separately from the rest of the JSON payload to more easily handle all the conversion for you. Anything left at default values doesn't get added to the encoded and signed payload.

 

This was partly an educational exercise for moi, and mainly because the only current solutions I've seen involve using windows DLLs or .NET components which won't work for all of my targets.

 

In the mean-time, if this looks like something you're interested in, let me know what version of LabVIEW you're on and I'll try to get an environment set up to rebuild everything with! If you have any tips on managing multiple LV versions in a git repo I'd be interested in that as well! (I'm thinking master branch is always latest version with branches for merging updates into for older versions of LV)

 

Cheers,

Derrick B

Exit Case Structure Code

$
0
0

I have a case structure in which one of the cases runs 4 Dialog Box subVIs in order (Dialog Box 1, then Dialog Box 2, then Dialog Box 3, and then Dialog Box 4).  The Dialog Box subVIs are all exactly the same VI call but with different a different dialog message.  The dialog box allows the operator to hit an ABORT button to exit the dialog box.

 

Basically, if the operator aborts a Dialog Box subVI, I do not want to run any Dialog Box subVI steps that run after it.

 

For Example:

If Dialog Box 1 is aborted, I do not want to run Dialog Box 2, Dialog Box 3, or Dialog Box 4 subVIs.

If Dialog Box 2 is aborted, Dialog Box 1 subVI would have run, but I do not want to run Dialog Box 3 or Dialog Box 4 subVIs.

If Dialog Box 3 is aborted, Dialog Box 1 and Dialog Box 2 subVIs would have run, but I do not want to run Dialog Box 4 subVI.

 

What is the most efficient way to do this?

 

Thanks so much!

Python script with Labview

$
0
0

Hi, 

I am trying to run the following example to see if I can run the python script with Labview and learn how it works:

http://www.ni.com/tutorial/8493/en/#reviews

 

I keep on getting an Error 2 stating - "Memory is full ". I use the following for the working directory and command:

Working Directory: C:\TestScripts

Command Line: python MyScript.py argument

 

Please let me know if I am doing anything wrong here or how I can get it working. Any help is appreciated.


Thanks

 

How to put satellite in 111 degree east

$
0
0

Hello sir 

How satellite are put in orbit location 111 degree east what type of rocjket are used for it how to to make graph for it 

Error after making executable application

$
0
0

Hi ,

Im developing a vhdl code on the FlexRio 7931.

The Host and the taget side is working well.

i've written few Host Vis and when running them from Labview everthing works well.

I've alse made a Main.vi which using to call the other VIs,

When running the Main.Vi from labview everything is working well .

When i made it as application (EXE) , when im trying to call some Vi from the Main , im getting an error "Error 1003 occurred at Invoke Nod" The VI is not executable.

Deleting files from cRIO using WebDAV

$
0
0

 Hello All,

 

I have several log folders on my cRIO. I want to delete those files programmatically using LabVIEW by WebDAV VIs. When I delete, only the files are deleted. Folders containing the files are not deleted and it throws an error (Server has no access to files) when I try to delete it. I am able to copy the folder but not delete it. What is the issue here?


Contolling two switches with each other , i.e one switch controls the other.

$
0
0

My boss has given me an extremely difficult task which I have been trying to crack since yesterday afternoon. No luck till now. Here is the task. There are 2 switches that write to a global boolean variable. And this gobal boolean variable is then connected to an LED output, so that we can control the LED output by using these switches. Now here is it how it goes. There is first a main VI that has an event structure with 3 events one is timeout, second is value change in switch 1 and third is stop the while loop. So as the name suggest the second event is where the switch 1 writes the value to the boolean global variable. In timeout the boolean global variable writes its value to the led output. Now in timeout also a subvi is placed on it. The subvi has switch 2 that also writes to the boolean. Now when I run the program and turn on switch one led is not turning on. I know why it is not turning on. Its because as switch one writes to the boolean making it on and boolean turns on led one, then subvi in the timeout will also run where switch 2 will also write to boolean that will make it off and boolean will turn off the led. I also know how to solve this problem. Make switch 2 as an input of the sub vi using connector pane and then connect switch1 to the subvi and then to the boolean, this way it will work. Simple. But my boss wants something more, he needs to control one switch with other. By connecting subvi with switch 2 in its connecter input pane and connecting this subvi to switch one, I know I am able to control switch 2 with switch one. But the reverse is not possible. I cannot turn on switch one by turning on switch 2. That is what my boss requires. I am currently trying to learn data value reference and user events to some how do this. But I want to know am i doing the right thing. Or is there a way to do this. I have also attached the VIs named main vi, sub vi and global boolean. 

RIO Scan Interface Watchdog

$
0
0

Good Day All,

 

Is there a way to use the FPGA Watchdog when using RIO Scan Interface?  Ideally I would like to put the outputs of the RIO into a safe state if there is a failure, but I don't really want to have to write the FPGA code to do so.  My scan rates are only of the order of 10ms, so I am not constrained from a performance perspective.

 

Bruce

LabView 2018 connection problems with VIs from Vision Acquisition Software

$
0
0

Hello there,

 

i am working on a LabView project for automatic measurements. The original project was build with LabView 2011, Vision Acquisition Software August 2013 on an Win XP system. The new PC runs Win 10 and LabView 2018 with Vision Acq. May 2017. I know there are many compatible problems but i thought LabView 2018 could handle such an "old" project nevertheless.

Now im facing the problem that many of the IMAQ VIs dont work properly. The error list says that there is no connection or the connection is between different data types. Here are some screenshots of the VIs that causes the errors (just two of them, there are more VIs with such problems)

enum video modes LV2018.JPGopen camera vi LV 2018.JPG

At first i suspected the missing compatibility causing this problems. But then I discovered that i cant choose any of the Vision Acq. VIs from the functions palette.

tool empty.png

So I think there might be a problem with the installation of the Vision Acquisition software. To solve the problem I already forced a clean reinstall of the Vision software ( force reinstall non-working software ) with the actual Ni-DAQmx 18.5 as installation source. But this doesnt change anything. Here a screenshot of NI MAX and NI License manager so you can get an overview about my software versions.

 Ni MAX.PNGLicence manager.PNG

 

I would be very happy to receive further solution proposals.

 

Regards,

Lukas

Missing subVI

$
0
0

Hi,

 

I am working on a project in LabVIEW 2013 where in of the cases of case structure, missing SubVI icon is coming though that SUbVI exists in the project.

Now neither I am able to delete that SubVI instance nor I am able to replace it with other SubVIs. If I try to replace it with some other function, that function is placed over this SubVI instance.

 

I am getting this error too while saving the project.

LabVIEW Save Error code5: BD heap.

 

Does Anyone have idea about these issues?

Please convert the files from LabVIEW 15 to LabVIEW 13.

Viewing all 67195 articles
Browse latest View live