LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DSC issue with network published variables

Solved!
Go to solution

Hello

 

I have created a server VI with network published variables and a client which can read the variables. This works flawlessly. (any number of shared variables work)

 

I then implement the DSC (data logging and supervisory control) module. After adding the correct hosts (yes this is done correctly) I allow access to computers and deny access as desired

This works with up to 4 network shared variables, as soon as I add over 4 variables to be shared, the clients can not longer access the variables and the "server" crashes saying cannot locate variable.

 

Looking at the variables in distributed system manager (on a client), they load (showing all the variable names), but then the following error appears, IAK_SHARED: (Hex 0x8ABC5003) the connection to the server was lost.

 

Computer info, Windows 7/labview 2011. (client and server)

 

assumptions: Fire wall is configured correctly as 1 - 4 variables can be shared using DSC between a client and the server

                    This is a university system, so the dsc application could be limited to a set amount of traffic, however labview has full access

                    

Anyone ever has issues with DSC when network publishing a large amount of data?

 

 

0 Kudos
Message 1 of 7
(3,239 Views)

Hi Josh,

 

Can you tell me what exactly are you using DSC for (logging data to Citadel, setting shared variable alarms, reading/writing to PLCs)? From what I understand you have one server that writes data to shared variable and you have many clients that read data from the shared variables. When you add more than 4 shared variables to a library in your project you can no longer read those variables, correct?

Could you also attach a simple version of your code that demonstrates this behavior. Also, are you using any other hardware or you are just communicating between PCs?

 

 

Sev K.
Senior Systems R&D Engineer | Wireless | CLA
National Instruments
0 Kudos
Message 2 of 7
(3,222 Views)

I am using DSC to apply security to the shared variables on the server, only allowing the client computers to connect/read/write. The client computers are added through there host name in the DSC security section when clicking the properties for the library which contains the shared variables on the server project

 

I am using the "*" term also in the security settings to stop any other computers that are not in the list from accessing the variables. This works for any number of computers in the list, but as soon as the number of variables goes above four, the clients can no longer access the variables and the entire system crashes including the server. The error received on the client computers is the one mentioned above, and the error on the server computers is "cannot locate shared variable". (Before the clients attempt to connect the variables can be seen on local host of the server computer)

 

Before you ask, yes the shared variable engine is running on all PCs. Yes the varabiles are deployed,

 

The program created is literally a completely blank project, with a library containing network shared variables, and one VI containing a control that is binded to one of the variables (just to confirm that the server is updating to the current value). On the client computers the distributed system manager is used to see if the variables are accessible. When using this for 4 variables, they can be seen on the screen easily. As soon as the clients attempt to access the variables (when more than 4 are being shared from the server) through distributed system manager, the issue occurs.

0 Kudos
Message 3 of 7
(3,209 Views)

Hi Josh,

 

I've created a test project with 5 variables, specified the hosts that can read and write to these variables in the "Data Access" properties of the library and I was able to read and write data by using a bound indicator/control on a client computer. I've attached the project for your reference.  Which version of LabVIEW are you using?

Sev K.
Senior Systems R&D Engineer | Wireless | CLA
National Instruments
0 Kudos
Message 4 of 7
(3,201 Views)

Thanks for the reply,

 

I tried your example, I experienced the exact same issue. I also acquired two completely blank computers (free from university policy software etc) with just labview on it. Using a cross over cable I could simulate mine and your example program with out an issue. Then adding one of these blank computers to the university network (changing the IP to dynamic) I was able to see this computer on the network, Once this computer was added I tried to access the server VI running on the university computer. It crashed with the same errors mentioned above. This leads me to think that it is a firewall/routing issue when using DSC security. (Remember there is no issue if DSC is not used)

 

Note: (regarding the university computers only, ignore the two blank ones that were used) This entire simulation works if, 1. The client computers are listed in the DSC settings.

                                                                                                                                                                               2. It will crash if any computer that is not on this list tries to access.

                                                                                                                                                                               3. Using the * (which should block any computer that is not on the list) does not

                                                                                                                                                                                   fix this.

I tried limiting/allowing the IP addresses by subnet, also added the DNS servers to the list, but it seems that something else is happening here.

Thanks

Josh

0 Kudos
Message 5 of 7
(3,186 Views)

Hi Josh,

 

Here are a couple of additional troubleshooting steps I would like you to go through:

 

1.Can you explain what you mean by "It will crash if any computer that is not on this list tries to access.". Does LabVIEW crash on the computer that is hosting the shared variable or the computer that is trying to access the variables? Can you attach a screenshot of the crash or an error log.

 

2.You can use the  " * " to identify a range of computers to which you can either Grant or Deny Read/Write priveleges. Using the the * by itself does not automatically deny access to the computers listed in that range.

 

3. Can you tell me what are the IPs and subnet masks of the Host and the client computer that cannot access the shared variable data.

 

In order to be able to reproduce this issue on my end I just need to delete any of the computers listed under "DSC Settings: Data Access". Based on what you have seen I should not be able to read a shared variable from any other computer on the network, correct?

 

 

Sev K.
Senior Systems R&D Engineer | Wireless | CLA
National Instruments
Message 6 of 7
(3,174 Views)
Solution
Accepted by topic author Josh_656

Hey,

 

Sorry for the late reply, I have been ridiculously busy.

 

I have found the solution to the problem. The issue was the university's policy that is downloaded from the server when students log in. This policy is configured by IT and blocks large data transfers through certain ports (that’s why 4 or 5 variables work with DSC).  

 

The resulting affect this has to the variables causes the crash when a computer tries to connect.

 

Thanks for all the help.

 

Josh

0 Kudos
Message 7 of 7
(3,152 Views)