修改S曲线运动控制参数设置。

This commit is contained in:
TAO Cheng
2013-12-26 17:43:38 +08:00
parent d060bf56dd
commit dc4fbc655f
13 changed files with 1003 additions and 313 deletions
@@ -461,10 +461,11 @@ CSO7_Proto::CSO7_Proto()
g_machine.GetInterruptMsg[i][j]=0;
}
}
g_machine.GetInterruptMsgMethod=E_GET_INTERRUPT_MSG_INTERRUPT;
g_machine.GetInterruptMsgMethod=E_GET_INTERRUPT_MSG_INTERRUPT;//E_GET_INTERRUPT_MSG_INQUIRY;
g_machine.IsSupportReadInterrputMsg=FALSE;
g_machine.IsOffline=TRUE;
g_machine.FPGAData=0;
g_machine.FirmwareVer=FirmwareVer_3_X;
g_machine.x._Move_Speed_Gear =2;
g_machine.y._Move_Speed_Gear =2;
g_machine.z._Move_Speed_Gear =2;
@@ -3030,7 +3031,7 @@ SSI_STATUS_MOTION CSO7_Proto::so7_motion_set_position_xyz(double dX, double dY,
//==================================================================
SSI_STATUS_MOTION CSO7_Proto::so7_motion_is_finished(char MotionType,BOOL& IsFinished)
{
WaitForSingleObject(g_hHomedEvent, INFINITE); // machine start and homing is done
//WaitForSingleObject(g_hHomedEvent, INFINITE); // machine start and homing is done
BOOL bIsFinised(FALSE);
if (g_machine.GetInterruptMsgMethod==E_GET_INTERRUPT_MSG_INQUIRY)
@@ -3964,14 +3965,15 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_SET_CONSTANT_SPEED(int iSpeed,ch
*(ep_buff[EP_02_CMD_IDX]._buffer+6) = 0;
}
iDeceDistance =0;
*(ep_buff[EP_02_CMD_IDX]._buffer+7) =static_cast<char>(iDeceDistance/1000);
*(ep_buff[EP_02_CMD_IDX]._buffer+7) = *(ep_buff[EP_02_CMD_IDX]._buffer+7) &0x0f;
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = static_cast<char>((iDeceDistance%1000)/100);
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = *(ep_buff[EP_02_CMD_IDX]._buffer+8) & 0x0f;
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = static_cast<char>((iDeceDistance%100)/10);
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = *(ep_buff[EP_02_CMD_IDX]._buffer+9) & 0x0f;
*(ep_buff[EP_02_CMD_IDX]._buffer+10)= static_cast<char>(iDeceDistance%10);
*(ep_buff[EP_02_CMD_IDX]._buffer+10)=*(ep_buff[EP_02_CMD_IDX]._buffer+10) & 0x0f;
char cBuffer;
cBuffer =static_cast<char>(iDeceDistance/1000);
*(ep_buff[EP_02_CMD_IDX]._buffer+7) =cBuffer;
cBuffer = static_cast<char>((iDeceDistance%1000)/100);
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = cBuffer;
cBuffer = static_cast<char>((iDeceDistance%100)/10);
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = cBuffer;
cBuffer = static_cast<char>(iDeceDistance%10);
*(ep_buff[EP_02_CMD_IDX]._buffer+10)= cBuffer;
ep_buff[EP_02_CMD_IDX]._size = 0x0b;
@@ -4027,15 +4029,15 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_SET_SPEED_PARAMETER(char axis_ty
iDeceDistance =(int)((g_machine.s_machine_config.z_axis._speed_slow_dis[xyz_gear] ) * 1000);
}
*(ep_buff[EP_02_CMD_IDX]._buffer+7) =static_cast<char>(iDeceDistance/1000);
*(ep_buff[EP_02_CMD_IDX]._buffer+7) = *(ep_buff[EP_02_CMD_IDX]._buffer+7) &0x0f;
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = static_cast<char>((iDeceDistance%1000)/100);
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = *(ep_buff[EP_02_CMD_IDX]._buffer+8) & 0x0f;
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = static_cast<char>((iDeceDistance%100)/10);
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = *(ep_buff[EP_02_CMD_IDX]._buffer+9) & 0x0f;
*(ep_buff[EP_02_CMD_IDX]._buffer+10)= static_cast<char>(iDeceDistance%10);
*(ep_buff[EP_02_CMD_IDX]._buffer+10)=*(ep_buff[EP_02_CMD_IDX]._buffer+10) & 0x0f;
char cBuffer;
cBuffer =static_cast<char>(iDeceDistance/1000);
*(ep_buff[EP_02_CMD_IDX]._buffer+7) =cBuffer;
cBuffer = static_cast<char>((iDeceDistance%1000)/100);
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = cBuffer;
cBuffer = static_cast<char>((iDeceDistance%100)/10);
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = cBuffer;
cBuffer = static_cast<char>(iDeceDistance%10);
*(ep_buff[EP_02_CMD_IDX]._buffer+10)= cBuffer;
ep_buff[EP_02_CMD_IDX]._size = 0x0b;
ep_buff[EP_82_DATA_IDX]._size = 0x45;
@@ -4786,6 +4788,15 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_READ_FIRMWARE_VERSION_INFO()
{
g_machine.FirmwareInfo[i]=*(ep_buff[EP_82_DATA_IDX]._buffer+i);
}
if (g_machine.FirmwareInfo[3]=='6')
{
g_machine.FirmwareVer=FirmwareVer_6_X;
}
else
{
g_machine.FirmwareVer=FirmwareVer_3_X;
}
return SSI_STATUS_MOTION_NORMAL;
}
//==============================================================