Impossible to programmatically access a shared variable

Hello

I am attaching a file in project where I created 2 shared variables

When I try to access it programmatically im getting this error "error-1967362038 occurred to read Variable in Untitled 1." "vi IAK_SHARED: (Hex 0x8ABC700A) not found."

can someone tell me where im going wrong?

Woof...

found the solution

has not deployed the library file containing the shared variable

After you deploy the library file so I was able to programmatically access a shared variable

Tags: NI Software

Similar Questions

  • Programmatic process single shared Variable access

    Hello

    I was wondering: is there a way to access the shared process Variables Single using the API similar to the shared network SV programmatically? It would be a handy feature and this post suggests there are:

    https://forums.NI.com/T5/LabVIEW/programmatically-select-global-variable-object/m-p/1855565#M631304

    But I couldn't find any example or to be used as 'link to Variable.

    Thank you!

    Ehrlich wrote:

    Thanks for testing! It is a pity that this feature only works for shared network variables (which, in my case, are too slow to be used), would be really useful also for the process unique ones.

    If you do not look for published network, then you should really take a look at the table of the current value (CVT).  It is a way of defining and excessing variable by name.  Developed by systems engineers NOR and available for FREE on the LabVIEW tools network.

  • Pass a reference to the shared variable

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

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

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

    Thank you

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

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

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

  • network Publish shared variable

    I'm hosting the OAS of a sbRIO engine, developing with LV10.  I share an array of Boolean values on the sbRIO and I need to be modified by (1) the sbRIO by programming the control array, and (2) a LV GUI running on PC graphically (i.e. option boxes).  I share the table and PC HMI can connect and view the States of the button as established by the sbRIO, but when I try to click on one of the radio buttons, the sbRIO seems to outweigh demand and turn the reverse button (I know demand is through, I see a very rapid change in the State of button/table on a temporary HMI connected through the sbRIO project).

    Do I need a separate shared table for applications for PC/HMI that I must then analyze via w/Combinatorial logic and find the changes then send updates until the sbRIO to write in the "master" control programmatically array?  Or is it a type of feature for arbitration to a shared Variable NP?

    THX

    Hey Atlas,

    This looks like a problem that arises from the conditions of competition, access to shared variables. You always read or write variables in a loop on each application? If the Boolean values are poised to the HMI, you must use a "send" or the "write" button that writes to the shared variable. If the HMI application is constantly reading and writing to the shared variable, you can overwhelm network variable motor and see problems like these. If you still have problems, feel free to post your screws or block diagram screenshots so that we can see what you're doing.

  • How to access a shared on a remote device with a variable IP different during execution?

    I need expert advice. I need to do something that sort of violates the assumptions behind the model of variable communication shared LV I have to be able to read a shared variable since a cRio device when the IP address of the device is not fixed.  In other words, the IP address of the device is known only at run time. Is it still possible?

    The only way I can think that LV would be able to find variable motor device/shared on the remote device is by changing the alias the runtime file and then try to access the variable shared again hoping this will cause also the sv engine note the new IP address and use it.

    Hi Rob,

    Yes it is possible. There are several ways to do so, but here are two. If you have LabVIEW 2009, use the new features for programming of the shared variables in the data communication palette. These just have an address that you can determine at run time. The address is of the form ni.var .psp://machinename_or_ip/libraryname/variablename. Here is an example of selecting a name at run time using these features:

    If you are using a version prior to 2009, you can use DataSocket roughly the same way except that the address forms a little different - psp:\\machinename_or_IP\libraryname\variablename. These are also present in the same range of data communication.

    Either of these methods, you will get better performance if you open the connection once, write several times and close the connection when you are finished. You should avoid opening and closing of the reference variable whenever you want to access the variable.

    Good luck

    Gerardo

  • Do not access shared variable

    Hello

    I have a host (exe) application that uses variables from shared network to read the values of an RT application on a target of cRIO (exe all built with LV2010). The host application uses a method node to deploy the shared on RT target variable library. As I run this application on the pc where I have the development system, it works fine... when I put the application on a pc with the LVRunTime only, get a strange behavior: node library method does not return an error with the Distributed System Manager, I see shared variables actually deployed on the target... BUT the application of the RT is unable to update the shared variables!

    At first, I thought there was a problem because the target RT boots until the library is deployed by the host application, but it works on my development pc. So what don't understand me?

    Thank you for any clue,

    I'm sure that you can not deploy the hosted cRIO SV programmatically. This must be done by the project.

    Try to start over again, cancel the deployment of all libraries in the project and redeploy it manually.  Remove your method "deploy".

    and then check that your RT code is updated the NSV using DSM.  Then, try to read or write of NSV from the host application.

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

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

    Thanks for your time - lmd2

    Hello Lawrence,.

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

    LabVIEW Help: Making static Variables available on a network

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

    Hope that helps!

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

  • (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'

  • to connect to a shared variable (android)

    Hello

    I just started to learn how to use the dashboard data Labview for android.

    I made a very simple project, with a VI that generates random numbers. I also added a variable published network shared in this project, and I write the random number generated for this variable shared every second.

    I would like to read this value on my phone (Motorola Razr i, Android 4.1.2) android using the dashboard of data for an Android application.

    I have a wireless access point and both my laptop (that hosts the project, LabView, Labview 2013) and my smart phone is properly connected to the wireless router, and both gets from dynamic IP addresses.

    I start running my VI on the laptop and the variable shared within the lvlib correctly deployed and began to broadcast (I guess) its value to the network.

    I start the DD application on my Smartphone, I choose 'Connect shared variable to', I type the local IP address of my laptop, which is 192.168.0.100, and I try to connect.

    After some 'research' and waiting, I get a message "connection error".

    Do I did wrong?

    Thank you much for the help.

    Best regards


  • Update of address of the card "shared Variable.

    Hello Experts!

    I have a question about shared variables:

    Now I create a variable Shared (81O_G01) in the library, and it is related to:

    My Computer\SVCREATION.lvlib\Modbus1\410611

    Question is: How can I change this address SV (410611) when tha variable has already been opened?  is this possible?

    Thanks in advance!

    Anibal

    Hey Anibaldos,

    Looks like you're trying basically change the binding of a /A1 to /A2 variables at run time. I think that there are a few options for this:

    (1) in LabVIEW DSC, you can access a hosted variable and change the link address by using a property node. If you run the server modbus on a windows machine, this is the best option. Otherwise, I'm guessing you don't have a DSC. If this is the case you can always edit links by editing the library manually, but it seems that this will not help you.

    (2) it may be possible to open a variable connection shared using pallets (Data Communication > shared Variable) to this specific address, to which cases you have no need to use the shared variable. You can simply open a connection to two addresses different modbus and read one or the other as needed.

    (3) if #2 does not work, then I think you can still use datasocket API to perform such an operation. There is a bit of research you need to do to use it (for example, URL editing and UI thread problems), but it does not work. In my opinion, this is the approach taken by this document: https://decibel.ni.com/content/docs/DOC-13508 (I know from experience, you have to dig a little to find the screw, but they are there).

    (4) you can use the Ni Labs library: http://ni.com/labs

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

  • What shared variable caused the event?

    Hello

    I save the shared variables to trigger the event (see attached photo). How is it possible to detect which shared variable triggered the event, but not analysis of chain of the shared Variable in the terminal dynamic event of the structure of the event?

    Thank you.

    Hello Martin,

    Looks like you have access to the shared variable that raises the event, take a look at the photo in the following link:

    https://decibel.NI.com/content/docs/doc-4375

    Michel

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

  • Are published network shared variable write & read Atomic actions

    Hello

    I have a very basic question about shered (published network) variable.

    I think I know the answer already, but since I couldn't find in my documentation, I thought that it is more prudent to request...

    Are reading and writing on a shared variable of stocks Atomic?

    To be more precise: on my target real time I create an array with data (each element being the configuration item or a cluster containing name, value, and type) and when the table is finished I am this store in a published network shared variable.

    On my host (Windows), I'm voting (in a loop) until the table contains at least 1 item, when this is true I'm parsing all the elements in the table.

    Is there a chance that, reading of the shared variable, the table contains a subset of the original painting on RT target (i.e. the action of reading takes place while writing is still ongoing).

    Or is the action of reading delayed until the write is completed? (i.e. both write and read actions are atomic even over the network)

    I think the latter is true but not could find no evidence in the documentation.

    Kind regards

    SoC

    Hello Rob,

    Yes, you can access the entire value, data type - you use both. For the table data type, the integer value is actually the full picture. So, Yes, you can see reading and writing as Atomic actions.

    But, on the other hand, you can lose data if the RT system rewrites the variable before the host had the time to read. To avoid this, you can enable buffering for the variable. See the following links for more information:

    http://www.NI.com/white-paper/4679/en

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

    Finally, you can also activate a FIFO RT on your target RT if you need to send data through the variable in a deterministic section of the RT. See also, more information:

    http://zone.NI.com/reference/en-XX/help/370622H-01/lvrtconcepts/rt_projectvariable/

Maybe you are looking for

  • Opening software - how to reinstall

    Hello I had the Aperture software with my iMac. Recently, I had to format my HARD drive and lost the opening. How to download the opening of the Appstore? Do not listed. Also, since I got it in the box version, I do not seem to have the serial number

  • I can't receive all my email on outlook express?

    I get all my emails.  Nothing has changed and they are commercial partners that ive had for years.  They can read mine, I can't get Thiers?  What can I do to restart or update, or even to check Outlook? Thank you GlenSB

  • Ideas for portable installation for cars?

    As some of you know, the wife and I recently bought 2 clips, where they will be used in a variety of portable applications, including in our cars. As they work in our cars, portable installation we use is not all that elegant.  We have all two VWs so

  • Module"C:\ProgramData\EbutwExegu.dat" failed to load the

    "I won"module"C:\ProgramData\EbutwExegu.dat" failed to load "whenever I have to start, the system works normally after dimissing message I also can't uninstall Security Essentials completely - I was wondering if the two were connected

  • FP 22.0.0.209 to 22.0.0.210? I'm confused

    Afternoon,On 12 July, I downloaded and installed 22.0.0.209... this was the last version. Today is 22.0.0.210.We have done a lot of testing over the last 48 hours.What concerns me is that Tuesday 209 was, they say, it is the activex, today it is said