Real-time run-time or development

On Windows I can use App.kind to find out if the VI is running in the development environment or in the runtime system.
On a RT target I get always Embedded LabVIEW.
The default directory on a RT Target is C:\ni-rt\system when runinng in the development environment and C:\ni-rt\startup when running in an application. How can I get the information in which context the VI is running?
Hardcoding the folder is the last option to choose.
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

Hi Joseph,
no I haven't found an answer to the original question how to find out on RT Target  if a VI is running in the development environment or as standalone application.
 Meanwhile I think I do not need to know this at least not for the case I need. Maybe when telling the history it will get clearer.
We have a PXI-System with a new installed LV RT 2009. The application needs to read in some configuration data at startup. We choose to use the Default Directory to store the files. We were starting development and at the first test we saw that the Default Directory is "C:\ni-rt\system" a place which we will never use.
Next we created a standalone application deployed it, set it as startup and rebooted the system. This time the Default Directory is "C:\ni-rt\startup". This was the point I started the thread.
Meanwhile we did some more development and when deploying the VIs from LV and starting it we also get  "C:\ni-rt\startup" although the VIs are now running in the development environment.
Next I created a standalone application and deployed it to C:\ni-rt\MyTest, set it as startup and rebooted the system. Now I get "C:\ni-rt\MyTest" until I set a new startup application or unset the startup application.
LV RT starts an application at boot time and the folder where this application is located will get the Default Directory until you boot the controller again. That's why I think we do not really need to know if the VI is running from the development environment or as standalone application.
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

Similar Messages

  • Real-time and Developement System

    I have a very premitive question. what is real-time OS? what are differences between real-time and Developement labview.

    Real-Time in general is not about speed, it's about guaranteeing, that a specific function will be executed within a specified time window.
    Imagine a car with some sort of fieldbus. You want the brakes to be working at any time within a time limit (say, 1ms). That's Real-Time.
    Windows for example uses some sort of scheduler to distribute CPU time to the different threads with a granularity of - i think 1 ms. So each thread gets 1 ms, then it is interrupted and the next thread gets its 1 ms. Of course there are priorities which thread gets a little more time (or more "slots") and which thread gets less. BUT: You cannot tell in Windows, that your application will execute in a specified time window - at any time, it can be interrupted and therefore delayed and theres nothing you can do about it.
    Real Time OS make sure, that - if some specified event happens - it will be executed within a specified time window.

  • Help Required @ some real time application developement help!!

    I have just started off with Jdeveloper and I need some very much real time examples so that I can give a head start and do applications as soon as possible
    can anyone show me the links to files and I will make the application learning where and when the binginds happen and also where the exact structured flow is taking place.
    Thanks
    AC

    Also check out the SR Demo
    http://www.oracle.com/technology/products/jdev/samples/srdemo.html
    Message was edited by:
    Grant Ronald

  • Qual a diferença do LabVIEW FPGA e o LabVIEW REAL- TIME?

    Hello,
    Could anyone help me? This question arose in my work and could not answer. Does anyone know tell me?
    Thank you.
    Solved!
    Go to Solution.

    Olá, 
    Com o LabVIEW FPGA você programa diretamente o chip FPGA presente no chassis cRIO, placas da NI Série R e single Board RIO. Você programa as E/S diretamente no chip, sendo assim uma programação de mais baixo nível. A grande vantagem do FPGA é o "paralelismo real", o que garante altas velocidades na execução das rotinas programadas.
    Assista ao webcast Introduction to LabVIEW FPGA
    Com o LabVIEW Real-Time você desenvolve aplicações que são críticas em relação a "tempo". Chamamos de aplicações "deterministicas". A idéia é que, se você tem uma rotina que deve ser executada em um tempo determinado, a diferença entre o tempo real e o que você programou seja o menor possível. Aplicações em Computadores comuns não são deterministicas, pois enquanto o LabVIEW executa uma certa rotina programada, o Windows está executando outras tarefas, monitorando a utilização de periféricos, atualizando a tela, etc.
    Real time não significa "Velocidade", mas "Confiabilidade".
    Assista ao webcast LabVIEW Real-Time: Graphical Development, Hard Real-Time Performance
    Hello, 
    With LabVIEW FPGA you program the FPGA chip itself. The FPGA chip is found into cRIO chassis, NI R-Series Boards, and NI Single board RIO. You program the I/O directly in the chip, so we consider this as a low level programing. The main FPGA advantage is the "Real Paralelism", which guarantees high speed execution programming.
    Whatch Introduction to LabVIEW FPGA webcast
    With LabVIEW Real-Time you develop called "time crictical" or "Deterministics" applications. In case of you routine must be executed in a specified period of time, the difference between the real time execution and the time you programmed is as low as possible. Commom computers programming are not deterministic, because in the meantime of executing a certain programmed routine, the OS (e.g. Windows) is running other appication tasks, monitoring peripherals like mouse and keyboard, uptading screen, etc.
    Real-Time doesn't mean "faster" but "reliable".
    Watch LabVIEW Real-Time: Graphical Development, Hard Real-Time Performance webcast
    I hope the information helps you!
    Best Regards
    Felipe Flores
    Engenharia de Aplicações
    National Instruments Brasil

  • Memory leak in Real-Time caused by VISA Read and Timed Loop data nodes? Doesn't make sense.

    Working with LV 8.2.1 real-time to develop a host of applications that monitor or emulate computers on RS-422 busses.   The following screen shots were taken from an application that monitors a 200Hz transmission.  After a few hours, the PXI station would crash with an awesome array of angry messages...most implying something about a loss of memory.  After much hair pulling and passing of the buck, my associate was able to discover while watching the available memory on the controller that memory loss was occurring with every loop containing a VISA read and error propogation using the data nodes (see Memory Leak.jpg).  He found that if he switched the error propogation to regular old-fashioned shift registers, then the available memory was rock-solid.  (a la No Memory Leak.jpg)
    Any ideas what could be causing this?  Do you see any problems with the way we code these sorts of loops?  We are always attempting to optimize the way we use memory on our time-critical applications and VISA reads and DAQmx Reads give us the most heartache as we are never able to preallocate memory for these VIs.  Any tips?
    Dan Marlow
    GDLS
    Solved!
    Go to Solution.
    Attachments:
    Memory Leak.JPG ‏136 KB
    No Memory Leak.JPG ‏137 KB

    Hi thisisnotadream,
    This problem has been reported, and you seem to be exactly reproducing the conditions required to see this problem. This was reported to R&D (# 134314) for further investigation. There are multiple possible workarounds, one of which is the one that you have already found of wiring the error directly into the loop. Other situations that result in no memory leak are:
    1.  If the bytes at port property node is not there and a read just happens in every iteration and resulting timeouts are ignored.
    2.  If the case structure is gone and just blindly check the bytes at port and read every iteration.
    3.  If the Timed Loop is turned into a While loop.
    Thanks for the feedback!
    Regards,Stephen S.
    National Instruments
    Applications Engineering

  • Real-Time Application doesn't run; source code works fine

    The short version is I'm programming a cRIO and apparently the RT code isn't running after being deployed and I can't figure out why. This is further complicated that I'm doing all this remotely and I don't have direct access to the unit since I'm 500 miles away. I'm working through a couple of other guys who know some LabVIEW, but neither works at the site so they have to explicitely travel out there every time I have a bright idea.
    I was out there a few weeks ago. During this time I created a simple cRIO code, since I'm new to cRIO, that allowed the user to move a control and change a graph. It worked fine, but I should note it did not have an FPGA component. After that I worked on the real code, which reads some sensors, displays the results on a UI and logs the results. This did have FPGA. I used it in the LabVIEW environment and it worked fine, but I ran out of time before I could complete a release version and deploy the RT as a compiled application. I sent them the release version later, my contact deployed it but got network stream errors when running the UI.
    After hours of looking at network problems and sending over debug versions, I tried creating a log on the RT level so I could see what was going on. The log doesn't even open, even if it's the first command in the code. I pored through the forums and found http://forums.ni.com/t5/LabVIEW/cRIO-Troubleshooting-creation-and-deployment-of-startup/td-p/1956475... which took me in a new direction.
    I had my contact use the RT debug console and when he pulls up the RT front panel, it shows a broken run arrow. He clicks it and nothing happens -- no running, no bug list. If he pulls up the bug list manually, it's empty. Again the RT works fine if you run it through LabVIEW and not as a compiled real-time application. He also noticed that the Open FPGA VI was grayed out on the block diagram. No other icons are.
    So the problem appears to be that the compiled RT application is getting some kind of error but not telling me what it is, and it seems to be related to opening the FPGA. I've recompiled the FPGA and RT. I've had him recompile the RT himself, but not the FPGA because it would take hours. He's downloading everything correctly to the cRIO. The RT is set to run automatically. He's rebooting the cRIO every time he deploys the RT. They have LabVIEW on a computer there but it doesn't have the right drivers to run the code from the LV environment. I'm resisting having them install the dirvers because downloading big files is complicated there due to security restrictions and a lousy network connection at a remote site. Besides that doesn't solve the problem of the RT executable not running the same as the source code, which according to the thread above appears to be a thing.
    The latest thing I'm trying is that I sent him instructions for how to build a source distribution from the project I sent and try deploying that to the cRIO. Even if that works I'm not sure that's an acceptable solution because I assume running the VI rather than the EXE is slower, and they need speed on this project.
    I simply have no idea where to go from here. I probably need to get direct acess to the cRIO and I might be able to convince them to ship it to me so I can figure this out, but I'm not sure where I'd even start other than the standard voodoo debugging of "try stuff at random until something works". I'm open to suggestions if anyone has managed to solve this before.
    Code snippet of the first part of the project is attached, though I'm not sure how much good it will do. I'm really stumped and the client is getting frustrated with how much of the budget is going to fix this.
    Solved!
    Go to Solution.
    Attachments:
    RTMainSnippet.png ‏623 KB

    Have you checked the cRIO error log? Usually I'd access it through the LabVIEW project (right-click on the target, don't remember the exact menu options and I don't have the RT toolkit installed on this machine to check), but it must be stored somewhere on the cRIO as well, although I don't know if it's in a human-readable format.
    Which cRIO are you using? What exactly do you mean by "debug console"? (This may be related to the cRIO - the newer ones have video out, although I don't know if that's what you're referring to.) With a broken run arrow, you won't get an error list unless you're running in the development environment.
    Have you confirmed that the software installed on the cRIO matches the version you're using for development, including patch level? Get someone to connect to the cRIO with Measurement and Automation Explorer, and get a list of the software installed on the cRIO.
    Sounds like the ability to connect with a remote debugger would be helpful here, if you can get the right drivers installed on the machine with LabVIEW that's connected to the cRIO. Make sure all driver versions match what you're using. Any chance you could then do a remote desktop connection from your work site to the remote LabVIEW machine?

  • How to install Vision run-time engine to a desktop PC converted to real-time target

    Hi, all
    I don't know how can I install the vision run-time engine to a desktop PC which I converted to a real-time target.  The same problem applies to installing real-time run-time engine and labview run-time engine to the real-time target.  The only way to install software to real-time target is through "add/remove software" in MAX for remote system, but it is not for all types of run-time engine installation.  
    I am also confused about how to activate those run-time engines for the desktop PC as real-time target.
    Please help and great thanks.
    Wei 

    Hi turtle,
    Here is a link that explains how to set up a desktop PC as a real-time target.  The section for Formatting & Setup should help you the most.
    NI Developer Zone Tutorial: Requirements for Desktop PCs as LabVIEW Real-Time Targets
    Justin D.
    Applications Engineer
    National Instruments

  • Bug: Built Real-Time app won't run if it accesses a typedef'ed shared variable node

    Hello,
    I finished developing a Real-Time program that uses typedef'ed (clusters and enums) networked shared variables (SVs). It works fine when I run the program in Development mode. However, when I built and deployed it as a start-up app, it refuses to start. The VI monitor in the Distributed System Manager says that the VIs that use those SV nodes (and the top-level VI that references them) have "Bad" status, and the rest are "Idle".
    To get my built program to run, I had to disconnect all the variables from the typedefs. Deleting the SV nodes made the program run too, but that's not an option.
    Has anyone else encountered this?
    Platform: LabVIEW 2012 (32-bit), NI cRIO-9076

    Yes. See the following thread.
    Paolo
    LV 7.0, 7.1, 8.0.1, 2011

  • SQL Developer Stability - Real Time SQL Monitoring

    I always get excited when a new release of SQL Developer comes out with all kinds of new features then I am quickly disappointed by the instability.
    The 2.1 Real Time SQL Monitoring is a great example. It has such great promise but it is not stable, the refresh doesn't work, if you scroll it wipes out the display so I have to exit and re-enter. Is anyone having more success with this tool than me? Are there Java Settings I need to consider? I already learned that if running the query in question from SQL Developer it has to be in an unshared workspace or SQL Monitor won't come up.
    Prior to going to native OCI connectivity my Connections Schema Tree was also very flaky, I work with huge delivered PeopleSoft HR Schemas most of the time.

    The file associations thing means you don't have access to the registry to associate file types. Probably connected to the Vista security model. Try registering the filetypes for use by sqldeveloper through explorer.
    This other problems generally means you don't have write access to the sqldeveloper system directory.

  • How do I generate a compiled app with a user interface running real-time?

    Hi everyone,
    I've developed a simple application that uses a PXI chassis to run.  It toggles some discretes and does some simple things, but it doesn't really have any "real-time" requirements.  We're just using the PXI chassis because we have it and we need the discrete I/O.
    My question is this - how can I convert this application to a compiled real-time app and yet maintain the front panel on the local PC.  LabView appears to simply do this for me.  I am connected to the real-time target via ethernet.  When I compiled the program, it puts it in the target's startup directory, but how do I run the front panel from the local PC?
    Thanks,
    Jason

    Hi Jason,
    Below are some links that should get you started with deploying an application onto your real-time target and then controlling it from a PC that does not have the LabVIEW Development environment:
    http://digital.ni.com/public.nsf/websearch/C90410C685CFF89786256C24005AC027?OpenDocument
    Launching code on the RT target:
    http://zone.ni.com/devzone/conceptd.nsf/webmain/7D7CFAFF379531B086256AC70058812B?opendocument&node=1...
    Deploying and launching a real-time app:
    http://zone.ni.com/devzone/conceptd.nsf/webmain/9ac4955881bd7b4d86256d0b0061dd1c
    Application Builder and RT PXI controller:
    http://zone.ni.com/devzone/conceptd.nsf/webmain/81b6674f3556599b862568cf005d26c6
    RT good programming practices (use RT communication wizard for easy implementation):
    http://zone.ni.com/devzone/devzoneweb.nsf/Opendoc?openagent&E4C4DCD9C00295A186256B5100665BF5
    RT Communication Wizard:
    http://zone.ni.com/devzone/conceptd.nsf/webmain/a6f17ee4adcab99686256d5e0053e210
    I would suggest going through these tutorials and documents, they should provide you with what you need to get started.  Please don't hesitate to ask any questions that you have a long the way.
    Bryan Snarr
    Field Engineer
    Northern California
    National Instruments

  • Hi am trying to save Data into a write to measurement file vi using a NI PXI 1042Q with a real time mode but it is not working but when i run it with uploading it into the PXI it save in to the file

    Hi am trying to save Data into a write to measurement file vi using a NI PXI 1042Q and DAQ NI PXI-6229 with a real time mode but it is not working but when i run it without uploading it into the PXI it save in to the file please find attached my vi
    Attachments:
    PWMs.vi ‏130 KB

     other problem is that the channel DAQmx only works at real time mode not on stand alone vi using Labview 8.2 and Real time 8.2

  • Real-Time Decision Server is not running

    Hi,
    In the Admin guide for RTD Center, during Initializing the Oracle RTD Database Using SDDBTool, one of the step mentioned is "To check, Real-Time Decision Server is not running" but nothing has been mentioned if this is a Service or we have to check in Weblogic or service panel.
    So the question is, How do I check if my Real-Time Decision Server is running or not? Do I have shut down OBIEE instance for the same?
    Regards,
    Jitendra

    Hi,
    try it like this.
    http://IP:9704/ui/do/logout
    note: bi services should be up.
    Thanks
    Deva

  • To develop an VI to aquire data of thermocouples from a remote chamber in labVIEW real time, should use NIDAQ or NIDAQmx?

    Hai
    I need to develop an VI to aquire data at real time. Am using LabVIEW RT as the OS and i need to know, if i can use NIDAQ 7.0 or should i use NIDAQmx? what is the diffrence between the two? is it just that NIDAQmx makes job simpler?
    Also can anybody please tell me, how to access a channel in labVIEW? am not clear about the path to follow to get the physical channel as a virtual channel on the LabVIEW.
    I am using a 8186 PXI with labVIEW RT and a SCXI, with both scxi and daq card on the same chassis.
    the development will be done on Windows XP which will be the host machine.
    Thanx in advance for any answers
    Arun

    Arun,
    DAQmx is our new Data Acquisition driver and should be considered as the primary option when writing new applications because of supportability in the future.
    DAQmx does make Data Acquisition tasks much simpler, abstracting many of the board implementation details and giving you a common API for 99% of the tasks you might want to accomplish.
    There are a couple of minimum requirements for using DAQmx on LabVIEW Real Time:
    - You will need LabVIEW Real-Time 7.1 (or higher)
    - You will need DAQmx 7.2 (or higher)
    These requirements are mentioned in the following Knowledgebase:
    Is NI-DAQmx Supported in LabVIEW Real-Time?
    The other thing you might want to make sure of is that DAQmx supports the DAQ hardware you already have or are planning to use. DAQmx does support most of the existing DAQ and SCXI hardware products, and reading thermocouples should become a very simple task.
    With DAQmx you can use physical channels, Global Channels (Aliases for preconfigured physical channels, equivalent to the Traditional DAQ Virtual Channels) or DAQmx Tasks (Preconfigured Data Acquisition tasks that include channel, timing and triggering information). A good place to start to learn about these features could be:
    Advantages of NI-DAQmx
    The following link might be useful to check Hardware support:
    http://www.ni.com/support/daq/versions.htm
    The driver can be downloaded by following these links:
    ni.com -> Support -> Drivers and Updates -> Current Software Versions -> Multifunction DAQ -> NI-DAQ Version 7.3 for Windows 2000/NT/XP
    This includes the latest version of DAQmx and our Traditional DAQ driver. Please note that DAQmx base is also listed but that's our Register-Level Programming (RLP) driver, which provides DAQ support for previously unsupported platforms.
    I hope this helps,
    Alejandro

  • Not able to run Real Time Report(Live report)

    Hi all,
    I am working on a report which need to be run on real time, i am facing difficulty while running it at my end(India),
    getting error as View Display Error whereas my counterpart in United States running at her end getting the result easly,
    server is located at United States,we share the same internet speed,I tried different means by putting appropriate filter
    in order to reduce the data size but still couldnt see any result. Can anyone please suggest me what is the issue
    and what need to be done in order to get the results for real time report faster at my end.
    Thanks for help.

    A couple of suggestions.
    First, make sure you are reproducing the report conditions as well as the user access settings. Different user access can make a big difference in report performance.
    Second, enter an SR with Oracle support. They may be able to help troubleshoot connection issues.
    When we see dramatically different response times in different locations, this usuallly means a network issue. It may not be in your corporate network, but somewhere between you and the data center.

  • Cannot run Simulink dll at the same time as running real-time target VI

    Hello
    What I am trying to do is run a model dll created in Simulink to control some servo's through a CompactRio 9014. 
    At the moment I have managed to create three VIs
    1) In the FPGA target that performs the PWM on a desired channel
    2) That takes the value of a network variable which contains the position required and feeds that to the 1st VI
    3) A VI that runs on the host computer that modifies the value of the network variable to change the position
    I can get these three VIs working and the servo controlled, but when I try to update the value of the network variable using the simulation, by deploying the simulation to the RT target and running it, it says
    'Access denied: This target is already in use by another project or host computer.'
    I assume as this is because the project is already connected to the cRio, so I disconnect and am able to deploy the model files. 
    However when I try to run one of the VIs in the RT Targer along with the simulation I get the error:
    'This VI is downloaded on the target but is not present in the project you are attempting to deploy.  All VIs on the target will be closed unless you choose to add the missing VI to the project.'
    With a large number of missing VIs...
    Would I be doing this wrong, i.e. is there a much simplier way to control the FPGA inputs using the simulation, or is there something I could have missed?
    Thanks
    Geoff
    Solved!
    Go to Solution.

    Hi Geoff,
    It seems that you are on the right track except for some concepts that I
    want to review:
    A CompactRIO or cRIO has 3 different components:
    1)     
    Real-Time controller (in your case a 9014)
    2)     
    FPGA backplane (this could be a 9102, or a 9103, 910x,
    etc)
    3)     
    I/O modules (like a 9401, 9263, etc)
    When you write an application for cRIO you usually have three different VIs:
    1)     
    Host VI – This VI is used as a user interface and runs in
    Windows (under “My Computer” in the LabVIEW project) This VI is optional because
    you might want to run the cRIO headless.
    2)     
    RT VI – This is the VI that runs in the cRIO controller
    (in your case the 9014).  This VI lives
    under the cRIO target in your LabVIEW project. 
    3)     
    FPGA VI – This is the VI that runs in the cRIO
    backplane like a 9102.  This lives under
    the cRIO >> FPGA target in the LabVIEW project.
    The ONE application that I was talking about in my last post is for the RT
    VI.  There can only be one RT VI that
    gets deployed.  If you want to run
    multiple VIs in the cRIO RT, then you need to run those VIs as subVIs of one
    top level VI.
    LabVIEW Simulation Interface Toolkit (SIT) has a tool called the SIT
    Connection Manager that creates two of these three VIs for you (the RT and the
    Host VIs).
    Please refer to the following link about the SIT Help.  Go to the How To section.  It is organized in a kind of step by step
    tutorial.
    http://zone.ni.com/reference/en-XX/help/371504D-01/
    In your case it is going to be a bit more difficult because of two things:
    One, you are using a VxWorks target. 
    Two, you want to use your own FPGA VI.
    Let’s address each one of them:
    1)     
    VxWorks target- To use the SIT Connection Manager you
    need to use a DLL not an OUT file, even though you need the OUT file for the cRIO VxWorks target.  The reason is
    that this tool needs to read the compiled model to know what the
    parameters, signals, inports and outports of your model are.  Because the tool runs in Windows you cannot
    open an OUT file (meant for a different OS) so you need to give it a DLL. 
    For this reason you will need to compile your model file into an OUT
    file and a DLL.  Once you give a DLL to
    the Connection Manager and you select your cRIO as the execution target, keep
    doing the rest of the steps as the help says. 
    LabVIEW will identify that you are using a VxWorks target and will
    download the OUT file to the cRIO.
    2)     
    Custom FPGA VI – LabVIEW SIT has some FPGA bitfiles
    (compiled FPGA VIs) that it can use. 
    When you open the SIT connection manager and go to the Hardware IO
    mapping section it asks you to select the bitfile.  If you want, you can select one of the
    shipping bitfiles but iIf you
    want to use your own, then you will need to do some changes to your FPGA VI , recompile it and
    save the bitfile in a specific location with a specific name.
    Please refer to the following link for
    instructions on how to create your custom FPGA VI:
    http://zone.ni.com/reference/en-XX/help/371504D-01/lvsithowto/sit_h_custfpga/
    What I would suggest is that you start with a very simple example and using
    one of the shipping bitfiles.  Look into
    the following path for a very simple Sine wave generation example:
    C:\Program Files\National Instruments\LabVIEW 8.6\examples\Simulation
    Interface\Sine Wave
    Because you are running a VxWorks target you will need to recompile this
    example model sinewave.mdl to an OUT file.
    To get a better understanding of what SIT does you might
    want to check some quick videos. Go to
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/11763  and under the
    resources tab there are two videos called Demo - <something>...
    Hope this helps and let me know if you have more questions.
    Ricardo
    National InstrumentsSystems Engineering

Maybe you are looking for