-
Notifications
You must be signed in to change notification settings - Fork 4
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.
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.
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.
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.
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.
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.
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.
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.