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

Analog Output Regeneration in NI-DAQmx (PXIe-6738)

$
0
0

I am trying to create a VI that will program a pin in PXe-6738 analog output with waveform and have the output regenerated using the Board FIFO without having the vi running to reproduce the waveform. as a starting point i used the vi from the examples shipped with labview and enabled AO.UseOnlyOnBrdMem. this didn't work because when i stop the vi i lose the waveform.

 

Also i followed the instructions in this solution http://www.ni.com/product-documentation/3874/en/ but that didnt work either. 

i read through PXe-6738 documentation i see that this board supports Periodic waveform regeneration mode from onboard FIFO. 

can anybody help me with a working example or guide me to any forum or document that can help solve this issue.

attached file is the vi i am using i have Labview 2018

AO_fifo.png

 


Pointers

$
0
0

I am getting back into labview and have a question.  Is there a way to have multiple front panel controls all point to the same variable?  I can't seem to find a way to do this.  Everytime I put a front panel control it creates an independent variable on the control block diagram.  So if I want to display a value in 10 different places on my front panel I end up with 10 different variables defined on the back end 

String function

$
0
0

Hello!

I am new to the Labview and i try to reproduce a VI.

I am trying to find this function/block but i can't find it anywhere

Please help!

Increment variable without while loop

$
0
0

Hi,

 

I am searching a way to add one to a variable each time a Boolean button is pushed without using a while loop. Because i need to use the variable each time and the same boolean button is used to do other tasks.

 

Do you have a solution?

Can't Query Keithley 2400 From LabView

$
0
0

A piece of production test equipment using a PXI-8840 grenaded itself, so I get the task of trying to replace it with a new system. The tester also uses a Keithley 2400 hooked up via GPIB. I can query the Keithley ID through NI MAX without difficulty, but when I try to do the same through LabView, it fails. I downloaded the "latest" drivers provided here on the 3rd party driver link. 

 

Sorry, I am pretty new to LabVIEW, but does anyone have any idea why a simple ID query would fail?

Create an image indicator

$
0
0

Hi

 

I am looking at the NI trigger camera example and try to learn. However, I get into one problem. When I right click the Grab function and click create an indicator for the image output, the front panel does not give me a picture. Instead, it is a grey out text indicator with the label "I/O". 

 

So my question is how to create an image indicator to show image? I also see another example with toolbars besides the image indicator. How can I get that?

Button Caption Question

$
0
0

All - I need some ideas or perhaps what I am asking for is not possible.

 

I have created several buttons that use the button caption property to display the identification numbers of samples that our employees must measure. If I click on any of the buttons where the caption property exists, nothing happens. Looking at the Event Structures Add/Edit Events dialog box, it appears that there isn't an event for this.

 

Is there a way that if I or another user happens to click the area of the button where the button caption overlaps it, it would trigger an event?

Issues with data read for Keithley 2612. LabVIEW error code 85, Keithley Error code: -285, -286.

$
0
0

Hello,

 

I am working on a set up that uses an Agilent 33120A with a Keithley 2612 SourceMeter. The Agilent 33XXX is used to create an arbitrary (square) waveform and apply that to one terminal of a 3 terminal device. The Keithley 26XX SourceMeter is used in dual channel setup to apply a constant voltage across the device on the second terminal from Channel A (or Ch.B) on Keithley and Channel B (or Ch.A) should read out Current/Voltage of the third terminal. 

I have tried several codes to implement this with some difficulties.

Most recently, I am working off of one of the examples provided in the instruments drivers: KE26XX Factory Pulse Script Usage.vi

I have modified the script as seen in the attached VI. (In short; script resets Keithley Channels, Channel A pulses from 0V to 1V and back and forth for i iterations while Channel B is at constant 0.1V, current is measured for each channel after each voltage pulse, finally channels are set to 0V.)

After clicking run, the labVIEW error out states code: 85, source: >Scan From String (arg1) in Keithley 2600 Series.lvlib:Error Query.vi-

>Keithley 2600 Series.lvlib:Close.vi-

>KE26XX Factory Pulse Script Usage.vi

And two errors appear on the keithley, which state: (1)Error Code: -286. TSP run time error at line 1: attempt to index global 'nvbuffer1' a nil value, and

(2) Error Code: -285, TSP Syntax error at line 1: unexpected symbol near ')'

 

After the run is complete, the buffer will still output a single Voltage and Current but will not show all data collected for all i iterations. Any suggestions? 

 

(Note: this specific script is used without the Agilent to apply the waveform for now. I am just trying to get this script to run first before complicating it anymore.)

 


Mean of mesure OR don't show 0 !

$
0
0

Hello,

 

I'm french so, sorry for my little english.

I have a hub who recieve 2 nodes.

I read it on Labview. Look's like that : ID;Temperature;Pressure

for exemple the node 1 who the ID is 43 :   43;25;10000

i can recieve only one by one. like this :

45;30;12000

45;26;11566

43;28;12569

45;31;15333

I put this on a database. 

Now i want to see the temperature on a graph. BUT on the same graph in red (for exemple) the temperature of the ID 43 and in white of the 45.

I parse informations and take only temperature and ID and use it in a "case" in LABVIEW like pictures. But my problem is how can i show both in the same graph without a 0... 

i'll try to explain : when ID is 43, the case return temperature for the 43 but a 0 for 45 so on the graph it's not good ... and vise versa when it's 45.

 

So 2 solutions : 

- Take the last value when it's 0. if it was 25, take 25 and not 0. but if it was a 0 before the 0, take the last value who was not a 0.

OR

- Try to wait the bundle recieve 2 data <0 before the chart read it.

 

But i don't know how to do it ...

can you help me please guys?

 

thx a lot

Backwards compatibility in VI Package manager

$
0
0
Hello all,
 
I recently built my first VI package for distribution and while I absolutely loved the functionality, there's still something I don't quite get about version compatibility:
 
If I build my VI package with VIPM 2018 I can go back with the LabVIEW version (to 2014 in my case). However, if my customer uses LV 2014, there's a good chance he's not current with VIPM versions, either. There is no backwards compatibility between packages built in newer versions than the end users'.
Searching online I only found out that there's no compatibility between packages built before 2014 and packages built after. What I couldn't find is:
Are the packages generally forward compatible, i.e., could I build in 2015 and support all customers going forward?
Where would I even find a previous version of VIPM?
 
Maybe I am approaching this all wrong, so: What is the suggested approach for this problem?
 
Thanks in advance for your help!

String Memory Management using Call Library Function

$
0
0

Hi,

I've been going through the discussion boards extensively on this issue trying to find a clear cut solution but I think my case may be a bit too specific for that route.

 

Anyway, I am working on interfacing with a motion controller (HIMC from HIWIN) using a DLL provided and the call library function tool from LabVIEW. I have already used the Import Shared Library wizard to obtain VIs for the simpler functions but I am stuck specifically on the HIMC_ConnectCtrl function. It has one input which is a relatively complex structure with nested structures inside.

 

Here is how the function is called:

int HIMC_ConnectCtrl( const ComInfo com_info, int *p_ctrl_id );

 

And here is how ComInfo is structured: 

typedef struct {

ComType type;

struct { char ip[20]; char port[12]; } TCP_IP;
struct { char com_port_name[80]; int baud_rate; } RS232;
struct { char autoExecExe; } Simulator;

} ComInfo;

 

The ComType enum is structured as such:

typedef enum {

COM_TYPE_TCPIP,

COM_TYPE_RS232,

COM_TYPE_SIMULATOR

} ComType;

 

The function returns a 0 if successful and anything else if it fails, every time I run the VI it returns this value:  16777226. I believe the issue is either coming from the structure of the char arrays or the enum. I've supplied the VI I modified for this special structure but I'm really at a dead end here and I don't know what to try next. Any suggestions?

 

(If there is a similar post I may have missed, please direct me there.)

On/Off Relay Controller Program using LabVIEW

$
0
0

Hey, 

I am trying to control 6 individual relays with the same button in labview and I cannot figure it out. I am extremely new to labview and all of my knowledge of it has relied on the internet. 

I am using the old 2012/2013 labview software because I am using a CRio on my robot. I began my project by using the FRC basic robot code. 

Basically what I am trying to do is activate each relay when I press the button x amount of times. 

For example, shoot relay one when i press the button the first time, then I press a different button to switch to the next relay, then press my first button to shoot the next relay I switched to. The second button would go through all of the relays 1-6 and then go back to 1 once I pressed the button again and the first button would shoot whatever relay I have chosen. 

I might be overthinking this, in Begin. Vi I have set up for a regular relay function and in Teleop.Vi I have it setup for button 1. I setup a "cascading" mechanism where it goes through 6 "select" values and adds one variable before it continues to the next then finishes in the set values port of the relay setup. 

Please understand I need a lot of help and I am very new to labview.

I have looked all over the internet for the past week searching for an answer, I must be the only crazy person trying to do this. 

Side note: I have no idea how to put in multiple relay inputs. 

Checksum calculation method?

$
0
0

Hello,

I have the below response back from a undocumented instrument's EEPROM through serial port when i send the string command @p

 

1D01 0B00 1742 FA06 0C03 10FF 00F8 300D 0129 0200 0000 960E D4FF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 00BE 012C 015E 0190 02BC 044C 09C4 FFFF 034D 034A 036E 036C 0344 0356 03E8 FFFF 00C8 FFFF FFFF FFFF 03E8 03E8 FFFF FFFF FFFF FFFF FFFF FFFF 00C8 FFFF FFFF FFFF 03E8 03E8 FFFF FFFF FFFF FFFF FFFF FFFF 342F

 

Checksum = 342F ( last 2 bytes in the above response)

I have searched and tried few combinations from the posts on this forum. could not get the correct checksum calculation.

can some one help please.

Thanks in advance

Ejecutar al abrir

$
0
0

Hola que tal,

realice un programa para controlar el tiempo de unas mesas de un billar, ya tengo todo funcionando e hice el ejecutable y el instalador solo que no encuentro la manera que cuando abra el ejecutable el programa se ejecute al abrir sin la necesidad de darle a RUN, es posible realizar esto? ya marque las opciones de ejecutar al abrir, también al crear el ejecutable en source files pase el vi principal a startup vls y no logro que se ejecute al abrir sigue requiriendo que le run para que inicie, ayuda!.

plotting real time data in LabVIEW

$
0
0

I have a code in labview which reads data from the Arduino MEGA ADK board and is supposed to display it on waveform chart. One of the photodiodes' value is being read and another is not but the data is appearing in the serial monitor of arduino. Can anyone help me out with this?


control of vi execution from HOST to a vi on target(Not RT target vi)

$
0
0

Hi all,

 

I have application where i want to control execution of a vi in target(its not a FPGA target vi). For example, when i press "START" button in HOST, vi in target must run and upon pressing "STOP" in host, vi in target must wait(stopping execution and waiting for START command from HOST).

 

Im using cRio 9039.

 

Error 7 occurred at Open/Create/Replace File in NI_Fuzzy_Logic_System_API

$
0
0

Hi there!

 

I have a problem when I am using the myRio. Previously. I can run the program "main.vi" but in this part when I am using myRio-1900 (.lvproj), I can not run the program. The error code is 7

 

I also attached the picture of the program. I am using LabView 2018

 

Please Help Me,

Thank You,

Intho N Syuhri

Master Student Electrical Engineering

Missing NiDaq VIs LabVIEW 2014 Student and NI-DAQmx 17.6 with NI-USB-6008

$
0
0

Hello everyone,

 

This is my first post so please be gentle with me!!

 

I'm tearing my hair out trying to get an NI-USB-6008 to work on my LabVIEW 14 system

 

I've read lots of posts about version compatibility and installation order and have so uninstalled everything and started again with this order of events

 

Step1

Installed LabVIEW 2014 student edition from the CD-ROM and registered it with NI

It works, but if I go into Express -> Input -> the DAQ Assist VIs are missing

 

I then go into Tools ->Advanced -> Edit Palette set ->Edit Controls and Functions Palette the DAQ Assist box is a Question Mark

 

I believe this is normal at this point as I've not yet installed NI-DAQmx software

 

2)

Install NI-DAQmx version 17.6 

I believe this is the last version of DAQmx that is compatible with LV2014

(I previously tried V19 and also DAQmx base, but read these are not compatible with LV2014)

 

I then open LV again and try using a DAQ VI, but again, but still no DAQ VIs are showing up, and there is a question mark in the palette 

 

Annoyingly NI-MAX has also stopped working and won't load - it gets stuck at the loading plug-ins stage.  I've forced a repair via the NI Software tool, but it still fails at the same point - It was fine before I installed DAQmx

 

At one point, I had NI-MAX 19 and I could see the USB-6008 and run the self test mode and measure the inputs, so I know the hardware is at least functional.

 

So basically, can anyone help me to get the USB-6008 running on LabVIEW 2014 Student Edition.

 

I apologise if this has already been covered in a previous thread, but I have looked and failed

 

Many thanks in advance.

how to implement 2x2 MIMO with usrp 2944 and usrp x310

$
0
0

hello, We tried to apply the Alamouti code for that URL(http://www.ni.com/tutorial/13878/en/).
Originally, explanation of URL is explained that 4 usrp 2920s are connected by 2 each, but we have only 3 usrp 2932s, and one usrp x310 and usrp 2944 each exist and try to replace them.

We use switch hub for control 2 usrps in one PC. And we alseo use synchronization with the CDA-2990.

Since there are two channels and there is one Tx and one Rx in each channel, we thought that we could replace two 2920s with x310 or 2941, but two errors occurred.

 

1. invalid input symbol array: Input symbol array is empty

2. code: 1299, Details: LookupError: keyError: update_clock_source: unknown source: mimo


How can I fix this error ?? And can it be implemented with x310 and 2944? Answers I'll wait. Thank you.

Saving offset Null information - 9236

$
0
0

Hi all,

 

I am making an application with a cDAQ 9174 with a couple of 9236 modules in place. I want to be able to do an offset null when the strain gauges are in a neutral position however they probably will never go back to that neutral position again so I need to save that offset somewhere.

 

I tried to use the method stated in this KB: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019OSGSA2&l=en-AU

However this throws an error "-201398" "

Possible reason(s):

Requested value is not supported for this property. If you did not directly set this property to the unsupported value, check other properties that you have set, as they can influence the scaled value of this property.

Property: AI.Max
Requested Value: 1.0e-3
Value Must Be Greater Than: -105.245969e-3
Value Must Be Less Than: -25.586993e-6

Property: AI.Bridge.InitialVoltage
Corresponding Value: -97.062220e-3


Device: cDAQ3Mod2

Task Name: _unnamedTask<38>"

 

I'm not sure why the error says about requested values as I am asking it to give me the number that it has set for itself. I've tried with a for loop going through channel names (it wants tasks), I've tried changing active channels and get the same error as above (as per image) and I've tried single property call for the task (as per second image).

 

Ideally I want all the offset nulls that I can save to a file for each channel, then when the application is reloaded I want to then apply that offset to the new task.

 

I've been trying to avoid manually applying the offset but it is looking like that is the way to go unless anyone has any ideas in next couple of days.

 

Many thanks

Pete

Viewing all 66744 articles
Browse latest View live


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