11-10-2008 02:58 AM
Hi all,
I never used LabVIEW and I'm currently evaluating if I should use it for a project.
There are certain requirements for the sofware I'm creating of which I don't know if they are possible with LabVIEW:
- the software should execute several very simple tests (send a signal over RS-232 or CAN and wait for appropriate response)
- each test should be compiled into a single .dll module
- when executing the software the user should select a configuration (xml file containing a list of the DLLs it needs to execute), the tests are then performed automatically in the order specified
- the user input is very limited (sometimes none is needed, sometimes he has to acknowledge that the test was passed)
- test results are stored in logfiles and in a database on a server, additionally some strings (e.g. "test in progress", "test completed successfully") should be displayed in the GUI
- the application needs to be standalone (i.e. no LabVIEW installed)
- it should be possible to adapt code generated by the software (i.e. LabVIEW) using C++/C
Is this possible (and easy) to implement with LabVIEW? Which version (Pro, Full, Base) would I need?
Thanks a lot already in advance,
mike
11-10-2008 04:41 AM
Hello mikePixy,
LabVIEW is a complete graphical programming environment, which will allow you to complete the specification you have posted. Within LabVIEW you can communicate over industrial communication protocols such as serial and CAN. Each program you write, or Virtual Instrument (VI), will also generate a Front Panel which acts as the GUI you require. You can also set up user input limitations depending on where you deploy, as well as alter this Front Panel to react to the data collected and stored. The Application Builder function will allow you to create stand-alone executables and '.DLLs'.
My recommendation is that you first contact your local branch and ask to speak to an Inside Sales Engineer. They will be able to ask you further questions about the individual details of your specification and be able to advise on which package will be most cost effective for you. The NI homepage has a link on the top right that says 'Contact NI'. After submitting your region, the appropriate phone number should be given to you to call.
I can also advise that you try the LabVIEW evaluation. If you choose to dowload the software or request a CD, you will have access to LabVIEW Full Development system for 30 day trial. The 'Help' menu has over 2000 examples of Virtual Instruments that have been pre-built by National Instruments. Your Sales Representative can also advise on the right examples for your attention.
Please post back if you require further help in find branch information.
Regards,
11-10-2008 05:16 AM
Hey Mike,
The 30 day free trial was great for us to evaluate the product, NI were happy to extend the trial period whilst we were determining the suitability so we had nearly 90 days in the end. This was long enough to establish that the package could do what we needed (or we could get it to do what we needed it to!). Since we bought LV we have also had very good support. I am a mere beginner, but i would be pretty happy that i could do all of the things on your list (given time), except the second and last, -and those two i just don't know about.
11-10-2008 05:36 AM - edited 11-10-2008 05:38 AM
As George said above, it would be best if you contact NI, however I enjoy answering concise bullet points
- the software should execute several very simple tests (send a signal over RS-232 or CAN and wait for appropriate response)
There are great support libraries for communicating over many protocols, RS232 and CAN included
- each test should be compiled into a single .dll module
You can compile into a dll, yes. You will need the application builder if you have the base version, the higher versions include application deployment tools.
- when executing the software the user should select a configuration (xml file containing a list of the DLLs it needs to execute), the tests are then performed automatically in the order specified
Opening and reading files can be done easily, and there is a third party add on library for xml files, which extends the functions you can do
- the user input is very limited (sometimes none is needed, sometimes he has to acknowledge that the test was passed)
GUIs are what LabVIEW is great at, you can create a functional user control panel in minutes
- test results are stored in logfiles and in a database on a server, additionally some strings (e.g. "test in progress", "test completed successfully") should be displayed in the GUI
File manipulation can be done in a number of ways and TCP/IP protocol is supported as is SQL.
- the application needs to be standalone (i.e. no LabVIEW installed)
As with other languages you will need to install a run-time engin, in this case the LabVIEW runtime engine. It is a couple of hundred meg, but considering the .NET runtime engine is into gigabytes now, it isn't so bad.
- it should be possible to adapt code generated by the software (i.e. LabVIEW) using C++/C
A common misconception, LabVIEW compiles into machine code, LabVIEW is the source code, there is no interpreted intermediary. As such, you cannot edit the source in C, however you can import compiled dlls from C into LabVIEW
Unless of course, you can decypher the compiled executable hex file 😛
11-10-2008 06:36 AM
mikePixy wrote:Hi all,
I never used LabVIEW and I'm currently evaluating if I should use it for a project.
There are certain requirements for the sofware I'm creating of which I don't know if they are possible with LabVIEW:
- the software should execute several very simple tests (send a signal over RS-232 or CAN and wait for appropriate response)
- each test should be compiled into a single .dll module
- when executing the software the user should select a configuration (xml file containing a list of the DLLs it needs to execute), the tests are then performed automatically in the order specified
- the user input is very limited (sometimes none is needed, sometimes he has to acknowledge that the test was passed)
- test results are stored in logfiles and in a database on a server, additionally some strings (e.g. "test in progress", "test completed successfully") should be displayed in the GUI
- the application needs to be standalone (i.e. no LabVIEW installed)
- it should be possible to adapt code generated by the software (i.e. LabVIEW) using C++/C
Is this possible (and easy) to implement with LabVIEW? Which version (Pro, Full, Base) would I need?
Thanks a lot already in advance,
mike
Mike,
I appreciate your typing the LabVIEW word correctly everywhere, though you have never used it yet. ![]()
11-10-2008 12:41 PM
Your question is well formed, but is not detailed enough for us to be able to give a qualified response, but if you know another language, you might wish to use it instead.
Here are some of the points:
Serial and CAN support - available, although you can probably find CAN support in other environments as well. I never used the one in LabVIEW, so I know nothing about it.
Building into a DLL - possible with the app builder. Requires the RTE for running. Note that the AB is only available in the pro version.
Reading XML doesn't work as simply in LabVIEW as it does in .NET, but for simple XML you should probably be fine. LabVIEW 8.6 has an XML parser built-in.
Working with files is easy, but there is no built-in method for DB support. NI sells a separate toolkit and there are several free libraries available online which are wrappers around the ADO functions.
As mentioned, you'll need to install the (free) RTE in order to run LabVIEW built applications, and the same will apply for any DLL you compile (for calling it from C).
If you choose to use LabVIEW, I would advise to use the Pro version, as it includes the app builder (which you'll need). I suggest you download and install it and play around with it to see. The evaluation version is fully functional. You can then try looking at some of these tutorials.