02-19-2018 02:40 AM - edited 02-19-2018 03:03 AM
Good moorning,
I'm trying to open a frontal panel of a .vi through vi server fuctions.
But, I'm obtaining an error.
error 1043 : Error 1043 occurred at Invoke Node in host1.vi
Could anyone help me with this problem?
I'm using LabVIEW 2017 (32bits) and my remote system is a sb-RIO
Thanks so much.
02-19-2018 10:40 AM
Look at more of the message listed for error 1043.
It says property or method is not supported in this version of LabVIEW. Are you trying to open a front panel on an sbRIO VI?
You can't because code deployed to RIO's don't have front panels because there is no user interface.
02-20-2018 01:18 AM
I'm trying to open in host a frontal panel which is located in sbRIO,
Then, I can't do this, because, this is not possible for sbRIO, and there isn't any way to do this.
Thanks so much.
02-20-2018 08:15 AM
@cristina.lopez wrote:
I'm trying to open in host a frontal panel which is located in sbRIO,
Then, I can't do this, because, this is not possible for sbRIO, and there isn't any way to do this.
Thanks so much.
Don't think that is possible but what is possible is to invoke a VI a VI running on the sbRIO. I used that as a method to monitor the internal state of an app running on a sbRIO using an Action Engine on the sbRIO from an application running on another machine.
High-level scheme is as follows.
sbRIO runs whatever.
Included in the sbRIO is an AE that can check various interesting things.
Windows side app use your approach (minus the open FP) to open a ref to the AE.
Reference to the AE is used with a Invoke the AE with a Call by Reference passing an enum to control which action of the AE is required.
Returned data is sued in the GUI of the Window side code.
It was a bit tricky getting the port number set in the sbRIO and enabling VI server in the exe but it did work.
Ben
02-20-2018 09:21 AM - edited 02-20-2018 09:22 AM
@BenDon't think that is possible but what is possible is to invoke a VI a VI running on the sbRIO. I used that as a method to monitor the internal state of an app running on a sbRIO using an Action Engine on the sbRIO from an application running on another machine.
I disagree, it is possible, with the concept of "remote panels".
You need to install the software package "Remote Panel Server" on your RT system for that.
Then you need to start the webserver on your RT-system. In my last projects I did this programmatically:
On your Windows host now run this code snippet:
Regards, Jens
02-20-2018 09:28 AM
That is interesting Jens.
While it is not VI Server that looks like "another way to skin the cat".
Ben
02-20-2018 10:22 AM - edited 02-20-2018 10:24 AM
@Ben: You never heard about "remote panels"? This has been around since at least LabVIEW 8.2 or even earlier...
Also I have to state: Remote Panels is not an option to dynamically start an VI on your RT-target from your host. The application already has to run - but then you usually can at least call the frontpanel of your main-vi. But be warned: It costs CPU and network performance and may introduce additional jitter in your application.
Regards, Jens
02-20-2018 10:47 AM - edited 02-20-2018 10:48 AM
Yes I have heard of remote panels
But I was answering the question as posted and your suggestion was a clear case of thinking outside the box.
Ben
02-21-2018 02:21 AM
In array, you write c+* for any reason?
Thanks for you answer, but you are using web-server in your solution, and I could use vi-server.
Regards.
02-21-2018 02:47 AM - edited 02-21-2018 02:47 AM
Regarding your question, have a look at the help to that property node:
You can use wildcards in the address you enter. This property is an array of strings,
where each string is an address that begins with c+, +, or -. c+ specifies that the address has access to view and control a VI remotely. + specifies that the address has access to view a VI remotely. - specifies that the address does not have access to the Web Server. This property is similar to the Web Server page of the Options dialog box.
You are correct that method uses the webserver. But it is easily implemented and it is working.
Regards, Jens