MTConnect.NET-HTTP 3.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package MTConnect.NET-HTTP --version 3.2.0
NuGet\Install-Package MTConnect.NET-HTTP -Version 3.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MTConnect.NET-HTTP" Version="3.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MTConnect.NET-HTTP --version 3.2.0
#r "nuget: MTConnect.NET-HTTP, 3.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MTConnect.NET-HTTP as a Cake Addin
#addin nuget:?package=MTConnect.NET-HTTP&version=3.2.0

// Install MTConnect.NET-HTTP as a Cake Tool
#tool nuget:?package=MTConnect.NET-HTTP&version=3.2.0

MTConnect® Http REST Clients

These client classes use the Http REST Api that is described in Part 1 : Section 5.4 & Section 8 of the MTConnect Standard.

MTConnectClient

The MTConnectClient class is the primary class to use when wanting to implement the full MTConnect protocol. This class handles an initial Probe request to gather capabilities of the Agent, a Current request to read the initial values, and a Sample request (at the specified Interval) to read successive values.

Class Initialization

Class initialization is straightforward in that specifiying the BaseUrl (the URL of the Agent) is all that is required. Then call the Start() method to start the request sequence.

No Device Name (Get All Devices)
using MTConnect.Clients.Rest;

var baseUrl = "localhost:5006";

var client = new MTConnectClient(baseUrl);
client.Interval = 500;
client.Start();
Get Specific Device by Name
using MTConnect.Clients.Rest;

var deviceName = "OKUMA.Lathe";
var baseUrl = "localhost:5000";

var client = new MTConnectClient(baseUrl, deviceName);
client.Interval = 500;
client.Start();

Handle Probe Received Event

(MTConnectDevices Response Document received from a Probe Request)
var client = new MTConnectClient(baseUrl, deviceName);
client.OnProbeReceived += (sender, document) =>
{
    foreach (var device in document.Devices)
    {
        // Device
        Console.WriteLine(device.Id);

        // DataItems
        foreach (var dataItem in device.DataItems)
        {
            Console.WriteLine(dataItem.Id);
        }

        // Components
        foreach (var component in device.Components)
        {
            Console.WriteLine(component.Id);
        }
    }
};
client.Start();

Handle Current Received Event

(MTConnectStreams Response Document received from a Current Request)
var client = new MTConnectClient(baseUrl, deviceName);
client.OnCurrentReceived += (sender, document) =>
{
    foreach (var deviceStream in document.Streams)
    {
        // DeviceStream
        Console.WriteLine(deviceStream.Name);

        // Component Streams
        foreach (var componentStream in deviceStream.ComponentStreams)
        {
            Console.WriteLine(componentStream.Name);

            // DataItems (Samples, Events, and Conditions)
            foreach (var dataItem in componentStream.DataItems)
            {
                Console.WriteLine(dataItem.DataItemId);
            }
        }
    }
};
client.Start();

Handle Samples Received Event

(MTConnectStreams Response Document received from a Sample Stream)
var client = new MTConnectClient(baseUrl, deviceName);
client.Interval = 500;
client.OnSampleReceived += (sender, document) =>
{
    foreach (var deviceStream in document.Streams)
    {
        // Device
        Console.WriteLine(deviceStream.Name);

        // Component Streams
        foreach (var componentStream in deviceStream.ComponentStreams)
        {
            Console.WriteLine(componentStream.Name);

            // DataItems
            foreach (var dataItem in componentStream.DataItems)
            {
                Console.WriteLine(dataItem.DataItemId);
            }
        }
    }
};
client.Start();

MTConnectProbeClient

The MTConnectProbeClient class is used to send a Probe request and return an MTConenctDevices Response Document.

using MTConnect.Clients.Rest;

var deviceName = "OKUMA.Lathe";
var baseUrl = "localhost:5000";

var client = new MTConnectProbeClient(baseUrl, deviceName);
var document = client.Get();
foreach (var device in document.Devices)
{
    // Device
    Console.WriteLine(device.Id);

    // DataItems
    foreach (var dataItem in device.DataItems)
    {
        Console.WriteLine(dataItem.Id);
    }

    // Components
    foreach (var component in device.Components)
    {
        Console.WriteLine(component.Id);
    }
}

MTConnectCurrentClient

The MTConnectCurrentClient class is used to send a Current request and return an MTConenctStreams Response Document.

using MTConnect.Clients.Rest;

var deviceName = "OKUMA.Lathe";
var baseUrl = "localhost:5006";

var client = new MTConnectCurrentClient(baseUrl, deviceName);
var document = client.Get();
foreach (var deviceStream in document.Streams)
{
    // Device
    Console.WriteLine(deviceStream.Name);

    // Component Streams
    foreach (var componentStream in deviceStream.ComponentStreams)
    {
        Console.WriteLine(componentStream.Name);

        // DataItems
        foreach (var dataItem in componentStream.DataItems)
        {
            Console.WriteLine(dataItem.DataItemId);
        }
    }
}

MTConnectSampleClient

The MTConnectSampleClient class is used to send a Sample request and return an MTConenctStreams Response Document.

using MTConnect.Clients.Rest;

var deviceName = "OKUMA.Lathe";
var baseUrl = "localhost:5006";
var fromSequence = 150;
var toSequence = 250;

var client = new MTConnectSampleClient(baseUrl, deviceName, fromSequence, toSequence);
var document = client.Get();
foreach (var deviceStream in document.Streams)
{
    // Device
    Console.WriteLine(deviceStream.Name);

    // Component Streams
    foreach (var componentStream in deviceStream.ComponentStreams)
    {
        Console.WriteLine(componentStream.Name);

        // DataItems
        foreach (var dataItem in componentStream.DataItems)
        {
            Console.WriteLine(dataItem.DataItemId);
        }
    }
}
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 is compatible.  net462 is compatible.  net463 was computed.  net47 is compatible.  net471 is compatible.  net472 is compatible.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on MTConnect.NET-HTTP:

Package Downloads
MTConnect.NET

MTConnect.NET is a fully featured .NET library for MTConnect Agents, Adapters, and Clients. Supports MTConnect Versions up to 2.3. Supports .NET Framework 4.6.1 up to .NET 8

MTConnect.NET-SHDR

MTConnect.NET-SHDR implements the SHDR Adapter Protocol for use with the MTConnect.NET library. Supports MTConnect Versions up to 2.3. Supports .NET Framework 4.6.1 up to .NET 8

MTConnect.NET-HTTP-AspNetCore

MTConnect.NET-HTTP-AspNetCore is an extension library to MTConnect.NET that uses ApiControllers and the built-in features for Asp.NET Core up to .NET 7

MTConnect.NET-DeviceFinder

MTConnect.NET-DeviceFinder contains classes to find MTConnect Devices on a network. Supports MTConnect Versions up to 2.3. Supports .NET Framework 4.6.1 up to .NET 8

MTConnect.NET-AgentModule-HttpServer

MTConnect.NET-AgentModule-HttpServer implements a server for the MTConnect HTTP REST Protocol for use with the MTConnectAgentApplication class in the MTConnect.NET-Applications-Agents library. Supports MTConnect Versions up to 2.3. Supports .NET Framework 4.6.1 up to .NET 8

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
6.2.2-beta 105 4/5/2024
6.2.1-beta 113 4/3/2024
6.2.0-beta 104 3/27/2024
6.1.3-beta 150 3/15/2024
6.1.2-beta 126 3/15/2024
6.0.11-beta 325 2/2/2024
6.0.10-beta 274 1/26/2024
6.0.9-beta 402 12/28/2023
6.0.8-beta 368 12/27/2023
6.0.7-beta 417 12/19/2023
6.0.5-beta 468 12/14/2023
6.0.3-beta 439 12/12/2023
6.0.1-beta 475 12/7/2023
5.4.4 3,382 6/6/2023
5.4.3 2,083 5/20/2023
5.4.1 1,698 3/28/2023
5.4.0 1,816 3/20/2023
5.3.0 1,556 3/14/2023
5.2.0 1,690 3/5/2023
5.1.0 1,759 3/3/2023
5.0.0 4,144 2/3/2023
4.6.0 2,713 11/28/2022
4.5.0 2,968 10/18/2022
4.4.0 2,882 10/5/2022
4.3.0 3,015 9/20/2022
4.2.0 2,678 9/13/2022
4.1.0 2,674 8/30/2022
4.0.0 2,602 8/26/2022
3.4.2 3,058 6/20/2022
3.4.1 2,612 6/17/2022
3.4.0 2,438 6/16/2022
3.3.1 2,893 4/27/2022
3.3.0 2,504 4/13/2022
3.2.0 2,410 3/29/2022