⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 advemulationdlg.cpp

📁 用于开发Modbus工业级通信
💻 CPP
字号:
// AdvEmulationDlg.cpp : implementation file
//

#include "stdafx.h"
#include "mod_rssim.h"
#include "AdvEmulationDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAdvEmulationDlg dialog


CAdvEmulationDlg::CAdvEmulationDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAdvEmulationDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAdvEmulationDlg)
	m_numInputs = 0;
	m_numOutputs = 0;
	m_numHolding = 0;
	m_numExtended = 0;
	m_numAnalogs = 0;
	m_MOSCADchecks = FALSE;
	m_PDUSize = 0;
	m_modifyThenRespond = FALSE;
	m_disableWrites = FALSE;
	//}}AFX_DATA_INIT

   m_topic.SetHelpTopic("Animation");
}


void CAdvEmulationDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAdvEmulationDlg)
	DDX_Text(pDX, IDC_INPUTS, m_numInputs);
	DDV_MinMaxDWord(pDX, m_numInputs, 0, 65535);
	DDX_Text(pDX, IDC_OUTPUTS, m_numOutputs);
	DDV_MinMaxDWord(pDX, m_numOutputs, 0, 65535);
	DDX_Text(pDX, IDC_HOLDING, m_numHolding);
	DDV_MinMaxDWord(pDX, m_numHolding, 0, 65535);
	DDX_Text(pDX, IDC_EXTENDED, m_numExtended);
	DDV_MinMaxDWord(pDX, m_numExtended, 0, 65535);
	DDX_Text(pDX, IDC_ANALOGS, m_numAnalogs);
	DDV_MinMaxDWord(pDX, m_numAnalogs, 0, 65535);
	DDX_Check(pDX, IDC_MOSCAD, m_MOSCADchecks);
	DDX_Text(pDX, IDC_PDUSIZE, m_PDUSize);
	DDV_MinMaxDWord(pDX, m_PDUSize, 1, 2048);
	DDX_Check(pDX, IDC_MODIFY_FIRST, m_modifyThenRespond);
	DDX_Check(pDX, IDC_DISABLEWRITES, m_disableWrites);
	//}}AFX_DATA_MAP

   // MAX PDU is (MAX_RX_MESSAGELENGTH/2) = 2048
}


BEGIN_MESSAGE_MAP(CAdvEmulationDlg, CDialog)
	//{{AFX_MSG_MAP(CAdvEmulationDlg)
	ON_BN_CLICKED(IDC_DEFAULTS, OnDefaults)
	ON_BN_CLICKED(IDC_MAXIMUM, OnMaximum)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAdvEmulationDlg message handlers

BOOL CAdvEmulationDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	UpdateData(FALSE);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

// ------------------------------- OnOK -----------------------------------
void CAdvEmulationDlg::OnOK() 
{
	// TODO: Add extra validation here
	if (UpdateData(TRUE))
   	CDialog::OnOK();
   // else do nothing
}


void CAdvEmulationDlg::OnDefaults() 
{
	// TODO: Add your control notification handler code here
	m_numInputs = 10000;
	m_numOutputs = 10000;
	m_numHolding = 10000;
	m_numExtended = 10000;
	m_numAnalogs = 10000;
   m_PDUSize = 128;  // (Note : 128 = 256 bytes)
   m_disableWrites = FALSE;     // simple test

   m_MOSCADchecks = FALSE;
   m_modifyThenRespond = TRUE;
   UpdateData(FALSE);	
}

void CAdvEmulationDlg::OnMaximum() 
{
	// TODO: Add your control notification handler code here
	m_numInputs = 65535;
	m_numOutputs = 65535;
	m_numHolding = 65535;
	m_numExtended = 65535;
	m_numAnalogs = 65535;
   m_PDUSize = MAX_RX_MESSAGELENGTH/2; // (Note : 2048 = 4096 bytes)

   UpdateData(FALSE);	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -