LabVIEW Idea Exchange

About LabVIEW Idea Exchange

Have a LabVIEW Idea?

  1. Browse by label or search in the LabVIEW Idea Exchange to see if your idea has previously been submitted. If your idea exists be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click Post New Idea to submit a product idea to the LabVIEW Idea Exchange. Be sure to submit a separate post for each idea.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As NI R&D considers the idea, they will change the idea status.
  5. Give kudos to other ideas that you would like to see in a future version of LabVIEW!
Top Authors
Showing results for 
Search instead for 
Did you mean: 

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.



Active Participant

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


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.

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.



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.

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.


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.  


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.

Active Participant

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

NI Employee

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.




Carlos Pazos

Carlos Pazos

Senior Product Marketing Manager

National Instruments

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!