Bound control doesn't always update shared variable (LV 8.2 + DSC)

It seems that it is possible for a bound shared variable to NOT always get updated with the latest UI control value that it is bound to. 
If you run the vi in the attached project, and (fairly quickly) toggle the 'Keyswitch Control' between the 'Off' and 'Start' positions, you should be able to reproduce the effect shown in the attached pdf.  Sometimes the bound shared variable (Keyswitch_Control) gets stuck in the 'On' position when the control reads 'Off' or 'Start.'  It does not catch up after a little while either; it seems truly "stuck."
Unless I am missing something here, this looks like a bug. 
I haven't played around with any other control types yet to test further.  I also don't know if this is limited to 'control -> SV' binding or if it also affects 'SV -> indicator' bindings (I hope not!).
Any ideas!?!?!?
Attachments:
DataBindTest.zip ‏21 KB
DataBindTest.pdf ‏40 KB

Hello WHAVEman,
I was able to replicate what you were observing. It seems that there is a bug in the front panel binding code. I would be filing a Corrective Action Report to let R&D know about this. Thanks for pointing it out.
Just on the side note, if you are looking to build an application based on the application architecture as in your posted code, then I would recommend that you refer to the attached VI for a much more efficient way of doing this.
Regards,
Chetan K
Application Engineering
National Instruments
Attachments:
Connect Shared Varibles.vi ‏29 KB
DataBind UI_modified.vi ‏12 KB

Similar Messages

  • Yahoo's stock market report doesn't always update

    Is something going on with the stock market report updates on Yahoo's home page? It used to work ok, but for the past few weeks the stock market report doesn't always update and sometimes the Nasdaq report doesn't show (only the Dow). This happens in Safari 5.0.1 running Leopard and 4.1.1 running Tiger.

    HI,
    It appears Yahoo needs to update their software to be compatible with the most recent versions of Safari whether it's 4.1 or 5.0.1
    You can contact Customer Care at the bottom of this window.
    http://help.yahoo.com/l/us/yahoo/homepage/homepage/
    Carolyn

  • How to update shared variables

    Hi, I have a VI that opens an text file and reads some information from that page. That information should be copied to shared variables. The problem is that I have 160 shared variables and I don't want to drag them all from project explorer to Block diagram and wire them all. Is there any other way to update that data to shared variables? I can easily open and read data with couple of while loops. I'd really be thankful if someone could help me.
    Mika

    I do need all 160 variables. I have to make a sequencer.With cFP modules and laptop is ment to specify sequences needed for testing some equipment. I have 16 digital inputs and 16 digital outputs and 8 analog inputs. Those shared variables specify which channel is ON and for how long, and the delay of the channel. There is also variable that tells if channel is in use or not. One variable is channel factor, which tells how many cycles there will be in that cycle time. So if one channel needs only 5 variables, those 40 channels need 160-200 variables.  Shared variables are specified in the user interface and then cFP module can easily read them. In user interface there is also the possibility to open a file that have variables specified earlier. In that point I need to open a text file and update the data to shared variables.
    Mika

  • Is it possible to use a NI-9871 module on a C-RIO to automatically update shared variables?

    I am trying to use shared variables to poll a modbus network automatically.  I have a C-RIO 9014 and NI-9871 serial module that the modbus network is connected to.  Does anyone know if this is possible?  If so, could you post a sample configuration?  I have not been able to get it to work...   
    Thanks,
    Dan

    Hi D Reck,
    Using the 987X modules with a cRIO is much like using any other C Series module with a cRIO. It will interface with the FPGA through read/write controls or use a DMA transfer to send the serial information to the RT controller for processing. Note...you will need NI-RIO 2.4 and above depending on your version of Real Time and LabView or you will have to additionally install NI-Serial. DSC can only be run on Windows so I would guess that you would use variables coming from the FPGA or RT to DSC on a windows host machine and in the DSC module you can do ModBus Instrument I/O. Does that answer your question?
    Ipshita C.
    National Instruments
    Applications Engineer

  • Updating "Shared Variable" Map address

    Hi Experts!
    I have a question regarding shared variables:
    At the moment I am creating a Shared variable (81O_G01) in the library and this is binded to :
    My Computer\SVCREATION.lvlib\Modbus1\410611
    Question is: How can I change this SV address (410611) when tha variable has been already opened?  is it possible?
    Thanks in advance!
    Anibal
    Solved!
    Go to Solution.

    Hey Anibaldos,
    It sounds like you are basically attempting to change the binding of a variables from <MB I/O Server>/A1 to <MB I/O Server>/A2 at runtime. I think there are a few options for this:
    1) In LabVIEW DSC you can access a hosted variable and change the binding address using a property node. If you are running the modbus server on a windows machine, this is the best option. Otherwise, I am guessing you do not have DSC. If that is the case you can still change bindings by editing the library manually, but it sounds like this will not help you out.
    2) It may be possible to open a shared variable connection using the palettes (Data Communication >> Shared Variable) to that specific address, in which case you have no need to use the bound shared variable. You can simply open a connection to two different modbus addresses and read from one or the other as needed.
    3) If #2 does not work, then I believe you can still use the datasocket API to perform such an operation. There is a little bit of research you'll need to do to use it (for example, URL formatting and UI-thread issues) but it does work. I believe this is the approach taken by this document: https://decibel.ni.com/content/docs/DOC-13508 (from experience I know you have to dig a bit to find the VIs, but they are there).
    4) You can use the library on Ni Labs: http://ni.com/labs

  • Doesn't always update last played list

    I have a 2nd generation shuffle that I bought a month ago.
    It works fine, except for one thing. About 25 percent of the time when I plug my shuffle into my iMac, it doesn't update the "last played" list with the songs I've been listening to since the last time I had it plugged in. The other 75 percent of the time, it updates the "last played" list just like it's supposed to. As far as I can tell, this behavior is random.
    I'm using all the latest versions of iTunes, and I've updated my iPod software.

    Hello WHAVEman,
    I was able to replicate what you were observing. It seems that there is a bug in the front panel binding code. I would be filing a Corrective Action Report to let R&D know about this. Thanks for pointing it out.
    Just on the side note, if you are looking to build an application based on the application architecture as in your posted code, then I would recommend that you refer to the attached VI for a much more efficient way of doing this.
    Regards,
    Chetan K
    Application Engineering
    National Instruments
    Attachments:
    Connect Shared Varibles.vi ‏29 KB
    DataBind UI_modified.vi ‏12 KB

  • Polling variables using Modbus IP and labview 8.2.0 shared variables

    I'm using shared variable in order to read/write register on a Watlow PM controller over Modbus IP standard. Once I make a change to FP control, the shared variable polling starts and I no longer get update of any controls or indicators on the FP.
    Just wondering if this is an LV 8.2.0 issue and if any of this is addressed in LV 8.5?
    Thx ahead of time
    richjoh

    Hi richjoh,
    If I understand correctly, there are two issues to address: the status of the UpdateNow shared variable and the fact that your controls and indicators are not updating. 
    When you right-click on UpdateNow in your project and select Properties, what is the data type listed there?  Is it bound to one of the other shared variables that has a value in Variable Manager?
    After changing a control on the front panel, do you continue to see the values changing in Variable Manager even though the controls and indicators do not update on the front panel?  Do you see the same behavior regardless of which control you change? 
    Thanks for the additional information. 
    Jennifer R.
    National Instruments
    Applications Engineer

  • Shared Variable Engine Error Handling

    I have a HMI system that connects through shared variables to an OPC Server. I have encountered problems with Variable Engine, and a problem with tagger which I don't know anything about. I checked OPC Server to see  ifit's installed properly and the items status is good, and the server's connected. I tried to restart the shared variable engine service but it doesn't reply. When I monitor variables there's no connection. I used Alarm&Event query.vi in my application and then encountering tagger error, server connection failed. How could I handle these errors? 
    I appreciate any help.

    I've created Bindings to OPC items I want to read/write through an OPC Client instance, bound front panel objects to these shared variables, deployed the entire library and run the VI.
    All the connections were true (green PSP-LED. through the Monitor Variables all the variables and OPC items of client instance had good quality and right value.
    All the variables were configured to log data and alarms.
    Configuring the library for a data base through it's DSCsettings:database, I used Historical VIs (Read trace,… ) to retrieve data from citadel and they worked properly. I used Alarm & Event Query.vi to retrieve alarms from citadel, the VI encountered this Error:
            "Some part of tagger encountered a problem and should be closed"
    After that the entire connections failed (PSP-LEDs goes red) and the I/O Engine couldn't be restarted and shows this Error:
                 "Could not stop the National Instruments Variable Engine Service on local computer.
                  Error 1053: the service did not respond to the start or control request in a timely fashion."
    And the variable monitor dosen't show any library and variables.

  • Shared Variables, Scan Engine & Multiple Targets

    I am seeking some general advice about the structure of my LabVIEW project.
    The project consists of a laptop with LabVIEW, and a joystick connected, and a CompactRIO connected via ethernet. I had been running the cRIO in FPGA Interface mode, however a change in some things caused the project to have to be shifted to scan mode.
    As of now, the code on the laptop updates shared variables on the cRIO, and reads from shared variables on the cRIO for monitoring. I want the shared variables hosted on the cRIO because it will also need to operate without the laptop connected. Before switching the cRIO to scan mode, I found that I had to first run the laptop code, and then run the cRIO code, or the shared variables would not communicate properly. Now that I have switched to scan mode, I have to run the cRIO code first, and even then the shared vars do not communicate properly for more than a few seconds, and are much laggier.
    My ideal project solution is a system that can run with or
    without the laptop connected, and obviously not having all these shared
    variable issues. I would like to autostart the code on the cRIO, and
    have the user run the laptop code if necessary, but in the past this did
    not seem to work with the shared variables.
    I am really confused about why this is happening. Hopefully I have explained my problem well enough. I don't really want to post the entire project on here, but I can email it to people if they are willing to take a look at it. Thank you for taking the time to read this.
    I am running LabVIEW 2010 SP1 with the Real-time, FPGA, DSC, and Robotics modules. I have the Feb '11 driver set and NI-RIO 3.6.0 installed and all completed updated on my RT cRIO.
    Solved!
    Go to Solution.

    I do this type of stuff all the time...
    Move all your NSV libraries to the cRIO.  From the project you must deploy to the cRIO and from then on they are persistant until you reformat.
    From your windows HMI app, you can place static NSV tags on the block diagram or use the dynamic SV API to R/W.  Also you can bind HMI controls and
    indicators directly to cRIO NSV's (This is what I do)  Also I create a 'mirror' library in the PC HMI that is bound to the cRIO library.  This library has DSC Citadel
    data logging enable and will automatically save historical traces of all my important data - very nice.  PC hosted libraries can be set to autodeploy in the app build. 
    also the project has a autodeploy option for the Development Environment which I normally turn off.  If you have PC to cRIO binding setup then you need to be cautious
    about any sort of autodeployment since it will potentially force the cRIO app to stop when you deploy.  To get around this, you can use PSP binding (IP address rather than project
    process name) and use the DSC deploy library vi's in your HMI app.  Once you are using the scan engine you can use the DSM (Distributed System Manager) app to view, proble and
    chart all of you IOV and NSV's on your network.

  • Multiple use of a shared variable - buffers?

     Hi all,
    I have an application on a RT target that measured data (around 60 variables stored in a big cluster) in a TCL, sends it via RT-FIFO
    (a modified U8-Array buffer that contains the data converted into string and then flattened to U8-Array) to the NTCL which then
    writes the data to a file and sends it via TCP/IP to the user interface on a PC.
    This is slow. I know that strings should be avoided on RT and especially extensive formatting of variables into strings. I want to
    switch over to shared variables now and write files on the PC only.
    Problem: I need the data on the RT target as well for control purposes (PID regulation of a cooling system). Can I read the same shared
    variable twice, once in the control sub-vi and once on the PC? How does that affect the buffeing of the shared varaible. Does each
    "subscriber" gets its own read buffer?
    Or should I use a global variable (this will again be a 60 element cluster) on the RT for communication between the read-data-vi, the
    control-vi and the send-shared-variable-to-host PC-vi. As I've read, big global variables should be avoided as well on RT-systems.
    Or can I use a queue instead of the global variable for the data-cluster? 
    Cheers,
    Olaf

    Hey,
    Transfering data from a TCL to a NPL (Normal Priority Loop) via RT FIFOs and then via TCP/IP to a Host System has a better performance then a shared variable.
    So using shared variables instead of your actual architecture wont result in a better performance. I would suggest to optimize your code.
    According to the shared variables behaviour: yes, you can read it at your Host and the RT System at the same time without loosing data when configured as RT FIFO.
    Christian

  • Datasocket Server vs. Shared Variables

    Does anyone have any thoughts on what is better - Datasocket Server vs. Shared variables?  I have a table on my application that has text indicating application status, information, warning and debug messages and would like to view it remotley over a network.  The old way was to use the datasocket server and bind it to the other control.  Is the new shared variable engine more efficient?  These machines are at different sites.
    John

    Hi John,
    It definitely seems as if you want to gauge user experience on this issue, but since you've had no response I'll chime in and give the "National Instruments view" on the DataSocket/Shared Variable debate.
    Shared Variables were created to expand the functionality of DataSocket and simplify the programming style required to pass information between networked computers. We have extensive literature on this topic and the most pertinent is linked here.
    I hope some users will post to this forum to give you a less formed response than you get from me, but I am more than willing to answer more specifically if you have any more questions regarding this issue.
    | Michael K | Project Manager | LabVIEW R&D | National Instruments |

  • Upgrade to 8.5.1 on all computers using shared variables?

    Hello,
    We are currently using DSC 8.5 and hosting the shared variable engine on one 'server' computer with other computers subscribing to network shared variables.  Some of the computers are Windows XP and others are RT.
    When we upgrade to DSC 8.5.1 can we just upgrade the 'server' computer and leave all other computers at 8.5 or do we need to upgrade all systems to 8.5.1 at the same time?  Will computers running 8.5 be able to read/write network shared variables hosted on the DSC 8.5.1 system?  Is such a progressive upgrade not advised?  Thank you in advance.
       - Chris White
         ThinkG Consulting LLC

    Hi Chris,
    The variables pass through the Shared Variable Engine on your server before they are read by other subscribers. Therefore, you do not have to upgrade the DSC on all your subscribers. I hope that answers your question. For further reference on how network pulished shared variables operate as well as the role of the SVE, please refer to this link.
    Ipshita C.
    National Instruments
    Applications Engineer

  • Shared Variable Engine not always started

    I'm experiencing an intermittent problem with the LabVIEW variable engine.  The National Instruments Variable Engine service is configured to start automatically with Windows but that doesn't seem to always be the case.  Every now and then I'll load my application only to find red LED indicators on all of the controls accessing my shared variables.  I'll bring up the variable manager and stop/start the service, restart my application and then they're all green LEDs and everything works.  Any idea what might be causing this?
    Thanks,
    - Kevin Handy

    Hi Kevin.  I don't know what causes the problem, but I have seen it on our systems as well.
    Our solution was to have our application stop and then start the variable engine every time
    it launches.  Stopping might not be ok for you depending on how your applications are
    architected, but for us it is fine.
    We use two System Exec.vi calls, with the following strings:
    net stop "national instruments variable engine"
    net start "national instruments variable engine"
    Haven't had any instances of the application coming up w/o the variable engine since
    we added this initialization step.
    Matt

  • Bound XControl doesn't update when not visible

    Hi all,
    I'm running into an issue with XControl binding and missed Data Change events. In particular I have a VI with a single subpanel. The VI loads and asynchronously runs multiple different subVIs, and handles swapping the subVIs into and out of the subpanel. So far, so good.
    The problem I have is that each of these subVIs contains multiple XControls, each of which is bound to a shared variable. When the subVI is visible in the subpanel, the bound XControl receives Data Change events without issue. The bound XControls in the other subVIs don't receive any Data Change events, and when the subVI is loaded into the subpanel, all of the XControl data is stale. I've verified the subVIs are running correctly, and that simple numeric controls which are bound do correctly update when the subVI isn't visible.
    This appears related to the issue(s) mentioned in this thread from 2006 (!), for which a CAR was raised (41OGGULG).
    Was this issue ever resolved?
    For now my workaround is to bind a control within the XControl (which does work), but this will only work for simple datatypes to be displayed. For complex data types requiring additional prcoessing for display, this is still an issue. Is there anything else I can do to get around this problem?

    Hi MichaelBalzer,
    I've looked at our CAR database and a previous SR having to deal with this CAR. It seems that the answer given by RnD is that the workaround is the "final solution" having to deal with this CAR. Please post this on our idea exchange (http://forums.ni.com/t5/NI-Idea-Exchange/ct-p/idea​s) and keep an eye out for fixes in future versions of LabVIEW!
    Casey B.
    Applications Engineer
    National Instruments

  • Shared Variables Won't Update

    Hello All -
    I'm having a problem interacting with my OPC server, and I'm hoping some suggestions will help me out here.
    I have an OPC server running on a XP SP2 machine, and it is interacting properly with my equipment (a bioreactor). When I use the NI OPC Quick Client, I can browse to the tags I want to see, and those tags update as expected. I can put my hands on the temperature sensor and watch the output change on the QuickClient screen. The only odd thing that I have to do with the Quick Client is that I have to manually set the data type (Float, Single, Double, etc.) and request an asynchronous read before it will begin updating. 
    When I try to connect via Shared Variables, it's a different story. I create the shared variable using the instructions at the bottom of this page:
    http://digital.ni.com/public.nsf/allkb/EA15F53DB6FECCA5862567240064DF09
    Next, I drag the variable to my front panel and start the VI. A summary of the behavior is this:
    * As long as the variable type is read/write, the LED is green on the VI.
    * I can write values to the OPC server
    * The VI never shows data arriving from the OPC server, I can only write.
    * No error messages are received.
    This behavior doesn't change for any permutation of "read/write" status in the variable definition, switching the node from read to write, changing the control from read to write, etc.
    I'm using Labview Developer Suite 8.6 with the DCS option. Fresh install of Windows and LV. No other software on the machine.
    Any ideas how to troubleshoot this? I'm running out of ideas...
    One other update, which may or may not be related: Whenever I try to connect using a DataSocket method via one of the example VIs such as "Monitor Multiple OPC items.vi", LabView crashes immediately. 
    Message Edited by wdmarner on 10-06-2008 10:56 AM
    Message Edited by wdmarner on 10-06-2008 10:57 AM

    Hi Wdmarner,
    When you configure OPC CLient I/O Server, what server are you using? The NIOPCServers or the Varable Engine or something else? With respect to datasockets, does the system hang or does it crash and totally exit labview?
    Regards,
    National Instruments
    RIO Embedded Hardware PSE
    CompactRIO Developers Guide

Maybe you are looking for

  • Archiving object for the tables

    Hi, I want to archive the tables.But some of the tables I did not find the archiving object.What should be done on this.Pls guide. Tables w/o archiving object which i want to archive APQD,ARFCSDATA,DYNPSOURCE,WBBP,REPOLOAD,REPOSRC,BDCP,BDCPS Thanks

  • Email only get a blue box with  question mark

    would someone tell me how to fix my problem, when I get emails and adds I only get a blue box with a question mark. The rest of the family gets the complete email. The older version worked with no problems.

  • ITunes won't load

    whenever I try to access iTunes I get a message saying- "The iTunes application could not be opened. An unknown error occurred (-69)" how can I fix this problem???

  • Connection problem to 10.1.2 OC4J mbeanserver

    Hi All - I am trying to connect to OC4J mbean server in OAS 10.1.2. I found the reqd code in the oracle docs. //Import the JSR-160 classes and interfaces from jmx_remote_api.jar import java.io.IOException; import java.net.MalformedURLException; impor

  • Reg PI sheets

    Dear all, I have created a control recipe , and released the process order , in the error log is empty but I am unable to see PI sheet please explain what could be the reason regards venkat