Labview 5.1 vs. 5.0 and dll calls

Hello!
I have Analogic cPCI-14-2 DAQ cards in the PXI box. Their driver is a dll
for which I wrote LabView interface using LV5.01 . Everything was nice
until I switched to 5.1, now it is impossible to run the program for more
than 5min without a memory access violation error and subsequent LV crash.
I compiled executable from the DAQ module under 5.01 and 5.1. Executable
made under 5.1 would not even execute once, resulting in the crash. Then I
saved VI's using save as LV5.0 option, compiled executable under LV5.01 and
that runs without problems. I ended up using ActiveX server capabilities of
the executable by calling it from my main program written using LV5.1
because I needed to call Matlab. ActiveX server is actu
ally nice because of
DCOM in NT boxes, I can now run everything from my office super-duper
machine instead of using a PXI box's Pentium233.
Question is, has anyone else had problems with dll calls and how were they
solved ?
I will appreciate your suggestions.
Sincerely
Reinis Kanders

Mass compiled in 8.2.1
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
Attachments:
Keithly 8_2.zip ‏1231 KB

Similar Messages

  • How to distribute the serial core only with my exe and DLL applicatio​n using the Labview applicatio​n builder 8.21. I'm not interested having MAX and other components installed on the customer PC and in the program menu

    Since Labview ver 8.0 and later, I am not very happy with the new way the project installer is managing the additional drivers such as Serial.
    With LV 7.11 the serial components was included in the cab file and was installed on the target computer in a specific directory. The size of the distribution was pretty small and well suited for compact distribution.
    My LV application use only the serial object and with LV 8.21, if I include the serial 3.2 component, I get an enormus file including max, visa ... and a lot of fucky component I do not need.
    To distribute my application, I just need, the runtime engine and the serial driver as it was with the version 7.XX
    Looking for clever advises from you gentlemen!

    Thanks Dennis for you input
    My problem is in fact very simple. 3 years ago, I developped a software suite for X ray generator; My company is selling such generator all over the world and our control panel software and DLL (for OEM integrator) is based on Labview professionnal development plateform.
    To drive our generator, we just need to transfer ascii data using the strandard RS232 port still present on most of equipments used in the industrial area.
    Until LV version 7.11, there was no problem to include serial component in my distribution with a very reasonable size and transparency for the end user.
    with LV 8.xx (preparing a new release), I'm very disapointed to see, my distribution is increased of about for 10 Mo to 180 Mo just because I increase the serial component.
    May I mix a previous version of the serial component with LV 8.21?
    Should I change my source to Visa instruction only and merge visa runtime only to my distribution?
    is there any simple serial example based on visa and distributed with th application builder?
    I will appreciate your help in order to optimize my distribution
    Pascal 

  • I would like to convert a matlab file into a .dll and use it in LabVIEW. However, when I run the .dll in LabVIEW I get an error stating "... Procedure not found". What could this be? Can anyone help me...

    I wish to convert my Matlab files into .dll's so that I can use them in LabVIEW. I am using 'mcc' and 'mbuild' of Matlab to convert my .m files into .c and .dll.
    When I try to run the .dll's in LabVIEW, I get an error message in a modal window stating some required .dll or procedure is not found.
    How should I resolve this issue. Should I add any other Matlab .dll's in course of making my .dll?
    Please help in solving this issue... Thankyou very much.

    KJV wrote in message news:<[email protected]>...
    > When I run the matlab generated dll, it is stating 'matllb.dll not
    > found'. Is it that I should set the path for matlab\bin to include
    > all the dll's before I compile? When I make dll from C, it works fine
    > in LabVIEW. The problem is from .m to .dll. The problem also arises
    > when I convert my .m to .exe. The same error of 'matllb.dll not
    > found' comes over. Should I change my matlab compiler options or
    > something else? Please help me?
    I have the same question,I don't know how to use the matlab DLL file in labview,
    I hope someone can descripe the procedure in detail.

  • Private dll calling in Labview

    Hi everyone, (refinement of my question)
    I have two dlls. One contains public functions which I call from Labview. The functions in this dll call functions in the other (private) dll. However, how do I tell Labview where to find this private dll?
    I have tried installing the dll in the system path directory. I have also put the dll in various different places relevant to Labview (e.g. in the directory of the Labview executable file). However, none seem to work (.
    Is there an option in Labview where I can set paths to dlls?
    Any help will be gratefully received.
    Ciao,
    Matthew Banham (colleague of Francois)

    > I have two dlls. One contains public functions which I call from
    > Labview. The functions in this dll call functions in the other
    > (private) dll. However, how do I tell Labview where to find this
    > private dll?
    >
    > Is there an option in Labview where I can set paths to dlls?
    >
    The problem is that the system loader is what handles the dependent
    DLLs. Since LV knows about the primary DLL, we try multiple locations,
    the path in the dialog, next to the VI, in the LV search paths, and
    finally we ask the system to look in their places. LV doesn't know
    about the dependent DLL, and it is up to the system to find it. I'd
    recommend trying the system or windows folder again. That should be the
    right solution.
    An off the wall thought that might h
    elp would be to add a dependency
    directly into LV by making a DLL node that calls in the the "private"
    DLL. You don't actually have to call it, you can place it in a case
    structure with a constant set the other way. Anyway, this will cause LV
    to look for the DLL, and I think it might help if nothing else works.
    Greg McKaskle

  • Using tlb and DLL

    Hi,
    I was wondering how to use a tlb associated with a DLL in Labview.   I know the tlb has the function and bject prototypes and the DLL has the actual code.  Now question is, how do I create an object according to the tlb and the use this with the DLL?  Thanks
    Yohan

    more specifically...
    The .tlb contains an interface (eg: ITestInterface) that is implemented by the .dll using the (visual c++ 8.0)  "implement interface" on a class defined in the .dll (eg: CConcreteTest)
    The project that created this is a visual studio 8 c++ .dll project.  There is one interface defined and a separate class that uses the "implement interface" option in vc8. 
    --> when importing this .tlb and .dll into a visual c++ project: I use a COM smart pointer (of type ITestInterfacePtr) and call the CreateInstance() function using the name of implementing class.
    Also,
    This is the code to load the .dll and
    .tlb:
    #import "..\drivers\vna\debug\vna.tlb"
    no_namespace
    IcVNABASEDriverPtr pVNA;
    HRESULT hr = pVNA.CreateInstance("VNA.RS_ZVC");
    pVNA->setAddress(20);

  • What type of component do Labview developers prefer? COM/ActiveX, C++ DLL, C DLL?

    The last time I used Labview was about 5 years ago and I have not kept
    up with the changes.
    I assume Labview can use COM components, ActiveX (COM with a GUI), C
    DLL's, and possibly C++ DLLs. Of these types, which do Labview users
    prefer?
    Background
    I need to develop a component that can be used by both VB and Labview
    users.

    Ed,
    LaBVIEW can use COM/ActiveX components, C dll's and C++ dll provided that the c++ dll has direct function calls(you can always use a wrapper dll to call functions inside a class)
    As far as what labVIEW users prefer, this is kind of a difficult question to answer since it is mostly dependant on the users knowledge of each of those components.here are a few links that may interests you.
    http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/5401be584fbaeece862567c2006d36c7?OpenDocument
    http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/7f41004ee990d4da86256a9d0064d522?OpenDocument
    http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/3a1f4b7cbc68b636862567cc004d5cca?OpenDocument
    and more gener
    ally
    http://zone.ni.com/devzone/devzone.nsf/webcategories/4161F118BF99CCE686256AB7006A68EB?opendocument&node=DZ53001_US
    Regards,
    Cyril Bouton
    Applications Engineer
    National Instruments
    Cyril Bouton
    Active LabVIEW Developper

  • Load and Unload VIs and DLLs

    Hello,
    I am writing an application using Labview 7 in which my application is communicating
    to hardware.  I have a DLL written that actually handles the hardware
    communication (USB) and passes data into Labview.  The application is such
    that it only needs to communicate with the hardware occasionally, which is
    fired by an event structure.  One bug I've notice in the application is
    their is a very defined bringup sequence.  I first must turn on the
    hardware, then open the application for it to work properly.  If I bringup
    the application then turn on the hardware and "acquire data", it will
    not work.  A similar response happens when I power cycle the hardware
    while the software is open, once the power cycle is complete the application
    will no longer function.
    The other day I thought to change all references to the subvi "Acquire
    Data" over to "Call By Reference Node" and closing the reference
    nodes after the acquisition in complete.  My thinking was that I'd load
    and unload the "acquire data" vi (and dll) from memory only when
    needed.  However, this does not seem to fix the problem when I build the
    application.  My questions are:
    Is their anyway to monitor
    which vis and dlls are loaded in execution?  I'd like to verify it is
    loading and unloading properly?
    Secondly, my top level
    application is structured in this manner (top level.vi->data acquisition
    sub vi->hardware sub vis->dll)  Currently I replaced all top
    level.vi references with the Call by Reference Nodes.  Is their a
    chance that when the data acquisition sub vi is called it is not releasing
    the dll when it is closed since the dll is called by hardware
    subvis.  Do I need to go into the acquire data subvi and replace all hardware
    subvis with Call by Reference Nodes (and close reference nodes). 
    Finally, what are your
    thoughts of releasing and unreleasing the DLL at event trigger being the
    solution to my problem?
    Many thanks.

    There is a property node Application.All VIs in memory. This Property Node will give you an array of strings with the name of each VI which is loaded.
    If you use Open VI Reference the VI and all its subVIs are loaded. When you close the reference the VI and all its subVIs will be unloaded.
    Because I don't have done any USB programming I cannot say by sure it will solve your problem. But it would be worth a try.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Can't install due to "registry" and "dll" error messages.

    I can't install any Adobe products. This occured after a complete reinstall of my Windows XP - if that has anything to do with it. I have done a reinstall before without any problems.
    I keep getting error messages about "missing registry" and "dll"s.

    I tried to install again to see what the exact error message was, but now all I get is a Microsoft message that says "Adobe Flash Player Installer has encountered a problem and needs to close." I have been having other problems installing other products and have been getting messages like "Entry Point Not Found" followed by messages like"entry point...could not be located in the dynamic link library".
    I don't know exactly what "repaired" means in installing an OS. What I did was use my reinstall Windows OS disc and follow the instructions for a "clean" install. The prompts say that my files will be wiped out, and that programs will have to be reinstalled. When promted to pick a partition I always pick the default of a 50/50 split of the hard drive.

  • Access jar's and dll's whithin a single jar file???

    Hello everybody!
    I am building an application which is dependent on external jar and dll files. I would like to put these external files in my project jar, and in runtime I want to set the path to these files located in my project jar. Is this possible? I have tried this:
    structure in my project jar:
    -myApp.jar
    +META-INF
    -myApp
    -Main.class
    external.jar
    external.dll
    and in my manifest file:
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.2
    Created-By: 1.4.2_01-b06 (Sun Microsystems Inc.)
    Main-Class: myApp.Main
    Class-Path: /external.jarWhen I try to run my application jar with:
    java -jar myApp.jarI get "java.lang.NoClassDefFoundError" .....
    i.e. the WM does not find my external jar.
    My question now: Is it possible to do things this way? That is to put dependent jars and dlls INSIDE the "running" jar????
    Hope someone can help me...
    Best regards
    TM

    You cannot put a JAR inside a JAR - Java won't be able to find the files in the packaged JAR.
    What you could do is unpack the myApp.jar and external.jar and include the directory structure inside your own project.jar.
    It will not work with a DLL inside the JAR. There's no way around it - the DLL must be a file in the file system, otherwise Windows will not be able to load it (Windows doesn't know what JAR files are, and it can't load a DLL that's inside a JAR file).

  • How to package/inlcude C++ .exe and .dll files in a Java Web Start App?

    Hello,
    I have a Java Web Start application that runs fine if the application is only 1 .jar file.
    But I have a need to also run C++ .exe and .dll file from my Java application.
    I wonder if someone could please tell me how to package/include C++ .exe and
    .dll files in my Java web start application?
    Thank you and Best Regards,
    Akino

    You need to place the EXE and DLLs inside the jar.
    Java cannot execute them from the jar. They have to be extracted (see Class.getResourceAsStream) from the jar and copyied into the target machine file system, perahps to the temp directory. Now you can execute them using Runtime.exec() or ProcessBuilder.start().
    Edited by: baftos on Jan 14, 2011 6:49 PM

  • Labview Program will hang between 33% and 50% of the time.

    I have a problem with a Labview program I made. I have two programs that do the same thing. One is in flat sequence form and the other is in state machine form.
    As explained in the link below, I would like to make use of a microcontroller to make wiring connections for automating a measurement process. A separate current source and volt meter will be used.
    https://forums.ni.com/t5/LabVIEW/Sequence-a-good-idea/td-p/2601333
    I have since made some simple test programs which I have attached. The problem is when executing, the labview program will hang, but not every time the program is execute.
    For example: Hall 1.2.vi will work properly twice with the third time it is executed it will hang. If you abort and try again, it will again run twice with no problems with the third hanging. This one is in flat sequence format (was in a flat sequence, but merged the windows because I thought that was the cause). From what I can tell, the program will hang when calling Keithley 6517 Single Read.vi. Both connected Keithley devices are connected to the computer via GPIB at 16 and 27. The way I verified if it was this vi causing it or contributing to it was that I removed it and the program never hung. I find it very strange that it will hang exactly on the third attempt every time.
    Hall 1.3 simple.vi will work the first time and hang the second time. So it works 50% of the time. This one is in State Machine format. This one will hang at the case titled "Measure 1" which contains the Keithley 6517 Single Read.vi.
    I've used the highlight execution button and watched the program run. Oddly, it doesn't hang when using this button. So I tried adding delays/wait in different places to no avail.
    What could be causing this? As a side note, I say the program hangs for two reason. The main one is the program doesn't finish running so the run arrow is still black. The second thing is that if you notice at the end of the labview program, I have a block there that turns the current source off which doesn't happen when it hangs. I have to manually turn it off and then hit the abort program button to stop labview.
    Solved!
    Go to Solution.
    Attachments:
    Hall 1.2.vi ‏42 KB
    Hall 1.3 simple.vi ‏81 KB

    altenbach wrote:
    SaintsFan wrote:
    Also, I've tried placing wait/delays at various places with no improvement of the problem. My next thought is to just remove all the vi calls and have everything in one program.
    How did you place the waits?
    Why would placing everything in one program fix the problem. That makes no sense! What is your reasoning?
    In the case of hall1.3, I placed a wait in the Measurement cases and CS On cases and there was no affect. In the hall 1.2 when the blocks were broken up similar to the state machine cases where each sequence window was identical to the cases, I placed a wait or delay in each window with no effect on the hanging.
    My reasoning for placing everything in one program is the same as my reasoning for figuring delays would help, since the time of execution would be altered. If the execution time is faster and if the timing is the problem then I figured that the problem would happen more frequently or even every time.
    Somehow I get the feeling this is not the case. The reason being the interval in which it succeeds or hangs is constant. I believe somewhere, a value is getting set. The 6517 Read vi runs fine if I run this vi by itself no matter how many or how fast I run it. Also, the same goes for both 1.2 and 1.3 if I remove the 6517 read vi they run fine no matter how fast or how many times I run them. 
    Somehow after the current source is set to operate and triggers labview will hang on a set interval when calling 6517 read vi.
    Separately they work, together there is a problem. I tried placing a delay between these two by connecting the error out of the trigger vi to the error in of the delay block and the error out of the delay block to the error in terminal of the 6517 config block. I've also tried delays between other blocks connected the same way. From what I understand, a called vi can't execute until all inputs are present. Is this the correct way to wire the delays?

  • Deploying Oracle Forms with Plss and dlls in Client/Server

    Hi,
    I have a form application which has two plls libraries attached to it - d2kwutil.pll and d2kcomn.pll and one dll - d2kwutil.dll. All these libraries are necssary for the app to work. The issue come when I am trying to deploy them in different environments like dev,test,qa,prod. The users access the forms applications from a shared drive and all the users have forms runtime client installed on their local machines.
    If I just post my fmx in the shared drive it doesn't work as its unable to find the plls and the dll. I will really appreciate if someone can provide some feedback on this. How this should be done so that we can place these plls and dll in central location without chaning the paths etc.
    Thanks

    Oracle Application Server Release 3 can not be used to deploy forms and reports.
    If you want forms and reports you need to stay on Oracle Application Server 10g Release 2

  • Uninstall LabVIEW but leave run-time engine and DAQmx

    Hoping there is an easier way to do this, basicall we are developing software on a customers computer that we buy and will eventually ship to them. However we can't ship them LabVIEW so we make an executable and just keep the run time, DAQmx and MAX. Is there anyway to do this easier than uninstalling LabVIEW and reinstalling everything else?
    Windows 7
    LV2013

    Under Windows, try going to Control Panel | Programs and Features and find National Instruments Software. You might be able to select all except the run-time, DAQmx and MAX, then select uninstall. If not, then perhaps consider just making a full installer for your LabVIEW executable solution, this will clearly install only the necessary components for your code to work (if it's LabVIEW 2013).
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

  • How to integrate third party API and DLL

    Dear sir/Madam
    How can i integrate the third party high level API and DLL into my DLL, project keeping in view that all their functions and their definitions kept hidden. i have tried it but when importing the functions in the DLL and export the high level functions, compiler demands their declarations and prototypes.
    Is their a way to hide all these high level functions and still utilize them.
    thanks, regards
    Zafar

    Hi Matrix39,
    The compiler will still need the proper prototypes for the functions called in the third party DLL to compile your DLL whether you are using explicit or implicit linking to call the functions.  Declaring these prototypes in your DLL does not mean they will be exported by your DLL.  The functions exported by your DLL can be configured by navigating to Build»Target Settings in CVI.  From here you can configure what functions your DLL exports by clicking the Change... button in the Export section.  There are several options for specifying the functions including using header files and manual export declarations.  See the CVI Help for more information.
    Justin D
    Applications Engineer
    National Instruments
    http://www.ni.com/support/

  • How to download LabVIEW Full Development System 7.1 and tool kit

    I want to get the "LabVIEW Full Development System 7.1 and tool kit", Where Can I download it from?
    TIA

    LabVIEW 7.1 is ancient, LabVIEW 2011 is current. There is more than one "toolkit". What did you have in mind, exactly?
    You can donwload an evaluation version of LabVIEW 2011 from here. Is there any specific reason you want to use 7.1?
    If you have a valid license for LabVIEW 2011 you should be able to use it also for older versions. Contact your local NI representative. Are you on SSP?
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for

  • Mapping corresponding field in the internal table

    Hi guys I need help with putting XML value into the appropriate fields in the internal table struc. I attempted to use if else condition to map the element name (cname)over to the fields but those internal table within an internal table post an issue

  • Password protected iWeb sites - problem with login

    This is an FYI regarding a problem I recently encountered. Neither MobileMe, nor Apple tech support or specialists were able to resolve it, but I finally figured it out. I created a company website for my client, including secondary websites that wer

  • How can i improve wireless speed?

    Hey i recently put up a thread to my mistake i thought i was getting a **bleep** service but buoy was i wrong. Im getting a superb service from bt infinity 2. But heres my problem i get this through a wired connection: and i get this through wireless

  • PROBLEM IN P.O HISTORY

    SEVICE ENTER HAS CREATED & RELEASED.IT SHOULD APPEAR IN PUR. ORDER HISTORY. BUT IT IS NOT COMING. SERVICE ENTRY NO. IS AVAILABLE IN CSSR TABLE. IT IS ALSO AVAILABLE IN T-CODE-ML84. BUT IT IS NOT AVAILABLE IN P.O HISTORY.BUT IN TABLE-EKBE IT IS NOT AV

  • SOAP processing failure, error id = 1018

    hi, i want to call a netweaver webservice from .net. I solved some problems with authentification..... But now it occurs this error: SOAP Runtime exception: 1018 occurred in method IF_SOAP_REGISTRY~get_ws_key of class CL_SOA P_REGISTRY at pos 2 Excep