Out-Of-Process COM objects

Does MET/CAL provide any support for out-of-process COM objects? 

We have a 64-bit .exe COM object that permits 32-bit applications to talk to our 64-bit device drivers over USB. We use it for 64-bit Windows installations to maintain compatibility with third-party applications (32-bit) that interface with our devices. 

Is there a way to utilize this out-of-process COM object, or will we be required to write a 32 bit COM object that serves as an intermediate step between MET/CAL -> 32-bit COM -> 64-bit out-of-process COM -> 64-bit device driver?



Date Votes
Michael Schwartz

Funny.. I was just telling someone at Fluke about a PXI procedure we wrote that could run on a single MET/CAL computer or across two computers one controlling MET/CAL and the other the UUT.  

I have not played much with the 8.0 LIB FCS.  But I know this problem can be resolved with a TSR executable using the DOS FCS.


Samuel Anderson

That's very funny indeed. We have discussed implementing a setup where one MET/CAL procedure performs multiple UUT calibrations at once using a master/slave computer setup, such that the slave computers are syncronised to the master computer which executes the procedure and controls the function generator, while the slaves read the results from the UUTs. I'll look into the DOS FSC. 

Michael Schwartz

I like the saying "If all you have is a hammer then everything looks like a nail!"

I have tried MET/CAL and multiple UUTs.. It can be done, but it is a lot of code, and alot of steps that have to be followed exactly.  In the end it wasn't worth he head ache, nor did it save that much time (in MET/CAL).



Marcus Flack

I am familiar with users running multiple UUTs at the same time, by running 1 dummy asset, storing data in local files or variables, then using an import mechanism to (imp2.exe via DOS) to write data to the data base for each DUT tested.    

The LIB FSC was specifically designed for the support of COM objects and DLLs.  It is available in 8.0 revs of MET/CAL and newer.  There are several example procedures installed by default that use the LIB FSC to interact with Excel and NI PXI DLL's.   Using the LIB FSC, COM objects can be created and used as variables throughout a MET/CAL procedure.  The LIB FSC also provides direct access to DLL Functions.  New RESET and CLEAR FSC options are available to handle shut down operations when a procedure closes to support memory management , shutdown options etc.  If you are familiar with COM it is really simple.   The LIB FSC also supports Arrays and Data Structure variable types.  Rather than using the existing procedure registers or making a large number of variables, you can create a custom array to manage data.   

A few extracts from the Help file:


1.001  CLEAR        -c     Sub Cleanup Excel

# Open an instance of Excel and make it visible

  1.002  LIB          COM excel = "Excel.Application";

  1.003  LIB          excel.Visible = True;

# Create a new empty workbook

  1.004  LIB          COM workbooks = excel.Workbooks;

  1.005  LIB          workbooks.Add();



1.001 LIB     ARRAY NEW myArray[100];

1.002 MATH    index = 46


1.003  LIB     myValue = myArray[index];

Please sign in to leave a comment.