Block diagram out of... block diagram

Hi, I need your help. Im the wrong person to this job, but I have to do this, so I'm dependent on your help. I need to explain how the LabView program (pasted below) works, but I don't understand it by myself I would like to ask if someone can create a simplified block diagram of the LV block diagram I paste in here. I would appreciate any help, and please take into considaration that I'm running out of time
https://dl.dropbox.com/s/yd10z7yorxvbzux/LVdiagram.jpg
It's a counter. Photon counter to be exact.
Solved!
Go to Solution.

Hi Waise,
I will try to explain you briefly what does this application do:
Following materials might help you in understanding the concepts behind:
http://www.ni.com/pdf/manuals/371022k.pdf
This is the M series manual - the chapter 6.7 and 8 explains  how the digital lines work, the counter and what is a PFI.
When you open the block diagram of your application you can see multiple branches going from left to write.
The first one, on top is creating a path to a file. That path will be used to write data to a binary file. The data represents the number of pulses that are being counted as rising edges of a signal connected to counter 1. This information ca be read if you follow the logic on the second branch from left to right where the first VI is CI INT Edges (Counter edges), and it will count up, on rising edge of the signal connected to CTR1.
Later, there is another task created for counter 3, that generates pulses. The pulses seems to have 10uS length and 50% duty cycle. The signal generated by that counter will be used as sample clock for the measurement and counter 1. Also, the same signal from counter 3 will be used by counter 4 to count the digital edge and create a clock that will clock the timed loop. Basically the frequency of the timed loop is given by the task on Counter 4 that counts the pulses generated with counter 3.
The 3rd branch from left to right, creates three tasks on three digital output: Line 0, 1 and 2 where it is being controlled by three buttons F0, F1 and F2. Basically, your timed loop will have a specific iteration time, and with every iteration the buttons will be read and will update the digital output specified above.
Whenver there is an error or the Stop button is being pressed, your application will stop and will close the binary file and dealocate the used resources.
I invite you to look also in the manual specified above.
Best regards,
Ion R.
Attachments:
printscreen 1.png ‏178 KB
printscreen 2.png ‏183 KB

Similar Messages

  • Zoom in/out of block diagram

    Hi,
    at the moment I am working with a huge
    block diagram. It is a bit difficult,
    to keep the overview over the whole block diagram
    by scrolling.
    Is there any possibility of Labview to zoom out of the
    block diagram?
    Any other solution?
    I could find one in the internet.
    Thank you very much for your help.
    Best regards,
    Hannes

    Hi Hannes,
    >I understood to load the VI first and then to open the BEV.
    Actually, you can open the BEV first, and if you have nothing else in memory, you can browse to a VI using the VI path control (next to the VIs in Mem text ring). You can also load VIs after having opened the BEV. It will refresh the VIs list in memory (text ring) every two seconds. Click the help button (upper right corner a button that look like this -> [?]) for more description about the BEV functionality.
    Cheers
    PJM
    Got EasyXML?
    JKI.VIPM.EasyXML.OpenG.LAVA.Builder.blog

  • I am trying to create an executable vi that will call out another vi and show its front panel in the executable​. When I try this I recieve this error message "top level vi (my main vi) was stopped at unknown on the block diagram of (my sub vi)

    I am trying to create an executable vi that will call out another vi and show its front panel in the executable.  When I try this I recieve this error message "top level vi (my main vi) was stopped at unknown on the block diagram of (my sub vi)

    Well the most common way is to enclude the vi's in the build spec either directly in the dependancies that the App builder automatically generates OR by declaring them in the build spec as "additional enclusions" (like you must do for dynamic vi calls in your app.
    I have heard rummors about My.app Stuff.vi in a nugget Intaris posted- and I've wanted to dig deaper into Intaris' claims- but have not tried it myself.
    If you go down the stuff.vi route Keep us curious guys posted
    Jeff

  • 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

  • Block diagram wont open properly

    I have written a big labview program for my application. I have been workig on it for 6 months. I keep adding the peice of code every day and save it with a new name every week.
    At one point when I added some code into my program, the block diagram started acting weird and wont let me work on the program easily. For If I add an add function, it would take time and insert this function a couple of inches away where I pionted my cursor. Another issue was that; if I add a while loop or for loop or any other structure it would take time and one added it would add a couple of inches away and expand the main program window (Block Diagram) too.
    since then, I started using my company's laptop to develop the code. I have no issues with that lap top till today.
    But now when I tranfer this program back to my desk top. It wont open the Block Diagram and wont let me edit it. When I try to open the block diagram. the window appear black out and the LabView stops working.
    Is this issure ralted to the graphics of my compute or any thing else? Please help me. Thanks
    Mansoor

    There is a maximum size that a VI can be. What that exact size is I don't know. It does sound like you have one HUGE VI. If that is the case you really need to think more about using subVIs. It will make your program much easier to maintain and extend.
    Also, rather than renaming it once a week you should consider using source code contol. Even if you are the only developer it is a much better way to manage your code. SVN is free and very easy to set up. If you do use source code control make sure you separate the compiled code from the source code. This is an option in the VI properties.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Error cluster constant appears different in two locations on a block diagram

    I am a newbie to LabVIEW. I have taken Core 1 & 2 and Machine Vision and I have not com across this before.
    The image on the right is obviously an Error cluster constant used in the block diagram to create an Error cluster and wire it to an error out terminal. As far as I can tell the image on the left is about the same thing, but why does it look different? The different appearance causes raises a concern that there is a difference in behavior that I do not understand. LabVIEW help suggets that both are Error constants. When I create a new error constant, it always ends up appearing like the right image above.  I have not been able to create someting looking like the image on the left.
    Could someone please confirm what the image on the left is on a blck diagram?
    Thanks,
    Bill
    Solved!
    Go to Solution.

    The image on the left is an error cluster control. It has a front panel presence and can be set either via the front panel or through a property node or local variable. The image on the right is an error cluster constant. It is a static value.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • 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.

  • The Block diagram that cannot be edited...

    The customer wanted to launch the application ( done in LV7 ) with a shortcut from the desktop and when done with it wanted to close all including the LV environment.
    So I made the following changes :
    1. Made the application to "Run on Open "
    2. Connected the while loop Stop button to the "EXIT" function.
    3. Saved and started the application.
    Presto!! All worked as expected. Except that I no longer was be able to Edit the block diagram !!
    Good - I had a copy of the code before the change and survived the nightmare ....
    So the moral : Be very clear of what you are doing before you use the EXIT function.
    Just though will share the experience, before somebody makes the fatal mistake as above.
    ( I have now ordered out my copy of the Application Builder, so that I can have my editable code well away from the customer's PC.)
    Raghunathan
    Raghunathan
    LV2012 to Automate Hydraulic Test rigs.

    Here's another way to do it.
    Create a directory in your LabVIEW x.x directory named 'wizard', and save the attached VI there. If LabVIEW is running, you'll need to restart it, but then in the 'File' menu, you'll have a new selection named "Supress Run on Open...". Select this and you'll get a browse dialog to select the VI to open. It opens it by reference so it will not run.
    This is saved in LabVIEW 6.1, but works fine on 7.0 and 7.1.
    Ed
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
    Attachments:
    Supress Run on Open.vi ‏18 KB

  • Cannot open block diagram

    I opened a VI I recently created and when I try to open the block diagram its greyed out. doing Ctrl I and selecting Protection shows file as Locked(no password) and all options to unlock are greyed out. Any ideas how I can sort this out?

    You appear to have done everything right.  I doubt that being on the network would be a culprit. 
    You've probably mapped the drive, right?
    Did you even save it with the Locked property?  
    I am wondering if someone else had access to one of your PC's and played a trick on you.
    I tried a test VI and I can open the block diagram.  See image below (composite of 2 images)
    Message Edited by Ray.R on 11-20-2009 10:31 AM
    Attachments:
    locked.PNG ‏37 KB

  • Block diagram, front panel messed up

    Why do block diagrams and front panel controls get bunched up and screwed up when you open vi's on different computer with different labview versions.
    Can anything be done to prevent this?
    Does everybody have this issue?
    Thanks,
    Dustin

    You can _try_ to address this issue by right clicking on the vi's icon when it is open in the edit mode, select "VI properties", select "Window Size". Under this selection there are two selections that   _may_  help, they are supposed to partially address the issue you are describing. I never had much luck with them in the past, have to admit I have tried them in a while, try to find out what the target system's resolution is and develop the code in that resolution.
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

  • Charts and graph shown as --array and cluster datatype in block diagram

    Hi friends,
    I new user...
    I have a basic doubt...
    In many examples the graph and charts are shown as "array data type and cluster data type "------in the block diagram panel...
    Please tell me, how these data types are shown as graph and charts in the front panel window.....
    regards
    raja

    These are very basic issues and it should be clear once you study the online help and examples for a while.
    Waveform Graphs
    Plain waveform graphs assume equally spaced data. The x-values are implicit from x0 and dx of the x-axis. By default x0=0 and dx=1, meaning the x-values are the array indices. You can change the offset and multiplier from the properties dialog or programmatically via property nodes.
    If you give a 2D array, there will be multiple graphs. Transpose if needed.
    Alternatively, you can give a cluster of [x0, dx, y-array] and the x-axis will adjust accordingly.
    As another alternative, you can built a waveform datatype and feed it to the graph.
    You can also graph dynamic data.
    XY graphs
    xy graphs are needed if the x-vlaues are not regularly spaced.They take a variety of data formats, so pick what is most approriate for the data
    A cluster of an x-array and a y-array
    An array of clusters, each containing an xy pair
    A complex datatype (it will graph imaginary vs. real or similar).
    Charts
    Charts are different, because they maintain a data history buffer an retain a certain amount of data. Some examples of data inputs:
    A single scalar: it wil be appended to the existing chart data, possibly throwing out the oldest existing point.
    An array: The array data will be appended to the existing chart data.
    A cluster of e.g. 5 points: The chart will have 5 dividual plots, one point gets appended to each plot.
    etc.
    The express xy-graph can be configured as xy chart, etc.
    Sure, it is a bit complicated at the beginning, but the complexity also gives you flexibility to do exactly what you want. Just play around with various scenarios and look at the outcome. The best way to learn!
    LabVIEW Champion . Do more with less code and in less time .

  • Generating a report w/ block diagram & programatically specified case structure?

    Hi,
    I am trying to generate a report that shows the block diagram for a programatically specific case structure.
    The case structure has ~90 cases and is selected by a custom control.
    I'm on Labview 8.5
    I've found with the Append Block Diagram to VI, I can print out all of the cases (setting hidden frames to true), or just one case. However, I cannot select which case it shows, it always prints out whatever case has been manually selected on the block diagram, but I want to be able to programatically select it.
    I've tried to do the same thing by opening a vi reference, and using BD.Get Image Scaled, and cannot get that working as desired either. I've also tried setting the value of the control before getting the image, but that doesn't help.
    Any thoughts?

    Probably.
    This VI is backsaved to 8.5 and has the basic functionality. I don't know if the traverse VI shipped with 8.5, but hopefully this should be enough. If not, LAVA has info on how to access the scripting features in older versions (although less between 8.0 and 8.6).
    Try to take over the world!
    Attachments:
    Visible Frame.vi ‏10 KB

  • Why Is the Block Diagram Disabled?

    What did I do now?  Please look at the attached image.  A VI that I am using as a subVI in various different programs suddenly started looking like I had used application builder to create an exe file out of it (But I didn't!!).  The only options are Start and Run Continuously, and the block diagram is disabled.  What did I do to get myself in this mess?  How do I undo whatever I did, so I can edit the block diagram again?  Any help or suggestions would be greatly appreciated.
    Thanks!
    Solved!
    Go to Solution.
    Attachments:
    Disabled Block Diagram.png ‏259 KB

    Did you ever built a source distribution with the option set to remove the diagrams? In this case, the original must still be around somewhere.
    Since LabVIEW 8 you can no longer simply save without block diagram and you would not be able to upgrade such a VI to LabVIEW 2011, which it is now. (details)
    Of course it is possible that there is some corruption, but looking at the memory usage, the block diagram is blanked out.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    NoBlockDiagram.png ‏38 KB

  • Zoom in on Block Diagram

    How do I zoom in on a small area of the block diagram?

    canyonbreeze wrote:
    2 years later I'll just add that this is a deal breaker for me.  The block diagram symbols are too small for my old eyes.  Changing the screen resolution isn't an option.  I'm only using evaluation version right now to analyze Labview code we inherited from a closed down branch of the company.  I'm leaning to rescripting the program in C# and dumping Labview, less headaches from eye strain.If 
    If it's just a size-of-icons issue and not a bad-code issue, there must be a windows zoom utility out there you could use. I'm not sure if there is one, but I'll make the assumption someone has done it.
    CLA, LabVIEW Versions 2010-2013

  • How do I get the Label for a Front Panel Control to appear in the Block Diagram but not on the Front Panel?

    How do I get the Label for a Front Panel Control to appear in the Block Diagram but not on the Front Panel? On the Front Panel I am making a complex control that consists of a Slider and a Numerical Input box. Both Controls display the same information and either can be used for Input. When one changs, the other is made to display the same value.
     But I only want the Slider to display the Label on the Front Panel, to avoid confusion. On the Block Diagram however, I want both controls to display their Labels so that I know what they are. How do I display the Label for a Control on the Block diagram, but not display its Label on the Front Panel?

    No.  The Label Visible property is separate for the front panel control label and the block diagram terminal label.
    How did you start out with the block diagram's label not being visible?  Whenever I drop a control or indicator, the label is always visible on both the FP and BD by default.  Maybe there is a LabVIEW option that causes new controls/indicators not to have their labels visible by default, but I have yet to find it.  I don't think an item should ever be dropped without the label visible, good LabVIEW coding practice demands that the labels for control terminals on the block diagram be visible so that you know what control or indicator a wire is going to.
    That being said, I have seen a lot of VI's posted where the label for the terminal on the BD is not shown (against good programming practice.)  I've gone to the BD and right clicked to show the label.  Sometimes, the people have an empty label (which will turn off the visibility for both the FP and BD) and I'm forced to add some text of my own into the label so I can figure out what their code is doing.  When I add some text to the label, at that time, I find both the BD and FP labels become visible.
    Are you dealing with controls that have empty labels to start?
    Good programming practices:
    1.  Always have a name for all of your controls, never use and empty label by deleting the text in the label.
    2.  Make the labels unique.  For example, don't have two controls both called Stop.  How do you know quickly know which terminal relates to which control?
    3.  Always show the labels on the block diagram, so you know the function of a control's terminal.  If you want to hide the label on the FP, that's okay.
    4.  If you want a different label to appear on the FP than whatever you actually called the control, then use the caption.  You can hide the label and show the caption.  This is useful if you need to programmatically change what the "label" is on the front panel such if you are making an application that needs to change its user interface such as for a foreign language.

Maybe you are looking for

  • Having problem installing Win7 using Bootcamp on Mac Mini 2011

    I'm trying to install Win7 using bootcamp on my new Mac Mini 2011. I first partitionned the disc using Bootcamp assistant. Then during Win7 installation I select Partition 4 BOOTCAMP, format it to NTFS, then when I try to select the drive, it says th

  • Acrobat Pro XI SIGBUS ERROR

    So Acrobat Pro XI on Mac OS X crashed with SIGBUS ERROR.  Has anyone seen this before on a MAC or know the cause or solution?  I will attach the crash report.  Any help is appreciated. doug Process:         AdobeAcrobat [22295] Path:            /Appl

  • Problem in executing the mapping from outside OWB

    hi guys, i am facing a strange problem in a regular fashion. i have developed 4 mappings - the mappings have been validated with warnings, all of column lengths and data length related. the mappings have been deployed successfully - which i have also

  • CS6 photoshop constantly crashing with OpenGL. Need help

    OpenGL seems to crash randomly, but constantly. Previously running CS3, with few issues. I recently upgrade the graphics card after OpenGL testing failed, and it seem to be the most likely solution based on the old card. Working file is located on C

  • PLEASE HELP: Artist Naming. Why is it sorting by LAST NAME?

    Hey there everyone. Im sorry ahead of time. I'm a total newbie when it comes to itunes but hey I'm really trying to learn here. I have a 2nd Gen iPod Touch and when I click on artist it starts at A of course but what I dont' like is .... for example