LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

New Executable doesnt run on client pc

Solved!
Go to solution

Hi All

I have a problem where a new/modified vi executable doesn't run on the client pc. The old executable runs fine.

 

Do I have to install the new modified vi with a new runtime install or should the new vi run with the existing runtime.

 

The modifications were tidying up the code. The new vi runs ok on my pc.

 

When I say it doesn't run it opens up but no readings are displayed.

 

Any help appriciated

0 Kudos
Message 1 of 14
(3,909 Views)

Hi Loppy,

 

When I say it doesn't run it opens up but no readings are displayed.

So your executable is running - but it doesn't get any measurement values?

Did you check for error when accessing DAQ hardware? Are you using any error handling at all?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 14
(3,901 Views)

Hi Gerd

Thanks for the memory jolt

 

I was not getting an error as the error handling was outside the while loop after the de queue ( I am assuming that is the reason ).

 

I placed an indicator at the error outs of the Daq assistant and the error is that it doesn't see any daq hardware.

 

Do I have to install drivers with the new executable. I have generated the executable from the project file drop down and have just accepted default settings...should I be doing something else

0 Kudos
Message 3 of 14
(3,868 Views)

Hi Loppy,

 

when the older version of this exe runs fine on the client's PC I assume the DAQmx drivers are installed properly. I also assume you use the same LabVIEW version to compile the new exe as was used for the older version as there seems to be no problem with missing runtime libraries…

 

So I guess your settings in the DAQAssistent are wrong (in terms of "not suitable") - that's one of the reasons I don't like those ExpressVIs. You need to make sure you use the very same DAQmx aliases on your development PC that are used on the client's PC!

Or even better: get rid of DAQAssistent and use plain DAQmx functions. Search for DAQmx devices and select the right one. Use proper error handling…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 14
(3,862 Views)

when the older version of this exe runs fine on the client's PC I assume the DAQmx drivers are installed properly. I also assume you use the same LabVIEW version to compile the new exe as was used for the older version as there seems to be no problem with missing runtime libraries…

That's correct

 

So I guess your settings in the DAQAssistent are wrong (in terms of "not suitable") - that's one of the reasons I don't like those ExpressVIs. You need to make sure you use the very same DAQmx aliases on your development PC that are used on the client's PC!

Looking that way....How does the alias change. The exe runs on my laptop and was generated on my laptop, the alias was taken from nimax so theoretically everything should be the same on both pc's. How does the client pc get the alias..I presume that the express vi setup tells the client pc what daq hardware to look for.

 

The express vis are handy to use when learning but as I am finding out they have limitations..slowly coming to speed with the daqmx functions

 

Regards

Richard

0 Kudos
Message 5 of 14
(3,858 Views)

Hi Loppy,

 

How does the client pc get the alias..

You could run MAX on the client's PC and check the aliases there…

 

I presume that the express vi setup tells the client pc what daq hardware to look for.

Well, the settings tell DAQAssistent which hardware to use on your development computer.

I heard of problems when using the same DAQAssistent on a different computer even when using the same aliases…

My advise: use plain DAQmx functions! 🙂

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 6 of 14
(3,851 Views)

While I am learning about the DAQmx I downloaded NImax to the client pc. The connected device was cDaq2 where as the dev pc it was cDaq1....Don't know why it would change on the client pc.....Renamed the cDAQ unit and modules to the same as the development pc.

I would have thought that when you set up the express vi it looks for the DAQ unit which is set up in max ie max loads the configuration or edits it to the DAQ unit and any client pc with the same daq assistant in the exe of the vi would see it as this...seems not

 

All said it is now working on both pcs

 

Thanks for the help....I didn't realise that you could load NImax to any pc

 

Regards

Richard

0 Kudos
Message 7 of 14
(3,833 Views)
Solution
Accepted by topic author Loppy

Hi Loppy,

 

I repeat a sentence from my last message:

Well, the settings tell DAQAssistent which hardware to use on your development computer.

All those device names, channel names, user definitions and so on are specific to the computer you work with!

So when you have your development computer with a device "cDAQ1" and you set DAQAssistent to use "cDAQ1" then this ExpressVI is searching for exactly this alias "cDAQ1" on every computer you run your exe on! When the DAQAssistent doesn't find "cDAQ1" it will give an error message…

 

On your client's computer you may have used two different cDAQs so it knows about a different "cDAQ1" (with different serial number) and your current cDAQ becomes "cDAQ2" - but DAQAssistent is looking for "cDAQ1" alias…

 

max loads the configuration

MAX doesn't "load" a configuration - it manages them!

- You can export configurations and use/import them on other computers.

- You can also manage DAQ configurations in your project, so they will (better) stick with your executable.…

 

 

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 8 of 14
(3,830 Views)

In addition to GerdW's advice.  when you install your new executable you can install a MAX configuration as well to assign aliases 

 

Or better yet persist your DAQmx Tasks to the project and manually set the device aliases on the target.

 

You can also use the System API to manage aliases at run-time.


"Should be" isn't "Is" -Jay
0 Kudos
Message 9 of 14
(3,827 Views)

That's exactly what happened. We have a number of DAQ units configured the same to monitor pressures on different devices. The lab guys just grab a DAQ unit and use it on the device they are monitoring (using their own laptops). ie we have multiple test rigs and multiple client pc's.

 

I am working through using the DAQmx solution and seem to have it on track.....just need to test it on different systems.

 

Is there any way the DAQmx or any other type of subvi can auto detect and assign the DAQ unit to the pc without having to set up the DAQmx each time it is used ( hope that makes sense )

0 Kudos
Message 10 of 14
(3,780 Views)