Shared network variables RT FIFO versus buffering

Hello,
can anybody tell me why I should use network shared variables with buffering and RT FIFO (http://www.ni.com/white-paper/4679/en/)?
Only buffering: ok (reader can catch up + I can use fancy none-RT data types).
Only RT FIFO: ok (the high-prio reader/writer is time deterministic).
FIFO and buffering: why? Isn't a FIFO a buffer already?
Thanks!
Peter

DMA: great, I'll have a closer look.
Buffer: What do you mean by "buffer another part", and "buffering on the TCP IP side"?
Conceptually, the problem is that a writer writes, say, at rate 10 pieces of new data / second, and a reader reads 5 pieces of written data / second. If this discrepancy of rates is temporary, a buffer can be used to "remember" the written data so that the reader doesn't miss data from the writer.
Now, the problem can be tackled by a FIFO the same way, a FIFO being a special buffer with a constraint on the orders of written/read data.
So, based on the example above: what is the sense in using a FIFO and a buffer? And what does it have to do with network/TCP IT?
Thanks!
Peter

Similar Messages

  • Sharing a shared network variable between two PC's connected to a network

    Sharing a shared network variable between two PC's connected to a network
    Surely this shouldn’t be so difficult! I have a little LabVIEW program running in the background of PC1. The exe’s task is to collect and send OPC variables held on a SCADA system and convert them to shared network variables (as I thought that they would be easy to share over a network, easier than the nasty OPC and DCOM issues). I have PC2 which runs measurement studio and I have created a nice test VB program which either writes or reads the network variables which are on PC1. The PC1 collection software is working perfectly and when I change the values on the SCADA system I can see the network variable change on ‘NI Distributed System Manager’. I When I look at ‘NI Distributed System Manager’ on PC2 I can’t see PC1 on the list and when I use the basic measurement studio code below to read the network variable it times out at the TestVariable.connect() line.
    Ok so what do I need to do to read a shared network variable sat on PC1 from PC2 on the network
    Public Class Form1
    Private WithEvents TestVariable As NetworkVariableSubscriber(Of Double)
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    TestVariable = New NetworkVariableSubscriber(Of Double)("\\192.168.58.139\Test\TestVariable")
    TestVariable.Connect()
    End Sub
    Private Sub TestVariable_Data_Updated(ByVal sender As System.Object, ByVal e As NationalInstruments.NetworkVariable.DataUpdatedEve​ntArgs(Of Double)) Handles TestVariable.DataUpdated
    TextBox1.Text = e.Data.GetValue
    End Sub
    End Class

    Sorry lost all the formatting
    Surely this shouldn’t be so difficult! I have a little
    LabVIEW program running in the background of PC1. The exe’s task is to collect
    and send OPC variables held on a SCADA system and convert them to shared
    network variables (as I thought that they would be easy to share over a
    network, easier than the nasty OPC and DCOM issues). I have PC2 which runs
    measurement studio and I have created a nice test VB program which either
    writes or reads the network variables which are on PC1. The PC1 collection
    software is working perfectly and when I change the values on the SCADA system
    I can see the network variable change on ‘NI Distributed System Manager’. I
    When I look at ‘NI Distributed System Manager’ on PC2 I can’t see PC1 on the
    list and when I use the basic measurement studio code below to read the network
    variable it times out at the TestVariable.connect() line.
    Ok so what do I need to do to read a shared network variable
    sat on PC1 from PC2 on the network
    Public Class Form1
        Private
    WithEvents TestVariable As NetworkVariableSubscriber(Of Double)
    Private Sub Form1_Load(ByVal sender As System.Object,
    ByVal e As System.EventArgs) Handles MyBase.Load
    TestVariable = New NetworkVariableSubscriber(Of
    Double)("\\192.168.58.139\Test\TestVariable")
    TestVariable.Connect()
    End Sub
    Private Sub TestVariable_Data_Updated(ByVal sender As
    System.Object, ByVal e As
    NationalInstruments.NetworkVariable.DataUpdatedEve​ntArgs(Of Double)) Handles
    TestVariable.DataUpdated
    TextBox1.Text = e.Data.GetValue
    End Sub
    End Class 

  • Network Datastreams and FIFO Shared Variables

    Does someone know why one would use a Network Datastream as opposed to a network published shared variable with FIFO enabled? Seems like they would be identical except that the Shared variable could potentially have multiple listeners.
    Thanks,
    Craig

    Hey Craige
    You are correct that a major difference between Network Steams and Network Published Shared Variables with RT FIFO enabled is that the Shared Variable can publish to many computers at once.  There are a few other differences that are outlined in the comparison table in this article  
    http://zone.ni.com/reference/en-XX/help/370622J-01/lvrtbestpractices/rt_gui_bp/
    There's another good comparison with some more information in the last paragraph of this article. 
    http://zone.ni.com/reference/en-XX/help/371361H-01/lvconcepts/networkstreams/ 
    Regards,
    Eric L.
    Applications Engineer
    National Instruments

  • Read LabVIEW shared variables ( network variables?) with VB6

    Hi, i need to read some LabVIEW shared variables (network variables?) using a VB6 program.
    Is it possible?
    I think that yes, using Measurement Studio for VB6 but I don't know how and I haven't found information in the  Measurement Studio for VB6 help file
    Could some one send me a program example or explain me how it is possible to read LabVIEW shared variables fromVB6?

    Hello quintella,
    To be able to interface with LabVIEW
    Shared Variables with Visual Basic 6 you will need to use NI Measurement
    Studio, which ships with examples on how to use VB6 with DataSocketing. Apart
    from Data Sockets, if you are using Measurement Studio 8.1 or higer, with the
    Network Variable Library introducted in NI Measurement Studio 8.1, you can read
    and write to shared variables in ANSI C, Visual Basic .NET or Visual C#. (http://zone.ni.com/devzone/cda/tut/p/id/4679)
    Here you have two links where you can
    find more information about how to use the datasocket option. In addition, there
    are several examples included in Measurement Studio with Network Variables and
    Datasocket.
    http://forums.ni.com/ni/board/message?board.id=230&message.id=2945&requireLogin=False
    http://forums.ni.com/ni/board/message?board.id=230&message.id=3324&requireLogin=False
    Regards,

  • How can I fire an event case on the value change of an indicator, or a network variable?

    Hi!  I have an event structure setup to look for a value change of an indicator on the front panel.  The indicator is updated by the value of a boolean network-published shared variable through a seperate parallel loop that is polling all of the network-published shared variables.  The event, however, does not fire when the indicator changes value.  I have switched the indicator to a control and tested it with user interaction and that works just fine.
    I want to use the event structure space for my code exectution because it seems logical that that is where it would go, and it will help keep my block diagram tity.  The code is also something I would like executed with the front pannel temperarily disabled.  I would rather not have the code in my network-variable polling loop because again the tity issue.   I would also rather not use a notification VI wired to an independent loop for this particular code.
    Is there a way to have an event structure fire an event with the value change of an indicator, or a network variable directly?
    Thanks for your input.
    LV 8.5
    -Nic

    Thanks for the reply.
    I went about things a little differently, but got them to work so..... .  It really was not my desire to have a boolean indicator on the front panel.  As previously stated, my ultimate goal was to have an event fire on the change of a network variable, which I had to poll for anyway but that is tucked away in a section where I am handling all my network variables.  I ended up using that Create User Event, Register User Event, and Generate User Event SubVIs to handle the task.
    I've read the help for all of those SubVI's and it is not entirely clear to me if the event fires every time the "Generate User Event" receives some inputs, or if it only fires when the value changes.  I could do a test to find out.  It wouldn't be too difficult to add a shift register or a feedback node and place the Generate User Event in a case structure so that it is only fired when the input changes state.

  • Network Variable Engine in application started in autorun

    Using CVI 2009 SP1 I developed an application that uses Network Variable Engine:
    At the beginning of main I wait in a do-loop until the Variable Engine is running
    t_start = Timer();
    do {
    CNVVariableEngineIsRunning(&running);
    if (!running) {
    t_rem = 20.0 - (Timer() - t_start);
    if (t_rem > 0.) Sleep(100); //100 ms
    } while (!running && (t_rem > 0.));
     Then I create a buffered subscriber, previously checking that the process exists and is running
    CNVProcessExists (processName, &exists);
    if (!exists) {
    CNVNewProcess (processName);
    CNVProcessIsRunning (processName, &isRunning);
    if (!isRunning) {
    CNVStartProcess (processName);
    CNVCreateBufferedWriter (NetVarPathname, ConnTransferredCallback,
    ConnStatusCallback, NULL, 10, 10000, 0, bufferedWriter);
    This application works perfectly when I launch it as standalone application.
    But If I launch it at the Windows boot time through Start >> Programs >> Startup, CNVCreateBufferedWriter( ) returns -6337 (The network variable process was not found or is not responding).
    Does CNVStartProcess( ) need a delay time?
    How can I avoid this annoying error?
    Vix
    In claris non fit interpretatio
    Using LV 2013 SP1 on Win 7 64bit
    Using LV 8.2.1 on WinXP SP3
    Using CVI 2012 SP1 on Win 7 64bit, WinXP and WinXP Embedded
    Using CVI 6.0 on Win2k, WinXP and WinXP Embedded

    CNVProcessIsRunning only checks if the process is configured to run when the Variable Engine is started...
    I think this advice should be added to the function help.
    But in cases where this function is called during system startup, it is unreliable because the Variable Engine could still have not loaded...
    As I write in the first message, the first function I call in my application is CNVVariableEngineIsRunning( ), then I wait until it returns "is running". Why does the NVE could still have not loaded after "is running" has been returned?
    A workaround for this problem and correct indicator of the availability of the process is to programmatically browse to the process:
    CNVBrowser browser;
    CNVCreateBrowser(&browser);
    CNVBrowse("\\\\localhost\\your-process-name");
    CNVDisposeBrowser(browser);
    If CNVBrowse succeeds, then the process is running. Please let us know if you run into issues with this workaround.
    Done. After this, I've never seen the error anymore... but I'll check again.
    Vix
    In claris non fit interpretatio
    Using LV 2013 SP1 on Win 7 64bit
    Using LV 8.2.1 on WinXP SP3
    Using CVI 2012 SP1 on Win 7 64bit, WinXP and WinXP Embedded
    Using CVI 6.0 on Win2k, WinXP and WinXP Embedded

  • Communicate with cRIO when IP Address and DNS Name changes over Network Variables

    I am developing a LabVIEW software for an European Project using cRIO-9074 and RT Application Reployment to update all cRIO devices with the last version.
    To communicate with the cRIO devices I have also developed some applications that are outside cRIO on LabVIEW Project that uses Network Variables to Read/Write to the devices.
    When I am developing the software, everything works just fine because the LabVIEW Project knows the IP Address on my cRIO device. However, when I use RTAD to install the software and then my applications outside the LabVIEW Project, the aplications are, not always able to find the device when the IP address changes.
    I have tried to replace the IP Address with the DNS Name but no success. When I change the router that is connected to the cRIO, the DNS Name also changes.
    With this, my question is how can I solve this sistematic problem? Should I change any configuration on MAX, in LabVIEW Project and/or in the applications to be able to always find the cRIO? Is it possible to have a field on the application to insert the IP Address of the device to connect? If yes, how can I do this?
    Best regards,

    Quintino,
    You can programatically open connecitons to Shared Variables.  This allows you to decide at runtime the IP address, lib name and SV name you wish to connect to.  I've attached a vi snippet the demonstrats an Action Engine to handle the connection to a SV named "Parameters".
    I normally store the cRIO_Settings in a .INI file that is easy to modify. 
    Attachments:
    SV Example.png ‏45 KB

  • Measurment Studio 8.6 Network Variable and Compact FieldPoint

    Hello,
    Looking for Vb.Net 2005 and Measurment Stydio 8.x Example illustrating how to browse multiple cFP items based on Network Variables.
    Thanks

    Hi,
    I don't think that you will be able to get the pop browser with network variables in Measurement Studio either.  The only example I could find was the project in C:\Documents and Settings\All Users\Documents\National Instruments\MStudioVS2008\DotNET\Examples\NetworkVariable\Basic\vb.  In this you would have to hard code the shared variable that you want to use.  Also, I found this article that might be interesting to you Migrating to Measurement Studio Network Variable from DataSocke.  
    I do have some good news on the cRIO front though, it supports both DataSockets and OPC.
    Justin Parker
    National Instruments
    Product Support Engineer

  • Cannot generate network variables - used to work

    After a rather extensive edit of a project I found that I could no longer do anything with network variables and every time I tried it would cause LV to exit (very quickly).  I started a new project but found I could not create any network variables.  When I try I get the busy pointer (hourglass) for less than a second and nothing happens.  This problem has caused work stoppage on a major project.  I need a fix ASAP!!!

    Mr6dof,
    Firstly, if this is an extreme show stopper that is costing your company a lot of money for downtown, I would definitely reccomend using our support line and calling in. However, hopefully it is not that awful.
    Have you tried this on multiple computers, or just your one?
    This happens with every new project you create?
    When you open LabVIEW again, does it give you a crash report?
    Is it just network, or all shared?
    Chris Van Horn
    Applications Engineer

  • Network variable don't work with VBAI 2010 and windows 7

    Hi,
    I actually have an issue with 2 EVS 1464 (windows 7) and VBAI 2010.
    I have to use network variables to allow communication between both EVS but I can't use it. My network is ok (I can make a ping betwen both equipement) but I can(t acces the network variable.
    I have made a test with VBAI2011 EVS / VBAI2010 PC windows XP --> it works. (but I don't want to use VBAI 2011).
    Have you got some solutions to solve my problem?
    Thanks
    Ulysse
    Solved!
    Go to Solution.

    Hello,
    Here are several documents which could be useful for you :
    Using the LabVIEW Shared Variable
    Troubleshooting Network-Published Shared Variables
    How Can I Use Shared Variables to Transfer Data from Vision Builder for Automated Inspection (VBAI) ...
    You can also try something. For this, you must go to the VBAI EXE here:
    For 32-bit machines:
    C:\Program Files\National Instruments\Vision Builder AI 20XX\
    For 64-bit machines:
    C:\Program Files (x86)\National Instruments\Vision Builder AI 20XX\
    Right-Click on 'Vision Builder.exe' then select Properties.  Make sure that 'Run this program as an administrator' is checked.
    Click OK and then try running VBAI again. You may have to re-deploy the variables in variable manager before they will properly work.
    Regards,
    Jérémy C.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France

  • Creating a folder alias on a shared network drive

    Hi,
    I have a folder that is housed on my computer that I would like an alias of on my company's shared network drive. I will have access to the shared network drive from my home computer either through Citrix or a VPN, so I would like the alias on that drive so that it will reflect any changes I make to the files within either from my work or from my home computer. My question therefore is, how do I create an alias of a folder on a shared network drive? I tried creating an alias on my local drive and then dragging it to the shared network drive, but that just copied the folder and removed the alias.
    Any help would be greatly appreciated!

    Nevermind. I must have copied over the original folder the first time instead of the alias, as a simple drag and drop of an alias folder just worked fine for me.

  • ITunes 11 can't share on "home sharing" network

    I just downloaded iTunes 11 and now I can't import songs from a computer on my "home sharing" network.  There is no way to drag a title to import it.  What is my problem?

    I was having this problem to. I could see part the contents of the library I wanted to import from. Switched off Home Sharing and Switched it back on again. Then I found two ways to achieve the import.
    1) Turn on View Sidebar, Then you can see the other library in the lefthand pane as in itunes 10. Select the items you want and click on the import button in the righthand bottom cornee.
    2)In the interface without the sidebar there is a drop down select box to allow you to select Music, Movies, TV shows etc. At the bottom the shares available to you are shown click on the one you want. Then select the type of content ie Music Movies etc select the items you want and click on the import button at the bottom right.
    Hope this helps

  • Can I use it for both a backup drive and shared network drive?

    Is it possible to use the Time Capsule for both an automatic backup drive for my Mac AND use it as a shared network drive to store my large library of home videos?  If so, does it require partitioning the drive and are there instructions available?  Alternatively, if I store my home videos on its own network drive, will Time Capsule backup this drive too?  If I don't want any external drives tethered to my mac, how would set up the  2 drive scenario, so that home video drive can be shared on the network?
    To be specific, I'm looking for a networked drive solution that allows me to do the following:
    1) automatically back up my Mac
    2) act as the primary storage drive for 750GB of the kids home videos (to save room on Mac) [Side question - ]
    3) have the ability to watch the home videos on both my family room Apple TV (is this even possible?) and my kitchen Mac Mini display (would my Mac's iMovie's library be able to include my home video content  that is stored on a network drive, or does it require the content to be  on the Mac hard drive?). 
    4) If I use a two drive solution  (time capsule backup and cheaper second drive), I want to be able to have Time Capsule back up the home video content on the second drive. 
    5) I do not want any drive tethered to my Mac, only wirelessly connected.  Would the second drive be connected to the Time Capsule?  How would this be set up? 
    Many thanks!

    christianfromshaker heights wrote:
    Is it possible to use the Time Capsule for both an automatic backup drive for my Mac AND use it as a shared network drive to store my large library of home videos?
    basically yes, but i wouldn't recommend it.
    If so, does it require partitioning the drive and are there instructions available?
    the disk in the TC can't be partitioned in the traditional way. but you can use disk utility to create a "fixed-size" sparse disk image on the TC's disk for use with other data. use the instructions here, just leave out the encryption part.
    Alternatively, if I store my home videos on its own network drive, will Time Capsule backup this drive too?
    no.
    time machine can not back up from network drives.
    To be specific, I'm looking for a networked drive solution that allows me to do the following:
    1) automatically back up my Mac
    2) act as the primary storage drive for 750GB of the kids home videos (to save room on Mac) [Side question - ]
    consider a NAS that is time machine compatible.
    3) have the ability to watch the home videos on both my family room Apple TV (is this even possible?) and my kitchen Mac Mini display (would my Mac's iMovie's library be able to include my home video content  that is stored on a network drive, or does it require the content to be  on the Mac hard drive?).
    it's possible to stream content stored on a TC (or NAS) to TV. using home sharing, your mini would be able to access files in homeshared libraries.
    it doesn't matter where the files are stored as long as iTunes knows they are there. in other words, the content needs to be in an iTunes/TV friednly format and in your iTunes library - that doesn't mean the content can't be stored on an external HD, a TC, or a NAS.
    4) If I use a two drive solution  (time capsule backup and cheaper second drive), I want to be able to have Time Capsule back up the home video content on the second drive.
    What can Time Machine back up, and where can it put it’s backups?
    5) I do not want any drive tethered to my Mac, only wirelessly connected. 
    IMO, your best course of action is to get a NAS. if you're interested, i can highly recommend this device by Synology.
    Synology NASes play very well with Macs and have excellent backup features on board. given enough space (i have 4x2 TB drives installed) you can store your media files there, use time machine to backup your Macs to it and can use the on-board backup solution to back up the whole shebang to a USB drive connected to the NAS.

  • Network variables hang subvi

    I have a GUI with several subvis.
    I am using an LV project (LV 8.2).
    One of the subvis is used to construct a GPS string and hand it over to a RT (cFP-2120) deployed serial write vi using network variables.
    If I run the subvi standalone from the project with the RT deployed vi all works perfectly.
    If I open the GUI from the project, it also opens the GPS subvi now.
    When I run the GUI it apparently tries to run the subvi and the subvi's front becomes a blank white window with only the subvi title bar showing.
    It hangs in this postion and never gets any further.
    Before I implemented the network variables for the serial write, the subvi did not open on GUI launch.
    Further, the two are designed such that pressing a button on the GUI would open up the subvi as a dialog.  Once the stop button on the subvi is clicked it would close down.  This is how it used to work before I implemented the network variables.  Now the GUI won't even run.

    I don't get anything when running in highlight modem, just a blank white window.
    I let the original run last night while I went home.  It finally had come up and was running this morning.
    After days of working with bindings, etc I finally started hacking off sections of my main VI today.  It eventually started working.
    I apparently have too much baggage or a conflict on the main vi structure. 
    I'm dealing with nearly 40 indicators/controls used to monitor or modify simulation values for an avionics simulator.
    Clearly I'm not being effecient in memory management.
    I do have multiple while loops monitoring and sending data.

  • Why does my laptop no longer connect to our WPA2 shared network drive?

    Our Airport Express is set up to give us access to the internet plus access to a shared network drive via a WPA2 key. Suddenly, I can no longer access the shared network drive, even though my wireless internet access is fine, and the Airport Utility is "recognizing" my computer. I am the only PC user in a house of unsympathetic Mac users who are not having any similar problems! Can anyone tell me what I should do to fix this?
    Thanks very much.

    I don't remember where I found this, but it did work for me.

Maybe you are looking for

  • Problems while deploying a JSF/ ADF Faces App to Apps Server 10.1.3.0.1

    Dear All, I built a JSF based application (Using ADF Faces Components) developed in JDeveloper 10.1.3.1.0 (Application Configuration: [JSF, ADF BC]. The application is running fine with the embedded OC4J intance (automatically aunch by JDeveloper). I

  • Problem in Writing select * query in EJB

    Hi all, I'm writing    select * from BIT_OEM    in entity bean, but it is not validating the query saying this ==> EJB QL statement is invalid. See General User Output View for details. And General User output View is not showing any error descriptio

  • How to compute maximum user per AP

    Hi Guys, Im setting up my WLAN, im confused because i dont know how do i compute the maximum user per client per AP. Im using AP 1020 series. For example if i have 20 clients if 802.11b,c,a how's the bandwith is being affected when the number of user

  • New ColdFusion Install 6.1 service problem

    I am installing 6.1 standard and am unable to start the service on my Win2000 server. When I click on administrator to start it up it is asking me if I would like to open or save index.cfm can someone assist a newbie? This is a fresh install. Thank y

  • Is my Blu-ray Player compatible with OS 10.8?

    I am using the Blu-ray playing software from Macgo, my BD drive is samsung SE-506ab, now i want to update my OS, is the app still compatible with that?