Shared a Variable trigger

Hello all, I have two projects (one is 64 bit LV, the other is in 32 bit LV) I run by-side on the same machine. The 64-bit project control a camera, and the 32-bit calls code to perform processing. I would like to send a trigger to make the 64-bit program wait until some of the raw data buffers are processed before sending more data for the 32-bit project. Unfortuantely cannot recomplie the code for 64-bit processing.

Is there a good examplse to do? I was thinking about using some kind of shared variable configuration, but I don't really like shared variables.

Thank you

You can send commands via tcp/ip for different processes, e.g.

Shared variable network is probably a little easier, but not much.

/Y

Tags: NI Software

Similar Questions

  • DSC - event trigger for single shared process Variables

    Hello

    I understand how to set up a Notification of change of value for published network Variables shared so that an event fires when this particular shared Variable changes. However, I can't understand how to do the same for the single shared process Variables. Is it still possible? Can someone shed light on this point, please?

    Thanks in advance.

    -James Pham

    VRspace4,

    Hello! It is not possible to activate alarming for unique shared process Variables. A workaround to set up a Notification of change of value would be to create a network shared variable that reads in your Variable single process, but at this point in time, it could be useful that replace your variable with a variable that is shared on a network.

  • Sharing of Variable crashing LabVIEW

    It's just one of those projects that has a wall of brick in each round so far. Two computers running LV2009. Computer A hosted data write sharing Variable. Computer B shared reading Variable data hosts. Reading data is linked to write data. Everything worked fine, and then yesterday afternoon, I don't think I changed anything on the shared variable, I start my VI on the computer B and LV crashes. The VI begins to run before the first performance for reading data, and then poof, everything open in LV disappears. Since then the problem is reproducible 100 percent.

    Here's what I know:

    1. an error indicator hooked to reading data watch-1950679034 (shared Variable has no value) for about a second before the accident. Everything stops execution as soon as the warning.

    2. writing of data is a single editor, but it is also sometimes read in VI it is written in. It is not read when the accident occurred. I can however perform playback on computer A without incident.

    3. don't know if this is related, but if I open the VI on computer B and then open the project, I am not able to drag data reading of the project on the block diagram. I also cannot perform operations on the shared Variable (as right-clicking, ignore the timestamp). I have to close the VI and reopen the project. In retrospect, this problem might have started when I opened the VI without opening the project.

    I'm torn between abandoning the shared Variables and try to understand it. I would definetely prefer to use the Variable shared, mainly because I need a buffering. I guess I can put other things buffer. Don't know if I can remote access to a queue, or...?

    I was able to reproduce the crash that you see with extreme simplicity VI in LabVIEW 2009.  This looks like a bug in LabVIEW, so I'll check if there is any of this behavior already.

  • reconnect the stall network of shared network variables

    I have a cRIO unit communicates with a laptop using shared network Variables, one of them being a table of 21 index which is buffered.

    The system connects and communicates very well, but sometimes the wireless laptop card is to lose the signal from the WAP, attached to the cRIO.

    In this case the network never shared Variables "reconnect" and start to receive values still once the wireless link is restored.  Is this expected behavior?

    When I tried to use other WAP industry instead of the card laptop wireless, I get no abandonment.

    Hello Ryan,

    Please contact National Instruments!  I looked into the problem you are having and I wanted to ask you a few questions more.  First of all, you have a period of time which allows the reconnection?  I believe that the Shared Variables should find the connection after a short period, but it may not be a very quick process.  It may take a few minutes to the Variables shared to reconnect.

    The other thing that could happen is if you have error son being passed by shared Variables, it is possible that the error is not be deleted, and so he will always see the error and not a so never reconnect.  In this case, you will need to filter this error and then clear the error in order to use again shared variables.

    If you have more specific information about your program that can help us to determine the reason for this behavior.  As a screenshot of your code would be useful.  Please let me know if you have any other questions and I'll be happy to help you.  I hope this helps!

  • Shared speed variable notification - separation of GUI

    Hello

    I am developing a LabView application that relies heavily on shared variables to separate the logic of basic software graphic user interface. Some variables are used as triggers, which means they are Boolean values that are controlled by the side Server (core application) for the 'true '. If located, they are reset to false and some actions are executed (as queue a message to a queue internal).

    The attached picture shows a situation where the Boolean trigger control is carried out in a loop. Now, what I've found, is that the same message gets queued several times. The OAS 'Save thermal Calibration' is read in the loop, to false and read in the next iteration of the loop. But apparently, the OAS server is too slow to notify the accessor on the value changed before the next iteration of the loop.

    I met similar behavior on some other posts in the code and until now solved by adding a 'Wait (ms)' for about 200 m, but this feels pretty ugly and I wonder if it could break if at some point the load on the app and the SV server becomes even slower.

    Also, I wonder if there is a way to speed up communication server SV, especially when writing values and inform other accessors of OAS on the changes.

    Published static Variables in the network are slow.  There is no real way around it.  And, Yes, when you enter a value, this value is really in the variable until the NSV Server manages it.  And when the value actually gets sent to the server can be on the order of 100 ms.

    If you talk to another computer, I recommend that you change using a network flow or TCP/IP.  This way you have actual messages, ordering the server what to do.

  • Sharing of variable in window 7

    I have a project to Labview 8.6.1 with a lvlib of 9 shared variable, which are some of the simple basic variables (String, Boolean), but some are of type complex def.

    Project works to the original design of LV 8.6.1.

    I opened in LV 11 SP1f1 and shared variables were not recognized. I added the again. I had bad time see variables for the project and when I had to add the last one everything is ok no problem, I save screws and project project then when I opened to new and high level vi and then complain that the last variable is not part of the project. I added it again, I save again once all the screws are ok, but next time, when I open the project I got the error of the variable not being not part of the project.

    Is something that I'm missing or what I'm doing wrong? See attached my variable in project.

    Thank you

    Virginia

    I again, it's a bug on the top of my head, but after a search, I found a reference here(see 40906). It was a bug reported in LV8.5. I'll inform R & D on this event because it was supposed to be fixed a long time ago.

  • Sharing network Variable not in Distributed System Manager

    I have experience with LocalHost.   I have 2 computers A, B.  A, I can read a created/static SNV of B.  However, I need to use a SNV on A to A (I don't know why, I inherited this project and it is not at all commented).  So I create and I see it on my drive D:\\.  However, when I go to NI DIstributed System Manager, there are no library under localhost.  So I write in a VI and call it in another, and I get "DataSocketRead in VI" with the code 56.  Don't know why I can't have it is the Manager.

    I have attached ahev the library in case something wrong here.

    Have you deployed and right click the shared variable library?

    If it's an executable in the bulder properties you should check to deploy shared variables.

  • Sharing of Variable error-1950679023 in LabVIEW 8.6.1

    Hello

    Is anyone else having problems with this error after installing LabVIEW 8.6.1?

    Programs using variables shared that I wrote (and worked), just in older versions don't seem to work.

    Kind regards

    Sarah

    Hi Sarah,.

    Good afternoon and I hope that your well today.

    Sorry for the delay...

    I've did some more research and found that there is a patch for LabVIEW 8.6.1 and variable - could this be the cause of your faceing...

    Link: http://joule.ni.com/nidu/cds/view/p/lang/en/id/1255

    "This is an update to only LabVIEW 8.6.1 solve a problem when the variable path related is incorrect after variable deployment."

    You don't seem to have proved the issue about outside of your code - I go to the update being installed and not the goal of the solution to reproduce your problem.

    Finally, please run - but do not uninstall! the attached MSIBlast tool. It will list all the packages OR (Packages MSI) installed on the machine. Please note that the list should include,

    Client Variable nor to RT + versions Supprt

    Support for versions + OR motor Variable

    Variable Manager OR

    ... to name a few.

    I would be interested to know if they appear in the list,

    Hope this helps,

  • Sharing of Variables does not not under an FPGA interface?

    Hi all

    I have a controller 9074 cRIO 9074 chassis.

    I defined a number of variables shared under my RIO controller and writing a UI VI in my host PC, where I feed some variables of network shared in RIO and get another return to RIO on the front panel of my host. Naturally, the VI which deals with read/write variable network data to IO channels real is under my RIO controller.

    The problem is that, although everything seems to work fine when my RIO is set to the interface of the Scan Engine, the same screws give the following error message when I pass my RIO FPGA interface dependent.

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Possible reasons:

    CompactRIO: (Hex 0xFFFF0000) unable to communicate with the module. Re-insert the module and check the connections. If the chassis is in Interface FPGA programming mode, make sure that you have opened a FPGA reference bitfile or VI FPGA with the load of the Interface of scanning for the module you are trying to access using the scanning Interface.

    This error or warning occurred when writing the following shared Variable:
    \\AMR-cRIO9074\B1-DO\JCV1_C1_B1
    \\160.40.15.231\B1-DO\JCV1_C1_B1

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Note that I get this error message for each channel of e/s that I call my RIO. Also note that it is there still no reference FPGA currently in any of the screws... I want to solve the problem is because later, I'll have to add some FPGA in my code, so I can not just impersonating my RIO scan interface...

    Any help would be appreciated,

    Harry

    When you disable scanning on the cRIO platform engine, you must have some runing FPGA code.

    There is noway that knows your controller on any module, and he can't read anything from any module.

    If you do not have an FPGA vi, which sends the values of a port of the module on your controller, you need to do active Scan Engine.

    The error message clearly indicate that you must have an open reference FPGA vi or analytical engine to be able to read the values of and to a module.

    You are able to have custom analysis engine and a footstool of FPGA code at the same time on an FPGA.

    Is there a reason you do not run with the scanning engine?

  • Sharing of Variable Timestamp sets TPC-2012

    My code running on a TPC-2012 reads a shared variable that is hosted on a CRio.  The timestamp of the shared variable reading gives me the time of 05:00 even in 1903.

    If I read this same shared variable using software running on a PC vs TPC, I get a timestamp that corresponds to the exact time on the CRio. The CRio therefore publish and update the variable as needed.

    What's up with the PTC?  I'm guessing that the timestamp of reading is not supported on the TPC?  Yes/No?

    Fixed.

    You must read the timestamp AND the actual output variable.  Just read the timestamp will not give you something meaningful.

    I care about the shared Variable data, I just wanted the Richard, he wrote...

  • Sharing of Variables

    I need to share a common variable in my application between different ports of entry. The variable is a simple number that keeps track of the amount of notifications on the homescreen icon. Updates every time that the application background regular increments the count variable that is then used by setValue (count) to view it. The user simon_hain suggested using the singleton and runtimestore approach. I was looking around this method and found a snippet of user Adama:

    Integer i = new Integer(0);
    RuntimeStore.getInstance().put(ID, i);
    i.setValue(7);
    
    //On other module:
    Integer i = (Integer) RuntimeStore.getInstance().get(ID);
    

    My problem is that I still don't know how to properly use this code, I also watched

    http://docs.BlackBerry.com/en/developers/deliverables/17952/CS_creating_a_singleton_by_using_rutnime...

    but I do not know how to implement that in my code. I am trying to increment the variable iconCount which must be kept consistent vicinities of background processes and foreground (i.e. If the user checks the application, notification of alerts will be reset to 0).

    public void setVisible1(boolean visible, int count) {
        if (_indicator != null) {
            if (visible) {
                _indicator.setVisible(true);
                _indicator.setValue(++count);   //incrementing count
                UserInterface.iconCount++;      // also trying here
            } else {
                _indicator.setVisible(false);
            }
        }
    }
    

    With the help of RuntimeStore.getInstance () .put (GUID, countsIcon); in my class UserInterface creates errors probably because I use it wrong or not in the right place.

    Once again thanks for any help.

    Here is a way.

    Here's the class from the link you provided before:

    Net.rim.device.api.system import. *;

    Class MySingleton {}
    private static MySingleton _instance;
    private static final long GUID = 0xab4dd61c5d004c18L;

    constructor
    {MySingleton()}

    public static MySingleton getInstance() {}
    If (_instance == null) {}
    _instance = (MySingleton) RuntimeStore.getRuntimeStore () .get (GUID);
    If (_instance == null) {}
    Singleton MySingleton = new MySingleton();

    RuntimeStore.getRuntimeStore () .put (GUID, singleton);
    _instance = singleton;
    }
    }

    return _instance;

    }
    }

    Change this, so tjhat

    (a) there is a get and Set accessor for the variable you want.

    (b) the constructor creates an intiial value for the variable.

    Now you will use in your code

    MySingleton mysingleton = MySingleton.getInstance ();

    myIconCount mysingleton =. getIconCount();

    To change

    MySingleton mysingleton = MySingleton.getInstance ();

    mysingleton .setIconCount (myIconCount);

    Look at this, to look again at the Singleton class and review the link you rpvoided.  Yo must now understand h: to create a Unique ID for you to use, but I'm sure that you can search for it.

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

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

  • How to control the value of a variable that is shared at the beginning of the vi

    Hi all

    In short: How can I make sure the values of the variables shared at the start of a vi?

    I have two vi.

    One is a main vi where did I order a shared Boolean variable "run DAQ".

    The other is a vi with a while loop that "polls" for the shared variable "Execute DAQ", which is connected to a box Structure. If the case is false, it does nothing, if it is true is short some simple IO DAQ within a while loop.

    To be sure that at the beginning of the vi the variable 'Execute DAQ' shared value false (no matter what 'State' the shared variable was left in front of the vi began) I write a Boolean constant to this shared variable 'Execute DAQ' out of hand while loop.

    Now my question: how is it possible that the case structure can enter into the 'True' State, even when main vi is not executed and there is therefore no way of the shared variable can be written in. I know that shared variables are stored in memory, but that's why I write it to false at the beginning of the vi.

    Even when I read the first shared variable before you change it with a constant False the second instance of the shared variable that is wired to the case structure bed to True.
    It seems to me that the shared variables do not follow the 'right' of the dependence of LabView and are updated outside the normal flow of the vi.

    Thanks for your time and advise on this.

    JackT wrote:

    Someone knows another way around this?

    Yes.  Do not use them.

    If you not post on a network, use a normal Global Variable or use a queue, the user event, stating to send commands indicating loops for updating their values.

    If on a network, then I recommend the network stream to send commands/data back with updates.  I used shared variables, more I hate them.

  • Question about different types of shared variables

    Hello

    I'm trying to use shared variables to pass data between several screws but I do not understand the types. Like, what is the difference between unique process and publish shared network variable?  Also between absolute and relative target.

    I've been thorugh all the post, PDF files, and links. But everything seems vague, at least for me. Anyone can share ideas in a simple way? I mean the absolute basics. What I'm trying to do is move some data to host VI to myRIO VI.

    (I won't use the global variable because I might need to transfer data over the network in the future.)

    Thank you.

    Absolute run on the target in which you created the shared variable.  So if you created on your myRIO, then everyone should point towards the myRIO to access this variable.

    The target always connects to the variable on the target your VI is running.  Target-parent can only connect to the variables on the same target.  So if you put the variable on the myRIO, your host will not be able to access.

    So in conclusion: you want a variable absolute shared on the network.

Maybe you are looking for