www.pudn.com > Lib870-5Demo.rar > Slave101real.cpp


#include "stdafx.h" 
#include "Slave101_Demo.h" 
#include "Slave101_DemoDlg.h" 
#include "Slave101real.h" 
CSlave101real::CSlave101real() 
{ 
	 
} 
CSlave101real::~CSlave101real() 
{ 
} 
	 
void CSlave101real::On_init_ASDU_process() 
{ 
 
	int i; 
 
		Init_CauseOfTransfer_Size(1);	//initialize COT size for  1 or 2 
		Init_InfoBodyAddr_Size(2);		//initialize information object size for  1, 2 or 3 
		Init_ASDU_Common_addr_size(1);	//initialize Common Addr size 1 or  2 
		Init_ASDU_Common_addr(1);		//initialize Common Addr 
		Init_Backgroundperiod(300);		//Background Scan time period (Unit is second) 
		//*************** Create single point buffer ************************** 
		init_SP_create(	256,0x0001,0x0100,1	); 
		for( i=0;i<256;i++) 
		{ 
			init_SP_setgroup(i,1); 
			slave_SP_SetData(i,0);		//initialize data 
		} 
 
		init_SP_enable(1); 
		//*************** Create Double point buffer ************************** 
		init_DP_create(	256,0x0201,0x0300,0	); 
		for( i=0;i<256;i++) 
		{ 
			init_DP_setgroup(i,2); 
			slave_DP_SetData(i,1);		//initialize data 
		} 
 
		init_DP_enable(1); 
		//*************** Create ME_NA buffer************************** 
		init_ME_NA_create(128, 0x4001,0x4080,0); 
 
		for( i=0;i<128;i++) 
		{ 
			init_ME_NA_setgroup(i,9,0,1.0); 
			slave_ME_NA_SetData(i,5);	//initialize data 
		} 
		 
		init_ME_NA_enable(1); 
		//************** Create ME_NC buffer************************** 
		init_ME_NC_create(128, 0x4401,0x4480,0); 
 
		for( i=0;i<128;i++) 
		{ 
			init_ME_NC_setgroup(i,8,0,1.0); 
			slave_ME_NC_SetData(i,1.23);	//initialize data 
		} 
		 
		init_ME_NC_enable(1); 
		//*************** Create ME_IT buffer ************************** 
		init_IT_NA_create(128, 0x6401,0x6480,1); 
 
		for( i=0;i<128;i++) 
		{ 
			init_IT_NA_setgroup(i,1); 
			slave_IT_NA_SetData(i,10);	//initialize data 
		} 
		 
		init_IT_NA_enable(1); 
		//***************Create C_SC buffer************************** 
		init_C_SC_create(); 
		init_C_SC_enable(1); 
		//****************Create C_DC buffer*************************** 
		init_C_DC_create(); 
		init_C_DC_enable(1); 
 
		//****************Create SE_NA buffer*************************** 
		init_C_SE_NA_create(); 
		init_C_SE_NA_enable(1); 
		//***************Create P_ME_NA buffer************************** 
		init_P_ME_NA_create(128); 
		for( i=0;i<128;i++) 
		{ 
			init_P_ME_NA_setgroup(i,14); 
		} 
		init_P_ME_NA_enable(1); 
	 
	 
} 
void CSlave101real::On_init_Link_process() 
{ 
	Init_LinkAddr_size(1); 
	Init_LinkAddr(1); 
} 
void CSlave101real::On_init_Serial_process() 
{ 
	Init_framesize(246);			 
	Init_SerialComm((char*)((LPCSTR)port),atoi((LPCSTR)baudrate)); 
 
} 
BYTE CSlave101real::On_C_SC_select(WORD point ,BYTE status) 
{ 
	CString str; 
	str.Format("C_SC  Select   point:%d  switch status:%d",point,status); 
	dlg->m_list.AddString(str); 
	return 1; 
} 
void CSlave101real::On_C_SC_operate(WORD point ,BYTE status) 
{ 
	CString str; 
	str.Format("C_SC  Execute   point:%d  switch status:%d",point,status); 
	dlg->m_list.AddString(str); 
 
} 
BYTE CSlave101real::On_C_DC_select(WORD point ,BYTE status) 
{ 
	CString str; 
	str.Format("C_DC  Select   point:%d  switch status:%d",point,status); 
	dlg->m_list.AddString(str); 
	return 1; 
} 
void CSlave101real::On_C_DC_operate(WORD point ,BYTE status) 
{ 
	CString str; 
	str.Format("C_DC  Execute   point:%d  switch status:%d",point,status); 
	dlg->m_list.AddString(str); 
 
} 
BYTE CSlave101real::On_C_RC_select(WORD point ,BYTE status) 
{ 
	return 1; 
} 
void CSlave101real::On_C_RC_operate(WORD point ,BYTE status) 
{ 
} 
BYTE CSlave101real::On_C_BO_select(WORD point ,DWORD status) 
{ 
	return 1; 
} 
void CSlave101real::On_C_BO_operate(WORD point ,DWORD status) 
{ 
} 
void CSlave101real::On_C_SE_NA_operate(WORD point ,WORD status) 
{ 
	CString str; 
	str.Format("C_SE_NA  execute   point:%d  value:%d",point,status); 
	dlg->m_list.AddString(str); 
 
} 
void CSlave101real::On_C_SE_NB_operate(WORD point ,WORD value) 
{ 
} 
void CSlave101real::On_C_SE_NC_operate(WORD point ,float value) 
{ 
} 
void CSlave101real::On_C_SE_ND_operate(WORD point ,WORD value) 
{ 
} 
void CSlave101real::On_RecvMsg(_BYTE *msgbuf,_int len ) 
{ 
	TRACE("\nRx:"); 
	for(int i=0;i