MTConnect.NET-HTTP
5.1.0
See the version list below for details.
dotnet add package MTConnect.NET-HTTP --version 5.1.0
NuGet\Install-Package MTConnect.NET-HTTP -Version 5.1.0
<PackageReference Include="MTConnect.NET-HTTP" Version="5.1.0" />
paket add MTConnect.NET-HTTP --version 5.1.0
#r "nuget: MTConnect.NET-HTTP, 5.1.0"
// Install MTConnect.NET-HTTP as a Cake Addin #addin nuget:?package=MTConnect.NET-HTTP&version=5.1.0 // Install MTConnect.NET-HTTP as a Cake Tool #tool nuget:?package=MTConnect.NET-HTTP&version=5.1.0
MTConnect Http REST Clients
These client classes use the Http REST Api that is described in MTConnect Standard.
MTConnectHttpClient
The MTConnectHttpClient class is the primary class to use when wanting to implement the full MTConnect REST 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;
var baseUrl = "localhost:5000";
var client = new MTConnectHttpClient(baseUrl);
client.Interval = 500;
client.Start();
Get Specific Device by Name
using MTConnect.Clients;
var baseUrl = "localhost:5000";
var deviceName = "OKUMA-Lathe";
var client = new MTConnectHttpClient(baseUrl, deviceName);
client.Interval = 500;
client.Start();
Specfiy Hostname and Port
using MTConnect.Clients;
var hostname = "localhost";
var port = 5000;
var client = new MTConnectHttpClient(hostname, port);
client.Interval = 500;
client.Start();
Specfiy Hostname, Port, and Device
using MTConnect.Clients;
var hostname = "localhost";
var port = 5000;
var deviceName = "OKUMA.Lathe";
var client = new MTConnectHttpClient(hostname, port, deviceName);
client.Interval = 500;
client.Start();
Properties
Id
- A unique Identifier used to indentify this instance of the MTConnectClient classAuthority
- The authority portion consists of the DNS name or IP address associated with an AgentDevice
- If present, specifies that only the Equipment Metadata for the piece of equipment represented by the name or uuid will be publishedDocumentFormat
- Gets or Sets the Document Format to use (ex. XML, JSON, etc.)Interval
- Gets or Sets the Interval in Milliseconds for the Sample StreamTimeout
- Gets or Sets the connection timeout for the requestHeartbeat
- Gets or Sets the MTConnect Agent Heartbeat for the requestRetryInterval
- Gets or Sets the Interval in Milliseconds that the Client will attempt to reconnect if the connection failsMaximumSampleCount
- Gets or Sets the Maximum Number of Samples returned per interval from the Sample StreamContentEncodings
- Gets or Sets the List of Encodings (ex. gzip, br, deflate) to pass to the Accept-Encoding HTTP HeaderContentType
- Gets or Sets the Content-type (or MIME-type) to pass to the Accept HTTP HeaderLastInstanceId
- Gets the Last Instance ID read from the MTConnect AgentLastSequence
- Gets the Last Sequence read from the MTConnect AgentLastResponse
- Gets the Unix Timestamp (in Milliseconds) since the last response from the MTConnect AgentCurrentOnly
- Gets or Sets whether the stream requests a Current (true) or a Sample (false)
Handle Probe Received Event
(MTConnectDevices Response Document received from a Probe Request)
var baseUrl = "localhost:5000";
var deviceName = "OKUMA-Lathe";
var client = new MTConnectHttpClient(baseUrl, deviceName);
client.OnProbeReceived += (sender, document) =>
{
foreach (var device in document.Devices)
{
// Device
Console.WriteLine(device.Id);
// All DataItems (traverse the entire Device model)
foreach (var dataItem in device.GetDataItems())
{
Console.WriteLine(dataItem.IdPath);
}
// All Components (traverse the entire Device model)
foreach (var component in device.GetComponents())
{
Console.WriteLine(component.IdPath);
}
// All Compositions (traverse the entire Device model)
foreach (var composition in device.GetCompositions())
{
Console.WriteLine(composition.IdPath);
}
}
};
client.Start();
Handle Current Received Event
(MTConnectStreams Response Document received from a Current Request)
var baseUrl = "localhost:5000";
var deviceName = "OKUMA-Lathe";
var client = new MTConnectHttpClient(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 observation in componentStream.Observations)
{
Console.WriteLine(observation.DataItemId);
}
}
}
};
client.Start();
Handle Samples Received Event
(MTConnectStreams Response Document received from a Sample Stream)
var baseUrl = "localhost:5000";
var deviceName = "OKUMA-Lathe";
var client = new MTConnectHttpClient(baseUrl, deviceName);
client.Interval = 500;
client.OnSampleReceived += (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 observation in componentStream.Observations)
{
Console.WriteLine(observation.DataItemId);
}
}
}
};
client.Start();
Handle Assets Received Event
(MTConnectAssets Response Document received from an Asset Request)
var baseUrl = "localhost:5000";
var deviceName = "OKUMA-Lathe";
var client = new MTConnectHttpClient(baseUrl, deviceName);
client.Interval = 500;
client.OnAssetsReceived += (sender, document) =>
{
foreach (var asset in document.Assets)
{
// Print AssetId to the Console
Console.WriteLine(asset.AssetId);
}
};
client.Start();
MTConnectHttpProbeClient
The MTConnectHttpProbeClient class is used to send a Probe request and return an MTConnectDevices Response Document.
var baseUrl = "localhost:5000";
var deviceName = "OKUMA.Lathe";
var client = new MTConnectHttpProbeClient(baseUrl, deviceName);
var document = client.Get();
foreach (var device in document.Devices)
{
// Device
Console.WriteLine(device.Id);
// All DataItems (traverse the entire Device model)
foreach (var dataItem in device.GetDataItems())
{
Console.WriteLine(dataItem.IdPath);
}
// All Components (traverse the entire Device model)
foreach (var component in device.GetComponents())
{
Console.WriteLine(component.IdPath);
}
// All Compositions (traverse the entire Device model)
foreach (var composition in device.GetCompositions())
{
Console.WriteLine(composition.IdPath);
}
}
MTConnectHttpCurrentClient
The MTConnectHttpCurrentClient class is used to send a Current request and return an MTConnectStreams Response Document.
var baseUrl = "localhost:5000";
var deviceName = "OKUMA.Lathe";
var client = new MTConnectHttpCurrentClient(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 (Samples, Events, and Conditions)
foreach (var observation in componentStream.Observations)
{
Console.WriteLine(observation.DataItemId);
}
}
}
MTConnectHttpSampleClient
The MTConnectHttpSampleClient class is used to send a Sample request and return an MTConnectStreams Response Document.
var baseUrl = "localhost:5000";
var deviceName = "OKUMA.Lathe";
var fromSequence = 150;
var toSequence = 250;
var client = new MTConnectHttpSampleClient(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 (Samples, Events, and Conditions)
foreach (var observation in componentStream.Observations)
{
Console.WriteLine(observation.DataItemId);
}
}
}
MTConnectHttpAssetClient
The MTConnectHttpAssetClient class is used to send an Assets request and return an MTConnectAssets Response Document.
var baseUrl = "localhost:5000";
var deviceName = "OKUMA.Lathe";
var count = 5
var client = new MTConnectHttpAssetClient(baseUrl, deviceName, count);
var document = client.Get();
foreach (var asset in document.Assets)
{
// Print AssetId to the Console
Console.WriteLine(asset.AssetId);
}
Product | Versions 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 is compatible. 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. |
-
.NETCoreApp 3.1
- MTConnect.NET-Common (>= 5.1.0)
-
.NETFramework 4.6.1
- MTConnect.NET-Common (>= 5.1.0)
- System.Text.Json (>= 6.0.1)
-
.NETFramework 4.6.2
- MTConnect.NET-Common (>= 5.1.0)
- System.Text.Json (>= 6.0.1)
-
.NETFramework 4.7
- MTConnect.NET-Common (>= 5.1.0)
- System.Text.Json (>= 6.0.1)
-
.NETFramework 4.7.1
- MTConnect.NET-Common (>= 5.1.0)
- System.Text.Json (>= 6.0.1)
-
.NETFramework 4.7.2
- MTConnect.NET-Common (>= 5.1.0)
- System.Text.Json (>= 6.0.1)
-
.NETFramework 4.8
- MTConnect.NET-Common (>= 5.1.0)
- System.Text.Json (>= 6.0.1)
-
.NETStandard 2.0
- MTConnect.NET-Common (>= 5.1.0)
- System.Text.Json (>= 6.0.1)
-
net5.0
- MTConnect.NET-Common (>= 5.1.0)
-
net6.0
- MTConnect.NET-Common (>= 5.1.0)
-
net7.0
- MTConnect.NET-Common (>= 5.1.0)
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.5.0 | 780 | 10/21/2024 |
6.4.7 | 971 | 8/21/2024 |
6.4.6 | 642 | 8/7/2024 |
6.4.5 | 306 | 8/2/2024 |
6.4.4 | 530 | 7/16/2024 |
6.4.3 | 579 | 6/14/2024 |
6.4.2 | 411 | 6/12/2024 |
6.4.1 | 611 | 5/17/2024 |
6.4.0 | 402 | 5/14/2024 |
6.3.2-beta | 336 | 5/2/2024 |
6.3.1-beta | 466 | 4/24/2024 |
6.3.0-beta | 309 | 4/17/2024 |
6.2.2-beta | 360 | 4/5/2024 |
6.2.1-beta | 335 | 4/3/2024 |
6.2.0-beta | 303 | 3/27/2024 |
6.1.3-beta | 355 | 3/15/2024 |
6.1.2-beta | 325 | 3/15/2024 |
6.0.11-beta | 585 | 2/2/2024 |
6.0.10-beta | 494 | 1/26/2024 |
6.0.9-beta | 623 | 12/28/2023 |
6.0.8-beta | 576 | 12/27/2023 |
6.0.7-beta | 632 | 12/19/2023 |
6.0.5-beta | 698 | 12/14/2023 |
6.0.3-beta | 713 | 12/12/2023 |
6.0.1-beta | 788 | 12/7/2023 |
5.4.4 | 4,653 | 6/6/2023 |
5.4.3 | 2,935 | 5/20/2023 |
5.4.1 | 1,884 | 3/28/2023 |
5.4.0 | 1,921 | 3/20/2023 |
5.3.0 | 1,667 | 3/14/2023 |
5.2.0 | 1,810 | 3/5/2023 |
5.1.0 | 1,861 | 3/3/2023 |
5.0.0 | 4,975 | 2/3/2023 |
4.6.0 | 2,864 | 11/28/2022 |
4.5.0 | 3,094 | 10/18/2022 |
4.4.0 | 2,995 | 10/5/2022 |
4.3.0 | 3,109 | 9/20/2022 |
4.2.0 | 2,795 | 9/13/2022 |
4.1.0 | 2,789 | 8/30/2022 |
4.0.0 | 2,708 | 8/26/2022 |
3.4.2 | 3,373 | 6/20/2022 |
3.4.1 | 2,723 | 6/17/2022 |
3.4.0 | 2,517 | 6/16/2022 |
3.3.1 | 3,044 | 4/27/2022 |
3.3.0 | 2,609 | 4/13/2022 |
3.2.0 | 2,534 | 3/29/2022 |