Quantcast
Channel: All LabVIEW posts
Viewing all 203111 articles
Browse latest View live

roboRIO Won't Load Due to Errors 7 & 1026

$
0
0

We are a FRC team and we are attempting to deploy code through LabVIEW onto the FRC Driver Station. After loading the robot code in LabVIEW and getting green lights for the Rio communication and robot code, it sends error messages 7 and 1026. Error 7 only appears in the Driver Station when the robot is enabled.


ERROR 1026 Property Node in FPGA_SystemAsync VI Agent.viLabVIEW: (Hex 0x402) VI Reference is invalid.

PGA_SystemAsync VI Agent.viLabVIEW: (Hex 0x402) VI Reference is invalid.

 

ERROR 7 Call Library Function Node in CTRE_Phoenix_MotorControl_Set.vi:5580001->Teleop.vi->Robot.Main.viLabVIEW: (Hex 0x7) File not found. The file might be in a different location or deleted. Use the command prompt or the file explorer to verify that the path is correct.

 

We don't have anyone with any programming knowledge on our team so any help is greatly appreciated. Thanks.


Normalize End of Line in Malleable VI

$
0
0

I need to normalize the end of line character in a string. I am using a malleable VI that dehydrates a cluster to JSON and another that rehydrates JSON back to a cluster. Malleable VIs are inlined. How does that affect something like Normalize End of Line.VI that determines how to behave based on the operating system that it is running on?

Re: roboRIO Won't Load Due to Errors 7 & 1026

$
0
0

I would re-image the roboRIO with the latest image. I don't think your roboRIO is configured properly.

Re: Noise Reduction

$
0
0

Your Pressure Settings picture suggests you are sampling at 25 kHz.  How fast do you expect Pressure to be changing?

 

Looking at some other of your pictures, it looks like you have "noise" with a lot of energy at 120 Hz.  This is a suspicious number, being twice 60 Hz, which is ubiquitous around here (but, perhaps, not as much in Europe).  This is called (you guessed it!) "noise", and even a non-engineer such as I know that you want to shield your input wires, differential is often better than single ended, and unused terminals should be wired to Analog Ground (unless testing shows that makes things a lot worse, but then you'd have other problems ...).

 

Bob Schor

Re: Normalize End of Line in Malleable VI

$
0
0

I just executed a VI that calls a malleable VI that converts JSON to a cluster. I copied the JSON file from a Windows computer to a cRIO 9053. The malleable VI was able to read the file, but there was no rehydration, just like when there was no Normalize End of Line.VI call.

 

Can I roll my own Normalize End of Line.VI using a conditional disable structure and call that from a malleable VI?

Re: Connecting Voice recognition programme to LabVIEW

$
0
0

First, take a class in LabVIEW,  Expect to spend several months getting up to speed.  (Consider someone who asks about "Voice Recognition Program in C++", and who says "I'm new to C++" ...).  Find, if possible, a Mentor (could be a fellow Student who's been using LabVIEW for a few years or a Friendly Instructor, and schedule regular sessions with them to help get you started on learning the Basic Concepts and the Necessary Wiring Skills.

 

Recognize that this is not a trivial task, even if you have a routine written in "something else" that can "do the translating for you".  But if you are diligent, and get some good training and mentoring, you might have something to show for it by the end of the term.

 

Bob Schor

Re: Upgrading LabVIEW 2013 to 2019 on cDAQ-9139

Re: Blink function as a SubVI

$
0
0

All that you will ever need to know about dataflow is contained within this one sentence:

 

"Remember that a node executes only when data is available at all of its input terminals and supplies data to the output terminals only when the node finishes execution."

 

This applies to loops as well.  The loop cannot produce an output until it has completed.  This applies to subVIs.  A subVI cannot produce an output until it has completed everything inside of it.

 

By memorizing that one sentence - as literally as you can - with some patience, you should be able to predict dataflow (or lack thereof) and program with much success.


Can you interface Labview with FPGA

$
0
0

Dear,

My system (LabView FPGA) is not working and I could not dig out the reason. I have attached the photo of the error that will help to get the issue easily. I am using Labview 17 and FPGA Target (RIO0, sbRIO-9607).Thank you. 

Re: How to get a large s2p file transfered quick via GPIB from an Agilent 8753ES with labview 14

$
0
0

Hi Jamiva,


I am using an Agilent 8753ES, how can I get the trace (Log magnitude and Frequency) of CH1 (S11) and CH2 (S12) via GPIB?

 

With the previous example I obtained the magnitude I only need the frequency but of the two channels. And if possible, how can a graph be shown with this data?

 

thank you for your comments

Menjumlahkan data monitoring

$
0
0

Selamat siang, mohon bantuannya. Bagaimana kita menjumlahkan data yang sudah ada(data monitoring)?

jadi semisal data itu x1, x2, x3 dan kita ingin totalkan.

Re: looking for a way to generate experiment sequences

$
0
0

 wrote:

did you finally solved your problem?

I have almost the same questions...


Then you might want to follow the same "path" at working to find your solution.

 

Bob Schor

Re: How to use derivative block to derivative a signal?

$
0
0

Dear all, 

 

Thank you for the help. I have attached the VI as suggested. 

impededance analyzer

$
0
0

Where do I find the impededance analyzer for the NI ELVI III unlike finding it from the NI ELVIS mx?

Re: How to use derivative block to derivative a signal?

$
0
0

Dear GerdW,

 

 

Which data did you wire to the dt input of the derivation function?

"data" is the signal from LPS's output as shown in Figure /VI.  Or you mean the data type?

 

Did you notice that coercion dot?

I did not notice till you mentioned about it. Thanks. But, I just read about it and yeah, it is not a big deal, I guess. I just want to know how to wire the derivative / integrator block. 

 

Did you read the help for the wait function to know about the meaning of their output? (I guess you wired its output from the image…)

Yes, I wired the output of the wait function to the dt of derivative blocks.

 

I read the help to understand the output : "This function makes asynchronous system calls, but the nodes themselves function synchronously. Therefore, it does not complete execution until the specified time has elapsed" .

 

Actually, I got no idea on how to wire the derivative/integrator block. But then, I refer to my senior's VI about its controller, how she wired them as shown in figure 1 below. I notice she used few blocks (blued circle) when wiring either  derivative or integrator block. Is it correct?

Figure 1.PNG

Generic advice: we cannot debug images using LabVIEW. Attach snippets or VIs to receive better help…

I have attached my VI for your reference. 

 

Regards,

Mansamewoi


Re: Strange observation related to polynomial fitting

$
0
0

But using the same VI, when I am fitting the quadratic equation data, the fitting is proper. Then why for the other data set, it is giving different Y values? 

Re: How to fix cursor at one particular value X?

$
0
0

Thank you for pointing it out. I removed the case structure. Now I am able to move the cursors and select the desired section in continuous mode. 

One more problem I am having in this VI. Why the fitted curve using polynomial fitting is giving wrong Y axis values?

 

Re: Identify if the subvi is called for the first time by a second top-level VI

$
0
0

Thank you so much for the inputs. I learnt something really useful from the solution you have provided. I would have never thought of setting the flag high or low for the first time in that manner, I am learning that with a few tweaks I could apply that to various other sections of my code for different purposes. 

Re: How to use derivative block to derivative a signal?

$
0
0

No, the use of those functions is not correct.

 

Wiring in a 1 set the timer to wait 1 millisecond. 

The output of that function returns the time in milliseconds of the overall PC timer.  Basically the number of milliseconds since the PC booted up.  Put a probe on that wire and see how large that number is.  And be sure to read the help file on that function like was mentioned earlier.

 

I have yet to see a use for the output of the timer unless you are using it to compare different times to see how much has elapsed between two iterations of a for loop by taking the difference between those values.  And when I want to do that, I just use the Tick Count function.

 

I think you need to have a little talk with your "senior" and clue her in.

 

 

Re: Blink function as a SubVI

$
0
0

I have a nice (at least, for me) VI that I run on an FPGA to handle flashing boolean values.

 

For me, the number of booleans is necessarily fixed (no dynamic arrays) but on a desktop there is no such restriction. I'd suggest replacing the array with perhaps a Map of values (if you have LabVIEW 2019 available) or perhaps Variant Attribute tables in older versions, using Type Cast or similar to get a string from a reference value.

Update LEDs and Switches_BD.png

 

Here I use the following VI on RT to set an LED's frequency and duty cycle:

Request LED Setting_BD.png

 

Ignoring the data packing scheme, I'm sending an amount of time (in ticks) to be high, and then low, and the initial value.

 

A queue (DMA FIFO here, normal queue if you do something similar on desktop) is used to send information about a change to the frequency to the FPGA. You can see this in the second image, at the FIFO Write node. You'd want to use Enqueue Element instead.

By sharing the queue references into your free-standing loop handling your boolean "LEDs", you can asynchronously pass "requests" for an update to that loop.

 

In that loop (like the top VI here) you Dequeue an element, and then pass the necessary information (for me, a pair of maximum counts, a current count, the first value (starting value) and the current value) to a loop which processes each time step.

I'd suggest (like in my VI) you pick a specific loop rate for your LED processing loop, and use something like "Wait until next ms multiple" to time it. Note that you can't have better resolution that this update rate for your frequencies - for me, this is 40MHz, for you, a wait of maybe 10ms will allow a responsive update and a moderate freedom in selecting frequency.

Then you can calculate the number of "ticks"/iterations of this loop for a given time.

 

So if I want a boolean to flash at 1Hz, 50% on and 50% off, I'd send the values 50 (iterations on), 50 (iterations off), T (starting value). 50 is chosen because for a 10ms loop, 50% of a 1Hz loop is 500ms, and then 500ms/10ms = 50 iterations.

 

For completeness, this is my decoding VI for the requests:

Decode LED Request_BD.png

 

You won't need anything so complicated, because you should directly pass a cluster of appropriate values via your Queue. I have to flatten and unflatten, hence this VI, but you can see here how some additional information ("current count", "current value") are constructed to match the first state (Count 1, Value 1).

You can also see from these VIs that if I want the boolean to be set to solidly on or off, I set the fraction of the second value to be 0. You could do something similar - in my case this means that actually the LED is set to Value 1 every iteration.

 

Viewing all 203111 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>