This commit is contained in:
Đăng Nguyễn
2025-09-15 17:39:02 +07:00
parent cf309cccba
commit 0d97684f70
69 changed files with 1363 additions and 412 deletions

View File

@@ -2,8 +2,6 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public enum ValueDataType
{
BOOL,
@@ -17,9 +15,9 @@ public enum ValueDataType
public class ActionParameters
{
[Required]
public string Key { get; set; }
public string Key { get; set; } = string.Empty;
[Required]
public string ValueDataType { get; set; }
public string Description { get; set; }
public string ValueDataType { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public bool IsOptional { get; set; }
}

View File

@@ -2,7 +2,6 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public enum ActionScopes
{
@@ -13,11 +12,11 @@ public enum ActionScopes
public class AgvActions
{
[Required]
public string ActionType { get; set; }
public string ActionDescription { get; set; }
public string ActionType { get; set; } = string.Empty;
public string ActionDescription { get; set; } = string.Empty;
[Required]
public string[] ActionScopes { get; set; }
public ActionParameters[] ActionParameters { get; set; }
public string ResultDescription { get; set; }
public string[] BlockingTypes { get; set; }
public string[] ActionScopes { get; set; } = [];
public ActionParameters[] ActionParameters { get; set; } = [];
public string ResultDescription { get; set; } = string.Empty;
public string[] BlockingTypes { get; set; } = [];
}

View File

@@ -2,11 +2,10 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public class AgvGeometry
{
public WheelDefinitions[] WheelDefinitions { get; set; }
public Envelopes2d[] Envelopes2d { get; set; }
public Envelopes3d[] Envelopes3d { get; set; }
public WheelDefinitions[] WheelDefinitions { get; set; } = [];
public Envelopes2d[] Envelopes2d { get; set; } = [];
public Envelopes3d[] Envelopes3d { get; set; } = [];
}

View File

@@ -2,8 +2,6 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public class PolygonPoints
{
[Required]
@@ -14,8 +12,8 @@ public class PolygonPoints
public class Envelopes2d
{
[Required]
public string Set { get; set; }
public string Set { get; set; } = string.Empty;
[Required]
public PolygonPoints[] PolygonPoints { get; set; }
public string Description { get; set; }
public PolygonPoints[] PolygonPoints { get; set; } = [];
public string Description { get; set; } = string.Empty;
}

View File

@@ -2,15 +2,13 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public class Envelopes3d
{
[Required]
public string Set { get; set; }
public string Set { get; set; } = string.Empty;
[Required]
public string Format { get; set; }
public object Data { get; set; }
public string Url { get; set; }
public string Description { get; set; }
public string Format { get; set; } = string.Empty;
public object Data { get; set; } = string.Empty;
public string Url { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
}

View File

@@ -2,29 +2,27 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public class FactSheetMsg
{
public uint HeaderId { get; set; }
public string Timestamp { get; set; }
public uint HeaderId { get; set; } = 1;
public string Timestamp { get; set; } = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
[Required]
public string Version { get; set; }
public string Version { get; set; } = "1.0.0";
[Required]
public string Manufacturer { get; set; }
public string Manufacturer { get; set; } = "PhenikaaX";
[Required]
public string SerialNumber { get; set; }
public string SerialNumber { get; set; } = string.Empty;
[Required]
public TypeSpecification TypeSpecification { get; set; }
public TypeSpecification TypeSpecification { get; set; } = new();
[Required]
public PhysicalParameters PhysicalParameters { get; set; }
public PhysicalParameters PhysicalParameters { get; set; } = new();
[Required]
public ProtocolLimits ProtocolLimits { get; set; }
public ProtocolLimits ProtocolLimits { get; set; } = new();
[Required]
public ProtocolFeatures ProtocolFeatures { get; set; }
public ProtocolFeatures ProtocolFeatures { get; set; } = new();
[Required]
public AgvGeometry AgvGeometry { get; set; }
public AgvGeometry AgvGeometry { get; set; } = new();
[Required]
public LoadSpecification LoadSpecification { get; set; }
//public LocalizationParameter LocalizationParameters { get; set; }
public LoadSpecification LoadSpecification { get; set; } = new();
}

View File

@@ -1,14 +1,12 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public class LoadSets
{
public string SetName { get; set; }
public string LoadType { get; set; }
public string[] LoadPositions { get; set; }
public BoundingBoxReference BoundingBoxReference { get; set; }
public LoadDimensions LoadDimensions { get; set; }
public string SetName { get; set; } = string.Empty;
public string LoadType { get; set; } = string.Empty;
public string[] LoadPositions { get; set; } = [];
public BoundingBoxReference BoundingBoxReference { get; set; } = new();
public LoadDimensions LoadDimensions { get; set; } = new();
public double MaxWeigth { get; set; }
public double MinLoadhandlingHeight { get; set; }
public double MaxLoadhandlingHeight { get; set; }
@@ -21,6 +19,6 @@ public class LoadSets
public double AgvDecelerationLimit { get; set; }
public double PickTime { get; set; }
public double DropTime { get; set; }
public string Description { get; set; }
public string Description { get; set; } = string.Empty;
}

View File

@@ -1,9 +1,8 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public class LoadSpecification
{
public string[] LoadPositions { get; set; }
public LoadSets[] LoadSets { get; set; }
public string[] LoadPositions { get; set; } = [];
public LoadSets[] LoadSets { get; set; } = [];
}

View File

@@ -2,7 +2,6 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public enum Support
{
@@ -12,8 +11,8 @@ public enum Support
public class OptionalParameters
{
[Required]
public string Parameter { get; set; }
public string Parameter { get; set; } = string.Empty;
[Required]
public string Support { get; set; }
public string Description { get; set; }
public string Support { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
}

View File

@@ -2,12 +2,11 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public class ProtocolFeatures
{
[Required]
public OptionalParameters[] OptionalParameters { get; set; }
public OptionalParameters[] OptionalParameters { get; set; } = [];
[Required]
public AgvActions[] AgvActions { get; set; }
public AgvActions[] AgvActions { get; set; } = [];
}

View File

@@ -2,13 +2,12 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public class ProtocolLimits
{
[Required]
public MaxStringLens MaxStringLens { get; set; }
public MaxStringLens MaxStringLens { get; set; } = new();
[Required]
public MaxArrayLens MaxArrayLens { get; set; }
public MaxArrayLens MaxArrayLens { get; set; } = new();
[Required]
public Timing Timing { get; set; }
public Timing Timing { get; set; } = new();
}

View File

@@ -2,8 +2,6 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public enum AgvKinematic
{
DIFF,
@@ -35,12 +33,12 @@ public enum NavigationTypes
public class TypeSpecification
{
[Required]
public string SeriesName { get; set; }
public string SeriesDescription { get; set; }
public string SeriesName { get; set; } = string.Empty;
public string SeriesDescription { get; set; } = string.Empty;
[Required]
public string AgvKinematic { get; set; }
public string AgvKinematic { get; set; } = string.Empty;
[Required]
public string AgvClass { get; set; }
public string AgvClass { get; set; } = string.Empty;
[Required]
public double MaxLoadMass { get; set; }
[Required]

View File

@@ -2,8 +2,6 @@
namespace RobotApp.VDA5050.Factsheet;
#nullable disable
public enum WheelDefinitionsType
{
DRIVE,
@@ -11,6 +9,7 @@ public enum WheelDefinitionsType
FIXED,
MECANUM,
}
public class WheelDefinitionsPosition
{
[Required]
@@ -23,17 +22,17 @@ public class WheelDefinitionsPosition
public class WheelDefinitions
{
[Required]
public string Type { get; set; }
public string Type { get; set; } = string.Empty;
[Required]
public bool IsActiveDriven { get; set; }
[Required]
public bool IsActiveSteered { get; set; }
[Required]
public WheelDefinitionsPosition Position { get; set; }
public WheelDefinitionsPosition Position { get; set; } = new();
[Required]
public double Diameter { get; set; }
[Required]
public double Width { get; set; }
public double CenterDisplacement { get; set; }
public string Constraints { get; set; }
public string Constraints { get; set; } = string.Empty;
}