NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

iEngine vs Engine Class

Solved!
Go to solution

Hi All,

 

I wanted to programmatically compare 2 sequence files. I found a "DiffSequencecFiles" method in EngineClass. But I have a few questions, iEngine vs Engine Class.png

1. What is the difference between Engine Class and IEngine? The Engine Class has the GetSequenceFile method and the IEngine doesn't have the GetSequenceFile or DiffSequenceFile methods. 

2. In which case should the Engine Class and IEngine be used?

2. What is the difference between GetSequenceFile and GetSequenceFileEx? 

 

Thanks,

Sree Ranjani



0 Kudos
Message 1 of 7
(2,916 Views)

Hi Sree,

 

1. In general, you should use the IEngine class. This is the interface to the engine class, and engine is the CoClass

2b. GetSequenceFile is the obsoleted version (and hidden publicly in the IEngine interface) of GetSequenceFileEx. It's still being internally used, hence its still available, but we recommend that you use GetSequenceFileEx.

 

Two things for you - 

1. Can you upload your VI that you have shown here? 

2. If you right-click on the IEngine nodes that have the broken attached wires and choose "Relink Invoke Node," does the error disappear?  

 

It looks like you may be seeing a LabVIEW bug and we're gonna do further investigation on our end.

 

Hope this helps! 

Roxy

Message 2 of 7
(2,876 Views)

Hi Roxy,

 

Thanks for your reply, I was able to get the error fixed by giving "Relink Invoke Node".

File Difference.png

 

I am trying to get the difference between two sequence files programmatically. But I am not sure how to extract the details. It will be helpful if you can point me to any documents or resource for this.

File Difference Details.png

To be more specific, how to extract the details from the File1Differences and File2Differences shown in the above image. I wanted to check if there are any changes in the setting of a particular type of step between the 2 files. 

 

Please find the VI attached with this mail.

 

Thanks,

Sree



0 Kudos
Message 3 of 7
(2,827 Views)

Hey Sree,

 

The engine reference coming from the Sequence Context property node is an ActiveX reference, but the reference expected by the Engine node is a .NET reference - hence, the broken wire. Relinking the invoke node does the same thing that you have in your diagram disable structure. The behavior that you're seeing is expected for this reason.

 

Let me know if you have any other questions. 

 

Thanks!

Roxy

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

Hi Roxy,

 

Now that I am able to get the broken wires fixed and get the VI to run without any issues. I wanted to interpret the difference between the 2 sequence file from the below property node.

 

File Difference Details.png

The File1Differences and File2Differences give 1D array of numbers. Please let me know if there are any documents that I can refer to get the details on how to interpret the file differences.

 

Thanks,

Sree



0 Kudos
Message 5 of 7
(2,756 Views)
Solution
Accepted by topic author SreeRanjaniSG

Hey Sree,

 

Rather than using this API, I would recommend using the Sequence File Differ Tool's command line to see the difference between the two sequence files - https://zone.ni.com/reference/en-XX/help/370052R-01/tsref/infotopics/diffmerge/.

 

There is no public documentation on the methods that you are using above. 

 

Thanks,

Roxy

Message 6 of 7
(2,744 Views)

Thanks Roxy,

 

I think I can go ahead with this method. This gives an XML report, which I should interpret to get the difference. I will try it and let you know.

File Differ Utiltiy - Command Line Help.png

 

Regards,

Sree Ranjani.



0 Kudos
Message 7 of 7
(2,736 Views)