global variables shared between several targets of RT

Hello

I'm looking for some information about variables shared between RT communication network.

Scenario: a PXI 'master' and several 'slave' PXIs running that screw RT. data is available in the form of a cluster of definied type on each slave PXIs (inside a non deterministic while loop). I guess I create global variables of network shared for each PXI slaves. A variable for each slave. I only write data in these variables in one place (above mentioned, while loops), on the PXIs slave. I need to read that data in a way with loss (I just need that value the most recent, as tags) from the master PXI.

Question: can I simply use "network shared variable" settings by default? I mean, I do not enable the option RT FIFO (single element), because I think that for a cluster that is a no go in the case of RT (variable length)?

What do you think? Or would you have better idea how to share data between slaves and masters RT targets (I do not have deterministic/losless transmissions, only these last values)?

I think that the way to proceed is to use the shared Variable Aliasing/binding - they allow you to 'link' shared variables in any of the multiple targets. https://forums.ni.com/t5/LabVIEW/Bind-Alias-shared-variable-to-scan-engine-variable/td-p/3290043.

You can also use shared variables of programming access to access running on another target: http://zone.ni.com/reference/en-XX/help/371361G-01/lvconcepts/usingdynvarapi/

With regard to the other methods - you could always disseminate data via UDP multicast (or with a TCP/IP connection manager).

Tags: NI Software

Similar Questions

  • 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)!

  • What is the best approach to the conversion of the LV7.1 tags to the variables shared by several screws LV2012?

    What is the best approach for the upgrade of the DSC-LV2012/LV7.1/DSC static variable tags in several screws running on several platforms? Our system is made up of about 5 PC running Windows 2000/LV7.1 DURATION, the more a PLC and a PDC running XP/SP3/LV2012. About 3 PC publish information from the sensor through tags on the local network to the PDC. Only the main command is currently being upgraded. Basic questions:

    1. the other computers running RTÉ 7.1 (with labels) will be able to communicate with the PDC running 2012 (shared variables)?

    2. is it necessary for conversion of tags shared variables, or the deprecated legacy tag screws of LV7.1 work in LV2012?

    3 all of the main controllers will be screw must be integrated in a project in order to use shared variables?

    4 is the only way to do it is to find all the tags and replace them with elements of shared variable?

    Thank you in advance with all the information and advice!

    lb

    Hello lb.

    Datasockets are the common middle only my knowledge between versions, so apart from the upgrade to the same version, they will probably be your best bet.

  • How to use the global variable in the table target?

    Hello

    I am trying to load several files into a single interface. the data is loaded successfully. 92. the files are there. for this I used variables and package.

    My requrement is 92 files of data loaded into the target table. I want to know what data from file.

    to this I added a column (filename) to the existing target table.

    If I used joints (not same condition), its totally wrong. all file names are coming.

    Please see the following screenshots.

    err27.jpg

    exit; target table.

    err26.jpg

    in fact in the target table. first 10 lines are coming from file.i.e first _ACCOUNT_LIMIT_511.TXT. but all the files names are coming.

    I'm confuse. After the first data file inserted then insert second data file. in that all file names are coming. Please help me.

    I thought that the global variable is preferable to identify the data came from which file.

    to do this, the global variable is used in the target table. I don't always have my exit.

    Please help me.

    Thanks in advance.

    err25.jpg

    Hello

    You can use the same way, how you use the project variable, just you have to do a thin is #GLOBAL.variable_name for example: #GLOBAL. SMART_AL_FILE_NAME_S

    Note: Make sure you that while you use one variable overall in interface, indicator should be staged as you chose above the screen

    hope this helps you

    Kind regards

    Phanikanth

  • 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

  • Variable shared between PC and myRIO

    Hi all

    I have a shared variable generated on a PC VI and I want to read this variable on a VI myRIO. I simplified it down to a simple generator of random numbers on my PC that updates all the 1 second and writes in a shared variable node. I then a random number (shared variable read node) receiver on my myRIO who should read this varable it updates. However when I run the two screws of the random number on the myRIO receiver does not refresh from a value of 0. Any thoughts on how to solve this problem?

    The issue only seems to happen when I try share a variable between the PC and the myRIO. If I have the receiver and random number generator communicate via shared variables nodes on the same hardware, for example on the PC or on the myRIO both the shared variable is transmitted and updated perfectly. I also made sure the shared variable engine is installed on my myRIO and the variable is set to the published network.

    I have attached a few screenshots of the dagram of block and I am happy to download the screw if this makes it easy for you guys.

    Thanks in advance!

    Ben

    Thanks for the advice natasftw, I will consider for the future.

    I managed to solve this issue this afternoon. It ends up being a firewall problem. I had previously allowed the engine variable to OR through the firewall, but that has not solved the problem. I visited this page (http://digital.ni.com/public.nsf/allkb/0D7B86F4B4D19A5E86256F9A006EECB1) and unblocked these three elements.

    C:\Windows\SysWOW64\lkads.exe

    C:\Windows\SysWOW64\lktsrv.exe

    C:\Program NIUninstaller Instruments\Shared\Tagger\tagsrv.exe

    Thank you all for your help, it is much appreciated!

  • Sharing between several executable LabVIEW data queue

    I have 2 Executables (Exe) of LabVIEW where an Exe generates data and other we consume the same. Is there anyway that I can use a single queue for the same reference? Exe first gets the number of queue and stores the reference number in V.I.G where the second Exe to read this this V.I.G. reference number The error of the VI second dequeue mentioned the invalid queue.

    Is there anyway that I can share the same data between different exe files with the functionality of a queue?

    Each exe is mapped in its own memory space so in a context resource refs will not work in another, but...

    If you presentation engine of the Action in an instance must be used via the server VI Invoke node on the other, EI (Note: it will run in the context of the server) could queue data in the customer's name.

    Plese Note:

    If the alternate server is idle all of its resources will be invalidated (including the queue) but a ref to the EI will be valid. In this case, the enqueue op will fail if you have the code to take account of this situation. (been there, done that )

    The same approach works in any network where serve architecture VI can be used. I've used this approach about 10 years (less the queue) to allow the control of a plant of a laptop computer with an internet connection.

    Ben

  • tape drive sharing between ndmphost and admin server usnig osb.

    Hello.
    It is available to share the tape drive between san usnig adminserver and ndmphost the switch?
    We have 6 lto5 disks and will be attached to the machine oracle ss7420 NDMP.
    The customer site has no backup of the customer unless the nas data.

    Reason why I'm asking as OSB catalogdb to tape drive backup.
    Is it safe to admin osb catalogdb backup as client or tape drive sharing is available?

    Another issue is that when we set up unit NDMP, NDMP host can control robot or robot control should assign to the server administrator or the two availble?

    Thank you.

    Yes it's available by design. You have to configure the NAS with the role of mediaserver and add a 2nd point of attachment to the device. You can then create calendars that limit to those fixing points. Allows you to share all the drives between all media servers.

    For the robot, I let the server admin to do that, just tape devices were mapped to the time. Controlling Robotics is a light enough task.

    Here is an example of one of my setups where the drive is shared between several media servers, Oracle Linux 4, Linux 5 Oracle and NetApp

    L700-1-lect1:
    Device type: Ribbon
    Model: ULTRIUM-TD2
    Serial number: 7MHHY00202
    In service: Yes
    Library: L700-1
    DTE: 2
    Automount: Yes
    Error rate: 8
    Frequency of application: [unknown]
    Debug mode: no
    Blocking factor: 512
    Blocking max factor: 512
    The current band: 999
    Use the list: all the
    In-car use: 7 months, 3 weeks
    Cleaning required: no
    UUID: 558a34da-045e-102c-8443-002264f35328
    Annex 1:
    Host: dadbdn01
    Raw device: / dev/tape/by-id/scsi-1IBM_ULTRIUM-TD2_7MHHY00202
    Appendix 2:
    Host: dadbdh01
    Raw device: / dev/tape/by-id/scsi-1IBM___ULTRIUM-TD2___7MHHY00202__
    Annex 3:
    Host: dadbeh01
    Raw device: / dev/tape/by-id/scsi-1IBM___ULTRIUM-TD2___7MHHY00202__
    Appendix 4:
    Host: ap1030nap
    Raw device: nrst1a
    Annex 5:
    Host: dadbak01
    Raw device: / dev/tape/by-id/scsi-1IBM___ULTRIUM-TD2___7MHHY00202__

    Thank you

    Rich

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

  • How to access a global variable that is common between the different baskets project library

    My project consist of several libraries, after generation the library project packed for each library, I find it cannot share data in a global variable between different packaged project library file. For example: packed project library #1 contains VI variables global wirte 'position' and give it a value '400 '. Library #2 present another VI project try to read this global variable, but he gave reading of is NULL not "400". Why has this happened? Is it possible to solve, welcome any help, I wll appreciate for this!

    If you understand what is happening here...

    When you build a PPL, it takes in the .lvlib and also all the dependencies of the .lvlib.

    In your case, when you generate the Test Task.lvlib in a .lvlibp, she also pulls on a copy of the DataProcess.lvlib:GlobalsVariable.vi because it's addictive to read GlobalVar.vi.

    When your application runs, you end up with two copies of GlobalsVariable.vi in memory:

    DataProcess.lvlibp:GlobalsVariable.vi

    AND

    Test Task.lvlibp:: GlobalsVariable.vi (I don't know how PPLs namespace dependencies... If there is still the DataProcess.lvlibp)

    Because they are different screws (i.e. in a different namespace), they have their own memory and that's why you can't access the data.

    Your Test Task.lvlibp calls the version of GlobalsVariable.vi, he pulled the dependencies.

    To solve this problem - you must ensure that Task.lvlibp of Test calls the version of GlobalsVariable.vi of the DataProcess.lvlibp - you'll need to replace all instances with the version of the PPL. Of course, if you run DataProcess in the development environment, then it will always be bad namespaced, hence the suggestion to put your global variable VI in is own PPL that you then use in the process of data and Test tasks.

  • Variable is shared deployed on target RT retains its value after restart?

    Shared, deployed on a real-time target variables are stored in the nonvolatile memory or RAM? It will hold its value after reset or power/power on? I tested and it seems retains its value, but I have found no documentation on this subject of NEITHER.

    Kind regards

    Tom

    Hello

    There are several components involved in the way the variables are stored on a target, but a part of which is in a non-volatile memory. Shared variables local to the target RT will not retain their value. Any reading of the data of the target host will receive the last value of the target before restarting given that the host is not at the same time re-started. The reason why it is that there are 2 shared engine variables at work; one for the host and one for the target. Since only the target has been restarted, the variable engine shared on the host retains its last value while the engine on the target will be set to 0, false them or an empty string. Here is an example of a community that "Monitor" [s] to the State of emptiness in RT FIFO active shared Variable'.

    Best,

  • Shared variables is deployed several times

    Everyone has experienced problems with an application in development mode (LV2015) from deploy shared variables whenever it loads a VI?

    He suddenly began to arrive, and I don't know why or what I did. Now it charges 11 times before can run the application. Very annoying and I can't find where to select a VI not deply its Variables shared. Deploying them should suffice

    It was only a matter of time. I have a main VI calling several other VI that uses the same shared variables to communicate with each other. It translates the same loading variables each time the main VI called the next VI on startup.

    Solution was to right click on my computer in the project and check the option 'Disable Autodeplay Variables'.

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

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

  • Sharing the drive between several virtual machines

    Hi all

    We have a configuration with a SAN (Dell Compellent) and use vSphere 6 to host a number of Windows servers. We now have a giant machine of Windows with a large number of small files for a particular application.

    Now, we would like to create a cluster with a LoadBalancer in front of him, so that we can handle more load. To do this, we want to create a disk that is shared between 2 (or more) of windows machines.

    One of the problems is that NTFS is not a supported clustered file system. So, I did a lot of research on Google to see what my options are. In my opinion, they are the following:

    1. set up a Cluster Shared Volume (CSV) Microsoft (use SMB if I read the documentation)

    2. the user Windows shares on a separate file server

    3. the user NFS (depreacted under Windows)

    4. switch to Linux and use NFS

    The problem I have, is that they use all the network traffic. For example, option 2 is ridiculous slow. NFS under Linux is also a way slower than the local drive (managed by VMWare iSCSI) disk access and NFS on windows does not appear to be

    support very well.

    I know that there are aware filesystems, clustered as VMFS etc. Is there a way to access it directly from my Windows VM or are there devices SAN which is directly accessible from the virtual Windows machine?

    Or maybe there are other solutions to set up a shared drive?

    I know that there are aware filesystems, clustered as VMFS etc. Is there a way to access it directly from my Windows VM or are there devices SAN which is directly accessible from the virtual Windows machine?

    VMFS is a really clustered file system and allow access of multiple virtual machine the same amount of storage (data store) which is different from that to create a virtual disk (hard) and present to multiple virtual machines. You can do this, BUT the guest virtual machine should take care of several accesses to the hard, for Windows, you must turn on the feature... without this clustering with failover data may be corrupted.

    I think the best and supported solution for you is to create another cluster with Failover Cluster functionality and create a resource sharing files with files that will access your NLB nodes.

Maybe you are looking for

  • SQLite3 connection string?

    Hello I have a SQLite3 database file. I read with labivew. I installed the ODBC driver since http://www.ch-werner.de/sqliteodbc/. I created the DSN. I would like to read different with their paths .db files. If I use directly the DSN 'temperatura' is

  • Updates install error 779

    original title: trying to appropriate error message during the installation of updates I have error #779 .this which is it and how can I get rid of it

  • Restore my ultimate backed up the Ultimate vista basic files

    My dell inspiron 6400 which had vista Ultimate edition (updated from vista basic to ultimate with Windows vista upgrade dvd Express) have refused to start (indeed hanged). I decided to reinstall vista basic intending to upgrade with Windows pack to u

  • Turn off wireless sync blackBerry Smartphones / sync calendar

    I have the BB 9650 with OS 6.0.  I tried to sync my calendar through my office of BB, but it does not work because it says that I need function Turn Off the Wireless Sync.  I tried to follow the instructions below as indicated, but after I click on O

  • try to open a PDF filein

    try to open a PDF filein