Book: LabWindows/CVI Programming for Beginners

Has anyone read the followong book LabWindows/CVI Programming for Beginners LabWby Shahid F. Khalid ?
This book in not in print anymore and  inpossible to find.
Does anyone know of any similar source material?
I have both LabWindows/CVI Basics I&II but the content is extremely limited and not enogh details.
Does NI offer anything better than the embedded Help?
A Programmers Reference would be nice.
Thanks.

Hello NI Nubie,
I have that book, and also its "advanced" sequel by the same author.  They both went out of print a long time ago.  The books are OK, but they are only available on the secondary market for ridiculous prices now, and that is assuming that you can even find them.
If I could pass on some advice that might be more helpful to you in learning CVI: pretend those books do not exist for now.  Instead, I think that for learning CVI, there is nothing better than looking at other people's CVI project-level code and really understanding it, inside and out, and then making your own modifications to it to enforce what you just learned from it.  There are several places to start looking for project-level CVI code, which I will list in (what I think) are the highest-to-lowest priority of your training.
The first place I recommend is the examples that ship with CVI (located in the "samples" directory under the CVI installation directory).  I say this because these are supported by the NI developers and support crew.  In fact, back in 1995 when I was learning CVI 3.1, I dove into the "Icon Editor" application, for several reasons: it was a *complete* application (as opposed to the other, mostly point-solution "academic" examples under the samples directory), it showed how to segment your code into multiple source and header files, and it showed many advanced user interface features (menus, cut-and-paste).  There is now an "example finder" to help locate examples that "fit" to what you are currently trying to accomplish.  I also use the freeware "grep-like" tool called "Agent Ransack" (URL is below) to hunt down specific CVI functions and identifiers (such as certain EVENTS and how these examples use them).
Agent Ransack on MythicSoft.com
The second place I recommend is the other "support" locations on the NI web site.  There are knowledgebase articles, tutorials, submitted examples, community examples, and also extra "academic" examples from NI engineers that aren't the same as the ones that ship with CVI.  There are also whitepapers scattered in there as well, and a few that have hidden sample code that is embedded at the bottom of the article.  You really have to hunt for this stuff, and it would be great if the NI folks could try to index this a bit better somehow.  I sometimes even resort to using Google's search engine to find them on the NI web site, because the NI search engine may not find them.
The third place I recommend are user-based web sites created by power-users of CVI who like to share their code.  Two that I found long ago that remain at the top of the list (in my opinion).  One is Guillaume Dargaud's site, where he has lots of CVI examples and freeware.  The other is Philippe Baucour's "Rebel" CVI site (but you will need to use an online translator if you don't speak French, though).
Guillaume Dargaud's web site (drill down for CVI examples and freeware)
Philippe Baucour's "Rebel" CVI web site
Finally, you might find it interesting to know that there is a tremendous repository of C source code scattered all around the Internet, mostly as part of free and open-source software projects, many of which are supported on sites such as SourceForge.net, and many other locations.  Many of these places are filled with people (in forums or mailing list servers) who live in the C programming world on a full-time basis, and can help you through some of the advanced techniques.  Some of these projects might be targeted to Windows, some use cross-platform techniques, so they have a chance of being applied to your CVI efforts.  There is also an entire universe of programming "libraries" and capabilities that you can use to augment your CVI projects as well.  All of this because of the open-source revolution, riding on the back of GNU/Linux and the community and corporate entities that are backing it all.  Examples that come to mind are Cygwin and MinGW.  If you only have the time to just look up these two items on Wikipedia, you will see that this is just the tip of the iceberg of the possibilities that are available to you as a C and CVI programmer on Windows.
I hope this was helpful to you.
JB
To whom it may concern: My alias is also my nickname, I've had it since I was a (very) skinny basketball-playing teen. OK, so I've got a 38 inch waist now, but my hometown friends haven't shaken that appellation for me. I trust that you will someday be OK with that alias, as I have been with that nickname.

Similar Messages

  • Any LabWindows/CVI examples for SPI communication using DAQmx?

    I have a PXIe-6363 module in a PXI running as a real time target, and I'm trying to talk to an accelerometer that communicates with SPI.  I know the 6363 isn't one of the special modules built for SPI, but my understanding is it should be capable; the issue is just the programming.  I've seen examples of this for LabVIEW using DAQmx.  Are there any examples out there for doing it in LabWindows/CVI?
    I'm looking to save time and avoid reinventing the wheel here.  SPI is easy on an Arduino, so it should be doable in LabWindows/CVI, right?  
    Thanks,
    Matt

    Hey Matt,
    I was unable to find any full examples of SPI communication with DAQmx in C. My best suggestion would be to use the LabVIEW examples and implement the same series of function calls to implement the LabVIEW code in C. The DAQmx C API is good about keeping a standard with naming conventions to map with the function names in LabVIEW.

  • Example LabWindows/CVI code for NI4351

    Hi,
    I'm using an NI4351 PCI DAQ card with the Ni435x
    driver and LabWindows/CVI v5.5 (on Windows 98) to measure temperature
    and voltage levels. Are there any simple tested code examples that I
    could download, which use the NI435x driver function
    NI435X_Check_and_Read(), called from an asynchronous timer for
    continous scan? There are no problems when I use MAX (so hardware
    problem is ruled out), but my code yields
    occasional random temperature reading errors (looks like data
    corruption to me). The NI435x_ functions return no errors. Can I use
    lower level C driver functions instead of NI435X_Check(), NI435X_Read(), or NI435X_Check_and_Read()?
    What does MAX use behind the scene? Of course, the MAX setup only scans
    the one channel, so maybe this is why it works correctly. I have to
    scan one temperature channel and six voltage channels though.
    Many thanks,
    John.

    Humphreyy,
    thanks for the tip. I tried it but it did not work, the same errors were present. Are there any other suggestions. I have racked my brain to figure out why this is happening and have come up with nothing. I am also getting a "Warning" message concerning the "KsMedia.h" file that says "Warning: Excess characters in multibyte character literal ignored." The warnings trace back to the "typedef enum" section of that file. Could that be causing a ripple effect that produces the error I am seeing in the other header files I mentioned??
    I could really use your help and any more help that is available. I really don't want to use Visual C++, because this software is going to get more sophisticated and is to be used in NASA Langley's VISTAS simulator, an environment taylor made for National Instruments software.

  • Error: LabWindow CVI driver for Lab View 2011 (using hp4145a)

    What is the DLL for the Agilent hp4145a instrument driver?
    I am trying to convert the LabWindows/CVI Agilent hp4145 intrument driver for use in labview 2011, but keep getting errors related to an incorrect DLL.

    Hi Courtney L., 
    Your prompt response is much appreciated. Thank you. 
    I have attached the "hp4145 LabVIEW Wrapper Conversion Report" as a txt file
    - this report was automatically downloaded along with the"LabVIEW Instrument Driver Import Wizard (LabVIEW Interface Generator for LabWindows/CVI Instrument Drivers)" *(link listed below), and popped up at the end of the installation.
    If any specific details or a screenshot will also be of benefit to solving this problem, I will be able to post them by tomorrow night.
    *Link for Instrument Driver setup download:
    https://lumen.ni.com/nicif/us/infolvinstdriver/content.xhtml
    Attachments:
    LabVIEW_Wrapper_Conversion_Report.txt ‏6 KB

  • Best books of web Services for beginners ????

    hi all
    can you guys please suggest some good books of web services for beginner as i dont know about web services and i want to start to scratch.
    Thanks in advance

    This one might help you
    [Java WebServices Tutorials|http://java.sun.com/webservices/docs/2.0/tutorial/doc/JavaWSTutorial.pdf]
    Edited by: plastersmug on Jan 29, 2009 11:33 PM

  • Looking for microsoft press book on C# programming for Biztalk server 2013 and also one for WWF 4.5

    Is there any microsoft pressbook available for Biztalk server 2013?
    Also is there one for WWF 4.5.
    Please send me the URL where I can view the book contwnta nad buy.
    Rajesh S Harwani

    The dynamic ports use a pipeline including a custom pipeline component which I can confirm is available in the correct directory
    C:\Program Files (x86)\Microsoft BizTalk Server 2013\Pipeline Components
    I’m a bit stuck at what to try now, I have option where I could recreate the dynamic ports from scratch in the orchestrations and redeploy to dev in the hope it’s something
    that VS2012 didn’t handle too gracefully when converting the project. 
    Two things.
    1. That's what I would do first, recreate (really just change and reset the properties) the Orchestration Ports in Visual Studio.
    2. Probably not related but, Custom Pipeline Components should not be placed in the Pipeline Components folder.  All Custom Pipeline Components should be in the GAC only.  The Pipeline Components folder
    is a compatibility vestige from BizTalk Server 2004.

  • I am getting the message error when trying to run the labwindowa/CVI adapters for debug

    See attachments for error message and teststand settings. I am running testand 4.0.1
    It was working before and suddenly it crash and then I am getting that error message every time
    Regards
    Attachments:
    ErrorLoadCallback.jpg ‏32 KB
    ErrorLoadCallback2.jpg ‏134 KB

    It seems that something might still be corrupted or not registered properly. Have you tried running the TestStand Version Selector to re-select your current version of TestStand as the active version?
    Also, you mentioned that it crashed and now things aren't working. What exactly occurred when it crashed? Was this just TestStand freezing, or did the entire system freeze or crash? Did you see an error message of any kind?
    If the version selector doesn't help things, I would suggest a reinstall of TestStand (and possibly CVI, but let's start with TestStand). To clarify, we want to do an uninstall/reinstall rather than a repair, because the repair will only replace missing files. If a file is corrupted, the uninstall/reinstall should replace it.
    Let us know how it goes!
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • Fun programs for beginners.

    Can you guys give me some fun programs to write for a beginner? Hmm, I consider a small game like Minesweeper to be fun. Note that, I am not into mulithreading yet.

    elasolova,
    You could do a lot worse than your own idea, minesweeper... though frankly it wouldn't surprise me if you gave up before you got something playable... laying-out a playable minefield is actually rather tricky, mine placement isn't random coz that just produces a succession of unplayable boards.
    I think (for starters) that a card game like Black Jack (called 21 in some countries) might be more achievable.
    The beauty of a fundamentally simple problem like Black Jack is that you get can something going quickly and then embelish upon it in achievable increments... I expect that a (reasonably intelligent) noobie would have a simple command line version working in under a day, then each of the following enhancements might take a day or two...
    version 2 might be a simple GUI in swing.
    then you might add some sounds.
    then you might do some simple animations to show the cards moving.
    Version 3 might present that GUI as an Applet.
    the you might allow two players to play over the net.
    the you might add chat capabilities.
    I expect the animation and the networking might take a few days each.
    ... and by the end of the process you've learned a LOT of java, and what started out as "a simple Black Jack game" has moved into the realms of commercial-grade software, and has become something that you can add to your website as evidence of your ability to create GUI's in Java.
    And then maybe you might like to follow it up with something with "a few smarts behind it" like Hearts, or Poker.
    Your applets will be beating Kasparov by the end of next year.

  • Sequential programming for beginners

    We are trying to write some software that will operate several LED's and detectors in sequential mode.
    The program that we are trying to write goes like
    this:
    1 switch on detector on red channel
    2 20ms later, switch on red LED
    3 measure data from detector for 2ms
    4 save data to file
    5 switch off red LED
    6 repeat steps 1 to 5 but now using green LED
    7 repeat steps 1 to 5 but now using blue LED
    We have been trying with LabView 7 but haven't found the way to run such a sequential program.
    We would need some example .vi program that could help us to see how to get our program done, or some suggestions of which commands/icons in LabView we
    should use to do this.
    Thanks a lot.

    Hi,
    a sequential structure can easily be done in LabVIEW using subvis and LabVIEW dataflow. However another way is to use the flat sequence structure from the structure pallette.
    If you are looking for more flexibility, state machines are a common design pattern for problems like yours. Below you can find information about using statemachines:
    Application Design Patterns: State Machines
    http://zone.ni.com/devzone/conceptd.nsf/webmain/C74CEC177A289DBD86256C4E00600196?opendocument
    There is also a template in LV7 which you can use for a start.(New -> vi templates -> Design Patterns -> State machine)
    Let me know if this helps.
    Regards
    Stephan A.
    National Instruments

  • Manual or Tutorial of LabWindows/CVI?

    Hi everybdy, i'd like to know, if anybody knows some manual, tutorial or
    how getting started , in the program LabWindows/CVI 5 or other version, in
    Internet . Thanks for your attention,and sorry for my English.

    "laxus1" wrote:
    >Hi everybdy, i'd like to know, if anybody knows some manual, tutorial or>how
    getting started , in the program LabWindows/CVI 5 or other version, in>Internet
    . Thanks for your attention,and sorry for my English.>>
    Hi
    The book is ""LabWindows/CVI Programming for Beginners""
    Have a look on the following web site.
    Type LabWindows on book search.
    http://www.phptr.com/
    Also try Amazon.com at
    http://www.amazon.com/exec/obidos/ASIN/0130165123/o/qid=975622255/sr=8-1/ref=aps_sr_b_1_3/107-7675244-9336531
    You can also try EBAY if you like to bid on book.
    http://cgi.ebay.com/aw-cgi/eBayISAPI.dll?ViewItem&item=510511275
    Hope that help.
    Rejean Lafortune
    CAE Electronics Ltd.
    Avionics Interface Engineering

  • LabWindows/CVI accessing C# program

    I suppose this is a common problem.
    What I want to achieve is this:
    I want to do my User Interface design in C# WPF, instead of the LabWindows/CVI (*.uir), which is cumbersome and not user-friendly.
    say a simple slider in C# WPF, how can a LabWindows/CVI program able to access and set those variables in C# WPF slider?
    do we need to create some sort of wrapper for it? Is the .NET Library useful for this purpose?
    can we have some demo to test it out?
    thanks.

    Hi,
        I am not too familiar with C# and CVI cooperation but maybe it is better idea to to separate C#UI and CVI code to different project.
        What i mean is.Compile one of them to library(DLL or something in C#) and then use one from other by some well defined API.
        I think this is better idea than mix lot of functions call from two different runtimes(C# and CVI)
        There is sample already shipped/instaled with CVI, some of this is about call .net function from CVI.
        You can also create your own wraper library from CVI menu Tools>Create .Net controler.Check the help file.
    P.S. personaly, i like the CVI UI, and UI editor too.

  • Online book/tutorial for beginners.

    Does anyone know a good online book/tutorial for java programming for beginners. and im looking for something about OOP structure or something. so for the absolute beginner. i dont know any other languages.
    but i don't mean learning the language itself (i dont know what to call it, but i mean the keywords and how to declerate a class and stuff like that.)
    I hope i'm being clear.

    Here's the download page, if you prefer to work off-line, like I do. You can download all the tutorials, and all the sample code that they use.
    http://java.sun.com/docs/books/tutorial/information/download.html

  • Add Transparency Attribute for LabWindows/CVI Panels

    Add an attribute for LabWindows/CVI panels for setting transparency.
    Currently, in order to achieve this behaviour users are forced to workaround this using Windows API.
    Having an attribute for this purpose would allow users to benefit from this functionality more easily and would make LabWindows/CVI programs more cleaner.
    Related forum discussion: http://forums.ni.com/t5/LabWindows-CVI/Transparent-Main-Panel/m-p/3172386

    Greetings LabWindows/CVI enthusiasts,
    I am pleased to inform you that the LabWindows/CVI Real-Time Module Beta Program is now open.
    If you are interested in participating in the program, we encourage you to request participation by visiting www.ni.com/beta and choosing to register for the LabWindows/CVI Real-Time beta from the drop-down menu. All previous beta users must re-register for the LabWindows/CVI Real-Time Beta to ensure we have up-to-date information. This is a separate beat program from the LabWindows/CVI Beta and must be registered for separately.
    National Instruments
    Product Support Engineer

  • Function Module for book Training Program for an employee

    Hi All,
    As we are having the Standard function module "HR_INFOTYPE_OPERATION" for PA infotypes.
    So is there any function module by using that function module in program we can Book,Cancel, Rebook , Prebook a training program for an employee as we can Book,Cancel, Rebook , Prebook through transaction code PSV1 in Training Module .
    And i want to know the table names where the data insert / update when we book a training program for an employee through transaction code PSV1 in Training & event Module.
    can anyone help...?
    Regards,
    Priya.

    Hi,
    use FM 'RH_PARTICIPATION_INSERT' for Book attendance .

  • How does the URL of DataSocket constitute?And how to use it in LabWindows/CVI ?

    Hi !
    There's a problem puzzled me some days.How does the URL of DataSocket constitute ? And how to use it in LabWindow/CVI ?
    For example.I have downloaded a code in http://zone.ni.com/devzone/cda/epd/p/id/3787.I want to make it work properly.So I configure my DataSocket Server Manger according to the URL of this statement.
    DS_Open ("dstp://weather.natinst.com/weather/current",
    DSConst_ReadAutoUpdate, DSCurrentCallback, NULL,
    &dsCurrentHandle);
     My DateSockket Server Manger is configured as:
    However,it could not work properly when I debug it.
    There's a introduction at the top of the code."You may need to replace the references to weather.natinst.com to 130.164.140.10 if the DNS isn't working properly."So,I modified the statement into
    DS_Open ("dstp://130.164.140.10/weather/current",
    DSConst_ReadAutoUpdate, DSCurrentCallback, NULL,
    &dsCurrentHandle);
    but,it did work properly.
    We want to communicate with other computers via the URL of  DataSocket in LabWindows/CVI.Whereas,how could we make it ia the URL ?
    If anyone could help me solve this problem,I would appreciate it very much !
    Best regards.
                     xiepei
    I wouldn't care success or failure,for I will only struggle ahead as long as I have been destined to the distance.

    Hi !
    Thank you very much for your reply! I will accept your advice.
    Besides,I have another question.If I want to visit other computers or other websites,how does the URL of DataSocket  I constitute ? Does the URL has any relation with the DataSocket Server Manger ?If does,how to configure the DataSocket Server Manager to let them connected.If they have no relation,how to use the DataSocket Server Manger ?
    After all,I want to know how to use it in LabWinows/CVI ?
    Thank you very much !
    Best regards!
    I wouldn't care success or failure,for I will only struggle ahead as long as I have been destined to the distance.

Maybe you are looking for

  • Automatic sign on to SAP login screen in javascript

    Hi, I am basically a abapper, but with a little exposure to javascript, my requirement is that i am supposed to send an e-mail(not SAP email) to a users internet e-mail inbox. In the body of the mail the user clicks on a hyper-link and the user is to

  • Customize jspx pages through Oracle WebCenter Task Flows Customization

    Hi.... I am customizing Oracle WebCenter Task Flows through JDeveloper in customization mode, I am able to customize jsff pages but I can't customize any jspx page. Please help me out how can I achieve this? Thanks.

  • PS3 Throttling

    I've just switched from AOL to BT (BIGGEST MISTAKE). Although BT is faster, the service, throttling, connection, and price is so bad. Anyhoo.. why does BT keep dropping my PS3 connection whilst multiplaying? Call of duty MW2 wont even connect, and Bl

  • File open dialog to just get the user selected file name

    Hi, I am working on asynchronous file storage to KPRO through my ABAP WD application. For this asynchronous upload operation, I just need the file name and file path(not the content). The KPRO servers could be made to use SAPFTP, SAPHTTP in the backg

  • New user .. .display emails newest 1st rather than last

    Just loaded Thunderbird because Verizon is timing me out of e-mail. I see no mechanism for changing the order of displayed emails. I see the oldest on top rather than the latest ... How do I change this?