Jump to content
News about the LabVIEW Wiki! Read more... ×

26 files

  1. JSONtext

    Package for working with JSON.  Uses high-speed text parsing, rather than building an intermediate representation as with prior LabVIEW JSON libraries (this is much faster).  Allows easy working with "subitems" in JSON format, or one can convert to/from LabVIEW types.  Uses the new "malleable VIs" of LabVIEW 2017 to convert to any LabVIEW type directly.
    JSON text makes use of a form a JSON Path notation, allowing easy and rapid access to the subitems of interest.
    Requires LabVIEW 2017 and install by VIPM 2017 or later.
    Original conversation about JSONtext.
    Now on the LabVIEW Tools Network.
    Copyright 2017 JDP Science Limited

    589 downloads

    Updated

  2. JSON LabVIEW

    JSON is a data interchange format (sometimes compared to XML, but simpler). There are multiple projects to create a JSON package for LabVIEW. This is yet another one motivated by this hijacked conversation originally about a different project to convert JSON into LabVIEW Variants.

    This project uses a set of LVOOP classes to match the recursive structure of JSON, rather than variants. It allows conversation to and from JSON. All functionality is available through two polymorphic VIs: Set and Get. In addition to Get and Set VIs for common data types, one can also convert directly to or from complex clusters via variant-JSON tools.

    Copyright 2012-2016 James David Powell, Shaun Rumbell, Ton Plomp and James McNally.
    [Note: if you are using LabVIEW 2017, please also see the JSONtext library as a an alternative.]

    12,833 downloads

    Updated

  3. LV muParser

    LV-muParser provides a simple LabVIEW API for muParser fast math expression parser.
    A modified version of muParser v2.2.5 is included. It will be installed to your "<LabVIEW>\resource" directory. I have added support for the "!" (not) operator as well as added ":" as a valid character for variable names.
    You will find the muParser API in the functions palette under "Addons > LAVA > muParser"
    muParser: http://beltoforion.de/article.php?a=muparser
    LV-muParser source on github: https://github.com/rfporter/LV-muParser

    240 downloads

    Updated

  4. Floating Point Almost Equal

    This package contains VIs for testing equality of floating point numbers within a specified tolerance. Absolute Epsilon comparison, Relative Epsilon comparison and the ULP comparison have been implemented as described in this blog post by Bruce Dawson: http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ Note that the ULP comparison has not been implemented for extended precision floating point type. Installation and instructions: Install VIP package using VI Package Manager 2014. Examples: "<LabVIEW>\examples\LAVA\AlmostEqual\AlmostEqual_Example 1.vi" Demonstrates the usage of all three AlmostEqual functions. "<LabVIEW>\examples\LAVA\AlmostEqual\AlmostEqual_Example 2.vi" Demonstrates a case where exactly equal fails to produce the expected result.   Development version available on GitHub: https://github.com/rfporter/FP-Equal

    548 downloads

    Updated

  5. Threshold Hysteresis v1.0 LV8.6.1

    The Threshold Hysteresis VI allows an input (for example, a sensor) to drift out of an inner limit without generating an invalid flag, but if it drifts outside an outer limit it then becomes invalid. For the reverse, when the input crosses back into the outer limit it remains invalid until the value falls inside the inner limit.
    For simplicity, only one input parameter is provided for both the inner & outer limits, and is negated for the lower limit, as generally tolerance limits are equidistant from the nominal.

    142 downloads

    Submitted

  6. Analog Clock_LV2010

    Analog Clock_LV2010 v1.0.0
    Copyright © 2012, Prabhakant Patil
    All rights reserved.
    Author: Prabhakant Patil
    LAVA Name: Prabhakant Patil
    Contact Info: Contact via PM on lavag.org
    LabVIEW Versions:2010
    Dependencies: Required Labview proffesional version to create XControl
    Description: This is simple try to create analog clock.
    Version History: v1.0.0: Initial release of the code.
    License: BSD
    Distributed under the Creative Commons Attribution 3.0 (http://creativecommo.../about/licenses)
    See link for a full description of the license.
    Support:
    If you have any problems with this code or want to suggest features:
    please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and
    search for the "Analog Clock_LV2010" support page.
    Distribution:
    This code was downloaded from the LAVA Code Repository found at lavag.org

    1,491 downloads

    Updated

  7. Calendar LV2009

    Hi All
    This Calendar is developed for the report generation.
    This tool is very useful in report generation to pick up the date.
    Please read readme.txt
    Please give me suggestion for this to improve more.
    Prabhakant Patil

    4,075 downloads

    Updated

  8. lvODE

    Author: Wojciech Golebiowski (vugie), w_golebiowski at tlen dot pl
    Name: lvODE
    Type: Library
    LabVIEW Version: 2009
    Description
    lvODE is a set wrappers, an interface to ODE (Open Dynamics Engine) library written in C and used to simulate dynamics of rigid body systems, including interactivity and in real time. In the present state lvODE allows you to use almost the full functionality of ODE in the LabVIEW environment using object-oriented programming (LVOOP). Such simulations may be used, among others, for programming the control systems of robots and manipulators (as well as in the control systems themselves, i.e. for trajectory planning), for development and testing of artificial intelligence systems, for modeling of complex mechanisms and other physical systems, etc.
    lvODE is not a strict set of ODE wrappers. Although it uses the same concepts, the same terminology and most of the ODE functions are reflected, many of them have been grouped, data structures have been simplified, all in a user-friendly manner and taking into account specifics of LabVIEW environment. There are also few features not present in the original library which greatly facilitate programming – i.e. Object Manager. Further extensions (i.e. 3D Picture Control integration) are planned.
    Short preview movie:


    Briefly about the ODE
    ODE is a free and widely-known library designed to simulate systems of rigid bodies. The programmer defines the layout of bodies, their physical parameters and types of connections between them, the role of the library is to calculate the forces acting in the system and to determine position and velocity of all bodies in the next time step, while satisfying all defined relationships. Programmer is able to interfere in simulation in full range while it goes on. It allows for the accurate analysis of its results (access to all the physical parameters) as well as programming any degree of interactivity. ODE is designed specifically to perform real time simulations – it uses a first order integrator (the procedure to solve a system of differential equations), which is a compromise between speed and accuracy. Results generated are not as accurate as they would be using higher-order integrators, but it is stable, fast and flexible.
    The basic features of ODE include:

    Rigid body with arbitrary mass distribution Types of kinematic pairs (joints, constraints): ball, slider, hinge, suspension, universal (Cardan), linear and rotary actuators, contact, and combinations that are already listed Types of geometry used for collision detection: sphere, cube, cylinder, capsule, plane, ray, any shape in the form of triangle mesh, convex, heightfield Three types of spaces for fast collision finding Equations of motion derived using Lagrange multipliers Choice of integration method: the "full" method – slower, but more accurate, and quick iterative method An advanced model of contact and friction
    Installation
    The contents of the archive folder ("lvODE") should be extracted to directory \user.lib. After restarting LabVIEW the sub-palette "lvODE" appears in the User Libraries section, where all the necessary functions may be found.
    Or use the VIPM package.
    Documentation
    The documentation is located in the subdirectory 'doc' and it consists of the following files:
    ODE Manual.pdf - The original guide to the ODE. At least brief knowledge of it is necessary to understand the main concepts and mechanisms of library. Due to the use of the same terminology, it can also be a sufficient source to use the lvODE. The main difference from the original is the simplified naming convention. lvODE Class Hierarchy.pdf - graphical representation of a lvODE class hierarchy of classes library - not necessary to start programming, but it may help to understand certain concepts. lvODE Function Reference.pdf - a list of all public lvODE functions with descriptions and organized by class. Descriptions of the functions derive much of the original ODE manual, however, cover all the differences of the conventions and LabVIEW specifics. This document is definitely to be polished (better grouping, more detailed descriptions of each section, etc.) Files *. png - map of all pallets An integral part of the documentation are also descriptions in of context help for each VI. In large part they fit the descriptions in the file "lvODE Function Reference". Private functions are documented as well.
    Examples
    Example applications are located in "examples" subdirectory. There are few examples with varying degree of complexity, and with comprehensive comments in the code. These examples, supported by context help and (in difficult cases), reading a few chapters of the original manual should be sufficient to start programming in lvODE.
    Comments
    lvODE is not a finished project. Once the ODE itself is still being developed, second, not whole its functionality is currently implemented in lvODE. The major differences include: no support for trimesh, heighfield and convex geometries, the lack of a 2D Plane constraint, lack of gyroscopic mode for the bodies, single precision floating point numbers only.
    Few words about licensing. I publish lvODE under such a restrictive license (see below), because this is still experimental phase. I’ll appreciate any feedback which could help to make this library better and more stable. My further plans are to provide less restrictive free version and full-featured commercial one. Please contact me if you are interested.
    Comments on this approach are also appreciated.
    Version History
    v0.1.0: Initial release of the code.
    Support
    If you have any problems with this code or want to suggest features:
    please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and
    search for the "lvODE" support page.
    License
    This work is published under the Creative Commons BY-NC-ND license (description and text of the license here and in license.txt)
    ODE library is distributed under BSD license (www.ode.org)
    Copyright © 2010, Wojciech Golebiowski

    1,555 downloads

    Updated

  9. Document Generator

    Document Generator v1.0.0
    Copyright © 2011, Mark Smith
    All rights reserved.
    Author: Mark Smith
    LAVA Name: mesmith
    Contact Info: Contact via PM on lavag.org
    LabVIEW Versions:
    2009
    Dependencies:
    None
    Description:
    This class is used to generate a single summary document for any folder containing LabVIEW elements (controls, VIs, projects, classes, or libraries (lvlib)). It recursively traverses the folder structure and reads the documentation from all VIs (including custom controls) and the documentation attached to all front panel controls. The class uses that information to build a document in HTML, RTF (rich text), or plain text (ASCII) formats.
    HTML is the preferred format, since this is the only format that includes lvclass descriptions and also supports the creation of a hyperlinked table of contents (TOC).
    The user can choose to
    - use short or long formats - the long format includes the descriptions on all front panel controls
    - Include or exclude custom controls from the document
    - Include or exclude private members of a class or library
    - Include or exclude protected members of a class or library
    One might choose to exclude private and protected members if the intention is to create an API document for the class or library
    - enable or disable a dialog that warns that an existing html file is about to be replaced by the Document Generator
    Installation and instructions:
    Unzip and open the Document Generator.lvclass
    Examples:
    The UI.vi is an interactive interface for creating documents. The Generate.vi provides an API if the user wants to programatically call this utility. They can be found in the Public->Methods virtual folder.
    Known Issues:
    Any documentation read from the source elements (VIs, controls, projects, etc.) is treated as pure text. There is currently no provision for escaping characters that might be interpreted as control characters in HTML.
    Version History:
    v1.0.0: Initial release of the code.
    License:
    Distributed under BSD
    (http://creativecommo...g/licenses/BSD/)
    See link for a full description of the license.
    Support:
    If you have any problems with this code or want to suggest features:
    please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and
    search for the "Document Generator" support page.
    Distribution:
    This code was downloaded from the LAVA Code Repository found at lavag.org

    1,470 downloads

    Updated

  10. Waptia - genetic optimization algorithm

    Waptia - genetic optimization algorithm
    Copyright © 2009, Wojciech Golebiowski
    All rights reserved.
    Author: Wojciech Golebiowski (w_golebiowski (at) tlen.pl)
    Name: Waptia - genetic optimization algorithm
    Type: library
    LabVIEW version: 8.2
    Distribution:
    This code was downloaded from:
    http://www.lavag.org
    Description:
    Waptia is general genetic optimization algorithm - it tries to maximize user supplied function of N variables (so called "Fitness Function"). Function is given as strictly typed VI reference. So the optimization goal may be described as: find such set of N numbers for which Fitness Function value is highest.
    Waptia is LabVIEW implementation of quite well known genetic optimization algorithm Pikaia by Paul Charbonneau & Barry Knapp developed in Fortran-77. For more information on Pikaia and some background informatio on genetic algorithms visit: http://www.hao.ucar....kaia/pikaia.php
    Pikaia name comes from lancelet-like creature which lived ages ago in Cambrian sea and waptia was another Cambrian being. Original Pikaia was developed for educational purposes, but it grew up and became widely used routine. Waptia is almost 1:1 conversion of Pikaia code (which is public domain) to LabVIEW - parts of original Fortran code are placed in related VIs - with some cosmetic modifications and improvements. Although Waptia already does real job I treat this code as starting point for further development to create sophisticated, but still easy to use genetic algorithm.
    Here are Waptia's core features:
    - decimal genotype encoding
    - two-point crossover operator
    - optional dynamically adjustable mutation rate
    - optional "creep" (smoothly changing) mutation mode
    - three possible reproduction plans
    - elitism
    - optionally stops optimization when fitness criterion is satisfied
    - optimization progress may be traced on-line with notifiers
    Usage is very simple - just put Waptia.vi on block diagram and provide number of independent variables and fitness function VI reference (which may be created using included template). There is of course a lot of parameters to tune, but default set usually does good job.
    Installation
    Preferably install VIP package with VI Package Manager
    Alternatively extract ZIP to User.lib.
    There are no external dependencies.
    Documentation
    Documentation is provided in "Waptia docs.rtf" file. It's just a description of all controls of Waptia.vi with some background information. Same information may be found in context help. Information on how to write your own fitness function is provided as comments in "Fitness Function Template.vit"
    If you want to understand how Waptia works, whole code is extensively commented.
    Examples
    There is one quite complex example (but I hope that still understandable) located in _examples folder - "multimodal optimise.vi"
    If you want any support on general or specifically genetic optimization problems, just contact me.
    License (BSD):
    Copyright © 2009 Wojciech Golebiowski
    All rights reserved.
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:
    1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
    3. The name of the author may not be used to endorse or promote products
    derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    1,773 downloads

    Updated

  11. Align and distribute

    Align Distribute objects v1.2.0
    Copyright © 2010, Ton Plomp
    All rights reserved.
    Author: Ton Plomp
    LAVA Name: Ton Plomp
    Contact Info: Contact via PM on lavag.org
    LabVIEW Versions:
    LabVIEW 2009 and up
    Dependencies:
    No dependencies, demo VI needs the OpenG time library
    Description:
    A set of VIs to align or distribute a set of points or objects, they behave similar to the align and distribute functions in the LabVIEW IDE. These tools are usefull when dealing with objects that needs to be rearranged.
    The set of VIs is bundled in one polymorphic VI (align_distribute.vi) that has the following tree layout
    -Align
    -Top
    -point
    -rectangle
    -Left
    -point
    -rectangle
    -Bottom
    -point
    -rectangle
    -Right
    -point
    -rectangle
    -Vertical center
    -point
    -rectangle
    -Horizontal center
    -point
    -rectangle
    -Vertical center
    -point
    -rectangle
    -Distribute
    -Top
    -Left
    -Bottom
    -Right
    -Vertical Centers
    -Vertical Gaps
    -Vertical Compress
    -Horizontal Centers
    -Horizontal Gaps
    -Horizontal Compress
    Installation and instructions:
    Use the VI whereever you want, or install it into your user.lib with VI Package manage (http://www.jki-soft.com/vipm)
    Examples:
    The zip-file includes one DemoVI that moves front panel controls around
    Known Issues:
    Acknowledgements:
    Icons are supplied by National Instruments in the LabVIEW IDE
    Version History:
    AlignDistribute - 1.2.0 (Released 2010-06-28)
    =============================================
    - 0000021: [bug] The palette shows Align Distribute.vi as name.
    v1.1.0: Initial public release of the code.
    License:
    This code licensed under the BSD license
    ==============Start of license==================
    Copyright © 2010, Ton Plomp
    All rights reserved.
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions are met:
    1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
    3. All advertising materials mentioning features or use of this software
    must display the following acknowledgement:
    This product includes software developed by the .
    4. Neither the name of the nor the
    names of its contributors may be used to endorse or promote products
    derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY ''AS IS'' AND ANY
    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    ==============End of license==================
    Support:
    If you have any problems with this code or want to suggest features:
    please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and
    search for the "Distribute objects" support page.
    Distribution:
    This code was downloaded from the LAVA Code Repository found at lavag.org

    352 downloads

    Updated

  12. Windows API

    Windows API Utilities.
    An eclectic set of wrapper VIs around some windows API functions.
    I wrote these many years ago (1998? wow!) but have used them to some extent in virtually all my windows programs.
    I've included all the original functions (accidentally re-compiled under LV 9.0) and just wrapped them up in a project and added the LAVA required stuff so your getting them "warts 'n all".
    Many functions have been superseded by LabView functions and I expect many people already have their own.
    But there are still some gems I couldn't do without and maybe someone will find them useful.
    Installation:
    Unzip to a directory of your choice.
    Required Packages:
    Labview 9.0 or greater
    Windows XP or greater (may work on earlier versions)
    Known Issues.
    None.
    Versioning:
    Current version 1.0.
    Contact: PM ShaunR on lavag.org (http://www.lavag.org)

    2,002 downloads

    Updated

  13. MemBlock

    Author: Wojciech Golebiowski (w_golebiowski (at) tlen dot pl)
    Name: MemBlock
    Type: library
    LabVIEW version: 8.2
    Description
    MemBlock is easy to use interface for internal LabVIEW memory manager functions (namely AZNewPtr, AZDisposePtr and MoveBlock from LabVIEW.dll). It allows for convenient work with continuous nonreallocatable blocks of memory) - allocating and dealocating blocks and write and read data to and from them. It is usable everywhere you deal with external DLL and you have to provide pointer to some data or read data from received pointer. Typical usage case is dealing with complex C structs containing pointers to arrays or strings.
    Installation
    Preferred way to install library is to use VIP package and VI Package Manager.
    Alternatively library may be used after unpacking it anywhere on disk. However, it is most convenient to copy entire MemBlock directory to the directory \user.lib. After refreshing palletes (or LV restart), in the User Libraries, sub-palette "MemBlock" will appear.
    Documentation
    Descriptions of all VIs are available through the LabVIEW context help.
    Support
    If you have any problems with this code or want to suggest features:
    please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and
    search for the "MemBlock" support page.
    Version History
    1.0.0:
    Initial release of the code.
    License (BSD)
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:
    1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
    3. The name of the author may not be used to endorse or promote products
    derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    619 downloads

    Updated

  14. log event error

    This VI logs an Application event associated with "error" to the Windows Event Viewer (eventvwr.exe). An event description includes the "error" source and code along with the leading "reason". This information can be viewed by opening an Event Properties window in the Event Viewer.

    724 downloads

    Updated

  15. Convert between ASCII and Unicode

    Copyright © 2006, Christopher G. Relf
    All rights reserved.
    Author:
    Christopher G. Relf
    christopher_relf@yahoo.com
    Distribution:
    This code was downloaded from:
    http://forums.lavag....odule=downloads
    Description::
    Convert between ASCII and Unicode
    Version History:
    1.1.0: Faster ASCII to UNicode alogrithm
    1.0.1: Bug Fix - Removed increment in "Convert Unicode to ASCII.vi"
    1.0.0: Initial release of the code.

    2,477 downloads

    Updated

  16. Watermark hidden in text string

    This software is made to hide watermark text inside your text without changing the text content
    The watermark is buried in the space characters of your text !
    It is "not" possible to find the watermark in the text only if you know where to look.
    You can make sure that text you have written is not manipulated by somebody without breaking the watermark....
    How things work you can see in the attached example_watermark file.
    The file Spacy_watermark.vi is the packer and recovery of the watermark text inside a text string.
    Copy the watermarked text inside a document (.doc, .txt, .html) so this text is tagged with your watermark of choice.
    Explore how its done...... and let me know if you like it !
    John

    1,128 downloads

    Updated

  17. Variant to Control

    opyright © 2007, Ton Plomp
    All rights reserved.
    Author:
    Ton Plomp
    --see readme file for contact information
    Description::
    This tool converts any datatype into a control, this control can be typedef, a special Use-case VI is added:
    Array of strings to an enum.
    Especial usefull if a list of allowed values is avialable and is case sensitive (XML...)
    The control can be saved as a typedef
    Originated from Array To Enum
    Acknowledgements:
    Uses code by Bob Billier from his RTM to Enum tool
    Dependencies:
    Uses the following OpenG toolkits:
    oglib_lvdata-2.7-1
    oglib_error-2.3-1
    oglib_file-2.8-1
    These can be installed with VIPM (http://jkisoft.com/VIPM)
    Version History:
    1.1.0:
    Added Variant to control
    1.0.0:
    Initial release of the code.

    2,070 downloads

    Updated

  18. SAPI TTS(Text To Speach) Library

    Copyright © 2007, Syrus Nemat-Nasser
    All rights reserved.
    Author:
    Syrus Nemat-Nasser
    --see readme file for contact information
    Description::
    A simple set of Sub-VIs to efficiently implement text-to-speech in LabVIEW applications on Windows using the Microsoft Speech API (SAPI).
    Version History:
    1.1.0:
    Updated SAPI Speak SubVI: SAPI Speak is now polymorphic, accepting either a text string or a file path (which should point to a text file containing text to speak). In addition, SAPI Speak now handles speech flags correctly thanks to code contributed by LAVA user 'jdunham' included in this release.
    1.0.0:
    Initial release.

    1,424 downloads

    Submitted

  19. Railroad Interlocking Controller

    Copyright © 2009, Oliver Barrett
    All rights reserved.
    Author:
    Oliver Barrett
    --see readme file for contact information
    www.linkedin.com/in/orbarrett
    Description:
    THE APPLICATION CONTROLS A SIMULATED RAILROAD INTERLOCKING CONSISTING OF PASSENGER STATION TRACKS, A GRADE CROSSING BETWEEN TWO RAILROADS AND A RAILROAD SWING BRIDGE.
    All switches and track signals are controlled for the purpose of safely lining one train movement through interlocking at a time. Simulated occupancy of each track section by a train movement is displayed.
    Interlocking operator can select the following functions from the application screen:
    1. Line a selected track switch for movement into or out of the passenger station siding tracks.
    2. Line one of five preconfigured interlocking configurations (eastbound, westbound, northbound, southbound or Stop), in preparation for a simulated movement in the same direction (movement will wait outside interlocking limits if configuration at Stop).
    3. Select a movement direction and initiate a simulated train movement through interlocking.
    A simulated movement (begun by clicking on the Initiate button) will not proceed completely through the interlocking unless the latter is configured for the same direction as the direction of movement. Such a movement may progress partway until it encounters a red signal and will then stop. It may be restarted by first lining the interlocking for the proper direction and then clicking on Initiate again.
    Track signal indications will update in real-time to reflect occupancy condition (unless overriden by current interlocking configuration). The indicator for an occupied track section appears orange, otherwise green.
    Each signal indicates PROCEED (green) or STOP (red). One or more signals will be forced to display STOP as part of a preconfigured interlocking movement direction (irrespective of track occupancy).
    LABVIEW STRUCTURE
    The application uses a Producer-Consumer (Events) design pattern. The interlocking function requests are handled by the producer loop, with separate consumer loops for lining a siding switch, configuring an interlocking direction and initiating a simulated train movement. A separate display loop executes in parallel.
    Separate queues are used to pass operator requests for lining a track switch, configuring an interlocking direction and selecting a direction for simulated train movement, using a different enum typedef for each. State machine design patterns are used within the track switch lining, interlocking configuration and interlocking movement subVIs.
    Four functional global variables are used for all state data involving track occupancy, switch and bridge states, signal override states (the latter used for lining a given interlocking direction) and current relative movement location/movement direction.
    The display loop is initialized by a notifier at the beginning of application execution and runs in parallel to continuously update track occupancy display along with switch and bridge states and all signal indications reflecting interlocking conditions.
    SubVIs are used in the display loop to read the binary state word supplied by the functional global variables associated with the track occupancy states, switch/bridge position states and signal override states.
    Dependencies:
    None.
    Change Log:
    1.0.0: Initial release of the code.

    1,154 downloads

    Submitted

  20. Strings Levenshtein Distance

    Copyright © 2008, Leif S. Kirschenbaum
    All rights reserved.
    Author:
    Leif S. Kirschenbaum
    --see readme file for contact informaation.
    Description:
    This VI computes the Leventshein distance between two strings.
    It is based on the pseudocode found in Wikipedia online:
    http://en.wikipedia....shtein_distance
    "The Levenshtein distance between two strings is given by the minimum number of
    operations needed to transform one string into the other, where an operation is an
    insertion, deletion, or substitution of a single character."
    It functions by creating a step matrix which is N+1 x M+1, where N and M are the
    lengths of the two strings to be compared, and filling in each cell of this matrix
    indicating how many steps (insertions, deletions, character substitutions) are required.
    The total number of steps to convert one string into the other is given by the last cell
    in the matrix.
    Change Log:
    1.0.0: Initial release of the code.

    545 downloads

    Updated

  21. Self-Decimating Storage VIs

    Copyright © 2007, Huron Valley Steel Corporation
    All rights reserved.
    Author:
    Paul Torek
    --see readme file for contact information
    Description:
    These files allow the programmer to maintain a fixed-sized representative sample of data, regardless of how many data sets are accumulated. The storage may be in the form of a shift register (a.k.a. VI Global) - VIG_self_decimating.vi performs this job - or in the form of a binary file on disk - VIG_decimation_indices.vi and write_2Ddbl_decim8_REentrant.vi do that job, with help from decimatd_evenly_spaced_2D_DBL.vi and decimated_cleanup_2D_DBL.vi. Note that the given VIs are intended for storing 2D DBL arrays, but it is straightforward to modify them to do other formats such as 1D i32 arrays.
    Labview 8.0
    Version History:
    1.0.0:
    Initial release of the code.

    518 downloads

    Submitted

  22. Array Point to RowCol

    Copyright © 2006, dsaunders
    All rights reserved.
    Author:
    dsaunders
    --see readme file for contact information
    Description:
    Converts a pixel coordinate to an array index. Returns an array of indices with a length equal to the number of array dimensions. Also returns if the point is within the content rectangle (not on the caption, scrollbars, etc.)
    Works on any N-dimensional array regardless of visibility of caption, label, index display, or scrollbars. Designed to be used on mouse events that provide the mouse coordinates.
    Limitations: Property nodes do not indicate the array border width, nor if the user has chosen to display an element gap. These inputs are thus provided on the VI.
    Version History:
    1.0.0:
    Initial release of the code.

    1,338 downloads

    Submitted

  23. Game of Life

    Author:
    Eric Olson
    --see readme file for email address
    Description:
    Conway's Game of Life is a fun little simulation of a group of cells. How new cells are born and how old cells die is decided by a simple set of rules, but can lead to complicated behavior by the entire colony. I've always found this simulation to be interesting and I thought coding it in LabVIEW would be a fun exercise. Comments and critiques of either the game or of my coding style are always welcome.
    The basic rules are simple:
    1. A cell that has one or zero neighbors dies of lonliness.
    2. A cell that has four or more neighbors dies of overcrowding.
    3. An empty cell that has exactly three neighbors containes a new cell in the following generation.
    A thorough explanation of the Game can be found at http://web.archive.o...7s_game_of_life .
    Dependancies:
    This uses the OpenG time, file, and variantconfig libraries. They are not included.
    Download them via the OpenG Package Manager: http://web.archive.o...p?showtopic=233
    Change Log:
    1.0.0: Initial release of the code.
    1.0.1: Include readme.txt in the zip file.
    1.1.0: Added Open and Save As functions (in the menubar). Added an About dialog. Removed the Exit button (redundant to Close).
    1.1.1: Forgot to include the .rtm file in the distribution. Rows/columns now update when opening a .gol file.

    1,248 downloads

    Updated

  24. Windows Environment Variable Reader Writer

    Windows Environment Variable Reader Writer Vc
    Copyright © 2006, Brian Hoover
    All rights reserved.
    Author:
    Brian Hoover
    **see email address in readme txt**
    Description::
    Purpose:
    This Vi was made so that you can easily view and create environment variables from within Windows XP.
    Features:
    You are able to read all environment variables which you have available to you at the command prompt by typing "set". It also can write environment variables by writing them to the registry in the following location:
    HKEY_CURRENT_USER\Environment
    Also for added safty it will check the name you are trying to use, and won't allow its creation if a variable with that name already exists.
    Usage:
    To use this VI you need to be using Labview version 8.20. With Labview 8.20 installed open the VariableReadWrite.vi file, then click run. While it's running open the View Variables tab and click "Refresh Variables" to view all your command prompt variables.
    Two String arrays are created, the Name of the variables, and their values. A text window is also displaying what the user would see if they typed "set" at a command prompt.
    To create a variable open the Create Variables tab and fill in the information for Variable Name and Variable Value; then click Create Variable. Please note that you may need to log off then back on for the new variable to take effect.
    If needed there is a "Run Regedit" button which will open the registry. From here you can see the newly created variables in the location mentioned in the Features section.
    When you are done click stop to end the program.
    Version History:
    1.0.0:
    Initial release of the code.

    1,424 downloads

    Submitted

  25. VI_path_listing

    VI_path_listing V1.0.0
    Copyright © 2006, Huron Valley Steel Corporation
    All rights reserved.
    Author:
    Paul Torek
    contact through http://forums.lavag.org, by sending PM (private message) to torekp
    Description:
    Lists the paths of all VIs in memory other than itself, with the (optional) exception of vi.lib VIs. Note that if you do not exclude vi.lib, some of this VI's subVIs will appear on the list. Prompts user to save the list to a text file or to Cancel the save operation.
    This VI might be useful to those who do not use a rigorous source code control scheme, but still want to keep track of many VIs.
    Version History:
    1.0.0:
    Initial release of the code.

    479 downloads

    Updated



×

Important Information

By using this site, you agree to our Terms of Use.