2026-01-26 18:56:53 +09:00

51 lines
2.0 KiB
C#

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;
// 홈 셋팅 파라미터는 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);
}
}
}