Corrupt Block Diagram With Infinite Wires

Hi,
Has anyone every seen a corrupt Block Diagram as shown in the pic? Almost all my wires have stretched to infinity!
I used "Clean up wire" on these wires, but that did nothing.
Ironically, the VI runs -- but I can't develop further with the BD in this state.
Any ideas, please
THANKS PEEPS!
Attachments:
Screenshot 2015-03-26 18.16.56.png ‏78 KB

There is a maximum size that the BD or FP can be.  If you are getting close to that size and the cleanup tries to make it bigger odd things can happen.  This might explain why nothing happens when you try to clean it up.
http://digital.ni.com/public.nsf/allkb/62D66358BBF8A87186256FC50077FA17
Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

Similar Messages

  • Disable (all) functions on the block diagram with right-click menu

    Hello to everyone,
    here is one more idea, which I'd like to propose. 
    As for me, it would be useful to have the following: when all components (functions, wires, subVIs, etc.) are selected on the block diagram (like, after ctrl+A), operator could do right-click, and in the menu would appear menu item "Disable everything". After it, all the code could be placed into Disable structure. 
    Of course, I can add Disable structure to block diagram manually, and cover whatever I want, but with right-click menu it would be much faster.
    Also, it can be modified to disable only selected items - then each of them can be placed into separate Disable structure, and, for example, additionaly in the enabled case of Disable structure, corresponding wires will be connected. Sometimes it is needed for testing - just to disable couple functions, and test subVI. Or to disable subVI fully (it's faster, then disable place, where it is called. Especially, if subVI is used in many places).
    It will not make debugging difficult, because anyway Disabled structures are used; such functionallity can just make life a little bit easier...
     

    There is always the File->New... which opens up a new window.  You can have your templates in that window by putting them somewhere (I don't remember where at the moment).
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Corrupt block diagram

    Hi all,
    I have a VI which is able to open and I can even start the front panel, but when trying to open the block diagram, the screens stays white and Labview crashes.
    Is anybody able to open the block diagram of this file?
    Thank you in advance>
    Greetz, Bart
    Attachments:
    main_v_0_0_1.vi ‏165 KB

    Saved for LV2012
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    main_v_0_0_1.vit ‏113 KB

  • How to find icon position of currently executed VI on caller's block diagram

    Dear forum,
    I currently try to use a LabVIEV VI as a simple sequencer: Several (very slow) actions have to execute one after another. Each action is represented by a Sub-VI, some actions are executed several times. My task is to visualize the currently executed Sub-VI somehow.
    My first intention (simply manipulate the icon of the currently running VI with "VI Icon.Get as Image Data" / "VI Icon.Set from Image Data" invoke nodes) failed, because this changes the icon of ALL instances of this VI; if you use the same VI several times, the icons of all these VI are changed (see here: http://forums.ni.com/t5/LabVIEW/How-to-change-animate-icon-of-currently-running-VI/m-p/3120754/highl...
    My current approach is to use an image of the block diagram (with "VI: Block Diagram: Get Image Scaled" invoke method) within a picture control of the front panel and to work within this control. But for this I need to know the position of the icon of the currently executed VI. I know that I can evaluate Bounds and Position via the GObj properties, but how do I find the currently running VI (note that a VI may reside several times on the block diagram, so the name of the VI is not unique)? IMHO the simpliest way would be if a VI could find its icon on the caller's block diagram itself when executed...
    It's clear that this position is not the position on the picture yet, but this conversion is a small piece of work...
    Regards,
    cpschnuffel
    Solved!
    Go to Solution.

    Yamaeda wrote:
    Run it in highlight mode, done.
    Sure if you don't mind having functional checks taking hours instead of minutes...okay maybe that is exagerating for a simple VI like this, but it would increase cycle time.  Honestly I think the best solution would be to use the helper VI that was mentiond before, which keeps track of what VI is running.  You can of course use scripting to get the block diagram image, but there isn't a good way to know what exact VI is running using VI server.  Here are a few discussions.
    https://lavag.org/topic/16660-how-to-get-actual-vi-execution-state/
    https://decibel.ni.com/content/thread/18687
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • How to remove the simulation loop from the block diagram

    hi,
    i have used lap view version 8.6 to design pid system. i have the pid block diagram with daq  on simulation loop. now my supervisor want me to remove the simulation loop. anyone know how to remove the simulation loop without deleting the pid block diagram. i have attached my pid program.
    Attachments:
    Copy of LAP VIEW FINAL for engine dyno.vi ‏221 KB

    logaraj wrote:
    hi,
    i have used lap view (  ) version 8.6 to design pid system. i have the pid block diagram with daq  on simulation loop. now my supervisor want me to remove the simulation loop. anyone know how to remove the simulation loop without deleting the pid block diagram. i have attached my pid program.
    You cannot remove the simulation loop alone because all the functions kept inside that loop will work inside that loop only. If you have to remove means then you have to find another way to inplement the PID control.
    The best solution is the one you find it by yourself

  • Bug with block diagram labels in 2013

    I just reported a minor but interesting bug with the block diagram free labels in LabVIEW 2013.  If you attach a free label to a structure of any kind using the gluph in the bottom right corner of the comment then resize the structure in the direction of the comment it causes the entire block diagram to resize in that direction.
    Kelly Bersch
    Certified LabVIEW Developer
    Kudos are always welcome

    kbbersch wrote:
    I would disagree that the behavior is expected.  If the comment is not immediately next to the structure, but is a distance away, the block diagram does not resize if the comment is not attached to the structure but it does resize when the comment is attached.  I would expect the attachment arrow to simply get shorter unless the structure is resized so large that the comment has to move so as not to interfere.
    Expected behavior?  Nobody expects the Spanish Inquisition.
    I am afraid the problem here does lie with your expectations.  When you resize a structure and the new space is occupied by anything other than wires then LV will use "Make Space" to create room.  Make space obeys neither the laws of man or nature, it simply gets the job done with all  the subtlety of a steamroller.  I believe if there is something preventing Make Space from doing its job then NI engineers are automatically dispatched to your office with sledgehammers to fix the problem.
    I do, however, share your wish for a world where you do not expect LV to wreak untold havoc on your BD when attempting to make space or "clean up".  Here they should probably treat the connecting arrow more like a wire and less like a rigid object.  I'd say bug myself.

  • Display sink and source of wire on block diagram

    A colleague is trying to decipher some LV code we received from a third party, and if ever a block diagram illustrated the term "spaghetti-code" this does. I showed him how the wiring tool will display the name of the source of a wire in the help window, when you hover the tool over the wire in question. He asked if there was a way to display both the source and the sink (yes the code really is that bad). Any ideas?
    Oh, I should mention that he really doesn't want to rewrite or modify the code in any way, just understand it.
    Thanks.

    Hmm.  If you can I dont know of one.  I'm a cheap engineer though and dont like extra window clutter if I can avoid it.  When I am (usually) faced with spaghetti-code and need to trace things I just tripple click on wires to highlight the whole thing and scroll the window around to find the starting and ending points...
    Attachments:
    Spaghetti.jpg ‏22 KB

  • I created boolean references in my main vi block diagram and copied them to my sub vi front panel. when wire my reference in my main vi to one the input node of the sub vi the wire is broken. the error says its a class conflict why?

    i created boolean references in my main vi block diagram and copied them to my sub vi front panel. when wire my reference in my main vi to one the input node of the sub vi the wire is broken. the error says its a class conflict why?

    Expanding and clarifying what BJD said;
    After you create the temporary sub-VI that BJD mentioned, open its front panel and copy the reference control that LV created when it created the sub-VI.
    This reference control will be correct class etc that you need. Use the control to replace the original control that you were attempting to wire up.
    The technique of "create sub-VI...copy" always works for me.
    There is one more thing that you should watch out for.
    The mechanical action of the boolean can not be set for latch action when attempting to read the value using a value property node.
    Trying to help,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • In block diagram connecting wire getting blur while saving the VI in LabVIEW 2009

    Hello,
    I am using Labview 2009, And while I am saving  a simple VI connecting wires are getting blurry. What could be the problem?? Is it affect my program while running?
    Solved!
    Go to Solution.

    Go into Tools>>Options, select the Block Diagram page and find the section called Constant Folding. If the CF for wires check box is checked, then this is most likely the reason. You can uncheck the check box and it won't affect the way your code runs.
    If this isn't the case, you should upload an image of what it looks like.
    Try to take over the world!

  • Integrating fpga module with standard block diagram

    Hi all,
    I'm doing an FTIR multitouch table, and I would like to be able to track blobs using LabVIEW then transfer this data to a Spartan 3e FPGA.  I have seen the tutorials on how to program the Spartan 3e and have direct communication with LabVIEW, but can I also run image processing via USB-IMAQ VIs in the same block diagram?  Basically I need to get coordinate data from the blobs (touch points on the screen) and transfer this data to an FPGA which will act as a primitive graphics card.  Any ideas are appreciated.
    Thanks...

    Zzzyzx,
    Hello! You should be able to use your Host VI to talk to Both the FPGA and the USB-IMAQ devices. You would just have two loops running at the same time, one for each device's communication. To pass data between the loops (from the vision to the FPGA) you could use a Consumer Producer Architecture.
    I assume you are referring to these tutorials?
    Using the Xilinx Spartan 3E XUP Hardware with LabVIEW FPGA
    Using LabVIEW FPGA with the Xilinx SPARTAN-3E XUP Video Tutorial
    LabVIEW FPGA Module Training for Xilinx Spartan 3E XUP Hardware
    Ben Sisney
    FlexRIO V&V Engineer
    National Instruments

  • Question on fixing a corrupt block with dbms_repair?

    I am not using RMAN.
    Can I fix a corrupt block with dbms_repair.
    I know the table, file, block id.
    FILE_ID = 3
    Block ID = 1555205
    Table: ARFCSDATA

    1) This is what I did so far
    BEGIN
    DBMS_REPAIR.ADMIN_TABLES (
    TABLE_NAME => 'REPAIR_TABLE',
    TABLE_TYPE => dbms_repair.repair_table,
    ACTION => dbms_repair.create_action,
    TABLESPACE => 'PSAPD3P');
    END;
    SET SERVEROUTPUT ON
    DECLARE num_corrupt INT;
    BEGIN
    num_corrupt := 0;
    DBMS_REPAIR.CHECK_OBJECT (
    SCHEMA_NAME => 'SAPD3P',
    OBJECT_NAME => 'ARFCSDATA',
    REPAIR_TABLE_NAME => 'REPAIR_TABLE',
    CORRUPT_COUNT => num_corrupt);
    DBMS_OUTPUT.PUT_LINE('number corrupt: ' || TO_CHAR (num_corrupt));
    END;
    It is still running after an hour.
    2) What does FIX_CORRUPT_BLOCKS actually do?

  • Is it possible to build exe with vis that have striped block diagrams?

    We can tell that an entity has stolen our code and are using them in their .exe file.  
    We used to distribute our program as a light exe layer that dynamically loads some source code distribution vis (block diagram striped) off disk and runs them.
    What we don't know is whether they actually got our in house source code, or if they are somehow taking the distributed vi's and compiling them into their exe.  
    So the question is: Is it possible to take vis compiled for a 'source distribution' with the block diagrams removed (but front panels not removed) and compile them into an executable?

    It's actually quite possible to use a source distribution VI for a new app. You need to select the "Do not disconnect type definitions or remove unreferenced
    members" option in the "Additional Exclusions" page.
    I've attached an example on how this can be done. Untitled Project 1 would be your project, which has a build target of your app, along with the source distribution for a VI with the block diagram stripped. Untitled Project 2 would be your competitor's project, which is a VI that uses your subVI directly and builds a separate application. As you can see, I can successfully build an application using your code.
    Attachments:
    source dist ex.zip ‏76 KB

  • Unable to unlock VI with VI properties or view block diagram.

    I have a VI that I need to modify, but I am unable to open the block diagram or unlock the VI in the VI properties dialog box (options are grayed out).  I generally have my VIs locked with no password, but I have always been able to unlock them at a later time with the properties diolog box and change anything.
    Is there a way I could have locked myself out?

    If you saved the VI without a block diagram, I believe this could happen.  If that is indeed the case, you'll need to replace the VI with your latest backup, since there's no way to retrieve the diagram once you've saved a VI without a block diagram.
    Also, make sure you're not trying to look at the diagram of a Control or Global VI...
    -D
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman

  • Rman backup with corrupted block

    Hello,
    Firstly - I have problem on non-production database 11.2.0.1.0, so I am not deeply worried about data. But I need to understand what happened with database backups and how to prevent such things in future.
    So - I have EM scheduled weekly full backup and daily incremental backups. Later there was problem with hardware and some corrupted blocks in database were found. The weekly backup ran without error and obsolete backups were deleted. Now it is not possible to "recover corruption list" because no backup without corruption exists (RMAN-06023: no backup or copy of datafile 6 found to restore). I am not worried about the lost data, but I need to find out how come the backup contains corrupted block.
    I have checked the data file using dbv utility
    DBVERIFY - Verification starting : FILE = /opt/oracle/oradata/orcl/users03.dbf
    DBV-00200: Block, DBA 27525766, already marked corrupt
    csc(0x0001.7b01729f) higher than block scn(0x0000.00000000)
    Page 2359942 failed with check code 6054
    DBVERIFY - Verification complete
    Total Pages Examined         : 3840000
    Total Pages Processed (Data) : 453896
    Total Pages Failing   (Data) : 1
    Total Pages Processed (Index): 2959104
    Total Pages Failing   (Index): 0
    Total Pages Processed (Other): 424025
    Total Pages Processed (Seg)  : 0
    Total Pages Failing   (Seg)  : 0
    Total Pages Empty            : 2975
    Total Pages Marked Corrupt   : 1
    Total Pages Influx           : 0
    Total Pages Encrypted        : 0
    Highest block SCN            : 2156227446 (1.2156227446)As you can see the datafile 6 - user03.dbf has errors. Also backups now contain errors.
    1) So how is it possible that the EM scheduled backup ran without problems and the backup now contains corrupted blocks. How to prevent this in future ? I know there is setting MAXCORRUPT. How can I check its current value ? How can I configure it using EM scheduled backups ?
    2) Secondly, meanwhile I studied the RMAN commands. So I have suspended EM backup jobs, and executed follwing command. And backup ran without error again. How is this possible, if data file users06.dbf has corrupted block ?
    Thanks !
    RMAN> run {
    set MAXCORRUPT for datafile 6 to 0;
    backup as compressed backupset datafile 6;
    2> 3> 4>
    executing command: SET MAX CORRUPT
    Starting backup at 07-NOV-12
    using channel ORA_DISK_1
    using channel ORA_DISK_2
    using channel ORA_DISK_3
    using channel ORA_DISK_4
    using channel ORA_DISK_5
    channel ORA_DISK_1: starting compressed full datafile backup set
    channel ORA_DISK_1: specifying datafile(s) in backup set
    input datafile file number=00006 name=/opt/oracle/oradata/orcl/users03.dbf
    channel ORA_DISK_1: starting piece 1 at 07-NOV-12
    channel ORA_DISK_1: finished piece 1 at 07-NOV-12
    piece handle=/opt/oraBackup/rman/nrnpo0sg_1_1 tag=TAG20121107T200120 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 01:13:05
    Finished backup at 07-NOV-12
    Starting Control File and SPFILE Autobackup at 07-NOV-12
    piece handle=/opt/oraBackup/rman/c-1253245572-20121107-03 comment=NONE
    Finished Control File and SPFILE Autobackup at 07-NOV-12

    I have updated database to 11.2.0.3
    However, the problem still persists. rman backup went ok on broken file
    oracle@orcl-cluster:~> sqlplus
    SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 20 09:24:11 2012
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    Enter user-name: system
    Enter password:
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> select * from V$DATABASE_BLOCK_CORRUPTION;
         FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO
             6    2359942          1                  0 FRACTURED
            25    1855622          1                  0 FRACTURED
    oracle@orcl-cluster:~> rman target /
    Recovery Manager: Release 11.2.0.3.0 - Production on Tue Nov 20 08:04:57 2012
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
    connected to target database: ORCL (DBID=1253245572)
    RMAN> backup as compressed backupset datafile 6;
    Starting backup at 20-NOV-12
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=1596 device type=DISK
    allocated channel: ORA_DISK_2
    channel ORA_DISK_2: SID=1568 device type=DISK
    allocated channel: ORA_DISK_3
    channel ORA_DISK_3: SID=2357 device type=DISK
    allocated channel: ORA_DISK_4
    channel ORA_DISK_4: SID=2341 device type=DISK
    allocated channel: ORA_DISK_5
    channel ORA_DISK_5: SID=86 device type=DISK
    channel ORA_DISK_1: starting compressed full datafile backup set
    channel ORA_DISK_1: specifying datafile(s) in backup set
    input datafile file number=00006 name=/opt/oracle/oradata/orcl/users03.dbf
    channel ORA_DISK_1: starting piece 1 at 20-NOV-12
    channel ORA_DISK_1: finished piece 1 at 20-NOV-12
    piece handle=/opt/oraBackup/rman/2rnqovpp_1_1 tag=TAG20121120T080513 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 01:10:35
    Finished backup at 20-NOV-12
    Starting Control File and SPFILE Autobackup at 20-NOV-12
    piece handle=/opt/oraBackup/rman/c-1253245572-20121120-00 comment=NONE
    Finished Control File and SPFILE Autobackup at 20-NOV-12
    RMAN> backup validate datafile 6;
    Starting backup at 20-NOV-12
    using channel ORA_DISK_1
    using channel ORA_DISK_2
    using channel ORA_DISK_3
    using channel ORA_DISK_4
    using channel ORA_DISK_5
    channel ORA_DISK_1: starting compressed full datafile backup set
    channel ORA_DISK_1: specifying datafile(s) in backup set
    input datafile file number=00006 name=/opt/oracle/oradata/orcl/users03.dbf
    channel ORA_DISK_1: backup set complete, elapsed time: 00:03:05
    List of Datafiles
    =================
    File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
    6    OK     1              2975         3840000         6489027926
      File Name: /opt/oracle/oradata/orcl/users03.dbf
      Block Type Blocks Failing Blocks Processed
      Data       0              453912
      Index      0              2959091
      Other      0              424022
    Finished backup at 20-NOV-12Edited by: kamilp on Nov 20, 2012 12:23 AM

  • Urgent Help! How can i execute in the same block diagram two separate labview codes each one with diferent execution timings?

    Dear All.
    I have 2 application progrlams in the same block diagram. the intention is to use  the 2 programs at different excuting time for different application, and each have stop and start button ofcourse i will have master stop. But when i run the program, it only works one program at time , that is the 1st block which i make it active only , when i tried to make active the second block it will not work, only works when i stoped the1st one. So, this it to request ur hlep how can i solve my problem. here i have attached some of  my program.
    Regards!
    Solved!
    Go to Solution.
    Attachments:
    2_block application.vi ‏14 KB

    Usually you set up a task that has all the channels from all the modules configured. When a loop starts it reserves that task and the cDAQ can't be used by other loops unless you start and stop tasks.
    You can have one loop acquire all the data and if you want certain channels to go to other loops you can use the producer/consumer design pattern. If you wanted a third loop you would add another queue and the third loop would dequeue that data. See attached.
    Eric
    Attachments:
    prod-cons.vi ‏69 KB

Maybe you are looking for