📄 slave104real.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 + -