Create a shared library for NI Linux real-time

I need to build a shared library for NI Linux time real (.so) which corresponds to a shared library, which I create on Windows (.dll).

I have the C code that needs to call a function of VI. On Windows, I have a project that allows me to create and build a "Shared Library (DLL)", but I don't see the same option available in a real-time project targeting the cRIO-9068. Am I missing something, or is it not still possible?

Hi Wayne,

Using LabVIEW VIs in other programming only possible through dll environments. In LabVIEW there are options for creating libraries and source, but these distributions will be accessible in LabVIEW and not in other programming environments.

Concerning

Tags: NI Software

Similar Questions

  • How to create the shared library for linux real-time target in labVIEW Windows?

    I use myRIO running linux in real time. In my project, I need to pack some C code, so I tried the node library function call.

    I know that I should use the tools compile cross - compile linux on Eclipse to compile c code in linux .so library. But the problem is that call library function node does not recognize the .so file because my labVIEW runs on a Windows PC.

    What should I do to fix and how to combine C code with labVIEW during programming for devices shipped as myRIO?

    Basically, you must also create a Windows DLL that exports the same functions. These functions can be empty stubs if you do not want to run the code correctly on Windows, otherwise you will need to consider how to implement the equivalent functionality on the Windows API.

    Then you can write in your node library call as the name of the library ". "*" and the name of the shared library Windows ".dll" while the Linux version is called "name of your library > .so". LabVIEW will replace the * after the comma in the name of library with everything that is the preferred extension shared library for the platform it is running on and therefore load the right shared library.

    Alternatively you can wrap call all the nodes of the library in a structure that contains the node library in the case of Linux RT and all what you want to run on other platforms in the case of default or a case of specific platform, call the conditional compilation.

  • How to create a shared library of Qt and use it on App without a head?

    Hi all

    I'm experimenting with some waterfalls headless basic application development, and I just hit another problem of blocking.

    I want to create a Qt library with some shared code between the head and user interface elements.

    That's what I did:

    1. created a new application without head the wizard project
    2. created a new library shared by using the wizard project. Adds a simple C++ (Qt not) class
    3. Set up the two parts of the Headless App to use the shared library ("Library in the workspace project" option from the "Add library...) (' Assistant).   Everything compiles and works very well so far.
    4. Now, I want to use the shared library Qt. I choose 'Library of the Standard BlackBerry platform' and ' platform > Qt Core "from the «add library...» "Wizard. Now, I had this error on the shared library project: C:\dev\bbndk\host_10_2_0_15\win32\x86\usr\bin\ntoarm-ld: could not find lQtCore.

    How to create a shared library of Qt and use it on App without a head?

    In fact, I would also use other NDK libraries on library shared as lbbdata and libbbdevice.

    I expect that workers would deal with all the problems for me. As an improvement, I suggest you add the selection screen platform library of the Wizard "Add library...". «the wizard «Shared Library Project»

    There is a model of library project

    https://github.com/BlackBerry/Cascades-community-samples/tree/master/Cascades-library-template

    Unfortunately, the library create Assistant isn't really useful #t

    There is also a great series on using headless headless library and user interface:

    http://devBlog.BlackBerry.com/2014/02/a-flexible-architecture-for-enterprise-mobile-applications-par...

  • Error during the generation of shared library for OSX

    Hello

    I am trying to build a shared library (.framework) using LabVIEW 2011 as Mac.

    My Version of OSX is 10.7.3.

    When I run the build process, TI allways give up showing the error message:

    There is 1 error in DLL - C compile Source File.vi Possible reason (s): you must have the Apple Developer tools installed to build a shared library. Install the Apple Developer tools and attempts to reconstruct the shared library.

    I don't know what developer tool is missing or if there is another problem with my environment.

    Thank you

    Gschwert

    Hi Gschwert,

    in the meantime, I received a response from our developers in Austin.

    Developer Tools Apple which refers to should be X-Code.

    They work with X-Code Version 3.0 and have no problem. They will try to work with your versions (4.2 and 4.3) too and take a look, if there is something special to look for.

    Have you tried using X-Code 3.0? Then you get the same problems?

    Good day

  • How to access resources in a shared library for a space webcenter Portal

    Dear all,

    I packed all my images in a shared library, ADF and I deployed as a shared library in WLS.

    Now, I create a custom in my Webcenter spaces appearance. How is it possible to obtain or access these images in my application of webcenter spaces?

    This is so that I could use it as a background image.

    Advice

    Thank you

    It works like PortalWebAssets project in a WebCenter Portal Application.

    If you have a Web content-> images folder, you can access with /images/myimage.png

    Don't forget that your shared library JAR needs to be referenced by weblogic.xml

    Kind regards.

  • I need to create a second library for locations other than itunes music files?

    Mac book air with library itnes. Should high resolution I create a second library of music to not get data via itunes without loss to music downloads?

    I don't understand this. Downloads of the place where? Apple provides no music in Apple Lossless format. You can store all the files in a compatible format in the library, it's just that you can end up with multiple copies, each one representing the different format, unless you remove other versions or you do something fancy with smart playlists.

  • Toolkit of Real Time Execution Trace functional limitation on targets NI Linux real time taken in charge

    We want to start by using the Toolbox in real-time to backtrace of memory allocation profile on a target of cRIO 9035 & 9039.

    The product information (http://sine.ni.com/nips/cds/view/p/lang/nl/nid/209041) page has a note indicating that the Toolbox has limited functionality on real-time OR-Linux supported targets.

    However, I couldn't find any specific details about what are these limitations.

    If anyone can clarify which restrictions apply?

    Are there alternatives (party packages) that offer a feature more complete?

    Hello Jörn,

    Did some more research, the following limitationrs occur on targets LInux RTOS,

    -The Manager of memory when used on targets of Linux, saves only data for LabVIEW processes and threads, not the global memory of the systems.
    -Wait object are not recorded events
    -Trace buffer size cannot be changed
    -Timed loop pre-emption and reactivation of SRI events are not marked

    Hope that this information helps out you in addition,

    Kind regards

    -Natalia

    Technical sales engineer

  • Creating a Clone of VI in the real-time platform

    Hello

    I wanted to create a clone of VI in time real LV on cRIO-9022 controller. I changed the properties to run VI and selected pre allocated incoming running clone.

    But I'm unable to generate the clone like this.

    I read from here, "you can configure LabVIEW to allocate or share a VI clones reentrant clone shared within a structure ofloop delayed or Timed Sequence" .

    My question is how can we create a clone of screws in the RT platform? clones are limited to Timed loops only?

    I use LV 2013, cRIO-9022, chassis NI 9114

    Thank you

    Thibault

    Hello

    I got it, it was similar to what you do on a normal LabVIEW VI. I expect a change in the name of VI in CloneXXXX.vi, but in real time, I think that you do not have this indication.

    As he had no name and when I try to open the instances of these real-time clone live all were directed to the real VI itself, so I thought that it did not work.

    but I think that it how it is in real time.

    I did a test using the simple addition of numbers using clones and it works very well.

    If you do not get the clone of instance names when you open the front door and we cannot highlight the real-time performance clone VI

    I think it's obvious.

    Thank you

    Thibault

  • Crontab Linux real time OR

    We have a chassis with NEITHER time NOR 9068 real Linux as OS.  Does anyone know how to properly configure and run a cron job?

    Other reference documents OR indicates that cron must be used to perform periodic commands the base OS and that cron is supplied with the package busybox.  The version of busybox running on the chassis is 1.20.2 and only compiled with crond and not crontab?

    I tried to install the cronie package using opkg. He have successfully installed and enabled me to run crontab.  However, when you try to run the crontab all the getting is a segmentation fault.

    Am I missing something?

    Thanks in advance!

    Thanks for the reply AGJ!

    I haven't posted this question to the community of Linux in real-time.  When I made the post, I tried a Linux forum but did not find one.  Thanks for the link.

    I actually solved the problem late last night.

    Out of the box, the init system running crond.  There is a crontab file for the root user, located at/etc/cron/crontabs.  This file can be edited with vi (or another editor if you have installed on the chassis).  The editing process is normally accomplished with the command crontab - e, but by directly modifying the file works.

    I hope this helps the next poor soul who needs to implement on the 9068 cron jobs.

    See you soon!

  • Video output for PXI embedded real-time?

    I plan to buy a controller PXI real-time Embedded for security monitoring.

    Is it possible to use the video output of a controller PXI running RTOS to display a LabVIEW RT application messages? According to the literature, it seems that the use of the video output is more possible for Controllers PXI running Windows XP.

    Is there a specific application with LabVIEW RT?

    Thanx.

    H.L.

    Well, it works using the IMAQ RT video Out VI: images are displayed properly via the video output of the RTOS PXI controller running.

    Thanx.

  • Keynote for Mac - trying to create a continuous score for several slides, several times during a presentation

    Hello

    I am a relatively new user of Keynote and am completely stuck trying to figure out how to make a key part of my presentation.

    Basically, I want to have a score soundtrack audio, for example, three slides, end. Then with a silent, UN-sountracked or two and then start another section has received, in which a new audio track plays behind several slides.

    There must be far from doing, but I'm completely stuck!

    Keynote is unable to read an audio file through a Group of slides.

    However, the solution is:

    1. Drag and drop the audio file on a new slide
    2. Select the audio file in the slide and go to Inspector >Format > Audio and deselect the option Start Audio at the click on
    3. Add all of the content remaining it is for synchronization with the audio file, on the same blade, (photos, graphic forms)
    4. If you want that the visuals to play automatically:
      Select all objects; Inspector > animate > build > add an effect:
  • Help! Need for communication in real-time between a portable laptops 12-20 teacher students (wireless network)

    Hello

    I'm trying to delvelop software (Labview) that is installed on the student laptops (12-20 max) who reads data continusly (max 1 to 10 hz) of the computer laptop instructors. It tells me that the use of a text file and have the students to read continuously is not a viable option. Any help would be greatly appreiciated. I write mostly programs data type simple aquistion strain of measurers LVDT etc. as an engineer. I'm not a full time programmer, so I'm learning as necessary. The data is constantly simple double prescision updated of a simulation.

    This will be a freebie for schools software later. Help, please...  Thank you

    Well, you can also use TCP instead of UDP.  The TCP network protocol provides a bit more load to ensure that packets arrive in order and will be sent if missed.  That does not necessarily all the data arrive.  Disconnect a cable network for a short period of time, and a sent packet eventually timeout and exit.  But the internet tracks on this Protocol good enough, (at least that's what I said ) so I'm sure that it will work reliably enough for your small network application.

    If you need other insurance, all your data arrives, so you can serialize each data package yourself, put a sequential number in communication with other data.  If the receiving program detects a missing number or one out of order, then at least you know your application level and can do something.  But I seriously doubt that your application is so critical that you need to worry about the implementation of this.  Just rely on TCP and you'll be fine.

  • Call to a shared library a VI on a target NI Linux RT (cRIO 9068)

    Hi, I wrote a very small shared library (.so) with Eclipse (toolchain 2014), which essentially serves as a wrapper for more complex, but I am having problems with the call go to in LabVIEW RT on a target Linux RT - specifically, the cRIO 9068. First: the library was copied in/usr/lib and ldconfig has been correctly implemented. More important yet, I have also written a C program (using Eclipse as well) that calls the single function currently implemented in the shared library: this works perfectly, both in Eclipse and you connecting directly on the cRIO with a Putty terminal. So I guess the shared library itself is ok and can be called from code/external programs. Now, dating back to LabVIEW (2014 here btw). Here's where things get difficult, I guess. Initially, I had the symptoms listed here--> http://forums.ni.com/t5/LabVIEW/How-to-create-a-c-shared-library-so-for-linux-real-time-for/td-p/302... who prevented me from actually run any code on the target of RT. Then I changed the call library function node: various tutorials suggest to put name_of_library.* in the path text box or the name of library, but unfortunately it doesn't seem to work, so I had to put the name and the extension too. But it still produces the error below ("the name of the function is not found" etc.) So I check the box 'specify path on diagram' and add/usr/lib as a parameter to the node library function call: now the VI can work and is actually transferred to the target of the RT... but the cluster of output error returns error 7, which is a kind of "File not found" error. However, I believe that this error message is misleading: indeed, if I try to debug remotely this library shared under Eclipse, I am actually able to pause it. and when I press the Pause button on the debugger, the goal of RT VI pauses, then continues as soon as I press the Resume button, I'm stuck... I tried searching forums and Google as well, but I have not yet found a solution. Any ideas on what's going on? Moreover, I can add more details if needed.

    Problem solved, it was a bad configuration of the node library function call which prevented the actual library (.so) to be called.

  • Failure to build LabVIEW application on Linux using "Shared library".

    In order to create a LabVIEW application on linux without X display, I have respected the LabVIEW VI using the shared library for Linux. I did it by clicking with the right button on construction Specifications and selecting New > Shared Library, and in the section Advanced , check the box labeled embedded version using the runtime engine. At the end of the build process, a message to inform that the build failed with the following message:

    "Error 127 to the Exec System: sh: gcc: command not found".

    The error code is not set. No one has provided a description for this code, or you could have wired a number which is not an admission of error code error code. »

    I have had no compling the LabVIEW VI in normal mode, so am confused about which is the problem.

    Hi Julian,.

    GCC is a compiler C and C++ under Linux.  A simple way to check if it is installed is to open a terminal and type 'gcc', if the command is recognized then the package is already installed, and the problem must lie elsewhere.  If this slot of Linux has a package manager, then it must be posted in here also.  If not then it could point to him being not installed or missing a dependency makes not accessible from the command line.  Here is a link that should hopefully scroll you through installation of gcc with Redhat: http://www.cyberciti.biz/faq/centos-linux-install-gcc-c-c-compiler/ .

  • fail to compile the shared library vorbis for BB10

    I'm using the SDK native on Windows 7 and downloaded the source from Github OggVorbis-Blackberry code. I create a shared library project and import the source code to IDE, but finally get a static version. The makefile contains built in a static library it is not shared. How to solve the problem? I don't know how to use autotools in Windows 7. Can I rebuild the autoconf and automake files in Linux and copy files to Windows 7? Thank you.

    If you are not fluent with the Makefiles then use managed build.

    > I create a shared library project and import the source code of the IDE, but finally get a static version.

    Make sure you have - here shared key:

Maybe you are looking for