See other templatesSee other templates

Almost every CMM software package provides HLL in various formats: native DMIS, non-Dmis, VB script, etc. Even in very old software like Umess, you can do very complicated things in PCM, for which a thick book can be written. Since many software in the market is still trying to comply with dmis standard to a high percentage and I'm a fan of dmis programming so I'll use dmis HLL as example. 

And I want to focus on a few very practical scenarios: 

1. Get operator input (for various purposes, i.e. part information) 

 

This is so common and mainly for new users. I won't explain in details, just post out some sample codes for studying: 

$$ 

DECL/LOCAL,CHAR,99,FilePath,SerialNO,Sample,FileName 

FilePath=ASSIGN/'L:\MY_JOBS\PART_' 

SerialNO=PROMPT/'SERIAL NO.:',25 

FileName=ASSIGN/CONCAT(FilePath, SerialNO, '.txt') 

SerialNO=ASSIGN/CONCAT('Serial NO.: ', SerialNO) 

V(0)=VFORM/ALL 

DID(DATA)=DEVICE/STOR,FileName 

OPEN/DID(DATA),FDATA,V(0),OUTPUT,OVERWR 

$$ 

$$********** Your measurement and dimensions here 

$$ 

CLOSE/(DATA), KEEP 

$$ 

Notes: In old Virtual Dmis system, PROMPT will not work, you need to use TEXT/QUERY instead and also it won't allow you to CONCAT with strings mixed with string variables so you need to assign all strings to string variables first then CONCAT. 

2. Give warning when certain features are out of tolerance 

 

This is very useful, for example: your datum A face is a kind of thin worm trailing where you need to take 40 hits along the entire trail but if there're some bad hits it will affect your whole alignment obviously. Your parts also vary quite a bit but you can't just watch every single hit. A simple way is let your program give out a warning when flatness is over certain value and pause so you can have a look: 

$$ 

$$*********** Your plane measurement 

OUTPUT/FA(PLN_Z), TA(FLAT_1) 

DECL/COMMON,REAL,FLAT_1_DEV 

FLAT_1_DEV = VALUE/TA(FLAT_1),DEV 

DECL/COMMON,CHAR,55,WARNING 

WARNING=ASSIGN/CONCAT('FLATNESS IS: ',STR(FLAT_1_DEV),' !!') 

IF/(FLAT_1_DEV.GT.0.125) 

TEXT/OPER,WARNING 

ENDIF 

$$ 

3. Capture actual feature position to handle part variation 

 

This works similarly to the built-in read position in pc-dmis, when you have to measure a small hole with variations from part to part, i.e. use 1 mm probe to measure 1.5 mm hole: 

$$******** set small probe approach/retract distance 

TEXT/OPER, 'PLACE PROBE AT CENTER OF THE SMALL HOLE AND CONTINUE ...' 

$$ 

F(READ) = FEAT/POINT,CART, 456,123,789, 0,0,1 

MEAS/POINT, F(READ), 0 

ENDMES 

DECL/COMMON,REAL,READ_X,READ_Y,READ_Z 

READ_X = OBTAIN/FA(READ),3 

READ_Y = OBTAIN/FA(READ),4 

READ_Z = OBTAIN/FA(READ),5 

$$ 

F(CIR1) = FEAT/CIRCLE,INNER,CART, READ_X, READ_Y, READ_Z, 0.000, 0.000, 1.000, 1.500 

MEAS/CIRCLE, F(CIR1), 4 

ENDMES 

F(CIR1) = FEAT/CIRCLE,INNER,CART, 456,123,789, 0,0,1, 1.5 

$$ 

Notes: the nominal definition line right after your circle measurement is very critical because it resets your feature nominal to what it's supposed to be otherwise you will get incorrect results when tolerance it. 

This is just to give readers a very general idea how HLL should be applied from very practical point of view. There're many other cases where HLL can play a very good role to make your measurement routine more efficient but personally I do not encourage anyone to use HLL just because it's fun and make your program look so advanced. Simplicity is still the way to go with. If you need help or training on dmis HLL, don't hesitate to contact me at: This email address is being protected from spambots. You need JavaScript enabled to view it., and always feel free to browse my website for tips and training: HUwww.rxmetrology.com

or just simply scan this code from your smart phone: 

 

 

Ray Xing GDTP S-0605 

CGP Certified (ITAR equivalent) 

CMM Application Specialist RX Metrology Solutions Inc. 

One stop solution for CMM and GDT training www.rxmetrology.com

 

www.rxmetrology.ca

JSN Megazine template designed by JoomlaShine.com