Skip to content
pmcoltrane edited this page Sep 14, 2012 · 2 revisions

Roadmap

This is currently a hobby project to learn more about both MTConnect and Node.js, so development will be dependent upon my free time.

Missing Features

Assets

MTConnect supports non-fixed machine resources (such as cutting tools) through an assets resource. The current version does not implement assets. However, since this version also does not perform any XSD validation, an adapter could report the values of asset-related dataitems to the agent.

I've noticed that agent.mtconnect.org is now serving asset data. I don't have a good understanding of it yet, but the asset resource appears to be analogous to the probe resource, but for non-fixed resources. If this is the case, implementation will probably happen by loading an assets.xml configuration file.

Interval parameter

The MTConnect standard specifies an optional interval parameter for both the current and sample resources, which is an interval (in seconds) at which new data should be reported. When specified, the agent sends an appropriate MTConnectStreams document at least once each interval. This allows an MTConnect client to maintain a single persistent connection.

This would be pretty handy, so I hope to implement it soon.

Path parameter

The MTConnect standard specifies an optional path parameter for both the current and sample resources, which is an XPath expression specifying which dataitems to report.

This is useful for filtering only dataitems of interest. I'm looking for an XPath parser to use.

Validation

No validation is performed on the probe.xml configuration file to verify that it is in a proper format, and complies with the XSD specification.

Additionally, no validation is performed on the values passed into the agent by the adapter, to verify that the values satisfy any conditions, or are appropriate for the type of DataItem.

Constrained Values

The MTConnect standard provides for constraints on DataItem values. If only one value is allowed (e.g. a Rotary axis is constrained to SPINDLE mode), then the DataItem should initialize to that value, rather than UNAVAILABLE.

Bugs

Sequence Numbers and Instance IDs

Both of these are supposed to be UInt64. Javascript's primitive numeric type is floating point and does not provide that full range. There are several arbitrary precision libraries written in Javascript that should provide a datatype that supports a range equivalent to UInt64.

Other Bugs

I don't yet know about them. If anyone else is actually looking at this project and notes any bugs, please report them under the Issues tab.