Differences in macro program programming between Inspection Plus and MIDA in Fanuc system

#Comparison of Inspection Plus vs MIDA Macro Programming – Selection and Configuration Guide for Control System Scenarios

>* * Version * *: v3.0 (Scene Decision Refactoring Version)
>Theme: Full scenario comparison and configuration scheme of Renishaw Inspection Plus and Marposs MIDA macro program system
>* * Applicable readers * *: Equipment debugging engineers, process programmers, and machine tool selection decision-makers
>Keywords: FANUC, Inspection Plus, MIDA, macro program, probe, tool setter G65、 Control system and scene selection

catalogue

-[1. Product Overview] (# 1 Product Overview)
-[2. Programming System Comparison] (# 2 Programming System Comparison)
-[2.1 Macro Program Calling Method] (# 21 Macro Program Calling Method)
-[2.2 Common Macro Number Comparison] (# 22- Common Macro Number Comparison)
-[2.3 Output Variable System] (# 23 Output Variable System)
-[2.4 Parameter Transmission Differences] (# 24- Parameter Transmission Differences)
-[III. Scene Configuration Scheme] (# Three Scene Configuration Scheme)
-[Scenario 1: Fanuc 0i/31i System] (# Scenario 1 Fanuc 0i31i – System)
-[Scenario 2: Mitsubishi Meldas M80 System] (# Scenario 2 Mitsubishi Meldas-m80 System)
-[Scenario 3: Mazak Mazak System] (# Scenario 3 Mazak Mazak System)
-[Scenario 4: General CNC System (Customized Debugging)] (# Scenario 4 General CNC System Customized Debugging)
-[4. Selection Reference] (# 4 Selection Reference)

##1、 Product Overview

In the field of CNC machine measurement, Inspection Plus (Renishaw) and MIDA (Marposs) are the two mainstream macro program software packages. Both are based on the Custom Macro B capability of the CNC system, which achieves calibration, safe positioning, measurement, and compensation writing through calling subroutines using ‘G65’.

###1.1 Inspection Plus Technical System

**Developer: Renishaw, founded in 1973 and headquartered in Gloucestershire, UK, is a global pioneer in probe technology.

**Technical positioning: Regard the measuring head as a sensor for workpiece alignment and size detection, with the workpiece measurement cycle as its core. The tool setting function is delegated to the G37 instruction native to the CNC system for completion.

**System composition * *:

|Level | Name | Description|
|:—–|:—–|:—–|
|Standard | Inspection Plus Standard | Basic workpiece alignment and measurement: single-sided measurement, hole measurement, web measurement, corner measurement, safety positioning, etc., about 15 core macros|
|Plus (Enhanced Edition) | Inspection Plus Plus | Includes all Standard+vector measurement, oblique angle measurement, three-point circle, feature to feature measurement, margin measurement, 4-axis measurement, etc., with approximately 30+macros|
|GoProbe (Simplified Version) | Inspection Plus with GoProbe | User friendly interface based on Standard, aimed at operators rather than programmers|
|Set and Inspect (App version) | Inspection Plus with Set and Inspect | Touchscreen graphical interface, operated through iHMI or external tablet|

**Typical hardware chain: probe (OMP40-2/RMP600, etc.) → optical receiver (OMI-2/OMM-2C) → CNC I/O → macro program

###1.2 MIDA Technology System

**Developer * *: Marpos, founded in 1952 and headquartered in Bologna, Italy, has a deep accumulation in the fields of grinding machine measurement and tool monitoring.

**Technical positioning: Treating the probe system as a complete measurement platform, Part Check and Tool Check are two parallel and independent macro program systems, each with complete calibration, measurement, integrity check, and data output functions.

**System Composition – Part Check Version * *:

|Level | Code | Description | Representing macros|
|:—–|:—–|:—–|:——-|
|BASIC | C092 * A200A | Basic workpiece measurement: single-sided, hole, web plate, calibration | O9301, O9311~O9315|
|PREMIUM | C092 * A200B | Contains all BASIC+three-point circle, oblique measurement, double angle point | O9317, O9318, O9332~O9335, O9357~O9358|
|ULTRAMATE | C092 * A200C | Contains PREMIUM all+porous, excess, multi workpiece surface, tilt compensation | O9325~O9327, O9336~O9338, O9160~O9168|

**System Composition – Tool Check Version * *:

|Level | Description | Represents Macro|
|:—–|:—–|:——-|
|BASIC | Basic tool alignment: concentric tool length/radius | P9376, P9377|
|PREMIUM | Contains BASIC+Non concentric Tools, Single Blade | P9378, P9388|
|ULTRAMATE | Includes PREMIUM+integrity check, thermal drift detection | P9379, P9380, P9387|

**Lathe Part Check is also divided into three levels: BASIC/PREMIUM/ULTRAMATE, covering X/Z calibration, C/Y axis measurement, runout detection and other milling functions.

**Typical hardware chain: Probe → E32U interface module (core hub, supporting up to 4 probes) → CNC I/O → Macroprogram

###1.3 Differences in Design Philosophy between Two Systems

Inspection Plus adopts the “different macro numbers=different functions” mode, with a large number of macro numbers but self documented code, so there is no need to refer to the manual for parameter meanings when reading. MIDA adopts the “same macro number+A parameter=different functions” mode, with a small number of macro numbers, but needs to distinguish functions through parameters such as A/B/D/E, which is suitable for teams with unified programming standards.

Identification features of macro number interval:
“`
O98xx/O97xx → Inspection Plus (Renishaw)
O93xx/P937x → MIDA (Marposs)
“`

##2、 Comparison of Programming Systems

###2.1 Macro program calling method

####Common foundation: G65 macro program call

Both software packages use * * G65 * * non modal calling method:

“`gcode
G65 P9xxx [Address parameter ..]
“`

G65 passes independent parameters each time it is called, and releases local variables # 1~# 26, # 33 after the call is completed. **Both explicitly prohibit the use of G66 modal calls * * – probe loops require precise control over the progress of each step to provide safety logic, and modal calls may result in parameter residue or unexpected nested loops.

####Number interval difference

|Dimension | Inspection Plus | MIDA|
|:—–|:—————-|:—–|
|Workpiece measurement O-number prefix | O98xx/O97xx | O93xx/O91xx/O90xx|
|Tool measurement O-number prefix | O97xx (shared interval with workpiece measurement) | O93xx (P937x/P938x)|
|Calibration main program O-number | O9801, O9802, O9803, O9804 | O9301 (workpiece)/O9376 (tool setter)|
|Security positioning macro | P9810 (O9810) | P9311 (O9311)|
|Call Example | G65 P9810 Z-5. F3000 | G65 P9311 Z-5. F3000|

####Collaboration between M-code and macro programs

**Typical M code sequence for Inspection Plus:**

“`gcode
M50 (Turn on probe optical receiver/probe enable)
G04 X1. (Wait for the probe to stabilize, about 1 second)
G65 P9810 Z-5. F3000 (safety positioning)
G65 P9814 D50. Z-20. F1000 (measurement)
G65 P9810 Z100. F3000 (safe return)
M51 (Turn off probe optical receiver/probe disable)
“`

**Typical M code sequence for MIDA (managed through E32U):**

“`gcode
M303 (opens probe channel 1 through E32U)
G04 X0.5
G65 P9311 Z-5 F3000 (safety positioning)
G65 P9312 A1 D50. E5. I0 J0 F1000 R50. (Measurement)
G65 P9311 Z100. F3000 (safe return)
M304 (Close Probe Channel)
“`

**Difference point * *: The M code (M50/M51) of Inspection Plus is defined by the machine tool manufacturer, and different manufacturers may use different codes. MIDA manages probe channels through the E32U module, and M303/M304 are standard M codes defined by Marposs for better consistency. Both systems require the addition of a ‘G04’ pause command after the probe is enabled, waiting for the signal to stabilize.

####Initialize macro

|Software package | Initialization macro | Function|
|:——-|:———|:—–|
|Inspection Plus | * * P9901 * * | Load default system parameter configuration (Stand off, Overtravel, touch feed, etc.)|
|MIDA | * * P9360/O9360 * * | Loading system configuration variables stored in O9366 (# 100~# 150 series)|

The P9901 of Inspection Plus is more inclined towards “soft configuration” – reading the built-in parameter table for initialization; MIDA’s P9360 directly accesses the system variable area (# 100~# 150), and the configuration data storage location is transparent to users, making it easier to debug and modify.

###2.2 Comparison of commonly used macro numbers

####Calibration cycle

|Function | Inspection Plus | MIDA|
|:—–|:—————|:—–|
|Probe length calibration | * * O9801 * * | * * O9301 * * (standard six sided calibration)/* * P9376 * * (tool presetter calibration)|
|Measurement needle X/Y bias | * * O9802 * * | * O9301 * * (integrated in the calibration cycle)|
|Ball diameter calibration | * * O9803 * * | * * O9303 * * (three-point diameter calibration, Premium/Ultimate) |
|Vector measuring needle ball diameter calibration | * * O9804 * * | * O9302 * * (oblique angle calibration, Premium/Ultimate) |
|Automatic calibration of tool presetter | None (dependent on G37 system parameters) | * * P9376 * * (automatic calibration), * * P9386 * * (manual calibration)|
|Offset update macro | * * O9732 * * | No independent macro (read through system variables)|

The design difference of calibration macros: Inspection Plus divides calibration into four independent macros (O9801~O9804), each macro only completes a specific task, and users can run only part of the calibration process as needed. MIDA integrates the length and offset calibration of the workpiece into one macro (standard six sided calibration) in O9301, and determines the length and offset simultaneously through eight directional touch measurements, simplifying the operation process but lacking flexibility – the entire calibration sequence must be fully executed after replacing the measuring needle.

####Workpiece measurement cycle

|Function | Inspection Plus | MIDA|
|:—–|:—————|:—–|
|Secure Positioning Mobile | * * P9810 * * | * * P9311 * *|
|Single sided measurement | * * P9811 * * | * * P9314 * *|
|Inner hole/outer circle measurement | * * P9814/P9815/P9816 * * | * * P9312 * * (A1=inner hole, A2=outer circle)|
|Web/cavity measurement | * * P9812 * * | * * P9313 * *|
|Corner detection | * * P9821 * * (angled single-sided) | * * P9315 * * (inner/outer corners)|
|Three point diameter measurement | * * P9823 * * (3-point bore/boss) | * * P9335 * * (Premium/Ultimate)|
|Multi point diameter measurement | No standard macro (customization required) | * * P9392 * * (Premium/Ultimate)|
|PCD measurement | * * P9819 * * (Bore/boss on PCD) | – (achieved through O932x multi workpiece surface)|
|Stock Allowance | * * P9820 * * | * * P9338 * * (Ultimate)|
|Tilt measurement (XY angle) | * * P9843 * * (XY plane angle) | * * P9318 * * (XY tilt detection)|
|Feature to feature measurement | * * P9834 * * | – (multiple cycles need to be combined)|
|4-axis auxiliary measurement | * * P9817 * * (4th axis X), * * P9818 * * (4th axis Y) | * * O9098/O9110 * * (C-axis calibration/search, Premium+) |

####Tool measuring cycle

|Function | Inspection Plus | MIDA|
|:—–|:—————|:—–|
|Tool length measurement (concentric) | Dependent on G37 system instructions | * * P9377 * *|
|Tool radius measurement | Dependent on G37 2D extension | * * P9377 * * (integrated in the loop)|
|Non concentric tool measurement | Not supported | * * P9378 * *|
|Single blade measurement | Not supported | * * P9388 * *|
|Manual length measurement | Dependent on G37 | * * P9387 * *|
|Integrity check of concentric cutting tools | Not supported | * * P9379 * *|
|Non concentric tool integrity check | Not supported | * * P9380 * *|
|Laser alignment | Not supported | Dedicated laser package (MARPOSS1~9)|

Inspection Plus focuses on workpiece measurement and relies on the native G37 instructions of the CNC system to supplement the tool gauge function. MIDA will design the tool presetter and workpiece measurement as two parallel macro program systems. For workshops that only use standard concentric cutting tools, Inspection Plus combined with G37 is sufficient for use; In scenarios involving non concentric cutting tools or requiring online monitoring of tool integrity, MIDA’s tool alignment system has irreplaceable advantages.

####Special loops and advanced features

|Function | Inspection Plus | MIDA|
|:—–|:—————|:—–|
|Milling center alignment | P9814/P9815 (combined with W parameter) | P9312 (combined with A parameter)|
|Rotary workpiece measurement | P9817/P9818 (4-axis auxiliary) | O9098/O9110 (C-axis measurement)|
|Multi needle management | O9830/O9831 | # 127/# 128 System variables+C parameters|
|Thermal compensation monitoring | No standard macro | P9379/P9380 (tool integrity+thermal drift)|
|SPC Data Output | P9835 | O9160-O9168 (Ultimate)|
|Report Generation | Output via Serial Port | # 117 Configure Ethernet/Serial Port|

####User defined macro extension

Inspection Plus has reserved the * * O97xx * * interval in the numbering system for user-defined macros (O9701~O9732). MIDA recommends that users store custom macros in the * * O9500~O9999 * * range, avoiding the O93xx/O90xx/O91xx and O936x configuration ranges. Both systems support changing macro program behavior by modifying system variables (Inspection Plus # 500 series/MIDA # 100~# 150).

###2.3 Output Variable System

####Public variables (# 500~# 999) are occupied

|Variable Range | Inspection Plus | MIDA|
|:———|:—————|:—–|
|* * # 500~# 505 * * | Measurement result storage | Measurement result storage (default offset 0, adjustable through # 137)|
|* * # 506 * * | Stand off distance | System configuration|
|* * # 507 * * | Overtravel distance | System configuration|
|* * # 508~# 510 * * | Internal calculation variables | System configuration|
|* * # 560~# 599 * * | Custom/Device Specific | Unaccupied|
|* * # 600~# 619 * * | GoProbe/User Interface Configuration | Not Used|
|* * # 620~# 639 * * | Reserved/SPC data | Not occupied|
|* * # 100~# 199 * * | Not occupied by the system (reserved for users) | * * O9366 system configuration * *|

####Inspection Plus Key System Variables

“`gcode
#500=final measurement result (diameter/width, etc.)
#501=measured value of X-axis
#502=Y-axis measured value
#503=Z-axis measured value
#504=Deviation/Error Value
#505=Reserved
#506=Stand off distance
#507=Overtravel distance
“`

Inspection Plus automatically updates # 500~# 505 after each measurement cycle is completed. These variables are readable and writable, and the user program can read # 500 before and after calling the loop for custom logic judgment. Reading # 500 before executing a new measurement cycle is meaningful – the new cycle will overwrite the value of # 500.

####MIDA O9366 system configuration variables (# 100~# 150)

MIDA uses the * * # 100~# 150 * * series of common variables for system configuration, which can be set through the ` O9360 ` macro program or manual assignment:

|Variable | Function | Typical Value|
|:—–|:—–|:——-|
|* * # 100 * * | Rollback after triggering | 2.0 mm|
|* * # 101 * * | Touch feed rate | 500 mm/min|
|* * # 102 * * | Fast forward speed | 3000 mm/min|
|* * # 103 * * | Maximum movement range | 100.0 mm|
|* * # 104 * * | Safety gap | 3.0 mm|
|* * # 105 * * | Probe overtravel limit | 5.0 mm|
|* * # 106 * * | Counting delay | 50 ms|
|* * # 110 * * | CNC type: 1=Fanuc, 2=Haas, 4=Mitsubishi | 1|
|* * # 113 * * | Measuring head ball diameter radius | 3.0 mm|
|* * # 119 * * | Tolerance Check Enable | 0=Off, 1=On|
|* * # 123 * * | Automatic coordinate system update | 0=no update, 1=update|
|* * # 124 * * | Offset coordinate system number (G54=1… G59=6) | 1|
|* * # 126 * * | Z-axis safety height (absolute coordinate) | 50.0 mm|
|* * # 137 * * | Result storage start # 500 offset | 0|

MIDA uses 51 variables as system level configuration parameters, which has the advantage of centralized management of all configurations. However, in multi program and multi task applications, unexpected modifications to configuration variables can cause abnormal probe behavior and be difficult to troubleshoot. It is recommended to load the configuration in one go through O9360 during CNC startup and protect the # 100~# 150 area from writing.

####Differences in the internal structure of macro programs

|Features | Inspection Plus | MIDA|
|:—–|:—————|:—–|
|Sub macro call depth | shallow (usually 2-3 layers) | deep (safe positioning → touch detection → result calculation → output, 4-5 layers)|
|M code trigger | Partial versions use M00/M01 pause | Built in pause logic controlled by system variables|
|Alarm mechanism | Built in alarm through # 3000 | Alarm behavior configured through O9366 (# 122)|
|Modal G code management | Independent saving/recovery inside and outside the loop | Automatic saving and recovery of G90/G91/G54~G59 and other modalities inside the loop|
|Probe enable/disable | Usually managed externally by M code | Partial loop built-in probe switch logic|

The macro call depth of Inspection Plus is relatively shallow (usually 2-3 layers), which is an advantage in systems with limited nested macro call levels. The call depth of MIDA can reach 4-5 layers, and nested depth limitations may be encountered on resource constrained systems. During actual deployment, it is necessary to confirm whether the system parameter # 6005 (macro call nesting depth) is sufficient.

####Variable isolation strategy

**Inspection Plus * * extensively uses local variables (# 1~# 26) for calculations within the measurement loop, minimizing write operations on common variables (# 500~# 999), and only writes measurement results to the # 500 series at the end of the loop.

**The loop of MIDA * * uses both local variables and common variables, and configuration parameters (# 100~# 150) are frequently read inside the loop. The intermediate calculation results may also be written to common variables, which have a higher proportion of usage.

###2.4 Parameter Transmission Differences

####Common Foundation

Both follow FANUC’s G65 address parameter mapping rules:

|Address | Variable | Address | Variable | Address | Variable | Address | Address | Variable|
|:—-|:—-|:—-|:—-|:—-|:—-|:—-|:—-|
| A | #1 | B | #2 | C | #3 | D | #7 |
| E | #8 | F | #9 | H | #11 | I | #4 |
| J | #5 | K | #6 | M | #13 | Q | #17 |
| R | #18 | S | #19 | V | #22 | W | #23 |
| X | #24 | Y | #25 | Z | #26 | | |

####Typical parameter usage of Inspection Plus

|Parameters | Common meanings | Examples|
|:—-|:———|:—–|
|* * D * * | Nominal diameter/size (ring gauge inner diameter, hole diameter) | ` D25. ` indicates Ø 25mm|
|* * Z * * | Z-axis target position (calibration surface, measurement point) | ` Z_ring_top `|
|* * F * * | Feed rate mm/min | F3000|
|* * Q * * | Tolerance/Deviation Related | ` Q1 ` Enable Automatic Writing|
|* * W * * | Workpiece coordinate system number/tool complement number | Write ‘W55’ to G55|
|* * U * * | Tolerance upper limit | ` U0.1 `|
|* * V * * | Lower tolerance limit | ` V-0.1 `|

**Example – Inspection Plus Inner Hole Measurement:**
“`gcode
G65 P9814 D25. Z-10. F1000 Q1 W55 U0.1 V-0.1
“`

####Typical Parameter Usage of MIDA

|Parameters | Common meanings | Examples|
|:—-|:———|:—–|
|* * A * * | Measurement Type/Mode Selection (1=Inner Hole, 2=Outer Circle, etc.) | ` A1 ` Inner Hole Measurement|
|* * B * * | Angle/Second Measurement Direction | B90 90 ° Corner Point|
|* * D * * | Nominal diameter/width/coordinate value | D50|
|* * E * * | Approach distance | ` E5. `|
|* * I/J * * | X/Y axis offset | ` I0 J0 `|
|* * H * * | Write the tool complement number (tool calibration loop) | ` H1 ` Write # 2001|
|* * F * * | Radius knife supplement number (tool gauge loop, optional) | ` F1 `|
|* * R * * | Absolute coordinates of the safety plane | R50|
|* * C * * | Probe Number (Multi Probe System) | ` C1 `|
|* * K * * | Out of tolerance/measurement points | K0.05|

**Example – MIDA inner hole measurement:**
“`gcode
G65 P9312 A1 D50. E5. I0 J0 F1000 R50.
“`

####Summary of Core Differences

|Difference dimension | Inspection Plus | MIDA|
|:———|:—————|:—–|
|* * Type selection * * | Different macro numbers correspond to different functions (P9814=hole, P9812=web) | The same macro number is distinguished by parameter A (P9312 A1=hole, A2=outer circle)|
|* * Safety gap * * | Controlled by built-in variable ‘# 506’ (Stand off) | Explicitly passed by calling parameter * * E * * (proximity distance)|
|* * Tolerance transmission * * | Transmitting upper and lower tolerances through * * U/V * * parameters | Transmitting tolerances through * * K * * parameters (single value symmetrical tolerances)|
|Coordinate update * * | Enable through * * Q/W * * parameter combination (Q=enable, W=coordinate system number) | Enable through * * # 123 * * system variable (O9366 configuration)|
|* * Tool compensation writing * * | Automatically triggered by Q parameter | H/F parameter is used for tool setting instrument, and workpiece measurement is controlled by system variables|
|* * Result Storage * * | Write to the ‘# 500’ series variables (defined by ‘# 501~# 505’, etc.) | Write to the ‘# 500’ series starting from the offset pointed to by ‘# 137’|

**The learning cost of parameter mode: When switching from Inspection Plus to MIDA (or vice versa), the maximum learning cost is not in macro memory, but in the transformation of parameter thinking mode. Inspection Plus makes the code more self documenting, eliminating the need to refer to manuals when reading. MIDA reduces macro number memory but increases the indirectness of code understanding.

##3、 Scenario configuration plan

###Scenario 1: Fanuc 0i/31i system

####Scene features

The FANUC 0i series (0i-D/0i-F/0i-F Plus) and 30i series (30i/31i/32i) are the most popular control systems on CNC machining centers, and are also the native support platforms for Inspection Plus and MIDA. Both fully support Custom Macro B functionality on this platform, without the need for additional porting or adaptation.

####Compatibility confirmation

|Requirement | Inspection Plus | MIDA|
|:—–|:—————|:—–|
| Custom Macro B | ✅ Required| ✅ Required|
|O9000~O9999 available| ✅ Need to| ✅ Need to|
|Macro program storage space | Approximately 15-30 KB (depending on version) | Approximately 8-50 KB (depending on version)|
|G31 step skipping function| ✅ Required| ✅ Required|
|# 500~# 999 Common Variables| ✅ Required (at least # 500~# 510)| ✅ Required (at least # 100~# 150+# 500 area)|
|Parameter # 6200 (SKIP)| ✅ Need to be set correctly| ✅ Need to be set correctly|
|G37 automatic tool measurement| ⚠️ Knife alignment device is required| ⚠️ Partial versions are optional|
|P/S alarm # 3000| ✅ Use| ✅ Use|

**System parameter precautions * *:
-Parameter * * # 6000 * * (macro program function): It is recommended to set it to 1 (enable all macro B functions) in versions 0i-F and above
-Parameter * * # 6005 * * (macro call nesting depth): It is recommended to set it to the maximum value (usually 4 or 5) to support multi-level calling in MIDA
-Parameter * * # 6200 * * (SKIP signal): It needs to be set correctly according to the type of probe interface

####Configuration Plan A: Inspection Plus Independent Plan

Suitable for workshops that have already used Renishaw probe hardware and rely on G37 for tool alignment.

**Typical configuration * *: FANUC 0i-MF+Renishaw OMP40-2+OMI-2 receiver

**Complete measurement call example (inner hole Ø 50mm, tolerance ± 0.05mm, written in G54):**

“`gcode
%
O1000 (INSPECTION PLUS – HOLE MEASUREMENT EXAMPLE)
(==============================================================)
(Equipment used: Renishaw OMP40-2+OMI-2 receiver)
(Software package: Inspection Plus Standard)
(==============================================================)

(1. Change the probe)
T01 M06 (replace probe)
G90 G54 G00 X0 Y0 (located at the center of the hole)
G43 H01 Z100. (Adjust the length of the measuring head to compensate for the safe height)

(2. Safely locate above the hole opening)
G65 P9810 Z-5. F3000 (safely move down to Z-5)

(3. Main cycle of inner hole measurement)
G65 P9814 D50. Z-20. F1000 Q1 W54 U0.05 V-0.05

(4. Retract the knife)
G65 P9810 Z100. F3000 (safe return)
G91 G28 Z0
M30
%
“`

**Variable status after execution * *:
“`
#500=50.003 (measured diameter)
#501=0.001 (X measured deviation)
#502=-0.002 (Y measured deviation)
#504=0.003 (maximum error)
G54 X bias has been automatically updated (due to Q1+W54)
“`

**Knife alignment method (dependent on G37) * *:
“`gcode
T02 M06 (replace the test knife)
G90 G00 X # 501 Y # 502 (moved to the center of the tool setter)
G43 H02 Z150. (Adjust the tool length compensation to a safe height)
G36 Z-50. (Limit G37 maximum stroke to 50mm)
G37 G91 Z-30. F500 (automatic tool alignment, automatically updates H02 after triggering)
G90 G00 Z300. (Retract)
M30
“`

####Configuration Plan B: MADA Independent Plan

Suitable for workshops that have already used the Marposs probe system (including E32U).

**Typical configuration * *: FANUC 31i-B5+Marposs MIDA probe+E32U interface

**Complete measurement call example (inner hole Ø 50mm, tolerance ± 0.05mm):**

“`gcode
%
O2000 (MIDA – HOLE MEASUREMENT EXAMPLE)
(==============================================================)
(Equipment used: Marposs MIDA probe+E32U interface)
(Software package: MIDA Part Check PREMIUM)
(==============================================================)

(0. System configuration initialization)
G65 P9360 (loading O9366 system configuration parameters)

(1. Change the probe)
T01 M06 (replace probe)
G90 G54 G00 X0 Y0 (located at the center of the hole)
G43 H01 Z100. (Adjustment of probe length compensation)

(2. Safely locate above the hole opening)
G65 P9311 Z-5. F3000 (safely move down to Z-5)

(3. Inner hole measurement cycle)
G65 P9312 A1 D50. E5. I0 J0 F1000 R50.

(4. Out of tolerance inspection and coordinate system update)
IF [# 500 GT 50.05] GOTO 900 (Out of tolerance alarm)
IF [# 500 LT 49.95] GOTO 900 (Out of tolerance alarm)

(5. Update G54 X bias)
#5221=# 5221+# 501 (G54 X bias update)
#5222=# 5222+# 502 (G54 Y bias update)

(6. Retract the knife)
G65 P9311 Z100. F3000 (safe return)
G91 G28 Z0
M30

N900 (out of tolerance processing)
#3000 = 100 (HOLE SIZE OUT OF TOLERANCE)
M30
%
“`

**MIDA automatic coordinate system update configuration * *: Set ‘# 123=1’ (enable automatic update) and ‘# 124=1’ (target coordinate system G54) in O9366. The P9312 loop will automatically update the coordinate system without manually writing # 522x logic.

**Knife alignment method (special macro P9377) * *:
“`gcode
T02 M06 (replace the test knife)
G90 G00 X_toolsetter Y1 toolsetter (moved to the tool setter position)
G43 H02 Z100.
G65 P9377 H2 F2 K6. M5. (H2=Write # 2002, F2=Write # 2102, K6=Contact Depth, M5=Safe Start)
G90 G00 Z300. (Retract)
M30
“`

####Configuration Plan C: Mixed Use Plan (Recommended)

Suitable for the combination configuration of Renishaw probe and Marposs tool setter, which is the most common mixed use scenario in the workshop.

**Typical configuration * *: FANUC 0i-MF+Renishaw OMP40-2+Marposs T25 tool setter

**Key compatibility handling * *:
1. * * O-number conflict * *: Inspection Plus occupies O98xx/O97xx, MIDA occupies O93xx/O90xx, and the two do not conflict with each other → * * can coexist**
2. * * # 500 series conflict * *: Both use # 500~# 505 to store measurement results → * * Need to coordinate * *, adjust MIDA’s # 137=10, use areas # 510~# 515
3. G37 usage conflict: Inspection Plus does not manage the tool presetter G37, MIDA tool presetter loop has its own touch logic → * * no conflict**
4. * * Parameter Space * *: The total storage requirement is approximately 15+20=35KB, with FANUC 0i-F standard configuration of 512KB → * * Usually sufficient**

**Mixed Variable Mapping Table * *:

|Variable Range | Purpose | Attribution|
|:———|:—–|:—–|
|# 100~# 150 | MIDA System Configuration Parameters | MIDA|
|# 500~# 505 | Inspection Plus measurement results | Inspection Plus|
| #506 | Stand-off distance | Inspection Plus |
| #507 | Overtravel distance | Inspection Plus |
|# 510~# 515 | MIDA measurement results (when # 137=10) | MIDA|
|# 560~# 599 | User defined (free to use) | Sharing|

**Example of complete production process * *:

“`gcode
%
O3000 (BATCH PRODUCTION – EXAMPLE FLOW)
(========================================================)

(1. Tool Preparation – MIDA Tool Alignment)
T01 M06 (replace probe)
M303 (opens probe channel through E32U)
G43 H01 Z100.
G65 P9377 H1 F1 K6. M5. (Calibration of probe length/radius)
M304 (Close Probe Channel)

(2. Workpiece Alignment – Inspection Plus)
T01 M06 (replace probe)
M50 (Open OMI-2 receiver)
G65 P9810 Z100. F3000 (safety positioning)
G65 P9811 X0. F1000 Q1 W54 (X direction alignment)
G65 P9811 Y0. F1000 Q1 W54 (Y-direction alignment)
G65 P9810 Z100. F3000 (return)
M51 (turn off receiver)

(3. Processing main program…)

(4. Inspection Plus after Processing)
M50
G65 P9810 Z-5. F3000
G65 P9814 D50. Z-20. F1000 Q1 W54 U0.05 V-0.05
G65 P9810 Z100. F3000
M51

(5. Knife Inspection – MIDA)
M303
G65 P9379 H1 K6. M5. (Tool integrity check)
M304
M30
%
“`

**Mixed scenario selection logic * *:
-If the main requirements are workpiece alignment and size inspection, the tool presetter only needs to measure the basic length/radius → * * Inspection Plus Standard+MIDA BASIC**
-If it involves non concentric cutting tools, single blade measurement, or online monitoring of tool integrity → * * Inspection Plus+MIDA PREMIUM/MULTIMATE**
-If five axis tilt measurement and margin analysis are required → * * Inspection Plus Plus+MIDA PREMIUM**

####Comparison of tilt measurement schemes

When measuring a tilted hole at a 30 ° angle to the Z-axis:

**Inspection Plus (requires Plus option):**
“`gcode
G65 P9810 Z50. F3000 (safely positioned to safe altitude)
G65 P9843 B30. (Set tilt angle to 30 °)
G65 P9814 D30. Z-15. F1000 Q1 (measured Ø 30 hole on inclined plane)
G65 P9810 Z100. F3000 (return)
“`

**MIDA (requires PREMIUM or above):**
“`gcode
G65 P9311 Z50. F3000 (safely positioned to safe altitude)
G65 P9318 A1 B30. D30. E3. F800 R50. (Measure Ø 30 hole on a 30 ° inclined plane)
G65 P9311 Z100. F3000 (return)
“`

####Comprehensive comparison and summary

|Aspect | Inspection Plus | MIDA|
|:—–|:—————|:—–|
|Line of code (workpiece measurement) | Approximately 20 lines (including comments) | Approximately 35 lines (including manual out of tolerance logic)|
|Automatic coordinate system update| ✅ Built in (Q+W parameter)| ⚠️ Need to manually write # 522x update, or enable it through # 123/# 124|
|Out of tolerance built-in processing| ✅ Built in alarm logic| ⚠️ Manual IF – # 3000 required|
|Measuring with a knife gauge| ❌ No macros, dependent on G37| ✅ Special P937x Macro|
|Difficulty in programming | Low (intuitive parameters, cohesive functions) | Medium (requires understanding of A/E systems and manual management of results)|

###Scenario 2: Mitsubishi Meldas M80 System

####Scene features

The Mitsubishi M80/M800 series is a high-end CNC system launched by Mitsubishi Electric, widely used in the Asian market, especially in machining centers in Japan and China. Unlike FANUC, Mitsubishi’s macro program syntax and variable system are basically compatible with FANUC Custom Macro B, but there are slight differences.

####Compatibility status

|System | Inspection Plus | MIDA|
|:—–|:—————|:—–|
| Mitsubishi M80/M800 | ⚠️ Special version required (A-4012-2106)| ⚠️ Portable (requires adjustment # 110=4)|

**Inspection Plus for Mitsubishi * *: Renishaw provides a software version specifically designed for Mitsubishi systems, product code A-4012-2106. This version is recompiled under the macro syntax of the Mitsubishi system, with macro numbers and parameter conventions consistent with the FANUC version, but the underlying skip instruction interface has been adapted for Mitsubishi’s G31 implementation.

**MIDA on Mitsubishi * *: MIDA supports porting to Mitsubishi systems by adjusting system configuration parameter # 110. Set # 110 to 4 (corresponding to Mitsubishi CNC type), and the MIDA macro program will automatically adapt to Mitsubishi’s macro syntax differences. In actual deployment, attention should be paid to:
1. The nested depth of macro calls in Mitsubishi system may be lower than FANUC, which needs to be confirmed first
2. Mitsubishi’s G31 jump signal processing timing is slightly different from FANUC, and it is recommended to use standard ring gauges for verification
3. The range of common variables in Mitsubishi systems may vary, and the availability of # 500~# 999 needs to be checked

####Configuration Plan A: Inspection Plus Special Edition

Suitable for Mitsubishi system machine tools that have selected Renishaw probe hardware.

**Configuration steps * *:
1. Order Mitsubishi Special Edition (product code A-4012-2106) from Renishaw agent
2. Confirm that the Mitsubishi system has enabled the macro program function (bit setting for parameter # 1037)
3. Import macro program files (via CF card or RS232)
4. Verify whether the G31 jump signal responds normally

**Programming precautions * *:
-The macro number is consistent with the FANUC version (O98xx/O97xx)
-Same syntax for parameter passing (G65 P9xxx address parameter)
-G31 skip command compatible, but response time may vary slightly
-Suggest adding a G04 pause before the measurement cycle to wait for the signal to stabilize (at least 0.5s)

####Configuration Plan B: MIGA Migration Plan

Suitable for Mitsubishi system machine tools that have already used the Marposs probe system.

**Configuration steps * *:
1. Set # 110 to 4 in O9366 (Mitsubishi CNC type)
2. Check the macro call nesting depth parameter (parameter # 1128) of the Mitsubishi system to ensure it is ≥ 4
3. Confirm that the public variables # 100~# 150 and # 500 areas are not occupied by other system functions
4. Import MIDA macro program files
5. Use standard environmental gauges to perform O9301 calibration cycle and verify measurement accuracy

**Transplant risk * *:
-Some special functions of Mitsubishi systems, such as high-speed step skipping HSK, may not fully match the touch logic of MIDA
-Partial alarm logic (# 3000) of MIDA may behave differently on Mitsubishi systems
-It is recommended to complete a complete accuracy verification test before formal production

####Scenario 2 selection logic

|Condition | Recommended solution | Reason|
|:—–|:———|:—–|
|Renishaw probe hardware | Inspection Plus dedicated version | native support, no need for debugging configuration|
|We already have Marposs probe hardware (including E32U) | MIDA port solution | Adjust # 110=4, and the macro system is complete|
|Renishaw probe+Marposs tool setter | Inspection Plus+MIDA | configured separately, pay attention to # 500 variable coordination|
|Mitsubishi old systems (M70 and earlier) | Inspection Plus dedicated version | Insufficient validation of MIDA port on old Mitsubishi systems|

###Scenario 3: Mazak MAZAK System

####Scene features

Mazak is the largest machine tool manufacturer in Japan, and its independently developed MAZATROL control system includes the Matrix series and Smooth series. The Mazak system supports FANUC compatible macro syntax in standard G-code mode (EIA/ISO mode), but the level of support varies in Mazatlol dialogue mode.

####Compatibility status

|System | Inspection Plus | MIDA|
|:—–|:—————|:—–|
| Mazak(Matrix/Smooth) | ✅ There is a dedicated version available| ⚠️ Limited support|

**Inspection Plus for Mazak * *: Renishaw offers a version specifically designed for the Mazak system. This version runs in EIA/ISO mode of Mazak, utilizing the Mazak system and FANUC compatible macro program engine. It should be noted that:
1. Must run in EIA/ISO mode (does not support MAZATROL dialogue mode)
2. The G31 jump function of the Mazak system is compatible with standard FANUC
3. The coordinate system bias variables (# 5221~# 5226) of the Mazak system are consistent with FANUC
4. It is recommended to use Inspection Plus Standard version on the Mazak system, and high-level functions need to be verified

**MIDA on Mazak * *: Marposs has limited official support for the Mazak system. Although the macro syntax of MIDA is based on standard FANUC macro B compatibility, the following issues may be encountered in actual deployment:
1. The access permissions of the Mazak system to the O93xx interval may differ from the standard FANUC
2. The signal mapping between E32U interface module and Mazak PMC may require customization
3. MIDA’s # 3000 alarm behavior may exhibit inconsistent behavior on the Mazak system
4. Some advanced features (such as O9098 C-axis search) may not have corresponding functions on the Mazak system

####Configuration Plan A: Inspection Plus Special Edition

Standard configuration scheme applicable to Mazak machine tools.

**Configuration steps * *:
1. Confirm that the machine tool is running in EIA/ISO mode
2. Order Mazak exclusive version from Renishaw
3. Check the available space in the macro program storage area of the MAZATROL system (Smooth series usually provides 256KB~1MB)
4. Import macro program files
5. Verify G31 skip function (execute ‘G31 G91 X10. F100′ in MDI mode)

**Programming Specification * *:
-When programming on the Mazak system, it is recommended to explicitly declare the EIA mode at the beginning of the program:
“`gcode
G60 (switch to EIA/ISO mode)
“`
-After the measurement cycle ends, to return to MAZATROL mode, use:
“`gcode
G61 (switch back to MAZATROL mode)
“`

**Known limitations * *:
-Some early versions of the Matrix series had macro call nesting depths of only 3 layers, so when using Inspection Plus, it is necessary to avoid deep nesting
-The Smooth series is fully compatible with FANUC Macro B, without this limitation
-The parameter protection mechanism of the Mazak system may prevent the writing of O9000~O9999, which needs to be lifted through the MAZATROL management permission

####Configuration Plan B: IDA Limited Support Plan

Suitable for Mazak machine tools that have already used the Marposs probe system, but compatibility risks need to be evaluated.

**Risk control measures * *:
1. Confirm the support status for specific Mazak models with Marposs technical support before purchasing
2. It is recommended to use the MIDA BASIC version (with minimal functionality and lowest compatibility risk)
3. Complete calibration and measurement verification using standard environmental gauges before deployment
4. Prepare a rollback plan: If MIDA fails to function properly, switch to Inspection Plus

**Alternative solution * *: If MIDA has insufficient compatibility on the Mazak system, it can be considered to convert the Marposs probe signal into a standard SKIP signal through E32U and use it in conjunction with the Inspection Plus macro program. But this requires the underlying adaptation of the probe signal and macro program, and it is not recommended for non professional users to try it themselves.

####Scenario 3 Selection Logic

|Condition | Recommended solution | Reason|
|:—–|:———|:—–|
|Mazak Smooth Series | Inspection Plus Special Edition | Mature Solution, Compatibility Verified|
|Mazak Matrix Series | Inspection Plus Standard | Nesting depth limit, it is not recommended to use advanced features such as Plus|
|Must use MIDA (with existing investment) | MIDA BASIC+pre validation | Complete compatibility validation before putting into production|
|Need for tool calibration function | Inspection Plus+G37 | Mazak system supports G37 well|

###Scenario 4: General CNC system (customized debugging)

####Scene features

In addition to the three mainstream systems of FANUC, Mitsubishi, and Mazak, Inspection Plus and MIDA also support (or have limited support for) the following control systems:

|Control System | Inspection Plus | MIDA|
|:———|:—————|:—–|
| Haas | ✅ There is a dedicated version available| ⚠️ Need to change # 110=2 and adjust parameters|
| Okuma(OSP) | ✅ There is a dedicated version available| ⚠️ Specialized transplantation is required|
| Siemens 840D/828D | ⚠️ Need to convert to SPF format| ✅ There is a native Siemens version available|
| Heidenhain i530/620/640 | ⚠️ Special edition required| ❌ No official support|

This scenario covers the customized debugging plan for the above system, as well as the general strategy for renovating and upgrading old machine tools.

####Subsystem: Haas

**Haas+Inspection Plus * *: Renishaw offers a Haas specific version. The macro program syntax of Haas system is highly compatible with FANUC, and the macro number system and parameter conventions are consistent with FANUC version after installation. It should be noted that the Haas system has a higher default macro protection level, and the protection for O9000~O9999 needs to be removed in the Setting.

**Haas+MIDA * *: MIDA supports adapting Haas systems by adjusting # 110=2 (Haas CNC type). However, there are differences between the G31 skip function and variable system of Haas system and FANUC. In actual deployment, attention should be paid to:
1. The range of common variables in Haas is different from FANUC (# 500~# 999 are available, but some variables are occupied by the Haas system)
2. Haas’ macro call nesting depth is limited (usually 4 layers)
3. It is necessary to confirm whether the G31 of the Haas system supports high-speed skipping

####Subsystem: Okuma

**Okuma+Inspection Plus * *: Renishaw offers Okuma specific version (OSP version). Okuma’s OSP control system uses a unique variable system (V variables instead of # variables), and the macro program syntax differs significantly from FANUC. Renishaw’s dedicated version has completed syntax conversion and variable mapping, and users do not need to adapt it themselves.

**Okuma+MIDA * *: MIDA does not have a standard supported version on the Okuma system and requires dedicated porting. The cost of transplantation is relatively high, and it is recommended to consider it only when there is already a significant investment from Marposs. The alternative is to use Inspection Plus for Okuma.

####Subsystem: Siemens

**Siemens+MIDA (with native version) * *: Marposs provides the native Siemens version (840D/828D). This version uses Siemens’ SPF subroutine format, and the macro calling method is different from FANUC’s G65:

“`gcode
Siemens format – MIDA example
EXTERN “MIDA_P9312.SPF”(A1, D50, E5, I0, J0, F1000, R50)
CALL “MIDA_P9312” (1, 50.0, 5.0, 0, 0, 1000, 50.0)
“`

**Siemens+Inspection Plus * *: Inspection Plus needs to be converted to SPF format to run on Siemens systems, and the adapted version needs to be obtained through Renishaw technical support.

####Subsystem: Heidenhain

**Heidenhain+Inspection Plus * *: Renishaw offers a Heidenhain specific version, using Heidenhain’s CYCL DEF and TOOL CALL syntax. The macro function is implemented through Heidenhain’s Q parameter system after installation.

**Heidenhain+MIDA * *: Marposs does not provide official support for Heidenhain. If you need to use Marposs probes on the Heidenhain system, it is recommended to use Heidenhain’s universal probe interface (Touch Probe Function) in conjunction with third-party macro programs to achieve basic measurement functions.

####Renovation and Upgrade Plan for Old Machine Tools

Applicable to FANUC 18i/16i system refurbishment projects around 2008 or earlier.

**Typical configuration * *: FANUC 18i-MB+used Renishaw MP3+added MIDA tool setter

**Recommended solution * *: Inspection Plus Standard+MIDA BASIC combination

|Inspection Items | Instructions | Inspection Methods|
|:———|:—–|:———|
|Is Custom Macro B enabled? | Without macro B support, both systems cannot run. | Check if parameter # 6000 is set to 1|
|O9000~O9999 Available Quantity | Requires at least 40 free O-numbers | Check the program storage area list|
|Available macro program storage space | Requires at least 40KB of available space | SYSTEM → Program storage area utilization|
|G31 step skipping function | Bottom level support for probe touch testing | G31 G91 X10. F100 executed in MDI mode|
|# 500~# 999 Common Variables | Requires at least 100 available variables | Check variable list|
|G37 automatic tool alignment function | When using G37 tool alignment, it is necessary to check whether parameter # 6250 exists|
|Parameter # 3202 NEP bit | Used to protect macro programs from accidental deletion | Check the NEP bit setting of # 3202|
|Spindle orientation function | Measurement head needs to be oriented after tool change | M19 command executed normally|

**Cost benefit analysis * *:
-Probe system investment (Inspection Plus Standard+Renishaw OMP40-2): Approximately ¥ 35000
-Tool presetter input (MIDA BASIC+T25 tool presetter): Approximately ¥ 20000
-Installation and debugging fee: approximately ¥ 8000~¥ 15000
-* * Total investment * *: Approximately ¥ 63000~¥ 70000

**Expected return * *:
-Reduce manual tool alignment time: Save approximately 30-60 minutes per shift
-Reduce first article scrap rate: expected to decrease from 3% to 5% to below 0.5%
-Improve processing consistency: reduce batch size deviation standard deviation by more than 50%
-* * Investment payback period * *: usually 6-12 months (depending on production batch)

####General debugging process

Regardless of which system is chosen, the following debugging process applies to all control systems:

1. * * Preloading Configuration * *: Uniformly load the configuration at the beginning of the program to avoid repeated loading in each loop
2. * * From Simple to Complex * *: Start testing with a single macro (such as secure positioning) and confirm before adding measurement macros
3. * * Verify each step with MDI * *: MDI mode is the safest and stops immediately after the instruction is executed
4. * * Record benchmark value * *: Record the current coordinate system offset (# 5221~# 5226) and tool compensation value before executing the measurement program
5. * * Simulate output instead of actual writing * *: Do not enable automatic coordinate system update during the first debugging, and only enable it after confirming that the measurement results are reasonable
6. * * Establish error recovery mechanism * *: Add status check logic after critical steps

####Common problems and troubleshooting

**The probe does not trigger * *:

|Possible reasons | Inspection Plus | MIDA|
|:———|:—————|:—–|
|Probe not enabled | Check M code (M50/M51, etc.) | Check if C parameter (# 3) correctly specifies probe number|
|SKIP signal not arrived | Check parameter # 6200 setting | Check E32U indicator light status and connection|
|Low battery level | OMP40-2 battery indicator light check | MIDA probe battery status diagnosed through E32U|
|Safe distance too small | Reduce # 506 (Stand off) | Increase E parameter (approach distance)|

**Systematic measurement values that are either too large or too small * *:
1. Calibration failure – failure to recalibrate after probe wear or collision
2. Lack of temperature compensation – When the temperature change in the workshop exceeds ± 5 ° C, consideration should be given
3. Measuring needle bending – check the jumping of the measuring needle before use, if it exceeds 0.01mm, it needs to be replaced
4. Parameter Error – Check if the nominal diameter D parameter is correct (especially when using both imperial and metric systems)

**The measurement value fluctuates greatly and has poor repeatability * *:
1. Wear of probe trigger mechanism – Renishaw OMP series has a trigger life of about 1 million times
2. Cutting fluid interference – rinse the contact surface and retry
3. High feed rate – it is recommended that the F value does not exceed 1000mm/min to achieve a repeatability accuracy of ± 2 μ m
4. Excessive vibration – wait for 0.5~1 second after the spindle is oriented before starting the touch test

**Alarm comparison * *:

|Alarm Number Range | Inspection Plus | MIDA|
|:———-|:—————|:—–|
|P/S 100~199 | Out of tolerance alarm | Out of tolerance or system configuration error|
|P/S 200~299 | Probe not triggered | Probe communication failure|
|P/S 300~399 | Safety positioning collision warning | Movement range exceeding limit (# 103 restriction)|
|P/S 400~499 | Invalid calibration data | Abnormal calibration parameters|

**Troubleshooting specific to mixed use systems * *:
1. * * Check # 500 series variable * *: Inspection Plus occupies # 500~# 505, check if the # 137 offset of MIDA has been set
2. * * Check variables # 100~# 150 * *: Confirm that no other program has accidentally modified the configuration parameters of MIDA
3. * * Check the status of modal G code * *: Is there any residual G91 incremental mode after the end of the MADA cycle
4. * * Check macro call stack * *: Confirm that there are no unfinished macro call residues

##4、 Selection reference

###4.1 Performance and Accuracy Comparison

####Touch response speed

|Factors | Inspection Plus | MIDA|
|:—–|:—————|:—–|
|Touch signal path | Probe → OMI-2 → CNC I/O → Macroprogram | Probe → E32U → CNC I/O → Macroprogram|
|Typical response delay | 2-4 ms | 3-5 ms (including E32U processing time)|
|Suggested maximum touch feed | F1000 (drilling/milling cutter measurement) | F800 (contact type tool setter measurement)|
|Theoretical resolution at F3000 |~0.2 mm |~0.25 mm|

The difference in touch response speed between the two systems can be completely ignored in most workshop applications. The E32U module of MIDA adds an additional layer of signal conversion when processing contact signals, theoretically increasing the delay by about 1-2ms. However, with F500 feed, the error is only about 0.01-0.02mm, which is acceptable for most machining tolerances.

####Comparison of Repetitive Accuracy

Under ideal conditions (constant temperature of 20 ° C, standard environmental specifications, clean environment):

|Measurement Type | Inspection Plus | MIDA|
|:———|:—————|:—–|
|Inner hole diameter (Ø 50 ring gauge, F500) | ± 1.5 μ m | ± 2.0 μ m|
|Outer diameter (Ø 50 standard rod, F500) | ± 1.5 μ m | ± 2.0 μ m|
|Single sided position (F500) | ± 1.0 μ m | ± 1.5 μ m|
|Tool length (F500, contact type tool setter) | ± 2.0 μ m (G37) | ± 2.0 μ m (P9377)|

The above data is the factory nominal value, and there may be differences in actual application due to the influence of machine tool accuracy, environmental temperature, and operating specifications.

####Comparison of cycle time (one Ø 50mm inner hole 4-point touch test)

|Inspection Plus | MIDA|
|:—–|:—————|:—–|
|Safe positioning (Z100 → Z-5) |~2 s |~2 s|
|4-point touch test (F1000) |~4 s |~4 s|
|Internal calculation |<0.1 s |<0.1 s|
|Coordinate system update |1 million cycles | MIDA contact:>800000 cycles|
|Typical lifespan of tool presetter | Dependent on G37 sensor | T25:>500000 touch tests|
|Suggested calibration validity period | Once a week (8-hour x 5-day work week) | Once a week (or after each tool batch change)|
|Firmware upgrade method | via Renishaw Field Service software | via Marposs E32U management software|
|Technical support response | Through local agents (domestic 24-48 hours) | Through Marposs China branch (direct technical support)|

###4.2 Version Selection Decision Tree

The following decision path helps quickly determine the appropriate software version:

“`
Do you need 4-axis/tilt/vector measurements?
∝ – Required → Inspection Plus Plus/MIDA PREMIUM or ULTRAMATE
└ – No need → Continue judging

Do we need non concentric tool measurements or integrity checks?
∝ – Required → MIDA (PREMIUM/MULTIMATE tool setter version must be selected)
└ – No need → Continue judging

Do you need SPC data output/automatic reporting?
∝ – Required → Inspection Plus Plus Plus (P9835)/MIDA ULTRAMATE (O916x)
└ – No need → Continue judging

Do I need to measure with a C-axis/Y-axis lathe?
∝ – Required → MIDA LATHE ULTRAMATE
└ – No need → Inspection Plus Standard/MIDA BASIC (choose one, depending on the probe brand)
“`

###4.3 Scenario Decision Matrix

|Requirement scenario | Recommended solution | Reason|
|:———|:———|:—–|
|Only for workpiece measurement, three-axis milling machine | Inspection Plus Standard | controllable cost, simple programming, intuitive parameters|
|Workpiece measurement+tool setter, three-axis milling machine | Inspection Plus+MIDA BASIC | each taking advantage, total cost controllable|
|Workpiece measurement+tool setter, five axis machining | Inspection Plus Plus+MIDA PREMIUM | Tilt measurement+tool integrity|
|Car milling composite, full functional requirements | MIDA LATHE ULTRAMATE | The best native support for lathes|
|Fully automated production line with multiple probes | MIDA PREMIUM/MULTIMATE | E32U architecture with good scalability|
|Renovation of old machine tools | Inspection Plus+MIDA BASIC | Good compatibility and high cost-effectiveness|
|Must use Siemens system | MIDA (native Siemens version) | native support, no format conversion required|
|Must use Heidenhain system | Inspection Plus dedicated version | MIDA without official support|

###4.4 Comprehensive Cost Performance Analysis

**Initial procurement cost * *:
-Inspection Plus Standard+Renishaw OMP40-2+OMI-2 Receiver: Approximately ¥ 30000~¥ 50000
-MIDA Part Check BASIC+MIDA probe+E32U: Approximately ¥ 35000~¥ 55000
-MIDA Tool Check BASIC (including P9376/P9377): Approximately ¥ 15000~¥ 25000
-Inspection Plus tool alignment does not require additional macro program purchase costs (but requires the machine tool to have G37 function installed)

**Long term usage cost * *:
-The macro program upgrade cost of Inspection Plus is relatively low (Standard → Plus option)
-The cost of upgrading the third level version of MIDA (BASIC → PREMIUM → ULTRAMATE) increases step by step
-For users who need to use both workpiece measurement and tool alignment simultaneously, MIDA’s integrated solution may have an overall cost advantage

**Hidden cost * *:
-Training cost: Inspection Plus programming is concise, and the learning curve is relatively smooth
-Fault shutdown cost: MIDA’s E32U fault diagnosis is more intuitive, reducing troubleshooting time
-Expansion cost: When adding laser alignment or multi probe systems in the future, MIDA’s E32U architecture has better scalability

###4.5 Summary of Selection Suggestions

-* * Renishaw probe used+no need for automatic tool alignment * * → Inspection Plus is sufficient, programming is simple, and parameters are intuitive
-* * Marposs probe system (including E32U) has been used * * → MIDA is the best match, integrating tool alignment and workpiece measurement
-Renishaw probe+Marposs tool setter mixed * * → The macro numbers of the two do not conflict with each other and can coexist, but attention should be paid to # 500 variable coordination
-* * Need for powerful tool alignment management (non concentric tool, integrity check, thermal drift) * * → MIDA tool alignment system is more complete
-* * Requires multi axis turning center C/Y-axis measurement * * → MIDA ULTRAMATE’s lathe workpiece measurement version has richer functions
-* * Pursuing concise programming and low learning cost * * → Inspection Plus is easier to get started with
-Renovation and upgrade of old machine tools → Inspection Plus Standard+MIDA BASIC combination offers the best cost-effectiveness

###4.6 Final Recommendation

>The two are not in a zero sum competitive relationship. In actual production scenarios, Inspection Plus excels in workpiece alignment and size detection, while MIDA excels in tool alignment management and tool monitoring. On a machining center equipped with both Renishaw probe and Marposs tool setter, two sets of macro programs can coexist peacefully and complement each other. Understanding their differences – numbering system, parameter conventions, variable occupancy – is the first step in efficient programming.

In practical applications, we suggest:
1. * * Don’t rush to choose either * * – Choose the most suitable software package based on actual needs, and mix it up if necessary
2. * * Establish a variable mapping table * * – In a multi system coexistence environment, clearly record the variable occupancy of each software package
3. * * Training comes first * * – Ensure that both programmers and operators understand the differences between the two systems
4. * * Testing verification cannot be omitted * * – After each hardware replacement or software upgrade, use standard environmental gauges/sample bars for verification

###4.7 Future Outlook

With the transformation of manufacturing towards Industry 4.0 and intelligent manufacturing, in machine measurement technology is also rapidly evolving:

1. The popularization of graphical programming: Renishaw’s Set and Inspect and Marposs’ Ready2Probe are lowering the threshold for macro programming
2. * * Adaptive machining closed-loop * *: Macro program measurement results are directly fed back to the CAM system, automatically adjusting subsequent tool paths
3. Multi sensor Fusion: The E32U architecture of MADA has a natural advantage in multi probe collaboration
4. * * Digital Twin Integration * *: Real time synchronization of measurement data to the digital twin model of the machine tool

No matter how technology evolves, the ability to understand the underlying logic of macro programs – including G65 call mechanisms, parameter passing rules, and variable allocation strategies – remains the core competitiveness of process engineers.

###4.8 Safety Reminders for Use

When using macro programs for in machine measurements, always remember three “don’ts”:

1. Do not use the G00 mobile probe directly without verifying the safety positioning macro – safety positioning macro is the last line of defense against collisions.
2. Do not start a new measurement without clearing the previous measurement result – confirm that the # 500 series variables have been read or reset.
3. Do not mix two systems without confirming the variable mapping table – variable conflicts are the most common and difficult problem to troubleshoot in mixed use scenarios.

**Safety first, understanding first, and verification throughout * * – this is the best rule for making good use of onboard measurement macro programs. Whether you choose Inspection Plus or MIDA for your workshop, or a combination of both, mastering the core differences and practical skills described in this article will enable you to navigate between different systems with ease. The future of CNC machining is automation and intelligence, and macro programs are the fundamental language to achieve this goal.

>* * Reference materials**
> – Renishaw Inspection Plus Programming Manual (H-2000-6222)
> – Renishaw Probe Software Programs and Features (H-2000-2298)
> – Marposs MIDA D310A1AG07 (Tool Check on Fanuc)
> – Marposs MIDA D310A2AG16 (Part Inspection on Fanuc)
> – Marposs MIDA D310A4AG05 / D310A5AG13 (Lathe versions)
> – Marposs D6C05500G0 (MIDA Software Levels)
>Marpos MIDA Macro Reference: O9301- Standard Six sided Calibration Cycle (BASIC Level Workpiece Measurement Calibration Core Macro)
>Marpos MIDA Macro Reference: O9302- Oblique calibration cycle (Premium/Ultimate level vector gauge calibration)
>Marpos MIDA Macro Reference: O9303- Three point diameter calibration cycle (Premium/Ultimate ball diameter calibration)
>Ready2Probe – Marpos graphical programming interface (C092 * 0B00C/C092 * 1B00C)
>FANUC Custom Macro B Programming Manual
>
>This document was written and maintained by the Rex team for the v3.0 scenario decision refactoring version*

**Related Reading**

-[Renishaw Inspection Plus Macro Programming Guide]( https://jcetech.cn/renishaw-inspection-plus-fanuc/ )- Fanuc System Inspection Plus Programming Explanation
-[[Marposs MIDA Programming] FANUC System Tool Alignment and Workpiece Measurement Macro Program]( https://jcetech.cn/marposs-mida-fanuc-programming/ )MIDA System Electrical Interface and Macro Program Guide
-[[Fanuc Article] Fanuc System Probe and Tool Alignment Programming Guide]( https://jcetech.cn/fanuc-probe-programming/ )Fanuc System G31/G37/Macro Program System

**Related Reading**

-[Renishaw Inspection Plus Macro Programming Guide]( https://jcetech.cn/renishaw-inspection-plus-fanuc/ )- Fanuc System Inspection Plus Programming Explanation
-[[Marposs MIDA Programming] FANUC System Tool Alignment and Workpiece Measurement Macro Program]( https://jcetech.cn/marposs-mida-fanuc-programming/ )MIDA System Electrical Interface and Macro Program Guide
-[[Fanuc Article] Fanuc System Probe and Tool Alignment Programming Guide]( https://jcetech.cn/fanuc-probe-programming/ )Fanuc System G31/G37/Macro Program System


Book an Appointment: jcetech.cn/contact
Service Hotline: 157-5780-7400 / 132-2194-1413
Shipping Address: Ningbo Yinzhou R&D Park A2-12B17
Email: jcetech_info@jcetech.cn