LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Start Asynchronous Call

Hi,

I have a VI (Clocks.vi) that I use to generate various sinewaves out of my PXI chassis. This program is located in the PXI folder in my project (otherwise I get an error like 'ressource missing' or equivalent when I try to run it).

I also have various top level VIs located in the computer folder in my project.

In one of them (Locking Interface.vi), I try to start Clocks.vi asynchronously. I believe I followed the steps described in the help, however it seems that LV starts a clone of Clocks.vi that doesn't have any effect. If I try to change the sinewaves (amplitude, frequency...) from the front pannel that pops up, nothing happens. But if I double click Clocks.vi in the project window, a new (identical) front pannel pops up that does work as it should.

I've also tried to locate Locking Interface.vi in the PXI folder in the project but then none of the VIs that I call asynchronously (including Clocks.vi) pop up at all. (No error message either - and I made sure that the VI preferences still state 'open front pannel when called').

What is the problem? How should I fix it?

Thanks.

Download All
0 Kudos
Message 1 of 10
(2,781 Views)
Could you describe your system as a whole? What is the controller in the pxi chassis?

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 10
(2,767 Views)

Hi Mike,

Chassis: PXIe-1062Q

Controller: PXIe-8133

Clocks: PXI-5404 (2 units)

FPGA: PXI-7852R (4 units)

Do you need any other information? (I'm self taught in labview programming and know virtually nothing about the hardware...)

Thanks.

0 Kudos
Message 3 of 10
(2,753 Views)

Well to start, due to the way your code written there is no way to tell what the problem is because you haven't connected any of the error clusters or provided any way to display errors that occur.

 

Mike...


Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 4 of 10
(2,734 Views)

Hi Mike,

 

Right, I use to have them connected but then decided to clear my front pannel of all those error clusters when everything seemed to work a while ago. I realised the bug just now. I reconnected them but this did not give me more insight. It really just looks like my top level VI (located on the computer) opens a clone of Clocks.vi on the computer instead of running it on the PXI chassis (where it is located in my project). As a result, Clocks.vi doesn't work and the full error message is:

------

Insufficient location information or the device or resource is not present in the system.

If the resource descriptor is an IVI name, it must match the entry in the IVI Configuration Store in a case sensitive manner.

------

which is the same as what I get when I locate Clocks.vi on the computer and try to run it manually.

 

Is there a way to start a VI asynchronously from the computer but making sure it runs on the PXI chassis?

 

Thanks.

 

0 Kudos
Message 5 of 10
(2,688 Views)
The procedure is to first insure that the VI you are wanting to run on the remote computer is on that computer. Next, when you open the application reference, you specify the IP address of that remote computer, and when you open the VI reference use the name of the VI.

This process requires LV to be running on the remote computer and the named VI to be resident in memory.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 6 of 10
(2,676 Views)

Hi,

 

"The procedure is to first insure that the VI you are wanting to run on the remote computer is on that computer. "

How do I ensure that? Is placing that VI in the PXI folder in the LV project enough?

 

"Next, when you open the application reference, you specify the IP address of that remote computer"

Ok this is new to me. I tried to do that but I now have an error when trying to open an application reference:

-----

Insufficient location information or the device or resource is not present in the system.

If the resource descriptor is an IVI name, it must match the entry in the IVI Configuration Store in a case sensitive manner.

-----

I did wire the IP address of my PXI (as it appears in the LV project).

However I did not wire any 'Port number or service name' since I have now idea what that is and hoped that the default value would work. I tried to read the help about it but it is far too jargony and beyond my almost inexistant knowledge about network connectivity for my understanding. 

Is there a quick and easy fix for that problem or do I need to learn the basics of network protocols / jargon to make it work? Do you know where I can find information about that written for absolute beginners?

Thanks.

0 Kudos
Message 7 of 10
(2,661 Views)

I'm assuming you have Windows on the PXI controller.  If this is the case, then you need to treat it like a normal computer.  I highly recommend making an executable that the controller can run.  You can then remotely tell the controller to run that executable.

 

I would also make a communication scheme to talk over TCP/IP so that your PC and the controller can communicate.  The STM is a great library for this.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 8 of 10
(2,646 Views)

It sounds like you might need some training on realtime applications and how they interact with the rest of the world.

 

In terms, of the call process, there are examples that show the whole process, but basically the device to which you are wanting to connect has an IP address. in addition all applications utilizing the network interface on that device has a different port number. Some port numbers are reserved (like 80 or 8080 for the HTTP protocol, or 21 for FTP) others are more open. The default port number for LV is 3363. When creating an executable you can define the port that the application will use to listen for incoming connections.

 

To get this part working, you might want to experiment with connectivity between two PCs and then go to the RT system.

 

So for what you need, LV needs to be running on the remote computer -- which means you need to have an executable built and deployed to the system. The RT tutorials will explain how to do that.

 

Mike...

 

PS: Note that if there is a DNS server on the network, you can also use the machine name to address the device instead of an IP address.


Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 9 of 10
(2,635 Views)

Thanks, I'll have a look at those tutorials.

0 Kudos
Message 10 of 10
(2,615 Views)