variable shared unique process - build executable

I have two applications on the same computer. Single process variable using shared with both applications. When generating executable writer updates the shared variable but the VI read the shared variable does not read the values. The question is only when you create and run executable files. How to build two executables on the same computer (and both are in the same project) using shared variables unique process?

The use of the network shared variable is not necessary that both applications are on the same computer but when building executable with network shared variable that it works, only the shared variable unique process does not work?

TIA

Only shared process Variables work in the same application context.  When you are developing and the two screws are in the same project, they are in the same application context.  But two executables will be different application context.  So to communicate between two executables, you use shared network variables.

Tags: NI Software

Similar Questions

  • Variables of unique process and EVS?

    Hello

    I used variable shared unique process and shared network variables in a project with a host PC and a cRIO.

    Is it possible to host the variable engine shared on the PC and still have the cRIO using process variables unique shared when the PC is turned off, and therefore the EVS is not available?

    Reading the documentation, I think it's okay, but I don't know, I'd check myself but the cRIO isn't available .

    Thank you very much

    Steve.

    Hello Steve,.

    Here is a link to a KB which has a note that a shared variable unique process does not use the Shared variable engine.

    http://digital.NI.com/public.nsf/allkb/1F45A4298B976F4A86257168006EA0C3?OpenDocument

    The reason is that it would add additional overhead to the application.

    One thing to remember of thought, it is that when the VI on the cRIO comes to use a shared variable of the network and the engine is not available this VI will throw an error.

    With respect,

  • Global variables or shared unique process variables?

    Normal
    0
    21

    fake
    fake
    fake

    MicrosoftInternetExplorer4

    / * Style definitions * /.
    table. MsoNormalTable
    {mso-style-name: "Table Normal";}
    MSO-knew-rowband-size: 0;
    MSO-knew-colband-size: 0;
    MSO-style - noshow:yes;
    "mso-style-parent:" ";" "
    MSO-padding-alt: 0 cm 0 cm 5.4pt 5.4pt;
    MSO-para-margin: 0 cm;
    MSO-para-margin-bottom: .0001pt;
    MSO-pagination: widow-orphan;
    do-size: 10.0pt;
    do-family: "Times New Roman";
    MSO-ansi-language: #0400;
    mso-fareast-language: #0400;
    mso-bidi-language: #0400 ;}

    Given that the
    introduction of shared variables, whenever I needed a global variable, I have
    use shared unique process variables. But I started now return to
    using the old global variable because I think that there are some significant drawbacks
    to the single shared variable. Here is the ability to search for
    case of variables and also the ability to view or change the value of
    the variable (OK, we have the variable Manager, but I found slow and)
    unstable). My question is, are there reasons to use the new single
    process variable actions on old global variables?

    Dear Terje,

    As you use only the variables on a single system. There is no advantage to the use of unique process shared on Globals variables.

    Infact a global variable uses a little less processing power that a global variable as the implementation of a shared variable single-pocess effect is a global variable with the timestamp feature.
    If you use a shared variable single process, if you don't need the timestamp feature, then disable it to use less processing power.

  • LV/CVI how can I access variables 'unique process' shared by his name?

    LabviewCVI 9.0, how can I access a variable shared 'unique process' by his name?

    Hi jenstl,

    If you are referring to a LabVIEW shared variable project unique process, then I don't think that you can access it (directly) from the CVI. As its name suggests, the variable is related to a single process, i.e., LabVIEW.

    If you want to share a variable between LabVIEW and CVI, you could try a shared Variable of published network. Not only is it really easy to convert a process unique to a network shared Variable shared Variable, but there is also an example on their share between LabVIEW and CVI.

    Community: CVI and LabVIEW shared Variables published network

    For more information on Variables shared:

    Developer Zone tutorial: use the LabVIEW shared Variable

    Also, I originally said that you cannot use a single shared Variable directly from the ICB process. I added the 'directly' in there because in all likelihood, you might happen to a (potentially convoluted) workaround involving the use of ActiveX to call the LabVIEW ActiveX Server and communicate to the Variable shared in this way.

    Hope that helps!

  • How a shared single process variable be FIFO and single element?

    How a variable shared unique process can we both FIFO and the only element at the same time?

    I read the NOR recommended for communication between a loop deterministic and non-deterministic loop.  He is said to use SVariable ingle-process Shared FIFO and single element.  OK I can't have something... because in my mind these two things must be mutually exclusive.  How do you have a single item 1?

    What 'RT FIFO activé' means, that when you use the variables shared in a timed loop it actually is written to a RT FIFO created automatically.

    The key here is that generally shared variables are shared resources and can add jitter to deterministic tasks if another loop uses the variable at the same time as your loop of deterministic.

    So here's the takeaway, when shared with RT FIFO active Variables using:

    • Normal loops read and write the shared variable in the same way as they always do.

    • Call loops read and write a FIFO RT rather

      • The data is automatically passed between the RT FIFOs and shared in a nondeterministic loop variable

    RT FIFOs exist because their architecture referred to as non-blocking so that when the timed loop trying to access it is guaranteed immediate access to a memory space.

    Does that answer your question?

  • Use of Variables shared with RT-project / home-VI

    Hi all

    I have a small question which is certainly easy to answer for those who have already worked with a RT - VI containing two periods loops and a user interface that is deployed on a host PC.

    Q: is there an advantage to the data acquisition in the urgent loop by using a variable shared unique process (active FIFO) and then through the data on the host computer the nondeterministic loop simply through a shared network-published (new FIFO active) variable that directly passes the data on the host PC?

    Thanks in advance,

    David

    Hi Kolibri,

    The advantage of having the network publishes the variables in your non-deterministic loop as opposed to the evanescent loop is that it reduces the resources needed to perform the evanescent loop.

    Send the data to a different loop in the same program with unique shared variable or process with RT FIFOs requires fewer resources than to send data over the network. This allows the loop of high priority execute more deterministic way, without having to manage communication networks.

    Kind regards

    Stephen S.

  • deploy programmatically variable shared within the standalone version of RT (cRIO-9014)

    Hello

    I have a question about here to use variables shared single process within the standalone version of RT for the cRIO-9014

    I simplified my request of LV (LV2010) in two to test the use of shared variables.  See the attached file.

    (1) only run on the host PC: testHost
    (2) only works on the cRIO-9014: testRTcRIO

    for both, I packed stand-alone executable and source distribution.

    for testHost,.
    (a). I copied \builds\testcRIO\Host to d:/or-rt/xmlrpcFEU source Distribution...
    (b) I run... \builds\testcRIO\Host.exe
    (c) xmlrpcFEUlog - host.txt is generated.

    for testRTcRIO,.
    (a) .d FileZilla to connect to the target of RT on network, I copied... \builds\testcRIO\Source Distribution\c\ni - rt\xmlrpcFEU

    to/or-rt/xmlrpcFEU on the target of RT
    (b) I copied also... \builds\testcRIO\Real-Time Application\c\ni - rt\startup to/or-rt/startup on the target of RT
    (c) Max, I restarted the cRIO-9014.
    (d) xmlrpcFEUlog - RT.txt is generated.

    We see that the shared variable does not work inside the RT target. but worked well on PC. the deployment programmatically method does not work.  any suggestion?

    Another thing is:
    can I use telnet for the RT 9014 target and start the RT app directly? What is the command inside the terminal telnet RT?

    Currently, I can telnet into the cRIO-9014, but, what I can do with it?

    ================
    220-national Instruments FTP
    220 service Ready

    530 journal please with USER and PASS
    USER
    331 user name okay, need password
    PASS
    230 user logged
    Help
    211 - USER PASS ACCT STRU TYPE
    211-MODE CWD XCWD PWD XPWD
    211 CDUP XCUP PASV, RETR, REST
    211-PORT LIST NLST QUIT SYSTEM
    211 STAT HELP NOOP STOR, APPE
    211 STOU HELLO MKD XMKD RMD
    211 XRMD DELE, RNFR TRAVEL SIZE
    211 MDTM
    ===========================

    Concerning

    Xiaofeng


  • How can I configure the variables shared between executables created in sepparate projects

    Hello

    I have several projects sepparate with their own respective executable files and I would like to be able to these executables to all share the same variable (one program control the value of the variable, while others read her).

    I got this configuration to work on my home computer (being able to access the variable Manager, etc.), but I need to deploy these executables on different computers that do not have the labview development program. What should I do so that I am able to put these executables on any computer (I guess I have to configure a path to the shared variable which is always in the same folder, etc.)

    Thank you

    Vlad

    Hi Vlad,

    I think that this article may answer some of your questions about the variables shared in deployed applications.

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

    Looks like you already have your executables built, but this article may answer some questions about their deployment to other machines.

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

  • Shared variable of subjects with the executable in real-time

    We have a PXi target running Labview time real 8.5 and we use a series of shared variables for communication between the target and the client software. The code was developed (and used) in the last 2 years, and presented no problems with the shared variables when they are deployed since the Project Explorer (for the target and the laptop based client software). However, when you try to run an executable version on the system time PXI real target of exactly the same engine code variable shared seems to fail during the initial loading. Since it is an executable, it is difficult to display errors, but it seems that the accident occurred at the beginning of the program when we try to initialize a number of shared variables. Sometimes it loads but probably only 10% of the time. When you plug the tool to debug for code and restarting the executable, runs without any problem. However, once we managed to capture and error (error-1950678982 the shared variable client side read buffer is full).

    I checked a number of messages in the Knowledge Base (e.g. how to deploy Variables of a compiled executable shared network?), but it still has not solved the problem. Thoughts and suggestions?

    Adrian

    I tested it for a few hours now and I can't make it fail again. The big difference in my implementation was to use your suggestion, and no wire the error cluster through the method since the error it generates caused a number of questions later. So let me summarize the final configuration that seems to work then:

    -during the execution and executable on a target time real 8.5, startup not connected to a client. Library of shared variable hosted on the target and should load by itself.

    -J' added a flat structure sequence on the vi 'main' (top of page vi executable) with a node (as shown above) Invoke method in the first structure with a timer to 10 seconds and the rest of the code in the second part of the structure. The shared variable library has been copied to the target in a data directory and the path provided to the method (the same way as above) and the IP address is that of the target.

    I discovered that it takes about 8-9 seconds for the shared variable engine and library to start (I don't remember is that past exactly that) and it is important to wait this time to initialize shared variables or the behavior is unpredictable. The method always generates the error 1043 (function not supported) but I simply ignore it now, and it seems to work.

    Thanks for your help! I will let you know if there is some instability in the future, but everything looks good from here.

  • Deployment of local variables shared on a real-time target

    Hello everyone, once again

    I read more posts and knowledge base articles about this topic than I can count at this point, and I'm scared, I'm still not clear on exactly how it works, and I hope that someone can delete it for me, if it is to earn themselves some laurels more.

    I have a project with a real-time quote and the other Windows.  They shared communication via network-published variables.  The real-time part also uses shared single process variables to communicate between the loops.  I have the intention of all 3 libraries of shared variables (Windows-> RT, RT-> Windows and RT Local) to be hosted on RT target for reliability.  Real-time executable must start at startup and run even if side Windows is not started (on the side of Windows is optional).

    I realized that real-time executable will not start the variable engine shared and/or deploy itself shared variables.  I also read that I can't deploy the shared variables programmatically from the side of RT.  This leaves only two options that I know of:

    (1) their deployment programmatically in Windows-side program.

    (2) deploying the shared variables on the target RT manually via the project in the LabVIEW development environment, and

    About option 1, as I said running Windows is supposed to be optional, so you have to run a program on the Windows side before the side RT will work is highly undesirable.  Moreover, even if I do a little "Deploy shared variable" application that runs at Windows startup, I can't guarantee that it will work before start of the side RT executable will run.  In this case, the executable file RT will fail due to not having the variable engine shared running?  If so, and side Windows, and then starts the engine / deploys the shared variables, the side RT begins to work automatically?  If not, is it possible to trigger this restart of the Windows startup application side?

    Also, I just read everything and tried the option to build to deploy variables shared in the application of the side Windows.  Not only that my RT shared Local Library variables not listed as an option (given that the application of the side Windows does refer to it in all for obvious reasons), but when it deployed two other libraries at startup, the program side of RT (which was running in the development environment) stopped.  I'm not positive that would happen even if he was running like a real executable file, but it is certainly enough to make me nervous.  I assumed that the library is not listed may be resolved by including a variable network-a published in the local library of RT and including the app side Windows.

    About option 2, I don't understand how I'm supposed to deploy my libraries shared variables without stopping the execution of the startup on the target real-time application.  Once I did, the only way to restart the application of the RT is to restart the computer RT, correct?  In this case, I just undid all the interest to deploy the shared variable libraries?  Unless libraries remain deployed and variable motor shared running even after restarting the computer of RT, which would solve the problem I guess.  Certainly, I would like to know if this is the case.

    However, option 2 is complicated by the fact that when I manually right-click on any of my shared variables libraries and select "Deploy" or 'Deploy all', libraries still do not appear in the Manager of the distributed systems, even after clicking Refresh several times, on the local system or the target system.  The only thing that shows up, on both sides, is the Group of 'System', with FieldPoint, etc. in it.  The same is true when I run my application in real-time in the development environment, even if the shared variables are clearly working, as I mentioned earlier.

    So, if you have done so far through this mammoth post, thanks!  I have three main questions:

    (1) are that all my descriptions above correct in what concerns the variables how work sharing?

    (2) what is the best way to meet the requirements I have described above for my project?

    (3) why shared variables libraries not appearing in my manager of distributed systems?

    Thanks for any help you can give on any of these three questions!

    -Joe

    1. Yes, as soon as you deploy the project the NSV is tranactional.  EVS is loaded by MAX when you configure the RT target and begin to operate as part of the boot sequence.

    2. you can see anything on your target rt in the DSM?

    3. Yes, NSV and EVS are persistent resets.

  • Change the target of the library Variable shared by program

    I have a project in real time with the code that runs on a host PC and a cRIO who communicate using a library of shared on the cRIO variables. I am hosting the variables on the cRIO because who has worked much better than the accommodation on the host PC. For normal operation, this structure works perfectly.

    However, I'm now trying to implement a system that will allow the user to choose if they want to actually run the code on the cRIO or run a simulated system. The simulated system would occur on the host PC, so it is logical for this application for variables to be located on the host PC.

    To account for these two cases, I would change the target of the variable shared library depending on whether the real-time system is running or if the simuation is executed. I can do easily manually simply by dragging the library in the Project Explorer, but prefer to automate this process.

    In short, I try to develop a code that will change the target of a shared library of variable.

    I tried to do that by opening a reference to the project file, using the properties to get the library reference and change the target. However, the target property is read-only. Is there another way to do this or I'm stuck having to do it manually?

    It turns out that I had a version of the shared library Variable on the cRIO, so even when I welcomed the variables shared on the host PC, he always wrote in the cRIO. In fixing this issue, I have been able to accommodate the library on the host PC and get all what to run much more simply.

  • Using variables shared between the different versions of labview

    Hello

    I look at the use of variables shared between two different versions of LabVIEW. We have a 2 of the PXI system and a single PC. We are currently updating the code on the PXI system to 2014, but the PC still work 8.2.1. We now need a map of ARINC-429, which is executed only 2009 +, that is why we are to day. First tests show that shared variables do not communicate between the two. I think that the reason may be that the PXI running the version of variable motor 2014 shared, while the PC is running 8.2.1, but I don't know if it is precisely for this reason it does not work. Is there a way to communicate between two different versions of LabVIEW with shared Variables?

    Thank you!

    SOLUTION

    There are two key elements in the process of installing software that are essential for PXI to communicate with another version of LabVIEW: Legacy Server Support Variable and Variable Support of Legacy Protocol. The first, in charge of the Protocol, was automatically installed through the selection of the other ingredients (although I do not know which triggered its installation). The second has been nested in the Protocol, but was not selected automatically.

    The Protocol allows the PXI 2014 connect to shared variables hosted by devices 8.6 or an earlier versions, while the server allows before 2009 devices to communicate to shared variables hosted on PXI of 2014 (which was the initial problem)!

  • variable sharing, missing data, the timestamp even for two consecutively given

    Hello

    I have a problem with missing data when I read a published network shared variable.

    Host VI:

    In a host of VI on my laptop (HP with Windows XP Prof.) I write data to the shared Variable 'data '. Between two consecutively write operations is a minimum milliseconds of wait time. I use it because I want to make sure that the time stamp of each new value of data is different then a preview (variables shared the resolution is 1 ms)

    VI target:

    the VI target cRIO-9012 bed only of new data in the way that it compares the timestamp of a new value with the time stamp of the last value on a device in real time.

    Problem:

    rarely, I'm missing a data point (sometimes everything works fine for several hours, transfer thousands of data correctly above all of a sudden failure occurs). With a workaround, I'm able to catch the missing data. I discovered that the missing data have the timestamp exactly the same, then the last point of data read, is so ignored in my data 'legal '.

    To summarize, the missed value is written to the variable shared host, but ignores the target because its timestamp is wrong, respectively the same as the last value, despite the host waits for a minimum of 10 milliseconds each time before writing a new value.

    Note:

    The shared Variable is hosted on the laptop and configured using buffering.

    The example is simple only to display the function of principle, in real time, I also use a handshake and I guarantee that there is no sub - positive and negative.

    Simplified example:

    Question:

    Anyone has an idea why two consecutively data can have the same timestamp?

    Where timestamping (evil) Finally comes (System?)?

    What would be a possible solution (for the moment with shared Variables)?

    -> I tried to work around the problem with the clusters where each data gets a unique ID. It works but it is slower that comparing the timestamps and I could get performance problems.

    It would change anything when I animate the shared on the RT System Variable?

    Thanks for your help

    Concerning

    Reto

    This problem has been resolved in LabVIEW 2010.  You can see other bugs corrections in theReadme of LabVIEW 2010.

  • Variables shared by using two computers and crossover cable

    Just trying to put together a simple testbed linking two computers by a crossover cable.  They correctly ping to each other.  I used examples of LabVIEW for TCP connections and they speak properly that way too.  I try to create and deploy variables shared on a computer, but the other computer will not identify not the SV on the first computer and vice versa.

    Can someone give me some details on how to build, deploy, and use effectively SV?  I have read all the documentation NOR, but I don't get the step-by-step approach very well.

    Thank you.

    Are you making them shared variable network published and linking them to each other? This document gives a very good step by step:

    http://digital.NI.com/public.nsf/allkb/7815BCE435DCC432862575DA006FEBF8

    -Ryan

  • Problem with Variables shared in exe running on Windows 2000

    Anyone know if there are problems with the Variables shared on Windows 2000? I can't get the LabVIEW executables that use shared Variables to work Windows 2000 on a computer with just the runtime engine.  Everything works perfectly on XP on a machine with just the LabVIEW runtime engine installed (using LV 8.5).  Shared variables are supposed to work less than 2000.  I have attached the sample code that is based on one of the examples NOR to the Variables Shared - editor and the Subscriber - with some extra stuff for the diagnosis, I added.  On Windows 2000, you can only run one or the other exe.  It seems that as soon as the other come to the part on the diagram with the shared variable node it crashes.  Shared variables are getting written in the because if you close the editor and then run the exe subscriber it reads the latest values set properly.

    On Windows 2000 I tried with the administrator account and off the ladies of viruses, firewalls.  There may be another Windows 2000 setting that causes this problem with the two exes trying to access shared variables.  I do not have the development environment on Windows 2000 computer that the purpose of this exercise is to see if its worth using shared variables.  Windows 2000 computers remain the same in the Test and measurement world.  A research on Developer Zone does not there is no particular problem with Windows 2000.

    Any suggestion is appreciated.

    Hi André,.

    Thanks for the comments!  Your feedback will help us improve LabVIEW for our customers.  This bug has been reported to R & D (#45493), and they're currently investigating this issue.  For now, the best solution seems to be using a different operating system, as this seems to occur only in Windows 2000.  Thanks for the comments!

Maybe you are looking for