Proxus connects to FANUC CNC systems using the FOCAS (FANUC Open CNC API Specifications) protocol over Ethernet.
Compatibility & Requirements
Not all FANUC CNCs are supported. Connection requires the FOCAS 1/2 Protocol over Ethernet.
Supported Series
Proxus explicitly identifies and supports the following controllers via FOCAS:
- Series 0i (Models A, B, C, D, F)
- Series 30i / 31i / 32i
- Series 16 / 16i
- Series 18 / 18i
- Series 21 / 210i
- Series 15 / 15i
- Power Mate i-D / i-H
Supported Machine Types
The driver automatically detects the machine configuration:
- M: Machining Center
- T: Lathe (Turning)
- L: Laser
- P: Punch Press
- W: Wire Cut
Hardware Requirements
- Physical Connection: The CNC must have an Ethernet port (Embedded Port or PCMCIA/Fast Ethernet Card).
- FOCAS Enabled: The FOCAS function must be active on the controller.
Configuration Examples
Example 1: Basic CNC Monitoring
Create a Device Profile with these Tags to monitor essential CNC data:
| Tag Name | Address | Data Type | Purpose |
|---|---|---|---|
| Alarm Status | alarm_status | Int | Monitor alarm conditions |
| Active Program | current_program | String | Track running program |
| Spindle RPM | spindle_speed | Double | Monitor spindle speed |
| Feed Rate | feed_rate | Double | Monitor feed rate |
| Tool Number | cutter_number | Int | Track active tool |
Example 2: Production Tracking
For OEE and production monitoring:
| Tag Name | Address | Data Type | Purpose |
|---|---|---|---|
| Parts Made | current_produce_count | Int | Actual production count |
| Parts Target | expect_produce_count | Int | Production goal |
| Machine Status | alarm_status | Int | Check if running or stopped |
| Current Job | current_program | String | Job identification |
Example 3: Mixed PMC and Special Data
Combine PMC addresses with special methods:
| Tag Name | Address | Data Type | Purpose |
|---|---|---|---|
| Start Button | X10 | Bool | Read input signal (PMC) |
| Motor Running | Y20 | Bool | Read output signal (PMC) |
| Cycle Counter | D100 | Short | Read PMC data register |
| Spindle RPM | spindle_speed | Double | Read CNC data (Special) |
| Feed Rate | feed_rate | Double | Read CNC data (Special) |
| System Alarm | system_alarm | String | Detailed alarm info (Special) |
Use PMC addresses for fast, direct memory access when available. Use Special addresses when you need CNC-specific data not accessible via PMC, such as program names, production counters, or system information.
Supported Protocols
| Protocol Type | Description |
|---|---|
FanucSeries_0i | FOCAS 1/2 Ethernet Interface |
Connection Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Host | string | Yes | - | CNC IP Address |
| Port | int | No | 8193 | FOCAS Ethernet Port |
| ConnectTimeout | int | No | 3000 | Connection timeout (ms) |
Address Syntax
Proxus supports two types of addresses for FANUC CNC systems:
1. PMC Addresses (Standard Memory Access)
Direct access to PMC (Programmable Machine Controller) memory areas:
| Address Format | Memory Area | Data Type | Example |
|---|---|---|---|
D100 | Data Table | Short | PMC data register #100 |
R50 | Internal Relay | Short/String | Internal relay #50 |
G0 | Signal to PMC | Bool | PMC input signal #0 |
X10 | Input Signal | Bool | External input #10 |
Y20 | Output Signal | Bool | External output #20 |
A5, T5, K5, C5, E5, F5 | Other PMC Areas | Various | Special PMC registers |
2. Special Method Addresses (CNC-Specific Data)
Named addresses that map directly to FOCAS API functions for CNC-specific information:
| Address | Data Type | Description | Example Value |
|---|---|---|---|
alarm_status | Int | Current alarm status code | 0 (no alarm) |
current_program | String | Currently running program name | O1234 |
current_produce_count | Int | Actual production count | 150 |
expect_produce_count | Int | Target production count | 1000 |
cutter_number | Int | Active tool/cutter number | 5 |
current_datetime | String | CNC system date/time | ISO 8601 format |
current_foreground_dir | String | Active directory path | //CNC_MEM/USER/PATH1 |
language | UShort | CNC language setting | 0 (English) |
spindle_speed | Double | Main spindle speed (rpm) | 1500.5 |
feed_rate | Double | Actual feed rate (mm/min) | 350.0 |
sys_info | String | Complete system information | Text representation |
sys_status_info | String | Current system status | Text representation |
sys_all_coors | String | All coordinate systems | Text representation |
system_alarm | String | Detailed alarm information | Text representation |
operator_message | String | Operator messages | Text representation |
system_program | String | Current program details | program=<name>;number=<id> |
device_workpieces_size | Bytes | Workpiece dimensions | Binary data |
fanuc_axis_load | Bytes | Axis load percentages | Binary data |
Special addresses are case-insensitive and flexible with separators: alarm_status, ALARM_STATUS, alarm-status, and alarmstatus are all equivalent.
Troubleshooting
| Error | Cause | Solution |
|---|---|---|
| Connection Refused | FOCAS not enabled | Verify the "Ethernet Function" or "Embedded Ethernet" is configured on the CNC. |
| Port Closed | Wrong Port | Default is 8193, but check CNC parameter 14880 or similar. |
For detailed Fanuc CNC error codes, see Fanuc CNC Error Codes. For general connectivity issues, see Gateway Issues.
Official Resources
- FANUC America: CNC Support