build a DLL in LabVIEW & Use the DLL in LabVIEW
I am trying to build a DLL for the simple vi with LabVIEW and want to use the DLL in LabVIEW. is it impossible?
I wrote a vi and it have 2 terminals. one is the input for numeric dbl data type and one another is the output for numeric dbl 1D array data type.
It was built with the Application builder for LabVIEW 8.0 and DLL was created successfully.
I want to use this DLL in new vi with LabVIEW.
Call library function used. I wrote a new vi to use that DLL.
In config dialog I config each parameter for dll and connected terminals. but it doesn't work
pleas refer to the attatched file and let me know what I missed.
...Calling a LabView DLL from a Labview VI
Hi, I have a vi that is calling a Labview DLL and they both have a same
subVI. If I drop that SubVI into the block diagram first then drop in the
Call Library Function Node, when I run the VI, the DLL would not work and
it did not give me any error. Does anyone know how fix this problem with
Labview? or is there some configuration that I can force the all of that
SubVI points into the DLL.
Thanks for your help,
...change a LabVIEW array outside LabVIEW and keep updated in LabVIEW
change a LabVIEW array outside LabVIEW and keep updated in LabVIEW
I am Interfacing a FrameGrabber with LabVIEW using a frame grabber
The memory managment of this FG allow you to allocate your own Array
and to give a pointer to this Array to the memory manager.
Then when you acquire with the frame grabber, the acquired image will
be directly accessible in your array.
1.I give to the FG memory manager a pointer to the Labview array
through a SDK Dll function.
2. I run the acquisition
3. I display the array
My problem is that the Array is allways displayed with it initial
val...Is LabVIEW Runtime required for a DLL created by LabVIEW ?
Could some one advice me on this matter please.
I am trying to build a DLL for a set of functions created in LabVIEW. Now I am wondering if I need to use it with some other language like VB or C++, do I need to install the LabVIEW runtime of the same version as the original functions ?
Any settings required while creating the DLL ?
I am trying to create it in LV 7.0
Thanks in advance
yes, if you want to use a dll, which is created with LabView you have to install the runtime engine.
I was hoping it would work without the LabVIEW runtime. Anyway, thanks for the quick reply.
...labview crashing when calling labview-built dll
Hello I need some help with regard to calling a LabVIEW-built DLL in
LabVIEW.I have created a vi in LabVIEW. I made the DLL for this vi. I
called this VI as a re-entrant in another vi.This vi(calling DLL) has
been working fine till yesterday. Since yesterday, it started crashing
LV.I need some help in this regard.I am attaching the
screenshots of the Application Builder configuration window, the B.D of the vi
using DLL and that of the configuration window which pops up when i call the
DLL.I made a vi which performs FRA. I built its DLL.I have around 10
inputs. I output 3 one-dimensional arrays, and a string from the DLL.When i
build the DLL, the builder defines the outputs 'gain', 'phase' and 'frequency'
as arrays of 8-byte double.When i call this DLL in my vi, the configuration
window sets them as 'numeric' outputs.Why does this happen? What is the
solution to this?When i try to set them as 'array' in this configuration
window, i get a warning that i am trying to change the data types which do not
match with the data type found in the DLL. Is this the problem with my
code or with the Application Builder?Now, after i change the 3 output
datatypes to Arrays, and set their minimum length(i assumed that this value
means the size of the array ), the vi runs and crashes LV. I am nto sure when it
crashes, why it crashes. It runs fine at one time. It crashes at another time. I
am nto sure if these arrays are teh reason why L...Error 1073 when building LabVIEW app which calls LabVIEW dll
I am trying to use application builder to build an application that
calls a dll created in LabVIEW. I get an error referencing a vi within
the dll (Parse Stored String(multibyte).vi) saying that "This property
is writable or this method is available only when the VI is in edit
mode." The only option is to Continue which cancels the build. I had
sucessfully built this application prior to including vis that call
the dll and the program runs fine in the development environment.
Do you have any idea what is causing this and what I cam do about it?
I have found a temporary workaround i...Labview Dll call library function Causing Labview to unload
I am trying to use the Call Library function in Labview 7.1 to call an Init function for a Zathic Can4USB device. When I run the vi, it complete log LabView out of the computer. Can anyone tell me why the function totally unloads LV without displaying an error?
Either the function has a serious bug or you are calling it with
invalid parameters or wrongly setup parameters. The problem happening
here is that your DLL passes somehow invlid parameters to a system
device driver and that driver causes a protection fault. For device
driver execeptions which happen in the privileged...Re: LabVIEW and LabVIEW RT?
I will try to illustrate it with an example since it all will depend on the type of application you would like to implement. Let's say you would like to implement an application where you log data, maybe exchange data with databases and you acquire a bunch of data points at a time not performing any type of control and where high determinism is not needed. In this case LabVIEW for Windows work great. If you on the other hand would like to implement a closed-loop application where you need high determinism and reliability and will acquire data point by point you would use LabVIEW RT which is an add-on to LabVIEW. I.e. you need LabVIEW + LabVIEW RT when developing an RT application.
...If i have a labview .vi file(and labview) but i want to open it in a computer that doesn't have labview, how would i do it??
Okay, i have a made a labview program and save it as.vi.
Let's say that it is a program that when opened and you hit run it shows a sine wave.
Now if i wanted to open up the program without Labview, ( i don't need to modify it) on a computer that doesn't have labview. How would i go about doing this??
...How to pass a struct to LabView
I have a LabVIEW application that reads data from SCRAMNet card and process/display data to front panels.
NI provides SCRAMNET.llb (a set of VIs using Call Library Function Node) to call read/write functions in a vendor provided DLL that supports SCRAMNET card. But the problem is that every time to get the data from the card in LabVIEW, you have to provide specific memory offset to call the read/write VIs in SCRAMNET.llb. Dealing with offset values to get data seems cumbersome.
We have struct data type defined in a header file for the program that writes data to the SCRAMNET card. I am just wondering if there is something I can do in LabView that the DLL returns the struct as a pointer and load it to a cluster so that I can access the SCRAMNET struct data via accessing each element of the cluster. If it is possible, is it an easy thing to do or not.
Thanks for your advice in advance!
If you cast your Struct to a byte array, so you can unflatten this array to a (similar) cluster in LabVIEW and ariive each element of your DLL-Struct.
Do you have a specific topic or example in the website <a href="http://www.labviewtutorial.eu/" target="_blank"> LabVIEW Tutorial </a> you referred to? Thanks!
Sorry, that's my signature and no reffering for this topic. But I think there is no problem to p...Getting an old Labview 4.1 prog working with Labview 8
Hi, We've an old program for a mass flow controller that was written in labview version 4.1, however labview ver. 8 does not seem to recognise many of the functions, such as AI Clear and AI read. There does not seem to be a problem with Labview 6 recognising the old program. In short I am wondering if there is some quick fix or if the best thing to do is to uninstall ver.8, and install ver. 4.1. :robotsad:Regards,Harry
did you save it with LV6?
I am not sure what you mean. If you mean... did I load the version 4.1 program into version 6, save it, and then load it into 8? No I didn't think of that. Do you think that should work?I am unclear as to whether an old program is supposed to work in a later version automatically (in which case I have some other problem), or if its usual that there needs to be some changes made.
Ok... I just tried saving it in 6 and then trying to open it in 8.2. It still doesn't work. Very bizzare the way it searches for the "bread and butter" VIs like AI Read, clear etc. Is there any reason why I shouldn't un-install the 8.2 and return to 4.1?? Say issues with 4.1 recognising the card or some such?
Your only problem is that you did not install traditional DAQ. By default, the only driver installed is DAQmx but the older driver is on the device drivers CD. Install that or you can replace the old functions with DAQmx functions.
Cheers Dennis, I'll have a crack at that!
I am a new user of LabVIEW.
I have been assigned to acquire a signal from a sensor at a car.
However, all these signals must be filtered.
But I am not sure, what type of filter most powerful. Besides, as I
know, different type of signal needs differenct type of filter.
Anybody can help me to solve my problems.
Your kind cooperation is highly appreciated.
> Hi ALL,
> I am a new user of LabVIEW.
> I have been assigned to acquire a signal from a sensor at a car.
> However, all these signals must be filtered.
...How can I calling LabView DLL within LabView and pass similar Data Types?
Content-Type: text/plain; charset=ISO-8859-1
I am trying to use an Instrument Driver, which is created in
LabView6.1 as a DLL. At this point I have only LabView to test this
DLL. I was wondering, is there easy way to find out what sort of
Parameter or Data Type I should be using.
How can I pass the following data with in LabView:
LVRefnum as Type?
LVBoolean as Type?
TD1 (a structure) as Type?
It is funny to see that I am able to create a DLL in labview but
having trouble calling it within LabView. I th...Debugging a C++ dll from LabVIEW
What I want to get a feel for is how easy it is to set up the ability to debug code both in labVIEW AND in a C++ compiler, say Visual Studio.
If we have a situation where we have a c++ dll which we are accessing from labVIEW is it possible to attach the process so that you can set breakpoints in both environments. Hence run labVIEW app and when dll gets called hit a Visual Studio breakpoint?
This is a new area to me and I have not found anything regarding debugging. Any comments would be appreciated.
Hi,...How can I get handle(s) to and poll non-LabVIEW window(s)/application(s) from LabVIEW?
Want to launch EXE from LabVIEW, wait for user to finish with EXE's UI, and once they closed it, return execution flow in LabVIEW. Cool, no problem.
Used the System Exec VI and with the "wait until completion" = TRUE the EXE never launches. Not sure why.
With the "wait until completion" = FALSE, the application runs with no problems, but now LabVIEW no longer waits. Can't tell when user is done.
Work around idea... Once the Sys Exec VI launches the EXE, wait and poll some Windows API call to see when the window for the specific EXE closes. Cool.
I know G and no C. What I would ideally like is a DLL, that I can wrap with the DLL Import Wizard. Of course best would be a VI and the wrapped API call.
You could try it with a pipe. With a pipe you can open an exe, and interact
with it through a read and write reference. Although in your case the exe
might not start, since the normal sysexec doesn't start it...
...how to make my labview codings as a package for labview
I made drivers for some thrid party instruments, which is compatable for serial port and Ethernet. I have several vi's for that i cant able to share these vi's to my friends.
i just want to build one package of my driver, also i want to install these package to labview user library.
Tell me some good suggestion for this.
With warm regards,
The easiest way is to do a development distribution (File>>Save As.
If your needs are more complex, you can also try <a href="http://jkisoft.com/vipm/" target="_blank">VIPM</a>. I don't think the free version can do this, but it's worth it just for getting the OpenG code.
where i can find this development distribution ? is there option available in labview?
If you re using LV versions > 7.x, you can create an LLB by using the option Save As... in the Files menu.
You have to just open the top-level VI of that driver (or something) & go on to build the LLB. All other VIs will get added/bundled into it automatically. :smileyhappy:
In LV 7.x, I think it ll be under the Tools >> Build Source Distribution menu...
email@example.com wrote:Hello NI,
&nb...Installation of LabView 8 after LabView 6
Good afternoon everybody,
I've got a big problem with LabView. The fact is that I begin with this software...
I've just installed LabView 8 on a computer where LabView 6 was installed. Once the installation finished, I tried to launch a VI That was developped under the old version.
The problem is that two VI can't be found :
- AI Sample Channel.vi
- AI Acquire Waveform.vi
Therefore, I can't use anymore the program that was working before... What is the solution to get everything ok please ?
Thank you very much !
the VI will now be opened in LV 8 instead of LV 6. So you need all the
components which have been used during developement in 6 in 8 as well.
The VIs you are missing are from the DAQ-driver. Since the DAQ-driver
has been rewritten in the times of LV 7, the new driver is called
DAQmx. This one is not available for LV 6, but is the driver which is
currently installed with LV (if you installed it with the drivers at
all...). The "old" driver has been changed a little and named
"traditional DAQ" nowadays. You should find the missing VIs in the API
from the trad. DAQ. So i asume that everything you have to do is:
install trad. DAQ. You can find a downloadable version <a href="http://search.ni.com/nisearch/nisearchservlet?nistype=default&filter=+%2BProductLine%3A41+%2BDownloadType%3A%22Traditional+NI-DAQ+%28Legacy%29%22+%2BVersion%3A%227.4.2%22+%2Bcontentformat%3Asoftwarel...Labview.lib was not calld from a labview process
I am working with our labview programers to create a Labview DLL that will be called from Labview and VB6. The code works fine with Labview but I keep getting Fatal Error: Labview.lib was not calld from a labview process. I have checked the versions of development software and the runtime versions that we are using and they matche 8.0.1. We have also preformed a mass compile of the DLL with no change.
Are there any other steps that we can take to solve this problem???
<a href="http://digital.ni.com/public.nsf/allkb/A4C3AEF93240280A86256931006FB66C?OpenDocument" target="_blank">http://digital.ni.com/public.nsf/allkb/A4C3AEF93240280A86256931006FB66C?OpenDocument</a> Just to make sure you know of this article, I hope its a new one and else we can look further.<a href="http://www.groupsrv.com/computers/about566915.html" target="_blank">http://www.groupsrv.com/computers/about566915.html</a> Another discussion regarding the same error message.<a href="http://digital.ni.com/public.nsf/allkb/A4C3AEF93240280A86256931006FB66C?OpenDocument" target="_blank"></a> Message Edited by andre.buurman@carya on 06-04-2008 08:02 PM
<a href="http://forums.ni.com/ni/board/message?board.id=170&message.id=127655&query.id=62975#M127655" target="_blank">http://forums.ni.com/ni/board/message?board.id=170&message.id=...How to save in labview 7, from labview 8
Need to open my LV 8 VI in LV7, due to different plattforms...
How do I make it possible?
You will have to save out your VI using LabVIEW 8 first, select the Save with options. Then you can select the previous version, which probably is 7.1. ( You will have to repeat the procedure using LV7.1)
If you have used any of the new functions and featured in your VI(s), then these will be lost when you save backwards.
Hope this helps
1) I was just trying your advice on my system and I don't see 'Save with Option' . There is Save, and Save As..
2) I have a llb file and I wish to know which version it is...how can I find out? (I'm using 8.01). I suspect it is 7.1 and I get bunch of errors when it opens.
3) If the vi is 7.1, will LabView automatically convert it to 8.0?
p.s. I'm mainly a CVI developer, and apologize for the "basic" questions...
Thats the trouble when you dont have labview in front of you. Looking at the manual chapter 7-7, there should, be under menu item File a 'Save For Previous Version'.
I think under the VI Properties, under the change history, you should be able to find out what version it is. LabVIEW will try to convert automatically, but there are some issue that it cannot cope with. The release notes should identify these.
...Help needed: Can anybody convert a hit7104g.llb from LabView 7 into a dll for LabView 6.1??
Gents, I am an absolutley beginner in LabView, but working very hard on it to get a progress.I"ve got great help here at this pages how to find out the first steps installing 2 DSO Scopes Hitachi VC-7104, which are connected via PCI-GPIB.Equipment, settings and communication inside the automation explorer is working perfect.I found a free LabView version inside a PC Magazine, its the LabView 6.1 and I want to let them communicate with my DSO's.There is a driver available but for only for the LabView 7 version.Can anybody convert this file and explain to me how to install it later at LabView 6.1 ??I would be very happy, because my old method was writing data's into the PCMCIA-SRAM card at the DSOand pull out it for reading outit later in a PC, crazy method.Best regards from Germany!Thomas
I am converting them.
Will post soon
Ok, great!!!Many THX !!Meanwhile I read more in the LV6.1 manual.Thomas
A bit messy since I was trying to do it quickly, but all the files should be in LV6.1 in their respective folder.
Let me know how it goes.
Converted to LV6.1.zip:
http://forums.ni.com/attachments/ni/170/343390/1/Converted to LV6.1.zip
Joe, Moved all folders from your file into the folder C:\Programme\National Instruments\LabVIEW 6.1\instr.lib,same path were the HP34401 instrument is.Then tried a function, like the GO NOGO function and now the communicaton is perfec...How to transfer data from MS Excel to labview & Add check boxes and transfer back to excel?
i have some data in the form of quetions with check boxes and text fields in Ms Excel. i want them to be transferred to Labview 8 using program and answer the questions in labview and transfer the answers into Ms Excel spread sheet.
Can anyone please help me on these. i m just a beginner and not much familiar to labview.
I will be grateful If anyone please post a similar code .
You can refer to the post <a href="http://forums.ni.com/ni/board/message?...Error Code "1097.....this might corrupted LABVIEW's memory.........." appears after exit the labview and re-start labview
I have a probelm when I use the "tool/import shared library(.dll)" wizard to generate the API from C.
The API works correctly when I complete the wizard, but after I exit labview and re-start labview to run the API again. The error 1097 code "......this might corrupted LABVIEW's memory.............."appears.
The only solution now is to re-generate or update the wizard to generate the API.
I try to find the answer in
<a href="http://digital.ni.com/public.nsf/allkb/58596F5D41CE8EFB862562AF0074E04C?OpenDocument" target="_blank">http://digital.ni.com/public.nsf/allkb/58596F5D41CE8EFB862562AF0074E04C?OpenDocument</a>
The paragraph in above article shows
"LabVIEW does not crash until it is closedThe most likely problem is that the DLL function being called has corrupted th...DLL in Labview
I have a great problem and I hope someone can help me. I am trying to
include a dll in Labview 7.1. The dll was made in Matlab and represents
a biochemical simultion - means a system of differential equation. I
included in Labview with this libary node - but the programme is not
doing anything - I mean the Labview programme is running without
problem, but it is not calculating anything. And I have no idea what
the actual problem is.
So I hope somebody could help me.
...Should I call C from LabVIEW or call LabVIEW from C?
I need to write some software and am trying to choose the best development environment. I currently use Borland C++ Builder to develop most of my software and have also used some LabVIEW occasionally. The new package I need to write has to provide several functions, some of which would be better in C++, some in LabVIEW and I am wondering whether to combine the two. So far, I have had a quick play around and called a very basic piece LabVIEW code, built into a dll, from some C++ code. I am about to try to reverse (create dll in C++ and call from LabVIEW) but would appreciate some advice on the advantages/disadvantages of each method.
Restrictions I have:
1. I will (probably) be using some hardware which will be supplied with C++ driver functions only. My interface with this card is the 'heart' of my system and is time-critical. Also, I need to assign a pointer to pass to this card (could I do this in LabVIEW?)
2. I wish to analyse data from the card using FFT and related functions so would ideally use the LabVIEW Sound & Vibration and Order Analysis toolkits. I need to use these in real-time where the data sampling rate is fairly high (frequency analysis to be done on 4 channels at once with each channel sampled at approx 100kHz).
To add to this, I would like to be able to create/modify the display screen at run-time - something which I am fine with in C++ but understand is very difficult in LabVIEW (I have only used LabVIEW for relatively...