MTConnect.NET Versions Save

Fully featured .NET library in C# to build MTConnect Agent, Adapter, and Client Applications. Pre-built Agents with Windows Installers. Support for Windows and Linux. Supports MTConnect Versions up to 2.3. Supports .NET Framework 4.6.1 up to .NET 8

v6.1.2-beta

2 months ago
  • Updated for MTConnect v2.3
  • Added FormatError event to MTConnectHttpClient to receive errors during XML/Json deserialization
  • Added Validate() method to Observation class to allow a client to validate observations

v6.0.11-beta

4 months ago
  • Fixed issue with Conditions with same Native Code
  • Added methods to Device, Component, Composition to set IDs and Add DataItems
  • Added MTConnectInputAgentModule class to use for embedded adapters
  • Fixed issues with SHDR Adapter in Agent Device
  • Fixed various minor issues

v6.0.9-beta

5 months ago
  • Fixed issue with Device MTConnectVersion and Hash output
  • Removed InstanceId property for Device (not in MTConnect Standard but was used in old MQTT protocol)

v6.0.8-beta

5 months ago
  • Fixed issue with missing methods in ShdrAdapter class
  • Fixed issue with IgnoreTimestamps and OutputTimestamps options for MTConnectAdapter and ShdrAdapter classes
  • Updated to filter "Types::" prefix in SysML imported description

v6.0.7-beta

5 months ago
  • Fixed issue with CuttingItems in XML, JSON, and JSON-CPPAGENT
  • Fixed issue with Composition class names
  • Added missing methods to ShdrAdapter
  • Added ConnectionError event to ShdrAdapter. Related to #53.

v6.0.5-beta

5 months ago

This is the first release of the Version 6 beta. Included in this release are several considerable changes:

New Modular architecture

The Agent application is now consolidated into a single application that relies on separate modules to implement features such as an HTTP Server, MQTT, SHDR, etc. Hopefully this will be easier, more flexible, and allow for custom modules. Along with the Agent, the Adapter application is now modular as well. The modules implement the SHDR Protocol as well as MQTT to transfer to an Agent. The core application handles the Data Source as well as the Send Queues. I will be providing more examples and documentation for this in the following releases.

Script Processing

This is now a Processor plugin that can be loaded to transform data or perform custom actions. The first processor implemented is one that runs Python scripts. These scripts can access all of the properties of an observation or asset as well as the Agent object.

SysML Integration

Since the release of MTConnect 2.0 the standard is represented in a SysML model. This new release utilizes this machine readable model in order to generate source files so that all of the descriptions and properties are kept up to date and accurate to the model.

Logging

Logging has been improved so that each module can output to its own log file so that it is easier to troubleshoot.

MQTT

The MQTT protocol is updated to match that of the C++ Reference Agent. The previous protocol will be converted to an "Expanded" or "Entity" version as there are still some use cases for it. There is now an MTConnectMqttClient that reads the new protocol and can be interchanged with the MTConnectHttpClient using either the IMTConnectClient or IMTConnectEntityClient interfaces.

JSON

Since JSON is not officially supported by MTConnect, I started off with my own format that differs from the format used by the C++ Reference Agent. There is now a "JSON" and a "JSON-CPPAGENT" Document Format IDs to be able to read/write using either.

HTTP Server

The Ceen Http Server is now used to replace the previous HttpListener. This provides better control as well as better HTTPS support. One of the reasons I am releasing this as a "beta" is to test this new server.

TLS

TLS is now better supported for both the HTTP Server and MQTT.

Notes

  • The official Version 6 release should be a few months and I will keep Version 5 as the "master" branch and the Version 6 in the "version-6" branch.
  • Published new Nuget packages and Docker images.
  • Restructured the repo (libraries, agent, and adapter)

Please let me know if you run into any issues or see anything that can be improved. -Patrick

v5.4.3

1 year ago

This release includes:

  • Updates from Pull Request #47
  • Updates from Pull Request #49
  • Added ability to override the Device file on Gateway agents. Example usage is to set Filters on the Gateway Agent that are more restrictive than on the source Agent
  • Update to fix issue with Period Filter

v5.4.1

1 year ago

Fixes issue with SHDR output with ShdrAdapter.OutputTimestamps set to False by adding the necessary preceding "|" to the line. This addresses Issue #46.

v5.4.0

1 year ago
  • Updates to the MQTT implementation
    • Added support for a connection heartbeat to determine if the Agent is connected to the broker
    • Added support for multiple intervals to publish Observations
      • Example: MTConnect/Devices/test-device/Observations[1000] would publish at a maximum window of 1000ms
    • Added InstanceId to individual JSON entities. This is used to determine if the agent/model has changed.
  • Added Category property to JSON output to address issue #45

v5.3.0

1 year ago
  • Removed filtering for Observation timestamps that don't have an explicit Filter defined, this is the proper MTConnect functionality. This was causing an issue specifically for the Gateway agents as the initial read is often slightly delayed. This change addresses the problems discussed in #43
  • Fixed issues with MQTT certificates related to #42
  • Added MqttTopicPrefix configuration parameter
  • Added documentation to connect to AWS IoT, AWS Greengrass Moquette, and AWS Greengrass MQTT Bridge