LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
michael.lynch

Do away with DSC run-time license for getting shared variable value change events

Status: New

 Getting a value change event on a shared variables seems to me like something that ought to be expected "out of the box" in LabVIEW.  Polling shared variables for changes is taxing on resources, and such an architecture is generally frowned upon by NI and the LabVIEW community for things like front panel interactions and the like.  Why, then, should we expect to pay extra to deploy applications which such an architecture for interacting with shared variables?

 

I completely understand the extra license for the DSC run-time, as there are numerous other terrific tools included.  It just seems to me that the SV value change events are one thing that should be freely available for deployment to everyone already paying for the application builder.

 

Thanks!

17 Comments
vitoi
Active Participant

Are you saying, with standard LabVIEW, that it is not possible to wait on a new data element with shared variables?

michael.lynch
Member

To the best of my knowledge, there is no way to use an event structure to receive value change notifications for shared variables without the DSC module.  Even if you have a developer license for the DSC module (which I do), using the feature in an executable that you distribute requires an individual DSC runtime add-on license.  The license makes sense to me for most of the features, but the value change events seem like they should be part of "vanilla" LabVIEW.

vitoi
Active Participant

So, if I had a loop and wanted to wait on a Shared Variable value change (more correctly, new value written at the other end) it can't be done?

 

I use datasockets and I rely on the functionality of being able to wait for a new data element.

 

michael.lynch
Member

Waiting for a new data element is still polling.  The big difference here is whether value changes are detected in an event-driven manner or by polling.

vitoi
Active Participant

I can put a datasocket read into a loop so that it will only advance when new data is received. (This presumably takes no processor power. A bit like waiting on an occurrence.)

 

I do not need to loop around and check if a new data item has been received.

jbesselm
Member

I don't think it is required. I have built an executable using value change notification and Modbus library 121  to write values to a PLC with LV 2012 or 2013 either (don't recall) and deployed it on a machine without a dsc runtime.  The runtime is not required for all the dsc tools.  

bilgetea
Member

AFAIK, you need the DSC module to use shared variable events.  In the past I have called NI to clarify this and it was confirmed, but that was a few years ago.  Unless something is different now, I have to agree with the original poster - why is this seemingly obvious feature only available with DSC?  It doesn't seem integral to other DSC functions, and is a big inconvenience/expense.  It feels like a gouge by NI.

 

Let me try this right now - I have a cRIO module that is hosting some SVs.  I'll try to add an event on the PC application side... interesting.  It doesn't work, but it doesn't work in a different way then it used to with, say, LV 2010.  In older LabVIEWs I was not able to see the SVs at all in the event editor, but now I am able to add events for SVs that are part of my PC VI. I am able to add them in the same way as indicators local to the VI. However, they don't execute; that is, the VI executes, but data changes in the watched SVs don't cause an event and the code in those event cases is not executed. I can see the values in front panel indicators which are linked to those SVs changing, but nothing happens in code.  It's as if they're using the property "change Value" instead of "Change Value (Signaling)".

 

I just found this on an NI page published in 2013: "The Event Structure API is only available when you have the LabVIEW DSC module."

 

So unless something has changed this year, SV events are still not supported without the DSC module.

vitoi
Active Participant

It is indeed a pity you can't use such basic and useful functionality without paying for more modules.

cpazos
NI Employee (retired)

Hi all!

 

I’m Carlos Pazos Product Marketing Manager for LabVIEW DSC. This thread was recently brought to my attention and I really appreciate having this kind of forums to hear your feedback. While there are ways to monitor events (polling) with shared variables using core functionality in LabVIEW, you are correct the “event” association to a variable is part of the LabVIEW DSC module (2014). This was originally intended to serve traditional SCADA applications where NPSV require events to behave in the way you describe. The LabVIEW DSC Run-Time enables this functionality in NPSV along with alarms, datalogging, OPC client, Modbus, and Custom I/O servers. I understand that for some applications just a subset of features included in the DSC module is required. For the specific request of “events” for NPSV, this is something we will evaluate and consider for future versions of LabVIEW. I would like to encourage you to use these forums to continue sharing your thoughts and ideas so we can continue growing LabVIEW together.

 

Regards,

 

Carlos Pazos

Carlos Pazos

Senior Product Marketing Manager

National Instruments
michael.lynch
Member

Thanks for the reply and for your attention to this suggestion, Carlos.  We'll all be watching future versions in the hope of seeing this feature included.  It will certainly be a welcomed improvement!