using System.ComponentModel; using static Aurora.Api.Devices.Motor; namespace AuroraMotionBoard.Ajin { public class AJINMotorConfig : BaseConfig { [ReadOnly(true)] public string Name { get; set; } public double Speed { get; set; } = 10; public double ManualSpeed { get; set; } public double HighJogSpeed { get; set; } public double MidJogSpeed { get; set; } public double LowJogSpeed { get; set; } public double Acceleration { get; set; } = 1000; public double Deceleration { get; set; } = 1000; public double ManualAcceleration { get; set; } = 1000; public double LowMoveSpeed { get; set; } = 100; public double LowMoveAcc { get; set; } = 1000; public double MidMoveSpeed { get; set; } = 200; public double MidMoveAcc { get; set; } = 1000; public double HighMoveSpeed { get; set; } = 300; public double HighMoveAcc { get; set; } = 1000; // 홈 셋팅 파라미터는 MOT 파일에 셋팅 된 것으로 동작함 //[Category("Home Setting Param")] //public double VelFirst { get; set; } = 30.0; //public double VelSecond { get; set; } = 30.0; //public double VelThird { get; set; } = 20.0; //public double VelLast { get; set; } = 1.0; //public double AccFirst { get; set; } = 0.1; //public double AccSecond { get; set; } = 0.1; //public double Resolution { get; set; } = 2000.0; //public int HomeDir { get; set; } = (int)AXT_MOTION_MOVE_DIR.DIR_CW; //public double EncoderClearDelayTime { get; set; } = 2000.0; // 원점검색 완료 후 지령위치와 Encoder위치를 Clear하기 위해 대기하는 시간설정 [mSec단위] [DisplayName("SW Limit +")] public double SWLimitPlus { get; set; } = 100000; [DisplayName("SW Limit -")] public double SWLimitMinus { get; set; } = -100000; [DisplayName("In Pos")] public double InPos { get; set; } = 1e-2; // Default: prismatic 조인트: [mm] 기준 [DisplayName("HW Safety Position")] public double SafetyPosition { get; set; } = -999.0; public AJINMotorConfig(string motorName) { ConnConfig = null; Name = motorName; MoveRange = (0, 1800); VelocityRange = (0, 500); } } }