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

Monitoring does not start

$
0
0

Hello,

 

I would like to start and stop current/power monitoring upon receipt of a UDP message (start/stop). I used an event structure which should trigger the power monitoring code when it receives start message. But unfortunately, it does not get triggerred. What is possibly going wrong here?


NI MAX Empty UI

$
0
0

I am upgrading DAQmx and other software associated with LabVIEW 2009 to the latest supported version to allow use with a cDAQ 9174. After installing DAQmx 9.7, when I open NI MAX, I see the user interface, but none of the options in the sidebar are available. I have tried the troubleshooting options suggested in this thread, but I have not had any success in getting the items to appear. What other steps can I take to make NI MAX functional?

Why when i run two while loops parallel, there is a problem?

$
0
0

Hello,

In my VI, there are two while loops and i'd like them run parallel.

 

The DAQ Assistant is used to collect 1 thermocouple's data which will used to control 2 relays (DAQ Assistant4) which are included in the upper while loop.

 

Then the DAQ Assistant 2 is used to collect another thermocouple's data which will used to control the analog output(DAQ Assistant3) which is included in the lower while loop.

 

The DAQ Assistant and DAQ Assistant2 are using the same module and different channels.

 

If i run these two while loops in seperate VIs, there is no problem. But if i run them in one VI, there is errors shows: Error-50103: The specified resource is reserved.

 

Does anyone know the reason causes the errors? Thank you.

Timers

$
0
0

I have a vacuum system that has an hi current filament. after the filament current has gone above 10amps for any givin time period, i want to disable the vent chamber command for 30min, but enable the vent all other times

Image on shift register slowing down the program

$
0
0

Hello Everyone,

I am trying to add a beam tracking feature to a program that controls a laser, reads its beam position and plots it.

The beam tracking option is supposed to give the previous beam positions as well as the current one.

I was able to get it running by using a shift register to carry the image on one of the program threads:

Labview_beamTrack.PNG

 

Labview_beamTrack_code.PNG

I think the code is self explanatory so let me descrive the problem I am running to:

After about 30 min of execusion, the program responsiveness becomes very low and the image refresh rate seems to be the problem. When I wired the shift register the wasy I did, I though the image that was carried was a kind of a pixel array, but it looks like its size is getting bigger and bigger the longer I keep adding those back beam position squares.

I kind of lie this simple approach but I am wondering if there is a better way of handeling the picture: should I convert to bmp then import it as background ? is there a function that converts from and to a bitmap array ?

 

Thanks in advance

Regards,

AJ

 

How to acquire signals from two channels in one task?

$
0
0

Hello everyone!

 

I am new to LabView and I really need your help on this problem. Any advice would be appreciated!

Basically, I want to acquire signals from two signals sources (two APDs with TTL signal output ) using one SC2345 card at the same time. I connected them on the terminal block of my card. At first, I tried to use two tasks at the same time but failed because of the Error 50103. So I use a frame structure to separate these two tasks. But then I found that these two tasks are acquired signals at different time (see the vi). So I would get two different signals even if my input signals came from the same channel. I read several posts on this forum and realized that I can not run two tasks on one device at the same time. But some of them suggested to acquire signals from two channels within one task. Thus, I tried to follow this in MAX. I created a new task in MAX, and added two channels in it. Then I got a DAQ assistant error when I run the task, saying that I should use separate task for different counter. I am really confused this time. Is it possible to acquire signals from two different channels from one device at the same time? Or, if I want to acquire two signals at the same, do I need another SC2345 card to do this?

I have been struggled on this for over two weeks. Thank you for your help!

String to ASCII comparison help

$
0
0

Hi dear Pro-Users and Labview-Masters alike,

 

I assumed my problem would be fairly straight forward to solve. 
I want to a) light up the LED when ever a string of Upper case letter is pressed (from A-Z). Is there a subVI I can use for this with something that can interpret each element in the array for each case of input? So basically to compare the string input to the ASCII equivalent.

in b) I intend to make a version with String to byt earray as subVi. 

 

Any guidence is highly apreciated.

 

Fitting transistor IV curves using Lev-Mar with Error Function

$
0
0

I have been working with the VIs from this thread:

http://forums.ni.com/t5/LabVIEW/Problem-Fitting-Lev-Mar-with-Error-Function/m-p/2716045

 

My modified VIs are attached.

 

It functions correctly for good data, but I'm confused how to modify the code so that I can fit low threshold data.  For example:

 

I've attached a fit for data taken at a 20mV charge injection & 5mV.  There are 1000 reads, & so 1000 hits means the transistor is reporting 100%.  For 20mV, below the threshold transition there's 100% hit. But for 5mV, the transistor is only marginally working below threshold, and so the fit calculates the 50% hit crossing point out of 750 hits instead of the real 1000.  

 

 

How can I modify the fit so that the range parameter doesn't change (1000 no matter what the data)?


Event Driven State Structure

$
0
0

Hello all,

 

I'm in need of using this type of architecture. I was watching this two different videos, explaining Even State Driven programming. There is a slight difference but the results, apparently are the same. I think in my opinion configuration #1 is more suitable due to the fact that  you can still use the space of the CASE and the EVENT CASES. But If someone has a different point of view, or if I'm missing something, please help me out, I would really appreciate it.

 

José Luna

Error -200431 occurred at DAQmx Create Channel (AI-Voltage-RMS)

$
0
0

Using Labview 2015 Base. 

 

I am trying to measure the Voltage RMS from a USB-6001 analog input channel.  When executing, I get the message shown further below.  In the error message, it shows possible values without any option for "voltage rms" listed.  What is happening here?  Any help is appreciated. 

 

Capture.JPG

 

Error -200431 occurred at DAQmx Create Channel (AI-Voltage-RMS).vi:4330001

Possible reason(s):

Selected physical channel does not support the measurement type required by the virtual channel you are creating.

 

Create a channel of a measurement type that is supported by the physical channel, or select a physical channel that supports the measurement type.

 

Property: AI.MeasType

Requested Value: Voltage RMS

Possible Values: Current, Resistance, Strain Gage, Temperature:Built-in Sensor, Temperature:RTD, Temperature:Thermistor, Temperature:Thermocouple, Voltage, More:Voltage:Custom with Excitation 

Task Name: _unnamedTask<47>

 

FTP Timeout and FTP protocol question

$
0
0

I'm unable to open an FTP connection in LabVIEW, I can in a browser.  I drilled down and found TCP Read xTP Reply.vi  is the issue.

It's using ^[0-9][0-9][0-9] [^\r\n]*\r\n as the pattern on a match pattern.

My FTP's reply is:

220-FTP Server
220-*** Files stored here are not backed up ***
220-*** Please move any important files to  ***
220 *** alternate storage.            ***

The dash is the problem.  I'm trying to find out if the dash is actually violating the FTP protocol on replys so I can tell IT they messed up!  Smiley Tongue  I mean, ask them nicely to change it.  Or if the VI should be modified because there mite not always be a space.

Problem controlling instrument

$
0
0

Hi,

 

I am working on a project to make measurement using B2900A and Agilent E5250A. Right now I have a  problem to control Agilent E5250A using its driver. Does anybody knows how to specify the channel list to the open and close vi's?

Parsing CAN Payload

$
0
0

I want to parse the CAN payload into arrays where each byte is accesible through LabVIEW. Attached images  are the block diagrams for a LV example where I have modified to see if I could succeed. My main question is how each payload byte could be accessed? 

Event structure: mouse leave AND value change?

$
0
0

Hello all,

 

Is there any way to to "disable and gray out" a knob on my front panel when the mouse leaves the button AND ONLY IF the value was changed (without using an event structure within an event structure)?

 

I have tried the following events (and combinations):
– Value Change: As soon as the value changes the least bit (from 0 to 0.001 or whatever), the button is grayed out.
– Mouse Up: Unfortunately the button is also grayed out when the mouse button is clicked elsewhere, the mouse is then dragged onto the button and the finger is liftet then (without having changed the value).
– Mouse Leave: Disables/grays out the button even if the value was not changed.

 

Unfortunately with "Mouse leave", there is only Source/Type/Time/CtlRef accessible. If there was Old and New Value (like with "Value Change"), I could compare both and only disable/gray out if they are not equal.

 

I use Labview 2016.

 

Thanks in advance
T139

Why is LabVIEW install and uninstall extremely slow?

$
0
0

I've been having some issues with LabVIEW lately and I'm trying to do a full uninstall and reinstall this afternoon/evening, and remembered why I don't do that very often...why is the entire NI suite so slow to install and uninstall? I have a top-of-the-line Core i7 processor and SSD main storage and this is literally taking HOURS just to UNINSTALL. I'm sitting here twiddling my thumbs after hours at work waiting for the uninstall to finish, just so I can start it re-installing overnight so it's not wasting my entire morning waiting for it to install tomorrow! That's absurd!

 


Visa Read with RS485: What format does communication take?

$
0
0

I am trying to communicate to a power supply. The Power supply has a RS485 port with three pins (A, B, GND) and uses half-duplex, 9600bits/s connections. All my startstop bits, parity and COM port settings are correct. I use a Serial-USB adapter to communicate. There are no drivers for this power supply and I have to write my own COMM protocol. Communication is done via 'messages', examples of whcih you can see in the attached .png- file. The manual that came with the power supply says that "all multi byte data is sent in big endian hex numbers and represented with ASCII characters".


Given that this is a serial connection, I was hoping to use the VISA vi's for communication. Unfortuanately, I have been somewhat unsuccesfull. My problems are:

1) The 'VISA Write' vi takes a string input. What representation does my string take? Is it supposed to be the actual

message, or do I have to convert each ASCII character in the message to its HEX representation and concatenate these to form the input to the vi?

2) The messages returned by the 'VISA Read' vi are very cryptic. For example:

the message to enable control of the Unit is 'S1L00D0K' sending this returns the message '   VgÖöv}i',
whereas the expected reply should have been 'S4L2DK'.
No matter how you twist that in hex it doesn't match anything: expected 53 34 40 32 44 4B, received 20 20 20 56 67 D6 F6 76 7D 69.

3) The attached vi that I used to try this out keeps throwing errors which originate in the 'VISA READ' vi. The error is:

Error Code -10738071253: VISA: (HEX 0xBFFF006B) A framing error occurred during transfer. I followed this KnowledgeBase article, but without success.

4) I have tried multiple terminal emulators (Tera Term, Putty, RealTerm) to break communication down to basics, also

without success. I tried out every possible setting and I can't even the keyboard; nothing is being printed in the terminal.

 

All this leads me to believe it is a hardware problem, originating in the adapter, although I know that other people have used exactly the same adapter successfully before.

 

Can anyone tell me what is happening here? How will I get a meaningfull response out of my machine?
Many thanks in advance!
Douglas

Passing data to labview graph and chart using a numeric control

$
0
0

Hello 

I am a beginner in labview . I have created a vi that do manual data logging. i want  help in displaying my data in graph and chart. the vi is attached here. I want to update every element of the vi including graph after a "update value button press" only.  the graph should display plots between H1,D1,Z1, H2,D2,Z2 vs IH, ID,IZ in a single graph. another graph will plot the data of T.PPM, M.PPM vs Time. 

I there any way to store this data set in arrays from a numeric control. so that after each "Update value" press data set should be stored into array and then I can save this data to a excell sheet for further processing. I want it to be completly manualy operated.

Move legend of graph

$
0
0

Hi

 

I'm a bit stuck with user interface modification.

I'd like to make it possible to manually move position of legend showed in a graph. Sort of right mouse click on legend, holding and dropping. It would be good enough to have the possible position within the graph.

 

Is this possible?

 

Thanks for any ideas.

Yves

 

Scheduling threads in cRIO with LabVIEW real-time

$
0
0

Hello all,

 

I'm a bit confused regarding threads and scheduling in labview RT for the cRIO. I have three timed-loop structures that each write to a CAN bus, running at the following setup:


Thread 1: prio 3 (high), period 1 000 000 μs

Thread 2: prio 2 (med), period 20 000 μs

Thread 3: prio 1 (low), period 10 000 μs

 

What I'm trying to achieve is that thread 1 always executes first each 1000ms multiple, followed by the other threads in priority order. However, when monitoring the actual start and finish iterations of the timed-loop structures I have the following running scheme (as percieved by the actual start and finish times from the structure):

 

 Around time 0:

Time: 2, Thread 1 Start

Time: 294, Thread 1 Finishes

Time: 10040, Thread 3 Starts

Time: 13513, Thread 3 Finishes

Time: 20023, Thread 2 Starts

Time: 21990, Thread 2 Finishes 

 

Around time 1 000 000:

Time: 1000022, Thread 2 starts.

Time: 1000029, Thread 1 starts. (most likely interupts thread 2)

Time: 1000230, Thread 1 finishes.

Time: 1000262, Thread 3 starts.

Time: 1001974, Thread 2 finishes. (most likely interupts thread 3)

Time: 1008045, Thread 3 finishes.

 

My questions are:

* Why aren't thread 2 and 3 ready to execute at time 0 together with thread 1? This causes thread 3 to run before thread 2 and is not desirable in my case.

* Why do thread 2 and 3 get to execute after time 1 000 000, even though there is a higher priority thread in the ready queue and thus get interupted?

 

 

Thanks in advance

Mattias

Auto-populating folders in an installer to a non-default folder

$
0
0

Hi All,

 

Currently I'm trying to make an installer for our system (developed in LabView+TestStand). Apart from LV and TS files the software usses a massive amount of other files; in order to deploy them easily on the target machine I want to include all of them, together with their hierarchy, as auto-populating folders. Seem fine.

 

Then a prepare the installer, we need three folders:

 

C:\Foo - this is the main installer for our stuff (TS Sequence, main lvlibp, some config files) and this one is the default instalation path.

C:\Foo_tools - this is an massive folder with around 16k files and I-don't-even-want-to-know how many folders in the hierarchy. 

C:\Foo_legacy - this is some additional tools folder, that we need due to "historical reasons". Fairly simple structure, 5 files 2 folders.

 

So my problem is that I have an auto-populating folder for Foo_tools (or actually three folders: Foo_tools/something1, Foo_tools/something2 and Foo_tools/something3) that I just want to put there. But I can't, as it seems that you can put the auto-populating folders only into the default folder, not anywhere you want. What should I do? I see two possible ways:

 

  1. make the C:\ default and kindly as the user to change it to C:\Foo
  2. install the tools in e.g. C:\Foo\tools and then make a *.BAT script to move the files to the proper place.

If you have any better ideas I would be glad. Maybe there is some other possibility that I have overlooked or some setting in LV Installer Builder that I'm unaware of.

Viewing all 66804 articles
Browse latest View live


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