Make a DLL with LabView??

Hi LabViewers!!
I'm doing a program with C++Builder and I would like to use some
features from LabView, and I think that I can do that creating a dll
with LabView but I dont know if this is possible. Could someone tell me
if there is another way on making this task?
Thanx in advance.
Juanmi.
Juan Miguel Delgado Garcia de Soria.
Electronic Engineer.
Universidad de Cádiz. (SPAIN)

> I'm doing a program with C++Builder and I would like to use some
> features from LabView, and I think that I can do that creating a dll
> with LabView but I dont know if this is possible. Could someone tell me
> if there is another way on making this task?
>
LV can't build DLLs yet. If you are using a recent version, > 5.0, then
you can use the server interface to have LV carry out an execution and
pass back the results. This will work in a separate EXE, even on another
computer if that helps.
The server works LV->LV over TCP, and it also supports ActiveX; so other
environments can control it and have it do executions for them. There
are also some C++ classes on the ftp site that make the ActiveX controls
a little more natural in C++.
Greg McKaskle

Similar Messages

  • Building a dll with labview for CVI

    Hi,
    I am making some abstract hardware layers for some instruments and i use to work with Labwindows CVI. But i have found ONE instrument, the Instek pst3201 alimentation which is ONLY created with Labview.
    So i downloaded the 8.6 LV demo and builded the llb projet in order to obtain some .dll, .h and .lib files and included it to a CVI project in order to construct an intermediate Dll level.
    Everything builds fine, like usually when i use an IVI driver but my problem is that when i try to call this intermediate Dll level with my abstact hardware layer using LoadLibrary, nothing is returned like if the DLL doesn't exist.
    So my question is : Do you think that this is a problem from CVI (and i repeat that i have made a lot of others abstract hardware layers using IVi drivers except that this time i haven't got any .fp or .c but  a .h and i include the .lib to the project), or a problem from Labview and i should use the LV Application builder if it's different ?

    Hi,
    It's seems that you have no exported function. What function do you have in your header file? did you tryed to create a really simple dll (doing an addition for example ) in LabVIEW only to verify that you are correctly creating the dll?
    Manuel R
    AE dans une autre vie

  • Possible to make a dll with java?

    I am completely new to Java. Is it possible to create a Windows style DLL with Java? I am working with one project written in VB.NET which needs to access functions in another project written in Java. Can anybody help me figure out how to do this?

    I'm not sure what you mean by what type of project. It contains numerous data analysis functions which I want to access from a VB.NET program. From what you've written, I must assume that Java cannot be used to create a DLL and my only option is to rewrite it in another language. Thank you for the info.

  • Generating DLL with LabVIEW - A basic question

    Hi everybody !
    I'm trying to generate a simple DLL with LV. I have read as much as I could on the subject, prepared a small test vi (calculate x*x), built the corresponding dll, inserted and configured the ddl into another vi... Every thing seems to be fine, except that the ddl returns 0 whatever I'm doing.
    I'm obviously missing something here, and I would be very gratefull if somebody could guide me out of this stupid corner.
    CC
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

    Hi Chrisger & Becktho !
    Thanks for your replies.
    Unfortunately I'm still stuck.
    First thing is that I followed already exactly the path develepped by Chrisger. I also tried changing the calling convention as suggestedc by Becktho. No success.
    Second thing is that the ddl provided by Chrisger works perfectly (sorry Becktho, you just forgot the attachment...). At least that's something that shows I'm not entirely stupid, since I'm able to use a DDL compiled by someone else !
    So, this seems to be a problem related to the way I am generating the DLL. Just in case, I have attached here the files I'm using (the source, the .bld file, and the generated DLL. Could you give them a look/trial ?
    CC
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Test DLL.zip ‏18 KB

  • Are USB-6008 drivers available that make it compatible with LabVIEW 6.1?

    I'm using a USB-6008 Multifunction DAQ, but it is not compatable with teh version of LabVIEW I'm using, 6.1. I may be able to upgrade to LabVIEW 7.1 to solve the problem, but I wanted to know what alternatives I have. Are there any available drivers or patches that allow the USB-6008 to be recognized by LabVIEW 6.1?

    Unfortunately, no. The driver for the USB-6008, DAQmx Base 1.5 is only compatible with LabVIEW 7.0 or newer.
    -Alan A.

  • Please help this newbie make a start with LabView 7

    Sorry for these very very basics but I failed to resolve these myself though I did my best.
    I try to make a GPIB i/o on a block diagram.How to ?
    I cannot find such in the functions menu.
    I find only a vi for typing direct commands ( which does work ).
    I tried many many variances, but end of all i get stuck, e.g. at : file>new>instrument i/o(gpib)>read and display>right click>controls>search>i/o....i get stuck.
    I am afraid I do miss a lot.....
    I have a NI GPIB PCI 488.2 card and some HPIB instuments.
    The PCI card and the NI 488.2 drivers work.
    I can read the instruments' dev.#.
    How should I implement instruments' r/w commands in an i/o block diagram ( if possible at all ).
    I cannot use VISA ( I
    assume C++ or VB is needed for that, which is beyond my capabilities ).
    Any help will be gratefully welcomed.
    Peter van Daalen.

    LabVIEW can do VISA and NI-488.2 directly; you don't need C++ or VB.
    First of all, you should see if there are instrument drivers available for your instruments. There are thousands of free drivers available on http://ni.com/idnet/. Search there first, because if you can find a driver for any of your instruments, it will save you a lot of time.
    If you can't find a driver, you will have to send and receive messages from the instrument directly, and this is where NI-VISA and NI-488.2 come in. The simplest way to get started with this direct communcation is to use the "Instrument I/O Assistant". This is in your "Functions->Input" palette, and you can read about it in the online help.
    The Instrument I/O Assistant will bring up a dialog to select th
    e device, send it a command and parse the results. Once you click "OK", it creates an Express VI on your diagram for you to incorporate into the rest of your application.
    I hope this helps you get started.
    Brian

  • How do I use the a command from a .dll with labview?

    I want to use for example the M8784Open() command to control an M8784
    photon counter.  I know how to place a call library function node
    but don't know where to go there. The user manual for the photon
    counter has the following explanation of the M8784Open() command but I
    don't know how to use their advice in labview!
    7-3-1 M8784Open( )
    Declaration HANDLE M8784Open( BYTE Board );
    Parameter
    BYTE Board
    Specify the board to be used: M8784_MASTER or M8784_SLAVE. Specify both
    when making 2-channel measurements simultaneously. It is not possible
    to specify M8784_SLAVE only.
    Return value A handle for the M8784 is returned when the function has succeeded..
    INVALID_HANDLE_VALUE is returned if the function has failed..
    Explanation Calls a handle to allow the M8784API.dll to use the M8784.sys driver.
    Hereafter, specify this API’s return value (handle) when using other APIs.
    When quitting M8784 operation, call up M8784Close( ) to cancel the driver.

    You need to find out the equivalent number of the parameter. Somewhere in your documentation, or inside a file (for example, a header .h file in C/C++) you will find the definitions of each parameter.
    For example, M8784_MASTER may have the value 1 and M8784_SLAVE the value of 2. You already know that it is a BYTE, so it will be a number of type U8 in LabVIEW. You need to find the exact values.
    Probably, by value "A" it means the hex number "A", which is 10 in decimal. You need to find that in your documentation.
    You also need to find the type HANDLE. It can be a BYTE, etc. Once you know that, find the value of INVALID_HANDLE_VALUE, so you can test for the error.
    Most of this information can be found in the document Using External Code in LabVIEW. Check your help file, or check this link.
    Regards;
    Enrique
    Message Edited by Enrique on 09-29-2005 10:36 AM
    www.vartortech.com

  • Create dll with arrays and call it

    I am trying to create dll with labview in order to pass a 2d array to the main program. The problem is that I don't really know how to create the function to call it (I don't know much about pointers)
    The function I have created to call the dll is void Untitled1(TD1Hdl *Array1) which is suposse to return the array created on it.
    For example, in the program attached, how should I do to pass the array to another program using dlls?
    Thanks a lot,
    Juanlu
    Attachments:
    Untitled 1.vi ‏7 KB

    The code you've provided doesn't do anything (just a control wired to an indicator) so I'm not sure what you're asking here.
    If I understand correctly, you want to build a DLL from your LabVIEW VI.  From what language will you call that DLL?  There is no standard way to pass a 2-D array.  If you can convert to a 1-D array, you can use a simple pointer.  With a 2-D array, you're stuck with LabVIEW's array representation (the TD1Hdl type), which means that whatever code calls that function will need to understand the LabVIEW data type and how to manipulate it.

  • Screen shot VI works fine with Labview 9 but crushes with Labview 10

    Hi everyone,
    I am using Labview 10 with XP.
    The screen shot VI (available in the .zip in this discussion http://forums.ni.com/t5/LabVIEW/Can-i-make-an-automatic-Print-screen-in-labview/td-p/534790/page/2?q... works fine with Labview 9 but makes Labview 10 crush every time (same computer)  .
    Any solution to make it work with Labview 10?
    Thanks,
    User
    Solved!
    Go to Solution.

    Hi,
    Thanks for posting on NI forum.
    You could find a response at the end of the same link you had post (page 4).
    http://forums.ni.com/t5/LabVIEW/Can-i-make-an-automatic-Print-screen-in-labview/td-p/534790/page/4?q...
    Regards,
    Nicolas M.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Journées Techniques LabVIEW 2012 : du 27 septembre au 22 novembre
    2 sessions en parallèle : Débuter a...

  • Problems with installation of system and support files with Labview 5.1 on Windows NT.

    I make installations disks with Labview 5.1 on Windows NT and I need to add some system files and other support files. When I'm in App Builder I choose them in "Add support files" and I mark their "custom directory destination" (c:\winnt\system32, c:\est\base) but, when I test the installation I see that files don't save in this directory, they save in 'C:\c\winnt\system32' and 'C:\c\est\base'. How can I solve this problem?

    Jorge,
    I know there were some problems with the LabVIEW 5.1 Application Builder that were fixed in the LabVIEW 5.1.1 Updater. I recommend you download that update to see if this fixes the problem. Also, double-check to make sure you have typed the file paths correctly. If you continue to have problems after installing the 5.1.1 updater, please let me know, and please attach your .bld file so I can examine it for any problems.
    Thanks for your patience on this issue, and have a pleasant day.
    Sincerely,
    Darren Nattinger
    Applications Engineer
    National Instruments
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman

  • Control a usb missle launcher with Labview

    I have bought a toy named "usb missle launcher"
    The control software have a dll named "hiddog.dll"
    how coul i use the hiddog.dll with labview  
    that is mean
    how coul i control the usb missle launcher with labview
    Attachments:
    Missile Launcher.zip ‏2384 KB

    The Call Library Function Node will allow you to call a DLL. To do so, you need the documentation on the DLL. This documentation would list the functions as well as the arguments for those functions (i.e., inputs and outputs). There does not seem to be any documentation in what you uploaded. Actually, I have no idea what you uploaded, aside from the fact that one of those files was the actual DLL.

  • Programmin​g sequencial screens with LabVIEW

    What I would like to do is to be able to make multiple screens with LabVIEW. Say for example on screen one I have a text box for someone to enter their name and age in, then they can press enter and then the next screen will appear, (this second screen is to be of a game for a research project I am doing), I want to ultimately record the way in which people play the game.
    I really appreciate any help.

    Hi,
    His can be done with tab pages. You can hide the tab page borders (or
    disable invalid pages). You can choose to use one button (e.g. Next)
    floating above the tab page, or you can make several buttons on the
    different tab pages.
    The program can control which tab page is visible. I usually use a state
    machine architecture, because it fits the nature of the user interface.
    An alternative (used in earlier versions) is to put the screens next to each
    other, and control the origin of the front panel to make the proper screen
    visible. But it's difficult to make things like tabbing, and key navigation
    work using this method.
    Regards,
    Wiebe.
    "CalTech" wrote in message
    news:506500000008000000D5DE0000-1079395200000@exch​ange.ni.com...
    > What I would
    like to do is to be able to make multiple screens with
    > LabVIEW. Say for example on screen one I have a text box for someone
    > to enter their name and age in, then they can press enter and then the
    > next screen will appear, (this second screen is to be of a game for a
    > research project I am doing), I want to ultimately record the way in
    > which people play the game.
    >
    > I really appreciate any help.

  • Using a Visual Basic ActiveX DLL in LabVIEW

    I' like to use some code written in Visual Basic into LabVIEW. I think the best way to do this is making a dll_activeX. I've seen an example on NI site: http://sine.ni.com/apps/we/niepd_web_display.DISPLAY_EPD4?p_guid=B123AE0CB992111EE034080020E74861&p_node=DZ52048&p_submitted=N&p_rank=&p_answer=&p_source=External.
    When I use the dll present in the "zipped" file it works (I've registered the dll as described in the article).
    If I compile in a DllActiveX the Visual Basic project (Visual Basic 6.0), present in the zipped file, and I try to use, after the unregistrtion of the old one and the registration of new one, it doesen't work.
    I received the following error:
    error 3005Occurred at automation open: Object specified is
    not creatable in a ActiveX Dll with LabVIEW.vi
    Some ideas?
    Thank you.

    Paolo,
    I am not sure why you are getting the error. I downloaded the zip file re-built the dll and then registered it. I originally had LabVIEW open, so I closed and re-opened it so that it would see the new object. I then pointed the ActiveX refnum to the Project1 class. I still had a few broken wires so I hit ctrl-shift-Run Arrow to force a recompile.
    After all that I ran the VI at it worked great. Once that was done I unregistered it and ran the VI. I got an error as expected. I then re-registered the dll and ran it again. No error.

  • Making DLL with C++ builder to use in Labview

      Anybody knows how to make DLL in C++ builder to use in Labview?? 
      Regards,

    smercurio_fc wrote:
    MCFSE wrote:
    This is a good question that does not appear to be addressed in that other thread.
    But is addressed via several NI KnowledgeBase articles and NI Community examples. For example: https://decibel.ni.com/content/docs/DOC-14564
    Well not verbatim, as that document refers to Visual Studio, not C Builder. But creating DLLs in C Builder for use in LabVIEW is no different than creating DLLs in C Builder for any other programming environment that can call unmanaged DLLs. How to configure C Builder to create a DLL, is really beyond the tasks anyone from NI should be required to explain. This requires someone who is familiar with C Builder and requesting a supplier to have specific experience with tool X goes a bit far. NI and most others are using Visual Studio so that is what gets explained. If some C Builder crack would come up with a tutorial targeted at integration with LabVIEW and post that here or someplace else, that would be of course great, but alas, nobody so far has felt the desire to step up to the challenge. There is no inherent difficulty with C Builder created DLLs to be used by LabVIEW, but apparently some difficulty of people to understand how to use C Builder to create working DLLs at all. Similar problems can appear for beginners with Visual Studio and since this is the tool mostly used here around, there are several tutorial style documents available that try to handhold the beginner to get a DLL at all.
    Personally I'm not sure that is ideal either, since those people usually know very little about C programming, or more precise if they know about C programming, they will be able to learn to use the tool in question, with some simple, non LabVIEW oriented examples from elsewhere and then easily apply that knowledge to LabVIEW with the help of the Visual Studio examples posted in quite big numbers, even if they use a different tool than Visual Studio.
    Other even more challenging topics would be to use CygWin, MingW, Bloodshed Dev C++ and similar compilers and write tutorials about them. However the challenges with all of these is to get them even installed well on your development system and to figure out various configuration hassles, also when trying to distribute the result later on.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Help to make opencv's dll and LabVIEW's Call Library function node understanding each others

    Hi, i have a little problem trying to use a C++ opencv's dll in labview. I wrote a really simple and stupid dll just to try to understand how it works the call library function node. Here the header code:
    #ifdef GENERICDLL_EXPORTS
    #define GENERICDLL_API __declspec(dllexport)
    #else
    #define GENERICDLL_API __declspec(dllimport)
    #endif
    #include "stdafx.h"
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    #include <opencv/cv.h>
    #include <opencv/highgui.h>
    // Questa classe è esportata da Generic DLL.dll
    class GENERICDLL_API CGenericDLL {
    public:
    int Summ(int a, int b);
    int Sott(int a, int b);
    int opencv(int a);
    // TODO: aggiungere qui i metodi.
     and here the .cpp:
    // Generic DLL.cpp: definisce le funzioni esportate per l'applicazione DLL.
    #include "stdafx.h"
    #include "Generic DLL.h"
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    #include <opencv/cv.h>
    #include <opencv/highgui.h>
    using namespace cv;
    using namespace std;
    // Esempio di variabile esportata
    GENERICDLL_API int nGenericDLL=0;
    // Funzioni esportate.
    GENERICDLL_API int Summ(int a, int b)
    return a+b;
    GENERICDLL_API int Sott(int a, int b)
    return a - b;
    GENERICDLL_API int opencv(int a)
    const string ind = "C:\\Users\\sviluppo\\Desktop\\Tuli.bmp";
    const string ind_2 = "C:\\Users\\sviluppo\\Desktop\\Tuli_Gray.bmp";
    //Mat image;
    return 5;
    i can call all the three simple functions in labview with this easy code. No problem at all. If i uncomment the line "Mat image;" the call library function node doesn't work and i receive the error:
    "The library specified for this node cannot be found or cannot be loaded. Right-click the Call Library Function node and select Configure, then choose the correct library name or path."
    I think that is a problem of dependencies between opencv libraries but i dont know how to manage this. Any ideas?
    Thank you for yours time,
    Francesco.

    Hello Francesco,
    I'm having exactly the same problem as you. I created a DLL that I can easily access from LabView. If I add one line and include "imgproc.hpp" (the only one I need), then LV gives me the same error you had. I read the thread Loura linked to, but I don't see how people actually take care of the dependecies (Klemen's examples did not work for me for the same reason, even though I recompiled the .cpp). Could you explain in detail what you did to make it work?
    Thanks

Maybe you are looking for

  • Change the price of my book online

    Hi, How i can change the price of my book online ? I want to sell a € 10.99 instead of € 6.99 What i have to do ? Thanks

  • How to save CSV into a file

    Hi, I’m using the following javascript statement to save the web query result into CSV file.             window.open(SAP_BW_URL_Get()+                 "&DATA_PROVIDER=DATAPROVIDER_1&CMD=EXPORT&FORMAT=CSV"); At present the data is saved into the defau

  • Need Dynamic Table instead of Standard Table in FM INFO_SICHERN_S001

    Hi Guys,               I have copied standard FM INFO_SICHERN_S001 into Zdefined FM. My requirement is instead of Updating or  Modifying or  Deleting  standard table I need to do all these things for entered table. How to do this. Thanks in Advance.

  • TS4000 How to stop email notifications of calendar changes

    Every time I edit an event on a shared icloud calendar it sends emails notifying me of the change.  How do I stop these?

  • Blank images with iPhoto 6 on OS 10.3.9 on iMac G4

    Have installed iPhoto 6 on iMac G4 with OS 10.3.9. The iPhoto Library is (only) on an external (Maxtor) hard drive attached via firewire. Photos are imported automatically into this file. After iPhoto 6 installation, the image files from iPhoto Libra