Creating Labview Host DLL for FPGA

I have created a DLL for the FPGA host VI.
The host VI neads a loop to keep the FPGA running in labview but a call to the DLL function will not return while the loop is running.
If I change host VI to one shot I asume that the FPGA start and stop with each call.
I could load FPGA vi into flash set to run but I think that it will stop after first call from DLL.
Seem like a catch 22.
Thanks

I found that I could run without the loop OK by closing the FPGA reference but not stopping the FPGA card running.
My problem now is, that the DLL does not seem to work.
I included a control updating an indicater and exported just those peramiters in the DLL but I can not get it to work with Borland C++Bulder 5.
Other DLL's that I create with Labview work OK.
Is there a broblem creating DLL's from host vi?

Similar Messages

  • Creating a LabVIEW Shared DLL for use with C# and Strings?

    Hi All,
    I am trying to create a prototype for a LabVIEW Shared DLL that all the VI does is take in a string and return an upper cased string. Needless to say the DLL builds fine but when I try calling the shared DLL from C# the .NET application recieves an exception about "Ansi char arrays can not be marshaled as byref or as an unmanaged-to-managed parameter". Does anyone have an example of how to pass a string to a VI and return a string or an example of a better way of accomplishing this.
    We are using labVIEW 7.1 on Windows 2000.
    I am in quite a bit of a hurry to prove that this type of a LabVIEW Shared DLL VI would work. The eventual system will be passing in a string of XML with a large amount of
    data and returning XML.
    Thanks in advance,
    Jim

    Hello jprucha,
    This occurs because LabVIEW DLLs are not considered managed code. As such, we need to define the C# function as unsafe to be able to call unmanaged DLLs.
    You can find more information about C# and managed code at Microsoft's developer website linked below.
    MSDN Home Page
    Good luck with the development,
    Matt F
    Keep up to date on the latest PXI news at twitter.com/pxi

  • How do I create Labview VISA ports for *individual* GPIB instruments using Prologix USB GPIB controller?

    Hello,
    I'm trying to use a Prologix USB GPIB controller to control GPIB
    instruments, and I would like to have a virtual serial (VISA) port for
    *each instrument*, as is the case with a normal GPIB controller with a
    standard NI driver. However this is not what the Prologix driver
    provides -- it provides a single VISA virtual serial port for the
    entire controller. To address the instrument with GPIB address 11,
    you first send "++addr 11" to the serial port, and then you're talking
    to instrument 11. However, this means I have to change all old
    Labview programs.
    Is it possible to create a "wrapper" function of some kind that will
    define a virtual serial (VISA) port for each *instrument* on the
    controller? For example, to talk to GPIB instrument 11, call it
    ASRL3::11::INSTR, each time it is written to it would have to write to
    the virtual serial port of the controller, say ASRL3::INSTR, first "+
    +addr 11" and then the command that is sent to it.
    A clearer explanation of the difference (i.e. incompatibility), and of
    my objective:
    1) A normal GPIB controller with NI driver: I go to the NI
    Measurement & Instrumentation Panel, under GPIB, and Scan for
    Instruments; all the live instruments show up; subsequently when I
    want to use Labview programs that use VISA ports, the VISA drop boxes
    allow me to choose a different port for each instrument, e.g.
    "GPIB0::11::INSTR", "GPIB0::12::INSTR" would be instruments at
    addresses GPIB 11 and GPIB 12.
    2) The Prologix GPIB controller that plugs into a USB port: In
    Labview you get a *single* VISA virtual serial port, ASRL3::INSTR, for
    the entire GPIB0 controller. Therefore to address GPIB instrument 11,
    you write "++addr 11" to the virtual serial port ASRL3::INSTR, and
    then you are communicating with device 11, so you can write and read
    ASRL3::INSTR to talk to that device. Then to talk to device GPIB 12,
    you write "++addr 12" to the same VISA port, and then you are talking
    to that device. The problem is that this requires recoding all
    Labview code, whereas I would like to be able to use the same program
    either with a normal or with a Prologix GPIB controller. Therefore, I
    would like to create code that scans the controller for all GPIB
    attached devices and creates VISA ports for all. Such ports, when
    written to, would have to first write "++addr DEVICENUM" to
    ASRL3::INSTR (i.e. the port of the GPIB-USB controller) where
    DEVICENUM is the GPIB address of the instrument corresponding to that
    port, and then would have to do a write or read or whatever function
    is being done on that instrument VISA port.
    I haven't figured out if it is possible to do this easily. Help and
    pointers on where to look for hints would be much appreciated. Many
    thanks!
    Milos

    My first impression is that if you don't want to make any changes at all to existing programs is that the wrapper you need is one around VISA. You would need to intercept all of the calls into the NI VISA driver. If you create your own visa32.dll and in there, change the addressing and then call the real VISA driver, you might (repeat, might) get something to work. If this would even work, you still might find that you have to make significant changes anyway. The serial connection is going to be considerably slower, and interface specific functions such as service request handling, bus triggering of multiple instruments, etc., would be difficult to impossible. This would be a lot of work, imho, to just save a couple of hundred dollars over a real GPIB controller. I've seen this Prologix device before and have even used NI's RS-232->GPIB controller. The Prologix intended use to me seems to me more for a hobbyist or very casual user. Of course, I'm used to having multiple GPIB instruments worth 10s/100s of thousands of dollars and the cost of an fully compliant GPIB controller is just lost in the noise.

  • How to create the C++ DLL for Windows Mobile and how to import it in C#

    Hi All,
         Please can u guide me for creating DLL on C++ and using it in C#
         1) Steps to create the DLL using C++ for Windows Mobile
         2) And where to place the DLL after builiding to make use of it in my C# project
    Thanks in Advance!!!
    Thanks & Regards,
    Sharan

    Hello all,
    I know this is an old thread but i have to give it a try ( i am stuck with an almost identical problem but cant solve it since 5 days googling and reading.
    I am developing an app for Unitech HT660e which has Win CE. THe app is complete but now i need some more control over the barcode scanner. In order to gain controll i need to use USI.dll which is explained in this documentation (chapter 2 has the link to
    the SDK which contains the USI.dll ) :
    http://www.datacol.co.nz/pdf/uni_prog-guide_1.21.pdf
    But i also get : Cant find PInvoke DLL 'USI.dll'.
    In chapter 4 is SysIOAPI.DLL mentioned which i cant fin.
    Chapter 17 has USICF.dll which may be interesting bcos this one can be added as reference and "using USICF" . I am using compact framework 3.5 for this and the emulator is "usa windows mobile 5.0 pocket pc r2 emulator". 
    Reading your post i noticed i can use the "Pocket PC 2003 SE Emulator" but it gives me the same error.
    Maybe i need to include a path in my code but i tried this as well...and get the same problem. Maybe i am missing something.
    Here is my code:
    using USICF;
    using System.Runtime.InteropServices;
    namespace SmartDeviceProjectzaDLLtesting
        public partial class Form1 : Form
            [DllImport("USI.dll", EntryPoint = "VibrationOn")]   //ignorethis?:,CallingConvention=CallingConvention.Winapi)]//Cdecl)]    //EntryPoint = "VibrationOn")]
            public static extern void VibrationOn(bool bEnable);
            public Form1()
                InitializeComponent();
            private void Form1_Load(object sender, EventArgs e)
               // USICF.USIClass usiba = new USICF.USIClass(this); // this gives an exception as well
               VibrationOn(true); // thiis causes the exception
     //           VibrationOn(false);

  • Requirements for creating labview DLLs

    I use Labview 7.1 Professional to develop my applications. I would like to know what are the minimum requirements I need with it to create Labview libraries (DLLs)(so I can consolidate all my VIs). Thanks.

    A dll and llb are two different things. You can't open a DLL with Labview, but you can call it's functions using the Call Library function. DLL's are usually functions written in one language (typically C) and called by another. If you just want to collect your vi's together into one file, use the llb. You can create llb's with the newer versions of Labview. You can start a blank vi, put all your vi's in the block diagram (no wires) and then select Save with Options - Development Distribution. I believe this will create an LLB with all the vi's in your block diagram. There are also two selections under Tools menu, VI Library Manager, and Edit VI Library. Both of these are useful in creating and adding vi's to LLBs.
    - tbob
    Inventor of the WORM Global

  • Problem in creating the simulation dll using SIT 2.0.3,matlab 7.1,labview 7.1

    I am currently using SIT 2.0.3 ,using this toolkit i am trying to create the simulation DLL for labview.but i am getting the following error in matlab command window
    Error: File: C:\SimulationInterfaceToolkit\ModelInterface\basic.tlc Line: 117 Column: 7
    Undefined identifier ReleaseVersion
    Error: File: C:\SimulationInterfaceToolkit\ModelInterface\basic.tlc Line: 117 Column: 25
    The == and != operators can only be used to compare values of the same type
    Error: File: C:\SimulationInterfaceToolkit\ModelInterface\basic.tlc Line: 260 Column: 26
    Undefined identifier ReleaseVersion
    Error: File: C:\SimulationInterfaceToolkit\ModelInterface\basic.tlc Line: 260 Column: 44
    The == and != operators can only be used to compare values of the same type
    Is this a version problem?
    I am using
    Simulation interface toolkit 2.0.3
    Matlab 7.1.0.246(R14) Service pack
    Real time workshop V.6.3
    Labview 7.1
    Microsoft visual C++ 6.0
    Can anybody help me to solve this issue.

    Hi Jayasheela,
    Here are the Read Me files for different versions of Simulation Interface Toolkit. Usually, the toolkit will only work with the versions of software that are explicitly stated.
    Simulation Interface Toolkit 3.0 Readme
    The MathWorks, Inc. MATLAB® / Simulink® application software release 13.x or 14.0, 14.1, 14.2, 14.3
    The MathWorks, Inc. Real-Time Workshop® release 13.x or 14.0. 14.1, 14.2, 14.3
    Microsoft
    Visual C++ 6.0. You can use Microsoft Visual C++ .NET 2003 only if you
    installed the LabVIEW 7.1.1 maintenance release.
    National Instruments LabVIEW Real-Time Module 7.1.x for ETS Targets.
    (Optional) National Instruments LabVIEW FPGA Module 1.1.x, for customized FPGA VIs used in real-time simulations involving FPGA devices
    Simulation Interface Toolkit 3.0.1 Readme
    The Simulation Interface Toolkit (SIT) 3.0.1 updates SIT 3.0
    to support LabVIEW 8.0, the LabVIEW 8.0 Real-Time Module, and the
    LabVIEW 8.0 FPGA Module. You also can use SIT 3.0.1 with LabVIEW 7.1.x. However, you cannot install SIT 3.0.1 for both LabVIEW 8.0 and LabVIEW 7.1.x.
    Simulation Interface Toolkit 3.0.2 Readme
    The Simulation Interface Toolkit (SIT) 3.0.2 updates SIT 3.0.1
    to support LabVIEW 8.2, the LabVIEW 8.2 Real-Time Module, and the
    LabVIEW 8.2 FPGA Module. You also can use SIT 3.0.2 with LabVIEW 7.1.x or with LabVIEW 8.0.x. However, you cannot install SIT 3.0.2 for more than one version of LabVIEW on the same computer.
    This maintenance release also adds support for the following products:
    The MathWorks, Inc. MATLAB® / Simulink® application software R2006a.
    The MathWorks, Inc. Real-Time Workshop® R2006a.
    If you install SIT 3.0.2 for LabVIEW 7.1, you can use
    Microsoft Visual C++ 6.0 to convert models to model DLLs. If you
    install SIT 3.0.2 for LabVIEW 7.1.1, 8.0, 8.0.1, or 8.2, you can use
    either Visual C++ 6.0 or Visual C++ .NET 2003.
    Simulation Interface Toolkit 4.0 Readme
    The MathWorks, Inc. MATLAB® / Simulink® application software release 13.x, 14.x, or 2006a, 2006b, 2007a
    The MathWorks, Inc. Real-Time Workshop® release 13.x, 14.x or 2006a, 2006b, 2007a
    Microsoft Visual C++ 6.0 or .NET 2003
    You can also take a look at this KnowledgeBase article, which condenses some of the previous information.
    MATLAB®, Real-Time Workshop®, and Simulink® are the registered trademarks of The
    MathWorks, Inc. Further, other product and company names mentioned herein are
    trademarks, registered trademarks, or trade names of their respective companies.
    Amanda Howard
    Americas Services and Support Recruiting Manager
    National Instruments

  • Dll for java help...

    I 'd like to create a specific dll usable by java and i just have one dll not usable with java.
    i need your help if you know a routine, program .. that create automatically my dll for my java use.

    So im'going to be clear for people of all the world
    I'm working on a project in which i have to communicate with an video acquire board. I must retrieve video signal send by the camera to the video acquire board.
    Video acquire board constructor gives me a dll and a lib with functions but has not anticipated that maybe somebody will use a java program (Bad for me to be polite...)
    My problem is to call the methods of the constructor dll in java .I must use jni to generate a specific dll undertsood by java (dll containing a c and a h file with JNIEXPORT syntax.)
    But the constructor dll is not correctly written by the constructor to be interpreted by java.
    So the dll i must generate has to communicate with constructor dll and there, it is the dark side...
    Can you help me or have i lost you?

  • Create SharePoint hosted app when i debug project in IE browser getting error "Operation aborted" .

    Hi all,
    I am create SharePoint hosted app for SharePoint online. When i debugs project in IE browser getting error "Operation aborted".
     Please Suggest appropriate Way.
    Thanks
    Akash Anand 

    This happens sometimes if you are using third party library which IE does not support. Change the default browser of Visual Studio to Google Chrome and try.
    Let us know either it works or not
    Regards
    Khalil Kothia, PMP
    Blog

  • Problem in creating DLL for a LabVIEW VI

    Hi
    I am facing problems in creating DLL for a LabVIEW VI. Previously i had no problems in creating DLL for the VI that transmits a message from serial port to NI - PXI 7831-R Reconfigurable I/O card (configured by FPGA MOdule). When i try the same VI with a customized port developed using IVI drivers i am not able to create the DLL. It gives me error as follows:
    Fatal Internal error: "datamgr.cpp", Line No: 1882
    Please somebody help me out to fix this error.
    Regards,
    Subramania Bharathi

    Hi,
    Thanks for your curiosity in replying my questions. I am really sorry for replying so late. Actually the problem was with the NI SWITCH 2503 functions. Actually i was multiplexing the channels of my customized serial port using NI Switch module. This switching is done before i start my communication. My VI follows a sequence as follows.
    1. Connect two channelss using Switch functions
    2. configuration of both FPGA and the customized port
    3. Transmit data from the port
    4. Receive it in FPGA.
    5. Reset the channels using Switch functions
    I never expected that the error was because of NI Switch. When i removed them from my VI i was able to create the DLL and able to create sequence successfully to run in the Testsand. And
    further i am using Switch Executive for swithcing the channels in TestStand.
    But now i am very curious why it posted me that error when i used my NI Switch function?? I tried to create DLL for a VI that switches two channels and i was successful. But the error occurs only when i combine i with my FPGA functions!! If you could trace out the reason, please let me know
    Once again thanks a lot for your support
    Regards,
    Subramania Bharathi

  • Is LabVIEW Runtime required for a DLL created by LabVIEW ?

    Hi
    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
    Deepu.

    Alright Mike,
    Thanks !
    I was hoping it would work without the LabVIEW runtime. Anyway, thanks for the quick reply.
    Rgds
    Deepu.

  • Labview 8.20 Crash using vi's created with import dll wizard

    Has anyone had issues with the DLL wizard or DLLs that use the USB port?
    I have used the DLL import wizard to create an instrument driver for a picoscope 3424. When I run the Initaization.vi it exicutes properly, however, if I close the vi I get the Labview must be closed, send an error report to Microsoft blah,blah. If I disconnect the PicoScope (unplug the usb cable) then close the VI no error happens.
    Once I received the Labview invstigate error and sent the data to NI (REF#7134654).
    I had a driver written with LV 7.1.1 that worked with out any issue, I converted the 7.1.1 vi's to 8.20 and I no longer have the issue. This leads me to beleive that there may be a bug in the DLL wizard.
    Andrew Alford
    Production Test Engineering Technologist
    Sustainable Energy Technologies
    www.sustainableenergy.com

    I'll try to answer your questions.
    a) Yes that is correct, the source files are avaliable for download at http://www.picotech.com/software.html.
    b) I have found some issues with the available settings in the DLL Import wizard, one is there is no availble choice for setting the parameter type to array. This is available when you right click on the CLN and select configure. I checked the configurations of the open unit and close unit nodes and they look the same. I have also noticed that the block diagrams created with the DLL Import wizard are very messy with overlaping wires and poor wire routing.
    c) The original wrapper I created was done quickly and I only created the functions I needed at the time, I was attempting to create a proper Insturment Driver project and wanted all of the functions to be created, this is why I was using the import wizard.
    I am still at a loss as to why disconnecting the instrument from the USB port prevents this crash from happening.
    For now I have reverted to the 7.1.1 wrapper converted to 8.20 as I do not have time to continue investigating this issue.
    Thank you for your response.
    Andrew Alford
    Production Test Engineering Technologist
    Sustainable Energy Technologies
    www.sustainableenergy.com

  • How does one create a LabView-native object for interfacing to custom H/W?

    I have created an API to some custom hardware.
    I've created both C-dll and .NET Assembly, and I can create VIs using either.
    However, for programmer simplicity, I'd much prefer to offer LabView support in the form of a LabView-native object.
    I've considered doing it via a sub-VI, but I'd really prefer a native object.
    Questions:
    1) What is the correct/proper name for a such a native LabView object that wraps the API to my custom hardware device?
    2) What language is this thing written in?
    3) Can I write this thing, or can NI only create such a thing?
    4) If i can write it, where can I obtain the SDK for creating it?
    Many thanks,
    -Dave
    Solved!
    Go to Solution.

    Yes, removing the block diagram obscures the code so much that not even newer versions of LabVIEW can make sense of it.
    I think under the hood it must be converting it to Perl.
    Spoiler (Highlight to read)
    If you believe this and have lots of money please contact me with your credit card info 
    If you believe this and have lots of money please contact me with your credit card info 
    =====================
    LabVIEW 2012

  • Call a dll for Labview: Function not found in library

    Hello,
    I am trying to call a very simple .dll form Labview. I compiled the .dll for x64 using Visual Studio 2010, because I am using Labview(64-bit). I did everything exactly the way I read it in several Tutorials. But the "Call Library Function Node" doesn't create a popup menu with the avalible functions like it is supposed to do. The Import Wizard doesn't find any functions neither. What is wrong with my .dll?
    I added a block marked 'extern "C" ' into my source file, but it still won't work.
    Thanks
    Matthias
    Solved!
    Go to Solution.
    Attachments:
    DynamicLibrary.zip ‏2452 KB

    You need to define an entry point to the DLL
    BOOL APIENTRY DllMain( HANDLE hModule,
                            DWORD  ul_reason_for_call,
                            LPVOID lpReserved )
        return TRUE;
    Also add extern "C" __declspec(dllexport) to your functions
    More details here: http://www.ni.com/white-paper/3056/en
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • Creating Properties and Methods for an exe built in LabVIEW

    Hi all,
    How do we create properties and methods for an executable built in LabVIEW.
    I know when building an exe, the "Enable ActiveX server" option in advanced has to be enabled.
    But after that how do we create Properties and methods for the activeX component.
    Your help is greatly appreciated.
    Regards,
    Muthuraman S
    Regards,
    Muthuraman

    You cannot build your own COM specific properties and methods for the ActiveX interface in LabVIEW, the only thing exposed are the normal VI server properties and methods.
    Ton
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • I have created a Muse site for a client that wishes to host with Business Catalyst. How do I publish the site with their account rather than using one of my free sites?

    I have created a Muse site for a client that wishes to host with Business Catalyst. How do I publish the site with their account rather than using one of my free sites? This is so I can keep my free ones for personal projects but also so they can pay for their own hosting. I am happy to set it all up for them but not sure what to do.

    Hi
    You can use their BC login details and use them , which on publish the site will be under their account.
    Please change the BC login from Edit > Preferences > Publish > Switch Accounts , for Mac it would Adobe Muse > Preferences
    Thanks,
    Sanjit

Maybe you are looking for

  • Free Goods Purchasing in contracts (agreements)?

    Hello Gurus, I've seen that a Free Goods configuration is possible using Info Record fields (Info record category,...). Is it possible to use these conditions in the contracts (ME33K)?? Thanks! Marc

  • External hard drive not appearing in Airport Utility

    I have connected an Iomega eGo portable hard drive to my airport extreme but i cannot access it from my airport utility or airport disk utility. In fact it doesn't appear at all, even though the disk seems to be powered up and working. Do i need a se

  • How can we access network signal strength of pocket PC in java 1.1.8?

    can anyone tell me if there is any way i can access the signal strength of a wireless access point by a java program for a pocket PC (Compaq iPaq)? the iPaq only supports java 1.1.8

  • No sound and audio device not working properly, T61 vista

    I unistalled the audio device SoundMax integrated HD audio because I had problems getting the mic of my new webcam (Logitech pro 9000) to work. But after reinstalling the SoundMax audio driver the audio device is no longer working. Installing the Sou

  • I Need Help Selecting A Mainboard!!!!!!!!!

    i need help selecting a motherboard the baord has to run an IDE HDD, support DDR2 ram(and preferably DDR1 aswell but not absolutely needed), on board sound and graphics, Celeron D CPU (3.0Ghz) can anyone suggest a board that i can use?????? thank you