Cannot wire string to Timed Loop Name terminal in LV8 (base)

I just installed LabVIEW 8, and I've discovered that the VI breaks if you wire a string to the name input on a timed loop.  Also the error cluster input doesn't seem to like an error cluster connected to it.  I'm using the base development system if that's significant, but I was able to do it in 7.1.  Please let me know if I'm doing something wrong.

Just hit ctrl-B and the error clears up.
I suspect that there was another hidden wire between two of the other input terminals of the loop. You don't need to invoke any conspiracy theories (Other version also installed, base only, etc.)
It also fixes itself if you select to use the built-in timing source.
Message Edited by altenbach on 11-10-2005 01:28 PM
LabVIEW Champion . Do more with less code and in less time .

Similar Messages

  • Strange DAQmx Timing Source Timed Loop Error

    I have a digital edge counter fed into a timed loop. Everything works fine until I stop the loop, and stop the DAQ task. Once I restart the loop it fails with "resource is reserved". Attached is my code.
    Thanks
    Solved!
    Go to Solution.
    Attachments:
    daqloop.JPG ‏136 KB

    Here is a piece of code to illustrate the issue. If the timing source is created in the loop (it will be created each loop iteration) the error occurs. If it is moved outside the loop, and only created once the issue is resolved. Is there a way to RELEASE the timing source so that it can be created again? If the VI is stopped, this "resource" is released. I want to programatically release it.
    Note the error comes from the timed loop Error terminal that is Probed (50).
    Message Edited by bkb on 10-08-2008 09:52 AM
    Message Edited by bkb on 10-08-2008 09:53 AM
    Attachments:
    ts.jpg ‏57 KB

  • Restarting counter in Timed Loop

    I have a timed loop inside a state machine, used to start/stop a data acquisition sequence.
    It works fine, but I'm monitoring the "i" count and Actual End [i-1] values and after the start/stop/start sequence
    these values continue to grow and don't get reset to zero.  I would expect a While Loop to reset the "i"
    variable every time is is called, but I don't see any option for resetting the time looped.
    I can get around it, but I would expect a reset method for this loop, so I'm just wondering if I'm missing something.
    Maybe I need to use "Create Timing Source" instead of the setting it iin the dialog box?
    Labview 2010f1 on Windows Vista SP2 PC

    This might help. Here is a part of the png file you posted. I put in "Structure Name>" to point to the Structure Name input. Notice that the name "bob" is listed as the Structure Name. You must be on Win7 which uses different fonts than XP - that's probably why the name is only half visible.
    Note that the Clock name is connected to the (timing) Source Name input.
    I'm attaching an updated version of the file with the Timing Loop name wired directly.
    Thanks for posting your timed loop interations3 program in 2009. When I run this code, the Iteration Count DOES reset when the Timed Loop is restarted.
    steve
    Help the forum when you get help. Click the "Solution?" icon on the reply that answers your
    question. Give "Kudos" to replies that help.
    Attachments:
    New timed loop interations.vi ‏42 KB

  • Event Structure in Timed Loop in real time cannot work

    I am a new user for LabVIEW. And I met a problem which really frastre me!!! Hope someone can help me out. Thanks in advance!
    I simply want to use event structure under timed loop, which is extrmely important in my design.
    However, this works very good in my computer (without connect to FPGA).
    Once I connect it to FPGA, then I can run it still but there is no response!
    My file is attached. Please somebody helps me!
    Looking forward to your answers!
    Solved!
    Go to Solution.
    Attachments:
    Test for Timed Loop.vi ‏9 KB

    The FPGA runs headless. Event structures are not going to work. What you need to do is have an application on your host where the user presses a button, changes a value, etc. That event should send a message via TCP/IP to the code running in the real time environment. Then the real time environment should set a control on the FPGA to the value you want.
    In general, real time programming with FPGA has multiple layers.
    1) Host code-> handles user interactions and communicates them to real time code via TCP,UDP, etc. Displays data to user sent from the RT controller.
    2) Real time code->runs headlessly. Handles messages from Host code, processes FPGA data, communicates with FPGA much like the host code communicates with the real time code
    3) FPGA -> does acquistion and passes it via FIFO to the RT
    The first thing you need to do is understand the architecture and how all these pieces of the puzzle work together before throwing things down on a diagram.
    CLA, LabVIEW Versions 2010-2013

  • LabVIEW 6.1 If For Loop count terminal is zero then value going through the loop is not passed on to the output of the loop

    Hello, one of our customers just encountered an execution error in a vi running under LabVIEW 6.1, which doesn't exist under LabVIEW 5.1 or 6.01. I have a simple vi that has two encapsulated For Loops. Two string arrays go in, one goes out of the outer loop. Inside the outer loop the first array is indexed. The string which results from this indexing is compared with all other strings from the second string array in the inner loop. If it matches one of the strings of the second array, it is not outputted, otherwise this string goes through the inner For Loop to the output of the inner loop and from there to the output of the outer loop. The count
    terminal of the outer/inner loop is connected to the Array Size of the first/second string array. If the second array is empty, that means that the element in test from the first arry cannot match anything from the second array, so the element in test is send to the output of the inner loop and from there to the output of the outer loop. This works fine in LabVIEW 5.1 and 6.01, but NOT in LabVIEW 6.1. In LabVIEW 6.1 the inner loop is never executed if the count value is zero (which is correct), but the data line running through the loop is not executed either, which is different to what LabVIEW 5.1 and 6.01 do. There, the input string is sent to the output of the inner loop correctly even if the loop counter is zero. The solution is easy - I just have to connect the output of the outer loop to the data line BEFORE it enters the inner loop. But: I don't know if this is a LabVIEW 6.1 bug or if it is supposed to be a feature, but it brings some incompatibility in programming between the
    different LabVIEW versions.
    Best regards,
    Gabsi

    Hi,
    When a for-loop runs zero times, all outputs are 'undefined' (and should
    be).
    Besides, how would LV know what the output of a not executed routine should
    be?
    It might be handled differently in LV5 and LV6, which is unfortunate. In
    both cases, the result is undefined.
    It's not a bug. It's just something that should be avoided in any LV
    version.
    > The solution is easy - I just have to connect the
    > output of the outer loop to the data line BEFORE it enters the inner
    > loop. But: I don't know if this is a LabVIEW 6.1 bug or if it is
    In some cases this does the trick. But if the data is changed in the inner
    loop, this will effect the results if the N is not zero.
    Technically, I think the output in this construction is also 'undefined'.
    But LV handles this as expected / desired.
    Another solution is to use a shift register. If N is zero, the input is
    directly passed through to the output.
    Regards,
    Wiebe.
    "Gabs" wrote in message
    news:[email protected]...
    > LabVIEW 6.1 If For Loop count terminal is zero then value going
    > through the loop is not passed on to the output of the loop
    >
    > Hello, one of our customers just encountered an execution error in a
    > vi running under LabVIEW 6.1, which doesn't exist under LabVIEW 5.1 or
    > 6.01. I have a simple vi that has two encapsulated For Loops. Two
    > string arrays go in, one goes out of the outer loop. Inside the outer
    > loop the first array is indexed. The string which results from this
    > indexing is compared with all other strings from the second string
    > array in the inner loop. If it matches one of the strings of the
    > second array, it is not outputted, otherwise this string goes through
    > the inner For Loop to the output of the inner loop and from there to
    > the output of the outer loop. The count terminal of the outer/inner
    > loop is connected to the Array Size of the first/second string array.
    > If the second array is empty, that means that the element in test from
    > the first arry cannot match anything from the second array, so the
    > element in test is send to the output of the inner loop and from there
    > to the output of the outer loop. This works fine in LabVIEW 5.1 and
    > 6.01, but NOT in LabVIEW 6.1. In LabVIEW 6.1 the inner loop is never
    > executed if the count value is zero (which is correct), but the data
    > line running through the loop is not executed either, which is
    > different to what LabVIEW 5.1 and 6.01 do. There, the input string is
    > sent to the output of the inner loop correctly even if the loop
    > counter is zero. The solution is easy - I just have to connect the
    > output of the outer loop to the data line BEFORE it enters the inner
    > loop. But: I don't know if this is a LabVIEW 6.1 bug or if it is
    > supposed to be a feature, but it brings some incompatibility in
    > programming between the different LabVIEW versions.
    > Best regards,
    > Gabsi

  • Is there a way to immediately abort a timed loop

    Im writing a program that when completed, could run for a very very long time. But I need a timed loop to execute every 60 secs. The two option I have come up with are these
    1. Timed Loop executing every minute
    2. Timed Loop executing every second, but processing the contents every minute.
    First way means I can't stop the loop until the time expires (more desirable than the 2nd option), the second option relies on the ability to determine when a minute is up based upon a 1Hz iteration rate, but from what I am reading, the iteration counter will eventually get to its max value and just hold its value, while the loop continues to execute (hence I lose my logic for content execution)
    I'm really hoping there is a way to do an immediate abort of a Timed Loop, but i'm not finding a way, lol
    Solved!
    Go to Solution.

    If you want to use a timed loop, you can stop it at any time using the Stop Timed Structure tool. (even if the conditional terminal is hardwired to never stop!)
    For example in the following code draft, pressing the stop button will stop and complete the timed loop immediately, no matter how long the interval is.
    (Note: Configure the timed loop to get the current name, or set your own)
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    StopTimedStructure.png ‏12 KB

  • What is wrong with this (timed loop error)?

    I can't figure out why the timed loop is not starting and I receive an error -805 message. Any idea?
    Thanks,
    Ben64

    Hi Ben64,
    There's no obvious problem.
    I tried the same and it works perfect.
    So there must be a problem under the cover.
    I have 2 suggestions.
    1) There is a problem with your wiring -> the Error wire is not connected to the loops error out -> close timing source is executed before the loop is executed (Are you sure the loop doesn't even start ?)
    2) Labview often uses Names to identify items (queues, images, semaphores,..... timing sources(?) )
    I tried to open and close another timing source with the same name.
    Et voila : I'm able to get exactly the error code you mentioned.
    Is it possible you use the same name for a second timing source and this one is closed prior to executing the timed loop you've got problems with ?
    Best regards,
    Balze
    Attachments:
    timed_loop_2010.vi ‏37 KB

  • Timed loop with array dimension control

    Hello,
    I have imported an excel to an array and im trying to use a timed loop to run the values of the array on a timed interval. One of my problems is that the array is 2D and i cant use its length to stop the loop. I want to use witch value of the array in the loop in each iteration of the loop and i want the loop o stop when the counter equals the length of the array. Can someone help me plz here is the labview.

    It is really unclear what your question is.  Could you clarify?  
    If you are struggling with why you have a broken wire it is because you are sending an array to the stop of the loop.  When you use the array size function on a 2D array it returns a 1D array with the size of each dimension.  When you then use the greater than function it returns a 1D array of Booleans.  It compares each element of the array size to the current count of the iteration terminal.  
    To use this to stop your loop you need to reduce it to a single element some way before you send it to the stop control of the loop.  You could apply an "and" or "or" function to the out put of the greater than or pull out a single index out of the single greater than array. 
    In the image logical AND, logical OR, or element could be used to stop the loop.  You just need to choose one that gives you the behavior you need.
    Lukin
    Certified LabVIEW Developer

  • Who know the difference between the two Timed Loop structures in NI's examples named PAC Simulation.vi?

    My LabVIEW version is LabVIEW 8.0.
    When I look up the help document about Timed Loop, I find two examples about Timed Loop with the same file name and different file path.
    One is "labview\examples\general\plat-timedloopframes.llb\PAC Simulation.vi",
    and the other is "labview\examples\general\timedloop.llb\PAC Simulation.vi".
    The function of these two examples is almost the same. But they display different results when running. I debug them and find that the value of Actual Start [f] of these two timed loop is different. Its value is constand in one vi and increasing in another vi. But the configuration of these two timed loops is the same.
    Can anyone tell me the diffrence between these two timed loops?
    Thanks!

    After I posted this, I realized there was one more "Time" clock, namely the Time node on the Event structure.  How is this clock (which I will call ET, for Event Time) related to the Global Start Time (or GST) and the TimeStamp (TS)?
    ET represents time in milliseconds, using a U32.  The largest value that can be represented is roughly 4 billion, but there are more than 30 billion milliseconds per year.  Hence this "clock" cannot directly keep the same time as the GST or TS.
    However, on the PC, if you multiply the ET value by a million (thereby converting the time to nanoseconds) and compare this value to GST, you'll see they are basically the same.  Thus, on the PC, ET and GST are "in sync", but not in sync with TS.
    On a real-time PXI system, we already established that TS and GST are "in sync" -- what about ET?  Curiously, this does not seem to be synchronized with anything.
    A Word to the Wise -- when I originally added the Event structure, I synchronized it with the Timed Loop using a Value(Signalling) property node, which worked fine on the PC, but failed to fire on the PXI.  I'd forgotten that you can't use this trick on real-time systems, as they have no Front Panel objects, hence the implementation using Dynamic Events. 
    Attachments:
    TS GST ET VI.png ‏16 KB

  • Timing Loop won't Execute

    I think this is a labVIEW bug, but I'm looking for a work around or a 'gotcha'.
    I was attempting to create a timing loop for the purposes of sychronizing two sections of code within a VI.  The timing loops would not execute and so as part of the debugging process I created a simple empty timing loop with a 'stop button' in it.  Put a probe on the wire between the stop button and the stop terminal of the timing loop and executed my VI.  The Timing loop never executed.
    I then created a new VI to continue debugging the timing loop: I created a new VI and a new timing loop with only a stop button, placed the probe in the same place, (between the button and the stop terminal) and ran the 'untitled vi'.  In the new vi the timing loop ran as intended.
    All I can think is that there is some VI property in my rather complicated VI that prohibits timing loops but is not producing an error or warning.  I did check the VI properties and though they are not default there isn't anything that should be interfering with running a timing loop (e.g. critical execution).
    I'm looking for solutions and work arounds.  
    Using LabVIEW 2014 SP1 32 bit.
    -Regards
    eximo
    UofL Bioengineering M.S.
    Neuronetrix
    "I had rather be right than be president" -Henry Clay
    Attachments:
    timing loop.PNG ‏9 KB

    The attached image of the first post is the disfunctional version, Attached to this is a segment of the VI with the example disfuctional timing loop at the bottom right.  
    -Regards
    eximo
    UofL Bioengineering M.S.
    Neuronetrix
    "I had rather be right than be president" -Henry Clay
    Attachments:
    Timing loop not working.PNG ‏68 KB

  • Timed loop and CPU usage

    Platform is WIN_XP Pro and machine is a P4 at 2.5Ghz with 512 Mb ram.
    LV7.1 + PCI 6229
    I am using  50ms Timed loop for running a state machine inside it
    and also a  whole lot of other things like reading / writing
    DAQMx  functions;  file I/O functions and such. As the
    project involves a  main and sub-panlel set up local variables
    could not be elimnated fully and there should be something like 150 of
    them. But not all are accessed always - maybe about 15 of them at any
    given time depending on the SM staus.
    Problem :
    Once started the "Finished late"  indication  is off and
    the  actual timing  alternates between 49 to 52 ms. The CPU
    usage is around 25%.
    But as time goes by,  the system gets unstable : After 15 minutes
    or so, the Finished Late indication is always ON and the CPU usage is
    gradually tending towards or exceeds 100%. 
    Obviously the machine control timing now gets affected and things slow
    down badly. Closing the application ands restarting repeats the above
    cycle.
    I am at a loss  to understand what is happening ?  WIll
    breaking down the single Timed Loop to multiple ones help  ? WIll
    that be an efficient way of parallel threading ?
    I can post the code but its quite large and will do it as a last resort.
    thanks
    Raghunathan
    Raghunathan
    LV2012 to Automate Hydraulic Test rigs.

    Hello,
    It sounds like an interesting problem.  It would be worth some experimentation to figure out what's going wrong - attempting to decouple major "pieces" of the code would be helpful.  For example, you could try breaking your code into multiple loops if that makes sense in your architecture, but perhaps you could even eliminate all but one of the loops to begin with, and see if you can correlate the problem to the code in just one of your loops.
    Another concern is that you mention using many local variables.  Variable read operations cause new buffer allocations, so if you're passing arrays around that way, you could be hitting a problem of forcing your machine to perform many allocations and deallocations of memory.  As arrays grow, this can be a bigger and bigger problem.  You can use other techniques for passing data around your block diagram, such as dataflow if possible (just simple wires), or queues where dataflow can't dicatate program flow completely.
    Hopefully looking into your code with the above considerations will lead you in the right direction.  In your case, removing code so that you can identify which elements are causing the problem should help significantly.
    Best Regards,
    JLS
    Best,
    JLS
    Sixclear

  • Cannot find any information on property 'Name' in a bean of type 'UserBean'

    Hello,
    I was trying to solve this problem myself but never got through, its really routine. So please can you see this error message, html file, jsp file and say if there are mistakes or if I need to add something else somewhere?
    Error
    org.apache.jasper.JasperException: Cannot find any information on property 'Name' in a bean of type 'UserBean'
    HTML
    <html>
    <head>
    <title>jsp test</title>
    </head>
    <body bgcolor ="white">
    <form action ="course.jsp" method ="post">
    <table>
    <tr><td>userName:</td>
    <td><input type="text"      name ="Name">
    </td>
    </tr>
    <tr>
    <td>userID:</td>
    <td><input type ="text" name ="ID"></td>
    </tr>
    <tr>
    <td>userAddress</td>
    <td><textarea name ="Description"></textarea></td>
    </tr>
    <tr>
    <td><input type ="submit" name ="submit"></td>
    </table>
    </form>
    </body>
    </html>
    JSP
    <%@ page language="java" contentType="text/html" %>
    <html>
    <body bgcolor="white">
    <jsp:useBean id="courseBean" class="UserBean">
    <jsp:setProperty name="courseBean" property="*" />
    </jsp:useBean>
    The following was done:
    <jsp:getProperty name="courseBean" property="Name" />
    <jsp:getProperty name="courseBean" property="ID" />
    <jsp:getProperty name="courseBean" property="Description" />
    </body>
    </html>
    JAVABEAN:
    public class UserBean implements Serializable{
    private String Name;
    private String ID;
    private String Description;
    public UserBean(){
    public void setName(String Name){
    this.Name=Name;
    public String getName(){
    return ID;
    public void seID(int userID){
    this.ID=ID;
    public int getUserID(){
    return ID;
    public void setDescription(String Description){
    this.Description=Description;
    public String getDescription(){
    return Description;
    Thank you in advance
    Ajlear

    Use a lower case initial on a bean property name.
    Instead of:
    <jsp:getProperty name="courseBean" property="Name" />try:
    <jsp:getProperty name="courseBean" property="name" />The same will apply to other properties. Also, make sure you use the lower case initial on form field names. e.g. <input type="text" name ="name"> for use in <jsp:setProperty name="courseBean" property="*" />

  • LabVIEW RT, Timed loop, finished late, Call by reference

    I have a timed loop triggered by the sample clock of a DAQ-Card. The sample Clock is 8 kHz and the loop will run with dt = 4. Normally the loop is running without finished late[i-1]. But from time to time it happens that the loop is running extremly longer which means instead of 0.5 millisec it needs 4 - 5 millisec. It seems this doesn't never occur while accessing DAQmx.
    The application uses plugin technologies and some of the VIs in the timed loop are preloaded and called by Call by Reference.
    Does those VIs inherit the priority, execution system and CPU of the timed loop?
    The application is running on LV RT 2009 on a Dual core PXI-Controller. The timed loop is bound to CPU 1. There is no  difference runinng the application from the development environment or as a startup application.
    For the measuring test  I modified the application in a way that I don't have:
    disk access for storing the result file
    TCP/IP communication
    Controls on the front panel of the top level VI
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

    To keep you informed:
    I stripped the application and have left only the measurement storing module and the timed loop. The loop was using the microsecond timer running each 500 µsec. Additional all Non-Real-Time modules were loaded and only one module creates a XML string and sends it to the communication layer which will drop it because no TCP/IP port is open. The creation of the XML string is done each 300 ms.
    In this case I don't have any finished late iterations
    Next I added the DAQ Module. Now I get finished late again but with a lesser frequency as original.
    I removed all unnesseccary tasks from the DAQ moulde leaving one task for a PXI-4204 for using as the clock source for the timed loop. No I get finished late seldom.
     I removed the module which will send the XML string and I don't get finished late.
    Next I was adding code to see memory allocation. I can when memory allocation is changing but it is not related to the finished late iterations.
    Next time I have the chance to do more tests I will see which DAQ task triggers the finished late iterations. I have one AI task on a PXI-4204,  4 Counter tasks on a PXI-6602, 1 DI task on a PXI-6514, 1 DO task on a PXI-6514, 1 DI task on a PXI-6259, 1 DO task on a PXI-6259, 1 AO task on a PXI-6259 and 1 AO task on a PXI-6711.
    The AI task on the PXI-4204 is running in Continous Sampling (Single Point HW Timed is not supported), all other tasks exept the DI and DO are Single Point HW Timed.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Can I run a fast timed loop?

    It appears that a timed loop cannot run faster than 100 hz. In other words, the "period" input for a timed loop cannot be less than 10. Is this true? I am using the Elapsed Time VI to measure time increments. The time increments output from this VI are at least 0.01 secs regardless of how fast I attempt to run the time loop. Perhaps the limitation lies in the Elapsed Time VI, not in the Timed Loop. Should I try a different approach to measuring the delta time between iterations of a time loop? TIA.
    -jlivermore

    Here's the simple way to measure loop timing:
    Actually, what else is running in your loop (e.g. property nodes, DAQ, etc.)? Can you show us your code? What is your LabVIEW version?
    Message Edited by altenbach on 09-29-2008 11:22 AM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    MeasureLoopTiming.PNG ‏7 KB

  • How to use string as a column name

    Hello,
    I have a fn getField() that returns a column delimited string - amt1,amt2 . I want to use this string as the column name in a second query on table MASTER_AMT and get the values for amt1 and amt2...so when i try....
    select getField( 'NPC_NOYTG' ) FROM MASTER_AMT
    WHERE ACTI_CODE = 'NPOR';
    the o/p i get is...
    GETFIELD('NPC_NOYTG')
    AMT1,AMT2,AMT3
    instead of...
    AMT1 AMT2
    500 0
    that i require.
    Any ideas on how to convert the string returned to a column name?
    Thanks very much
    rgds

    Try this ....
    In SQL*PLUS
    SQL> var ref_c refcursor
    --- Then type the follwing at SQL prompt
    declare
    cursor cur is
    select column_name
    from user_tab_columns a,
         (select upper(getField( 'NPC_NOYTG')) fld FROM MASTER_AMT
         WHERE ACTI_CODE = 'NPOR') col_lst
    WHERE
    instr(chr(44) || col_lst.fld || chr(44),chr(44) || a.COLUMN_NAME || chr(44) ) > 0
    AND table_name = 'MASTER_AMT';
    v_str varchar2(1000):= ' ';
    begin
    for c in cur loop
    v_str := v_str || c.column_name || ',' ;
    end loop;
    v_str := substr(v_str,1,len(v_str)-1);
    open :ref_c for
    'select ' || v_str || ' from master_amt';
    end;      
    --- after executing the above block, type the following at SQL prompt
    SQL > print ref_c
    Please let me know if this works for you. This should for any number of columns returned by the function.
    Shakti
    (http://www.impact-sol.com)
    (Developers of Guggi Oracle)

Maybe you are looking for

  • Negative quantities in PM work order.

    Hello Experts, We are planning to allow negative quantities in PM work order. Is there are any negative side effects of that? Thanks, Raneetha,

  • How to set sourceURL for MS Access database in other computer?

    How to set sourceURL for MS Access database in other computer? getConnection("jdbc:odbc://www.micrsoft.com:9999/msaccess"); How do you determine the port for the MS Access? Thank you very much.

  • Exporting Email From Thunderbird

    When I made the full time transition from Windows to Linux, I selected Thunderbird as my email again, and imported all my Outlook Express mailboxes (and I have a lot of them) into Thunderbird. Thunderbird is a good mail agent, but I am getting worrie

  • ??how to compare two resultsets??

    hi all! i need to find out whether two resultsets contain the same data. the only way i know how to do it in java is to put them into a while loop and fetch the contents first and then compare the contents. but is there an easier way to compare resul

  • Videos from iTunes to iPad disappear, only iCloud download

    The problem that I am having is that after I have synced TV episodes that I have purchased and downloaded from iTunes to my iPad, the episodes later are not on the iPad, and instead require downloading from the cloud again to watch.  This is a proble