This guide explains how to connect a Haas CNC machine to MachineMetrics using a Sealevel digital I/O device when the machine does not support Haas Serial or Haas Next Gen Ethernet data collection.
Haas machines typically connect to MachineMetrics using one of two native methods:
Haas Next Gen Control (Ethernet, Setting 143)
Haas Serial (RS-232 + Moxa)
If neither connection method is supported—commonly due to machine age, missing ports, or unsupported firmware—then I/O is the correct integration method.
Using an I/O connection, MachineMetrics can collect:
Part Count using one of the machine’s auxiliary relays
Utilization using a current transducer (CT) monitoring spindle motor activity
Important Notice — Manufacturer Process
Haas wiring, relay configuration, and spindle drive layouts vary by model and year. This guide describes only the steps required to integrate MachineMetrics hardware. For machine-side wiring details, consult Haas support.
Feature Availability
| Category | Details |
|---|---|
| OEM Manufacturer | Haas Automation |
| Supported Models | Haas mills and lathes with auxiliary relays and accessible spindle motor wiring |
| Integration Method | Modbus (Sealevel analog + digital inputs) |
| MachineMetrics Module | Core Platform + Edge Device |
| Access Level | Manager / Executive / IT Admin |
How It Works
A. Part Count (Auxiliary Relay Output)
Haas machines include auxiliary relays that toggle via M-codes and provide dry contacts with terminals:
COM (Common)
NO (Normally Open)
NC (Normally Closed)
MachineMetrics counts parts by detecting a short ON pulse from one of these relays.
Haas Auxiliary Relay Block
B. Utilization (Current Transducer)
A current transducer clamped around a single spindle motor output conductor produces a voltage proportional to motor load.
MachineMetrics interprets this signal as ACTIVE when spindle current is present and READY when idle.
Spindle Drive Location
Current Transducer Example
How to Add the Machine
A. Prerequisites
MachineMetrics Edge Device
Sealevel eI/O module (170 series recommended)
Current Transducer
24 VDC power supply or PoE (depending on Sealevel model)
Access to the electrical cabinet
Shielded low-voltage wiring (preferred for relay and CT signals)
Ability to modify the part program end sequence
B. Hardware Installation
1. Provide Power to the Sealevel Device
Haas machines do not provide a 24 VDC accessory power output.
Supported options:
External 120 VAC outlet
Haas cabinet GFCI outlet
120 VAC → 24 VDC DIN-rail power supply
PoE (for Sealevel 170POE models)
Example Power Arrangement
2. Wiring the Part Count Signal
Use any unused auxiliary relay.
Recommended (not required):
COM → Sealevel Input Common
NO → Sealevel OI1 (Opto Input 1)
Any OI channel may be used; update the script accordingly.
Add these commands at the end of the part program:
M51;
G04 P0.5;
M61;Use shielded low-voltage wiring to reduce electrical noise.
Relay Pulse Example
3. Install the Current Transducer
Clamp the CT around one spindle motor output conductor.
Remove the CT range jumper if required for low-RPM sensitivity.
Wire the CT output to the Sealevel device:
Recommended (not required):
CT + → AI0
CT – → Analog Ground
Use shielded low-voltage wiring, routed away from VFD cables.
CT Installed on Conductor
C. Add Machine Flow Context
A Haas machine connected through I/O is added to MachineMetrics the same way as any other machine:
Go to Assets → Machines
Select Add Machines
Enter the machine name and assign the correct Edge Device
Add a Modbus data-collection method and configure it using the Sealevel device and adapter script
For full instructions on adding and managing machines, see Managing Machines in MachineMetrics.
D. Configure in MachineMetrics
Enter the Sealevel device’s IP address.
Assign the inputs:
Recommended (but not required):
AI0 → Execution (CT)
OI1 → Part Count (Relay)
Paste and adjust the following Sealevel Modbus adapter script:
version: 2
unit-id: 1
scan-interval: 0.1
registers:
AI0:
address: 0
func: 4
type: int16
coils:
OI1:
address: 1
func: 2
variables:
execution-raw:
- source: AI0
- resample: 0.1
- min-delta: 0.1
execution:
- source: execution-raw > 50
- off-delay: 25
- state:
- ACTIVE: this
- READY: true
part-count-raw:
- source: OI1
part-in:
- source: OI1
- falling-edge
- count
data-items:
- execution-raw
- execution
- part-count-raw
- part-inVerification & Testing
Part Count Test
Run in MDI:
M51;
G04 P0.5;
M61;Confirm that the part count increments.
Utilization Test
Run the spindle at a low RPM.
The machine should show ACTIVE when current is detected.
CT/Execution Example Graph
Troubleshooting
| Symptom | Likely Cause & Resolution |
|---|---|
| No part count | Wrong relay selected, wiring reversed, relay already in use, pulse too short |
| Digital input stuck ON | Electrical noise; add an isolation relay |
| CT reads zero | Wrong conductor, loose wiring, CT jumper installed |
| Execution stuck READY | Threshold too high, noisy signal, CT placement issue |
| No Sealevel data | Power issue, incorrect IP, misassigned channels |
Tips & Best Practices
Use shielded low-voltage wiring for CT and relay signals.
Keep CT wiring separated from motor and VFD cabling.
Document which AI/OI channels are used.
Ensure CT type matches the spindle motor (AC vs DC).
Use the Haas relay for part counting whenever possible; proximity sensors should only be used if no relay output exists.
Comments
0 comments
Please sign in to leave a comment.