I have been asked to program a TDK-Lambda power supply using LabVIEW and I have no idea where to start. The power supply will be used to power a chamber that runs for up to 96 hours. I found the drivers on the NI website that correspond to the power supply I am using but do not know how to use them. Please help...
Help: Programming TDK Lambda power supply with LabVIEW
Having issue with exe that looks for broken vis
hi Folks,
I wrote that basically looks for broken vis in a folder and reports them. it works great and does what i need it to. i made an exe to distribute it and built the exe. when i run the exe and ask it look at the folder containing the broken vis, it basically reports all the vis as broken even though there are many which arent broken. the exe and the VIs to look for are in different folders. I'm not sure why this is happening. your inputs are most appreciated!
Thanks,
Santosh
Multicolumn Listbox, Property Node and Value property arrays
I'm trying to tidy up a common use case I have with MCLs into a nice reusable utility VI, where I'd like to allow the user to select zero, one or more items from one MCL and transfer the selected contents to another MCL. The easiest way of doing this is passing a reference to my source and destination MCLs to the subVI and then accessing the Value and ItemNames properties.
However...property nodes for strict MCL types return a Value property equal to a scalar I32, rather than the array of I32s I need for 0 or more selection modes.
There are a couple of approaches I can use here:
- Pass in the control value array from the calling VI
- Disconnect the datatype from the control, meaning Value returns a variant, then Variant to Data to the I32 Array
- Set the reference type to a generic control, then do the above
- Cast the reference to an MCL contained inside the subVI
The first one would be my long term favourite, allowing me to bundle the utility into a polymorphic VI. The second option would be my other favourite, as I know the subVI will live inside a collection of exclusive MCL utilities.
Have I missed a trick? Is there a simpler, easier way of doing this?
What to do when you have data coming in at different rates over the same COM port?
I have a 4 Zigbee node set up, 3 transmitters (identifiers are 333,444,555), 1 receiver. The reciever is read by Labview using the serial read. Each transmitter has a unique identifier and I can parse out who sent what packet when. Since I only have the one receiver, if I am getting a packet from one transmitter it ignores the other 2. My issue is that 1 of the transmitters runs at 20Hz, while the others at 1Hz. I think i am forced to run at the speed of my slowest component, so taht would mean my VI needs to be timed to run at 1Hz. What I would like to do is average all 20 samples from the faster transmitter, then record/perform calculations/display my data with the other two at a rate of once per second.
As far as I can tell from the packets received the data rate is fast enough that losing 1 or 2 packets from the faster sensor is a negligible loss if I do end up averaging them:
08-22-2016 13:36:04.196,6126,RECV,7E00178100002B00205A203030303230207A2030303031350D0A00 08-22-2016 13:36:04.252,6127,RECV,7E00178100002B00205A203030303230207A2030303031350D0A00 08-22-2016 13:36:04.296,6128,RECV,7E00178100002B00205A203030303230207A2030303032300D0A04 08-22-2016 13:36:04.346,6129,RECV,7E00178100002C00205A203030303230207A2030303032320D0A01 08-22-2016 13:36:04.346,6130,RECV,7E00178100002F00205A203030303230207A2030303032320D0AFE 08-22-2016 13:36:04.436,6131,RECV,7E002E81000032004F20303230362E332054202B32352E38205020313031382025203032302E3237206520303030300D0AC4 08-22-2016 13:36:04.436,6132,RECV,7E00178100003200205A203030303230207A2030303032300D0AFD 08-22-2016 13:36:04.486,6133,RECV,7E00178100003600205A203030303230207A2030303031350D0AF5 08-22-2016 13:36:04.536,6134,RECV,7E002E81000032004F20303230362E362054202B32362E38205020313031392025203032302E3237206520303030300D0ABF 08-22-2016 13:36:04.596,6135,RECV,7E00178100003800205A203030303139207A2030303030380D0AE9 08-22-2016 13:36:04.596,6136,RECV,7E00178100003300205A203030303138207A2030303030380D0AEF 08-22-2016 13:36:04.652,6137,RECV,7E00178100003100205A203030303139207A2030303032320D0AF4 08-22-2016 13:36:04.652,6138,RECV,7E00178100002F00205A203030303139207A2030303032340D0AF4 08-22-2016 13:36:04.738,6139,RECV,7E00178100002F00205A203030303139207A2030303032310D0AF7 08-22-2016 13:36:04.786,6140,RECV,7E00178100003000205A203030303139207A2030303032300D0AF7 08-22-2016 13:36:04.836,6141,RECV,7E00178100003200205A203030303139207A2030303032320D0AF3 08-22-2016 13:36:04.886,6142,RECV,7E00178100003200205A203030303139207A2030303031380D0AEE 08-22-2016 13:36:04.946,6143,RECV,7E00178100003200205A203030303139207A2030303031330D0AF3 08-22-2016 13:36:04.996,6144,RECV,7E00178100002E00205A203030303138207A2030303031310D0AFA 08-22-2016 13:36:05.046,6145,RECV,7E00178100002C00205A203030303138207A2030303031360D0AF7 08-22-2016 13:36:05.096,6146,RECV,7E00178100002C00205A203030303139207A2030303032350D0AF6 08-22-2016 13:36:05.146,6147,RECV,7E00178100002E00205A203030303138207A2030303031340D0AF7 08-22-2016 13:36:05.146,6148,RECV,7E00178100002F00205A203030303138207A2030303031330D0AF7 08-22-2016 13:36:05.236,6149,RECV,7E00178100003000205A203030303138207A2030303032300D0AF8 08-22-2016 13:36:05.286,6150,RECV,7E00178100003300205A203030303138207A2030303032320D0AF3 08-22-2016 13:36:05.346,6151,RECV,7E00178100003700205A203030303138207A2030303031360D0AEC 08-22-2016 13:36:05.396,6152,RECV,7E00178100003900205A203030303138207A2030303031320D0AEE 08-22-2016 13:36:05.446,6153,RECV,7E002E81000032004F20303230362E332054202B32352E38205020313031382025203032302E3237206520303030300D0AC4 08-22-2016 13:36:05.446,6154,RECV,7E00178100002A00205A203030303138207A2030303031360D0AF9 08-22-2016 13:36:05.506,6155,RECV,7E00178100002600205A203030303138207A2030303032320D0A00 08-22-2016 13:36:05.506,6156,RECV,7E00178100002300205A203030303138207A2030303031380D0AFE 08-22-2016 13:36:05.566,6157,RECV,7E002E8100002E004F20303230362E362054202B32362E37205020313031392025203032302E3237206520303030300D0AC4
Since it is a stream that is continously running, slowing down the read loop with a wait crashes everything. The idea I have to make this work is to use reception of the 3rd sensor as my timing marker. So when 555 is received, take last 20 data points from 333, average them and then use that for other phases of the VI.
1) is this a good idea?
2) how do I implement it?
My VI is attached for reference. Ignore the switch case it does not work in this version, but everything is correct.
error 2983 while building an exe which has source control vis
hi,
I'm tyring to build an exe for a code that has source control VIs in it. i get error 2983 while running the exe. i did some research and found that about the three parameters that need to entered into the ini file. i did that and also added the NI_SCC_P4CMD.lvlib to the dependency. i still get the error. not sure what wrong i'm doing here. below are my variables in the ini file
SCCConfigData="TRUE;TRUE;;;;"
SCCProviderName="Perforce Command Line"
SCCProviderLocation="P4CMD"
3D 4K 3G-SDI Pattern Generator
Hi All,
I am looking for a 3D-SDI video test signal generator that outputs SDI and HDMI for my PC. It should have all the typical 'old' standard multi color bars, cross hatch SMPTE 259M,SMPTE 292M/SMPTE 424/425M and timer etc.
I have QuestTel 3G-SDI Pattern Generator that can handle HDTV NTSC or PAL and 16:9 formats to 720p and 1080p.
While I have been able to find a myriad of stand alone units, which is fine I am looking for recommendations, or stay away from's.
I also would be interested in a USB option to connect to my MAC PRO if available for true portability(something I can throw in my laptop case).
Look forward for recommendations
Thanks all,
Dan
How to measure the execution time of a specific process in a VI?
Hello! My VI has two processes: image compression and edge detection and I'm trying to measure the execution time for the edge detection process of my VI, but I don't know how to do it. Please give me ideas on how to do it. Thank you!
Saving a 3D Picture object or scene ?
I'm using the 3D Picture pallete to try and plot data, which in my case is essentially a large number (thousands) of voxels (extensively using the Create Box.vi). It's a clunky solution, but it works.
Is there a way to save the 3D data such that i can reload it easily and toy with display options, without having to recalculate the positions of all of the component objects?
It's not quite clear how to me how the data is managed and I can't see any obvious VI or property that would allow me to save and subsequently reload the combined data directly into a 3D Picture reference.
Read TXT and separate data
Hello
I have a problem...
I have this TXT file
T1 1 00000010 00000001 OutIn t1
Ters 1 00110000 00000011 OutIn t2
ggfd 1 00000001 00000010 OutIn t1
t1 0 00000110 00000011 InOut t1
t2 0 00110100 00000011 OutIn t1t2
T1 Tab 1 Tab ..... t1 CR LF
I read this file in Labview and i wuold separate this data for type..
Row 1 in Array [1][1] T1 [1][2] 1 Array [1][3]00000010 ecc...
Array [2][1] Ters
Thx
If you wuold I sand Picture and schematic
Bye
How to plot with scilab script node in LabView?
Hello LabVIEW-Community,
I hope this subject is in the right section.
For enhancing my level of automation I would like to call functions in the scilab node of Labview which I have already used before in Scilab. A big part of these functions is to plot curves. Unfortunately plotting don't seem to work.
I have the Scilab-toLabVIEW-Gateway and scilab installed. Also I use the 2015 version of LabVIEW.
I tried it with two (32bit & 64bit) systems.
I know it is possible according to this video at about 16:30
https://www.youtube.com/watch?v=dimFz2d6aAM
I used the same example VI but it didn't work.
Has anyone an idea?
Thank you in advance for your help!
Marco
TRIGGER 24 VDC VALVES WITH DIGITAL OUTPUTS
Hi Guys,
I have some solenoid valves (24 V, 100 mA) I want to trigger them with the digital lines of my DAQ USB. As the digital lines are just 5 V I could amplify the voltage but in any case the current is too low to trigger them. I was wondering if there is something, like a switch that can be drived by the digital output in such a way that when it is actuated connect a 24 VCD power supply with the valve so it closes and when I stop applying the 5 V it is switched off. Electronics is not my background as you can see so I would appreciate if you could tell which is the best way to do this.
Thank you very much
Need advice on setting Call Library Function Parameters
Hi All.
I am trying to configure a call library function with the following parameters from MSDN
BOOL WINAPI GetConsoleScreenBufferInfo( _In_ HANDLE hConsoleOutput, _Out_ PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo );
For the types HANDLE and PCONSOLE_SCREEN_BUFFER_INFO what should they be set to. These are C++ parameters and there is no documentation of how to use them in Labview. Does anyone know how to set them up??
Thanks.
references to Clusters in an array of cluster of Waveforms
hallo,
need to find references for the cluster in the Array.
Its a Array of cluster of Waveforms. Also the Size of array is variable during operation how can I get exactly the same size of References as the size of array.
The array is added as snippet.
thanks Akshay
compiled VI not working on same PC, while running as VI works fine
I have situation where my VI loads external dll, which it seems loads additional dll's. While my VI shows dependency towards only main DLL, others are not included in the project. That seems to not bother the LabView runtime when running the VI itself, but when I build it as .exe file and try to run it on the same PC, it doesnt work. All of the other dll's are located in the same folder as application .exe file is.
Dll's are .NET 32bit. Everything is compiled on 32bit windows 7 on LabView 2012.
How do I force static loading of dll's, because it seems that dynamic loading is the issue or am I wrong ?
How to sens that there is no new data in the buffer when using continuous output, regeneration mode off
Please refere to the picture of my code. While samples are output, I am transfering new sample points in to the buffer. I want to close the task after the last sample is output. How can I achiev this?
At the moment it throws the error -200290. Meaing that there is no more data to output in the buffer. How can I finish the task in a controled manner?
Type definition force update
Is there a way to force LabVIEW to update all instances of a type definition, that is to reload them from the file?
For example, if I need to change the documentation (description or tip strip) of a type def after it has been created and propagated through my application, this (manually initiated) function would force all instances to be reloaded from the *.CTL file. This is a different function than a strict type definition. For a regular type def, if some components were changed to be hidden or disabled, this 1 operation would allow all instances to be updated at once.
Currently, to propagate non-data-type information you must use a strict type def (incomplete functionality, but encompasses the GUI aspects) or manually reload each instance to propagate changes. My understanding is that the WHOLE PURPOSE of a type definition is to prevent the user from manually keeping multiple instances synchronized.
Thanks for any ideas.
bit array binary string (from TCP Read) to LV boolean array (and back)
I would like to ask what is the most straightforward way for the following conversion? We use aTCP Read function to read an incoming binary string from a S7 PLC using LabVIEW. We know that LabVIEW stores a Boolean in 8 bits. The incoming binary string contains 14 bits (representing 14 status flags). What is the best way to convert these 14 bit values into LabVIEW Boolean array?
Also, we need to send a LAbVIEW Boolean array into to the PLC in a form of data string (to TCP Write) containing status bits.
Thanks very much!
Persisting SubVI Selections during Runtime.
I'm using an instrument from Keysight, and creating a simple VI for taking measurements.
I am wanting to create a SubVI that allows you to select multple configurations for this instrument so that if the user doesn't like the default configurations he can go in and alter them by clicking a simple "Configure" button.
Currently my code passes in the VISA and opens the Configure SubVI, and you can change the configuration of the instrument, but when you close the configuration window it closes the SubVI and then if the user then wishes to open the configuration window again all the defaults are loaded and the previous configuration is lost.
Is there a way to persist decisions made by the CURRENT user of the VI during the time they are using the VI, without completely changing the default selections of this SubVI? Perhaps just hiding the VI and showing it again if needed?
I was wanting to use a AE but there are so many inputs/outputs that it wouldn't really work for me unless I'm missing something.
Thanks,
Kellen
Measure VI
Configure SubVI
Releasing memory used by Charts and Graphs
Hello everyone,
I know the way releasing the memory used by charts ang graphs is to connect an empty array to a specific property node:
"History", in the case of charts, and "Value", in the case of graphs.
How ever I would like to share a strange behavior I have witnessed in my application. I have different graphs where I load data stored in a TDMS file (approx. 40 MB size). The file is expected to be even bigger.
Before loading the information from the file the task manager of windows shows that my LabVIEW application (.exe generated with the application builder) uses 24.692 KB. the strange occurs after loading the data:
1. The first time I load the data my application increases the memory consuption up to 404.640 KB. I assign the empty arrays to clean the memory and then the size is reduced to 170.076 KB.
2. The second time I load the data my application increases the memory consuption up to 405.696 KB. I assign the empty arrays to clean the memory and then the size is reduced to 234.488 KB.
3. The third time I load the data my application increases the memory consuption up to 470.056 KB. I assign the empty arrays to clean the memory and then the size is reduced to 234.524 KB.
After assigning the empy arrays I would expect to get a memory consumption similar to the original (24.692 KB).
I am reading the TDMS file and closing it with the appropriate VIs.
Is this an expected behavior of LabVIEW or should I worry about the excesive memory usage increment?
Any information is highly appreciated,
Best regards,
Diego
LabVIEW IDE semi regularly hangs on exit
LabVIEW seems to be hanging semi regularly (once every 10-20 closes as a guess) when I close down all of my projects and return to the main screen and then close LabVIEW completely.
The process is still running with the application shown in the taskbar. As soon as I click on the icon to give focus to the main window, it pops up momentarily and then hides again. The taskbar close icon/menu action does nothing.
I'm running Windows 10 and LabVIEW 2016 (16.0). This also happened with 2015 SP1.
Anyone else had/have this happen?
Is there a way to capture logs for this? I've created a dump file, but it was over 700MB.
Thanks