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

📄 slave104real.cpp

📁 104规约从站库源代码
💻 CPP
字号:
#include "stdafx.h"
#include "Slave104_Demo.h"
#include "Slave104_DemoDlg.h"
#include "Slave104real.h"
CSlave104real::CSlave104real()
{
	
}
CSlave104real::~CSlave104real()
{
}
	
void CSlave104real::On_init_ASDU_process()
{

	int i;
		Init_CauseOfTransfer_Size(2);	//设置传输原因占字节 1 or 2
		Init_InfoBodyAddr_Size(3);		//设置信息体占字节 1 2 or 3
		Init_ASDU_Common_addr_size(2);	//设置公共地址占字节 1 or  2
		Init_ASDU_Common_addr(1);		//设置应用公共服务地址
		Init_Backgroundperiod(300);		//背景扫描时间间隔(秒)
		//***************单点信息**************************
		init_SP_create(	256,0x0001,0x0100,1	);
		for( i=0;i<256;i++)
		{
			init_SP_setgroup(i,1);
			slave_SP_SetData(i,0);		//初始化遥信
		}

		init_SP_enable(1);
		//***************单点信息**************************
		init_DP_create(	256,0x0201,0x0300,0	);
		for( i=0;i<256;i++)
		{
			init_DP_setgroup(i,2);
			slave_DP_SetData(i,1);		//初始化遥信
		}

		init_DP_enable(1);
		//***************归一化模拟量**************************
		init_ME_NA_create(128, 0x4001,0x4080,0);

		for( i=0;i<128;i++)
		{
			init_ME_NA_setgroup(i,9,1,1.0);
			slave_ME_NA_SetData(i,5);	//初始化遥测
		}
		
		init_ME_NA_enable(1);
		//***************短浮点模拟量**************************
		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);	//初始化遥测
		}
		
		init_ME_NC_enable(1);
		//***************电度量**************************
		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);	//初始化电镀
		}
		
		init_IT_NA_enable(1);
		//***************单点遥控**************************
		init_C_SC_create();
		init_C_SC_enable(1);
		//***************双点遥控**************************
		init_C_DC_create();
		init_C_DC_enable(1);

		//***************归一化遥调**************************
		init_C_SE_NA_create();
		init_C_SE_NA_enable(1);
		//***************归一化参数**************************
		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 CSlave104real::On_init_Link_process()
{
	Init_Linkpara();
	
}
void CSlave104real::On_init_Sock_process()
{
	Init_SockServerport();
}
BYTE CSlave104real::On_C_SC_select(WORD point ,BYTE status)
{
	CString str;
	str.Format("单点遥控  选择   点号:%d  合分状态:%d",point,status);
	dlg->m_list.AddString(str);
	return 1;
}
void CSlave104real::On_C_SC_operate(WORD point ,BYTE status)
{
	CString str;
	str.Format("单点遥控  执行   点号:%d  合分状态:%d",point,status);
	dlg->m_list.AddString(str);

}
BYTE CSlave104real::On_C_DC_select(WORD point ,BYTE status)
{
	CString str;
	str.Format("双点遥控  选择   点号:%d  合分状态:%d",point,status);
	dlg->m_list.AddString(str);
	return 1;
}
void CSlave104real::On_C_DC_operate(WORD point ,BYTE status)
{
	CString str;
	str.Format("双点遥控  执行   点号:%d  合分状态:%d",point,status);
	dlg->m_list.AddString(str);

}
BYTE CSlave104real::On_C_RC_select(WORD point ,BYTE status)
{
	return 1;
}
void CSlave104real::On_C_RC_operate(WORD point ,BYTE status)
{
}
BYTE CSlave104real::On_C_BO_select(WORD point ,DWORD status)
{
	return 1;
}
void CSlave104real::On_C_BO_operate(WORD point ,DWORD status)
{
}
void CSlave104real::On_C_SE_NA_operate(WORD point ,WORD status)
{
	CString str;
	str.Format("归一化遥调  执行   点号:%d  值:%d",point,status);
	dlg->m_list.AddString(str);

}
void CSlave104real::On_C_SE_NB_operate(WORD point ,WORD value)
{
}
void CSlave104real::On_C_SE_NC_operate(WORD point ,float value)
{
}
void CSlave104real::On_C_SE_ND_operate(WORD point ,WORD value)
{
}
void CSlave104real::On_RecvMsg(_BYTE *msgbuf,_int len )//显示接收报文
{
	TRACE("\nRx:");
	for(int i=0;i<len;i++)
		TRACE(" %02x ",msgbuf[i]); 
}
void CSlave104real::On_SendMsg(_BYTE *msgbuf,_int len)//显示发送报文
{
	TRACE("\nTx:");
	for(int i=0;i<len;i++)
		TRACE(" %02x ",msgbuf[i]); 
}

void CSlave104real::On_ErrorMsg(char *msgbuf)
{
	TRACE("\n%s",msgbuf);
}

⌨️ 快捷键说明

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