All writing
Software & Data3 min read

MTConnect vs OPC-UA vs FOCAS: a developer's decision guide

Every machine-data project starts with the same fork: MTConnect, OPC-UA, or FOCAS? They're not competitors so much as different tools. Here's how to actually choose.

A machine shop floor lined with CNC machining centres

Photo: Antoniusaw · CC BY-SA 4.0

Every machine-connectivity project I've seen starts by stalling on the same question: which protocol? MTConnect, OPC-UA, or FOCAS. The reason it stalls is that the internet frames them as competitors, and they're really not — they're different tools for different jobs. Here's the honest comparison, from someone who has to make the data actually show up.

FANUC-only
FOCAS — deep, polling
Cross-vendor
MTConnect — read-only, HTTP
Cross-vendor
OPC-UA — secure, two-way

FOCAS: deep, FANUC-only, polling

FOCAS is FANUC's own API. If your shop is FANUC-heavy and you want everything — macro variables, tool tables, servo loads, diagnostics — nothing else gets you as deep. The cost: it's FANUC-only, you poll it (call, wait, call again), and functions are gated behind machine options. If you're going this route, I wrote a full FOCAS + Python walkthrough.

MTConnect: open, read-only, HTTP pull

MTConnect is an open standard built for manufacturing. An adapter on (or near) the machine speaks the machine's language and feeds a plain-text stream to an agent, which serves clean XML over HTTP. You just make web requests: /probe for what exists, /current for a snapshot, /sample for a stream. It's cross-vendor and dead simple to consume — but it's read-only by design. You monitor with it; you don't command with it.

OPC-UA: heavy, secure, two-way, subscriptions

OPC-UA is the industrial-IT heavyweight. Instead of polling, you subscribe to nodes in an address space and get pushed updates on change. It has real security (certificates, encryption, auth), it's genuinely cross-vendor, and via companion specs like OPC UA for Machinery (umati) it's becoming the standard newer machine tools ship with. It can also write, not just read. The cost is complexity: certificates, address spaces, and more moving parts than a shop that just wants a dashboard may want.

The lines are blurring

The OPC Foundation and the MTConnect Institute now run a joint working group to harmonize the two standards. Practically: pick what fits today, but don't bet your architecture on one "winning" and the other dying. They're converging.

How to actually choose

  1. 1All-FANUC shop, and you need deep data (macros, tool life)? → FOCAS.
  2. 2Mixed-brand shop, you just want to monitor (OEE, uptime, alarms)? → MTConnect. Lowest friction to a working dashboard.
  3. 3Need security, writes, or you're integrating with enterprise IT / newer machinery? → OPC-UA.
  4. 4Legacy machine that speaks none of them? → An MTConnect adapter (or a small FOCAS/serial bridge) retrofits the data in.

In practice: hybrid

Real shops rarely pick one. A common pattern is FOCAS for the deep FANUC data, MTConnect for uniform cross-brand monitoring, and everything normalized into one database behind the scenes. The protocol is an implementation detail; the unified data model is the real deliverable.

Don't choose a protocol. Choose an outcome — a dashboard, an OEE number, an alarm log — and let the outcome pick the protocol.

Once the data lands, the fun starts: dashboards, OEE, tool-wear trending, even an AI agent over the top of it. If you want help picking a path for your specific machine mix, get in touch.

Frequently asked questions

What's the difference between MTConnect and OPC-UA?+

MTConnect is a read-only, manufacturing-specific standard that serves clean XML over plain HTTP — you pull data with simple web requests. OPC-UA is a heavier, general industrial protocol with real security, a subscription model that pushes updates on change, and the ability to write as well as read. MTConnect is simpler to consume; OPC-UA is more capable and more complex.

Is FOCAS better than MTConnect?+

Neither is strictly better — they solve different problems. FOCAS gets you the deepest possible data (macro variables, tool tables, servo loads) but only on FANUC controls, and you have to poll it. MTConnect is cross-vendor and dead simple to consume, but read-only and only as detailed as the adapter feeding it. All-FANUC shops needing deep data lean FOCAS; mixed shops that just want monitoring lean MTConnect.

Can I use more than one protocol at the same time?+

Yes, and real shops usually do. A common hybrid pattern is FOCAS for deep FANUC data, MTConnect for uniform cross-brand monitoring, and everything normalized into one database behind the scenes. The protocol is an implementation detail; the unified data model is the real deliverable.

Which protocol is easiest to start with?+

For a mixed-brand shop that just wants a monitoring dashboard, MTConnect has the lowest friction — an agent serves XML over HTTP and you consume it with basic web requests. If your shop is all FANUC and you need deep data, a small FOCAS script is the fastest path to the numbers.

Muerus Rodrigues

Applications Engineer

Get in touch

Keep reading

Home
Blog
Tools
Code
Contact
LinkedIn
Request Résumé