My last Automation Corner was about Model Driven Engineering, and this one is an example of how Model Driven Engineering makes software development easier and faster.
Over the past 25 years of writing automated calibration software, my goal has been to develop better programming methods that facilitate our company’s ability to create a high-quality product in less time. This is the core of any business to create efficiencies in their day-to-day operations; the more efficient, the better the profit.
25 years ago, I had a breakthrough moment while working for a company called Intercal. All they did was Fluke MET/CAL® procedures. I got tired of the “Cut & Paste” methodology used by most MET/CAL programmers. This was a huge no-no, one of my college professors explained to me. Instead, he said, “Make it a function!”
MET/CAL is not good with functions and reusable code. So, I created a little application where I entered the test point and test limits for a Unit Under Test (UUT), then pressed a button and it would write about 50% of my MET/CAL procedure. Over the years, I have rewritten and improved that application. Today it can auto-write about 80% of a MET/CAL procedure.
The biggest difference between my first MET/CAL code generation applications and the one we are using today is the integration of a standardized Metrology Taxonomy. With each version of the software, we found a better, more efficient way of creating working software ultra-fast.
We constantly track our metrics, in this case, the hours it took to create a MET/CAL procedure for a Siglent SDM3045X Digital Multimeter. Our goal is to create the fully tested automation for MET/CAL in under 10 times the manual calibration time. This procedure should take less than 10 hours to develop.
We started by creating a Metrology.NET® Test Package. This took 2.5 hours of our total development budget. We use Metrology.NET to enter the Test Points and Test Limits. But unlike my V1 tool, the Metrology.NET test package also stores the SDM3045X settings and details about the test requirements.
Next, we used the current CodeGen tool to download the test package and create the MET/CAL procedures. This took an additional hour out of our budget.
Now we have 80% of the MET/CAL procedure ready to test. The CodeGen tool will create the main procedure, test points subprocedure, and test routines subprocedure. It has all the code required to calibrate the UUT. What is missing is the code that links to the standards.
This customer wants to calibrate the SDM3045x with a Fluke 5522A, so now we need to modify the config subprocedure, adding the specific connection messages and calls to the Fluke 5522 Drivers. This takes an hour.
To make a Fluke 5730A, or Meatest 9010, or Transmille 4010 version of this procedure, it would only be about 30 minutes of work. This is one of the key advantages of Model Driven Software Engineering. The code required for alterations like this is minimal.
Our Goal to write the automated procedure was 10 hours, but in under 4.5 hours, we are 100% done with version one of this procedure and ready to test. Testing the procedure only takes an additional 2 hours.
This is ultra-Fast development! The development of a simple DMM procedure used to take more than 10 hours. Now, from scratch, a fully functional calibration procedure with data in hand, takes less than 6.5 hours of development time! That is ultra-fast! In addition, we created a Metrology.NET Test Package for the Siglent SDM3045X in the process, free to all Metrology.NET customers.
This is the power of Model Driven Software Engineering! Low-Code to No-Code also means faster development, in this case, Ultra-Fast procedure creation.
If you want a free example of a Code Generated MET/CAL Procedure, check this out: https://store.callabsolutions.com/index.php?route=product/product&product_id=50.