I'm trying to run a LabVIEW program that keeps bringing up an error saying it is missing a bunch of Sub VIs. I have most of the sub VIs in a separate folder except one : the NML ALL GPIB vi. I think the rest of the VIs are not running becuase they are all connected to this one but I'm not sure. Can someone please tell me where I can download this specific VI? do I need to download a specific driver? which one? Thanks!
I Googled 'nml all gpib vi' and it appears to be part of this library which is on Scott Hannahs' site.
Your missing VI looks like it interfaces with instruments using GPIB. It looks like this vi was created by Scott Hannahs, NHMFL-FSU, Nov. 1993. I'm not sure how it appears to be avaliable for download from his site as a LabVIEW library file. This library looks to hold all the subVIs required to allow the NML ALL GPIB vi to run but they may need to be linked into your project.
What is the function of your LabVIEW program? Have you inherited the code or is this a new development? If you need any help with LabVIEW in the future there are several resources you should be aware of.
Info-LabVIEW - an independent mailing list to discuss the LabVIEW software produced by National Instruments
LAVA - The LAVA Forums are managed and maintained by dedicated LabVIEW enthusiasts
National Instruments - National Instruments develop LabVIEW and a wide range of data acquisition hardware
Related
I'm using the same code that is still working for a new version of equipment the company the bought.
I can't communicate with the equipment in vb in visual studio (the language of the last code I wrote). But I can make a simple code in LabVIEW to see if the equipment is communicating and it is.
So, my question is what code is labview sending to the equipment?
The only thing I see from the LabVIEW GUI is *IDN?\n
Is that the same as what I writing?
mySerialport.WriteLine("*idn?" + Chr(10))
*IDN?\n
is not the same as :
mySerialport.WriteLine("*idn?" + Chr(10))
The former is capitalized while the later is not and it may cause an issue depending on the instrument.
You are using the serial port, so the most important thing to consider is the baud rate. It is possible that the later model equipment your company purchased has a different baud rate to the one that was used previously.
If you want to see exactly the data that LabVIEW is sending, you can use NI IO Trace or a non NI serial port monitor such as listed here
The question isn’t what language LabVIEW uses. LabVIEW is a programming environment with library APIs to speak to lots of hardware and the ability for anyone to write code to speak to even more hardware. The question is “what language does the HARDWARE speak?” To answer that, you’d post what kind of hardware it is and probably go to the manufacturer’s website for a spec sheet.
“*IDN?/n” looks like a GPIB command, which is just a framework serial protocol. You’d need the spec sheet of the hardware to know the particular commands that your hardware understands.
PS: LabVIEW doesn’t have a GUI showing anything about hardware communication. You have an application written in LabVIEW that has a GUI that is displaying information. You can edit the program to print out more info if you want, just like you could in VB. Complaining about the “LabVIEW GUI” in this case is equivalent to complaining about the Visual Studio GUI when the problem is with the program you’ve written in VS!
"The only thing I see from the labview GUI is *IDN?/n"
That sounds more like you are using the VISA Test Panel in MAX (Measurement and Automation eXplorer). It is related to LabVIEW in that it is also a tool developed by National Instruments (NI). But it does not sound like you have actually touched LabVIEW itself.
As was already stated, *IDN?\n is a typical command that an instrument that follows the SCPI messaging standard. On a Windows system, that is usually the same as "*idn?" + Chr(13) + Chr(10).
As SeanJ pointed out *IDN?\n is not the same as "idn?". Further, make sure that space character in your calling method is visible. Sometimes machines require you to manually type "\r\n" for complete carriage return.
I have a file containing a LabView program and need to understand what it does. Of course it can not be executed without LabView. But is it possible to read a LabView program without Labview?
But is it possible to read a LabView program without Labview?
I presume you're asking, "Can I open a *.vi file and look at its source code (which is called the "Block Diagram"), without using LabVIEW?"
If that's your question then the answer is "No", not directly. Officially, you need LabVIEW to read, edit, and execute a *.vi file.
Third party support to view VIs without LabVIEW
You can get a third party to convert the VI for you:
If you know someone else who has LabVIEW, you can ask them to open the VI for you and save the Block Diagram as a picture file for you (preferable in the form of a Snippet).
There are unofficial 3rd-party tools (like the one in #mefistotelis's answer) which can convert VIs without LabVIEW.
Installing LabVIEW without purchasing
(NOTE: In April 2020, LabVIEW Community Edition was released. It is free for home use.)
If you are willing to download and install LabVIEW, you can open the VI file. This link lets you select the Community Edition for home use or the 7-day evaluation for commercial/academic use.
The parser I made can read VIs, and convert most of the content to XML (including Block Diagram, Front Panel and type definitions used for connectors):
https://github.com/mefistotelis/pylabview
It is open-source, and in no way related to NI.
The XML form you get isn't really easy to read, but with the data exported to XML, it should be possible to write a tool which parses it and displays as a diagram, or at least creates an SVG.
As #JKSH already stated the answer is "No".
If you think a Labview Viewer could be useful give a Kudo to this Labview Idea and try to convince National Instruments to provide one.
In the comments to the idea there's a link to a software, VIpreVIEW - Interactive VI preview, making a Flash-enabled HTML page for viewing the code (I've never tried it).
I have an Yes answer to this question. There is an option to export the block diagram as snippets as said by #JKSH.
I have created a POC - Export VI as images.vi here in github which can help you to export the VI you want to read as images. Then you can easily open the images in any image viewer and read that LabVIEW code. You need to feed it this POC with VI you want to export and image saving locations for the front Panel and the block diagram.
If the person who has given you the code has LabVIEW installed with his PC, s/he can export the code as images easily using this POC.
Ref: https://github.com/digiajay/ExportLabVIEWfilesAsImages/tree/master/POC
Thanks,
Ajay.
I'm trying to find a modern environment similar to what I found great about QBasic but making up for the flaws. The purpose of this is to code with my 6 year old son.
I'm looking for an IDE that uses a modern language, has the ability to draw graphics and play audio, and doesn't force the User to jump around much between coding and running their application.
In QBasic you had basically two modes: Edit and Run. There were no third party libraries required for creating graphics or generating Audio tones (that I remember). You never had more than one "window" opened at a time.
Is there a modern day equivalent IDE which uses a modern language that provides what I'm looking for?
I don't want him to have to jump around between various windows, try to wrap his mind around window toolkits, understand the command line, or use OOP just to get started. My end goal is to create simple graphical games with him -- not printing text out to the console.
(Preferably cross platform or useable on Mac OSX since that's what we have at the house. Preferably Python based since that's my language of choice.)
QBasic is a great option. You can purchase an old PC from a thrift store and run QBasic on it. There is the option of QB64 which can run on both Mac and Windows. Hope this is helpful.
I'd suggest QB64, almost 100% compatible with QBasic/QuickBasic but runs on Windows.
You could maybe try Small Basic, it aimed to recreate the ease-of-use and educational purposes of the old BASIC languages build into home computers from the 1980s
The Small Basic project was initiated following this article on Salon:
Why Johnny can’t code (David Brin, 2006)
Does anyone know how to integrate the Playstation Eye with Labview? Can a driver somehow be used to allow Labview to recognize it as a webcam?
You should be able to do this with vision (install IMAQdx and Vision Dev Module)- it seems to be DirectShow, which IMAQ can do- or try out the code found on this page: http://www.labviewforum.de/thread-21279.html - it uses the original dlls.
as there are NO official dll´s for the PS3 Eye on Windows, the ONLY Option is to use the 3rd Party drivers from Code Laboratries or directly interface the Hardware via USB-RAW commands. Code Laboratries PS3 Implementation however does not seem to be 100% conform with the Direct Show standard. You can get a PS3 Eye to work with Labview (via Direct Show and IMAQ), but you will be limited by the usable framerates.
I tried to interface the dll from code laboratries directly, but got stuck on a stange error with the second function i tried (see the already referenced Thread http://www.labviewforum.de/thread-21279.html). However it seems as for now there is a Vi Package available for the PS3 Eye to support LabView under OSX with the full available framerate. More Information can be found here:
http://labview.epfl.ch/
Hope this helps.
Best Regards,
Jan
I'm trying to run a program written by someone else in LabVIEW. The program records voltage. However it won't open because it is missing subVIs.
Initially I thought that only one was missing and the rest weren't working becuase they were attached to it but after someone on this forum kindly found it for me the rest of the VIs still won't work so I think I need to download them again. However there are too many off them to get separately, also I tried googling them to no avail.
The subVIs are : Magnet Id, Hardware check, Plot Data and Print, Make Plot Lables, Plot it, Relabel It, Write File header, Record Analog Info, Fix Column Heading, Make Igor Label etc etc (this is not a complete list).
I feel that I should download a DAQ from The National Instruments Website but I am not sure which one. I am using 64 bit LabVIEW 2010 on Windows. Can someone please help me pick out the correct driver?
Thanks!
Just going from memory, those aren't NI VIs that I recognize, especially if the misspellings are in the original.
What hardware is this interfacing with?
You should still be able to open the main VI. It will not compile or run, since the subVIs are missing, but you should be able to open it and maybe get some clues about what it's doing.
The SubVIs all appear to be in the llb file so they should be available. I'm not sure how you can access the subVIs directly from the llb file so you may want to convert this to a project folder (this is the new way of creating libraries since version 8 I think). There are some pages on the NI website that may help, try Converting an LLB to a Project Library and then add this Project Library to your project.
From what I can see the VIs make use of the VISA drivers to communicate with the individual instruments so you should make sure you have this installed. You don't mention what version of LabVIEW 2010 you have but I think they should be provided even the Basic version, I know they are provided with the Professional Development System version.