(correct) different behavior when a shared variable IO node is replaced with programming

I work with the following system:

LV2010 running in Windows 7 and a cRIO-9073

My RT and FPGA code is generated and deployed.  I have a pair of variables published network hosted and deployed on the cRIO.  I wrote a simple application for my PC save variables of network in the disc.  The vi running on my PC uses the variables nodes that were driven from the project window and are configured as "absolute".  When I run this logging vi he told me that variables are part of a startup RT application and the system must be restarted.  It makes no sense to me - they are hosted and already deployed on the cRIO.

When I right click on both variable nodes and replace them with "programmatic access" (and do NOTHING ELSE), I can run this VI without any problem.  It "clearly a bug here or I don't use node IO variable shared properly."  Any ideas?

Thank you!

Ethan

In your project, right-click on desktop and select 'Disable Autodeploy Variables'

Tags: NI Software

Similar Questions

  • Network of ESXi - different behavior when installing adapter

    Hi Experts,

    I came across a strange problem on the network adapters section:

    • I was installing the ESXi 5.5 in a standalone Machine (re-usable)
    • When installing, it showed me the error on non detected network cards and I checked the compatibility of the guide and found that it was not a supported network card.
    • Then I installed 'VMware Workstation 10' on the same machine on the host operating system
    • I have created a virtual machine and tried to install 'ESXi' inside the virtual machine [just for curiosity\
    • He installed perfactly without error / warning (s).

    My concern is 'how and why ESXi comes with two different behaviors between installation Metel naked Machine v/s install inside a virtual machine on the same physical host.

    Thanks for your response in advance and I apologize if I am not able to present the screenplay with clarity.

    -Kuldeep Singh

    Under vmware workstation, the virtualized esxi uses the virtual NIC (probably E1000) driver, which is supported.  The host operating system uses its own realtek driver.

    When you try to run ESXi on bare metal, it doesn't have a realtek driver, if it fails.

    It is a driver problem.

  • Different behavior when various Exceptions is applied

    Hi all:

    I wrote a class analysis and extraction of font properties, which uses Apache FontBox.

    Here's the thing: when FontBox analyzes a font, if it does not recognize its format, it throws a FontFormatException.

    In my code, a list of the fonts in the system directory is iterated, within which I surround the part analysis of fonts with try-catch block, if fishing is
    catch(FontFormatException e){e.printStackTrace();} 
    the whole iteration stops when an exception occurs and the application exits; However, when the plug is
    catch(Exception e){e.printStackTrace();}
    While it is still State of emergency, the iteration Won't stop - he just jump worth to the other.

    I must have missed some point of knowledge regarding the management of exceptions.

    Please inform me.

    Thank you, John

    Johnny_hunter wrote:
    the whole iteration stops when an exception occurs and the application closes.

    No it's not. As jverd, that takes place only if the exception is NOT a FontFormatExceptionhas said.

    BTW, if you want a thrown exception, even when he is intercepted by a catch block, it must rise again , namely:

    ...
    catch(SomeException e) {
       // do some stuff
       throw e;
    }
    

    However, in the case of your example above, it's pretty useless, since when the program fails it will usually print stacktrace anyway.

    Winston

  • Behavior of the instance variable private & Final while working with reflection

    Using reflection, I am able to successfully access the private members of the class A suite help extract:
    package com.test;
    
    public class A {
    
         
         private int _count = 0;
         public A() {
              
         }
         
         public void setCount(int count) {
              if ( count < 0){
                   System.err.println("Value must be positive.");
                   return;
              }
              _count = count;
         }
         
         public int getCount() {
              return _count;
         }
         
    }
    package com.test;
    
    import java.lang.reflect.Field;
    
    public class MainClass {
    
         private static Field f = null;
         A a  = null;
         static {
              try {
                   
                   f = A.class.getDeclaredField("_count");
                   if ( f != null)
                        f.setAccessible(true);
                   
              } catch (NoSuchFieldException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (SecurityException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              }
              
         }
         
         
         public MainClass() {
              
              a = new A();
              
              if ( f != null ) {
                   try {
                        f.set(a, -99);
                   } catch (IllegalArgumentException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                   } catch (IllegalAccessException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                   }
              }
              
         }
         
         public void printCount() {
              
              System.out.println("Total Count : " + a.getCount());
              
         }
         
         public static void main(String[] args) {
              
         
              MainClass cls = new MainClass();
              cls.printCount();
              
              
         }
         
    }
    The above code works fine, but when I tried the same thing with the class provided as java.lang.String and tried access private member of this one, he threw an exception to access. If access can be restricted by setting SecurityManager I've tried in my case also and worked, but also in java.lang.String, I was unable to find any implementation for the SecurityManager who refused access to private members, then how is it that I'm not able to access by using reflection?

    Also in the same example above, when I did a final variable _count, and tried changing the value by using reflection, that he did not throw any exception when running, but don't not change either value.

    Appreciate any help on the improvement of the understanding on this.

    Thanks in advance.

    I gave it a try with Java 1.7.0_21 - b11.

    import java.lang.reflect.*;
    
    class Y {
         public static void main(String[] args) throws Exception {
              String s = "123";
              System.out.println(s);
              Field stringValue = String.class.getDeclaredField("value");
              stringValue.setAccessible(true);
                    //stringValue.set(s, "321");
              stringValue.set(s, new char[]{'3', '2', '1'});
              System.out.println(s);
         }
    }
    

    Output:

    123
    321
    

    Jtahlborn is right and your code may not agree. You may have seen:

    Exception in thread "main" java.lang.IllegalArgumentException: Can not set final [C field java.lang.String.value to java.lang.String
            at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
            at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
            at sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.set(Unknown Source)
            at java.lang.reflect.Field.set(Unknown Source)
            at Y.main(Y.java:8)
    

    What is happening with the commented line.

    Published by: baftos on May 16, 2013 15:07

  • How to turn RT FIFO on a shared variable for custom control

    I try to get my shared variables behave: update when I tell them of and only update once. It's the sort of 2 separate problems. Update only once should be fixed by activating RT FIFO on the shared variable. However, if you create a shared variable by using a custom control (because your data type is not available on the menu drop-down), allowing RT FIFO is not available. Why is this? Will there be an another GUARANTEED way to do this?

    Description of my goal: after having many problems with a large scale of my real-time program version, I started from scratch. My program is that the bases in order to send a signal to my goal of running on a few D/A channels, then return the data that I read A/D channels to ensure that the waveform has the same appearance. In addition, the program should be able to repeat this process without having to reboot.

    -Host is a state machine with: initialize - reset variable, check that the UI events - start target, target stop and end program, send data - to create 2 waveforms and send it to the target using the variable "data entry" (table 2D-double), data Get shared - read the entire waveform on the different channels after it ran using the shared variable "all data output" (table 2D-double) , Write to the file - (does nothing), stop - program ends.

    -Target is a loop with 2 States inside: false - target does nothing as he waits to be the host to say 'Start', True - target Gets the shared variable input data, runs on 2 D/A channels and reads the equivalent A/D channels to make sure the waveform actually ran as expected. This happens in a deterministic loop with a non-deterministic loop waiting for the command "Stop" on the host. After the written entry, the D/A signals stop and playback of signals/a. are placed in a 2D array and sent to the host via a variable shared, "all the output data".

    -J' tried to put "all the data output" in a while loop which must reiterate if he does not obtain data in the specified time-out period. I also removed the while loop but kept the specified time-out period. In both cases, data are collected twice!

    -Without specifying a time-out, the host never gets data updates "all output data" before he goes into another State.

    Summary: I need update they once when I asked to a my shared variables. I think that my program is about as simple as you can get, so I'm surprised to see why he is currently not completely reliable.

    (I have attached the vi host, target the vi and variable)

    Hi FireIce,

    To answer your questions:

    1 RT FIFOs are supported data types can be pre-allocated space. This is to keep the determinism on the RT system.

    2. reading of the variable in the loop and have the chart outside the while loop will only show the last value of the shared variable, showing actually only a single reading. Then if it works for you, it will give the same result.

    Looks like you have network buffering enabled on your shared variables. Is this true? Shared variables must always have a value, and so it will continue to contain old data to the new data is written to it. If you have buffering enabled network, new data can be added after the former, which actually look like you read the old data twice before getting the new.

  • 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

  • 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.

  • VI refuses to run when the published network shared variable is not available

    I have a VI of logging data on my PC that gathers data from several sources, including several shared variable published network hosted on an RT target.

    The problem I have is that the data logger VI refuses to start if the target RT is disabled and the VI is abandoned if the network connection is interrupted.

    Is there an easy way to detect when running, be published these variable network are available and use a placeholder value, if they are not rather than the current behavior of refusing to work?

    I saw many people using data sockets, but I try to avoid the overhead of setting up and testing a loop of treatment relatively complex network on both ends when the network has published shared variables are so simple to use and works perfectly as this abnormal behavior.

    You can replace them with programmatic access (shared variable aperture and friends) and the dummy data placeholders if the variable is not accessible.

  • Problems with deployment of network shared on windows PC when installing INSTALLER variables

    Hello

    I'm using LabVIEW 2014 on Windows 7. I have a project that is developed to be a client GUI (192.168.1.208). The GUI communicates with an application of RT (192.168.1.206) running on LV RT OS and both are connected to a network. The NSV (shared network variables) are housed next to the RT (SVs is on RT/demand side project). This part (communication and everything) works very well.

    Now another part is recording data. Why NSV (hosted in the GUI project) are used for strings of communincate (events with the data) to a computer running the registration of data on this PC (192.168.1.208) server. Please note here, currently same PC (192.168.1.208) was used for recording the data server implementation, but later, there may be a new PC that's why NSV is used. I gave this information in case there may be no problem (chances are though).

    I created an application (*.exe) and the project GUI installation program. Saving data to the PC (192.168.1.208) if I use one of the options-project/*.exe/installer works supposed. but when I try to install this Setup program on another PC on the network which has no service OR installed gives following error during installation:

    Deployment deployment failed shared Variables.lvlib\\192.168.1.109\Shared Variables (error:-1967362042, operating system and Network Services: (Hex 0x8ABC7006) could not start service.).

    I have tried almost all the variations in the construction of Installer and .exe for it, but couldn't get rid of this error.

    I also want to know how would be a PC not having not OR services/programs installed would host OR shared Variable engine. Although application of the runtime in the application, we give option while building the .exe. But not for the EVS.

    I lost several weeks on this issue of emergency assistance would be much appreciated.

    Thank you.

    If you uncheck the option "selection auto installers" in installer build specification, it should give you the full list of installers, you can include. It's a little weird that it has not detected the requirement of NSV, however.

    I think you make you life difficult for yourself by trying to do a few odd handshakes with strings/NSV - NSV is 'tag' data - they are good for the reading of the last value of a variable/signal. If you want to send messages around - stream, network - there is even something like reference e-mail Simple (STM) library - http://www.ni.com/example/27739/en/

  • 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

  • SQL and shared Variable communication failure when you run an .exe application

    Salvation OR engineers,

    I'm faced with a problem. I have already tried almost everything under my bottom to solve, but I just couldn't get over it.

    I have a VI on my PC accessing a SQL database via the connection string and some share of variables in a server. Both shared variables and the SQL database are on the same server. There is a firewall between this server and my PC and the server is located in a DMZ environment.

    Design Labview environment, everything works fine. Even when I run the .exe on this computer file, everything works fine. But, when I created an application and install it on another computer, it just doesn't work.

    I'm using Labview 2013.

    Someone of you can help me with this bug?

    Thanks in advance!

    Hello world

    Back to share with you the solution:

    The problem was with the "SQL Native Client". Windows 7 doesn't have it as a default installation, if the application could not find the OLE DB provider for ODBC drivers. After installation, the connection has been established.

    As the server was within a demilitarized zone, I had to open some specific ports as follows:

    UDP/1434

    TCP / / 2343,49163

    59110-59115

    In fact, I have not experienced problems with the OAS. The error was generated when you try to connect to the database and sent to the rest of the code through the cluster of the error.

    Thanks for the support!

    Best regards to everyone.

    Luiz

  • Shared variable refuses to deploy correctly!

    My problem looks like one that has been met before, but without good answers on the documents OR or the forums. When you try to run a VI that deploys shared variables, I get an error that the shared variable engine was not found. This seems to be almost at random, because I was able to deploy perfectly shared variables. He could have when I rebooted my computer this problem started to occur.

    I tried to disable the firewall, which had no effect. LabVIEW 2009 reports the following when I try to start my VI:

    "LabVIEW: (Hex 0x8BBB0005) Impossible to locate the variable in the shared Variable engine."  Deployment of this variable may have failed.

    This error or warning occurred when writing the following shared Variable:
    \\.\fake_data\flow_sh
    \\.\fake_data\flow_sh".

    I will include all relevant files so that you can see exactly what I'm doing. The purpose of the fake_data program is just to practice using shared variables, very simple. Thanks for any idea that you can offer!

    my shared variables work once again, I just open cmd.exe and typed:

    net stop "national instruments variable motor.

    followed by

    net start "national instruments variable motor.

  • shared variables stops when I use RT Set date and time.vi

    Hi all

    I have a problem that I can't solve. I run a project of RT on a PXI-8106 module using LV8.5. I used shared Variables to transfer data to and from my host computer for about 6 months with no problems. Recently I neeeded to the synchronization time RT with my host PC of time (to collect time-stamped data of the target RT) and I decided to use the "RT set time and Date.vi ' both before the beginning of each synchronization test.

    As soon as I started using this vi, I noticed that my shared variables would either stop updating, or slow down considerably (this includes loss of data during the transfer of data between the PXI to host PC with shared variable). I do not receive any errors or warnings from any of my shared variables, and no errors are generated when using the RT set time and Date vi, so im at a loss for where to start. Ive disabled this feature for now and my system works well again, but I want to get this to work because the timestamps generated in the data by the RT system are out and I need a method to synchronize the time with the host pc.
    Any ideas would be appreciated,

    Thank you

    David

    Thanks for the info. I'll avoid upgrading to 8.5.1 at the moment so I'll just remove the VI. Instead, I create a 'elapsed time' timestamp which should do the job.

    See you soon,.

    David

  • "Not a valid error code" when you create a shared variable of data type custom

    I am trying to create a shared variable with a data type of a 2d double table. I created a custom control that contains a table with a numeric type for this 2d. Manager of distributed system v12 I select 'add a variable', then select 'of the custom control. Once select my control I get the following error: "invalid data type. You want to choose a different data type. Any advice as to why it doesn't work? Thank you.

    This seems to be recorded in the CAR #405941.  All this is a bit strange, but I'll try better possible workaround solutions I can.  I tested a large number of these myself, and here is what I found.

    1. make sure that the custom control you did was created in 2012 of LabVIEW or you save it in an earlier version.  If you save on an earlier version, you may also open the .ctl in LabVIEW 2012 and resave it (I needed to do).  I tried to create my own control in 2012, as well as save the control to a previous version, the two worked, but I don't end up with the same result (I don't understand this, but I wanted to mention it so that you know).

    2. it seems that you are able to make the variable shared by program by modifying the example of the community to adapt to your needs.  If you do not need to create many variables it may be the best option if it works for you.

    I would also try adding the variable of the LabVIEW project, you are working on that.  It wasn't a direct troubleshooting step but there are several ways of doing things in LabVIEW and, sometimes, one of them is working while the other does not.

    Edit: Example of community is here https://decibel.ni.com/content/docs/DOC-16863

  • Different behavior on the eyes; layer names are correct?

    Different behavior on the eyes; scales up and down, left right behaves as expected. All layer names are correct in artificial intelligence. Where to find a solution?Ai_layers_different_eye_behaviors.JPG

    Hmm, the sent JPG seems to be broken.

    But here's a place to look: in the Panel of the puppet, with no layers selected, you should see the behavior of face in the properties panel. Twirl in the group "Handles" to see what parts of the face it found. It shows the layers that you expect to find? (ToolTips will tell you what he's looking for.) Twirl down replacements also to see the layers of flashing. Note that if it does not find a layer of Blink for a certain look, it dimensionnera the eye that you close the eye rather than go to the work of replacement blink.

Maybe you are looking for

  • Notes to close unexpectedly on the Sierra of MacBook Pro retina

    I can't open my Notes on Sierra MacBook Pro retina. I got this error after autoQuit "notes close unexpectedly". Any suggestions? Thank you.

  • Installation

    Hi icwant try Firefox but where do I go to install

  • Apps and Safari crashes

    Whenever I try to connect with my users in my apps and Safari, nothing happens! I tried to restart my iPhone, but it happens again every time. Can someone help me please?

  • Need new battery for Tecra R840-10Z

    Hello Suddenly the battery came upward with the sign where it is no longer his load, so how do I get a spare battery? I'm still under warranty then, how can I contact Toshiba for a replacement?

  • Error200014 with the digital measurement

    Hello I'm trying to measure the frequency of an entry on my 6034E card digital camera, but I need a filtering/disable-bouncing that is not available in hardware. I've attached a screenshot of the approach I've taken (which can be totally wrong - I do