LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

"shared variable is not allowed" error on sbRIO

Hello,

Whenever I add a shared variable that has any DSC features to an sbRIO target, it breaks the run arrow with the following error:

 

This type of Shared Variable is not allowed on the computing device.  Either move the VI to a different computing device, or change the type of the variable. 
 
 
CLED (2016)
0 Kudos
Message 1 of 19
(4,447 Views)

That doesn't surprise me.

 

I know that for compact Fieldpoint controllers, you can use regular shared variables, but you can't use shared variables that have any DSC features such as alarms and data logging.

 

So I imagine the RIO's have the same restrictions.

Message 2 of 19
(4,429 Views)
Also see here
0 Kudos
Message 3 of 19
(4,427 Views)


Mathan wrote:
Also see here
I'm not trying to get shared variables on an FPGA target, I'm trying to get them on a vxWorks target. 

 

CLED (2016)
0 Kudos
Message 4 of 19
(4,423 Views)

Ravens Fan wrote:

That doesn't surprise me.

 

I know that for compact Fieldpoint controllers, you can use regular shared variables, but you can't use shared variables that have any DSC features such as alarms and data logging.

 

So I imagine the RIO's have the same restrictions.


Odd, I would think  that since the variables are hosted in windows there would be no issue since all the monitoring and alarms could be handled on that side.

 

CLED (2016)
0 Kudos
Message 5 of 19
(4,420 Views)

InfiniteNothing,

 

Where are you hosting the shared variable library?  If you host the library on the Windows host, you should be able to enable DSC features.  The DSC specific features of those shared variables will only be available on the Windows side of the connection.


If you need to have shared variables deployed and hosted on the VxWorks RT target (for reliability or other reasons) but also want DSC features, then you can host two libraries.  One on the Windows Host, and the other on the RT target, and bind the corresponding variables in each library together.  You then have to realize that the DSC features will only be available on the Windows Host variables. 

 

The reason DSC features are only available on Windows targets is because they use Windows proprietary technologies, like DCOM, which are not readily available on other OSes.

 

Cheers,

 

 

Spex
National Instruments

To the pessimist, the glass is half empty; to the optimist, the glass is half full; to the engineer, the glass is twice as big as it needs to be has a 2x safety factor...
0 Kudos
Message 6 of 19
(4,388 Views)

Spex wrote:

InfiniteNothing,

 

Where are you hosting the shared variable library?  If you host the library on the Windows host, you should be able to enable DSC features.  The DSC specific features of those shared variables will only be available on the Windows side of the connection.


If you need to have shared variables deployed and hosted on the VxWorks RT target (for reliability or other reasons) but also want DSC features, then you can host two libraries.  One on the Windows Host, and the other on the RT target, and bind the corresponding variables in each library together.  You then have to realize that the DSC features will only be available on the Windows Host variables. 

 

The reason DSC features are only available on Windows targets is because they use Windows proprietary technologies, like DCOM, which are not readily available on other OSes.

 

Cheers,

 

 


Nope. I am hosting the SVs on the Windows side. Check out the attachment on my original post if you get the chance.
Binding the variables might be a good workaround. Could you give me a bit more detail on how to "bind" two SV together? I'm a bit hesitant because I have ~100 sv and that number is always growing. I'd hate to have to create shared variables twice and do the binding everytime I wanted to add one. I'm also a little bit concerned about latency where A has to transfer to B has to transfer to C

 

CLED (2016)
0 Kudos
Message 7 of 19
(4,383 Views)

InfiniteNothing wrote:
Nope. I am hosting the SVs on the Windows side. Check out the attachment on my original post if you get the chance.

I did see your project have the library underneath the PC.  But your original message also said "add the shared variable to the sbRIO target" which implies the shared variable is on the target.

0 Kudos
Message 8 of 19
(4,368 Views)

Ravens Fan wrote:  

I did see your project have the library underneath the PC.  But your original message also said "add the shared variable to the sbRIO target" which implies the shared variable is on the target.


 
Ahh, yes, that is a bit unclear. By that I meant adding the shared variable node to the block diagram of a VI targeted to the sbRIO. That's when the run arrow of that VI breaks.
CLED (2016)
0 Kudos
Message 9 of 19
(4,366 Views)

One of the things mentioned in that error message was "change the type of the variable."  That is a rather unclear message.  It should at least tell you what is wrong with the "current type".

 

I did notice that you had logging turned on for that SV (which is a DSC function that got me talking about DSC functions on the cFP target).  I would try turning that off.  Perhaps play around with network settings, buffering settings, anything else that might be settable.  See if any of those changes make the error go away and you stumble on whatever it considers the "correct type".  That might give a clue as to what is going wrong.

Message 10 of 19
(4,362 Views)