From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error -1950679023 on Network Shared Variable(s)

Solved!
Go to solution

Hi,

I got a customer project utilizing multiple Shared Variables. The code has with many hard-coded features related to the local network. Now I need to run the top-level VI in my local computer that is not part of the same network (Yes, I know, this would not be an error-free run but good enough for development purpose).

 

However, Error -1950679023 is launched immediately saying

image.png

 

The IP belongs to my computer. Seems, SW understands that “My Computer” and this IP point to the same machine. It identifies the shared variable correctly. But still launches the error.

 

This is configuration of the shared variable in BD.

 

_Y__0-1644484098681.png

 

This is configuration in the project. Note that this IP does not belong to my computer or my network.

 

_Y__1-1644484188667.png

 

It belongs to customer’s local network, but it does not belong to machine where the project is running. Anyway, the error message does not mention this IP.

 

Please advice how can I solve the problem. Rewriting property of the shared variable would be highly undesirable because: a) The code should be runnable in original customer computers; b) There are too many such shared variables to rewrite.

 

Thank you

 

PS: I run LabVIEW 2021 but the code was created with LabVIEW 2018.

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 1 of 9
(1,620 Views)
Solution
Accepted by topic author _Y_

Hi,

 

I have read your post thoroughly and the issue stems from one thing:
Even though the error mentions that the variable wasn't found on "your computer", there is no other location for it to look for the variable (since the variable exists on your client's PC).

To put it simply, a shared variable needs to exist on your network, but in your case the shared variable exists on your client's PC (which is not connected to your network). 
More details about shared variables can be found in this link, refer to it if you need more clarification:
Using the LabVIEW Shared Variable - NI

 

The best solution in this case would be for you to change the IP-s of the shared variables so that they would be present on your network.

I hope this helps.

Cheers.

0 Kudos
Message 2 of 9
(1,593 Views)

Thank you N.H.

 

I already read the page describing use of Shared Variables but did not catch that the variable can deployed and be discoverable in the computer without being published in the net. You clarified it for me.

 

If redefining IP for every variable is the only way, I have a problem. There are too many such variables in the project.

 

Is there a way to use scripting for this task? In this case I could walk through the project altering IP for each Network Variable and saving original values in file. Prior sending the code to  customer I could do reverse setting.

 

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 3 of 9
(1,587 Views)

Changing the IPs through script isn't doable I'm afraid. But, there are 2 things that come to mind.

1. you could make a copy of the project, change the IPs, update the code as needed, and once done, copy the changes onto the customer's (original) project. You'd bypass having to change the IPs in the future, but you'll have to update the customer's project manually after finalizing it on your copy. Makes your life easier on a long-term basis if you'll have to work on the project often in the future.

2. I like this solution better: See if the customer would let you work on the project remotely. This would give you access to the project on the client's PC (also giving you access to their network).

I know these might not be the solutions you were looking for, I'd be looking for an out too if I were in your position. I really do hope this helps you work it out.

0 Kudos
Message 4 of 9
(1,584 Views)

Hi N.H.

 

I found a way for mass-changing IP. The solution is called "notepad":)) Shared Variable LVLIB is editable text file.

 

These are details for those who would probably meet the same problem. Replacing remote host IP with “localhost or local IP does not help. Probably, variables must be deployed in remote machine. Is it so?

 

I removed three properties from description of each problematic variable: "Network:AccessType", "Network:ProjectBinding", and "Network:URL". Then changed value for property "Network:UseBinding" to False.

Seems, now the edited Shared Variables are deployed in local computer. At least, I can start the program.

 


@N.H. wrote:


2. I like this solution better: See if the customer would let you work on the project remotely. This would give you access to the project on the client's PC (also giving you access to their network).


Yes it could be good if... Current version of the program is in use. This includes equipment. So most of development tests must be done offline.

I mark your first post as solution. If someone needs more details he would read the whole discussion:))

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
Message 5 of 9
(1,555 Views)

@_Y_ wrote:

Hi N.H.

 

I found a way for mass-changing IP. The solution is called "notepad":)) Shared Variable LVLIB is editable text file.


Yup, notepad is a handy tool for updating projects.

 

There is probably also a *.ini file for the SVE in the application support folder you can edit without even bothering LVAppBuilder.  HINT: don't tell the client that unless you code in a restore default from hidden location feature.


"Should be" isn't "Is" -Jay
0 Kudos
Message 6 of 9
(1,550 Views)

@JÞB wrote:

There is probably also a *.ini file for the SVE in the application support folder you can edit without even bothering LVAppBuilder.


Interesting, thank you. Is it so for compiled EXE only? There is no one INI file in the customer file structure and the customer runs program without compiling executable.

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 7 of 9
(1,524 Views)

@_Y_ wrote:

@JÞB wrote:

There is probably also a *.ini file for the SVE in the application support folder you can edit without even 


customer file structure and the customer runs program without compiling executable. 

bad idea.  Don't trust customers with source code!

 

There is no one INI file in the customer file structure....

no, in the IDE it's saved as part of an xml file with a .lvproj extension, as you have found out..  NI DAQmx stuff is treated similarly and the app builder creates <Support>\NI DAQ\DAQmx.ini.  I don't use Shared Variables much but suspect <support>\NISVE\ or similar would exist to populate SVE settings from the lvproj to the executable.


"Should be" isn't "Is" -Jay
0 Kudos
Message 8 of 9
(1,512 Views)

Thank you @JÞB

Now I understand.

 


@JÞB wrote:

Don't trust customers with source code!

Well. At least in half of my project customers trust me with their code😉

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 9 of 9
(1,504 Views)