Precision, Performance, Confidence. ™

Macros: Measurement Uncertainty in COMPASS for Pressure - Test Macro

This test macro calculates measurement uncertainty for each setpoint in the test. Calculation is done per the Fluke Calibration Application Note "Implementing ISO 17025 Measurement Uncertainty Requirements In Software" dated March 2012, document 1282496C.  A link to download a copy is at the end of this Article. The macro also calculates a guardbanded tolerance and calculates TUR. If you have some understanding of VBscript and macros in COMPASS for Flow then you can edit the calculations and/or add to them.

Make sure UserDefined8, UserDefined9, UserDefined10, StringData9 and StringData10 are saved to the data file in [Tools], <Options>, <Data In File>. You will need to be running an Advanced test to use this macro and this macro needs to be chosen as the "Test Event Macro" on the Data tab, and "Timed Macro Interval(ms)" needs to be 0 (zero).

It is recommended to manually verify the calculated values before relying solely on this macro. Lines that begin with cDebug.LogStatus are used to show text and macros in the COMPASS Macro Spy where the option exists to log all of these to a log file at C:\dhi\common\MacStat.log

See this article for information on the macro spy and the log file.
Macros: Macro Spy and Macro Log File

Below is a link to a file containing the text of the macro that can be copy/pasted into the COMPASS Macro Editor as a new Test macro. Use CTRL+V to paste into the macro editor because right-clicking then paste is not an option.

Other attached files are a sample data file and calibration report generated with this macro and the attached COMPASS Report Editor template.

Here's an optional macro to set the reference tolerance based on the pressure that you're at. You could possibly set these by your CMC,
Reference Uncertainty By Range

Rev 3, 28-August-2015 added multiple DUT capability & TUR
Rev 4, 02-Sept-2015 added units to UserDefined 1 to 3
Rev 5, 23-Sept-2015 Changed 330 in "If cCompass.CurrentTestStep = 330" to 325 because Uncertainty Parameters were not updating in data grid
Rev 6, 07-Mar-2016 Added more comments in debug statements for more info on what S1, S2,... are. Set TUR resolution to 1 digit
Rev 7, 08-Mar-2016 Added resolution for Unc. and GB Tol. in the first few lines of code. Added CInt(iC) for multiple Pressure Cycle support (PresCyclIndex)
Rev 8, 05-Apr-2016 Moved "Tolerance with Guardband failed" message box to the correct if-then-else statement
Rev 9, 18-Jun-2018 Edited to work with multiple temperature and/or line pressure cycles, and added units to more debug statements
Rev 10, 06-May-2019 Changed to save uncertainty parameters to User1, User2, User3, StringData8 & StringData9.
Rev 11, 29-Oct-2019 Added option to query 2271A, 6270A, 8270A or 8370A reference pressure uncertainty. Added option to query Global Macro for reference pressure uncertainty.

Rev 12, 13-Apr-2022 Changed i to 1 when getting Ref Unit and Ref Unit Text (highlighted in green in attached document). The macro only supports 1 reference in a test. Rev 13, 20-Apr-2022

Rev 13, 20-Apr-2022 Changed from this
reply = cCOMPASS.cConfig.SetPrs(1).ioSendCommand (CStr(cmd),False,0)
to this in Ref Uncertainty from 6270A/2271A/8270A/8370A section of code
reply = cCOMPASS.cConfig.RefPrs(1).ioSendCommand (CStr(cmd),False,0)

'Rev 14, 20-May-2022 Added CDbl assignments to some values to ensure that the values are double precision numbers and maintain their values when using commas as the decimal separator.


Contact Fluke Calibration Pressure Technical Support at the link below or by phone 1.877.355.3225 with any questions.

Have more questions? Submit a request


Please sign in to leave a comment.