Sharing Variables economy on cRIO

Hello

I have a cRIO with a prog to RT. There are a few variables shared network that are hosted on the cRIO.

I can update to a host application.

If I reboot the cRIO, shared variables return what they have lately been defined.

If RIO loses power, then is restarted, shared variables will come as soon as they were last record, not necessarily what they were the last updated also.

Seems like a normal restart, shared variables are registered as part of the judgment, but on a sudden loss of power, they are not.

Y at - there a command that I can send for the cRIO to force that he record it is common shared the values of the variables so that if she loses power it will restart with these values?

Thank you

Paul

There is really no way to do what I know automatically.   The only reason SV persists between resets of RT is because SV resides in another

process tagger.exe which continues to operate through a reset.  State of the SV is only saved in ram so it gets wiped out on a power cycle.   You will need to write code to read all of your OAS and then disk-based backup/restore.  As an alternative, I guess you could eventually save the State in the ownership of the initial value of the SV, which could then be saved-Flash and of course then would automatically restore as soon as voltage.

Tags: NI Software

Similar Questions

  • Shared variables, analysis engine and multiple targets

    I'm looking for some general tips on my LabVIEW project structure.

    The project consists of a laptop with LabVIEW, a connected joystick and a CompactRIO connected via ethernet. I ran the cRIO mode Interface FPGA, but a change in some things causes the project to have be moved to scan mode.

    From now on, the code on the portable computer updates the shared variables on the cRIO and bed from the variables shared on the cRIO for surveillance. I want to shared variables on the cRIO because he will also need to work without the connected laptop. Before moving the cRIO for scan mode, I found that I had to first run the code of the laptop and then run the code cRIO, or shared variables would not release properly. Now that I spent to scan mode, I have to run the code cRIO first, and even then the shared vars do not properly communicate for more than a few seconds and are well laggier.

    My ideal project solution is a system that can operate with or without the connected laptop and obviously do not have these questions shared variable. I would like the autostart code on the cRIO and ask the user to execute the code of the computer laptop, if necessary, but in the past, it doesn't seem to work with shared variables.

    I'm really confused about why this is happening. I hope I explained my problem well enough. I really don't want to display the entire project here, but I can email to people if they are willing to take a look. Thank you for taking the time to read this.

    I'm under LabVIEW 2010 SP1 with FPGA, DSC modules and robotic in real time. I have the updated Feb 11 driver and NOR-RIO 3.6.0 installed and completed all updated on my RT cRIO.

    I do this kind of thing all the time...

    Move all your NSV libraries on the cRIO.  Of the project, you must deploy on the cRIO and then they are persistent until you reformat.

    Your windows GUI application, you can set static NSV tags on the block schema or use the API SV dynamic R / w.  Also you can bind GUI controls and

    indicators directly to the NSV cRIO (it's what I do) also I create a library of 'mirror' in the PC HMI that is linked to the library of cRIO.  This library has DSC Citadel

    data record enable and automatically records the historical traces of all my important data - very nice.  Libraries hosted PC can be set to autodeploy in the version of the app.

    the project also has an option of autodeploy to the development environment that normally, I turned off.  If you have a PC at the cRIO binding configuration so be careful

    on any kind of autodeployment because this will eventually force the cRIO app stop when you deploy.  To work around this problem, you can use the PSP (IP address rather than project binding

    process name) and use of the DSC deploy library s vi in your HMI application.  Once you use the scan engine, you can use the app DSM (Distributed System Manager) to view, DIF and

    each of you IOV and NSV graphic on your network.

  • published RT cRIO-9030 with network-a project of shared variables cannot communicate with host VI when compiled and deployed as executable startup.

    I have a project including a VI RT running on a cRIO-9030 and a host VI running on a desktop computer.  The two programs communicate via shared variables that are hosted on the cRIO.  As shows, when I run the screw of the project, everything works as expected.  When I compile the RT VI in a start-up executable can deploy for the cRIO, as well as the libraries of shared variables (the record of support in the build specification-oriented), I am unable to connect to the executable running in real time.

    I have 'Disable Autodeploy Variables' checked on the cRIO target, if I no longer get the prompt to stop the currently running application to deploy the variables.  The host VI opens and appears to run, but has no connection with shared variables (data does not update).  Compilation of the host VI as an executable file and it works outside the project result in the same behavior.

    I read some relevant posts / knowledge base articles related to this problem, but still can't seem to find a way around it.  I note a number of articles on the series in double bond of variables, but this is in contradiction with my possible behavior for this system: I finally have a number of cRIO controllers identical all runnning the same executable RT and want to be able to have a single host VI which allows the user to select from a list of available controllers (using the screw system configuration) and extract the host name of the controller selected, that would be later used for programmatic addressing of the variables on the host of part VI.

    In any case, I want to start with the simple fact of being able to get that first controller running without an open connection to the RT VI project.  With the deployed executable start, I checked via programmed behavior of LED application of the RT and FPGA are running on the cRIO.  The problem, I think, has to do with shared variables, but I'm not sure where to go from here.  I want to connect to RT executable running from the VI to the host (in project) to verify that the compiled executable of RT works as expected and then the subsequently compile host VI in an executable that can be run from any desktop on the local subnet.

    Thoughts?

    It seems that the error has now been corrected.  There were three things, I changed: the file startup.aliases in the startup on the target directory (Home: / lvuser/natinst/bin) put in 'localhost' as an alias for the controller.  I changed it to the IP address of the controller.  Then, I got some features of IO files in my application RT relative paths using the path obtained by the 'current path VI' VI.  As this path changes according to the location / delivery system, I had to create a VI that has used the Application property: type with a case properly structure band / build railroads desired regardless of the runtime system data files.  This may have broke my RT request.  Finally, I got a property node in one of my RT SubVIs, who attempted to change an indicator in the Subvi, which is not taken care of in an RT compiled executable.  I can't do this for debugging purposes somewhere along the way, but in any case, I removed it, and after a recompilation and the deployment of the executable of RT, everything seems to work as expected today.  The host VI on the desktop can connect to the application of the RT project, and when it is compiled into an executable file, which also works.

  • cRIO, shared Variables & stand-alone application

    Hello!

    I developed an application very simple acquisition of analog (NI9215) and the activation/deactivation of outputs signals digital (NI9472) using a cRIO (9012). Data are transmitted to the host through shared variables program.

    I created an executable of the code to be run by the cRIO, set it to the "launch on startup" and it worked.

    I did the same thing with the hosting program and created an exe installer. As I use variables shared the result of acquisition of pipes, I have them placed in the support directory (data) when you generate the executable file (Distribution.exe).

    This executable works perfectly on my computer.

    I used the Setup program to install the program on another computer. This computer as its IP address in the same subnet as my computer. But shared variables ever offer data other than their default values so I guess there is a problem of communication...

    Can someone help me?

    Hi zyl7,

    Thanks for the post!

    This is a common problem - I think...

    The problem is that you need to deploy two seté variables shared by two of the llb. You need 'real' variables on the cRIO - and deploy manually (see link) and a second llb on the host pc, which are related to real variables on the cRIO. This is because the local computer get variables shared, which of course are not those with the cRIO data locally.

    Perhaps in clearer terms.

    When you make an exe of a project using shared variables, you must have a local copy of the variables on the deployment computer which are then related to the 'real' shared variables stored on the target - cRIO, in this case.

    This means that in the view of your project:

    (1) Create static variable in the normal Manor on the cRIO.

    (2) create variables shared on the host PC - llb under the Pc host in the project and then select the aliasing and how to link to YOUR PSP.

    Let me know how it works,

    Kind regards

  • shared variables crio RT does not not after compilation

    I have a cRIO project that uses static variables. There are variables located on the host computer and a double set of variables on the RT.  While the project is open, everything works fine. I can DL the FPGA VI for flash, deployment and execution, the value of the RT VI car can run my desktop VI in EXE application.

    Once that I close the project window and close labview, the office program (host VI) will work but doesn't get over all values of the shared variable. I have read all the FAQs and have contacted technical support (which was told the fair questions).

    Apparently I'm supposed to add code to the RT VI to deploy the shared variables in the RT the RT VI executing. When I try to do, the variable deployment method requires a path. I don't know which way to turn in.

    Any ideas?


  • shared variable creates sound - problem, save data in crio

    Hi all

    I have a problem here...

    Why I get noise when using shared variables in my labview code...

    but when I remove these shared_varibles, the sounds are totally reduced...

    I use the shared variable for the data record. For the recording of data, I do a VI special folder under my computer. During my actual code CRIO.

    These two screws are to communicate using shared variables. Is there a better way to make the real-time recording apart from the use of shared data variables?

    I tried to record data directly to CRIO but it always fails... That's why I do a special VI under workstation for the logging of data...

    But if shared variables create sounds... my data record is no longer valid...

    Please help me...

    I downloaded some pictures... I hope that makes my problem clearly to you all...

    Hello auralius,

    Are these plots you have posted on the graph of velocity on the block diagram?

    I think that shared variables are affecting the timing of your loop and so affect the outcome.  I suggest you to add code to check if one of the iterations is late.  I suspect that the end iterations will correspond to the bad data that show you.

    You can try to enable the RT FIFO on the shared variable or you may need to add a second loop of communication and use a form any local communication to pass data to it.

    Take a look at http://zone.ni.com/reference/en-XX/help/370622G-01/TOC1.htm, including the sharing of data in deterministic Applications section for more information.

    Let me know how it goes,

    Sebastian

  • cRIO and 9234 modules do not work or communicate via fpga with accelerometers, fpga, connected to the real-time application is also related to shared variables related to modbus slave

    Hello

    I have a compact rio, which has a 4 way frame this chassis is the three modules of ni9234, they are related using FPGAs for application in real time, then using shared variables in the low-speed loop associated with a slave modbus to communicate with the domain controllers, the nor 9234 accelerometers linked to them with option ac coupled iepe on c modules , my problem is the real-time application seems to work well even when power loss occurs it restarts without problem and the fpga written hard disk portable bin files very well, but without an accelerometer connected I get readings of low noise as soon as I connect an accelerometer to one of the outputs 10 it just goes to a fixed number (0.03125) as soon as you unplug it again He returned to readout noise, I ran a scan on the modules and get only a spike when I connect or disconnect the accelerometer, I tested voltage at the pins on the module and I get 22 volts CC which makes it more likely that the material is not the problem, but software is perhaps the cause to hang up, I join the project and files for your perusal. I also realized a new project which, in mode directly linked scan has the module entry in the shared variable and the scenerio even once again. Help would be appretiated.

    Thank you very much

    Jason

    Whren using waveform with the 9234 acquisition, we recommend the following FPGA and RT model.

    http://sine.NI.com/NIPs/CDs/view/p/lang/en/NID/209114

    It can be extended as a datalogger with:

    http://zone.NI.com/DevZone/CDA/EPD/p/ID/6388

    or using shared variables combined with the analytical engine

    http://zone.NI.com/DevZone/CDA/tut/p/ID/9851

    The FPGA in all this, as well as the framework of RT have used successfully by 1000s of users.  I recommend giving these a try.

  • Network shared Variable breaks rtexe

    I have a cRIO-9063 which I want to use for the control (PWM digital output for pumps signals) and measurement (temperature and voltage) of a system. In the ideal configuration the cRIO would be able to take measures and rebroadcast to a PC for monitoring and logging. The PC must be also able to change the digital output PWM on the cRIO lines. The cRIO should be able to continue to operate when the PC is not available. To do this, I use Scan interface for data acquisition and shared variables (single editor, no RT FIFO) hosted on the cRIO for network communication.

    I have developed the code for the target cRIO as well as my host PC meets my criteria. However, this code only works in development mode. When I try to build and deploy a rtexe on the cRIO, it does not work. I reinforced to the back and made a simple LED flashing user vi, ensure what I create and deploy properly. Slowly adding things to this flashing vi, I discovered it's shared network variables that break the vi once it is integrated into a rtexe.

    After flipping through other-related posts, I'll include the following:

    -There is no object on the remote VI front panel. Simply add a variable node shared is enough to break the vi (when it is deployed).

    -J' tried including my shared variable library in support of the construction directory, but what I saw there is not copied during construction or deployment. I manually copied the library to the /home/lvuser/natinst/bin/data / directory on the cRIO, then used an invoke node to deploy the cRIO variables when the software starts first. Even when you include a delay of 10 seconds after the invoke node, it did not work, just a mistake of 1043 at "the method or property is not supported in this version of LabVIEW."

    -NSV is referenced as absolute

    Some details of my configuration:

    LabVIEW 2015

    cRIO 15.0

    NOR-RIO 15.0

    Communication via ethernet, static IP

    Any help would be GREATLY appreciated. I suspect that I forget a few minor step or detail, otherwise am poorly understand exactly how and when shared network variables are deployed.

    I found shared to not be worthwhile over the years network variables.

    The RT EXE is not able to use the library to deploy to deploy the shared Variables.  See Help topic: http://zone.ni.com/reference/en-XX/help/371361M-01/lvprop/app_libdeploy_library/

    In general, SV are deployed once the project and they persist through reboots of the RT system.  In general, you should have a startup routine that checks the shared variables and expected for there to be without error on a node of the OAS and then move on to the rest of the program, defining the commissioning of values and check that they spread in the engine of the Variable is a typical method.

    See here for more information on the deployment of a variable in an application of the RT.  http://digital.NI.com/public.nsf/allkb/990508969805A7C086257619007189E7

    The section deployment of Variables shared in a real-time (RT) target running Headlessly is downstairs.  Because you are connected to an HMI PC, you should be able to use the library to deploy feature of the PC code targeting the cRIO.

    Usually, it's a faster, more scalable solution to replace your shared network Variables with a stream of network dedicated to the HMI and another for HMI - RT EXE commands.  You can send complex structures such as a cluster or even define the message as a cluster of enum and variant type to be able to use the Enum to convert the variant correctly according to the Enum value.

  • Shared variable RT FIFO (multi element) - read both

    Hi all!

    I'm trying to collect data from analog inputs on my cRIO with a time step of 1 second. For this I use a timed loop and a variable shared with RT FIFO active (several table of doubles). Along with the timed loop, I also use a while loop that is significantly slower (lets say 10 sec period) who must read all the berries stored in the FIFO and write it in a .txt file (everything is run locally on target RT). Is it possible to empty the shared variable RT FIFO at the same time, and if not how can I get a number of tables that are currently stored in a shared variable?

    What is the difference between one created using the palette of FIFO of Real-Time/RT and RT FIFO created by a shared variable? I prefer to use the shared variable instead of Real-Time/RT FIFO allowing also time stamp.

    Best regards

    Marko.

    Marko,

    We recommend that the nondeterministic loop run faster than your deterministic loop and remove samples when they become available. If you don't want to do this, you can simply place your RT FIFO loop for the value to perform 10 iterations and then put that in your loop. For more information about the differences between the RT FIFO and Variables shared with RT FIFO active, please see pages 32 to 35 of the CompactRIO Developers Guide link below.

    http://www.NI.com/PDF/products/us/fullcriodevguide.PDF

    I hope this helps!

  • TPC-2012 cannot read the shared variable

    Hello

    I have a TPC-2012 and can not read variables shared with him. I welcomed the shared on a cRio-controller Variable. On another PC, the variable is read correctly, but not on the tpc-2012. What can I do? No error message is displayed on the TPC-2012 (Windows CE 5). The PTC can not write values in a shared Variable.

    Thank you

    Christian

    What LabVEIW Touch Panel version do you use? I don't know why static variables do not work correctly on your device. TPC-2012 comes with support preinstalled for shared variables, and it would be possible that it has been deleted or corrupted. Here are some steps you can follow:

    Install the Support of shared Variables
    How do we install the Support of Variables shared on the TPC-2012?

  • Pass a reference to the shared variable

    I use two shared variables in a loop where I write one and read each other.  I need to repeat this loop 5 times, but each loop uses a different pair of shared variables.  These variables are shared between a vi on the computer and a cRio.

    It would be ideal to incorporate this loop into a Subvi where I can pass a reference to the two shared variables in and then read and write in threw these references.  Then I could just call this Subvi 5 times, instead of copying and pasting the loop 5 times.

    Is it possible that I can accomplish this?  I can't find an example that would achieve this.

    Thank you

    If I understand correctly, you can use the mode programmatic access to shared Variables and it would work.

    http://zone.NI.com/reference/en-XX/help/371361H-01/lvconcepts/sv_usingdynvarapi/

    http://zone.NI.com/reference/en-XX/help/371361G-01/lvconcepts/usingdynvarapi/

  • new variable networked shared in my computer, but not in the shared variable engine list

    I have a Variables.lvlib shared on a cRIO target and test algorithms when I don't have access to material cRIO. Thought I could do a new project, add the library to the windows target (workstation). I need to add a few additional variables, I did in the original (i.e., while the library was the target in real time). Then create a new project and added the lvlib to the project (under my computer), and then wrote a VI to write in these SVs. When I let fall a constant Variable Refnum shared on the block diagram and browse for objects variables under 'Variable' Motors > ni.var.psp > localhost > shared Variables, list of variables shows everything except the 6 new variables. When I switch the view 'Current project', I get the same variables for new list WITH THE 6. However if I select the variables in the list and run the VI I get an error-1950679035 impossible to locate the variable in the shared Variable engine. Of course, I forgot something, anyone out there set me straight?

    Thanks for your time - lmd2

    Hello Lawrence,.

    Looks like you'll have to maybe just to deploy the new variables - refer to this document:

    LabVIEW Help: Making static Variables available on a network

    http://zone.NI.com/reference/en-XX/help/371361K-01/lvconcepts/sv_deploying/

    Hope that helps!

  • Embedded FPGA vi - network shared variable not updated

    Hello

    I work with an ethernet RIO 9149 of data acquisition. I use a hybrid programming mode.

    I have a very simple FPGA VI that I downloaded on the flash memory. I used the indicator led to show my VI runs once the power of the RIO. Everything is fine, except that my shared network variables are not updated in the DSM ("no known values" displayed). However when I run the FPGA VI of my laptop, only once then stop and close (with 'interactive execution'), then my shared variables are updated in the DSM.

    Any ideas why is this and how do I get the RIO update automatically shared variables without having to run the VI once?

    Thank you very much.

    Hello

    I did a few tests and research and discovered that it doesn't seem to be possible. It is important to note the difference between Network-Published static (NSPV) and Variables of e/s of Network-Published.

    The other are "user defined variable I/O" to communicate between FPGA and RT (RT absent on chassis Ethernet as the NI 9149) host. If these variables are checked to be published-network (in properties). They are accessible by VI running on the hosts of the same LabVIEW project, so you need to run a VI to access, as you mention. This is explained on the next page, Variable IO data custom FPGA of e/s (real-time Module or Module FPGA):

    https://zone.NI.com/reference/en-XX/help/371361H-01/lvioscanhelp/io_vars/#user_IOV

    I did find a way without a host (host RT or Windows PC) running a VI. If you have a cRIO with RT and NPSV host in the RT VI it is possible.

  • Shared Variable deployment error

    I need to use Variables shared in my code, and when I try to run the code I get the following error.

    My computer deployment
    Ventilation Library.lvlib\\169.254.192.23\Ventilation library of deployment deployment has failed (error:-2147220712, MAX: internal error (Hex 0 x 80040318): the customer has failed to connect on the server configuration, perhaps because the server is too busy or encountered an error of communication.) Note: the steps that you did which led to this error and contact technical support).
    Completed with errors of deployment

    The code was working yesterday with shared variables, but it won't deploy today and I can't imagine any changes that I made to do this. I tried to run the code on my cRIO and the PC. I have used amd 2015 2014 and I get the same error on all.

    Any help with this problem would be great.

    What is the IP 169.254.192.23? It looks like an auto-negotiation-to-peer (e.g., crossover) connection IP or the IP address of your computer on the network?

    Is the library with shared variables located under 'my computer '? If you right click on 'my computer' in the project - he shows here? IP address you think it correct?

    If you check the custom address 'specify' and put 127.0.0.1 (loopback IP address), it works?

    I also look in Windows Services and verify that the shared Variable service (and other services OR that it requires) are running.

  • CompactRIO RT (:-65589) error code: error or warning occurred when writing the following shared Variable)

    Hello

    is anyone know this error Code:-65589?

    This error says:

    Shared in environmental_logger.vi variable
    This error or warning occurred when writing the following shared Variable:
    CompactRIO Target\Mod2\DO1 \\RT
    \\localhost\Mod2\DO1

    My cRIO9073 has 3 modules:

    MOD1: 9203 HAVE,

    MOD2: 9472 DO,

    Mod3: 9265 AO.

    When I delete all States and run only the first "init" State where I put DO0 = true and DO1 = false, I get this error. What could be?

    I think we need more information about your project - you can take a screenshot of your project LabVIEW RT target and the location of the shared variables? What is the configuration of the shared variable? Do you use the cRIO Scan Engine or FPGA (or both?)? How you deploy your library of variables? You should also zip to the top of your project and join, if you can.

    Here are some articles about the possible causes:

    http://digital.NI.com/public.nsf/allkb/C32368835ADAEE19862578500067A8C4

    http://digital.NI.com/public.nsf/allkb/7B52091D2FFA01EC86257C32005DF935

Maybe you are looking for

  • iPad does not load when it is plugged.

    My iPad and iPhone don't charge at all or very slowly when it is plugged into the outlet House or in the car while they are on. They must be turned off in order to load. The battery icon shows that they are in charge. I use a couple of different USB

  • Failed to start NB200

    Hello My NB200 freezing on bios photo from the beginning. There are several discussions about on various forums about people having this issue and nb200 nb205, apparently for the most part bought around August 2009. Some people have suggested 1 - to

  • Page is appearing together to the right instead of being centraised on the screen

    Since Firefox loading screen show off to the right so I'm unable to see the entire page. Other applications I use display correctly so I know that's not my computer.

  • What should I install to control a scanner through a VI

    I have a PXI-5122 card in a chassis SMU-1071 connected to a PC with LabVIEW2014 installed. And it can work under the control panel front of the NOR-SCOPE. Now I would like to taste signals and save them in files repeatly. But I can't find the example

  • Outlook Express 6 folders

    On OE6 with XP SP3, instead of the folder tree in the records column had a button for each folder.  Somehow, I have mansged to lose these and now just the normal tree factorial.  Anyone know how I can get back my buttons?