원호 보간 문의
- 조현상
- 2023-05-24
- 2,946
PCI-N404 보드를 사용하여 연속 보간을 사용하고 있습니다.
연속 보간중 원호보간이 원이 반듯한 원이 아니고 살짝식 찌그러지는 원이 그려집니다.
int lCoordinate = 0;
uint lSize = 2;
int[] lRealAxesNo = { 0, 1};
// 기존의 연속 보간데이터들은 삭제한다.
CAXM.AxmContiWriteClear(lCoordinate);
CAXM.AxmContiSetAxisMap(lCoordinate, lSize, lRealAxesNo);
// 0번 좌표계를 절대위치구동으로 설정한다.
CAXM.AxmContiSetAbsRelMode(lCoordinate, (uint)AXT_MOTION_ABSREL.POS_ABS_MODE);
// 보간큐 등록시작
CAXM.AxmContiBeginNode(lCoordinate);
double[] dCenPos = { 0, 0 };
CAXM.AxmContiSetAbsRelMode(lCoordinate, (uint)AXT_MOTION_ABSREL.POS_ABS_MODE);
double dVel = 1000;
double dAcc = 200;
double dDec = 200;
double angle = 360;
if(dVel != 0)
{
uint uCWDir = 0; // [0] Cw방향, [1] Ccw방향
if (angle < 0)
{
angle = Math.Abs(angle);
uCWDir = 1;
}
//if (angle < 0) uCWDir = 1;
CAXM.AxmCircleAngleMove(lCoordinate, lRealAxesNo , dCenPos, angle, dVel, dAcc, dDec, uCWDir);
}
// 보간큐 등록 끝
CAXM.AxmContiEndNode(lCoordinate);
// 보간큐 시작!
// (0): 속도 지정 보간모드
// (1): 노드 가감속 보간모드
// (2): 자동 가감속 보간모드
uint dwProfileset = 1;
CAXM.AxmContiStart(lCoordinate, dwProfileset, 360);
코드는 위와 같이 사용 하였습니다.
원을 정확하게 그리려면 어떻게 해야 하는지 문의 드립니다.
안녕하십니까 아진엑스텍입니다.
안녕하십니까 아진엑스텍입니다.
문의하신 Q&A는 적어주신 메일로 답변드렸습니다.
감사합니다.