FOCAS Connectivity Guide
- Overview
- Compatible Machines
- Prerequisites
- Physical Connection
- Network Configuration on the Control
- Adding the Machine in MachineMetrics
- Configuring Data Collection
- Part Counting Methods
- Adapter Script Configuration
- OEM-Specific Notes
- Parameter Management
- Troubleshooting
- Best Practices
- Getting Help
Overview

FANUC CNC control panel. FANUC controls use the FOCAS protocol for direct Ethernet connectivity to MachineMetrics, providing real-time machine data including status, programs, tools, and production information.
What is FANUC FOCAS?
FOCAS (FANUC Open CNC API Specification) is a set of library files that enable direct access to nearly all information inside a FANUC CNC control. MachineMetrics uses these libraries to retrieve data from the control via Ethernet, providing comprehensive real-time visibility into machine status, production metrics, and diagnostic information.
Key Benefits:
- Direct, high-speed data access
- No additional hardware adapters required
- Rich data set including alarms, diagnostics, and program information
- Widely supported across FANUC control generations
- Reliable and proven technology
Why FOCAS is Preferred
When a machine is equipped with a modern, FOCAS-enabled FANUC control, it is MachineMetrics' preferred method for data collection because:
- Simple Setup: Often requires only an Ethernet cable
- Comprehensive Data: Access to status, alarms, programs, cycles, and more
- No Additional Hardware: No serial converters or I/O modules needed
- Fast Deployment: Can typically connect in 15-30 minutes
- Reliable: Direct connection to control with minimal points of failure
Who This Guide is For
This guide is for:
- Manufacturing engineers connecting FANUC-controlled equipment
- Maintenance staff configuring machine connectivity
- IT personnel supporting MachineMetrics deployment
- Anyone responsible for connecting machines with FANUC controls
Compatible Machines
FOCAS-Enabled Controls
FANUC controls that are approximately 10-15 years old or newer typically support FOCAS.
Controls with FOCAS by default:
- 0i-D/F series
- 16i-B / 18i-B series
- 30i / 31i / 32i / 35i series
FANUC Control Compatibility Table:
| Does NOT have Ethernet/FOCAS | Could have Ethernet (Check) | Has Ethernet as Standard |
|---|---|---|
| O Series | 0i-C* | 0i-D/F |
| 3 / 6 Series | 21i-B* | 16i / 18i B |
| 16 / 15 / 18 / 21 (non-i) | 15i-A/B | 30/31/32/35i Series |
| 16i / 18i / 21i A* |
* Can be upgraded by FANUC to include FOCAS
"i-Series" Designation: Controls with an "i" in the model number (e.g., 0i, 16i, 18i, 31i) may support FOCAS. Most i-Series controls that don't include FOCAS can have it added as an option by FANUC.
Machine Tool Builders Using FANUC
FANUC controls are used worldwide by many machine tool manufacturers. Common brands using FANUC controls include:
- Tsugami
- Citizen / Cincom
- STAR
- Doosan
- Matsuura
- Makino
- DMG MORI / Mori Seiki
- Amada
- FANUC Roboshot (injection molding machines)
- Okuma (some models)
- Many others
How to Check if Your Control Supports FOCAS
Follow these steps on the machine control to verify FOCAS capability:
Step 1: Access System Menu
- Press the SYSTEM hard key on the control panel
- Scroll using the right arrow soft key until you see ETHPRM, EMBED PORT, EMBDD, or ETHER-BOARD
Step 2: Check for Embedded Ethernet Settings
- If you see ETHPRM, EMBDD (embedded), EMBED PORT (embedded port), or ETHER BOARD, your control has embedded Ethernet and likely supports FOCAS
- If you don't see these options, your control may not have embedded Ethernet/FOCAS capability
For 16i/18i/21i and 160i/180i/210i Series (B-models): These controls (16i-B, 18i-B, 21i-B, 160i-B, 180i-B, 210i-B, 160is-B, 180is-B, 210is-B) may have embedded Ethernet as an option. Look for:
- EMBDD or EMBED PORT menu when pressing SYSTEM and scrolling through soft keys
- If these menus don't appear, the control may not have the embedded Ethernet option installed
- These controls can be upgraded by FANUC to include embedded Ethernet/FOCAS if not currently available
Step 3: Verify FOCAS Settings
- Select the Ethernet/Embedded Port menu (EMBDD or EMBED PORT)
- Look for FOCAS 2 and COMMON settings
- If these appear, FOCAS is available
Alternative for Windows-Based Controls:
- Some controls have a Windows backend
- Search for the "CNC Screen Display" program
- Access embedded port settings through this program
Still Unsure?
- Contact your machine tool builder with control model and serial number
- Contact MachineMetrics support with control information
- A MachineMetrics representative can typically confirm FOCAS capability with the control model and year of manufacture
Prerequisites
Before connecting your FANUC machine, ensure you have:
Hardware:
- FANUC-controlled machine with FOCAS capability
- MachineMetrics Edge device (deployed and activated)
- Ethernet cable (CAT5/CAT6)
- Keyboard, monitor, mouse (for control configuration)
Network:
- IP address for the machine (static or DHCP)
- Network access between machine and Edge device
- Subnet and gateway information (if static IP)
Access:
- Physical access to machine control and electrical cabinet
- Permission to modify machine network settings
- Parameter write access (if configuring part counting or advanced features)
Information:
- Machine make and model
- Control model and version
- Current network configuration (if any)
Physical Connection
Finding the Embedded Ethernet Port
The FANUC embedded Ethernet port (labeled CD38A) is typically located in one of two places:
Location 1: Behind the HMI (Control Cabinet)
- Open the control cabinet door
- Look behind the operator screen/display
- Port is often on the back of the control unit
- May be labeled CD38A or EMBEDDED PORT
Location 2: On the NCU Board (Main Electrical Cabinet)
- Open the main electrical cabinet
- Locate the yellow FANUC NCU (CNC Unit)
- Port is typically on the NCU board
- Look for CD38A label
Port Identification:
- Standard RJ45 Ethernet port
- Usually has a green/yellow status LED
- May be recessed or behind a protective cover
Wired Network Connection
For hardwired installations (Edge in server room, Ethernet drops to machines):
- Run Ethernet cable from network switch to machine
- Plug cable into the FANUC embedded port (CD38A)
- Verify LED lights indicate link
- Configure machine IP address (see Network Configuration section)
- Ensure IP is in same subnet as Edge device
Network Requirements:
- Machine and Edge must be on same subnet or have proper routing
- Typical configuration: Edge device connects to network switch, machines connect to same switch
- Bandwidth: Minimal (< 1 Mbps per machine)
Wireless Network Connection
For wireless installations (Edge device in each machine electrical cabinet):
- Mount Edge device in machine's electrical cabinet or HMI enclosure
- Connect WiFi antennas to Edge device
- Mount antennas outside electrical enclosure for best signal
- Connect Ethernet cable from Edge device (outer NIC port) to FANUC embedded port
- Configure machine IP to match Edge device subnet
Key Points:
- Edge device's external Ethernet port connects to FANUC port
- WiFi antennas must be outside metal enclosure
- Machine and Edge communicate over Ethernet, Edge communicates to cloud over WiFi
Sharing the Embedded Port
If the FANUC embedded port is already in use (for DNC, program transfer, or other equipment), you can share the port using an unmanaged Ethernet switch:
Setup:
- Install small unmanaged switch (e.g., Brainbox, Netgear)
- Connect FANUC embedded port to switch
- Connect MachineMetrics Edge/cable to switch
- Connect existing equipment to switch
Important: Use an unmanaged switch only. Managed switches can interfere with communication.
Machine with Internal Network
If the machine already has its own internal network (communicating with peripheral devices, robots, PC front end, or PLC), then you need to use an Edge device to join the machine LAN to the company network.
Setup:
- Connect Edge device to the machine's internal network switch
- The Edge device bridges the machine's LAN to your company network
- Machine, peripherals, and robots remain on their isolated network
- Edge provides secure connection to MachineMetrics cloud
Why this is needed:
- Preserves the machine's isolated network for control devices
- Prevents network conflicts between machine devices and company network
- Edge acts as a secure gateway without disrupting machine operations
Network Configuration on the Control
Accessing Network Settings
Standard Access Path:
- Press SYSTEM hard key
- Press right scroll soft key until you see EMBDD or EMBED PORT
- Select EMBDD or EMBED PORT
- You'll see network configuration fields
Alternative Path (some controls):
- Press SYSTEM hard key
- Navigate to ETHPRM or ETHER-BOARD
- Select to enter settings
For Windows-Based Controls:
- Access Windows backend
- Search for "CNC Screen Display" program
- Access embedded port settings through this interface
Setting IP Address
Step 1: Enter Network Parameters
In the EMBDD or EMBED PORT screen, you'll see fields for:
- IP Address: Machine's IP address
- Subnet Mask: Network subnet (typically 255.255.255.0)
- Gateway: Network gateway (may be optional)
Step 2: Configure IP Settings
For wired connection:
- IP must be in same subnet as Edge device and network
- Example: Machine 192.168.1.100, Edge 192.168.1.50, Subnet 255.255.255.0
For wireless connection:
- IP must match Edge device's external NIC subnet
- Example: Machine 192.168.100.10, Edge NIC 192.168.100.1, Subnet 255.255.255.0
Step 3: Verify Port Selection
- Check COMMON SETTING field
- Should show EMBEDDED (most common) or BOARD
- This indicates which physical port is used for FOCAS
Step 4: Verify Available Device
- Press OPRT soft key
- Ensure "AVAILABLE DEVICE" is set to EMBEDDED PORT (not PCMCIA)
- If set to PCMCIA, press PCMCIA/EMBDD soft key to switch
- Press EXECUTE
Enabling FOCAS Protocol
Step 1: Access FOCAS Settings
- In EMBDD menu, look for FOCAS2 soft key
- If not visible, press PAGE DOWN key
- Select FOCAS2 or FOCAS SETTINGS
Step 2: Configure FOCAS Port
- Set FOCAS TCP port to 8193 (standard)
- Leave UDP blank or at 0
- Set Timeout to 0
- Some controls may show this as "FOCAS PORT" or "TCP PORT"
Step 3: Restart or Reboot
- Look for RESTART soft key
- Select and press EXECUTE
- If not available, power cycle the machine
- This applies the network settings
Verifying Configuration
After restart, verify:
-
Check IP Settings
- Return to EMBDD menu
- Confirm IP address, subnet, gateway are correct
-
Test Network Connectivity
- From Edge device or computer on same network
- Ping the machine's IP address
- Should receive replies
-
Check FOCAS Port
- Verify port 8193 TCP is configured
- Ensure it wasn't changed to another value
If machine doesn't respond to ping:
- Verify physical cable connection
- Check that "AVAILABLE DEVICE" is set to EMBEDDED (not PCMCIA)
- Press OPRT soft key → PCMCIA/EMBDD → EXECUTE
- Reboot machine again
Adding the Machine in MachineMetrics
Once the physical connection and network configuration are complete:
Step 1: Log into MachineMetrics
- Navigate to Assets → Machines
- Click Add Machine
Step 2: Enter Machine Details
- Machine Name: Descriptive name (e.g., "Mill-3-Fanuc")
- Make: Manufacturer (e.g., "Makino")
- Model: Machine model
- Select Edge Device: Choose your Edge from dropdown
Step 3: Configure Adapter
- Adapter Type: Select FANUC FOCAS
- IP Address: Enter the machine's IP address (from control)
- Port: 8193 (default FOCAS port)
- Click Test Connection
Step 4: Verify Connection
- Test should return "Connected" or similar success message
- If test fails, verify IP address and network connectivity
- Click Save when test succeeds
Step 5: Configure Data Collection
- Machine will appear in your Machines list
- Initial data items will be collected automatically
- Proceed to configure part counting and additional data items
Configuring Data Collection
Available Data Items
FANUC FOCAS provides access to a rich set of data:
Status & Mode:
- Machine status (running, idle, stopped, alarm)
- Controller mode (AUTO, MDI, EDIT, etc.)
- Operation mode
- Emergency stop status
Program Information:
- Program number
- Program name
- Active block/line
- Sequence number
Production Metrics:
- Part count (multiple methods)
- Cycle time
- Run time / idle time
- Parts per hour
Machine Parameters:
- Spindle speed (actual and commanded)
- Spindle load
- Feed rate (actual and commanded)
- Feed override percentage
- Rapid override percentage
Axis Information:
- Axis positions (absolute, relative, machine)
- Axis loads
- Axis velocities
Alarms & Warnings:
- Active alarms with codes and messages
- Alarm history
- Warning messages
Tool Data:
- Active tool number
- Tool life data
- Tool offsets
Diagnostics:
- Servo motor temperature
- Spindle temperature
- Pulsecoder temperature
- Many other diagnostic codes (300+)
Custom Data:
- Macro variables (common variables)
- PMC (ladder) variables
- P-codes (tool life management)
- Custom registers
💡 For adapter script examples using macros, PMC, and P-codes, see Adapter Script Configuration section below.
Setting Up Part Counting
Part counting configuration is one of the most important setup steps. See the Part Counting Methods section below for detailed instructions.
Configuring Macro Variables
Macro variables (common variables) can be used to access custom data stored by the machine program.
Step 1: Identify Macro Variable
- Determine which macro variable register contains your data
- Common example: Register 510 for custom part count
Step 2: Edit Machine Configuration
- Go to Assets → Machines
- Select your machine
- Click Data Collection
- Click Edit on the adapter configuration
Step 3: Add Macro Configuration
{
"macros": {
"variable_name": 510
}
}
Replace variable_name with a descriptive name and 510 with your register number.
Step 4: Map the Data
- Go to Data Mapping tab
- Find the new macro variable data item
- Map to appropriate Type and Subtype
- Example: Type = "Part Count", Subtype = "Target"
Multi-Path Macro Configuration:
{
"macros": {
"path1_macro": 101,
"all_paths_macro": { "addr": 500, "path": [-1] },
"specific_paths_macro": { "addr": 501, "path": [1,3] }
}
}
- Path -1 = All paths
- Path [1,3] = Specific paths only
💡 For additional adapter script examples including PMC, P-codes, and tool wear tracking, see Adapter Script Configuration section.
Configuring Diagnostics
FOCAS provides access to hundreds of diagnostic codes for monitoring machine health.
Default Diagnostics (enabled automatically):
- 308: Servo Motor Temperature
- 309: Pulsecoder Temperature
- 403: Spindle Temperature
To add additional diagnostics:
Use descriptive names as keys with diagnostic code numbers as values:
{
"diagnostics": {
"servo_motor_temp": 308,
"pulse_temp": 309,
"sp_temp": 403
}
}
- Use descriptive names for keys (e.g.,
servo_motor_temp,coolant_level) - Set the diagnostic code number as the value
- The default diagnostics (308, 309, 403) are included automatically, but you can configure them explicitly to customize names or add additional codes
Data Mapping:
- Refresh data items list
- Filter for "Diag" prefix or your custom names
- Map each diagnostic to appropriate Component and Type
- Add descriptive display names
- Example: servo_motor_temp → Component "Linear/Z", Type "Sample/Temperature", Name "Z-Axis Servo Temp"
See Adapter Script Configuration section for more details.
Part Counting Methods
Accurate part counting is critical for production tracking. FANUC machines support several methods.
Standard Cycle (M30/M02)
For manually loaded parts with programs ending in M30 or M02:
The machine should count automatically when the program reaches M30 or M02. However, some machine tool builders use custom M-codes.
Step 1: Check Current Configuration
- Press SYSTEM hard key → Parameters
- Navigate to parameter 6700
- Look at bit 0 (PCM - Part Count Method):
- 6700#0 = 0: Count on M02, M30, OR M-code in parameter 6710
- 6700#0 = 1: Count ONLY on M-code in parameter 6710
- Check parameter 6710: Shows which M-code is used to count
Step 2: Choose Configuration
Recommended: Set 6700#0 = 0 (allows M02, M30, or custom M-code)
Step 3: Verify in MachineMetrics
- Configure part count data mapping
- Run test cycle on machine
- Wait 10-30 seconds for data sync
- Check the Timeline and/or Diagnostics view to watch for value changes
- Verify count increments in MachineMetrics
Looping Cycle (M99)
For programs that loop (robot loading, pallet changers, automation):
Programs ending in M99 don't typically reach M30, so they won't count automatically.
Solution 1: Use Machine Tool Builder M-Code
- Add the MTB's custom part count M-code before M99
- Example: If 6710 = 56, add
M56beforeM99
Solution 2: Use Macro Variable #3901
- Add
#3901=#3901+1before M99 - This increments the system part counter
- Requires Macro B option enabled
Where to Add:
... (program code)
M92 (MTB M-code method)
or
#3901=#3901+1 (Macro method)
M99 (loop back)
Custom M-Code Configuration
To change which M-code counts parts:
⚠️ Warning: Only proceed if you have permission and parameter write access enabled.
Step 1: Enable Parameter Write
- See Enabling Parameter Write section
Step 2: Modify Parameters
- Press SYSTEM → Parameters
- Navigate to 6700
- Change bit 0 (PCM):
- Set to 0 for M02/M30/Custom
- Set to 1 for Custom only
- Navigate to 6710
- Enter desired M-code number (e.g., 92 for M92)
- Important: Choose an M-code NOT used by machine functions
- Avoid M98 (subprogram call) and M99 (loop)
Step 3: Reboot Machine
- Power cycle for parameter changes to take effect
Step 4: Test
- Put machine in MDI mode
- Set feed/rapid overrides to zero
- Enter part count command (M30, custom M-code, or #3901=#3901+1)
- Press cycle start
- Check that count in parameter 6711 increments
Before Changing: Always check with your machine manufacturer or FANUC to ensure the M-code isn't already in use by another function.
Testing Part Count
Quick Test Procedure:
-
Set Machine to MDI Mode
- Select MDI on mode selector
-
Safety First
- Set feed override to 0%
- Set rapid override to 0%
- This prevents any motion
-
Clear MDI Buffer
- Clear any existing MDI commands
-
Enter Count Command
- Type your count command:
M30(standard)M92(or your custom M-code)#3901=#3901+1(macro method)
- Type your count command:
-
Execute
- Press CYCLE START
-
Verify Count
- Check system part counter (usually displayed on main screen)
- Or check parameter 6711 (stores part count value)
- Count should increment by 1
-
Verify in MachineMetrics
- Wait 10-30 seconds for data sync
- Check the Timeline and/or Diagnostics view to watch for value changes
- Check machine view in MachineMetrics
- Part count should have incremented
Adapter Script Configuration
Macro Variables
Macro variables provide access to custom data stored in the control.
Common Use Cases:
- Custom part counters
- Process parameters
- Quality measurements
- Tool life tracking
- Automation status
Basic Configuration Example:
{
"macros": {
"custom_part_count": 510,
"tool_life_remaining": 520,
"temperature_setpoint": 530
}
}
With Path Specification:
For multi-path machines or specific path targeting:
{
"macros": {
"X1_Wear_1": 2001,
"X1_Wear_2": {
"addr": 2002,
"path": [1]
},
"X1_Wear_3": {
"addr": 2003,
"path": [1]
}
}
}
Data Mapping: Map each macro to appropriate type:
- Part counts → Part Count / Target or Actual
- Measurements → Sample / (appropriate subtype)
- Status → Event or Condition
PMC (Programmable Machine Control)
PMC allows direct access to PLC inputs and outputs within the FANUC control.
What is PMC?
- PMC is FANUC's built-in PLC functionality
- X-addresses = Inputs (from machine sensors, switches, relays)
- Y-addresses = Outputs (to machine actuators, lights, relays)
- Used for machine logic, interlocks, and automation
Common Use Cases:
- Door interlocks
- Collet open/close status
- Chuck clamp/unclamp status
- Bar feeder status
- Coolant status
- Stack lights
- Key switches
- Air cut status
- One-cycle mode
Configuration Example:
⚠️ IMPORTANT: The addresses below are examples only. PMC addresses vary by machine model and machine tool builder. You must find the correct addresses for your specific machine in the machine manual or PMC ladder diagram.
{
"pmc": {
"X5_0_MAIN_COLLET_OPEN": "X5.0",
"X5_1_MAIN_SP_CLAMP": "X5.1",
"X5_2_MAIN_SP_UNCLAMP": "X5.2",
"X5_3_CUT_OFF_TOOL_OFF": "X5.3",
"X5_4_CUT_OFF_TOOL_ON": "X5.4",
"X9_1_DOOR_INTLOCK_MAIN": "X9.1",
"X7_0_BAR_STOCK_EMPTY": "X7.0",
"X7_3_BAR_FEED_READY": "X7.3",
"X47_6_KEY_SWITCH": "X47.6",
"Y53_5_ONE_CYCLE": "Y53.5",
"Y53_1_AUTO_CUT_OFF": "Y53.1",
"Y53_2_AIR_CUT": "Y53.2",
"Y52_3_MACRO_BUTTON": "Y52.3"
}
}
Finding PMC Addresses:
-
Access PMC Diagnosis
- Press SYSTEM → PMC → DIAGNOS
- Shows real-time X (inputs) and Y (outputs)
-
Identify Address
- Watch PMC screen while activating machine function
- Example: Open door → watch for bit that changes
- Note the address (e.g., X9.1 for door interlock)
-
Name Descriptively
- Use clear, descriptive names
- Include location if multi-spindle (e.g., MAIN, SUB)
- Document what triggers the signal
Data Mapping:
- Binary signals (0 or 1)
- Map to Event type in MachineMetrics
- Use for automation triggers, alerts, or dashboards
P-Codes (Machine Builder Data Table)
P-codes provide access to data stored by machine tool builders in FANUC controls.
What are P-Codes?
- P-codes are a table where machine tool builders store their custom information
- Machine-specific: P-code addresses vary by machine make, model, and control
- Not standardized: Never assume P-code addresses are the same across different FANUC machines
- Used by OEMs to store custom data relevant to their machine design
Common MachineMetrics Use Case: Tool Life Tracking
While P-codes can store any machine builder data, MachineMetrics most commonly uses them to track tool life management (TLM) data.
⚠️ IMPORTANT: P-code addresses for tool life are machine-specific. You must discover the addresses for each machine using the procedure below.
How to Discover P-Code Addresses for Tool Life
Follow these steps to identify which P-code addresses contain tool life data on your specific machine:
Step 1: Enable Parameter Write (PWE)
- See Enabling Parameter Write section for instructions
- Enable PWE to allow parameter changes
Step 2: Set Parameter 9000#1 (NDP) = 1
- Press SYSTEM button
- Navigate to Parameters
- Search for parameter 9000
- Set bit #1 (NDP) = 1
- This enables P-code variable display
Step 3: Access Macro Screen
- Press OFFSET hard key
- Press Macro screen key
- Press EXEC screen key
- You should now see P-code variables
Step 4: Output P-Code Variables to USB
- Press OPRT menu key
- Select Output or Punch
- Set I/O channel:
- 17 for USB
- 4 for Memory Card
- Specify output file name (e.g.,
PCODE.TXT) - Execute output
- P-code variables will be saved to USB/card
Step 5: Restore Settings
- Set parameter 9000#1 back to 0
- Turn off PWE (see Parameter Safety)
Step 6: Take Photo of TLM Screen
- On the CNC control, navigate to the Tool Life Management (TLM) screen
- Take a clear photo showing:
- Tool group numbers
- Tool life preset values
- Tool life count/remaining values
- Note which tools are in use and their current counts
Step 7: Match Values on PC/Mac
- Open the P-code output file from USB on your computer
- Search for the values from the TLM screen photo
- Look for clusters of values that match TLM data
- P-code addresses for related TLM data will be close together
- Document the addresses:
- Which P-codes = Tool Life Preset
- Which P-codes = Tool Life Count
- Which tool groups they correspond to
Example:
If you see on TLM screen:
- Tool Group 1: Preset = 500, Count = 350
- Tool Group 2: Preset = 1000, Count = 750
Search P-code file for 500 and 350 (should be near each other), and 1000 and 750.
You might find:
- P-code 12101 = 500 (Tool 1 Preset)
- P-code 12201 = 350 (Tool 1 Count)
- P-code 12102 = 1000 (Tool 2 Preset)
- P-code 12202 = 750 (Tool 2 Count)
Configuration Example
Once you've identified P-code addresses, configure them in MachineMetrics:
{
"pcodes": {
"TLM_1_PRESET": {
"addr": 12101,
"path": [1]
},
"TLM_1_COUNT": 12201,
"TLM_2_PRESET": 12102,
"TLM_2_COUNT": 12202,
"TLM_3_PRESET": 12103,
"TLM_3_COUNT": 12203,
"TLM_4_PRESET": 12104,
"TLM_4_COUNT": 12204,
"TLM_5_PRESET": 12105,
"TLM_5_COUNT": 12205
}
}
Replace the addresses (12101, 12201, etc.) with the addresses discovered from your specific machine.
Other P-Code Use Cases
Beyond tool life, P-codes may contain:
- Custom part counters
- Machine-specific process parameters
- OEM-specific automation data
- Pallet changer status
- Bar feeder information
- Custom measurements or setpoints
To discover what data is in P-codes:
- Use the same procedure above
- Cross-reference P-code values with machine displays
- Consult machine builder documentation
- Contact machine OEM for P-code map
Data Mapping in MachineMetrics
For Tool Life:
- Preset values → Map to Target or Setpoint
- Count/Remaining values → Map to Actual or Sample
- Can calculate remaining life (Preset - Count)
For Other Data:
- Map to appropriate type based on data purpose
- Use descriptive names in JSON configuration
- Document what each P-code represents
Complete Advanced JSON Example
Here's a comprehensive example combining PMC, P-codes, and macros for a multi-spindle lathe with tool life management:
⚠️ IMPORTANT: These addresses are examples only. PMC addresses, P-codes, and macro numbers vary by machine model and machine tool builder. You must find the correct addresses for your specific machine in the machine manual or PMC ladder diagram.
{
"pmc": {
"X5_0_MAIN_COLLET_OPEN": "X5.0",
"X5_1_MAIN_SP_CLAMP": "X5.1",
"X5_2_MAIN_SP_UNCLAMP": "X5.2",
"X5_3_CUT_OFF_TOOL_OFF": "X5.3",
"X5_4_CUT_OFF_TOOL_ON": "X5.4",
"X9_1_DOOR_INTLOCK_MAIN": "X9.1",
"X7_0_BAR_STOCK_EMPTY": "X7.0",
"X7_3_BAR_FEED_READY": "X7.3",
"X47_6_KEY_SWITCH": "X47.6",
"Y53_5_ONE_CYCLE": "Y53.5",
"Y53_1_AUTO_CUT_OFF": "Y53.1",
"Y53_2_AIR_CUT": "Y53.2",
"Y52_3_MACRO_BUTTON": "Y52.3"
},
"pcodes": {
"TLM_1_PRESET": {
"addr": 12101,
"path": [1]
},
"TLM_1_COUNT": 12201,
"TLM_2_PRESET": 12102,
"TLM_2_COUNT": 12202,
"TLM_3_PRESET": 12103,
"TLM_3_COUNT": 12203,
"TLM_4_PRESET": 12104,
"TLM_4_COUNT": 12204,
"TLM_5_PRESET": 12105,
"TLM_5_COUNT": 12205,
"TLM_6_PRESET": 12106,
"TLM_6_COUNT": 12206,
"TLM_7_PRESET": 12107,
"TLM_7_COUNT": 12207,
"TLM_8_PRESET": 12108,
"TLM_8_COUNT": 12208,
"TLM_9_PRESET": 12109,
"TLM_9_COUNT": 12209,
"TLM_10_PRESET": 12110,
"TLM_10_COUNT": 12210
},
"macros": {
"X1_Wear_1": 2001,
"X1_Wear_2": {
"addr": 2002,
"path": [1]
},
"X1_Wear_3": {
"addr": 2003,
"path": [1]
},
"X1_Wear_4": {
"addr": 2004,
"path": [1]
},
"X1_Wear_5": {
"addr": 2005,
"path": [1]
},
"Z1_Wear_1": {
"addr": 2101,
"path": [1]
},
"Z1_Wear_2": {
"addr": 2102,
"path": [1]
},
"Z1_Wear_3": {
"addr": 2103,
"path": [1]
},
"Z1_Wear_4": {
"addr": 2104,
"path": [1]
},
"Z1_Wear_5": {
"addr": 2105,
"path": [1]
},
"X2_Wear_1": {
"addr": 2001,
"path": [2]
},
"X2_Wear_2": {
"addr": 2002,
"path": [2]
},
"X2_Wear_3": {
"addr": 2003,
"path": [2]
},
"X2_Wear_4": {
"addr": 2004,
"path": [2]
},
"X2_Wear_5": {
"addr": 2005,
"path": [2]
},
"Z2_Wear_1": {
"addr": 2101,
"path": [2]
},
"Z2_Wear_2": {
"addr": 2102,
"path": [2]
},
"Z2_Wear_3": {
"addr": 2103,
"path": [2]
},
"Z2_Wear_4": {
"addr": 2104,
"path": [2]
},
"Z2_Wear_5": {
"addr": 2105,
"path": [2]
}
}
}
This example demonstrates:
- PMC signals for machine status (collet, chuck, bar feeder, doors)
- P-codes for tool life management (10 tool groups)
- Macro variables for tool wear offsets (2 paths, 5 tools per axis)
- Path specification for multi-spindle machines
Configuration Steps:
-
Add JSON to Machine Configuration
- Assets → Machines → Select Machine → Edit
- Data Collection → Adapter Configuration
- Paste JSON into adapter script field
-
Save and Wait for Data Collection
- Save configuration
- Wait 1-2 minutes for data to appear
-
Map Data Items
- Assets → Machines → Data Mapping
- All new data items appear in left column
- Map each to appropriate type:
- PMC signals → Event
- P-code presets → Target
- P-code counts → Actual
- Macro wear values → Sample
-
Verify Data in Diagnostics
- Navigate to machine → Diagnostics tab
- Check that all configured items are reporting
- Verify values match control screen
Multi-Path Machines
Multi-path (multi-channel) machines have multiple independent machining processes.
Configuration:
{
"macros": {
"path1_parts": 501,
"path2_parts": 502,
"all_paths_status": { "addr": 600, "path": [-1] }
}
}
Data Mapping:
- Path 2+ data items will have path number suffixed
- Example:
all_paths_status(path 1),all_paths_status2(path 2)
Components:
- Map data to correct path/spindle
- Path naming may not directly correspond (e.g., A12 in data vs A2 in UI)
- Use domain knowledge to match components correctly
Diagnostics Configuration
Common Diagnostics:
| Code | Description | Type |
|---|---|---|
| 200 | Servo Alarm Status | Bitfield |
| 308 | Servo Motor Temperature | Numeric (°C) |
| 309 | Pulsecoder Temperature | Numeric (°C) |
| 403 | Spindle Temperature | Numeric (°C) |
| 300 | Servo Load | Numeric (%) |
Bitfield Diagnostics:
- Some diagnostics encode multiple values in bits
- MachineMetrics automatically extracts each bit
- Example: Diag200Bit0_X, Diag200Bit1_X, etc.
Diagnostic Key Format:
Diag[Code]_[Axis/Spindle][Path]- Example:
Diag308_Z= Servo temp for Z axis - Example:
Diag403_S2= Spindle temp for spindle 2
Mapping Tips:
- Use descriptive display names
- Map to correct Component/Subcomponent
- Pay attention to multi-path naming differences
- Refer to FANUC manuals for diagnostic code meanings
Tool Offsets
Tool offset configuration allows tracking of tool wear and compensation values.
Configuration in MachineMetrics:
- Edit machine → Data Collection
- Enable tool offset tracking
- Map tool data items
Use Cases:
- Tool wear monitoring
- Predictive tool replacement
- Quality correlation with tool condition
Rapid Dial Address
For tracking feed/rapid override dial position:
Purpose: Display real-time override percentage in dashboards
Finding the Rapid Dial Address:
-
Access PMC Diagnosis
- Press SYSTEM → PMC → DIAGNOS
- This shows I/O monitor with X-addresses (inputs)
-
Search for Override Dial
- Press SEARCH → type
X0→ EXECUTE - Rotate rapid/feed-override dial slowly (0 → 25 → 50 → 75 → 100%)
- Watch for bits that flip when dial moves
- Press SEARCH → type
-
Identify the Address
- Note full address (e.g., X010 or X10)
- Confirm by rotating back and forth
- Only that X-word should toggle with dial
-
Map Each Position
- Record binary pattern for each detent
- Example: 0% = 0000, 25% = 0001, 50% = 0010, etc.
-
Contact MachineMetrics
- Provide X-address and mapping
- We'll configure dashboard to show correct percentage
OEM-Specific Notes
Makino (Pro 6 Control)
Control Type: FANUC-based (Pro 6)
Special Considerations:
- Pro 6 is a customized FANUC interface built on FANUC hardware
- FOCAS setup is similar to standard FANUC, but accessed through different menus
- The FANUC NCU (control unit) is located in the electrical cabinet, not integrated into the machine display
- Configuration requires accessing both the Pro 6 interface and underlying FANUC system
Accessing FANUC Configuration on Pro 6
The Pro 6 interface masks the standard FANUC menus. To configure FOCAS, you need to access the underlying FANUC system:
Method 1: CNC Screen Display Program
- On the Pro 6 control, navigate to the Windows desktop
- Search for "CNC Screen Display" program
- Launch this application to access the standard FANUC interface
- This provides direct access to FANUC menus for configuration

The CNC Screen Display program provides access to standard FANUC configuration menus on Pro 6 controls.
Method 2: Chevron Navigation
Alternatively, you can access FANUC configuration through the Pro 6 interface:
- Press the SYSTEM hard key on the control panel
- Look for chevron icons (>>) in the menu
- Select the chevrons to access underlying FANUC configuration

Chevron icons (>>) in the Pro 6 interface provide access to FANUC configuration menus.
Locating the FANUC NCU
The FANUC NCU (Network Control Unit) is located in the electrical cabinet, not in the machine display housing.

The FANUC NCU in a Makino electrical cabinet. The embedded Ethernet port (CD38A) is located on this unit.
Finding the Embedded Ethernet Port:
- Open the electrical cabinet (requires key/permission)
- Locate the FANUC NCU unit (typically labeled)
- Find the CD38A Ethernet port on the NCU
- This is where you'll connect the Edge device or Ethernet cable
Pro 6 FOCAS Configuration Steps
Once you've accessed the FANUC interface (via CNC Screen Display or chevrons):
Step 1: Configure IP Address
- Navigate to ETHPRM or EMBED PORT menu
- Set IP address, subnet mask, and gateway
- Ensure IP is static or has a DHCP reservation
Step 2: Configure FOCAS Port
- Find FOCAS 2 and COMMON settings
- Set TCP PORT to 8193
- Leave UDP blank or at 0
- Set Timeout to 0
Step 3: Set Available Device
- Navigate to embedded port settings
- Set AVAILABLE DEVICE to EMBEDDED (not PCMCIA)
- This ensures the embedded Ethernet port is active
Step 4: Restart
- Look for RESTART option in menus
- Execute restart to apply network settings
- If restart option not available, power cycle the machine
Verifying Configuration
Check Alarms Screen:
Pro 6 controls have a dedicated diagnostics screen that shows network and FOCAS status:
- Navigate to the Diagnosis menu
- Check for Triggered Alarm tab
- Look for any FOCAS or network-related alarms
- Common alarm: "130197 Spindle Idling Request" - this is normal and can be ignored
- Use the chevrons (>>) to expand alarm details if needed
Test Connection:
- From a computer on the same network, ping the machine IP
- Verify port 8193 is accessible
- In MachineMetrics, add the machine using FOCAS adapter
- Check Timeline and/or Diagnostics for data updates
Common Pro 6 Issues
Cannot Find ETHPRM Menu:
- Use "CNC Screen Display" program to access FANUC interface
- Or look for chevron icons (>>) to access hidden menus
Embedded Port Not Responding:
- Verify "AVAILABLE DEVICE" is set to EMBEDDED
- Check physical connection to CD38A port on NCU in cabinet
- Ensure port 8193 is not blocked by firewall
Alarm 130197 - Spindle Idling Request:
- This alarm appears during configuration but is normal
- It's a warning, not an error
- Can be safely ignored for MachineMetrics connectivity
Pro 6 Interface vs FANUC Interface:
- Pro 6 interface is a custom overlay
- All FANUC functionality is still present underneath
- Use CNC Screen Display for easier access to FANUC menus
Makino-Specific Notes
Part Counting:
- Some Makino machines use proprietary part counting methods
- Check parameter 6710 for custom M-code (if applicable)
- May need to work with Makino service for part count configuration
Custom Parameters:
- Makino may have custom parameter numbers
- Refer to Makino documentation for machine-specific settings
- Contact Makino support if standard FANUC parameters don't appear
DMG MORI / Mori Seiki
Control Types:
- MSX series (FANUC-based)
- CELOS with FANUC backend
Special Considerations:
- CELOS is a Windows-based overlay interface on top of FANUC
- The underlying FANUC control handles FOCAS communication
- May require unlocking parameters through NCSystem
- CELOS interface provides graphical access to FANUC settings
Overview: CELOS with FANUC Backend
DMG MORI's CELOS (Customer Electronic Lean Operating System) is a user-friendly interface built on top of standard FANUC controls. The FANUC control runs in the background and handles all machine control and networking, including FOCAS.
Key Points:
- CELOS is the "front end" - what the operator sees
- FANUC is the "backend" - what controls the machine
- FOCAS configuration is done at the FANUC level
- CELOS provides graphical menus to access FANUC settings
Accessing FANUC Configuration on CELOS
Method 1: Through CELOS Interface (Recommended)
- On the CELOS home screen, navigate to Settings or Machine
- Look for NC System or Controller Settings
- Select Network or Ethernet configuration
- CELOS will present FANUC parameters in a graphical format
Method 2: Direct FANUC Access (If Available)
Some CELOS systems allow direct access to the FANUC interface:
- Look for an NC Screen or FANUC Display option in CELOS
- This switches to the standard FANUC interface
- Use standard FANUC navigation (SYSTEM → ETHPRM)
- Return to CELOS interface when configuration is complete
Method 3: NCSystem (Advanced)
If parameters are locked or hidden:
- Navigate to NCSystem in CELOS
- May require password (contact DMG MORI service)
- Unlock parameters if needed
- Access network and FOCAS settings
- Lock parameters again after configuration
CELOS FOCAS Configuration Steps
Step 1: Configure Network Settings
- In CELOS, navigate to Settings → Machine → Network
- Or look for Controller → Ethernet settings
- Configure:
- IP Address: Set static IP or note DHCP address
- Subnet Mask: Match your network (typically 255.255.255.0)
- Gateway: Your network gateway
- Save network settings
Step 2: Configure FOCAS Settings
- Look for FOCAS or Embedded Port configuration
- Configure:
- TCP Port: 8193 (standard)
- UDP Port: Leave blank or 0
- Timeout: 0
- Available Device: EMBEDDED (not PCMCIA)
- Enable FOCAS if there's an on/off toggle
- Save FOCAS settings
Step 3: Restart Network
- Look for Restart Network or Apply Settings button
- Or navigate to Restart in the CELOS menu
- If no restart option available, power cycle the machine
- Wait for system to fully boot (may take 2-5 minutes)
Finding the Embedded Ethernet Port
The physical FANUC Ethernet port location varies by DMG MORI model:
Common Locations:
- Inside electrical cabinet on FANUC NCU unit
- Behind control panel (some models)
- On side of machine control housing (some models)
- Port labeled CD38A or EMBEDDED PORT
Finding the Port:
- Check machine documentation for "Ethernet port" or "CD38A" location
- Look for FANUC NCU unit in electrical cabinet
- Port typically has multiple pins and is labeled
- May be near other FANUC communication ports
Verifying CELOS Configuration
Check Network Settings:
- In CELOS, return to Settings → Machine → Network
- Verify IP address is displayed and correct
- Check connection status (should show "Connected")
Test Ping:
- From a computer on the same network
- Ping the machine IP address
- Should receive responses
Check FOCAS Port:
- In CELOS diagnostics or maintenance menu
- Look for Network Status or Port Status
- Verify TCP port 8193 is active
- Check for any network-related alarms
Common CELOS/DMG MORI Issues
Cannot Find Network Settings in CELOS:
- Look under Settings, Machine, or Controller menus
- Try System or Maintenance sections
- Contact DMG MORI service for specific menu locations on your CELOS version
Parameters Are Locked:
- May need to access NCSystem to unlock
- Password typically held by DMG MORI service
- Contact DMG MORI support for unlock procedure
CELOS vs FANUC Interface Confusion:
- Remember: CELOS is just a graphical interface
- FANUC control is running underneath
- Configuration applies to FANUC, accessed through CELOS
- If you see standard FANUC menus, that's normal
Network Configuration Not Saving:
- Ensure you select "Save" or "Apply" after changes
- May need to restart network or reboot machine
- Check if parameters need to be unlocked first
Cannot Connect After Configuration:
- Verify physical connection to correct Ethernet port (CD38A)
- Check firewall isn't blocking port 8193
- Ensure "Available Device" is set to EMBEDDED
- Try power cycling the machine completely
MSX-Specific Considerations
For DMG MORI MSX series machines (non-CELOS):
Configuration:
- MSX interface is similar to standard FANUC
- Press SYSTEM hard key
- Navigate to ETHPRM or EMBED PORT
- Follow standard FANUC configuration steps
NCSystem Access:
- May be required to unlock parameters
- Password typically from DMG MORI
- Unlock → Configure → Lock again
Part Counting on DMG MORI
Standard M30 Method:
- Works on most DMG MORI machines
- FOCAS reads parameter 6711 automatically
DMG MORI Custom M-Codes:
- Some models use custom part count M-codes
- Check parameter 6710 for custom M-code number
- Example: If 6710 = 56, add M56 before M30 or M99
Macro Variable Method:
- If custom M-code doesn't work, use macro method
- Add
#3901=#3901+1in program - Requires Macro B option enabled
CELOS Interface Counters:
- CELOS may display its own part counters on screen
- These are separate from FANUC internal counters
- MachineMetrics reads FANUC counter (parameter 6711)
- Ensure FANUC counter is incrementing, not just CELOS display
DMG MORI Support Resources
When to Contact DMG MORI:
- Need NCSystem password
- Cannot find network configuration menus in CELOS
- Unsure of Ethernet port location for your specific model
- Parameters are locked and cannot be changed
What to Provide:
- Machine serial number
- CELOS version (visible in settings)
- FANUC control model and version
- Specific error messages or issues encountered
Amada
Control Type: FANUC-based (various series)
Special Considerations:
- Amada machines often have custom parameter sets
- Part counting may use Amada-specific M-codes
- Check with Amada for recommended configuration
- Nearly always have their own internal network for peripheral devices
Internal Network Consideration:
⚠️ IMPORTANT: Amada machines typically have an internal network connecting multiple peripheral devices (press brake, load/unload systems, safety controllers, etc.) to the FANUC control.
Check CD38A Port Usage:
- Verify if the CD38A (embedded Ethernet) port is already in use
- Look for existing Ethernet connections to the FANUC control
- Check if peripheral devices are communicating via the embedded port
If CD38A Port Is In Use:
We recommend using a dedicated 1:1 Edge device for the Amada machine:
Setup:
- Connect the Edge device to the existing internal network
- The Edge bridges the Amada internal network to your company network
- This preserves the isolated network for all Amada peripheral devices
- Edge provides secure connection to MachineMetrics cloud
Why This Is Important:
- Amada's internal network often uses specific IP addressing
- Peripheral devices may not function if network is disrupted
- A dedicated Edge device prevents network conflicts
- Maintains Amada's safety and control systems isolation
If CD38A Port Is Available:
If the embedded port is not in use, you can connect directly:
- Follow standard FOCAS setup
- Connect Edge device directly to CD38A port
- Configure network settings as normal
Configuration:
- Standard FOCAS setup applies
- Verify M-code configuration with Amada documentation
- Some models may have multiple part counters
FANUC Roboshot (Injection Molding)
Control Type: FANUC-based (injection molding machines)
FOCAS Support: Rarely available on Roboshot machines
Special Considerations:
- Roboshot machines (injection molding) rarely have FOCAS capability
- Even if the machine has a FANUC control, FOCAS may not be enabled
- Unlike CNC machines, injection molding controls often use different communication protocols
- In our experience, it is unlikely to support FOCAS
Testing for FOCAS Support on Roboshot
Before attempting full FOCAS configuration, test if FOCAS is available:
Step 1: Configure IP Address
- Access network settings on the Roboshot control
- Assign a static IP address to the machine
- Note the IP address for testing
Step 2: Test FOCAS Port (Telnet Test)
-
From a computer on the same network, open terminal/command prompt
-
Run telnet command to test FOCAS port:
telnet [MACHINE-IP] 8193Replace
[MACHINE-IP]with the machine's IP address -
If FOCAS is available:
- Connection will succeed
- You may see a blank screen or connection message
- This indicates FOCAS port 8193 is open
-
If FOCAS is NOT available:
- Connection will fail or timeout
- Error: "Unable to connect" or "Connection refused"
- This indicates FOCAS is not supported
Step 3: Determine Next Steps
If Telnet Test Succeeds:
- Proceed with standard FOCAS configuration
- Follow standard FANUC setup steps
- Add machine in MachineMetrics using FOCAS adapter
If Telnet Test Fails:
- FOCAS is not supported on this machine
- Alternative: Use Digital I/O connectivity instead
- Contact MachineMetrics support for recommended approach
- May need sensors and I/O hardware for data collection
Alternative Connectivity for Roboshot
If FOCAS is not available (most common case):
Recommended: Digital I/O Connectivity
- Install current transducer on hydraulic pump motor
- Capture part eject signal or cycle complete signal
- Use Sealevel or WISE I/O module
- Configure via Modbus TCP
Contact Support:
- Reach out to MachineMetrics support with your Roboshot model
- We can recommend the best connectivity approach
- May have experience with your specific model
Parameter Management
Enabling Parameter Write (PWE)
⚠️ Important Safety Notice: This procedure should only be carried out by qualified maintenance personnel. Proceed with caution.
Prerequisites:
- Machine in MDI mode OR Emergency Stop
- This ensures safety while making parameter changes
Steps to Enable:
-
Access Setting Screen
- Press SETTING function key
- Or: Press function key → [SETTING] soft key
-
Navigate to Parameter Write
- Use cursor keys to highlight PARAMETER WRITE
-
Enable
- Press OPRT soft key
- Press [ON:1] soft key OR enter
1and press INPUT
-
Confirmation
- Alarm SW0100: PARAMETER WRITE ENABLE appears
- This is normal and indicates parameters are editable
Disable When Done:
- Repeat steps and set PARAMETER WRITE = 0
- This clears SW0100 alarm and locks parameters
Key Parameters for FOCAS
Network Parameters:
- Located in EMBDD or ETHPRM menu
- IP Address, Subnet, Gateway
- FOCAS Port (typically 8193)
Part Counting Parameters:
- 6700#0 (PCM): Part count method (0 or 1)
- 6710: M-code used for part counting
- 6711: Current part count value (read-only)
Common Parameters:
- 3901: System part counter (macro variable)
- Ethernet-related parameters in 200-300 range
Parameter Safety
Before Changing Any Parameter:
- Document current value
- Understand what the parameter does
- Verify parameter isn't used by machine functions
- Have machine manual available
- Contact machine builder if unsure
After Changing Parameters:
- Reboot machine for changes to take effect
- Test thoroughly before production
- Document changes made
- Monitor machine behavior
Never:
- Change parameters you don't understand
- Modify servo or motion-related parameters without expert guidance
- Disable safety-related parameters
- Change parameters during production
Troubleshooting
Connection Issues
Problem: Machine won't connect or test connection fails
Diagnostic Steps:
-
Verify Physical Connection
- Check Ethernet cable is securely plugged in
- Verify cable is not damaged
- Check LED lights on port (should show link/activity)
-
Verify IP Configuration
- Confirm IP address matches what's configured in MachineMetrics
- Ensure machine IP and Edge IP are on same subnet
- Example: Machine 192.168.1.100, Edge 192.168.1.50 ✓
- Example: Machine 192.168.1.100, Edge 192.168.2.50 ✗
-
Test Network Connectivity
- From Edge device or computer on same network
- Ping machine IP address
- If ping fails: network/cable problem
- If ping succeeds but FOCAS fails: protocol issue
-
Verify FOCAS Port
- Check parameter 8193 TCP is configured
- Not 8192, 8194, or other port
- Verify FOCAS2 settings on control
-
Check Embedded Port Selection
- Press SYSTEM → EMBDD → OPRT
- Verify "AVAILABLE DEVICE" = EMBEDDED (not PCMCIA)
- If wrong, press PCMCIA/EMBDD soft key → EXECUTE → Reboot
No Data Appearing
Problem: Connection succeeds but no data shows in MachineMetrics
Solutions:
-
Wait for Initial Sync
- Allow 5-10 minutes for first data to appear
- Refresh browser/app
-
Check Machine Status
- Verify machine is powered on
- Machine may need to be in AUTO or MDI mode
- Some data only appears when machine is running
-
Verify Data Mapping
- Go to Assets → Machines → [Your Machine] → Data Mapping
- Ensure critical data items are mapped
- Check for unmapped items in available list
-
Review Edge Device Logs
- Settings → Edge Devices → [Your Edge] → Logs
- Look for connection errors or warnings
-
Restart Adapter
- Edit machine configuration
- Save (even without changes) to restart adapter
- Wait a few minutes and check again
Part Count Issues
Problem: Part counts not incrementing or incorrect
⚠️ CRITICAL FIRST STEP: Verify Machine is Counting Parts
Before troubleshooting MachineMetrics configuration, verify the machine itself is incrementing its internal part counter.
MachineMetrics reads the machine's native part counter. If the machine isn't counting parts, MachineMetrics cannot report them. Without additional scripting or configuration, MachineMetrics relies entirely on the machine's internal part count signal.
Check Machine Part Counter:
- Look at the machine's control screen
- Find the part counter display (usually on main screen or program screen)
- Run a cycle or manually execute M30/M02
- Verify the counter increments on the machine itself
If the machine counter is NOT incrementing:
- This is a machine configuration issue, not a MachineMetrics issue
- Machine is not configured to count parts
- See steps below to configure part counting on the machine
If the machine counter IS incrementing but MachineMetrics shows zero:
- This is a MachineMetrics configuration issue
- Continue to diagnostic steps below
Diagnostic Steps:
-
Verify Part Count Method on Machine
- Check parameters 6700 and 6710
- Confirm M-code configuration
- Test manually in MDI (see Testing Part Count section)
-
Check Data Mapping in MachineMetrics
- Ensure part count data item is mapped
- Type should be "Part Count"
- Check both "Actual" and "Target" if using both
-
Verify Program Has Count Command
- Check your CNC program includes M30, M02, or custom M-code
- For looping programs: Ensure count command before M99
-
Test Count Manually on Machine
- Put machine in MDI
- Set overrides to zero
- Execute count command (M30 or your M-code)
- Check parameter 6711 increments on the machine
- If it increments, wait 30 seconds and check MachineMetrics
-
Macro Variable Issues (if using #3901)
- Verify Macro B option is enabled on control
- Check syntax:
#3901=#3901+1 - Ensure macro is configured in adapter
Network Problems
Problem: Intermittent connection or frequent disconnects
Solutions:
-
Check Cable Quality
- Replace Ethernet cable
- Use CAT5e or CAT6 rated cable
- Avoid cables near high-voltage lines or motors
-
Verify Network Stability
- Check for network congestion
- Verify DHCP isn't reassigning IP addresses
- Use static IP instead of DHCP if possible
-
Check Port Sharing
- If using unmanaged switch to share port: Verify switch is powered and working
- Ensure other devices aren't monopolizing bandwidth
-
EMI/RFI Interference
- Machine electrical noise can affect communication
- Use shielded Ethernet cable
- Route cable away from motor drives and high-power equipment
-
Control Restart Issues
- Some controls lose network config on power cycle
- Verify settings persist after restart
- May need to save settings to memory
Best Practices
Network Configuration:
- Use static IP addresses for machines (not DHCP)
- Document IP addresses for each machine
- Use consistent IP range (e.g., 192.168.1.100-199 for machines)
Part Counting:
- Test part counting thoroughly before production use
- Use M30 for simple parts, #3901=#3901+1 for automation
- Set 6700#0=0 for maximum flexibility
- Verify counts match actual production regularly
Maintenance:
- Check cable connections periodically
- Monitor for adapter errors in Edge logs
- Keep machine controls up to date with latest FANUC software
- Document any parameter changes made
Data Quality:
- Map all relevant data items (not just basics)
- Use descriptive display names for diagnostics
- Configure macro variables for custom data
- Regularly review data accuracy
Security:
- Use dedicated network for machine connectivity
- Limit parameter write access
- Document who has permission to modify machine settings
- Follow lockout/tagout procedures when working on machines
Documentation:
- Record machine IP addresses
- Document custom M-codes used
- Keep notes on any OEM-specific configurations
- Maintain list of parameters changed
Getting Help
Before Contacting Support
Gather this information:
-
Machine Details
- Make, model, serial number
- Control type and version
- FOCAS capability confirmed?
-
Network Configuration
- Machine IP address
- Subnet mask
- Edge device IP
- Are they on same subnet?
-
Configuration
- Screenshots of EMBDD settings
- Parameter 6700 and 6710 values (if part count issue)
- Adapter configuration from MachineMetrics
-
Error Details
- Exact error messages
- When problem started
- What was changed recently
- Screenshots of issue
Contact Options
MachineMetrics Support:
- Email: support@machinemetrics.com
- Include all information listed above
- Attach screenshots
- Describe troubleshooting steps already attempted
Solution Delivery Manager (SDM):
- For configuration guidance
- Best practices consultation
- Deployment planning
FANUC Support:
- For control-specific questions
- Parameter explanations
- Hardware/firmware issues
Machine Tool Builder:
- For OEM-specific configurations
- Custom M-code information
- Machine manual requests
Additional Resources
- Machine Connectivity Overview
- Part Counting Configuration Guide (coming soon)
- Quick Start Checklist
- Knowledge Base: https://support.machinemetrics.com
Ready to connect your FANUC machine?
- Verify your control supports FOCAS
- Gather prerequisites
- Follow physical connection steps
- Configure network on the control
- Add machine in MachineMetrics
- Test and verify data flow
Questions? Contact support@machinemetrics.com with your machine details.