# MTconnect Compatibility

**URL:** <https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013>\
**Category:** General Discussion\
**Created:** [November 15, 2017, 10:05pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013 "2017-11-15T22:05:30Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![troyt1](https://avatars.discourse-cdn.com/v4/letter/t/cc9497/32.png) [@troyt1](https://forum.inductiveautomation.com/u/troyt1)\
**Post date:** [November 15, 2017, 10:05pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/1 "2017-11-15T22:05:30Z")

</div>

I am attempting to connect ignition to a Citizen Swiss lathe. Is ignition compatible with MTConnect?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [November 15, 2017, 10:11pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/2 "2017-11-15T22:11:15Z")

</div>

We don’t have any support for MTConnect.

You can use Kepware though, which does have an MTConnect driver, and the make an OPC UA connection to their server.

---

<div class="post-metadata">

**Author:** ![ecujak](https://avatars.discourse-cdn.com/v4/letter/e/839c29/32.png) [@ecujak](https://forum.inductiveautomation.com/u/ecujak)\
**Post date:** [June 21, 2018, 3:55pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/3 "2018-06-21T15:55:59Z")

</div>

You are missing out on a significant portion of the market by ignoring MTConnect.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 21, 2018, 4:21pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/4 "2018-06-21T16:21:08Z")

</div>

![](https://us1.discourse-cdn.com/inductiveautomation/original/2X/6/647db6009287ac89a001bec57e1c1f15eab42cc9.gif)

Seriously though, I’ll try to keep it on the radar for after 8.0.

---

<div class="post-metadata">

**Author:** ![INNO](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/inno/32/30161_2.png) [@INNO](https://forum.inductiveautomation.com/u/INNO)\
**Post date:** [October 12, 2018, 6:36pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/5 "2018-10-12T18:36:13Z")

</div>

Innorobix Automation developed an MTConnect module for Ignition that can be connected to multiple agents. The neat feature about this module is that it will dynamically create and sort the associated tags per agent and make them available in designer under providers.

Feel free to reach out if you want to see a demo.

> **[MTConnect Module](https://www.innorobix.com/mtconnect-module/)**
>
> MTConnect Module
> MTConnect Solution for Ignition.MTConnect is an open, royalty-free, universal factory floor communication standard that is designed specifically for the shop floor environment. The protocol enables efficient transfer of data between...

 ![](https://us1.discourse-cdn.com/inductiveautomation/original/2X/a/ad6ec23e3a4b0ec97a05dfe28f7228a56580e64e.png)

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [October 13, 2018, 6:27am UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/6 "2018-10-13T06:27:15Z")

</div>

What are the benefits of getting MTConnect data into Ignition? I can think of OEE as the only obvious usage, but other than that? Reports? Dashboards? Will Ignition not be an overkill for it? Would appreciate your thoughts on this.

---

<div class="post-metadata">

**Author:** ![INNO](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/inno/32/30161_2.png) [@INNO](https://forum.inductiveautomation.com/u/INNO)\
**Post date:** [October 15, 2018, 12:32pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/7 "2018-10-15T12:32:01Z")

</div>

The main push for this connector was to collect OEE data but like you mentioned, the reporting and dashboards turned out to be as important. Implementing Ignition just for the sake of OEE would be an overkill but the intent of such driver is to complement to the overall offering of Ignition and the convenience it provides.

---

<div class="post-metadata">

**Author:** ![sharan](https://avatars.discourse-cdn.com/v4/letter/s/258eb7/32.png) [@sharan](https://forum.inductiveautomation.com/u/sharan)\
**Post date:** [May 12, 2022, 4:24pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/8 "2022-05-12T16:24:23Z")

</div>

the tags are not creating automatically. I am on Ignition version 8.1.15

---

<div class="post-metadata">

**Author:** ![INNO](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/inno/32/30161_2.png) [@INNO](https://forum.inductiveautomation.com/u/INNO)\
**Post date:** [May 12, 2022, 5:50pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/9 "2022-05-12T17:50:18Z")

</div>

The driver is particular on the version of ignition running and the correct module version must be retrieved from us. Reach out to us on our website contact form and we can make make sure you have the correct file and get you sorted out.

---

<div class="post-metadata">

**Author:** ![Ryan\_Deardorff](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan_deardorff/32/63815_2.png) [@Ryan\_Deardorff](https://forum.inductiveautomation.com/u/Ryan_Deardorff)\
**Post date:** [March 18, 2024, 11:18pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/10 "2024-03-18T23:18:17Z")

</div>

We are about to start using MTConnect with some of our machines. Is Innorobix the only solution for Ignition? Or does Ignition have plans to start supporting it?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 19, 2024, 12:11am UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/11 "2024-03-19T00:11:45Z")

</div>

There's nothing imminent, use whatever is available now.

---

<div class="post-metadata">

**Author:** ![Justin\_Mai1](https://avatars.discourse-cdn.com/v4/letter/j/9de053/32.png) [@Justin\_Mai1](https://forum.inductiveautomation.com/u/Justin_Mai1)\
**Post date:** [March 31, 2024, 12:35am UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/12 "2024-03-31T00:35:58Z")

</div>

MTConnect is a relatively simple protocol - I used a Gateway timer script with system.net.httpGet and import the python xml library to get the few pieces of data I want from the machine.

---

<div class="post-metadata">

**Author:** ![Ryan\_Deardorff](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan_deardorff/32/63815_2.png) [@Ryan\_Deardorff](https://forum.inductiveautomation.com/u/Ryan_Deardorff)\
**Post date:** [April 4, 2024, 4:13pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/13 "2024-04-04T16:13:20Z")

</div>

Since I don't know yet exactly what kind of data I'll be needing to pull from it, that might be an acceptable way to go. But if you want real-time updating of the data, isn't that a bit clunky? You'd have to execute an HTPP GET request at least once a second...

---

<div class="post-metadata">

**Author:** ![tyler.robertson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tyler.robertson/32/18299_2.png) [@tyler.robertson](https://forum.inductiveautomation.com/u/tyler.robertson)\
**Post date:** [September 8, 2024, 7:44pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/14 "2024-09-08T19:44:50Z")

</div>

Just a note on this because I was browsing MT Connect topics.

OEE, Reports, Dashboards but more importantly ALERTS and Ignition makes it easy to integrate with other factory floor devices and software (like Maintenance).  
If I can avoid one more application-specific software package, I'll do it.  
Inevitably a machine monitoring solution for MT Connect won't have the flexibility of Ignition, and it's one more proprietary-report-building-system that you have to get to know.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 13, 2025, 12:23am UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/15 "2025-04-13T00:23:15Z")

</div>

I started playing around with MTConnect this afternoon, some experimentation: [GitHub - kevinherron/mtconnect-java: JAXB code generation for MTConnect with Java.](https://github.com/kevinherron/mtconnect-java)

Not to imply this is suddenly on the roadmap, but at least this unknown is now known. Maybe useful to somebody else in the meantime.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 13, 2025, 4:45pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/16 "2025-04-13T16:45:37Z")

</div>

MTConnect has a surprisingly complex data model and while they've been disciplined in the evolution of the schema, that means there currently _FIFTEEN_ different versions of it, which means as an application (as defined [here](https://www.mtconnect.org/getting-started)) that wants to consume MTConnect... you potentially need 15 different sets of generated bindings.

And then presumably your code would be a nightmare of switching on the types (the names of which will clash except package name, btw) across all the binding versions as you tried to consume/process the data from the MTConnect HTTP endpoints.

Kind of disgusting, really...

@cmisztur2 for some reason I've associated you with MTConnect - does this sound about right?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 13, 2025, 5:21pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/17 "2025-04-13T17:21:38Z")

</div>

Note to self: what this really means is the JAXB approach is a dead end, and applications instead need to use a generic approach, i.e. either parsing the whole XML document with `DocumentBuilder`, or probably better, processing it with `XMLStreamReader`. Boo.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 13, 2025, 6:50pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/18 "2025-04-13T18:50:46Z")

</div>

You aren't wrong. I penciled this in on my longer-term to-do list, with an expectation of using stream parsing. It won't hurt my feelings if you beat me to it. /:

---

<div class="post-metadata">

**Author:** ![cmisztur2](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmisztur2/32/4243_2.png) [@cmisztur2](https://forum.inductiveautomation.com/u/cmisztur2)\
**Post date:** [April 13, 2025, 11:26pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/19 "2025-04-13T23:26:49Z")

</div>

@Kevin.Herron sure does. Are you counting 15 because of the XML schema versions?

The device model isn't that complex. It's dataitems/observations within components within components. But very few people take advantage of the model (/probe endpoint) and are more interested in the key-value pairs of DataItem Id and DataItem Value. So something like Device/Axes/Linear/X/AbsolutePosition doesn't mean much to most, they're more interested that XPos=15.12.

The exchange goes like this, hit /probe endpoint to get the model. Do something with the model. Hit /current endpoint to get the current values for everything, then poll or stream /sample endpoint to get the deltas. In Agent 2+ there is also MQTT and Websocket sinks. If you have an old agent and can't upgrade it, you can setup an Agent-Agent connection, in which the newer version Agent is now able to serve up over MQTT/WS/HTTP.

Alternatively, DIME ([Machine Data Integration — Mr. IIoT](https://mriiot.com/integration)) has support for MTConnect and SpB.

Last year we started working on a MTConnect SparkplugB companion spec with Arlen. The work stalled but we came up with a nice demo. The right way to implement bridging the specifications is to use SpB Templates so everything unfolds nicely into Ignition UDTs.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 13, 2025, 11:30pm UTC](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013/20 "2025-04-13T23:30:35Z")

</div>

> [@cmisztur2](#):
>
> Are you counting 15 because of the XML schema versions?

Yeah, there are 15 schema versions, and with the JAXB code generation approach that's 15 sets of bindings only compatible with the version it was generated for.

> [@cmisztur2](#):
>
> But very few people take advantage of the model (/probe endpoint)

> [@cmisztur2](#):
>
> So something like Device/Axes/Linear/X/AbsolutePosition doesn't mean much to most

I was looking at this in the context of mapping it to OPC UA using the MTConnect companion spec, which brings with it the burden of the full complexity of the schemas.

[Next page](https://forum.inductiveautomation.com/t/mtconnect-compatibility/16013.md?page=2)
