Skip to content

Commit cb12bbd

Browse files
Merge branch 'MTConnect-v2.4'
2 parents da0dc74 + c856e3c commit cb12bbd

26 files changed

+488
-32
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
[![MTConnect.NET](https://github.com/TrakHound/MTConnect.NET/actions/workflows/dotnet.yml/badge.svg)](https://github.com/TrakHound/MTConnect.NET/actions/workflows/dotnet.yml)
66

7-
> **New Release 5/13/2024** : Version 6.4 Released with new Agent, Adapter, & SysML Import
7+
> **New Release 10/21/2024** : Version 6.5 Released with support for MTConnect v2.4
88
99
## Download
1010
<table>
@@ -39,7 +39,7 @@
3939
</table>
4040

4141
## Overview
42-
MTConnect.NET is a fully featured and fully Open Source **[.NET](https://dotnet.microsoft.com/)** library for **[MTConnect](https://www.mtconnect.org/)** to develop Agents, Adapters, and Clients. Supports MTConnect Versions up to 2.3. A pre-compiled Agent application is available to download as well as an Adapter application that can be easily customized.
42+
MTConnect.NET is a fully featured and fully Open Source **[.NET](https://dotnet.microsoft.com/)** library for **[MTConnect](https://www.mtconnect.org/)** to develop Agents, Adapters, and Clients. Supports MTConnect Versions up to 2.4. A pre-compiled Agent application is available to download as well as an Adapter application that can be easily customized.
4343

4444
- .NET Native MTConnect Agent
4545
- Adapter framework used to send data to an MTConnect Agent
@@ -49,7 +49,7 @@ MTConnect.NET is a fully featured and fully Open Source **[.NET](https://dotnet.
4949
- Module based Agent & Adapter architecture
5050
- Supports running as Windows Service with easy to use command line arguments
5151
- Presistent Agent Buffers that are backed up on the File System. Retains state after Agent is restarted
52-
- Fully compatible up to the latest MTConnect v2.3
52+
- Fully compatible up to the latest MTConnect v2.4
5353
- Kept up to date by utilizing the MTConnect SysML Model to generate source files
5454
- Supports multiple MTConnect Version output. Automatically removes data that is not compatible with the requested version
5555
- Full client support for requesting data from any MTConnect Agent (Probe, Current, Sample Stream, Assets, etc.).

agent/MTConnect.NET-Agent/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
</table>
2929

3030
## Overview
31-
This project is a full implementation of an MTConnect Agent used to read data from industrial machine tools and devices. This MTConnect Agent application is fully compatible with the latest **Version 2.3 of the MTConnect Standard**.
31+
This project is a full implementation of an MTConnect Agent used to read data from industrial machine tools and devices. This MTConnect Agent application is fully compatible with the latest **Version 2.4 of the MTConnect Standard**.
3232

3333
#### Features
3434
- Plugin architecture to support Http Server, Mqtt Server, SHDR Adapters, etc.

build/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System.Reflection;
22

3-
[assembly: AssemblyVersion("6.4.7")]
4-
[assembly: AssemblyFileVersion("6.4.7")]
3+
[assembly: AssemblyVersion("6.5.0")]
4+
[assembly: AssemblyFileVersion("6.5.0")]
55
[assembly: AssemblyCompany("TrakHound Inc.")]
66
[assembly: AssemblyCopyright("Copyright (c) 2024 TrakHound Inc., All Rights Reserved.")]

build/MTConnect.NET-SysML-Import/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
using System.Text.Json;
66

77
//var xmlPath = @"D:\TrakHound\MTConnect\MTConnectSysMLModel.xml";
8-
var xmlPath = @"D:\TrakHound\MTConnect\Standard\v2.3\MTConnectSysMLModel.xml";
8+
var xmlPath = @"D:\TrakHound\MTConnect\Standard\v2.4\MTConnectSysMLModel.xml";
99

1010
var mtconnectModel = MTConnectModel.Parse(xmlPath);
1111

libraries/MTConnect.NET-Common/Assets/ComponentConfigurationParameters/IParameter.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
namespace MTConnect.Assets.ComponentConfigurationParameters
55
{
66
/// <summary>
7-
/// Property defining a configuration of a Component.
7+
/// Property that determines the characteristic or behavior of an entity.
88
/// </summary>
99
public interface IParameter
1010
{

libraries/MTConnect.NET-Common/Assets/ComponentConfigurationParameters/IParameterSet.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public interface IParameterSet
1414
string Name { get; }
1515

1616
/// <summary>
17-
/// Property defining a configuration of a Component.
17+
/// Property that determines the characteristic or behavior of an entity.
1818
/// </summary>
1919
System.Collections.Generic.IEnumerable<MTConnect.Assets.ComponentConfigurationParameters.IParameter> Parameters { get; }
2020
}

libraries/MTConnect.NET-Common/Assets/ComponentConfigurationParameters/Parameter.g.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
namespace MTConnect.Assets.ComponentConfigurationParameters
77
{
88
/// <summary>
9-
/// Property defining a configuration of a Component.
9+
/// Property that determines the characteristic or behavior of an entity.
1010
/// </summary>
1111
public class Parameter : IParameter
1212
{
13-
public const string DescriptionText = "Property defining a configuration of a Component.";
13+
public const string DescriptionText = "Property that determines the characteristic or behavior of an entity.";
1414

1515

1616
/// <summary>

libraries/MTConnect.NET-Common/Assets/ComponentConfigurationParameters/ParameterSet.g.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class ParameterSet : IParameterSet
1919
public string Name { get; set; }
2020

2121
/// <summary>
22-
/// Property defining a configuration of a Component.
22+
/// Property that determines the characteristic or behavior of an entity.
2323
/// </summary>
2424
public System.Collections.Generic.IEnumerable<MTConnect.Assets.ComponentConfigurationParameters.IParameter> Parameters { get; set; }
2525
}

libraries/MTConnect.NET-Common/Assets/ComponentConfigurationParameters/ParameterSetDescriptions.g.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ public static class ParameterSetDescriptions
1111
public const string Name = "Name of the parameter set if more than one exists.";
1212

1313
/// <summary>
14-
/// Property defining a configuration of a Component.
14+
/// Property that determines the characteristic or behavior of an entity.
1515
/// </summary>
16-
public const string Parameters = "Property defining a configuration of a Component.";
16+
public const string Parameters = "Property that determines the characteristic or behavior of an entity.";
1717
}
1818
}

libraries/MTConnect.NET-Common/Devices/Components/TankComponent.g.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
namespace MTConnect.Devices.Components
77
{
88
/// <summary>
9-
/// Leaf Component composed of a receptacle or container that holds material.
9+
/// Leaf Component generally composed of an enclosed container.
1010
/// </summary>
1111
public class TankComponent : Component
1212
{
1313
public const string TypeId = "Tank";
1414
public const string NameId = "tank";
15-
public new const string DescriptionText = "Leaf Component composed of a receptacle or container that holds material.";
15+
public new const string DescriptionText = "Leaf Component generally composed of an enclosed container.";
1616

1717
public override string TypeDescription => DescriptionText;
1818

libraries/MTConnect.NET-Common/Devices/Components/VatComponent.g.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
namespace MTConnect.Devices.Components
77
{
88
/// <summary>
9-
/// Leaf Component composed of a container that holds liquid or powdered materials.
9+
/// Leaf Component generally composed of an open container.
1010
/// </summary>
1111
public class VatComponent : Component
1212
{
1313
public const string TypeId = "Vat";
1414
public const string NameId = "vat";
15-
public new const string DescriptionText = "Leaf Component composed of a container that holds liquid or powdered materials.";
15+
public new const string DescriptionText = "Leaf Component generally composed of an open container.";
1616

1717
public override string TypeDescription => DescriptionText;
1818

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright (c) 2024 TrakHound Inc., All Rights Reserved.
2+
// TrakHound Inc. licenses this file to you under the MIT license.
3+
4+
// MTConnect SysML v2.3 : UML ID = _19_0_3_68e0225_1712320901547_688092_333
5+
6+
namespace MTConnect.Devices.DataItems
7+
{
8+
/// <summary>
9+
/// Textual description of the location of an object or activity.
10+
/// </summary>
11+
public class LocationNarrativeDataItem : DataItem
12+
{
13+
public const DataItemCategory CategoryId = DataItemCategory.EVENT;
14+
public const string TypeId = "LOCATION_NARRATIVE";
15+
public const string NameId = "locationNarrative";
16+
17+
18+
public new const string DescriptionText = "Textual description of the location of an object or activity.";
19+
20+
public override string TypeDescription => DescriptionText;
21+
22+
23+
24+
25+
public LocationNarrativeDataItem()
26+
{
27+
Category = CategoryId;
28+
Type = TypeId;
29+
Name = NameId;
30+
31+
32+
}
33+
34+
public LocationNarrativeDataItem(string deviceId)
35+
{
36+
Id = CreateId(deviceId, NameId);
37+
Category = CategoryId;
38+
Type = TypeId;
39+
Name = NameId;
40+
41+
42+
}
43+
}
44+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright (c) 2024 TrakHound Inc., All Rights Reserved.
2+
// TrakHound Inc. licenses this file to you under the MIT license.
3+
4+
// MTConnect SysML v2.3 : UML ID = _19_0_3_68e0225_1712322699365_211671_599
5+
6+
namespace MTConnect.Devices.DataItems
7+
{
8+
/// <summary>
9+
/// Absolute geographic location defined by two coordinates, longitude and latitude and an elevation.
10+
/// </summary>
11+
public class LocationSpatialGeographicDataItem : DataItem
12+
{
13+
public const DataItemCategory CategoryId = DataItemCategory.EVENT;
14+
public const string TypeId = "LOCATION_SPATIAL_GEOGRAPHIC";
15+
public const string NameId = "locationSpatialGeographic";
16+
public const DataItemRepresentation DefaultRepresentation = DataItemRepresentation.TABLE;
17+
18+
public new const string DescriptionText = "Absolute geographic location defined by two coordinates, longitude and latitude and an elevation.";
19+
20+
public override string TypeDescription => DescriptionText;
21+
22+
public override System.Version MinimumVersion => MTConnectVersions.Version23;
23+
24+
25+
public LocationSpatialGeographicDataItem()
26+
{
27+
Category = CategoryId;
28+
Type = TypeId;
29+
Name = NameId;
30+
Representation = DefaultRepresentation;
31+
32+
}
33+
34+
public LocationSpatialGeographicDataItem(string deviceId)
35+
{
36+
Id = CreateId(deviceId, NameId);
37+
Category = CategoryId;
38+
Type = TypeId;
39+
Name = NameId;
40+
Representation = DefaultRepresentation;
41+
42+
}
43+
}
44+
}
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
// Copyright (c) 2024 TrakHound Inc., All Rights Reserved.
2+
// TrakHound Inc. licenses this file to you under the MIT license.
3+
4+
// MTConnect SysML v2.3 : UML ID = _19_0_3_68e0225_1712321222573_635969_358
5+
6+
namespace MTConnect.Devices.DataItems
7+
{
8+
/// <summary>
9+
/// Dimension between two surfaces of an object, usually the dimension of smallest measure, for example an additive layer, or a depth of cut.
10+
/// </summary>
11+
public class ThicknessDataItem : DataItem
12+
{
13+
public const DataItemCategory CategoryId = DataItemCategory.EVENT;
14+
public const string TypeId = "THICKNESS";
15+
public const string NameId = "thickness";
16+
public const DataItemRepresentation DefaultRepresentation = DataItemRepresentation.VALUE;
17+
18+
public new const string DescriptionText = "Dimension between two surfaces of an object, usually the dimension of smallest measure, for example an additive layer, or a depth of cut.";
19+
20+
public override string TypeDescription => DescriptionText;
21+
22+
23+
24+
25+
public enum SubTypes
26+
{
27+
/// <summary>
28+
/// ACTUAL.
29+
/// </summary>
30+
ACTUAL,
31+
32+
/// <summary>
33+
/// COMMANDED.
34+
/// </summary>
35+
COMMANDED,
36+
37+
/// <summary>
38+
/// TARGET.
39+
/// </summary>
40+
TARGET,
41+
42+
/// <summary>
43+
/// PROGRAMMED.
44+
/// </summary>
45+
PROGRAMMED
46+
}
47+
48+
49+
public ThicknessDataItem()
50+
{
51+
Category = CategoryId;
52+
Type = TypeId;
53+
Name = NameId;
54+
Representation = DefaultRepresentation;
55+
56+
}
57+
58+
public ThicknessDataItem(
59+
string parentId,
60+
SubTypes subType
61+
)
62+
{
63+
Id = CreateId(parentId, NameId, GetSubTypeId(subType));
64+
Category = CategoryId;
65+
Type = TypeId;
66+
SubType = subType.ToString();
67+
Name = NameId;
68+
Representation = DefaultRepresentation;
69+
70+
}
71+
72+
public override string SubTypeDescription => GetSubTypeDescription(SubType);
73+
74+
public static string GetSubTypeDescription(string subType)
75+
{
76+
var s = subType.ConvertEnum<SubTypes>();
77+
switch (s)
78+
{
79+
case SubTypes.ACTUAL: return "ACTUAL.";
80+
case SubTypes.COMMANDED: return "COMMANDED.";
81+
case SubTypes.TARGET: return "TARGET.";
82+
case SubTypes.PROGRAMMED: return "PROGRAMMED.";
83+
}
84+
85+
return null;
86+
}
87+
88+
public static string GetSubTypeId(SubTypes subType)
89+
{
90+
switch (subType)
91+
{
92+
case SubTypes.ACTUAL: return "ACTUAL";
93+
case SubTypes.COMMANDED: return "COMMANDED";
94+
case SubTypes.TARGET: return "TARGET";
95+
case SubTypes.PROGRAMMED: return "PROGRAMMED";
96+
}
97+
98+
return null;
99+
}
100+
101+
}
102+
}

libraries/MTConnect.NET-Common/Devices/NativeUnits.g.cs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public static class NativeUnits
2020
/// </summary>
2121
public const string CENTIPOISE = "CENTIPOISE";
2222

23+
/// <summary>
24+
/// Geometric volume in feet.
25+
/// </summary>
26+
public const string CUBIC_FOOT = "CUBIC_FOOT";
27+
2328
/// <summary>
2429
/// Change of geometric volume in cubic foot per hour.
2530
/// </summary>
@@ -105,6 +110,11 @@ public static class NativeUnits
105110
/// </summary>
106111
public const string INCH_PER_MINUTE = "INCH/MINUTE";
107112

113+
/// <summary>
114+
/// Inch per revolution.
115+
/// </summary>
116+
public const string INCH_PER_REVOLUTION = "INCH/REVOLUTION";
117+
108118
/// <summary>
109119
/// Inches per second.
110120
/// </summary>
@@ -181,15 +191,20 @@ public static class NativeUnits
181191
public const string RADIAN_PER_MINUTE = "RADIAN/MINUTE";
182192

183193
/// <summary>
184-
/// Rotational acceleration in radian per second squared.
194+
/// Velocity in radians per second.
185195
/// </summary>
186196
public const string RADIAN_PER_SECOND = "RADIAN/SECOND";
187197

188198
/// <summary>
189-
/// Rotational acceleration in radian per second squared.
199+
/// Acceleration in radians per second squared.
190200
/// </summary>
191201
public const string RADIAN_PER_SECOND_SQUARED = "RADIAN/SECOND^2";
192202

203+
/// <summary>
204+
/// Geometric area in inches.
205+
/// </summary>
206+
public const string SQUARE_INCH = "SQUARE_INCH";
207+
193208
/// <summary>
194209
/// Pressure in Torr.
195210
/// </summary>

0 commit comments

Comments
 (0)