| Document/PLC参考图.rar | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/BondEq.rc | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/BondEqDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/CComponentPLCDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/CComponentPLCDlg.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/CPLC.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/BondEq/View/IOMonitoringDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/x64/Debug/Config/BondEq.db | 补丁 | 查看 | 原始文档 | blame | 历史 |
Document/PLC²Î¿¼Í¼.rarBinary files differ
SourceCode/Bond/BondEq/BondEq.rcBinary files differ
SourceCode/Bond/BondEq/BondEqDlg.cpp
@@ -760,8 +760,9 @@ CComponentPLCDlg* CBondEqDlg::CreateComponentPLCDlg(CComponent* pComponent) { CComponentPLCDlg* pDlg = new CComponentPLCDlg(m_pMainContainer); pDlg->Create(IDD_COMPONENT_PLC, m_pMainContainer); pDlg->SetContext(pComponent); pDlg->Create(IDD_COMPONENT_PLC, m_pMainContainer); CString strIcon0, strIcon1, strIcon2, strIcon3; strIcon0.Format(_T("%s\\Res\\small_close0.ico"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir); SourceCode/Bond/BondEq/CComponentPLCDlg.cpp
@@ -38,6 +38,7 @@ ON_WM_SIZE() ON_BN_CLICKED(IDC_BUTTON_PLC_AXIS_SETTINGS, &CComponentPLCDlg::OnBnClickedButtonAxisSetting) ON_BN_CLICKED(IDC_BUTTON_PLC_IO, &CComponentPLCDlg::OnBnClickedButtonIO) ON_WM_TIMER() END_MESSAGE_MAP() @@ -53,8 +54,19 @@ // onNext pAny->addRef(); int code = pAny->getCode(); if (RX_CODE_ALARM_EVENT == code) { if (RX_CODE_PLC1_CONNECTTD == code) { CComponent* pComponent; if (pAny->getPtrValue("ptr", (void*&)pComponent) && pComponent == m_pContext) { EnableGroup1(TRUE); } } else if (RX_CODE_PLC1_DISCONNECTTD == code) { CComponent* pComponent; if (pAny->getPtrValue("ptr", (void*&)pComponent) && pComponent == m_pContext) { EnableGroup1(FALSE); } } pAny->release(); }, [&]() -> void { @@ -72,12 +84,24 @@ BOOL CComponentPLCDlg::OnInitDialog() { CComponentDlg::OnInitDialog(); SetTimer(1, 200, NULL); return TRUE; // return TRUE unless you set the focus to a control // å¼å¸¸: OCX 屿§é¡µåºè¿å FALSE } void CComponentPLCDlg::OnTimer(UINT_PTR nIDEvent) { // TODO: 卿¤æ·»å æ¶æ¯å¤çç¨åºä»£ç å/æè°ç¨é»è®¤å¼ if (1 == nIDEvent) { KillTimer(1); InitRxWindows(); CPLC* pPLC = (CPLC*)m_pContext; EnableGroup1(pPLC->isConnected()); } CComponentDlg::OnTimer(nIDEvent); } HBRUSH CComponentPLCDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { @@ -129,7 +153,7 @@ void CComponentPLCDlg::OnBnClickedButtonAxisSetting() { CAxisSettingsDlg axisDlg; axisDlg.SetPLC(theApp.m_model.getBonder().getPLC("PLC(1)")); axisDlg.SetPLC((CPLC*)m_pContext); axisDlg.SetRecipeName(_T("Default")); axisDlg.DoModal(); } @@ -142,3 +166,9 @@ dlg.DoModal(); } void CComponentPLCDlg::EnableGroup1(BOOL bEnable) { GetDlgItem(IDC_BUTTON_PLC_AXIS_SETTINGS)->EnableWindow(bEnable); GetDlgItem(IDC_BUTTON_PLC_IO)->EnableWindow(bEnable); } SourceCode/Bond/BondEq/CComponentPLCDlg.h
@@ -15,6 +15,7 @@ private: void InitRxWindows(); void EnableGroup1(BOOL bEnable); private: IObserver* m_pObserver; @@ -36,4 +37,5 @@ afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnBnClickedButtonAxisSetting(); afx_msg void OnBnClickedButtonIO(); afx_msg void OnTimer(UINT_PTR nIDEvent); }; SourceCode/Bond/BondEq/CPLC.cpp
@@ -242,7 +242,7 @@ bool CPLC::isConnected() { return m_pChannel->isConnected(); return m_pChannel != nullptr && m_pChannel->isConnected(); } int CPLC::readWord(MC::SOFT_COMPONENT softComponent, unsigned int addr, SourceCode/Bond/BondEq/View/IOMonitoringDlg.cpp
@@ -502,6 +502,8 @@ CreateDynamicControls(); DisplayCurrentPage(); GetDlgItem(IDC_BUTTON_PREV_PAGE)->EnableWindow(m_nCurrentPage > 1); GetDlgItem(IDC_BUTTON_NEXT_PAGE)->EnableWindow(m_nCurrentPage < m_nTotalPages); SetTimer(TIMER_READ_PLC_DATA, 500, nullptr); @@ -535,6 +537,9 @@ else { AfxMessageBox(_T("å·²ç»æ¯ç¬¬ä¸é¡µï¼")); } GetDlgItem(IDC_BUTTON_PREV_PAGE)->EnableWindow(m_nCurrentPage > 1); GetDlgItem(IDC_BUTTON_NEXT_PAGE)->EnableWindow(m_nCurrentPage < m_nTotalPages); } void CIOMonitoringDlg::OnBnClickedButtonNextPage() @@ -547,6 +552,9 @@ else { AfxMessageBox(_T("å·²ç»æ¯æåä¸é¡µï¼")); } GetDlgItem(IDC_BUTTON_PREV_PAGE)->EnableWindow(m_nCurrentPage > 1); GetDlgItem(IDC_BUTTON_NEXT_PAGE)->EnableWindow(m_nCurrentPage < m_nTotalPages); } void CIOMonitoringDlg::OnTimer(UINT_PTR nIDEvent) SourceCode/Bond/x64/Debug/Config/BondEq.dbBinary files differ