LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

LabWindws/CVI v6.0

Solved!
Go to solution

Bonjour,

 

J'ai un de mes prédécesseurs qui avait développé une interface sous LabWindows/CVI v6.0 sous OS Windows 98. Le PC étant hors service, je souhaiterais recompiler code développé avec LabWindows v6.0 et régénérer l’exécutable avec la dernière LabWindows/CVI 2020.

Est-ce que cela est possible ? dois-je passer par une étape/version LabWindows intermédiaire ? Besoin d'aide pour savoir exactement ce qu'il faut faire ? Questions par rapports aux drivers, etc...?

 

Pour informations complémentaires :

1) le PC sous OS Windows 98 et LabWindows/CVI v6.0 avec un port série RS232

2) les nouveaux PC avec OS Windows 11 et LabWindows/CVI 2020 ont des ports USB

 

Merci par avance

William

0 Kudos
Message 1 of 9
(1,746 Views)
Solution
Accepted by topic author Willy_42

Hello,

according to google you need to port an application from an older cvi6 project up to the last cvi2020 release.

With no details on what the application does, how is developed, which additional toolkit/driver it uses (if any) and so on it is difficult to give you a precise answer.

Take into consideration that some functions/libraries have been superseded and will force you to a rewrite of the application (e.g. Traditional DAQ), other are obsolete but still work (e.g. EasyTab instrument, which can be replaced by built-in tab controls), other have been updated so you need to connect to the correct library and probably have nothing more to do (e.g. Excel interface).

 

If you have the complete project and a cvi2020 machine I suppose the best you can do is to open the old project, try to compile it and see what happens: you may be lucky and have only minor messages or receive tons of errors due to missing or obsolete libraries and functions.

 

If you don't want ot use the brute force approach then you may do some preliminary work:

  • Open the source files and see if it #includes some strange file that may pertain to some required toolkit/library
  • Open the project file with an editor (e.g. notepad) and search for same informations; additionally (not sure for cvi) there may be a [include] section that lists files needed for compilation not listed in sources
  • If a distribution there exists, you ma dig into distribution files searching for informations on modules installed with the application (DAQ support, SQL support, third-party modules...)

 

Having said this, porting an application to a compiler 15 years younger then the original one is not a trivial task: at the minimum you may expect a huge list of warning since the newest compiler is smarter in detecting possible problems like uninitialized variables, missing default cases in switch structures and so on; next you may need to find the best compromise between the simple porting with the minimum work and "modernizing" the UI and the code; and I'm not considering the possibility that the original developer have leveraged some particular and maybe not well documented feature of Win98 that has been deprecated and abandoned in subsequent OS releases, which may force you to a redesign of part of the code...

 

As a last hint, I suggest you follow up this discussion in English if you can: most of the users of this board cannot speak French and is better not to rely excessively to google translator.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Message 2 of 9
(1,710 Views)

I forgot to address the communications side. If the program uses serial communications then I suggest to look into the list of devices: you may find that the motherboard actually has a RS232 port which is not ported to the rear pane. In this case there exist adapters to add the port to the PC (e.g. this one)



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 3 of 9
(1,709 Views)
Solution
Accepted by topic author Willy_42

Salut Willy,

Contacte-moi en message privé si tu veux de l'aide pour le portage !

Message 4 of 9
(1,694 Views)

Bonjour gDargaud,

 

Je ne sais pas si ce message est en privé, peux-tu stp me faire un retour de confirmation car je suis nouveau sur le forum / plateforme NI.

 

Merci

0 Kudos
Message 5 of 9
(1,671 Views)

Hello,

 

To complete my previous message, here is the list of input files used in LabWindows/CVI v6.0 

We have includes (.c; .h; .uir; .cws; .prj; .obj; .cdb; .fp) files, and icons :

allboite.c 

allboite.cws

allboite.h

allboite.h,v

allboite.prj

allboite.uir

allfonctions.c

allfonctions.h

allfonctions.obj

Check.cws

Check.prj

configport.h

configport.uir

etalondeb.cdb

ETALONDEBIT.cws

ETALONDEBIT.prj

grandlogogiat.bmp

icone1.ico

LogoSys.bmp

Main.c

Main.h

Main.UIR

PANELS.H

PORTS.ICO

portserie.c

portserie.h

SREC.C

TOOLBAR.C

TOOLBAR.FP

TOOLBAR.H

TOOLBAR.OBJ

Typespropres.h

 

For the files generated as output by the compiler LabWindows/CVI v6.0, we have :

Distfile.cab

instmsi.exe

instmsiw.exe

Protoetalonneur.msi.exe

setup.exe

setup.ini

 

Also, I plane to use USB-RS232 adapter.

 

Thanks you in advance for you answers

Willy

0 Kudos
Message 6 of 9
(1,637 Views)

Hi Robetto,

 

Thanks for your answers. I'm new to this forum, so please excuse me as I don't yet know how to use the forum platform. I've sent another message listing the different files from the previous project using LabWindows v6.0.

 

0 Kudos
Message 7 of 9
(1,597 Views)

Hello William,

from what I see you have 3 different projects: one of them may be the father of all but it's not evident, you may try to see which project loads main.c and main.uir and start by that one.

The only files I recognize are toolbar.*: they are probably the toolbar instrument shipped with CVI. In more recent cvi releases the source is not distributed, but I cannot check before cvi2009 now and I don't remember if it was in cvi6. That instrument is still present in cvi2020, though.

 

I cannot be more precise than this, I'm afraid.

Roberto



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 8 of 9
(1,553 Views)

Hy Willy,

 

Roberto has already summarized a lot of information that should be useful to you.

 

Another difference between your version 6.0 and today's (2020) version is that back then you could also choose your compilation language in the LabWindows/CVI management (Visual C or Borland C).
One of the major differences I've identified is in the data size (short int, etc.).

If you have data in binary files that need to be reloaded into structures, you risk having discrepancies.

And with each compilation language change, you have to install again all the NI drivers.

 

Depending on your predecessor's choice, some libraries, drivers, or parts of your code might also cause you some problems.

But it seems normally possible.

 

I've already migrated code versions from 8.x (Win NT/98) to 2018 (W7).
Sometimes, and often, it takes a long time, but it's doable.

 

You will need patience.

Good luck.


Certified LabWindows/CVI DEVELOPER (2004)
LabVIEW since 5.01 | LabWindows/CVI since 4.01
0 Kudos
Message 9 of 9
(912 Views)