| SourceCode/Bond/BondEq/BlButton.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/BlButton.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/Common.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/FileManager/RecipeManager.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/View/AxisSettingsDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/View/AxisSettingsDlg.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
SourceCode/Bond/BondEq/BlButton.cpp
@@ -151,6 +151,12 @@ { m_nFlashState = 0; KillTimer(1); Invalidate(); } BOOL CBlButton::IsFlash() { return m_nFlashState != 0; } void CBlButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) SourceCode/Bond/BondEq/BlButton.h
@@ -52,6 +52,7 @@ void SetIcon(HICON hIcon, HICON hIconGray, int width); void Flash(int ms); void StopFlash(); BOOL IsFlash(); private: BOOL CustomBitBlt(HDC hDC, LPRECT lprc, CString& strBkgndBmp, int nFrame, int nAllFrame, SourceCode/Bond/BondEq/Common.h
@@ -93,10 +93,10 @@ /* 轴设定页面颜色定义 */ /* 5个按钮页, 按钮背景色,正常状态*/ #define BTN_PAGE_FACE_NORMAL_COLOR RGB(240, 240, 240) #define BTN_PAGE_FACE_SELECT_COLOR RGB(0, 122, 204) #define BTN_PAGE_FACE_NORMAL_COLOR RGB(0, 168, 0) #define BTN_PAGE_FACE_SELECT_COLOR RGB(0, 232, 0) #define BTN_PAGE_TEXT_NORMAL_COLOR RGB(22, 22, 22) #define BTN_PAGE_TEXT_SELECT_COLOR RGB(222, 222, 222) #define BTN_PAGE_TEXT_SELECT_COLOR RGB(22, 22, 22) /* JOG+, JOG-*/ #define BTN_JOG_FRAME_NORMAL RGB(88, 88, 88) @@ -130,6 +130,14 @@ #define BTN_OPR_BKGND_HOVER RGB(208, 208, 222) #define BTN_OPR_BKGND_PRESS RGB(0, 232, 0) /* 定位按钮 */ #define BTN_POINT_FRAME_NORMAL RGB(88, 88, 88) #define BTN_POINT_FRAME_HOVER RGB(88, 88, 88) #define BTN_POINT_FRAME_PRESS RGB(88, 88, 88) #define BTN_POINT_BKGND_NORMAL RGB(222, 222, 222) #define BTN_POINT_BKGND_HOVER RGB(208, 208, 222) #define BTN_POINT_BKGND_PRESS RGB(0, 232, 0) /* 按钮id */ #define VIEW_TOOL_BTN_CLOSE 0x1016 SourceCode/Bond/BondEq/FileManager/RecipeManager.cpp
@@ -113,25 +113,30 @@ axisNode.append_attribute("start_address") = axisInfo.startAddress.c_str(); // 保存 ValueRange 值 axisNode.append_child("jog_distance").append_attribute("min") = axisInfo.jogDistance.minValue; axisNode.append_child("jog_distance").append_attribute("max") = axisInfo.jogDistance.maxValue; axisNode.append_child("jog_distance").append_attribute("current") = axisInfo.jogDistance.currentValue; auto jog_distance = axisNode.append_child("jog_distance"); jog_distance.append_attribute("min") = axisInfo.jogDistance.minValue; jog_distance.append_attribute("max") = axisInfo.jogDistance.maxValue; jog_distance.append_attribute("current") = axisInfo.jogDistance.currentValue; axisNode.append_child("manual_speed").append_attribute("min") = axisInfo.manualSpeed.minValue; axisNode.append_child("manual_speed").append_attribute("max") = axisInfo.manualSpeed.maxValue; axisNode.append_child("manual_speed").append_attribute("current") = axisInfo.manualSpeed.currentValue; auto manual_speed = axisNode.append_child("manual_speed"); manual_speed.append_attribute("min") = axisInfo.manualSpeed.minValue; manual_speed.append_attribute("max") = axisInfo.manualSpeed.maxValue; manual_speed.append_attribute("current") = axisInfo.manualSpeed.currentValue; axisNode.append_child("auto_speed").append_attribute("min") = axisInfo.autoSpeed.minValue; axisNode.append_child("auto_speed").append_attribute("max") = axisInfo.autoSpeed.maxValue; axisNode.append_child("auto_speed").append_attribute("current") = axisInfo.autoSpeed.currentValue; auto auto_speed = axisNode.append_child("auto_speed"); auto_speed.append_attribute("min") = axisInfo.autoSpeed.minValue; auto_speed.append_attribute("max") = axisInfo.autoSpeed.maxValue; auto_speed.append_attribute("current") = axisInfo.autoSpeed.currentValue; axisNode.append_child("acceleration_time").append_attribute("min") = axisInfo.accelerationTime.minValue; axisNode.append_child("acceleration_time").append_attribute("max") = axisInfo.accelerationTime.maxValue; axisNode.append_child("acceleration_time").append_attribute("current") = axisInfo.accelerationTime.currentValue; auto acceleration_time = axisNode.append_child("acceleration_time"); acceleration_time.append_attribute("min") = axisInfo.accelerationTime.minValue; acceleration_time.append_attribute("max") = axisInfo.accelerationTime.maxValue; acceleration_time.append_attribute("current") = axisInfo.accelerationTime.currentValue; axisNode.append_child("deceleration_time").append_attribute("min") = axisInfo.decelerationTime.minValue; axisNode.append_child("deceleration_time").append_attribute("max") = axisInfo.decelerationTime.maxValue; axisNode.append_child("deceleration_time").append_attribute("current") = axisInfo.decelerationTime.currentValue; auto deceleration_time = axisNode.append_child("deceleration_time"); deceleration_time.append_attribute("min") = axisInfo.decelerationTime.minValue; deceleration_time.append_attribute("max") = axisInfo.decelerationTime.maxValue; deceleration_time.append_attribute("current") = axisInfo.decelerationTime.currentValue; // 保存 PositionRange 值 auto positionsNode = axisNode.append_child("Positions"); SourceCode/Bond/BondEq/View/AxisSettingsDlg.cpp
@@ -45,6 +45,8 @@ for (int i = 0; i < 6; i++) { m_pBlLabels[i] = new CBLLabel(); } m_nBtnsFlashState6 = 0; m_nBtnsFlashState8 = 0; } CAxisSettingsDlg::~CAxisSettingsDlg() @@ -735,6 +737,19 @@ m_bBusy = CToolUnits::getBit(pData[10 * 2 + 1], 0xB - 8); m_bErr = CToolUnits::getBit(pData[10 * 2 + 1], 0xF - 8); // 记录按钮刷新状态 // 6,7,8,9为原点和25个点位状态和完成状态 // ZR 06.0 和 08.0 // 回原点运动中,ZR06.0在0和1中切换,回原点完成, 08.0为1 // 定位1 // ZR 06.1 和 08.1 // ... int b = 6 * 2; m_nBtnsFlashState6 = ((BYTE)pData[b] | (BYTE)pData[b + 1] << 8); m_nBtnsFlashState6 |= ((BYTE)pData[b + 2] << 16 | (BYTE)pData[b + 3] << 24); m_nBtnsFlashState8 = ((BYTE)pData[b + 4] | (BYTE)pData[b + 5] << 8); m_nBtnsFlashState8 |= ((BYTE)pData[b + 6] << 16 | (BYTE)pData[b + 7] << 24); PostMessage(ID_MSG_UPDATA_DATA_TO_UI); } }; @@ -854,6 +869,18 @@ m_pBlBtns[BTN_JOG_OPR]->SetBkgndColor(BS_NORMAL, BTN_OPR_BKGND_NORMAL); m_pBlBtns[BTN_JOG_OPR]->SetBkgndColor(BS_HOVER, BTN_OPR_BKGND_HOVER); m_pBlBtns[BTN_JOG_OPR]->SetBkgndColor(BS_PRESS, BTN_OPR_BKGND_PRESS); static UINT btnPointIds[] = { IDC_BUTTON_AXIS_ANCHOR_POINT1, IDC_BUTTON_AXIS_ANCHOR_POINT2, IDC_BUTTON_AXIS_ANCHOR_POINT3, IDC_BUTTON_AXIS_ANCHOR_POINT4, IDC_BUTTON_AXIS_ANCHOR_POINT5}; for (int i = 0; i < 5; i++) { m_pBlBtns[BTN_POINT1 + i]->SubclassDlgItem(btnPointIds[i], this); m_pBlBtns[BTN_POINT1 + i]->SetFrameColor(BS_NORMAL, BTN_POINT_FRAME_NORMAL); m_pBlBtns[BTN_POINT1 + i]->SetFrameColor(BS_HOVER, BTN_POINT_FRAME_HOVER); m_pBlBtns[BTN_POINT1 + i]->SetFrameColor(BS_PRESS, BTN_POINT_FRAME_PRESS); m_pBlBtns[BTN_POINT1 + i]->SetBkgndColor(BS_NORMAL, BTN_POINT_BKGND_NORMAL); m_pBlBtns[BTN_POINT1 + i]->SetBkgndColor(BS_HOVER, BTN_POINT_BKGND_HOVER); m_pBlBtns[BTN_POINT1 + i]->SetBkgndColor(BS_PRESS, BTN_POINT_BKGND_PRESS); } // 初始化当前页面为第一页 m_currentPage = 1; @@ -1143,6 +1170,7 @@ handleAxisOperation(AxisOperationType::POSITION_1, true); Sleep(200); handleAxisOperation(AxisOperationType::POSITION_1, false); m_pBlBtns[BTN_POINT1]->Flash(1000); } void CAxisSettingsDlg::OnBnClickedButtonAxisAnchorPoint2() @@ -1183,7 +1211,6 @@ handleAxisOperation(AxisOperationType::OPR, true); Sleep(200); handleAxisOperation(AxisOperationType::OPR, false); m_pBlBtns[BTN_JOG_OPR]->Flash(1000); } void CAxisSettingsDlg::OnBnClickedButtonAxisTestStop() @@ -1193,6 +1220,11 @@ Sleep(200); handleAxisOperation(AxisOperationType::STOP, false); m_pBlBtns[BTN_JOG_OPR]->StopFlash(); m_pBlBtns[BTN_POINT1]->StopFlash(); m_pBlBtns[BTN_POINT2]->StopFlash(); m_pBlBtns[BTN_POINT3]->StopFlash(); m_pBlBtns[BTN_POINT3]->StopFlash(); m_pBlBtns[BTN_POINT4]->StopFlash(); } void CAxisSettingsDlg::OnBnClickedButtonAxisSev() @@ -1298,6 +1330,82 @@ SetLabelColor(*m_pBlLabels[5], RGB(0, 180, 0)); } // OPR按钮是否要闪烁或停止闪烁 // 06.0和08.0 TRACE("m_nBtnsFlashState6 %x %x\n", m_nBtnsFlashState6, m_nBtnsFlashState8); if (m_nBtnsFlashState6 & 0x01) { // 06.0 if (!m_pBlBtns[BTN_JOG_OPR]->IsFlash()) { m_pBlBtns[BTN_JOG_OPR]->Flash(1000); } } else if (m_nBtnsFlashState8 & 0x01) { if (m_pBlBtns[BTN_JOG_OPR]->IsFlash()) { m_pBlBtns[BTN_JOG_OPR]->StopFlash(); } } int v = 0x02; if (m_currentPage > 1) { v = v << (5 * (m_currentPage - 1)); } if (m_nBtnsFlashState6 & v) { if (!m_pBlBtns[BTN_POINT1]->IsFlash()) { m_pBlBtns[BTN_POINT1]->Flash(1000); } } else if (m_nBtnsFlashState8 & v) { if (m_pBlBtns[BTN_POINT1]->IsFlash()) { m_pBlBtns[BTN_POINT1]->StopFlash(); } } if (m_nBtnsFlashState6 & (v << 1)) { if (!m_pBlBtns[BTN_POINT2]->IsFlash()) { m_pBlBtns[BTN_POINT2]->Flash(1000); } } else if (m_nBtnsFlashState8 & (v << 1)) { if (m_pBlBtns[BTN_POINT2]->IsFlash()) { m_pBlBtns[BTN_POINT2]->StopFlash(); } } if (m_nBtnsFlashState6 & (v << 2)) { if (!m_pBlBtns[BTN_POINT3]->IsFlash()) { m_pBlBtns[BTN_POINT3]->Flash(1000); } } else if (m_nBtnsFlashState8 & (v << 2)) { if (m_pBlBtns[BTN_POINT3]->IsFlash()) { m_pBlBtns[BTN_POINT3]->StopFlash(); } } if (m_nBtnsFlashState6 & (v << 3)) { if (!m_pBlBtns[BTN_POINT4]->IsFlash()) { m_pBlBtns[BTN_POINT4]->Flash(1000); } } else if (m_nBtnsFlashState8 & (v << 3)) { if (m_pBlBtns[BTN_POINT4]->IsFlash()) { m_pBlBtns[BTN_POINT4]->StopFlash(); } } if (m_nBtnsFlashState6 & (v << 4)) { if (!m_pBlBtns[BTN_POINT5]->IsFlash()) { m_pBlBtns[BTN_POINT5]->Flash(1000); } } else if (m_nBtnsFlashState8 & (v << 4)) { if (m_pBlBtns[BTN_POINT5]->IsFlash()) { m_pBlBtns[BTN_POINT5]->StopFlash(); } } return 0; } SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
@@ -5,7 +5,7 @@ #include "CPLC.h" #define BTN_MAX 10 #define BTN_MAX 15 #define BTN_PAGE1 0 #define BTN_PAGE2 1 #define BTN_PAGE3 2 @@ -14,9 +14,13 @@ #define BTN_JOG_ADD 5 #define BTN_JOG_SUB 6 #define BTN_JOG_SEV 7 #define BTN_JOG_STOP 8 #define BTN_JOG_OPR 9 #define BTN_JOG_OPR 8 #define BTN_JOG_STOP 9 #define BTN_POINT1 10 #define BTN_POINT2 11 #define BTN_POINT3 12 #define BTN_POINT4 13 #define BTN_POINT5 14 // CAxisSettingsDlg 对话框 @@ -109,6 +113,8 @@ BOOL m_bReady; BOOL m_bBusy; BOOL m_bErr; DWORD m_nBtnsFlashState6; DWORD m_nBtnsFlashState8; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持