#0010:三轴根据输入轨迹点做插补运动

This commit is contained in:
zhengxuan.zhang
2024-08-08 17:47:35 +08:00
parent 3211cdbb13
commit d4f1ec2cf9
7 changed files with 695 additions and 240 deletions
+30
View File
@@ -2424,6 +2424,8 @@ HSI_STATUS HSI_Motion::StopJog()
g_pLogger->SendAndFlushWithTime(L"[StopJog] ACS acsc_HaltM error!\n");
ErrorsHandler();
}
//
g_pLogger->SendAndFlushWithTime(L"[StopJog] ACS acsc_HaltM success!\n");
}
m_Thread_StateJOGStop = HSI_THREAD_PAUSED;
@@ -5503,6 +5505,34 @@ HSI_STATUS HSI_Motion::DCCPPStartPoint(double* startPoint)
return rStatus;
}
//===========================================================================
/*
*
* @param AxisTypes XYZ
* @param speed
* @param points
* @param numPoints
*/
HSI_STATUS HSI_Motion::DCCScanSetDataWithPoints(UINT AxisTypes, double speed, Point3D* points, UINT numPoints)
{
auto rStatus = HSI_STATUS_NORMAL;
// 处理传入的三维坐标点数组
for (UINT i = 0; i < numPoints; ++i)
{
Point3D point = points[i];
// 在这里处理每个点,例如打印或存储
printf("Point %u: x = %f, y = %f, z = %f\n", i, point.x, point.y, point.z);
}
// 控制平台的运动,(安全限位的问题,导入100个点,判断是否在运动空间内)
// 其他处理逻辑
// ...
return rStatus;
}
//===========================================================================
HSI_STATUS HSI_Motion::DCCScanSetDataOld(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType, UINT lTrigNumber, double* dTrigDis)
{