Read LabView program without LabView - labview

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.

Related

Selecting text and image from pdf through any programming language

I'm trying to develop a tool/web application such that it will import a PDF file and I need to select text and images available in PDF by selecting them with a mouse click and marking them as title,content and image with a button click (3 different button) where the marked contents and image will be copied to clipboard or will be pasted into a word document which is going to be a another part. So in which programming language is this possible to work with and carry on ?
I'd probably try researching pure browser-side solution using pdf.js and clipboard API.
Otherwise, you'd still need clipboard API in the browser and the server-side may actually be powered by any programming language which can be hooked into a web server and has a library to parse PDFs.
You said nothing at all about your prospective server platform but to name a few, .NET has PdfSharp which is able to read PDFs, Python has a host of tools available for it. After all, there exist a bunch of command-line utilities to extract data from PDF which can be called using any PL able to call external processes.
Note that this only appears to be a simpler solution than using pdf.js but note that unless your PDFs are really uniform (say, invoices created by some piece of software), and so you'll be able to make your PDF parser know which bits of data it has to extract and return, the parser will need to returl all the data it extracted to the client, and you'll need to somehow render it all there. May be it's exactly what you need but maybe not.
Since PDFs are really tailored for typesetting and not presenting information in a structured manner, I'd try to piggyback on an already hard-core PDF rendering solution which runs in the browser, so see above.

Missing driver LabVIEW

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.

LabVIEW missing VI

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

A technology for reading pdfs online with annotations?

is there an open source solution that displays PDFs for online reading? It has to be searchable much like google books and if possible has the ability to display annotations?
By "online reading" I'll assume you mean without a PDF reader plugin on the client. In that case you'll need to convert to HTML
http://pdftohtml.sourceforge.net/
If you don't mind losing the ability to copy text then converting to PNG may give you a more accurate rendering
http://www.imagemagick.org/
Regardless of the output format you can manage your searching using the original PDF data. One technology for this is mnogosearch
http://www.mnogosearch.org/
Monogosearch uses pdftotext internally, you may find this useful if you want to write your own search routines. pdftotext is part of the Xpdf suite of utilities
http://www.foolabs.com/xpdf/about.html
All of the tools listed above are available on Windows or Linux
You may also be interested in the Vuzit DocuPub Platform: http://vuzit.com/products/docupub_platform
The display technology itself is not open source, but they provide an API to access their service, so perhaps it is worth investigating.
Don't know if you are looking a software to install or some service to pay for...
I've read a lot about www.getbackboard.com (this is not advertising, only reporting something I've read about, that maybe fits your needs.. ;)
Not sure if they do annotations, but both of these will show PDFs quite well:
http://pdfmenot.com
http://docs.google.com
ICEPdf recently released their code as open source. It is Java based.
PyPdf is really nice. It supports reading the text as well as encryption which I know that itextsharp does not.
Of course you'd have to program in python as IronPython's class libraries aren't quite to the point where you can ref them from another language and use them. (But I imagine they will be someday soon)
PyPdf
This is not open source, but check it out anyways. You can download a free trial of their SDK to try it out. Reading PDF's and their annotations is not simple and I wouldn't trust a production app to open source decoders.
Here is an online demo.
http://www.atalasoft.com/ajaxannotations/default.aspx
Another good pdf reader is FoxitReader.

Is there a good ActiveX/COM component to "print" to PDF?

Clutching at straws here, I think I remember seeing a solution to this somewhere but can't find it now.
The issue is that I need a Windows application (not .Net) to be able to generate PDFs. The "standard" solution is to use something like PDF995 or CutePDF which create a dummy printer that your application can then print to and it is redirected to a PDF file. The problem is that to control those printers requires updating INI files or registry keys and that is error prone and often runs into concurrency problems.
Building the PDF file programmatically isn't an option, it needs to be able to take the output that would normally be sent to a printer, or possibly convert directly from an Excel file.
Ideally, I'd just pass the Excel file to a COM/ActiveX object and it would write to a file I specify. Next best option would be for it to create a separate printer per print job or have some reasonable way of guaranteeing the filename I give will have the document I print.
This Excel to PDF Batch converter might do the trick as at least it has a command line mode, has anyone tried that? It would only solve the problem for Excel files though.
So, is there a better solution?
(As a side note, for Visual FoxPro reports XFRX works really well, it converts the report directly to a PDF without needing a printer driver.)
You might want to look at BullZip (google it because I cannot add hyperlinks yet). We recently had Jody Meyer present this tool at the Detroit Area Fox User Group (previously shown at the Grand Rapids Area Fox User Group too). It was a great session.
She showed how to use the COM object to automate a ton of the BullZip features including the name of the file and properties like author and keywords. Watermarks are a snap too. It is simple and straightforward and her example was rock solid. Tons of features already done for you so you can simply re-engineer the demo form.
You can download it on the DAFUG Web site, in the downloads folder. File name is BullZipDemo.zip (google Detroit Area Fox User Group) and add the folder and filename.
Rick
VFP MVP
For this scenario I would recommend Amyuni PDF Converter. It provides a Microsoft Certified PDF Printer and ActiveX/.Net controls to communicate with it. Concurrency issues can be avoided by using these controls.
Disclaimer: I am part of the development team of this product.