feat: enhance simulation types with new metrics and event types
- Added EventType for various asset events. - Introduced new metrics in TimeMetrics, ThroughputMetrics, EfficiencyMetrics, QualityMetrics, CostMetrics, EnergyMetrics, and ConveyorMaterialMetrics. - Expanded ConveyorAnalysis and VehicleAnalysis interfaces to include additional metrics for cost, energy, and material flow. - Enhanced efficiency and quality metrics with detailed attributes for better analysis.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
86
app/src/types/simulationTypes.d.ts
vendored
86
app/src/types/simulationTypes.d.ts
vendored
@@ -231,6 +231,8 @@ interface CraneEventSchema extends AssetEventSchema {
|
|||||||
point: CranePointSchema;
|
point: CranePointSchema;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type EventType = "conveyor" | "vehicle" | "roboticArm" | "machine" | "storage" | "human" | "crane";
|
||||||
|
|
||||||
type EventsSchema = ConveyorEventSchema | VehicleEventSchema | RoboticArmEventSchema | MachineEventSchema | StorageEventSchema | HumanEventSchema | CraneEventSchema;
|
type EventsSchema = ConveyorEventSchema | VehicleEventSchema | RoboticArmEventSchema | MachineEventSchema | StorageEventSchema | HumanEventSchema | CraneEventSchema;
|
||||||
|
|
||||||
// Statuses
|
// Statuses
|
||||||
@@ -481,6 +483,8 @@ interface TimeMetrics {
|
|||||||
utilizationRate: number; // activeTime / totalTime
|
utilizationRate: number; // activeTime / totalTime
|
||||||
mtbf: number; // Mean Time Between Failures
|
mtbf: number; // Mean Time Between Failures
|
||||||
mttr: number; // Mean Time To Repair
|
mttr: number; // Mean Time To Repair
|
||||||
|
availability: number;
|
||||||
|
reliability: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ThroughputMetrics {
|
interface ThroughputMetrics {
|
||||||
@@ -488,6 +492,9 @@ interface ThroughputMetrics {
|
|||||||
itemsPerDay: number;
|
itemsPerDay: number;
|
||||||
materialFlowRate: number;
|
materialFlowRate: number;
|
||||||
capacityUtilization: number; // Percentage
|
capacityUtilization: number; // Percentage
|
||||||
|
throughputEfficiency: number;
|
||||||
|
wip: number; // Work In Progress
|
||||||
|
bottleneckIndex: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface EfficiencyMetrics {
|
interface EfficiencyMetrics {
|
||||||
@@ -509,6 +516,32 @@ interface QualityMetrics {
|
|||||||
}[];
|
}[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface CostMetrics {
|
||||||
|
operatingCost: number; // Cost per time unit
|
||||||
|
maintenanceCost: number; // Cost per time unit
|
||||||
|
energyCost: number; // Cost per time unit
|
||||||
|
totalCost: number; // Sum of all costs
|
||||||
|
roi: number; // Return on Investment percentage
|
||||||
|
valueAdded: number; // Value added per time unit
|
||||||
|
}
|
||||||
|
|
||||||
|
interface EnergyMetrics {
|
||||||
|
energyConsumed: number; // Energy units per time unit
|
||||||
|
energyEfficiency: number; // Output per energy unit
|
||||||
|
carbonFootprint: number; // CO2 emissions per time unit
|
||||||
|
powerUsage: number; // Average power usage
|
||||||
|
energyCost: number; // Cost of energy per time unit
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ConveyorMaterialMetrics {
|
||||||
|
wip: number; // Work In Progress
|
||||||
|
throughput: number; // Materials processed per time unit
|
||||||
|
avgCycleTime: number; // Average time per material
|
||||||
|
materialVelocity: number; // Speed of material flow
|
||||||
|
inventoryTurns: number; // Number of times inventory is cycled
|
||||||
|
leadTimeVariance: number; // Variance in lead time
|
||||||
|
}
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// ASSET-SPECIFIC ANALYSIS
|
// ASSET-SPECIFIC ANALYSIS
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
@@ -525,6 +558,8 @@ interface ConveyorAnalysis {
|
|||||||
state: string;
|
state: string;
|
||||||
speed: number;
|
speed: number;
|
||||||
currentProduct: string | null;
|
currentProduct: string | null;
|
||||||
|
currentMaterials: number;
|
||||||
|
queueLength: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Time Metrics
|
// Time Metrics
|
||||||
@@ -532,6 +567,7 @@ interface ConveyorAnalysis {
|
|||||||
idleTime: number;
|
idleTime: number;
|
||||||
activeTime: number;
|
activeTime: number;
|
||||||
totalTime: number;
|
totalTime: number;
|
||||||
|
scheduleAdherence: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Throughput
|
// Throughput
|
||||||
@@ -541,11 +577,30 @@ interface ConveyorAnalysis {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Efficiency
|
// Efficiency
|
||||||
efficiency: EfficiencyMetrics;
|
efficiency: EfficiencyMetrics & {
|
||||||
|
timeEfficiency: number; // activeTime vs planned active time
|
||||||
|
energyEfficiency: number; // Energy consumption per material processed
|
||||||
|
costEfficiency: number; // Cost per material processed
|
||||||
|
scheduleEfficiency: number; // Adherence to planned schedule
|
||||||
|
};
|
||||||
|
|
||||||
// Quality
|
// Quality
|
||||||
quality: QualityMetrics;
|
quality: QualityMetrics;
|
||||||
|
|
||||||
|
// Cost
|
||||||
|
costMetrics: CostMetrics & {
|
||||||
|
costPerUnit: number; // Cost per item processed
|
||||||
|
costPerHour: number; // Cost per hour of operation
|
||||||
|
};
|
||||||
|
|
||||||
|
// Energy
|
||||||
|
energyMetrics: EnergyMetrics & {
|
||||||
|
energyPerUnit: number; // Energy per item processed
|
||||||
|
};
|
||||||
|
|
||||||
|
// Material
|
||||||
|
materialFlow: ConveyorMaterialMetrics;
|
||||||
|
|
||||||
// Historical Data
|
// Historical Data
|
||||||
historicalData: {
|
historicalData: {
|
||||||
timestamp: string;
|
timestamp: string;
|
||||||
@@ -569,6 +624,8 @@ interface VehicleAnalysis {
|
|||||||
speed: number;
|
speed: number;
|
||||||
currentLoad: number;
|
currentLoad: number;
|
||||||
currentMaterials: { materialType: string; materialId: string }[];
|
currentMaterials: { materialType: string; materialId: string }[];
|
||||||
|
distanceTraveled: number;
|
||||||
|
currentRouteEfficiency: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Time Metrics
|
// Time Metrics
|
||||||
@@ -592,15 +649,40 @@ interface VehicleAnalysis {
|
|||||||
averageSpeedActual: number;
|
averageSpeedActual: number;
|
||||||
fuelEfficiency: number; // Distance per energy unit
|
fuelEfficiency: number; // Distance per energy unit
|
||||||
routeEfficiency: number; // Actual vs optimal distance
|
routeEfficiency: number; // Actual vs optimal distance
|
||||||
|
idleDistance: number;
|
||||||
|
totalTrips: number;
|
||||||
|
averageTripDistance: number;
|
||||||
|
distanceEfficiency: number; // Actual vs planned distance
|
||||||
};
|
};
|
||||||
|
|
||||||
// Efficiency
|
// Efficiency
|
||||||
efficiency: EfficiencyMetrics & {
|
efficiency: EfficiencyMetrics & {
|
||||||
loadUtilization: number; // Average load / max capacity
|
loadUtilization: number; // Average load / max capacity
|
||||||
|
timeEfficiency: number; // activeTime vs planned active time
|
||||||
|
energyEfficiency: number; // Energy consumption per material processed
|
||||||
|
routeEfficiency: number; // Adherence to optimal routes
|
||||||
|
costEfficiency: number; // Cost per material processed
|
||||||
};
|
};
|
||||||
|
|
||||||
// Quality
|
// Quality
|
||||||
quality: QualityMetrics;
|
quality: QualityMetrics & {
|
||||||
|
onTimeDelivery: number; // Percentage of on-time deliveries
|
||||||
|
damageRate: number; // Damaged materials per total delivered
|
||||||
|
accuracyRate: number; // Correct deliveries per total deliveries
|
||||||
|
};
|
||||||
|
|
||||||
|
// Cost
|
||||||
|
costMetrics: CostMetrics & {
|
||||||
|
costPerMile: number; // Cost per mile traveled
|
||||||
|
costPerTrip: number; // Cost per trip
|
||||||
|
costPerLoad: number; // Cost per load delivered
|
||||||
|
};
|
||||||
|
|
||||||
|
// Energy
|
||||||
|
energyMetrics: EnergyMetrics & {
|
||||||
|
energyPerMile: number; // Energy per mile traveled
|
||||||
|
energyPerTrip: number; // Energy per trip
|
||||||
|
};
|
||||||
|
|
||||||
// Historical Data
|
// Historical Data
|
||||||
historicalData: {
|
historicalData: {
|
||||||
|
|||||||
Reference in New Issue
Block a user