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
This is the first release of the Version 6 beta. Included in this release are several considerable changes:
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.
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.
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 has been improved so that each module can output to its own log file so that it is easier to troubleshoot.
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.
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.
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 is now better supported for both the HTTP Server and MQTT.
Please let me know if you run into any issues or see anything that can be improved. -Patrick
This release includes:
Fixes issue with SHDR output with ShdrAdapter.OutputTimestamps set to False by adding the necessary preceding "|" to the line. This addresses Issue #46.