Skip to main content

MTConnect (CNC Machine Tools)

MTConnect — An open standard for CNC machine tools (HTTP + XML, default port 5000). An MTConnect agent placed in front of the equipment provides the current status as XML via /current, and the gateway periodically fetches and stores it.

ScenarioWhich card to use
Machine tools with an MTConnect agent (Mazak · Okuma · Haas · DMG MORI, etc.)MTConnect (this page)
Connecting directly to a FANUC CNCFOCAS
Connecting via the machine's built-in PLCMELSEC · S7
FOCAS or Which One to Use

If an agent already exists, MTConnect is easier — values come in with standard names, and even if machine types are mixed, the tag names are the same. Conversely, if there is no agent or if you need FANUC-specific values (tool compensation, alarm details), use FOCAS.


Registration Form Inputs​

Input FieldWhat to EnterExample
IP AddressAgent address (not the machine)10.20.30.50
PortDefault 50005000
Collection IntervalInterval for reading from the cache (ms)1000

Options​

OptionDefaultWhat it is
path/currentAgent endpoint
device(None)When one agent handles multiple machines — separated by /<device>/current
poll-interval1000Interval for actually calling the agent (ms)
tlsOffConnected via https
There are two intervals

poll-interval is the interval for calling the agent, and the collection interval is for reading the cache. To reduce the load on the agent, increase the poll-interval side — merely increasing the collection interval still results in the agent being called every second.


Tag PLC Address Notation — dataItemId or name​

The tag's PLC address = the DataItem's dataItemId or name. Both are accepted.

AddressWhat it is
XactX-axis actual position
path_feedrateFeed rate
executionExecution status (ACTIVE · READY · STOPPED …)
availWhether the agent is communicating with the machine (Availability)

For the Condition element, the element names (Normal · Warning · Fault) come in as values.

When you don't know what names are available

Open http://<에이전트>:5000/current in a browser and the XML is shown as-is. The dataItemId and name attributes there are directly usable addresses. /probe is the complete list of DataItems that machine provides.


It's not polling — it's «hold and retrieve»​

백그라운드 ─▶ GET /current ─▶ XML 파싱 ─▶ dataItemId · name 별 캐시
(poll-interval) │
수집 주기마다 태그가 캐시를 읽는다

Even if you create 100 tags, the agent call is still just one — because all values come from that single fetched XML.


When it doesn't work​

SymptomWhat to check first
All values are emptyWhether /current opens in a browser, and whether path is correct
avail is UNAVAILABLEThe agent is alive but disconnected from the machine — check the machine side
Only one machine's values come throughThe agent is handling multiple machines — set the device option
Values don't changeWhether poll-interval is too long, and whether that DataItem is actually a changing value.