using RobotNet.VDA5050.Type; namespace RobotNet10.RobotApp.Client.Shared.Plc; /// /// DTO cho trạng thái PlcController (dùng cho SignalR) /// public class PlcControllerStatusDto { public bool IsReady { get; set; } // Operating mode public string PeripheralMode { get; set; } = string.Empty; public string SafetySpeed { get; set; } = string.Empty; // Safety sensors public bool Emergency { get; set; } public bool Bumper { get; set; } public bool LidarFrontProtectField { get; set; } public bool LidarBackProtectField { get; set; } public bool LidarFrontTimProtectField { get; set; } // Lift state public bool LiftedUp { get; set; } public bool LiftedDown { get; set; } public bool LiftHome { get; set; } // Motor state public bool LeftMotorReady { get; set; } public bool RightMotorReady { get; set; } public bool LiftMotorReady { get; set; } // Button state public bool ButtonStart { get; set; } public bool ButtonStop { get; set; } public bool ButtonReset { get; set; } // Other state public bool HasLoad { get; set; } public bool EnabledCharger { get; set; } public bool Charging { get; set; } public bool MutedBase { get; set; } public bool MutedLoad { get; set; } // Current stop state (for display) public string StopState { get; set; } = "None"; // Write state - các giá trị đã được ghi xuống PLC public string CurrentSystemState { get; set; } = "INIT"; public string CurrentOperationState { get; set; } = "None"; public string CurrentRFMode { get; set; } = "None"; public bool SetHorizontalLoadValue { get; set; } public bool SetMutedBaseValue { get; set; } public bool SetMutedLoadValue { get; set; } public bool SetEnableChargerValue { get; set; } public bool SetHasLoadValue { get; set; } public bool SetRFEStopValue { get; set; } public bool SetBatteryLowValue { get; set; } public bool SetLightOnValue { get; set; } }