From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

two custom devices conflit

There are two equipments in my test system. One is Lambda Genesys DC Power Supply, another is PXI-2510. I download the custom device in https://github.com/NIVeriStandAdd-Ons/Lambda-Genesys-Custom-Device (Power Supply) and http://www.ni.com/tutorial/31248/en/#toc2 (PXI-2510)

 

Each custom device is work when it is used individually. But if I add two in project explorer, when deploy, there is error. 

 

If add custom device of Lambda Genesys DC Power Supply first, then add device of PXI-2510, the error is 

 

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
The VeriStand Gateway encountered an error while deploying the System Definition file.

Details:
Error 1003 occurred at Project Window.lvlib:Project Window.vi >> Project Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi

Possible reason(s):

LabVIEW: The VI is not executable. This error may occur because the VI is either broken or contains a subVI that LabVIEW cannot locate. Select File>>Open to open the VI and verify that you can run it.
=========================
NI VeriStand: Open VI Reference in NI VeriStand Engine.lvlib:Open Custom Device Driver VI Reference.vi->NI VeriStand Engine.lvlib:Launch Asynchronous Custom Device.vi->NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi->NI VeriStand Engine.lvlib:VeriStand Engine.vi->NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi<APPEND>
c:\ni-rt\VeriStand\Custom Devices\PXI-2510\PXI-2510 Engine.llb\PXI-2510 RT Driver VI.vi

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 

 

If add custom device of of PXI-2510 first, then add device of  Lambda Genesys DC Power Supply, the error is 

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
The VeriStand Gateway encountered an error while deploying the System Definition file.

Details:
Error 1003 occurred at Project Window.lvlib:Project Window.vi >> Project Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi

Possible reason(s):

LabVIEW: The VI is not executable. This error may occur because the VI is either broken or contains a subVI that LabVIEW cannot locate. Select File>>Open to open the VI and verify that you can run it.
=========================
NI VeriStand: Open VI Reference in NI VeriStand Engine.lvlib:Open Custom Device Driver VI Reference.vi->NI VeriStand Engine.lvlib:Launch Asynchronous Custom Device.vi->NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi->NI VeriStand Engine.lvlib:VeriStand Engine.vi->NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi<APPEND>
C:\ni-rt\VeriStand\Custom Devices\Lambda Genesys\Lambda Genesys DC Power Supply - Engine.llb\Lambda Genesys Engine.vi

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 

How can I slove this problem?

0 Kudos
Message 1 of 7
(4,748 Views)

This seems quite strange. The fact that each custom device works independently tells me that you have properly installed the custom device files as well as the relevent device drivers. For clarity, if you add one of the custom devices to your system definition file, save, remove that custom device, add the second custom device, save, and try deploying, does VeriStand throw the error? In other words, can you alternatively add one and then the other within the same system definition file?

 

Also, could you send a screen shot of the custom device directory? This directory is located at  C:\Users\Public\Documents\National Instruments\NI VeriStand 2015\Custom Devices . 

 

- Q - 

0 Kudos
Message 2 of 7
(4,717 Views)

Custom device "build" create source distribution with all dependency files inside llb. When this is done properly, the author of the custom device should apply some prefix at build time to keep that dependency files unique when loaded to memory. 

The problem in you case is, that both custom devices has probably some vi with the same name, but different functionality and connector. In that case it depends which one is loaded first in the memory, that ones wins. So the second loaded custome device will try to use the vi with the same name loaded by the first csutom device and fails to run.

Solution in this case is to modify build specs of one of the custom devices (or better both) to apply unique prefix to dependency files inside the llb during the build time and rebuild.

~Jiri

CLA, CTA, CLED

Message 3 of 7
(4,706 Views)

Thanks Queue-tip.

 

I added the first custom device to my system definition file, save, remove. Then added the second custom device save and deploying. That is work. If there just is one custom device, it works. 

 

I have to use 5 custom devices in my system. The custom device of PXI-6624 is programed by myself, we do not consider it right now. Only if I use Power supply and PXI-2510 or Power supply and PXI-2514, there is a error when I try to deploy. In other words, I can use power supply, pxi-2722 together, or I can use pxi-2722, pxi-2510 and pxi-2514 together. I don't know why. I need to solve the problem soon. 

0 Kudos
Message 4 of 7
(4,688 Views)

Thanks Jiri_K. That sounds reasonable. I checked the soures of the custom devices, there is unique prefix to dependency files inside the llb.

0 Kudos
Message 5 of 7
(4,681 Views)

There must be some. You could look directly to the build llbs. 

Just be careful no to save the vis. That could ruin your LV dependencies to vi.lib

CLA, CTA, CLED

0 Kudos
Message 6 of 7
(4,668 Views)

 

We could also use a lvlib library file that would contain all VIs that need to be different among all custom devices.

Thus, the VIs "JohnDoe.vi" would be loaded in memory with the name "MyCustomDeviceLibrary.lvlib:JohnDoe.vi" and all the custom device using a vi with the same name would have a different name in memory.

0 Kudos
Message 7 of 7
(4,595 Views)