LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

How to migrate LabWindows/CVI projects to C#/.NET

I have a simple question but I think the answer is not so simple.

 

I (i.e. the company where I work) am having a lot of LabWindows/CVI projects. In these projects, software is developed to control complex machines. Some of the subjects involved in these projects are: operator user interfaces, high speed data acquisition (NIDAQ), machine vision (NI as well), TCP/IP communication, serial communication, etc. National Instruments libraries are used where-ever possible.

 

The company's strategy is to migrate away from LabWindows/CVI environment to the object oriented C#/.NET environment.

 

We realize that is a large step to take, and it will take many months/years.

 

Does anybody have experience in this kind of migration?

What is a good strategy to tackle this?

What is the role of Measurement Studion in this?

 

- Rob

0 Kudos
Message 1 of 3
(4,372 Views)

VS is a fine application development system, the tools are high quality and commonly available and lots of people know how to use them.

 

BUT you're generally running under .NET unless you do unmanaged code, and then you're in the realm of interpreted bytecodes with a virtual machine.

 

This can be a problem with any code you need to run very quickly and deterministically - you can't really control what the .NET framework is doing (e.g. garbage collection) or when it does it.

 

Apps run slower and while Windows isn't a real time system, .NET running on Windows is even less real time :manwink:

 

We've had applications that just won't work as .NET applications due to timing issues.

 

Measurement Studio makes CVI-like controls and libraries available in the VS development environment.

 

So if you don't have any hard timing requirements, you can indded use VS + MS to get something of a hybrid development environment.

 

You can also invoke CVI-developed DLL's and executables from .NET applications so if you have legacy CVI code that works well you can develop in C# for example and invoke your legacy code.

 

I have some mixed feelings about C# as a test language - besides the timing / speed issues, MS has added so much syntactic sugar to C# that it's become much easier to write unreadable code in C#.

 

On the other hand, it's a true OO language and in many cases it's way easier to crank out an application in C# than painfully grinding out gobs of C code.

 

 

0 Kudos
Message 2 of 3
(4,289 Views)

This thread may be old, but I wanted to ask a question.

 

I too have some legacy applications written in CVI/LabWindows that run on Windows.

 

Does Measurement Studio support ring controls and tables like LabWindows?  Or would I need to use Microsoft's versions of those controls?  I prefer LabWindow's controls for these since the code already exists and works in LabWindows, but prefer the C# development environment for the OO design and quicker speed to develop.

 

Thanks,

Alex

0 Kudos
Message 3 of 3
(3,223 Views)