I’ve published a major upgrade to the OpenNETCF MTConnect Managed SDK over on Codeplex. Earlier releases only had Agent support, but this release adds Client support. The SDK supports both the Compact Framework and the Full Framework (version 3.5 of each).
If you’re wondering exactly what MTConnect is, it is a standard for how data should be published from machine tools as XML over a simple Web interface. More information on the standard can be found on the MTConnect Institute’s web site, including the full specification. This SDK allows managed developers to publish and/or consume data according to the standard.
The MTConnect Agent SDK I published last week is really only useful if you implement a Host to actually serve up the data. The IHost interface isn’t complex, but if you don’t have an example, it’s a bit difficult to understand my intent. I’ve published a desktop implementation that uses Padarn as the web server. In theory the same code should work under Windows CE as well, but I’ve not yet tested it to be certain.
I do quite a bit of my work in the area of industrial automation, and one of the more interesting initiatives to come along in a while is called MTConnect (“MT” presumably for “Machine Tool”). MTConnect is an open standard for communicating with a machine tool to retrieve information about its current or past status – everything from executing controller line of code to tool head positions. It’s interesting enough that I joined the Technical Advisory Group and am helping to review and improve the specification (version 1.1.0 was just ratified last week).
As frequently seems to be the case, there was a bit of interest from other members on exposing MTConnect data from tools running Windows OSes (both CE and XPe), but no one working on providing an actual SDK to allow a standardized way to actually do it. Well implementing code from nothing but a spec is actually something I find pretty fun and interesting, so I took up the challenge. My first attempt was, as is typical, more of a throw-away attempt at writing code to help me understand how the spec itself works. I spent a couple weeks on it then tossed it all out.
I then took the knowledge I gained from that first effort and put together a more coherent SDK that I’m releasing a loose Beta of today over on Codeplex. It’s not done – in fact I wanted to get a few more features in and get it to a releasable point before publishing it, but I’ve already gotten inquiries and volunteers to test out the beta work, so I’m publishing early to facilitate sharing the code between teams and to allow me to track bugs and discuss the SDK in a publicly searchable location.
I’m working on a specific project that is going to use this SDK, so I have a specific set of funtionality that I’m driving toward, but that doesn’t mean I’m not open to making it easier for everyone to use. If you’re working on machine tool controllers and are interested in exposing data meeting the MTConnect standard, I encourage you to take a look at the Agent SDK, post questions in the Discussions area and report bugs/desired features to help drive the effort forward.