From bfe14e41fa5b07771d78af4511ba18d706bc23cc Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 28 七月 2025 17:07:52 +0800
Subject: [PATCH] 1.Spooling Config功能EAP模拟测试;
---
SourceCode/Bond/BondEq/View/AxisSettingsDlg.h | 139 ++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 126 insertions(+), 13 deletions(-)
diff --git a/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h b/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
index 6c73683..ef66b8f 100644
--- a/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
+++ b/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
@@ -1,10 +1,70 @@
锘�#pragma once
#include "afxdialogex.h"
+#include "BlButton.h"
+#include "BLLabel.h"
+#include "RegexEdit.h"
+#include "CPLC.h"
+#include "CBaseDlg.h"
+// 姣忛〉瀹氫綅鐐规樉绀轰釜鏁�
+#define AXIS_PAGE_SIZE 5
+
+// Label鎺т欢
+#define LABEL_MAX 6
+#define LABEL_FLS 0
+#define LABEL_DOG 1
+#define LABEL_RLS 2
+#define LABEL_READY 3
+#define LABEL_BUSY 4
+#define LABEL_ERR 5
+
+// RegexEdit鎺т欢
+#define EDIT_MAX 10
+#define EDIT_MANUAL_SPEED 0
+#define EDIT_AUTO_SPEED 1
+#define EDIT_ACCE_TIME 2
+#define EDIT_DECE_TIME 3
+#define EDIT_MICROMENTUM 4
+#define EDIT_ANCHOR_POINT1 5
+#define EDIT_ANCHOR_POINT2 6
+#define EDIT_ANCHOR_POINT3 7
+#define EDIT_ANCHOR_POINT4 8
+#define EDIT_ANCHOR_POINT5 9
+
+// BUTTON鎺т欢
+#define BTN_MAX 15
+#define BTN_PAGE1 0
+#define BTN_PAGE2 1
+#define BTN_PAGE3 2
+#define BTN_PAGE4 3
+#define BTN_PAGE5 4
+#define BTN_JOG_ADD 5
+#define BTN_JOG_SUB 6
+#define BTN_JOG_SEV 7
+#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 瀵硅瘽妗�
-class CAxisSettingsDlg : public CDialogEx
+enum class AxisOperationType {
+ OPR = 0, // 鍥炲師鐐�
+ JOG_ADD, // 姝e悜鐐瑰姩
+ JOG_SUB, // 鍙嶅悜鐐瑰姩
+ STOP, // 鍋滄鎿嶄綔
+ SEV_ON, // 浣胯兘
+ POSITION_1, // 瀹氫綅鐐�1
+ POSITION_2, // 瀹氫綅鐐�2
+ POSITION_3, // 瀹氫綅鐐�3
+ POSITION_4, // 瀹氫綅鐐�4
+ POSITION_5 // 瀹氫綅鐐�5
+};
+
+class CAxisSettingsDlg : public CBaseDlg
{
DECLARE_DYNAMIC(CAxisSettingsDlg)
@@ -12,29 +72,76 @@
CAxisSettingsDlg(CWnd* pParent = nullptr); // 鏍囧噯鏋勯�犲嚱鏁�
virtual ~CAxisSettingsDlg();
+public:
+ void SetPLC(CPLC* pPLC);
+ void SetRecipeName(const CString& strRecipeName);
+
// 瀵硅瘽妗嗘暟鎹�
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_DIALOG_AXIS_SETTINGS };
#endif
private:
- CFont* GetOrCreateFont(int nFontSize);
- void SetDefaultFont();
- void AdjustControls(float dScaleX, float dScaleY);
- void AdjustControlFont(CWnd* pWnd, int nWidth, int nHeight);
+ UINT FindIDByName(const CString& strControlID);
+ void AdjustLabelFont(CBLLabel& label);
+ void SetLabelColor(CBLLabel& label, COLORREF color);
+ void SetLabelColorBasedOnState(CBLLabel& label, BOOL bState, COLORREF colorTrue, COLORREF colorFalse);
+ void UpdateLabels();
+ void UpdateRegexEdit(CRegexEdit* pRegexEdit, const ValueRange& range, const CString& title);
+ void updatePageButtonStates();
+ void HideEditCursor(int nCtrlID);
+ int getCurrentSelectedAxisID();
+ void initializeAxisIDCombo();
+ void refreshAxisDetails(int nAxisId);
+ void refreshPositionDetails(int nAxisId, int pageNumber);
+ void UpdatePositionRange(PositionRange& position, int pageNumber, int pageSize, int currentIndex);
+ void updateAxisSelection(int offset);
+ void updateDataFromUI(int nAxisId);
+ void switchToPage(int targetPage);
+ bool ParsePLCAddress(const CString& address, MC::SOFT_COMPONENT& component, int& addr);
+ void writeAxisDataToPLC(int nAxisId);
+ void handleAxisOperation(AxisOperationType eOpType, bool bPressed);
+ void readPLCDataToUI(int nAxisId);
private:
- int m_nInitialWidth;
- int m_nInitialHeight;
- std::map<int, CRect> m_mapCtrlLayouts;
- std::map<int, CFont*> m_mapFonts;
+ CPLC* m_pPLC;
+
+ // 褰撳墠閫変腑鐨勫畾浣嶉〉闈㈢储寮�
+ int m_currentPage;
+
+ // 閰嶆柟鍚嶇О
+ CString m_strRecipeName;
+
+ // 鎺т欢
+ CBlButton* m_pBlBtns[BTN_MAX];
+ CBLLabel* m_pBlLabels[LABEL_MAX];
+ CRegexEdit* m_pRegexEdit[EDIT_MAX];
+ CComboBox m_comboAxisNO;
+ CStatic m_staticAxisNO, m_staticAxisDescription, m_staticStartAddress;
+
+ // 璇诲埌鐨勬暟鎹�
+ BOOL m_bSEV;
+ double m_fCurPos;
+ double m_fManualSpeed;
+ double m_fAutoSpeed;
+ double m_fPrm;
+ int m_nLoad;
+ int m_nErrCode;
+ int m_nAlarmCode;
+ BOOL m_bFLS;
+ BOOL m_bDOG;
+ BOOL m_bRLS;
+ BOOL m_bReady;
+ BOOL m_bBusy;
+ BOOL m_bErr;
+ DWORD m_nBtnsFlashState6;
+ DWORD m_nBtnsFlashState8;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 鏀寔
virtual BOOL OnInitDialog();
+ virtual BOOL PreTranslateMessage(MSG* pMsg);
afx_msg void OnSize(UINT nType, int cx, int cy);
- afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
- afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
afx_msg void OnBnClickedButtonAxisLast();
afx_msg void OnBnClickedButtonAxisNext();
afx_msg void OnBnClickedButtonAxisAnchorPointGroup1();
@@ -48,8 +155,14 @@
afx_msg void OnBnClickedButtonAxisAnchorPoint4();
afx_msg void OnBnClickedButtonAxisAnchorPoint5();
afx_msg void OnBnClickedButtonAxisTestOpr();
- afx_msg void OnBnClickedButtonAxisTestJogAdd();
- afx_msg void OnBnClickedButtonAxisTestJogSub();
afx_msg void OnBnClickedButtonAxisTestStop();
+ 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();
DECLARE_MESSAGE_MAP()
};
--
Gitblit v1.9.3