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

Tell NI what YOU need in hardware etc.


How to Generate 3-Phase Voltage on CompactRIO with cModule NI-9269?

$
0
0

Hello Everyone,

 

I need to test some of my algorithms on 3-phase power network but I am not able to get a 3-phase voltage source.  I intend to use NI-9269 and my CompactRIO to generate a balanced and unbalanced 3-phase voltage source. Can some provide an example code or some hint how to generate such signal? 

How do you add a 3rd dimension to a 2-D plot?

$
0
0

Sorry, I am new to LabVIEW. I have an intensity plot of a 2D square that I can control the starting location and the size of the square (as well as add gaussian noise through a standard deviation). I am trying to somehow make a control to convert this 2-D data into a 3-D object that I have control over the z-size within the plot. There's probably easier ways to do this, but I am trying to do it with what I have for now. In addition, I would then like to add a second object (in this case a sphere) and display them both in the same 3-D plot and do a transform where I have the sphere rotate around the cube. My subVI that is in the image simply generates the circle with the lower limit being the x-coordinate, the lower limit 2 being the y-coordinate, the standard deviation controlling noise for both the square and the background, and the square limit controls the height and width. Currently, all I am able to do is plot a 3-D continuous square block in the z direction.

Should I make a SubVI to clean up my top level VI?

$
0
0

Hello,

this is a question more about LabVIEW styling and what is proper. I am refactoring code of a state machine and one of the states has a lot of loops in it. A lot of True/False states with stacked sequence structures nested in each other. It looked really messy, so I've started to clean it up by making bigger loops and structures into SubVIs. I feel iffy about this because these SubVIs will only be used once in the entire project and I am only making them to make the front panel cleaner and easier to follow. Is this stylistically alright, or is it a bad habit to overuse SubVIs like this?

Conversion errors from LabVIEW 7 to LabVIEW 17

$
0
0

Converting this project to run on windows 7 is my first time working with LabVIEW whatsoever.  Started off by simply copying the old test project to the new PC into a replica folder directory on the C drive.

 

  • Received error: "Call Library Function Node ... Contains unwired or bad terminal"

Visually compared old and new wiring and they both look fine.  Opened up the configure option on both systems and they look like they copied over correctly.

 

  • Also noticed that I need to run this project in 32-bit LabVIEW (supposedly because of some of our dlls) and haven't found a way to make that the default when opening up my .vi files
  • Was able to copy my old Telnet files from the old LabVIEW addons into the new version as proposed on another thread and it squelched my errors, but until i progress further I'm not positive that will actually work.
  • No idea what other errors will show up or other steps to take to ensure my code runs in the new OS and LabVIEW version (aside from getting proper device drivers)

 

Generate signals based on data file

$
0
0

Hi everyone,


I want to generate an analog signal based on a text file. So far I have successfully used the blocks 'Simulate Signal' and 'DAQ Assistant'. My idea is to replace the block 'Simulate Signal' by the block 'Read From Spreadsheet File'. How can I do that?

Fire Single Event After Midnight

$
0
0

I have a VI I have written to check the status within a database. I have it so that it sends out an email if the status is true. I want to check the status just after midnight and fire off the email. I only want it to fire off the single event, and then reset so that it does the same thing every night just after midnight. I can not figure out how I can check the time and if it is true fire off the event. I have searched the forums and the internet to see if someone has done this, but I have found nothing. Is there a way to do this? Any help is greatly appreciated.

 

Dave

ERR (-1073807252): I have problems using my IKA eurostar 60 stirrer

$
0
0

Hello everyone,

 
I'm running labview to automatize a system with a bioreactor. After the media has been reacting for 90 minutes, a peristaltic pump will be activated to remove 300g. The way I will make the pump to stop is by reading the weight in a balance. Once the balance read 300 g, the permeate pump stop working and the stirrer starts to stir at 50 rpm. This will last 10 s and after that the stirrer will stop. Then, a 3 way valve connected to a relay will change the direction to feed the reactor. After 10 s, the valve will switch to the initial position, the scale will tare and the reaction will start again for 90 minutes.
 
The problem I have now is that everything works perfectly but after a period of time the stirrer stops communicating with the PC and it either don't start stirring again or it stir at 50 rpm forever. I noticed that at that moment I get the error -1073807252. I google this error and I try to change the baud rate (Which should be 9600), the number of bits entering the VISA read and the time out but any of these things worked. Could you help me figuring out what is happening please? I have attached my most updated version of the code. Initialize subVI has the VISA configure serail port, the Stirring2 subVI has the commands for the stirrer and 170516 Rumen Reactor Controls2 shows the whole code. The other subVI control the other devices (Permeate pump, scale and relay).
 
The stirrer I'm using is the (IKA Eurostar 60). I have attached the manual.
 
Thank you very much.

execution problem

$
0
0

hello, when i download a new VI or open some of my VI's they give this message and its doesn't open .

 

Velocidad de Abanicos

Waveform Chart Scale

$
0
0

Hi, Everyone.

 

I want to use Waveform Chart and want to create "Scale menu".

I'm already try it but it's not work...

 

Can someone help me fix this VI?

 

Thanks!

Engine Pressue Acquisition VI Help

$
0
0

Hey guys,

 

I need to combine two VI's and need some help and advice on that.

 

So basically I have an engine running at 600 rpm. The first program I have is a pressure acquisition program which is a finite sampling type. I've attached the VI below and labelled certain portions that are not need. The sample clock uses the encoder B signal as it's source. The Z signal is used to trigger data acquisition. The encoder has a resolution of 0.5 deg so I basically get 720 pulses per revolution. At a speed of 600 rpm, that gives me approx 7200 pulses per sec. I have a 6040E card which I use for this and use one counter (Actually it might use both counters since it is a finite acquistion, not sure about this).

 

The second VI is one that measures the time between each encoder pulse. This is done to basically get a very highly precise timestamp so that I can correlate my pressure readings with images from a high speed video of combustion. This is basically a modified period measurement VI. Again, it starts with Z signal and measures time between the encoder pulses so uses the encoder as a source. It uses one counter off a 6601 card.

 

Now what I need to do is just combine both the above VI's into one main VI and write the values to a spread sheet. The first column must have the crank angle degrees like 0.5, 1.0, 1.5 etc although I can omit this column. The next two are very important. One contains the pressure value and the next column must contain the time stamp or time elapsed between the pules. When I run the VI, I just want N cycles of data, so 2N revolutions.

 

1. What would be the best way to combine these VI's? Should I convert the pressure VI to a continuous acquisition with a while loop and then combine parts of both VI's within the same while loop? Can a common while loop for both work? Will it affect the processing of the other?

 

2. What is the best and quickest way to log the values? Should I just use the write to measurement express VI? Will this slow down my acquisition? And should this VI be place inside or outside the loop?

 

3. Do both VIs need to match in the type of acquisition? As in, do both have to be finite or continuous or can one be finite and the other continuous?

 

4. Since the B and Z pules of the encoder are used by both the VI's, can the same terminal be used in both VI's?

 

5. How do I record a fixed number of data? Example 5 cycles or 10 rotations.

 

I'm sorry if some of these questions seem basic or stupid as I'm still a rookie. I would be really very grateful for some help and guidance.

 

Best,

 

Reuven.

 

 

 

Adding a name label in chart

$
0
0

Hello all, 

I have 4 channels. whenever I choose a particular channel it should add to name label of waveform chart ( duplicate scale ) . for eg if i choose a resistance and voltage means only that name labels should be visible in the y scale of waveform graph /chart . could someone ready to fix this ? 

 i have attached my vi 

 

Unregistering Dynamic Events

$
0
0

Hi Experts!
Can anyone please tell me the right way of unregistering events.
I'm puzzling myself if i need to connect dynamic event terminals or it will just do fine even its not wired up.

 a.PNG

b.PNG

Main VI array values does not match Sub VIs'

$
0
0

Hello. I have a problem i have been working on for a few days now. Trying different things and browsing internet has led me nowhere, so i hope this forum post can give me some answers.

 

I have a LabView program that will gather data from a DVM and analyse it in different ways. The DVM is measuring pulses from a power converter. The user can choose to measure several pulses. At one point it will pass the array of data into a sub VI that will find different data points (like max, min, peak to peak etc.) If several pulses are being measured, the sub VI will find these data points of each of the pulses, and graph them in a graph. Example: Measuring three pulses, and selecting 'Max' and 'Min' will result in graphing three Max data points and three Min data points. The problem i am having is that the values that is outputted from the Sub VI and graphed in the Main VI does not match the resolution of the graph in the Sub VI. These two graphs have identical settings in terms of display format, and everything else. When the Sub VI is done, it outputs three different values (in the example above of 3 pulses) to an array, and these are plotted in a graph. When these values are outputted to the main VI, all three values are the same. 

 

I will not post the main VI here, as it is huge, but as you can see in the screenshot attached, i basically feed the array to the Sub VI, along with a cluster where the user ticks off boolean boxes of what data points they want to graph. The other screenshots shows the comparison between the main graph and the Sub VI graph. I have also tried to output the array of data points, and look at the raw numbers, but in the main VI all three data points are identical. And yes, the refnum is fed into the sub VI, so the graph actually updates with different measurements, but all the data point values remain identical. 

 

Thanks for any help! 


TCP/UDP Read/Write thread safety

$
0
0

My main question is fairly straight forward: do the TCP and/or UDP write (and/or read) VIs have any thread safety and, if so, what?

 

I'm mainly focused on writing (for now) but it is likely I'll be writing to TCP and UDP sockets (one of each) in multiple locations and hence (most likely) multiple threads.  I would like to know if I need to be concerned by this and implement something to make them thread safety (e.g. wrapping the VIs in non-reentrant ones)?

 

Note, I'm implementing an interface, so I can't do anything like creating new sockets on new ports; the ones I have and what I do with them are fixed.  I just need to manage accessing them in multiple threads.  I can think of ways of doing this, so all I'm asking is if this is already handled and, if so, how.

 

I'm using a Real-Time Target if that makes a difference...

 

Many thanks,

Stacking shift registers

$
0
0

There was an idea several years ago to have an option to stack shift registers:

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Compact-Stacked-Shift-Registers/idi-p/1093996

Due to lack of interest this idea was declined.

I am in the process of writing a tool that is going to preform different tasks and due to that I need have quite a few parameters and data to be available at all times.

I use combination of a while loop + event structure. Shift registers store information that I need, and depending on user action I get correct data and perform certain action. I came to a point where I have quite a few of those registers and the block diagram starts getting bit messy.

I consider bundling all of them into one cluster (by name) so I have just one shift register to use and then I can just pick the information I need.

A build in function into event loop/while loop would be a very nice thing, but as I mentioned in the beginning the idea was declined due to lack of interest.

My question is: if you are not interested in stacking shift registers, what kind of solution do you implement or would you suggest in this situation?

Coercing "Data In" in XControl

$
0
0

Hi everybody,

 

I am having difficulties with an XControl. I did set up an XControl which provides a circular slider as shown below:Slider XControl

This control has a minimum and a maximum value which it can display. In the case above the minimum value is 10. When I use terminal, local variable or property node to write a value to the XControl I need/want to take care that the value saved by the control is within the min/max range.

So I corece the value internally. The image below shows the "Data Change" event of the XControl. The coercing is done inside the UpdateSliderVisual.vi.

XControl Facade_ Data Change Event

UpdateSliderVisual.vi gets the "Data In" value as input and outputs the coerced value. E.g. a value of '1' is written to the terminal of the XCotnrol. The "Data Change" Event is fired inside the XControl the value is coerced to '10' and provided via "Data Out". The XControl documentation states: "Data Out: The data that is passed to the Data State for use as the Data In during the next iteration".

 

My Problem:

==========

When I pass a value to the XControl which will be coerced the data is only saved if I set the "Data Changed?"-Action to True. But when I do so. An event is fired in the calling VI which is not desired.

I already tried to use the "Data Entry"-property of the "Data In" control to coerce tha value. But these settings do not seem to have an effect.

 

Is there a solution to my problem? Is this behaviour a bug or a feature?

LaBVIEW Call Remote Veristand

$
0
0

I have a HIL machine, which obeys the typical NI's architecture , i.e. one destop connects one realtime controller with LAN.
The desktop has two LAN ports , one is connected with the realtime controller ,the other is connected into the Local NET in my company.
I want to remotely control the HIL's desktop from my personal computer to run Veristand Project, so as to avoid much operation of the machine.I checked the LaBVIEW HELP ,and succeeded calling native Veristand Project, see as below:

7.png

Then HELP document say that I can set the IP address, So I think it supports remote controls,Then I change the diagram to the following:

 

8.png

It does not work,within my expectation.the port 2041 is found by Windows resources Management Tool.

 

Then ,what shall I do ,to complete the remote control ? and how should I point to the project path(my PC's path or the HIL's desktop's path?)?

 

Labview Motor Control third party ethercat device configuration issues

$
0
0

Hello,

 

I am having an issue with a third party device- a Dunkermotoren BG75EC. The system runs a PXIE 8840 chassis with a NI 9144 chassis connected to the motor mentioned above. I have got the PXI chassis working with the NI9144 chassis over ethercat but I have been unsuccessful getting the motor to work. I have followed the steps laid out in previous forums about this issue, but after restarting labview post import, deploying the device changes to the ethercat master the scan engine in the PXI chassis fails to change its state from configuration to active.Erorr Message Scan Engine.JPG

When checking the online device state it states the device is diconnected.

Erorr Message Device Disconnected.JPG

 

I have checked that the device is powered and connected correctly. I know there is power and a connection as the device is able to be detected in the target device pannel.

 

I have contacted Dunkermotoren and they have been unable to help with this issue as their chosen platforms Beckhoff and not LabVIEW.

 

This is the motor spec : http://www.dunkermotoren.com/en/products/brushless-dc-motors/detail/885750880009/

 

If anyone can help it would be greatly appreciated.

 

Viewing all 69105 articles
Browse latest View live


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