📄 comthread.cpp
字号:
//DEL this->m_SetBuf[k].bValue = 0;
//DEL this->m_SetBuf[k].fValue = 0;
//DEL this->m_SetBuf[k].nValue = 0;
//DEL }
//DEL }
BOOL CComThread::RcvDoEnable()
{
m_pDoc->m_bDoOper = 1;
m_pDoc->m_DoIdBuf = m_szInPacket[9];
m_pDoc->m_DoStatuBuf = m_szInPacket[10];
m_pDoc->m_Time.TimeBuf.year = m_szInPacket[11];
m_pDoc->m_Time.TimeBuf.month = m_szInPacket[12];
m_pDoc->m_Time.TimeBuf.day = m_szInPacket[13];
m_pDoc->m_Time.TimeBuf.hour = m_szInPacket[14];
m_pDoc->m_Time.TimeBuf.minute = m_szInPacket[15];
m_pDoc->m_Time.TimeBuf.second = m_szInPacket[16];
BYTE a[2];
memset(a,0,sizeof(a));
a[1] = m_szInPacket[17]; a[0] = m_szInPacket[18];
memcpy(&m_pDoc->m_Time.TimeBuf.ms,&a,sizeof(WORD));
if((m_pDoc->m_Time.AckDoEnableTime.year == 0 && m_pDoc->m_Time.AckDoEnableTime.month == 0 && m_pDoc->m_Time.AckDoEnableTime.day == 0 && m_pDoc->m_Time.AckDoEnableTime.hour == 0 && m_pDoc->m_Time.AckDoEnableTime.minute == 0 && m_pDoc->m_Time.AckDoEnableTime.second ==0))
{
m_pDoc->m_Time.AckDoEnableTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.year > m_pDoc->m_Time.AckDoEnableTime.year)
{
m_pDoc->m_Time.AckDoEnableTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.year == m_pDoc->m_Time.AckDoEnableTime.year)
{
if(m_pDoc->m_Time.TimeBuf.month > m_pDoc->m_Time.AckDoEnableTime.month )
{
m_pDoc->m_Time.AckDoEnableTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.month == m_pDoc->m_Time.AckDoEnableTime.month)
{
if(m_pDoc->m_Time.TimeBuf.day > m_pDoc->m_Time.AckDoEnableTime.day)
{
m_pDoc->m_Time.AckDoEnableTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.day == m_pDoc->m_Time.AckDoEnableTime.day)
{
if(m_pDoc->m_Time.TimeBuf.hour > m_pDoc->m_Time.AckDoEnableTime.hour)
{
m_pDoc->m_Time.AckDoEnableTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.hour == m_pDoc->m_Time.AckDoEnableTime.hour)
{
if(m_pDoc->m_Time.TimeBuf.minute > m_pDoc->m_Time.AckDoEnableTime.minute)
{
m_pDoc->m_Time.AckDoEnableTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.minute == m_pDoc->m_Time.AckDoEnableTime.minute)
{
if(m_pDoc->m_Time.TimeBuf.second >= m_pDoc->m_Time.AckDoEnableTime.second)
{
m_pDoc->m_Time.AckDoEnableTime = m_pDoc->m_Time.TimeBuf;
}
}
}
}
}
}
}
}
}
}
}
}
/*if((m_pDoc->m_Time.AckDoEnableTime.year == 0 && m_pDoc->m_Time.AckDoEnableTime.month == 0 && m_pDoc->m_Time.AckDoEnableTime.day == 0 && m_pDoc->m_Time.AckDoEnableTime.hour == 0 && m_pDoc->m_Time.AckDoEnableTime.minute == 0 && m_pDoc->m_Time.AckDoEnableTime.second ==0)
|| (m_pDoc->m_Time.TimeBuf.year >= m_pDoc->m_Time.AckDoEnableTime.year && m_pDoc->m_Time.TimeBuf.month >= m_pDoc->m_Time.AckDoEnableTime.month && m_pDoc->m_Time.TimeBuf.day >= m_pDoc->m_Time.AckDoEnableTime.day && m_pDoc->m_Time.TimeBuf.hour >= m_pDoc->m_Time.AckDoEnableTime.hour
&& m_pDoc->m_Time.TimeBuf.minute >= m_pDoc->m_Time.AckDoEnableTime.minute && m_pDoc->m_Time.TimeBuf.second >= m_pDoc->m_Time.AckDoEnableTime.second))
{
m_pDoc->m_Time.AckDoEnableTime = m_pDoc->m_Time.TimeBuf;
}*/
return TRUE;
}
BOOL CComThread::RcvDoCmd()
{
m_pDoc->m_bDoStatus[m_szInPacket[9]] = m_szInPacket[10];
m_pDoc->m_Time.TimeBuf.year = m_szInPacket[11];
m_pDoc->m_Time.TimeBuf.month = m_szInPacket[12];
m_pDoc->m_Time.TimeBuf.day = m_szInPacket[13];
m_pDoc->m_Time.TimeBuf.hour = m_szInPacket[14];
m_pDoc->m_Time.TimeBuf.minute = m_szInPacket[15];
m_pDoc->m_Time.TimeBuf.second = m_szInPacket[16];
BYTE a[2];
memset(a,0,sizeof(a));
a[1] = m_szInPacket[17]; a[0] = m_szInPacket[18];
memcpy(&m_pDoc->m_Time.TimeBuf.ms,&a,sizeof(WORD));
if((m_pDoc->m_Time.AckDoCmdTime.year == 0 && m_pDoc->m_Time.AckDoCmdTime.month == 0 && m_pDoc->m_Time.AckDoCmdTime.day == 0 && m_pDoc->m_Time.AckDoCmdTime.hour == 0 && m_pDoc->m_Time.AckDoCmdTime.minute == 0 && m_pDoc->m_Time.AckDoCmdTime.second ==0))
{
m_pDoc->m_Time.AckDoCmdTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.year > m_pDoc->m_Time.AckDoCmdTime.year)
{
m_pDoc->m_Time.AckDoCmdTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.year == m_pDoc->m_Time.AckDoCmdTime.year)
{
if(m_pDoc->m_Time.TimeBuf.month > m_pDoc->m_Time.AckDoCmdTime.month )
{
m_pDoc->m_Time.AckDoCmdTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.month == m_pDoc->m_Time.AckDoCmdTime.month)
{
if(m_pDoc->m_Time.TimeBuf.day > m_pDoc->m_Time.AckDoCmdTime.day)
{
m_pDoc->m_Time.AckDoCmdTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.day == m_pDoc->m_Time.AckDoCmdTime.day)
{
if(m_pDoc->m_Time.TimeBuf.hour > m_pDoc->m_Time.AckDoCmdTime.hour)
{
m_pDoc->m_Time.AckDoCmdTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.hour == m_pDoc->m_Time.AckDoCmdTime.hour)
{
if(m_pDoc->m_Time.TimeBuf.minute > m_pDoc->m_Time.AckDoCmdTime.minute)
{
m_pDoc->m_Time.AckDoCmdTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.minute == m_pDoc->m_Time.AckDoCmdTime.minute)
{
if(m_pDoc->m_Time.TimeBuf.second >= m_pDoc->m_Time.AckDoCmdTime.second)
{
m_pDoc->m_Time.AckDoCmdTime = m_pDoc->m_Time.TimeBuf;
}
}
}
}
}
}
}
}
}
}
}
}
/*if((m_pDoc->m_Time.AckDoCmdTime.year == 0 && m_pDoc->m_Time.AckDoCmdTime.month == 0 && m_pDoc->m_Time.AckDoCmdTime.day == 0 && m_pDoc->m_Time.AckDoCmdTime.hour == 0 && m_pDoc->m_Time.AckDoCmdTime.minute == 0 && m_pDoc->m_Time.AckDoCmdTime.second ==0)
|| (m_pDoc->m_Time.TimeBuf.year >= m_pDoc->m_Time.AckDoCmdTime.year && m_pDoc->m_Time.TimeBuf.month >= m_pDoc->m_Time.AckDoCmdTime.month && m_pDoc->m_Time.TimeBuf.day >= m_pDoc->m_Time.AckDoCmdTime.day && m_pDoc->m_Time.TimeBuf.hour >= m_pDoc->m_Time.AckDoCmdTime.hour
&& m_pDoc->m_Time.TimeBuf.minute >= m_pDoc->m_Time.AckDoCmdTime.minute && m_pDoc->m_Time.TimeBuf.second >= m_pDoc->m_Time.AckDoCmdTime.second))
{
m_pDoc->m_Time.AckDoCmdTime = m_pDoc->m_Time.TimeBuf;
}*/
m_pDoc->m_bSwitch = TRUE;
return TRUE;
}
BOOL CComThread::RcvEnableEnable()
{
m_pDoc->m_bEnableOper = 1;
m_pDoc->m_EnableIdBuf = m_szInPacket[9];
m_pDoc->m_EnableStatuBuf = m_szInPacket[10];
m_pDoc->m_Time.TimeBuf.year = m_szInPacket[11];
m_pDoc->m_Time.TimeBuf.month = m_szInPacket[12];
m_pDoc->m_Time.TimeBuf.day = m_szInPacket[13];
m_pDoc->m_Time.TimeBuf.hour = m_szInPacket[14];
m_pDoc->m_Time.TimeBuf.minute = m_szInPacket[15];
m_pDoc->m_Time.TimeBuf.second = m_szInPacket[16];
BYTE a[2];
memset(a,0,sizeof(a));
a[1] = m_szInPacket[17]; a[0] = m_szInPacket[18];
memcpy(&m_pDoc->m_Time.TimeBuf.ms,&a,sizeof(WORD));
if((m_pDoc->m_Time.AckEnaEnabelTime.year == 0 && m_pDoc->m_Time.AckEnaEnabelTime.month == 0 && m_pDoc->m_Time.AckEnaEnabelTime.day == 0 && m_pDoc->m_Time.AckEnaEnabelTime.hour == 0 && m_pDoc->m_Time.AckEnaEnabelTime.minute == 0 && m_pDoc->m_Time.AckEnaEnabelTime.second ==0))
{
m_pDoc->m_Time.AckEnaEnabelTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.year > m_pDoc->m_Time.AckEnaEnabelTime.year)
{
m_pDoc->m_Time.AckEnaEnabelTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.year == m_pDoc->m_Time.AckEnaEnabelTime.year)
{
if(m_pDoc->m_Time.TimeBuf.month > m_pDoc->m_Time.AckEnaEnabelTime.month )
{
m_pDoc->m_Time.AckEnaEnabelTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.month == m_pDoc->m_Time.AckEnaEnabelTime.month)
{
if(m_pDoc->m_Time.TimeBuf.day > m_pDoc->m_Time.AckEnaEnabelTime.day)
{
m_pDoc->m_Time.AckEnaEnabelTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.day == m_pDoc->m_Time.AckEnaEnabelTime.day)
{
if(m_pDoc->m_Time.TimeBuf.hour > m_pDoc->m_Time.AckEnaEnabelTime.hour)
{
m_pDoc->m_Time.AckEnaEnabelTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.hour == m_pDoc->m_Time.AckEnaEnabelTime.hour)
{
if(m_pDoc->m_Time.TimeBuf.minute > m_pDoc->m_Time.AckEnaEnabelTime.minute)
{
m_pDoc->m_Time.AckEnaEnabelTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.minute == m_pDoc->m_Time.AckEnaEnabelTime.minute)
{
if(m_pDoc->m_Time.TimeBuf.second >= m_pDoc->m_Time.AckEnaEnabelTime.second)
{
m_pDoc->m_Time.AckEnaEnabelTime = m_pDoc->m_Time.TimeBuf;
}
}
}
}
}
}
}
}
}
}
}
}
/*if((m_pDoc->m_Time.AckEnaEnabelTime.year == 0 && m_pDoc->m_Time.AckEnaEnabelTime.month == 0 && m_pDoc->m_Time.AckEnaEnabelTime.day == 0 && m_pDoc->m_Time.AckEnaEnabelTime.hour == 0 && m_pDoc->m_Time.AckEnaEnabelTime.minute == 0 && m_pDoc->m_Time.AckEnaEnabelTime.second ==0)
|| (m_pDoc->m_Time.TimeBuf.year >= m_pDoc->m_Time.AckEnaEnabelTime.year && m_pDoc->m_Time.TimeBuf.month >= m_pDoc->m_Time.AckEnaEnabelTime.month && m_pDoc->m_Time.TimeBuf.day >= m_pDoc->m_Time.AckEnaEnabelTime.day && m_pDoc->m_Time.TimeBuf.hour >= m_pDoc->m_Time.AckEnaEnabelTime.hour
&& m_pDoc->m_Time.TimeBuf.minute >= m_pDoc->m_Time.AckEnaEnabelTime.minute && m_pDoc->m_Time.TimeBuf.second >= m_pDoc->m_Time.AckEnaEnabelTime.second))
{
m_pDoc->m_Time.AckEnaEnabelTime = m_pDoc->m_Time.TimeBuf;
}*/
return TRUE;
}
BOOL CComThread::RcvEnableSet()
{
m_pDoc->m_bEnableStatus[m_szInPacket[9]] = m_szInPacket[10];
m_pDoc->m_Time.TimeBuf.year = m_szInPacket[11];
m_pDoc->m_Time.TimeBuf.month = m_szInPacket[12];
m_pDoc->m_Time.TimeBuf.day = m_szInPacket[13];
m_pDoc->m_Time.TimeBuf.hour = m_szInPacket[14];
m_pDoc->m_Time.TimeBuf.minute = m_szInPacket[15];
m_pDoc->m_Time.TimeBuf.second = m_szInPacket[16];
BYTE a[2];
memset(a,0,sizeof(a));
a[1] = m_szInPacket[17]; a[0] = m_szInPacket[18];
memcpy(&m_pDoc->m_Time.TimeBuf.ms,&a,sizeof(WORD));
if((m_pDoc->m_Time.AckEnaSetTime.year == 0 && m_pDoc->m_Time.AckEnaSetTime.month == 0 && m_pDoc->m_Time.AckEnaSetTime.day == 0 && m_pDoc->m_Time.AckEnaSetTime.hour == 0 && m_pDoc->m_Time.AckEnaSetTime.minute == 0 && m_pDoc->m_Time.AckEnaSetTime.second ==0))
{
m_pDoc->m_Time.AckEnaSetTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.year > m_pDoc->m_Time.AckEnaSetTime.year)
{
m_pDoc->m_Time.AckEnaSetTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.year == m_pDoc->m_Time.AckEnaSetTime.year)
{
if(m_pDoc->m_Time.TimeBuf.month > m_pDoc->m_Time.AckEnaSetTime.month )
{
m_pDoc->m_Time.AckEnaSetTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.month == m_pDoc->m_Time.AckEnaSetTime.month)
{
if(m_pDoc->m_Time.TimeBuf.day > m_pDoc->m_Time.AckEnaSetTime.day)
{
m_pDoc->m_Time.AckEnaSetTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.day == m_pDoc->m_Time.AckEnaSetTime.day)
{
if(m_pDoc->m_Time.TimeBuf.hour > m_pDoc->m_Time.AckEnaSetTime.hour)
{
m_pDoc->m_Time.AckEnaSetTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.hour == m_pDoc->m_Time.AckEnaSetTime.hour)
{
if(m_pDoc->m_Time.TimeBuf.minute > m_pDoc->m_Time.AckEnaSetTime.minute)
{
m_pDoc->m_Time.AckEnaSetTime = m_pDoc->m_Time.TimeBuf;
}
else
{
if(m_pDoc->m_Time.TimeBuf.minute == m_pDoc->m_Time.AckEnaSetTime.minute)
{
if(m_pDoc->m_Time.TimeBuf.second >= m_pDoc->m_Time.AckEnaSetTime.second)
{
m_pDoc->m_Time.AckEnaSetTime = m_pDoc->m_Time.TimeBuf;
}
}
}
}
}
}
}
}
}
}
}
}
/*if((m_pDoc->m_Time.AckEnaSetTime.year == 0 && m_pDoc->m_Time.AckEnaSetTime.month == 0 && m_pDoc->m_Time.AckEnaSetTime.day == 0 && m_pDoc->m_Time.AckEnaSetTime.hour == 0 && m_pDoc->m_Time.AckEnaSetTime.minute == 0 && m_pDoc->m_Time.AckEnaSetTime.second ==0)
|| (m_pDoc->m_Time.TimeBuf.year >= m_pDoc->m_Time.AckEnaSetTime.year && m_pDoc->m_Time.TimeBuf.month >= m_pDoc->m_Time.AckEnaSetTime.month && m_pDoc->m_Time.TimeBuf.day >= m_pDoc->m_Time.AckEnaSetTime.day && m_pDoc->m_Time.TimeBuf.hour >= m_pDoc->m_Time.AckEnaSetTime.hour
&& m_pDoc->m_Time.TimeBuf.minute >= m_pDoc->m_Time.AckEnaSetTime.minute && m_pDoc->m_Time.TimeBuf.second >= m_pDoc->m_Time.AckEnaSetTime.second))
{
m_pDoc->m_Time.AckEnaSetTime = m_pDoc->m_Time.TimeBuf;
}*/
m_pDoc->m_bSwitch = TRUE;
return TRUE;
}
BOOL CComThread::RcvSetSwitch()
{
m_pDoc->m_device_info.current_sect = m_szInPacket[9];
return TRUE;
}
BOOL CComThread::RcvSetDataChg()
{
//显示定值区内容时,切换到哪个定值区,就把该定值区的内容copy到m_SetBuf
switch(m_pDoc->m_SettingInfo[m_szInPacket[10]].data_type)
{
BYTE a[4];
memset(a,0,sizeof(a));
case 0:
{
memcpy(&m_pDoc->m_SetBuf[m_szInPacket[10]].bValue, &m_szInPacket[11], sizeof(BOOL));
break;
}
case 1:
{
memcpy(&m_pDoc->m_SetBuf[m_szInPacket[10]].nValue, &m_szInPacket[11], sizeof(WORD));
break;
}
case 2:
{
a[3] = m_szInPacket[11]; a[2] = m_szInPacket[12]; a[1] = m_szInPacket[13]; a[0] = m_szInPacket[14];
// memcpy(&m_pDoc->m_SetBuf[m_szInPacket[10]], &a, sizeof(a));
memcpy(&m_pDoc->m_SetBuf[m_szInPacket[10]].fValue, &a, sizeof(float));
break;
}
}
return TRUE;
}
BOOL CComThread::RcvSetCmdChg()
{
m_pDoc->m_SetReturn = m_szInPacket[10];
return TRUE;
}
BOOL CComThread::RcvSendSet()
{
BYTE tSetcntr = 0;
// if(m_szInPacket[11] == 0)
// {
// m_pDoc->m_nSetFrameCntr = m_szInPacket[10];
// }
tSetcntr = m_szInPacket[10];
if(this->m_szInPacket[9] > MAX_SETTING_SECT - 1)
{
return TRUE;
}
else
{
for(int i = 0; i < tSetcntr; i++)
{
BYTE a[4];
memset(a,0,sizeof(a));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -