Does a network published shared variable drop the waveform attributes?

I have the analog input source for a waveform on one NI chassis. The trigger to begin the trend is on another NI chassis. Both of them feed data to a remote Windoze host. I would like to know how I can pass the waveform attributes, ie. Plot Names from the source machine to the Windoze host using a network published shared variable. I am using LV8.0. My two remote chassis are both running RTOS.
I can see that when I set up the DAQ assistant and named my aquired signals, that these names are passed to a waveform chart on the same block diagram. I can use them to update the Plot Names on my front panel. However, when I create an "Array of Double Waveform based" network published shared variable, and then read that variable from the Windoze host there are no attributes attached. The waveform shows up just fine.
I would like to be able to have the attributes update the plot name when I change the plot. I will have about 20 plots and I only want to display them a few at a time. I also want the user to be able to select which one they want to look at.

Hello,
I think you posted the same question to another thread, received an answer, and have now moved on.  Anyway, the workaround to the problem is to peform flatten to string and unflatten from string operations on the waveform before and after sending it to the shared variable respectively.  See the attached screenshot for the specifics.
I hope this helps!
Best Regards,
JLS
Best,
JLS
Sixclear
Attachments:
Workaround Screenshots.JPG ‏206 KB

Similar Messages

  • Network-Published Shared variable access

    How can I deny the writing access to a network-published shared variable from all the network machines, except the machine where the vaiable was deploied??

    Hi Idilio,
    Which version of LabVIEW do you use? Do you use DSC? Where precisely do you specify your security options?
    Cordially,
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  

  • Programati​c Access to network published shared variable - Knowlege Nugget

    Wanted to Share a coding problem I have just resolved:
    I have been trying to debug the code above.
    It worked for one device and not the other (Identical devices: DevA,DevB)
    It has been throwing an error, unable to access variable.
    I resolved the problem by changing by changing the timeout to something > zero
    Hope this helps future travellers
    This seems onlt yo be a problem during the first connection to the variable,
    Subsequent reads don't seem to need it.
    It is almost as though it needs time to troll through the project shared variable database to finde the reference the first time through.
    iTm - Senior Systems Engineer
    uses: LABVIEW 2012 SP1 x86 on Windows 7 x64. cFP, cRIO, PXI-RT

    Ben wrote:
    Since I don't use shared varibales I have to ask...
    Is there a timestamp returned that reveals the state of the variable?
    Ben
    The timestamp is only available on the reads.  It returns the timestamp of when the variable was written to.
    One more thing to watch out for (we recently got bit by this).  The NPSV is actually written to a buffer (8kB?).  The variable is published either when the buffer is filled or 10ms has passed.  There is a command to flush the buffer to avoid this 10ms delay.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Problems writing to network published shared variable hosted on rt (set as modbus slave for crio)

    Hello Ni Forums
    This is my first post on this forum and I have been using labview for about 8 months now
    I have a problem regarding writing data to modbus registers through an i/o server set as a modbus slave for my 9074 hardware.After I have completed building project and deploying the variables and following instructions from here , it yields no result but a line zeros. I have the Ni DSM open and modbus master setup to see whether the data is actually being read/written from the respective sides which both yield the same line of zeros as well.  What I am actually trying to write to is an array of single precision floating data. The registers are structured from ranges F40000-F46534 for 10 elements or have them for range AF40001L1-AF46534L1 of item AF40001L10 where it is an array of length 10. (Referenced ranges here)
    I know 1 thing for sure, the modbus connection works and is ready for data requests, I tested this through NI DSM and manually set data for and my master received them . 
    System and Project specifications
    Windows 7 OS
    Labview Full Development System 2011
    No Labview DSC module but I am using the real time module as referenced by one of the documents
    This project is a real time application with fpga mode (not scan interface mode)
    The master and slave are the same subnet and network
    Modbus Connection Type: TCP
    9074 compact rio 8 slots
    9234 module x3 
    9221 module x1
    9472 module x1
    Shared Variable Engine service running on windows os and rtos system 
    Used this  guide to learn about the modbus protocol as I searched all over the internet to learn about modbus 
    I already having Modbus IO Server software installed on the crio through ni max version 1.8 for NI RIO 4.0
    attached file(s)
    Image of Crio software specifications
    Image of the Data being written into variable in rt block diagram
    Short Version of the problem: Why is the io variable not being written into with properly converted data?

    The data can have zeros but not all of them will be zeros and I have another program (on local computer for database storage)that is recieving the same data through TCP and they are not zeros. 
    If a machine is running and is active then the data that will be collected should not be zero , it should infact  be some analog value > 0.
    I will look into the function you described
    How do you view the errors in the IO server subfolders ?
    Is it the modbus register called error status that returns an error code if so that value is currently 0 
    Regards mzamstl
     

  • Test network published shared variable

    Hi,
    I want to share data from a main VI to other VI´s on network (different PC´s) however i want to test it using a single PC. Is possible to make that test using a main VI and trying to share variables "on network" to receiver VI...?

    Absolutely!
    When in doubt, try it out.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Problems with communication across a network using shared variables

    I have two programs(projects) running on two different computers connected with a LAN. I am using LabVIEW 8.0, and the DSC-module. The program on one of the computers have measurements that I want to collect and show on the program running on the other computer on the network. I choose the indicator where I want to show the data, select ''Properties'', ''Data binding'', ''Shared Variable Engine (NI-PSP)'', ''Network Items'' and then browse for a Network...but the problem is that in my ''Network Neighborhood'' There is only one computer...and that is the one I am one...not the computer on my Network that I want to communicate with....
    Have anyone any suggestions on how to solve this?
    Kind regards Mari

    Mari,
    Check this link regarding trouble shooting network-published shared variables:
    http://digital.ni.com/public.nsf/websearch/6E37AC5435E44F9F862570D2005FEF25?OpenDocument
    This might be a firewall issue, so I would check that first.
    Frode

  • Can I use the timestamp of a Network published global variable to reduce network traffic?

    I would like to use a couple of network-published global variables that will contain large clusters of data.  I want to host them on one device but read them from several - consider a distributed control system.  The data will update very infrequently, but, when it does, I want all my HMIs to know quickly.  I can have all the HMIs just read the data 4x/second (that would be fast enough) but I was wondering if there is a more elegant solution (still using global variables).  If I read only the timestamp 4x/second from each of the HMIs, compare it to the last read, and then poll the whole variable only if the timestamps are different, will that require less resources than just grabbing the whole variable every time?  In other words, does reading the timestamp use the same amount of resources as reading the whole variable?
    With really simple code, assuming the "Setup Data" cluster is quite large, does....
    ...get me any advantage over...
    Solved!
    Go to Solution.

    mark3545 wrote:
    So that means they are already doing what I want anyway, right?  If the reader only gets updated when the writer changes it, I can poll it as often as I want without increasing traffic, correct?
    That is correct.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Shared Variable through the internet

      We have a remote site that is running LabView to record some data.  Currently we can log on to the computer using VNC (remote control software), we use a static IP address with a port number that connects to a gateway that uses port forwarding to get to the machine of our choice.  Doing that we have control of the whole computer, but the transfer of anything is slow and the screen refreshes about every 5 seconds or so using a low (64) color setting, using full color is almost painful.
      So the latest idea is to be able to send data from the remote system and display it or save it on a local system.  The idea would be that only data is being sent which should be faster since we would not have to worry about transfering graphics and other stuff.
      I have been playing with shared variables all day and searching the forums.  From what I have read it sounds possible, but I have not been able to do it yet.  I am wondering if there is a problem with the port forwarding.  I have tried tools > shared variables > register computer, but it has not helped.  Is there any good detailed instructions on how to use shared variables over the internet?  I do not have any VI's to share because I have been using the help vi's.

    Bryan,
    Let me know if I understand your problem.  You are trying to remote into a computer using VNC over some sort of network to gain access of a VI that is running on that machine.
    The problem is that the computer you are looking at is updating slowly.  Is the VI collecting the data returning the correct values at the correct rates?
    Have you thought about using Remote Front Panels?  If you are just trying to access another VI on a computer on the network, I would try this.  You may also want to check out the Web Services, which is new for 8.6.
    Have a great day,
    Justin Parker
    National Instruments
    Product Support Engineer

  • Get data in a subreport based on a shared variable from the main report.

    Goodd morning,
    My question/problem is how to manage this scenario.
    I am transfering 2 shared variables (pereiod from /period To, ) from the main report to a subreport and now  i would like to get data in this subreport based on these 2 variables...
    The problem is that i can not find the shared one in select expert icon...
    Could anyone point me to solve this issue?
    Thks for any help.
    Jose Marin
    Crystal Report XI SR3

    Hello Jos,
    I recommend to post this query to the [Crystal Reports Design|SAP Crystal Reports; forum.
    This forum is dedicated to topics related to the creation and design of Crystal Report documents. This includes topics such as database connectivity, parameters and parameter prompting, report formulas, record selection formulas, charting, sorting, grouping, totaling, printing, and exporting but also installation and registering.
    It is monitored by qualified technicians and you will get a faster response there.
    Also, all Crystal Reports Design queries remain in one place and thus can be easily searched in one place.
    Best regards,
    Falk

  • Why does my network keep timing out during the update?, Why does my network keep timing out during the update?

    I've been trying unsuccessfully for a week to update my iPad and my iPod but it keeps giving me an error message staing that the network timed out. Does anyone know how to fix it?

    The update is several hundred megs
    Which means it can't be done over 3G if you're trying it that way. And if your other internet connection isn't fast enough it will time out.
    People have also had issues with their firewalls or anti virus software....the software detects the update file as a virus or malware (incorrectly of course) and blocks it. So you can also try disabling your firewall or anti virus and give it a try and see if that helps.

  • HT4352 Why does Apple TV 3rd Gen keep dropping the Home Share connection after 3 to 30 minutes

    I've successfully set up the Apple TV3 and it works a dream - for a short while. Then for some reason it disconnects and I have to go back ot the iMAC holding the iTunes Libarary, turn off Home Share then turn it on again and SOMETIMES the problem is corrected for a short while (anything from 3 -30 minutes) then I have to start all over again. Its really frustrating!!. The Apple TV and iTunes are running the most up to date software, there firewall on the iMac is disabled and the router is running its latest firmware. My local Apple authorized supplier can't help - all they suggested was changing the apple password, re-entering it on all devices and trying again - this hasn't work. I'll try any solution though the final one might be to take it back for a refund because it doesn't do what it was sold to do!

    I've successfully set up the Apple TV3 and it works a dream - for a short while. Then for some reason it disconnects and I have to go back ot the iMAC holding the iTunes Libarary, turn off Home Share then turn it on again and SOMETIMES the problem is corrected for a short while (anything from 3 -30 minutes) then I have to start all over again. Its really frustrating!!. The Apple TV and iTunes are running the most up to date software, there firewall on the iMac is disabled and the router is running its latest firmware. My local Apple authorized supplier can't help - all they suggested was changing the apple password, re-entering it on all devices and trying again - this hasn't work. I'll try any solution though the final one might be to take it back for a refund because it doesn't do what it was sold to do!

  • Does anyone else think Apple has dropped the ball since Tiger?

    I'm using Mavericks and it's slow and buggy as all get out. I miss Tiger. Anyone else think this OS is a large leap backwards?

    It would help us to help you if we could have some more technical info about your iMac.
    If you wish, Please download, install and run Etrecheck. Etrecheck was developed as a simple Mac diagnostic tool by a regular Apple Support forum user and technical support contributor named Etresoft.
    Etrecheck is a small, unobstrusive app that compiles a static snapshot of your entire Mac hardware system and installed software.
    This is a free app that has been honestly created to provided help in diagnosing issues with Macs running the new OS X 10.9 Mavericks.
    It is not malware and can be safely downloaded and installed onto your Mac.
    http://www.etresoft.com/etrecheck
    Follow its instructions to Copy/paste and post its report here in another reply thread so that we have a complete profile of your Mac's hardware and installed software so we can all help with your Mac performance issues.

  • Using network shared variables in two computers connected via a network switch

    let me start by saying im a rookie to the programming environment but i have used Labview a couple of times to understand the basics,  i have a computer and a laptop (both using vista), both of them with Labview Full development System (Student ed. with Mathscript) installed, so what im tryin to do is to use the built in microphone located in the laptop to aquire sound and then use a Shared Variable to transfere the sound signal from the laptop to the computer, the laptop and the computer are connected to a network via a network switch and ethernet cables,  so far i nothing worked, i can manage to create the shared variable in the laptop and use it there but it doesnt appear in the computer, im not sure whats the problem i have even disabled firewalls in both systems, help from anyone wil be appreciated.....

    Hi Lukie,
    This KB should be of some assistance to you.
    Trouble shooting network published shared variables
    Also the following link gives some instructions on the use of shared variables.
    http://zone.ni.com/reference/en-XX/help/371361B-01/lvhowto/bind_to_source/
    I hope this is of some assistance, let me know if you have any more problems.
    All the best,
    Message Edited by mickeyw on 08-05-2008 12:29 PM
    Mike W
    Applications Engineer
    National Instruments UK&Ireland

  • Custom data type causing trouble in deploying shared variable to RT target

    I seem to be having some difficulty in using a network published shared variable created from a custom data type when deployed as an executable on an RT cRIO target.  I'll start by describing why I believe this is where the problem lies.  I created my RT VI in the LabVIEW development environment (LV 2012) and everything works fine.  This VI is pretty simple because it rapidly devolved in to a debug exercise.  The RT VI starts by simply blinking the User LED a couple of times and then starts a simple acquisition loop to read a few values off the hardware using the scan engine (while still blinking the User LED).  After reading the hardware, the values are bundled in to a cluster and written to a network-published shared variable defined by a type def custom control.  The custom control contains five dbl precision floats.  If it matters, the cRIO RT system hosts the shared variable in this case.
    So, I deploy this under the development environment and everything works fine.  The LED blinks merrily along, telling me that the program is running properly.  Running a host VI that reads the network-published shared variable yields the desired result.  All is good.
    Now I want the cRIO system to run this simple program autonomously at startup.  I build it, set it as the startup VI, deploy it and then restart the cRIO target.  The LED never starts blinking... the VI does not seem to run.  I will spare you most of the debugging work and jump to the end.  I basically "Diagram Disabled" various sections of code until the VI started running correctly as an executable.  I kept reducing the size of the disabled code until only one thing was disabled:  the write to the custom data type shared variable.
    So, I guess my question is this:  Are custom data types defined by type def'd custom controls allowed in executable RT programs?  I've read through the cRIO Developers Guide, my NI Real Time Development course book and the Using Shared Variables white paper and I didn't see anything that forbade it.  I know that there are some things not allowed in executables that are allowed in the development environment (front panel property nodes, dialog VIs, OS-specific calls, etc), but no mention of custom data type shared variables.  Any ideas as to why my VI runs in the development environment but fails when compiled unless I remove the write to the network published shared variable?
    Thanks in advance for your help!!
    Solved!
    Go to Solution.

    Paolo,
    So I thought that you meant to disconnect them in the build specification.  Under the Additional Exclusions in the build specification, there is a check box for Disconnect Type Defs.  I checked that box, recompiled, redeployed and it did not work.  At this point I had to give and move forward, so I was going to convert the data typed from a cluster to an array.  When I went in to change the data type in the shared variable pop-up from the project explorer, there was a big button under the variable definition that "Disconnect from Type Def".  Clicked that button, recompiled, redeployed, restarted and everything worked great.  Thank You!!
    I suspect that I'll have to be careful if I change the definition of that data type (add an element, etc) since it is no longer connected to the data type.  We'll cross that bridge when we need to.
    Thanks again

  • Shared Variables for Real-TIme Robot Control

    I'm really stuck in my efforts to use LV real-time in my hardware control application. I have a 6-axis industrial robot arm that I must control programmatically from my PC. To do this I've developed a dynamic link library of functions for various robot control commands that I can call using Code Interface Nodes in LV (using 8.5). This has worked great, that is, until I tried to port parts of the application to a real-time controller. As it turns out, because the robot control dll is linked with and relies so heavily upon several Windows libraries, it is not compatible with use on a RT target, as verified by the the "DLL Checker" application I downloaded from the NI site. When the robot is not actually executing movements, I am constantly reading/writing analog and digital I/O from various sensors, etc.....
    This seemed to suggest that I should simply segregate my robot commands from the I/O activities, using my host PC for the former, and my deterministic RT loop on the target machine for the latter. I set up a Robot Controller Server (RCS) vi running on my host PC that is continuously looking for (in a timed loop) a flag (a boolean) to initiate a robot movement command. Because several parameters are used to specify the robot movement, I created a custom control cluster (which includes the boolean variable) that I then used to make a Network Shared Variable that can be updated by either the RT target or the host PC running the RCS. I chose NOT to use buffering, and FIFO is not available with shared variables based on custom controls.
    Here's sequence of events I'd like to accomplish:
    1) on my host PC I deploy the RCS, which continuously pools a boolean variable in the control cluster that would indicate the robot should move. The shared variable cluster is initialized in the RBS and the timed loop begins.
    2) I deploy the RT vi, which should set the boolean flag in the control cluster, then update the shared variable cluster.
    3) an instance of the control cluster node in the RCS should update, thereby initiating a sequence of events in a case structure. (this happens on some occassions, but very few)
    4) robot movement commands are executed, after which the boolean in the control cluster is set back to its original value.
    5) the RT vi (which is polling in a loop) should see this latest change in the boolean as a loop stop condition and continue with the RT vi execution.
    With the robot controller running in a timed loop, it occassionally "sees" and responds to a change of value in members of the shared variable cluster, but most times it does not. Furthermore, when the robot controller vi tries to trigger that the movement has completed by changing a boolean in the control cluster, the RT vi never sees it and does not respond.
    1) Bad or inappropriate use of network shared variables?
    2) a racing issue?
    3) slow network?
    4) should I buffer the control cluster?
    5) a limitation of a custom control?
    6) too many readers/writers?
    7) should I change some control cluster nodes to relative, rather than absolute?
    8) why can't I "compile" my RT vi into an executable?
    Any help would be greatly appreciated. Unfortunately, I'm writing this from home and cannot attach vi files or pictures, but would be happy to do so at work tomorrow. I'm counting on the collective genius in the universe of LV users and veterans to save my bacon.....
    David

    Hi David,
    I'm curious why you decided to build a CIN instead of developing the code in
    LabVIEW.  Is there some functionality that that LabVIEW couldn't
    provide?  Can you provide some more information about the LabVIEW
    Real-Time target you're using?  What type of IO are you using?
    It is impossible to get LabVIEW Real-Time performance on a desktop PC running
    an OS other than LabVIEW Real-Time.  Even running a timed loop in LabVIEW
    for Windows won't guarantee a jitter free application.  Also, no TCP based
    network communication can be deterministic.  This means Network Shared
    Variables are also not deterministic (they use a TCP for data transport) and I
    advise against using them as a means to send time critical control data between
    a Windows host and a LabVIEW Real-Time application.
    In general, I would architect most LabVIEW-based control applications as
    follows:
    - Write all control logic and IO operations in LabVIEW Real-Time.  The
    LabVIEW Real-Time application would accept set points and/or commands from the
    'host' (desktop PC).  The Real-Time controller should be capable of
    running independently or automatically shutting down safely if communication to
    the PC is lost.
    - Write a front-end user interface in LabVIEW that runs on the desktop
    PC.  Use Shared Variables with the RT-FIFO option enabled to send new set
    points and/or commands to the LabVIEW Real-Time target.
    Shared variable buffering and RT-FIFOs can be a little confusing.  Granted
    not all control applications are the same, but I generally recommend against
    using buffering in control applications and in LabVIEW Real-Time applications
    recommend using the RT-FIFO option.  Here's why:  Imagine you have a
    Real-Time application with two timed loops.  Time-loop 'A' calculates the
    time critical control parameters that get written to hardware output in
    timed-loop 'B'.  Loop 'A' writes the outputs to a RT-FIFO enabled variable
    with a RT-FIFO length of 50.  Loop 'B' reads the outputs from the shared
    variable, but for some reason, if loop 'B' gets behind then the shared variable
    RT-FIFO will now contain several extra elements.  Unless loop 'b' runs
    extra fast to empty the RT-FIFO, loop 'B' will now start outputting values that
    it should have output on previous cycles.  The actual desired behavior is
    that loop 'B' should output the most recent control settings, which means you
    should turn off buffering and set the RT-FIFO length to 1.
    There is also a clear distinction between buffering and the RT-FIFO
    option.  The RT-FIFO option is used to add a non-blocking layer between
    network communication and time-critical code in LabVIEW Real-Time
    applications.  It also provides a safe mechanism to share data between two
    loops running in a Real-Time application without introducing unnecessary
    jitter.  Network buffering is a feature that allows a client to receive
    data change updates from the server even if the client is reading the variable
    slower than the server is writing to it.  In the example I presented above
    you don't need to enable networking because the shared variable is used
    entirely within the Real-Time application.  However, it would be
    appropriate to send control set points from a Windows PC to the Real-Time
    application using network published shared variables with the RT-FIFO option
    enabled.  If it is critical that the Real-Time application executed all
    commands in the sequence they were sent then you could enable an appropriate
    buffer.  If the control application only needs the latest set point
    setting from the Windows host then you can safely disable network buffering
    (but you should still enable the RT-FIFO option with a length of 1 element.)
    Network buffering is especially good if the writer is 'bursty' and the reading
    rate is relatively constant. In the robot application I can imagine buffering
    would be useful if you wanted to send a sequence of timed movements to the
    Real-Time controller using a cluster of timestamp and set point.  In this
    case, you may write the sequence values to the variable very quickly, but the
    Real-Time controller would read the set points out as it proceeded through the movements.
    The following document presents a good overview of shared variable
    options:  http://zone.ni.com/devzone/cda/tut/p/id/4679
    -Nick
    LabVIEW R&D
    ~~

Maybe you are looking for

  • Ipod touch will not add any video.

    After updating itunes to the newest version whatever it is right now.  I can no longer add any videos, movies, or tv shows.  I never had a problem with it before.  i even have the newest ipod.  The ipod 5 generation.  anyone have any suggestions

  • No Password Keeper on 9100 - spent hours on forums, still can't get it to work! HELP!!!

    Guys, before you ask me to search the forums etc, believe me I've exhausted every possible avenue to try and find out where the hell my password keeper has gone to! So here we are, this is the situation; 1. Have an old Pearl 8110 2. Bought a new Pear

  • DMP when trying to send a mail

    Hi Experts My client is on 8.81 PL04 and for only one of the users, when they try send an internal mail, it gives the following error: Documents settings V Lettie\Local settings\applications data \ sap \ sa application has a problem Diagnostic file c

  • My Hp smart print bing bar disappeare​d - I would like to know how to get it back

    HP 6500A Printer - Windows 7   Where did my bing bar for smart print go & how do I get it back  Thanks

  • Can only open reader once

    Whenever I try to open Reader XI or open a .pdf file, it will allow me to open it one time after I start my computer.  If I try to open another .pdf file or even open the first file again (after closing), Adobe Reader will not open. No error messages