Mark Yedinak Posted January 22, 2009 Report Share Posted January 22, 2009 Has anyone implemented the RPC protocol in G to control external applications via RPC? I am looking at automating some tests using an external chasis which can be controlled via RPC calls. I would like to use LabVIEW as the automation platform to leverage our current code bas for communicating and controlling the product under test. I have seen the LabVIEW XMPRPC server but that is for controlling LabVIEW via RPC, not the other way. Any pointers or suggestion would be appreciated. Thanks Quote Link to comment
Mark Smith Posted January 22, 2009 Report Share Posted January 22, 2009 QUOTE (Mark Yedinak @ Jan 21 2009, 08:30 AM) Has anyone implemented the RPC protocol in G to control external applications via RPC? I am looking at automating some tests using an external chasis which can be controlled via RPC calls. I would like to use LabVIEW as the automation platform to leverage our current code bas for communicating and controlling the product under test. I have seen the LabVIEW XMPRPC server but that is for controlling LabVIEW via RPC, not the other way. Any pointers or suggestion would be appreciated.Thanks Mark, I'm making the assumption that you're talking about the XML-RPC server project in the CR? If so, that does include an example of creating a LabVIEW call into an XML-RPC server. You are correct that this project mostly supports the server side, but it includes all of the stuff you need to pack XML-RPC into a request for any XML-RPC server and parse the response (see the Call Generate Sine Wave.vi for an example). But, you first just call it RPC, so I'm not clear exactly which RPC implementation and protocol you mean - there are lots of them and the XML-RPC project only supports one! Mark Quote Link to comment
Mark Yedinak Posted January 22, 2009 Author Report Share Posted January 22, 2009 QUOTE (mesmith @ Jan 21 2009, 09:50 AM) Mark,I'm making the assumption that you're talking about the XML-RPC server project in the CR? If so, that does include an example of creating a LabVIEW call into an XML-RPC server. You are correct that this project mostly supports the server side, but it includes all of the stuff you need to pack XML-RPC into a request for any XML-RPC server and parse the response (see the Call Generate Sine Wave.vi for an example). But, you first just call it RPC, so I'm not clear exactly which RPC implementation and protocol you mean - there are lots of them and the XML-RPC project only supports one! Mark The chassis I want to control only uses your basic RPC. They do not support XML-RPC. their commands are documented but I the mechanics of the RPC for sending the commands. I looked at the RFC specs for RPC and could work from those but if someone has already done this it would make my life easier. I can also capture a network trace of their GUI communication with the chassis and reverse engineer the communication. I will go down this road as a last result though. Quote Link to comment
Mark Smith Posted January 22, 2009 Report Share Posted January 22, 2009 QUOTE (Mark Yedinak @ Jan 21 2009, 09:21 AM) The chassis I want to control only uses your basic RPC. They do not support XML-RPC. their commands are documented but I the mechanics of the RPC for sending the commands. I looked at the RFC specs for RPC and could work from those but if someone has already done this it would make my life easier.I can also capture a network trace of their GUI communication with the chassis and reverse engineer the communication. I will go down this road as a last result though. OK - so this is the ONC RPC as specified in IETF RFC 1831 (that's a pretty ancient standard in computing years)? I guess I'm still a little confused because to the best of my knowledge there is no "basic" RPC. RPC (Remote Procedure Call) has been implemented a thousand different ways - SOAP, CORBA, Windows Remoting, etc, and in the grand tradition of computing none of them are compatible with any of the others! So, I don't really have anything else to offer except encouragement! Good Luck! Mark Quote Link to comment
Mark Yedinak Posted January 22, 2009 Author Report Share Posted January 22, 2009 QUOTE (mesmith @ Jan 21 2009, 10:32 AM) OK - so this is the ONC RPC as specified in IETF RFC 1831 (that's a pretty ancient standard in computing years)? I guess I'm still a little confused because to the best of my knowledge there is no "basic" RPC. RPC (Remote Procedure Call) has been implemented a thousand different ways - SOAP, CORBA, Windows Remoting, etc, and in the grand tradition of computing none of them are compatible with any of the others! So, I don't really have anything else to offer except encouragement!Good Luck! Mark Yes, it is a pretty old RFC. It looks like I may need to look at a network trace. I am sure it will be fairly straight forward but I was hoping it might have been done already. My guess is that it will be a Windows based method since their GUI interface is a Windows based application. Thanks again for the suggetions. Quote Link to comment
Rolf Kalbermatter Posted February 2, 2009 Report Share Posted February 2, 2009 QUOTE (Mark Yedinak @ Jan 21 2009, 11:36 AM) Yes, it is a pretty old RFC. It looks like I may need to look at a network trace. I am sure it will be fairly straight forward but I was hoping it might have been done already. My guess is that it will be a Windows based method since their GUI interface is a Windows based application.Thanks again for the suggetions. If you are talking about the MS RPC protocol you may want to think again about that approach. This is not just a simple protocol but the full blown DCE RPC specification with MS proprietary extensions. The various network protocol layers that this all can be embedded in each other, and the various security providers that the different layers can use including several encryption layers will likely make this a never ending project to be implemented in LabVIEW. As Mark has explained RPC is just a term used for anything that can allow remote execution of code through some kind of network connection. In that sense even VI Server is an RPC protocol. So you really need to find out the dialect of RPC you are talking about. Rolf Kalbermatter 1 Quote Link to comment
Mark Yedinak Posted February 3, 2009 Author Report Share Posted February 3, 2009 I have been talking with the vendor for the test equipment I will be controlling and it looks like we have another much more straightforward approach. After looking at the network traces of the communication it didn't look like it would be a very easy protocol to implement. Thanks for all the suggestions. Quote Link to comment
iwanttofly014 Posted November 16, 2011 Report Share Posted November 16, 2011 I got same problem about ONC/RPC on LabVIEW,and needs some advises about that. I need to build ONC/RPC Server on a PXI controller with LabVIEW on WINDOWS XP,so the other PC can treat the PXI controller as a LXI Instrument,I have read the specifications of LXI and VXI-11 and some other papers,and have Search the NI forumn and LAVAG,so I download XML-RPC example,RPCGEN,windows SDK and so on,but seems helpless,and I found someone said that it is difficult to build ONC/RPC on windows,and Microsoft's RPC is different from ONC/RPC,I also downloaded the JAVA Remote Tea ONC/RPC library for windows,but I know nothing about JAVA. It is said that the LXI Consortium has the code for ONC/RPC,but only valid for its members. Which way mybe helpfull?Any reply is appreciate. Quote Link to comment
Rolf Kalbermatter Posted November 19, 2011 Report Share Posted November 19, 2011 I got same problem about ONC/RPC on LabVIEW,and needs some advises about that. I need to build ONC/RPC Server on a PXI controller with LabVIEW on WINDOWS XP,so the other PC can treat the PXI controller as a LXI Instrument,I have read the specifications of LXI and VXI-11 and some other papers,and have Search the NI forumn and LAVAG,so I download XML-RPC example,RPCGEN,windows SDK and so on,but seems helpless,and I found someone said that it is difficult to build ONC/RPC on windows,and Microsoft's RPC is different from ONC/RPC,I also downloaded the JAVA Remote Tea ONC/RPC library for windows,but I know nothing about JAVA. It is said that the LXI Consortium has the code for ONC/RPC,but only valid for its members. Which way mybe helpfull?Any reply is appreciate. This is a library implemented in C, that claims to implement the ONC/RPC protocol. It's old but fully based on the original Sun specs. This is a C# implementation and this and this are in Java. 1 Quote Link to comment
iwanttofly014 Posted November 20, 2011 Report Share Posted November 20, 2011 This is a library implemented in C, that claims to implement the ONC/RPC protocol. It's old but fully based on the original Sun specs. This is a C# implementation and this and this are in Java. Thanks Rolfk! I will try the library implemented in C ,thank you very much! I also got some informations form VXI-11 Server Example.I have simulated a VXI-11 call message using TCP functions on LabVIEW,but still a long way to go. I will report here fews days later. Have a good day! Quote Link to comment
Ryan Vallieu Posted September 25, 2020 Report Share Posted September 25, 2020 I've got a need for ONC-RPC from LabVIEW running on a Linux system. Looks like that library link is dead that you posted. I will try to dig around to see if it just moved. Does anyone know of existing toolkits? I'd look at VIPM, but my main laptop died and is being fixed and I am not allowed to install any software on this loaner PC. Quote Link to comment
dadreamer Posted September 25, 2020 Report Share Posted September 25, 2020 1 hour ago, Ryan Vallieu said: Looks like that library link is dead that you posted. It's available on Web Archive as well. 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.