| SourceCode/Bond/BondEq/BondEq.rc | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/BondEq.vcxproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/Resource.h | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/View/AxisDetailSettingsDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/View/AxisDetailSettingsDlg.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/View/AxisSettingsDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/View/AxisSettingsDlg.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
SourceCode/Bond/BondEq/BondEq.rcBinary files differ
SourceCode/Bond/BondEq/BondEq.vcxproj
@@ -255,6 +255,7 @@ <ClInclude Include="ToolUnits.h" /> <ClInclude Include="TopToolbar.h" /> <ClInclude Include="VerticalLine.h" /> <ClInclude Include="View\AxisDetailSettingsDlg.h" /> <ClInclude Include="View\AxisSettingsDlg.h" /> <ClInclude Include="View\ChangePasswordDlg.h" /> <ClInclude Include="View\IOMonitoringDlg.h" /> @@ -331,6 +332,7 @@ <ClCompile Include="ToolUnits.cpp" /> <ClCompile Include="TopToolbar.cpp" /> <ClCompile Include="VerticalLine.cpp" /> <ClCompile Include="View\AxisDetailSettingsDlg.cpp" /> <ClCompile Include="View\AxisSettingsDlg.cpp" /> <ClCompile Include="View\ChangePasswordDlg.cpp" /> <ClCompile Include="View\IOMonitoringDlg.cpp" /> SourceCode/Bond/BondEq/Resource.hBinary files differ
SourceCode/Bond/BondEq/View/AxisDetailSettingsDlg.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,76 @@ // AxisDetailSettingsDlg.cpp: å®ç°æä»¶ // #include "stdafx.h" #include "BondEq.h" #include "afxdialogex.h" #include "AxisDetailSettingsDlg.h" // CAxisDetailSettingsDlg å¯¹è¯æ¡ IMPLEMENT_DYNAMIC(CAxisDetailSettingsDlg, CDialogEx) CAxisDetailSettingsDlg::CAxisDetailSettingsDlg(const CString& strRecipeName, int nAxisNO, CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_DIALOG_AXIS_DETAIL_SETTINGS, pParent) { m_strRecipeName = strRecipeName; m_nAxisNO = nAxisNO; m_pPLC = nullptr; m_nInitialWidth = 0; m_nInitialHeight = 0; } CAxisDetailSettingsDlg::~CAxisDetailSettingsDlg() { } void CAxisDetailSettingsDlg::SetPLC(CPLC* pPLC) { ASSERT(pPLC); m_pPLC = pPLC; } void CAxisDetailSettingsDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_STATIC_AXIS_NUMBER, m_staticAxisNO); DDX_Control(pDX, IDC_STATIC_AXIS_DESCRIP, m_staticAxisDescription); DDX_Control(pDX, IDC_STATIC_START_ADDRESS, m_staticStartAddress); } BEGIN_MESSAGE_MAP(CAxisDetailSettingsDlg, CDialogEx) END_MESSAGE_MAP() // CAxisDetailSettingsDlg æ¶æ¯å¤çç¨åº BOOL CAxisDetailSettingsDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: 卿¤æ·»å é¢å¤çåå§å CString strTitle; strTitle.Format(_T("Axisç»é¨è®¾å®(é æ¹: %s)"), m_strRecipeName); SetWindowText(strTitle); // è·åè½´æ°æ® RecipeManager& recipeManager = RecipeManager::getInstance(); auto axisDetails = recipeManager.getAxis(m_nAxisNO); if (axisDetails.id == -1) { CString strMsg; strMsg.Format(_T("è½´ [%d] ä¸åå¨ï¼"), m_nAxisNO); AfxMessageBox(strMsg); return FALSE; } m_staticAxisNO.SetWindowText(CString(axisDetails.number.c_str())); // è½´ç¼å· m_staticAxisDescription.SetWindowText(CString(axisDetails.description.c_str())); // è½´æè¿° m_staticStartAddress.SetWindowText(CString(axisDetails.startAddress.c_str())); // èµ·å§å°å return TRUE; // return TRUE unless you set the focus to a control // å¼å¸¸: OCX 屿§é¡µåºè¿å FALSE } SourceCode/Bond/BondEq/View/AxisDetailSettingsDlg.h
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ #pragma once #include "afxdialogex.h" // CAxisDetailSettingsDlg å¯¹è¯æ¡ class CAxisDetailSettingsDlg : public CDialogEx { DECLARE_DYNAMIC(CAxisDetailSettingsDlg) public: CAxisDetailSettingsDlg(const CString& strRecipeName, int nAxisNO, CWnd* pParent = nullptr); // æ åæé 彿° virtual ~CAxisDetailSettingsDlg(); public: void SetPLC(CPLC* pPLC); // å¯¹è¯æ¡æ°æ® #ifdef AFX_DESIGN_TIME enum { IDD = IDD_DIALOG_AXIS_DETAIL_SETTINGS }; #endif private: CPLC* m_pPLC; int m_nInitialWidth; int m_nInitialHeight; // æ°æ® int m_nAxisNO; CString m_strRecipeName; // æ§ä»¶ CStatic m_staticAxisNO, m_staticAxisDescription, m_staticStartAddress; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV æ¯æ virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() }; SourceCode/Bond/BondEq/View/AxisSettingsDlg.cpp
@@ -5,6 +5,7 @@ #include "BondEq.h" #include "afxdialogex.h" #include "AxisSettingsDlg.h" #include "AxisDetailSettingsDlg.h" #include "ToolUnits.h" #include <cctype> #include <algorithm> @@ -769,19 +770,19 @@ 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); } @@ -805,15 +806,17 @@ 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() @@ -830,20 +833,13 @@ 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); @@ -1296,10 +1292,10 @@ } 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))); @@ -1314,6 +1310,33 @@ 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); SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
@@ -154,6 +154,8 @@ afx_msg void OnBnClickedButtonAxisSev(); afx_msg void OnSelchangeComboAxisName(); afx_msg void OnBnClickedButtonAxisSave(); afx_msg void OnBnClickedButtonAxisUpdateUi(); afx_msg void OnBnClickedButtonAxisDetailSettings(); afx_msg LRESULT OnUpdateDataToUI(WPARAM wParam, LPARAM lParam); afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg void OnClose();