| | |
| | | #include "BondEq.h" |
| | | #include "afxdialogex.h" |
| | | #include "AxisSettingsDlg.h" |
| | | #include "AxisDetailSettingsDlg.h" |
| | | #include "ToolUnits.h" |
| | | #include <cctype> |
| | | #include <algorithm> |
| | |
| | | m_nBtnsFlashState8 = ((BYTE)pData[b + 4] | (BYTE)pData[b + 5] << 8); |
| | | m_nBtnsFlashState8 |= ((BYTE)pData[b + 6] << 16 | (BYTE)pData[b + 7] << 24); |
| | | |
| | | AxisInfo axisInfo = RecipeManager::getInstance().getAxis(nAxisId); |
| | | axisInfo.autoSpeed.currentValue = m_fAutoSpeed; // 自动速度 |
| | | axisInfo.manualSpeed.currentValue = m_fManualSpeed; // 手动速度 |
| | | axisInfo.jogDistance.currentValue = CToolUnits::toInt32(&pData[81 * 2]) * 0.001; // 微动量 |
| | | axisInfo.accelerationTime.currentValue = CToolUnits::toInt32(&pData[62 * 2]) * 0.001; // 加速时间 |
| | | axisInfo.decelerationTime.currentValue = CToolUnits::toInt32(&pData[64 * 2]) * 0.001; // 减速时间 |
| | | //AxisInfo axisInfo = RecipeManager::getInstance().getAxis(nAxisId); |
| | | //axisInfo.autoSpeed.currentValue = m_fAutoSpeed; // 自动速度 |
| | | //axisInfo.manualSpeed.currentValue = m_fManualSpeed; // 手动速度 |
| | | //axisInfo.jogDistance.currentValue = CToolUnits::toInt32(&pData[81 * 2]) * 0.001; // 微动量 |
| | | //axisInfo.accelerationTime.currentValue = CToolUnits::toInt32(&pData[62 * 2]) * 0.001; // 加速时间 |
| | | //axisInfo.decelerationTime.currentValue = CToolUnits::toInt32(&pData[64 * 2]) * 0.001; // 减速时间 |
| | | |
| | | // 读取定位点数据 |
| | | for (int i = 0; i < axisInfo.positions.size(); ++i) { |
| | | unsigned int positionAddress = 100 + (i * 2); |
| | | axisInfo.positions[i].range.currentValue = CToolUnits::toInt32(&pData[positionAddress * 2]) * 0.001; |
| | | } |
| | | RecipeManager::getInstance().updateAxis(axisInfo); |
| | | //for (int i = 0; i < axisInfo.positions.size(); ++i) { |
| | | // unsigned int positionAddress = 100 + (i * 2); |
| | | // axisInfo.positions[i].range.currentValue = CToolUnits::toInt32(&pData[positionAddress * 2]) * 0.001; |
| | | //} |
| | | //RecipeManager::getInstance().updateAxis(axisInfo); |
| | | |
| | | PostMessage(ID_MSG_UPDATA_DATA_TO_UI); |
| | | } |
| | |
| | | ON_BN_CLICKED(IDC_BUTTON_AXIS_ANCHOR_POINT5, &CAxisSettingsDlg::OnBnClickedButtonAxisAnchorPoint5) |
| | | ON_BN_CLICKED(IDC_BUTTON_AXIS_TEST_OPR, &CAxisSettingsDlg::OnBnClickedButtonAxisTestOpr) |
| | | ON_BN_CLICKED(IDC_BUTTON_AXIS_TEST_STOP, &CAxisSettingsDlg::OnBnClickedButtonAxisTestStop) |
| | | ON_BN_CLICKED(IDC_BUTTON_AXIS_SEV, &CAxisSettingsDlg::OnBnClickedButtonAxisSev) |
| | | ON_CBN_SELCHANGE(IDC_COMBO_AXIS_NAME, &CAxisSettingsDlg::OnSelchangeComboAxisName) |
| | | ON_BN_CLICKED(IDC_BUTTON_AXIS_SAVE, &CAxisSettingsDlg::OnBnClickedButtonAxisSave) |
| | | ON_BN_CLICKED(IDC_BUTTON_AXIS_UPDATE_UI, &CAxisSettingsDlg::OnBnClickedButtonAxisUpdateUi) |
| | | ON_BN_CLICKED(IDC_BUTTON_AXIS_DETAIL_SETTINGS, &CAxisSettingsDlg::OnBnClickedButtonAxisDetailSettings) |
| | | ON_MESSAGE(ID_MSG_UPDATA_DATA_TO_UI, &CAxisSettingsDlg::OnUpdateDataToUI) |
| | | ON_WM_SIZE() |
| | | ON_WM_CTLCOLOR() |
| | | ON_WM_SIZING() |
| | | ON_WM_TIMER() |
| | | ON_WM_CLOSE() |
| | | ON_BN_CLICKED(IDC_BUTTON_AXIS_SEV, &CAxisSettingsDlg::OnBnClickedButtonAxisSev) |
| | | END_MESSAGE_MAP() |
| | | |
| | | |
| | |
| | | SetWindowText(strTitle); |
| | | |
| | | // 隐藏光标 |
| | | //HideEditCursor(IDC_EDIT_AXIS_CURR_POS); |
| | | HideEditCursor(IDC_EDIT_AXIS_CURR_POS); |
| | | HideEditCursor(IDC_EDIT_AXIS_CURR_MANUAL_SPEED); |
| | | HideEditCursor(IDC_EDIT_AXIS_CURR_AUTO_SPEED); |
| | | HideEditCursor(IDC_EDIT_AXIS_CURR_ROTA_SPEED); |
| | | HideEditCursor(IDC_EDIT_AXIS_CURR_LOAD); |
| | | HideEditCursor(IDC_EDIT_AXIS_CURR_ERROR_NUMBER); |
| | | HideEditCursor(IDC_EDIT_AXIS_CURR_ALARM_NUMBER); |
| | | |
| | | // 测试 |
| | | { |
| | | CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT_AXIS_CURR_POS); |
| | | pEdit->EnableWindow(TRUE); |
| | | pEdit->SetReadOnly(FALSE); |
| | | } |
| | | |
| | | // 设置测试状态 |
| | | m_pBlLabels[LABEL_FLS]->SubclassDlgItem(IDC_STATIC_AXIS_TEST_FLS, this); |
| | |
| | | } |
| | | writeAxisDataToPLC(axisId); |
| | | |
| | | Sleep(2000); |
| | | //Sleep(2000); |
| | | |
| | | refreshAxisDetails(axisId); |
| | | refreshPositionDetails(axisId, m_currentPage); |
| | | //refreshAxisDetails(axisId); |
| | | //refreshPositionDetails(axisId, m_currentPage); |
| | | if (RecipeManager::getInstance().saveRecipe(std::string(CT2A(m_strRecipeName)))) { |
| | | cstrMessage.Format(_T("保存轴 [%d] 参数到文件成功!"), axisId); |
| | | SystemLogManager::getInstance().log(SystemLogManager::LogType::Operation, std::string(CT2A(cstrMessage))); |
| | |
| | | AfxMessageBox(cstrMessage); |
| | | } |
| | | |
| | | void CAxisSettingsDlg::OnBnClickedButtonAxisUpdateUi() |
| | | { |
| | | // TODO: 在此添加控件通知处理程序代码 |
| | | int axisId = getCurrentSelectedAxisID(); |
| | | if (axisId == -1) { |
| | | AfxMessageBox(_T("请选择一个有效的轴编号!")); |
| | | return; |
| | | } |
| | | |
| | | refreshAxisDetails(axisId); |
| | | refreshPositionDetails(axisId, m_currentPage); |
| | | } |
| | | |
| | | void CAxisSettingsDlg::OnBnClickedButtonAxisDetailSettings() |
| | | { |
| | | // TODO: 在此添加控件通知处理程序代码 |
| | | int nAxisId = getCurrentSelectedAxisID(); |
| | | if (nAxisId == -1) { |
| | | AfxMessageBox(_T("请选择一个有效的轴编号!")); |
| | | return; |
| | | } |
| | | |
| | | CAxisDetailSettingsDlg dlg(m_strRecipeName, nAxisId, this); |
| | | dlg.SetPLC(m_pPLC); |
| | | dlg.DoModal(); |
| | | } |
| | | |
| | | LRESULT CAxisSettingsDlg::OnUpdateDataToUI(WPARAM wParam, LPARAM lParam) |
| | | { |
| | | CToolUnits::setDlgItemDouble(this, IDC_EDIT_AXIS_CURR_POS, m_fCurPos); |