Labview project organization and management

I am looking for advice/resources for organizing and managing moderate to large applications in labview. I have created an application with over 100 vi's and want to ensure the easiest management and maintenance of the code for the future. Does anyone have opinions on vi libraries, folder use or other methods for keeping projects manageable as the size grows. Most of my past applications were less than half of this size so code control was easy and I could be more sloppy. I have kept good practice in regards to coding and reuse in labview but have not found many articles or software management for labview. I am looking to make the transition from the lab to more commercial products. I have 8 years of extensive self-taught labview experience (10+ years or general programming c/c++ ...) so I am familiar with coding techniques but have not seen too many software engineering and architecture techniques applied to thsi language. Any resources would be greatly appreciated.
-Paul
Paul Falkenstein
Coleman Technologies Inc.
CLA, CPI, AIA-Vision
Labview 4.0- 2013, RT, Vision, FPGA

We are the ones representing the "one with experience" for most of the new developers. As to organizing/structuring a project, I usually have created a directory for each of my projects, with sub-dirs based on major program functional blocks (i.e. User Interface, Initialization, Instruments, DAQ, etc.) containing the code specific to those functional blocks, usually with a sub-dir containing the type def'd controls for that function. Once I've passed a certain arbitray chosen point in the development process, which usually is determined by the complexity of the code to that point, I start making a copy of the master directory every morning, renaming it with a date code or to a newer version ltr/number than the previous day's and do my work in that, giving me a "revert" path. On some projects, at some customers, I have used SourceSafe, or other configuration management programs, but much of the time I am the only developer, so it isn't _as_ necessary. I have had mixed results with the various CM programs, they weren't developed to work with a graphical language like LabVIEW, so a lot of the tools won't work. There have been a few threads devoted to the problems and solutions that others have implemented in multideveloper environments, so a search should turn up some info. The biggest CM issue that I have been running into is the addition of "stuff" (utilities, new instruments, etc.) to the developers local LabVIEW palettes. It is one thing to be "checking out" pieces of the project's code, but it becomes problematic if there are things unique to the developers individual environment vs. things that are in the project's folder. You go to load some code and it can't find the version of the HP666A that "Bob" has in his instrument palette.
Good luck,
P.M.Message Edited by LV_Pro on 06-30-2005 10:28 AM
Putnam
Certified LabVIEW Developer
Senior Test Engineer
Currently using LV 6.1-LabVIEW 2012, RT8.5
LabVIEW Champion

Similar Messages

  • How do you create hierarchical folders in Forms Central to organize and manage multiple forms?

    How do you create hierarchical folders in Forms Central to organize and manage multiple forms?

    Hi,
    We do not support this feature right now.  Someone else has posted this to our ideas forum, here - http://forums.adobe.com/ideas/1587.  I suggest you vote for it, because we look at the popular ideas to help guide us on what new features work on.
    Thanks,
    Todd

  • Project 2013 and Managing StakeHolders

    Is there a way for MS Project 2013 to:
    List all Stakeholders on a project
    List those stakeholders contact info (or link to Active Directory for email and phone if internal)
    Assign stakeholders to tasks or milestones.
    I know "resources" can be inventoried, but I'm distinguishing them from stakeholders who you would need to report to that don't perform any actual work (ex: C-level, other managers, etc.)
    Thanks in advance for any help you can provide

    rimmella --
    I do not get the impression that you are using Project Server 2013, but are only using the Microsoft Project 2013 desktop application.  If that is true, I believe you have another option.  What I would do is to create a custom Resource field that
    indicates whether a resource is primarily a team member or primarily a stakeholder.  Here is how to do that:
    Open a project and apply the Resource Sheet view.
    Click Project > Custom Fields.
    In the Custom Fields dialog, select the first available resource Text field, such as Text1 for example.
    Click the Rename button.
    In the Rename Field dialog, enter a friendly name like Resource Type, and then click the OK button.
    In the Custom Attributes section of the dialog, click the Lookup button.
    In the Edit lookup table dialog, enter three values: Team Member, Stakeholder, and Both.
    Click the Close button and then click the OK button.
    In the Resource Sheet view, right-click on the Type column header and select the Insert Column item on the shortcut menu.
    In the list of available resource columns, select the name of the new field you just created, such as Resource Type if you used that name.
    In the new Resource Type column, click the pick list for each resource and select whether they are a Team Member, a Stakeholder, or Both.
    This will now allow you to see who is a team member, who is a stakeholder, and who is a stakeholder who also functions as a team member.  In addition, if a stakeholder is a team member, you might want to specify a Standard Rate for that resource. 
    Just an additional thought.  Hope this helps.
    Dale A. Howard [MVP]

  • LabView project file does not understand mapped directories

    I have my LabView project file and VIs located on a network driver \\svr-maltese\botdfs which I have mapped to my S: drive.  I have a short cut that I use that gets me to
    \\svr-maltese\botdfs\.....\48-000058-001-x01 or I can walk the S: tree down to 48-000058-0001-x01 directory, but I get to the same place and the same files.  Depending on how a get there I will be conficts that have to be manually resolved.  LabView does not seem to understand that they are the same file.  LabWindows has the same problem, but handles it better.
    Solved!
    Go to Solution.
    Attachments:
    Conflicts.JPG ‏44 KB

    Fixing this would be hard and quite costly in terms of performance. For each UNC file LabVIEW would have to query if it is on a network path and if there are alternate paths that also point to the same resource. Then it would have to normalize the paths. Networked file APIs in Windows are notoriously slow and hampered by all kinds of authorization problems where the only way to detect them is to start the operation and hope that it finishes properly, running into lengthy timeouts if it doesn't.
    I doubt you would want LabVIEW to take one minute for every UNC file in a project every time you load that project because it does this alias checking and runs into network timeouts every time.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • LabVIEW Software Programmer and Project Lead in Overland Park, KS

    JET Engineering Inc. is a System Integrator for test measurement and control. Corporate office located in Cedar Rapids, IA with branches in KS, MO, NE.  Looking to expand into the Overland Park, KS area. ISO 9001:2008 certified.
    Job Summary: 
    Customer on-site LabVIEW programmer on various projects.  Responsible for assembling project requirements, accepting assigned responsibilities, working with other JET team members, and maintaining schedule to ensure timely completion of project.  Must manage project scope, cost, schedule, and risk to achieve project objectives.   Effectively coordinate and manage activities with other JET and customer team members.  Track and communicate status of projects.
    Job Responsibilities: 
    Designing and implementing LabVIEW solutions for customers with guidance from JET LabVIEW Architects
    Understanding of National Instruments (NI) hardware capabilities integrate them into customer solutions
    Troubleshooting hardware, wiring, and interfaces
    Planning and Executing comprehensive software validation tests
    Understanding and/or discovering how software, hardware and customer systems interact
    Receiving and following general instructions on routine work, detailed instructions on new projects or assignments; work will be reviewed for soundness of judgment and overall adequacy and accuracy.
    Building productive working relationships internally and externally.
    Frequent internal company and external status reporting.
    Developing solutions to a variety of problems of moderate scope and complexity. 
    Referring to policies and practices for guidance.
    Working on problems of moderate scope where an analysis of situations or data requires a review of a variety of factors.
    Exercising judgment within defined procedures and practices to determine appropriate action.
    Contributing to the completion of organizational projects and goals.
    Frequent use of general / technical knowledge and industry/functional practices, techniques, and standards.
    General application of sound engineering process concepts and principles.
    Developing professional expertise.
    Job Skills: 
    Certified LabVIEW Developer level programing skills
    Working knowledge of most NI hardware platforms
    Prefer experience with NI TestStand
    Prefer experience with NI VeriStand
    Prefer experience with LabVIEW classes and object oriented programming
    Job Attributes:
    Analysis – understands elementary problem- solving techniques. 
    Cooperation – understands the value of cooperating with co-workers.
    Coordinating – understands how to disseminate internal information.
    Innovation – recognizes the benefits of change and experimentation.
    Judgment –base decisions on factual information and sound logic.
    Relationships –compassionate and empathetic when dealing with the problems of others.
    Minimum Requirements:
    Bachelor’s degree in appropriate discipline, or in the absence of a bachelor’s degree, six years of related experience, or NI CLD certification with demonstrated project experience.
    Compensations:
    Depends on Experience Level

        Bill,
    We are able to offer you the help you need on
    this.  I work for a LabVIEW/test-system consulting group based here out
    of Salt Lake City...not too far if a quick trip is needed.  Among the
    six of us, four of us are former NI employees and we count with a lot of LabVIEW experience and regularly do
    contract work, local and remote.  This sounds interesting and right up
    our alley as far as experience goes.  I'd refer you to our website for
    further info about different projects that we've done for many
    clients.  www.mooregoodideas.com.
    If this seems workable for
    you, feel free to shoot me a note at [email protected]  I'd be
    curious to know more about what you're after and how we can help you
    out. 
    Thanks,
    Jim

  • Where Used for VIs and LabVIEW Project

    Is there a way in LabVIEW Project Manager to check the Where Used status on all the VIs at the same time? I am going through a project trying to weed out VIs that are not used in the project. I know I can check the "Find Callers" for each VI, but this feels slow and cumbersome. Is there a way I can generate a report to find the Where Used status on all VIs in a project?
    Thanks,
    Matt

    You also have the Find Items with No Callers Dialog Box as of LV 8.5
    Eric V
    National Instruments
    Applications Engineer
    Certified LabVIEW Associate Developer
    "I'm a Ramblin' Wreck from Georgia Tech and a helluva (NI Applications) Engineer!"

  • LabVIEW Project and saving only the relevant vis

    I have a large development folder (and sub-folders) that I have used as a repository for all of my development plus test pieces of code. There are about 800 vis in the folder, but if I save my main VI off to another folder using "Duplicate Hierarchy to new location" I end up with 150 or so relevant files.  Unfortunately I have not discovered an easy way of copying the project over to the new location.
    What I'm looking for is the ability within the project file to go through all of the files that in the project, determine if they are used in the VI hierarchy, transfer those files to my new location along with the project files. And then also reference all files in the new location, not the old.  This way I could build a number of slightly different programs, but which uses the whole power of my development vis that I may have already.
    Dan

    Peter_B wrote:
    Ben wrote:
    I'd start by creating a source distribution in the project (use perserve hiearchy) based on the top level VI or if that is not enough create a Tree.........
    A similar problem has stumped me for years and relates closely to the solution you pose Ben.
    I am frustrated that LabVIEW doesn't allow me to include the lvproj file into the source distribution.  I used to be able to do it in LV2009 via a workaround (I'd put the lvproj file into a subdir of the highest commmon DIR where all the project files reside on disk), but now LV 2010 intentionally seeks out and excludes my lvproj wherever I try to hide it !!
    This article from NI Source Distribution Does Not Include LabVIEW Project File tells me to use the zip file distribution method instead.  Well, that ain't a solution for me as zip file distributions don't have:
    the 'Always Excluded' pane in the Source Files menu (there are project files that I don't need to distribute),
    the 'Additional Exclusions' menu item as for some reason there are a heap of vi.lib files also included into this zip (which I don't want or need).  
    Yes I still that was a bad idea by NI.
    I did try to log a bug about that but was fed some line about including the .proj file was not part of thier use case so... I think their use case is flawed, still.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Templates Project Setup and Lease Management Setups don't show up during selection set creation

    Hi,
    I am new to iSetup.
    I have just installed iSetup using the Isetup List Of Mandatory Patches For R12 (Doc ID 811040.1)
    I don't find the following templates needed by my users to create selection sets:
    - Projects Setup
    - Lease Management Setups
    Any idea why they don't show up?
    Regards,
    Jean

    It's not a backup restoration.
    I'm a newbie, I installed Oracle on my computer. In the installation, Oracle allows to create a database. I didn't change any setting information, excepted set the database's password.
    Oracle was successul installed.
    The database setup (wizard) failed.
    The listener was not created.
    When the wizard step run "Creation and starting an Oracle instance", I get ORA-03113.
    I don't know the log I sent to you is the good log. I'm not sure. My database name is "Essai1"
    Do it is some files that I could send to you?
    thanks for your help.
    Jimmy

  • I in need of oracle project costing,project billing and project management setup documents? can you please help me.

    I am in need of project costing and project billing and project management setup documents with screen shoot? Can anyone help me?

    I have no clue about recovering the info, but when you say you save you should always use Save As. That clears unneeded info from the file. With the file size you have, that may be an important need.

  • Upgrade labview project that has classes and subVi's

    We have a  LabVIEW  project in LV 8.5( freated by a different developer) that has classes, and various Vi's , subVi's.
    I am looking to upgrade it to LV 2014.  To be safe, I wanto to copy everthing into new classes( renamed from old ones), rename all the Vis( I hav ealready done that in Windows explorere, though not yet added them to project), and use them with renamed subVI's.
    The old classes and VI's should remain in the same folder. 
    What is best way to do that?
    I found something here
    https://lavag.org/topic/17741-the-nightmare-that-is-renaming-a-class-and-its-folder/
    but this basically suggests many methods, and then, would delete the old structure.
    Also, what happens to the "controls" that show up under "private" folder?
    I have never worked with LV classes, so pardon any lack of knowledge.
    sed_y

    4) All the subVI's that are being used and reside in different directories, will be made copy of into their own subdirectories, with the originals zipped.
    That's the one you need to be careful of. If you have any shared code or re-use libraries outside of the project folder then these will get loaded and saved in LV2014. Use the 'files' tab of the project folder to see which files aren't in your project subdirectory.
    Anything that is in user.lib you can copy from the 8.5 user.lib to the LV2014 user.lib folder and your project will automatically find them.
    There are some useful tips here about working with LabVIEW projects and keeping all of your code in sensible locations. Anything relating to your project should be within the project subfolder and any shared code should go in the respective user.lib/vi.lib of the appropriate LabVIEW version - this does mean that you have a copy of the VI for each version of LabVIEW so you will need to be careful about making sure if you change it in one version you change it in the other. Even better still is to make your shared code into VI packages - then you can install them for any LabVIEW version and it will automatically save/compile them for the appropriate version. We used to have all of our re-use code in user.lib but it made moving between LabVIEW versions a pain so we started using VI packages and haven't looked back.
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets

  • I have a prpblem in enabling webserver i get message labview webserver not running error 54 , i checked IIS Manager and www the services r running ok ..can anybody tell what might be error ,,,iam on labview 6.1 and win 2003 server.,

    i have a problem in enabling webserver i get message labview webserver not running error 54 , i checked IIS Manager and www the services r running ok ..can anybody tell what might be error ,,,iam on labview 6.1 and win 2003 server.,

    If you already have IIS web server running, you need to run the LabVIEW web server on a different port to avoid conflicts. It probably won't start because the port 80 is already in use.
    Check options.."Web Server: Configuration" within LabVIEW.
    LabVIEW Champion . Do more with less code and in less time .

  • How can I copy tasks from Automation Measurement & Explorer to a LabView Project

    I have a labview project which currently relies on tasks that are predefined in the Measurement and Automation Explorer. I haven't been able to figure out how to export them out of the Measurement and Automation Explorer to be imported into Labview. Can this be done?

    Well, let me try to explain something, which can be really questionable
    Hence both methods use the same API, the DAQmx API, they have different "implementations". The LV API consist of LV VIs, of course, in the first instance. Of course, digging deep into them, you will encouder CLFNs to the DAQmx DLLs. But some of them are "hidden" because property nodes are in fact something similar to the DLL-calls......
    In MAX, you never "see" the API, you are using the wizard. Nevertheless, MAX uses the internal functions contained within the wizard to use the device just as desired (hopefully ) But it never will use the VIs to accomplish that...
    Now there are imho two possibilities for you:
    a) You start using the LV DAQ Assistent to create your tasks on the PC. It has the same appearence as the wizard in MAX, so you will not trade any used interface for a new one (which would be the API). When you finished the definition, the wizard can be transferred to LV code which can be altered. But if doing this, you will lose the possibility to alter the task using the "used API", the wizard.
    b) You can live with the current situation but create a product suggestion for LV and DAQ at the Product Suggestion Center.
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How to install Project Online and Project Pro for Office 365

    Hello,
    Can someone please explain where can I find reliable and exploitable step by step process to install
    Project Online and Project Pro for Office 365. I tried for several weeks with no avail.
    All the links I followed led to
    an impasse.
    Thanks for your help

    WLID1966,
    I am not sure if there is a step by step process detailed anywhere, but that possible because it is fairly easy to get started. The steps below may vary sligtly because I am using a preview version..
    1) you would sign up for Project Pro for Office 365 from this link (or pursue through your organization) : http://office.microsoft.com/en-us/project/enterprise-project-and-portfolio-management-subscription-project-online-with-project-pro-for-office-365-FX104002972.aspx
    2) Once you are setup with Office 365 account and project online, you would go into the settings as shown below
    3) Once you click on software, you should see the below, and then click Install to install Project Pro.
    Prasanna Adavi,PMP,MCTS,MCITP,MCT http://thinkepm.blogspot.com

  • What are the advantages of using LabVIEW projects in TestStand, as apposed to just a path to a vi

    What are the advantages of using LabVIEW projects in TestStand, as apposed to just a path to a vi ?
    I am modifying an existing workspace for a new product, and it seems like more work to add the vi's into a LabVIEW project
    does it gain anything in the long run

    Hi Rusty,
    I wanted to quickly clarify on the integration between TestStand and LabVIEW Projects.
    As Jeff mentioned, some of the big benefits of using LabVIEW Projects is to organize code and to namespace them.
    For instance if you had a project called "Power Supply" that housed all your power supply code and had a VI in that called "Initialize", and another project called "Temperature Chamber" that also had a VI called "Initialize", both these VIs are namespaced by the project, so there is no longer confusion about which "Initialize" VI is being used.
    Now from a TestStand point of view, in prior version of TestStand, we lost some of this benefit because TestStand did not know about TestStand projects and called VIs simply as un-namespaced VIs. However, in TestStand 2010 (released last year, free eval available at ni.com/teststand), we added the ability to (optionally) call VIs within the context of their projects. This means that:
    VIs are now namespaced by their project, even when called from TestStand
    VIs can use project specific constructs like NI-DAQmx tasks and conditional compilation settings
    Note: When creating deployments, the VIs maintain their projects and namespacing, so this benefit holds true for deployments as well.
    Additionally, someone had mentioned looking into using lvlibs to namespace your VIs for deployment. Two comments:
    With TestStand 2010, this is no longer neccessary since the project itself namespaces the VIs
    You might also want to look into LabVIEW Packed Project Libraries, which combined several VIs into a single file. Think of it as a DLL specific to LabVIEW that is as easy to call as normal LabVIEW VIs. TestStand 2010 can call VIs that are exposed by PPLs. In addition, the deployment utility can automatically pack your VIs into PPLs for deployment.
    Hope this is helpful!
    Jervin Justin
    NI TestStand Product Manager

  • Biztalk Project Organization - Recommeded Practice

    Hello:
    We are planning to leverage BizTalk pub/sub infrastructure to send (publish) and subscribe (send) messages. We have number of web services independently deployed
    and maintained.  The service projects are organized in TFS under Main > Source. The Source folder contains the sub folders for each and every service. The existing structure looks like this
    Root
    Main
    Source
    Service A
    Service B
    Service B
    Now that we will be using BizTalk as pub/sub infrastructure, we will have to create several BizTalk projects for the schemas, subscribers, maps, etc. The question
    what’s the recommended practice to organize the BizTalk projects for the above Scenario? Does it make sense to create another folder under main for BizTalk and organize all BizTalk projects under it? Something like this:
     Root
    Main
    Source
    BizTalk
    Subscriber 1 // BizTalk subscriber project 1
    Subscriber 2 // BizTalk subscriber project 2
    Schemas // Holds all canonical schemas
    Service A
    Service B
    Service B
    Please advise the recommended practice

    IMHO,  BizTalk projects also follow same semantics as other project types regarding TFS project structure. You might want to decide this based on how your teams are organized and manage work items etc. If you are using BizTalk 2009 or later, TFS Build
    integration is available.
    Here are some videos that you can have at,
    http://www.cloudcasts.net/ViewWebcast.aspx?webcastid=2521312950167008799
    http://www.cloudcasts.net/ViewWebcast.aspx?webcastid=2521072060555401694
    http://msdn.microsoft.com/en-us/biztalk/ff603634
    HTH.
    Please mark it as answer by clicking on "Propose As Answer", if it helps. My Blog : http://dotnetizen.blogspot.com

Maybe you are looking for

  • How do I join multiple Contacts on my iPhone 5?

    How do I join multiple Contacts that are exact or very similar on my iPhone 5?  When I bought my iP5, I merged my contact from my android phone but almost all of my contacts were duplicated (I now have over 4k contacts) in this process.  Any suggesti

  • Cannot install Windows 8.1 64BIT.

    Hey guys so i use bootcamp to install and partion the hard and then get onto the windows 8.1 installer. Everything goes well till i get to the hard drive point were i format the BOOTCAMP hard drive. it still has the error at the bottom saying " Windo

  • Printers not showing in Print Management on Local Server

    Fresh Server 2012 R2 VM on Hyper-V setup as a print server only.  It allows me to add printers and they show up in the Control Panel in Devices and Printers, but they don't show up in Print Management under server (local). Ports and drivers show up.

  • PowerMac G5 Image across single, dual, and quad Processor Macs

    Good Day, Our organization is preparing to roll out Tiger. To streamline this process we have decided to create images for each Mac family in use. I know I need to find the newest possible model to create the image but what is the rule for single, du

  • See which online number is being called ?

    I have 2 online numbers setup on my Skype account. When a call comes in - is it possible to see which Skype Online Number they dialled ? Thanks