Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions Downloads/mtc/concepts/architecture.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: "Architecture"
description: "MTConnect uses a three-tier architecture: Device → Adapter → Agent → Client."
---

MTConnect uses a three-tier architecture: **Device → Adapter → Agent → Client**.

## The Agent

The Agent is the central hub. It accepts data from one or more adapters over TCP, buffers it in a circular buffer, and serves it to clients over HTTP. The reference implementation is the open-source [C++ Agent](https://github.com/mtconnect/cppagent).

## Adapters (SHDR Protocol)

Adapters connect machines to the Agent using the Simple Hierarchical Data Representation (SHDR) protocol over a TCP socket. Each line is a pipe-delimited string:

```
2024-01-15T10:23:45.000Z|Smode|AUTOMATIC
2024-01-15T10:23:45.001Z|S1speed|3500.0
2024-01-15T10:23:45.001Z|path_pos|100.5|200.3|0.0
```

## HTTP Endpoints

- `GET /probe` — device structure and metadata
- `GET /current` — latest snapshot of all data items
- `GET /sample` — sequence of observations from the buffer
- `GET /assets` — retrieve assets (e.g. cutting tools)
10 changes: 10 additions & 0 deletions Downloads/mtc/concepts/assets.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: "Assets"
description: "MTConnect Assets are complex, mutable objects associated with a device. The most common type is CuttingTool."
---

MTConnect Assets are complex, mutable objects associated with a device. The most common asset type is `CuttingTool`, describing tool geometry and life cycle.

<Info>
Browse the full CuttingTool schema at [model.mtconnect.org](https://model.mtconnect.org/).
</Info>
26 changes: 26 additions & 0 deletions Downloads/mtc/concepts/data-items.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: "Data Items"
description: "Data Items are the atomic units of information in MTConnect. Each has a type, category, and optional subType."
---

Data Items are the atomic units of information in MTConnect. Each data item has a `type`, `category`, and optional `subType`.

## Categories

- **SAMPLE** — continuous numeric measurements (position, speed, temperature)
- **EVENT** — discrete state changes (execution mode, program name)
- **CONDITION** — fault/warning/normal states

## Common Types

```
POSITION — axis or path position (SAMPLE)
VELOCITY — axis velocity (SAMPLE)
SPINDLE_SPEED — rotational speed (SAMPLE)
EXECUTION — program state (EVENT)
AVAILABILITY — device available/unavailable (EVENT)
PATH_FEEDRATE — feed rate (SAMPLE)
TEMPERATURE — thermal measurement (SAMPLE)
TOOL_ASSET_ID — active tool identifier (EVENT)
PART_COUNT — parts produced (EVENT)
```
30 changes: 30 additions & 0 deletions Downloads/mtc/concepts/devices-and-adapters.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: "Devices & Adapters"
description: "An MTConnect Device represents a physical or logical manufacturing asset described in the Device Information Model."
---

An MTConnect **Device** represents a physical or logical manufacturing asset. Each device is described in the Agent's Device Information Model (DIM) — an XML document served at `/probe`.

## Device Structure

```xml XML — Device probe response (excerpt)
<Device id="d1" name="Mazak-01" uuid="MZ-001">
<Components>
<Controller id="c1" name="controller">
<DataItems>
<DataItem id="avail" type="AVAILABILITY" category="EVENT"/>
<DataItem id="mode" type="EXECUTION" category="EVENT"/>
</DataItems>
</Controller>
<Linear id="X" name="X" nativeName="X-axis">
<DataItems>
<DataItem id="xpos" type="POSITION" category="SAMPLE" units="MILLIMETER"/>
</DataItems>
</Linear>
</Components>
</Device>
```

## Writing an Adapter

See the [Writing an Adapter](/tutorials/writing-an-adapter) tutorial for a step-by-step walkthrough.
20 changes: 20 additions & 0 deletions Downloads/mtc/concepts/streams-and-samples.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: "Streams & Samples"
description: "The /sample endpoint streams observations from the Agent's circular buffer. Each observation has a sequence number and timestamp."
---

The `/sample` endpoint streams observations from the Agent's circular buffer. Each observation has a sequence number and timestamp.

## Polling for New Data

```python
import requests, time

BASE = "http://localhost:5000"
last_seq = 0

while True:
r = requests.get(f"{BASE}/sample?from={last_seq}&count=100")
# parse XML, update last_seq from nextSequence attribute
time.sleep(0.5)
```
84 changes: 84 additions & 0 deletions Downloads/mtc/docs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{
"$schema": "https://mintlify.com/docs.json",
"theme": "mint",
"name": "MTConnect",
"colors": {
"primary": "#1D4ED8",
"light": "#3B82F6",
"dark": "#0D2040"
},
"favicon": "/favicon.svg",
"logo": {
"light": "/logo/light.svg",
"dark": "/logo/dark.svg"
},
"navbar": {
"links": [
{ "label": "Model Browser", "href": "https://model.mtconnect.org/" },
{ "label": "GitHub", "href": "https://github.com/mtconnect" },
{ "label": "Slack", "href": "https://mtconnect.slack.com/" }
],
"primary": {
"type": "button",
"label": "MTConnect.org",
"href": "https://www.mtconnect.org"
}
},
"navigation": {
"groups": [
{
"group": "Getting Started",
"pages": [
"index",
"getting-started/quickstart",
"getting-started/installation"
]
},
{
"group": "Core Concepts",
"pages": [
"concepts/architecture",
"concepts/devices-and-adapters",
"concepts/data-items",
"concepts/streams-and-samples",
"concepts/assets"
]
},
{
"group": "Tutorials",
"pages": [
"tutorials/writing-an-adapter",
"tutorials/building-a-client",
"tutorials/code-examples"
]
},
{
"group": "Reference",
"pages": [
"reference/data-model",
"reference/xml-schema",
"reference/changelog"
]
}
],
"global": {
"anchors": [
{
"anchor": "Model Browser",
"href": "https://model.mtconnect.org",
"icon": "globe"
},
{
"anchor": "GitHub",
"href": "https://github.com/mtconnect",
"icon": "github"
}
]
}
},
"footer": {
"socials": {
"github": "https://github.com/mtconnect"
}
}
}
5 changes: 5 additions & 0 deletions Downloads/mtc/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
49 changes: 49 additions & 0 deletions Downloads/mtc/getting-started/installation.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: "Installation"
description: "MTConnect agents can be run via Docker (recommended), built from source, or installed via OS packages."
---

MTConnect agents can be run via Docker (recommended), built from source, or installed via OS packages.

## Docker (Recommended)

```bash
docker pull mtconnect/agent:latest
docker run -p 5000:5000 mtconnect/agent:latest
```

## Build from Source

<Tabs>
<Tab title="Linux">
```bash
sudo apt install cmake libxml2-dev
git clone https://github.com/mtconnect/cppagent.git
cd cppagent && cmake -S . -B build && cmake --build build -j$(nproc)
sudo cmake --install build
```
</Tab>
<Tab title="macOS">
```bash
brew install cmake libxml2
git clone https://github.com/mtconnect/cppagent.git
cd cppagent && cmake -S . -B build && cmake --build build
```
</Tab>
<Tab title="Windows">
```bash
# Visual Studio 2022
git clone https://github.com/mtconnect/cppagent.git
cd cppagent
cmake -S . -B build -G "Visual Studio 17 2022"
cmake --build build --config Release
```
</Tab>
</Tabs>

## Verify

```bash
curl http://localhost:5000/probe
# Returns MTConnect XML with device descriptions
```
43 changes: 43 additions & 0 deletions Downloads/mtc/getting-started/quickstart.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: "Quickstart"
description: "The fastest way to get an MTConnect Agent running. You'll have live XML data in under 5 minutes."
---

<Badge>5 min read</Badge>

The fastest way to get an MTConnect Agent running is with Docker. You'll have live XML data in under 5 minutes.

## 1. Run the Agent with Docker

```bash
docker run -it --rm -p 5000:5000 \
mtconnect/agent:latest
```

The agent starts with a built-in simulator device. Open your browser to verify:

```bash
curl http://localhost:5000/probe
```

## 2. Your First Client (Python)

```python
import requests
import xml.etree.ElementTree as ET

BASE = "http://localhost:5000"

# Discover devices
probe = requests.get(f"{BASE}/probe")
root = ET.fromstring(probe.text)
print("Connected to MTConnect Agent")

# Read current values
current = requests.get(f"{BASE}/current")
print(current.text[:500])
```

<Tip>
See the [Examples page](/tutorials/code-examples) for complete working code in Python, JavaScript, and C#.
</Tip>
49 changes: 49 additions & 0 deletions Downloads/mtc/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: "What is MTConnect?"
description: "An open, royalty-free standard that defines a semantic vocabulary for manufacturing equipment data."
---

<div style={{ display: 'flex', gap: '8px', marginBottom: '24px' }}>
<span style={{ display: 'inline-flex', alignItems: 'center', fontSize: '0.72rem', fontWeight: '600', padding: '3px 10px', borderRadius: '100px', textTransform: 'uppercase', letterSpacing: '0.05em', background: '#d1fae5', color: '#065f46' }}>Stable</span>
<span style={{ display: 'inline-flex', alignItems: 'center', fontSize: '0.72rem', fontWeight: '600', padding: '3px 10px', borderRadius: '100px', textTransform: 'uppercase', letterSpacing: '0.05em', background: '#dbeafe', color: '#1d4ed8' }}>v2.2</span>
</div>

MTConnect is an open, royalty-free standard (ANSI/MTC1.4-2018) that defines a semantic vocabulary for manufacturing equipment data. It gives machines a common language so any application can read data from any compliant device — without proprietary adapters or vendor lock-in.

<Check>
MTConnect is used on **250,000+ devices** across **50+ countries**, developed by over 500 machine builders and integrators.
</Check>

## Key Capabilities

<CardGroup cols={2}>
<Card title="Real-Time Data" icon="bolt" href="/getting-started/quickstart">
Stream live machine data over standard HTTP
</Card>
<Card title="Open Architecture" icon="diagram-project" href="/concepts/architecture">
Agent + Adapter pattern, works with any language
</Card>
<Card title="Semantic Model" icon="chart-bar" href="/concepts/data-items">
Shared vocabulary for 1000s of data item types
</Card>
<Card title="Code Examples" icon="terminal" href="/tutorials/code-examples">
Python, JavaScript, C# — ready to run
</Card>
</CardGroup>

## How It Works

The MTConnect architecture has three layers:

1. **Machine / Device** — CNC machines, robots, sensors generating raw data
2. **Adapter** — translates machine signals into the SHDR protocol
3. **Agent** — normalizes data and serves it over HTTP as structured XML

Client applications call the Agent's HTTP endpoints (`/probe`, `/current`, `/sample`) to discover devices, read current values, or stream historical data.

## Supported Versions

- **v2.2** (current) — CuttingTool enhancements, additive manufacturing types
- **v2.1** — Component relationships, Specifications data items
- **v2.0** — Device Relationships, Interface components
- **v1.x** — Legacy, still widely deployed
23 changes: 23 additions & 0 deletions Downloads/mtc/reference/changelog.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: "Changelog"
description: "MTConnect standard version history."
mode: "center"
---

## v2.2 — 2023

- CuttingTool asset enhancements
- Part tracking improvements
- New DataItem types for additive manufacturing

## v2.1 — 2022

- Relationships between components
- Specifications data items
- Improved streaming performance

## v2.0 — 2021

- Device Relationships
- Interface components
- Structural component types
6 changes: 6 additions & 0 deletions Downloads/mtc/reference/data-model.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: "Data Model Reference"
description: "The MTConnect information model defines a semantic vocabulary for manufacturing data."
---

The MTConnect information model defines a semantic vocabulary for manufacturing data. Browse the complete model at [model.mtconnect.org](https://model.mtconnect.org/).
13 changes: 13 additions & 0 deletions Downloads/mtc/reference/xml-schema.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: "XML Schema"
description: "MTConnect XML schemas validate documents against the standard."
---

MTConnect XML schemas validate documents against the standard.

```
https://schemas.mtconnect.org/schemas/MTConnectDevices_2.2.xsd
https://schemas.mtconnect.org/schemas/MTConnectStreams_2.2.xsd
https://schemas.mtconnect.org/schemas/MTConnectAssets_2.2.xsd
https://schemas.mtconnect.org/schemas/MTConnectError_2.2.xsd
```
Loading