亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? iec104.cpp

?? 此程序適用于電力系統(tǒng)中的網(wǎng)關(guān)程序
?? CPP
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
		DataInfo.ApduHead.bControlCode1 = m_wSendCount % 0x100;
		DataInfo.ApduHead.bControlCode2 = m_wSendCount / 0x100;
		DataInfo.ApduHead.bControlCode3 = m_wRevCount % 0x100;
		DataInfo.ApduHead.bControlCode4 = m_wRevCount / 0x100;

		DataInfo.AsduHead.bAsduType =  0x32;
		DataInfo.AsduHead.bAsduVsq = (unsigned char)nNumber;//??
		DataInfo.AsduHead.nAsduCot = 0x0002;
		DataInfo.AsduHead.nAsduComAddr = m_iAddress * 0x100;//0x0100;//bNode*0x100 + bSector;
		DataInfo.AsduHead.bAsduInf = 0x00;//??

		for (i=0; i<nNumber; ++i)
		{
			g_devdata.GetFixDevData(m_nPortNo, i, DATA_YC, DataGroup);
			DataInfo.bDataVec.push_back(DataGroup.nValue & 0xff);
			DataInfo.bDataVec.push_back(DataGroup.nValue / 0xff);

		}
		//如果增加頻率,可在此處添加
		m_SendList.push_back(DataInfo);
		DataInfo.bDataVec.clear();
		m_wSendCount += 2;		//最低位未使用
	}
	return;
}

/*====================================================================================
*                                                                                    
* Subroutine  : PutSendList()
*                                                                                    
* Parameters  : 
*               
*                                                                                    
* Called from : PackData()
* 
* Description : 打包主動(dòng)上送信息,存入m_SendList隊(duì)列中
* 
* Return	  : 
*               
*                                             
* Modification: 
*				 2004-07-29: 
*                                                                                     
*====================================================================================*/
int CIEC104::PutSendList()
{
	int			nResult = 0;	//返回值變量
	int			nResult1 = 0;	//返回值變量
	int			ret = 0;		//返回值變量
	SOE_STATUS		soe_status;		//收到信息數(shù)據(jù)結(jié)構(gòu)
	DATA_STR		DataInfo;		//數(shù)據(jù)信息格式
	enum GateStation	eStation;		//站類型
	SYSTEMTIME		systime;		//時(shí)間結(jié)構(gòu)體

	memset(&soe_status, 0x00, sizeof(SOE_STATUS));
	memset(&DataInfo, 0x00, sizeof(DATA_STR));

	GetGateStation(eStation);
	nResult1 = g_soedata.GetSoeData(eStation, soe_status);

	if (nResult1)
	{
		DataInfo.ApduHead.bStartCode =  0x68;
		DataInfo.ApduHead.bControlCode1 = m_wSendCount % 0x100;
		DataInfo.ApduHead.bControlCode2 = m_wSendCount / 0x100;
		DataInfo.ApduHead.bControlCode3 = m_wRevCount % 0x100;
		DataInfo.ApduHead.bControlCode4 = m_wRevCount / 0x100;

		DataInfo.AsduHead.bAsduVsq = 0x81;
		DataInfo.AsduHead.nAsduCot = 0x0001;
		DataInfo.AsduHead.nAsduComAddr = soe_status.bAddress;
//		DataInfo.AsduHead.bAsduInf = soe_status.nPot;

		if (!DataInfo.bDataVec.empty())
		{
			DataInfo.bDataVec.clear();
		}

		GetLocalTime(&systime);
		//asdu類型需要配置??
		switch (soe_status.eType)
		{
		case INFDATA_YX:	//遙信變位
			if (soe_status.nPot < 512)
			{
				DataInfo.AsduHead.nAsduComAddr = m_iAddress * 0x100 
					+ m_bSector[soe_status.nPot];//??soe_status.bAddress;
				DataInfo.AsduHead.bAsduInf = m_bYXInfBuf[soe_status.nPot];//??
			}
			else
			{
				//有問(wèn)題了
			}
			DataInfo.ApduHead.bApduLength = 0x13;

			DataInfo.AsduHead.bAsduType =  0x1f;

			DataInfo.bDataVec.push_back(soe_status.bStatus);
			DataInfo.bDataVec.push_back(soe_status.wMilliseconds % 0x100);
			DataInfo.bDataVec.push_back(soe_status.wMilliseconds / 0x100);
			DataInfo.bDataVec.push_back(soe_status.bMinute);
			DataInfo.bDataVec.push_back(soe_status.bHour);
			DataInfo.bDataVec.push_back(systime.wDay & 0x1f);
			DataInfo.bDataVec.push_back(systime.wMonth & 0x1f);
			DataInfo.bDataVec.push_back(systime.wYear & 0x7f);

			m_SendList.push_back(DataInfo);
			DataInfo.bDataVec.clear();
			m_wSendCount += 2;		//最低位未使用
			nResult = 1;
			break;
		case INFDATA_SOE:
			DataInfo.AsduHead.nAsduComAddr = m_iAddress * 0x100 
				+ m_bSector[soe_status.nPot];//??soe_status.bAddress;
			ret = ReadSOEInf104(soe_status.nPot);
			if (ret!=0)
			{
				DataInfo.AsduHead.bAsduInf = ret;//??
			}
			else
			{
				break;
			}

			DataInfo.ApduHead.bApduLength = 0x13;

			DataInfo.AsduHead.bAsduType =  0x26;

			DataInfo.bDataVec.push_back(soe_status.bStatus);
			DataInfo.bDataVec.push_back(soe_status.wMilliseconds % 0x100);
			DataInfo.bDataVec.push_back(soe_status.wMilliseconds / 0x100);
			DataInfo.bDataVec.push_back(soe_status.bMinute);
			DataInfo.bDataVec.push_back(soe_status.bHour);
			DataInfo.bDataVec.push_back(systime.wDay & 0x1f);
			DataInfo.bDataVec.push_back(systime.wMonth & 0x1f);
			DataInfo.bDataVec.push_back(systime.wYear & 0x7f);

			m_SendList.push_back(DataInfo);
			DataInfo.bDataVec.clear();
			m_wSendCount += 2;		//最低位未使用
			nResult = 1;
			break;
		case INFDATA_YK_SEL:	//遙控返校,選擇
		case INFDATA_YK_EXE:	//遙控返校,執(zhí)行
			if (soe_status.nPot < 512)
			{
				DataInfo.AsduHead.nAsduComAddr = m_iAddress * 0x100 
					+ m_bSector[soe_status.nPot];//??soe_status.bAddress;
				DataInfo.AsduHead.bAsduInf = m_bYXInfBuf[soe_status.nPot];//??
			}
			else
			{
				//有問(wèn)題了
			}
			DataInfo.ApduHead.bApduLength = 0x0c;

			DataInfo.AsduHead.bAsduType =  0x2e;

			if ((soe_status.bStatus == 1)
				|| (soe_status.bStatus == 2))
			{
				DataInfo.AsduHead.nAsduCot = 0x0007;	//肯定回答
			}
			else
			{
				DataInfo.AsduHead.nAsduCot = 0x000a;	//否定回答
			}

			if (soe_status.eType == INFDATA_YK_SEL)
			{
				DataInfo.bDataVec.push_back(soe_status.bStatus|0x80);	//選擇
			}
			else
			{
				DataInfo.bDataVec.push_back(soe_status.bStatus);	//執(zhí)行
			}

			m_SendList.push_back(DataInfo);
			DataInfo.bDataVec.clear();
			m_wSendCount += 2;		//最低位未使用
			nResult = 1;
			break;
		default:
			break;
		}
	}

	return nResult;
}

/*====================================================================================
*                                                                                    
* Subroutine  : ID_State()
*                                                                                    
* Parameters  :	bAddr:	裝置地址
*			bState:	裝置狀態(tài) 0 投入 1退出
*               
*                                                                                    
* Called from : TcpHeart()
* 
* Description : 打包裝置狀態(tài)上送信息,存入m_SendList隊(duì)列中
* 
* Return	  : 
*               
*                                             
* Modification: 
*				 2004-07-29: 
*                                                                                     
*====================================================================================*/
void CIEC104::ID_State(BYTE bAddr, BYTE bState)
{
	SYSTEMTIME		systime;		//時(shí)間結(jié)構(gòu)體
	DATA_STR		DataInfo;		//數(shù)據(jù)信息格式

	memset(&DataInfo, 0x00, sizeof(DATA_STR));
	GetLocalTime(&systime);

	DataInfo.ApduHead.bStartCode =  0x68;
	DataInfo.ApduHead.bApduLength = 0x15;
	DataInfo.ApduHead.bControlCode1 = m_wSendCount % 0x100;
	DataInfo.ApduHead.bControlCode2 = m_wSendCount / 0x100;
	DataInfo.ApduHead.bControlCode3 = m_wRevCount % 0x100;
	DataInfo.ApduHead.bControlCode4 = m_wRevCount / 0x100;

	DataInfo.AsduHead.bAsduType =  0x1e;
	DataInfo.AsduHead.bAsduVsq = 0x01;
	DataInfo.AsduHead.nAsduCot = 0x0003;
	DataInfo.AsduHead.nAsduComAddr = bAddr*0x100;
	DataInfo.AsduHead.bAsduInf = 0xc0;
	if (!DataInfo.bDataVec.empty())
	{
		DataInfo.bDataVec.clear();
	}
	DataInfo.bDataVec.push_back(0);//inf+1
	DataInfo.bDataVec.push_back(0);//inf+2
	DataInfo.bDataVec.push_back(bState);
	DataInfo.bDataVec.push_back(systime.wMilliseconds % 1000);
	DataInfo.bDataVec.push_back(systime.wMilliseconds / 1000);
	DataInfo.bDataVec.push_back(systime.wMinute & 0x3f);
	DataInfo.bDataVec.push_back(systime.wHour & 0x1f);
	DataInfo.bDataVec.push_back(systime.wDay & 0x1f);
	DataInfo.bDataVec.push_back(systime.wMonth & 0x1f);
	DataInfo.bDataVec.push_back(systime.wYear % 100);

	m_SendList.push_back(DataInfo);
	DataInfo.bDataVec.clear();

	return;
}

/*====================================================================================
*                                                                                    
* Subroutine  : ReadYXInf104()
*                                                                                    
* Parameters  :	
*			
*               
*                                                                                    
* Called from : CIEC104()
* 
* Description : 讀取103遙信信息表
* 
* Return	  : 
*               
*                                             
* Modification: 
*				 2004-07-29: 
*                                                                                     
*====================================================================================*/
int CIEC104::ReadYXInf104()
{
	FILE *fp;
	char Temp_buf[255];
	int bNumber = 0;
	int bResult = 1;

	fp=fopen("yx104.txt","r");
	if(fp!=NULL)
	{
		char* str=fgets(Temp_buf,80,fp);
		if (str==0) 
		{
			bResult = 0;
			return bResult;
		}
		sscanf(str,"%d\n",&bNumber);

		for (int i=0; i<bNumber; i++)
		{
			fscanf(fp, "%d %d\n", &m_bSector[i], &m_bYXInfBuf[i]);	
		}
		fclose(fp);
	}
	else
	{
		bResult = 0;
	}
	return bResult;
}

/*====================================================================================
*                                                                                    
* Subroutine  : ReadSOEInf104()
*                                                                                    
* Parameters  :	
*			
*               
*                                                                                    
* Called from : PutSendList()
* 
* Description : 讀取103遙信信息表
* 
* Return	  : 
*               
*                                             
* Modification: 
*				 2004-07-29: 
*                                                                                     
*====================================================================================*/
int CIEC104::ReadSOEInf104(int pot)
{
	FILE *fp;
	char Temp_buf[255];
	int bNumber = 0;
	int pot104 = 0;
	int potCDT = 0;

	fp=fopen("soe104.txt","r");
	if(fp!=NULL)
	{
		char* str=fgets(Temp_buf,80,fp);
		if (str==0) 
		{
			pot104 = 0;
			return pot104;
		}
		sscanf(str,"%d\n",&bNumber);

		for (int i=0; i<bNumber; i++)
		{
			fscanf(fp, "%d %d\n", &potCDT, &pot104);
			if (pot == potCDT) break;
		}
		fclose(fp);
	}
	else
	{
		pot104 = 0;
	}
	return pot104;
}

/*====================================================================================
*                                                                                    
* Subroutine  : ReadYXInfCDT()
*                                                                                    
* Parameters  :	
*			
*               
*                                                                                    
* Called from : CIEC104()
* 
* Description : 讀取CDT遙信信息
* 
* Return	  : CDT信息值
*               
*                                             
* Modification: 
*				 2004-07-29: 
*                                                                                     
*====================================================================================*/
int CIEC104::ReadYXInfCDT(BYTE pot)
{
	int nResult = 0;
	int i = 0;
	int size = 0;

	size = sizeof(m_bYXInfBuf)/sizeof(BYTE);
	for(i=0; i<size; i++)
	{
		if (m_bYXInfBuf[i] == pot)
		{
			nResult = i;
			break;
		}
	}
	return nResult;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男女性色大片免费观看一区二区 | 国产性做久久久久久| 成人黄色免费短视频| 亚洲成人综合在线| 亚洲国产成人午夜在线一区| 欧美剧在线免费观看网站| 成人在线综合网站| 捆绑紧缚一区二区三区视频| 一区二区三区中文字幕电影| 国产欧美日韩视频一区二区 | 国产亚洲欧美一区在线观看| 欧美日韩你懂得| 99国内精品久久| 国产一区二区伦理片| 日韩综合一区二区| 亚洲免费电影在线| 国内成人自拍视频| 欧美综合一区二区三区| 韩国女主播一区| 午夜影院久久久| 亚洲欧美日韩久久| 国产精品欧美精品| 久久免费视频一区| 欧美一区二区精品在线| 欧美三级视频在线| 日本高清不卡在线观看| www.在线成人| 成人中文字幕在线| 国产成人综合亚洲网站| 九九热在线视频观看这里只有精品| 亚洲国产日韩av| 一区二区三区四区精品在线视频| 国产精品国产精品国产专区不片 | 欧美一卡在线观看| 欧美日韩国产另类一区| 欧美亚洲综合另类| 欧美亚洲动漫精品| 在线观看一区日韩| 欧美图片一区二区三区| 色美美综合视频| 91电影在线观看| 欧美综合天天夜夜久久| 在线视频亚洲一区| 欧美丝袜自拍制服另类| 欧美在线|欧美| 欧美日韩亚洲综合一区| 欧美欧美午夜aⅴ在线观看| 欧美亚日韩国产aⅴ精品中极品| 色综合夜色一区| 欧美主播一区二区三区| 欧美日韩在线播放一区| 欧美日韩www| 日韩一级视频免费观看在线| 欧美sm美女调教| 久久久亚洲国产美女国产盗摄 | 日韩三级.com| 日韩一卡二卡三卡四卡| 久久免费视频一区| 国产精品卡一卡二卡三| 亚洲欧美另类在线| 亚洲第一综合色| 理论电影国产精品| 国产成人精品免费在线| 色偷偷久久一区二区三区| 欧美午夜片在线看| 日韩欧美国产wwwww| 久久久精品2019中文字幕之3| 国产精品无码永久免费888| 一区二区三区四区亚洲| 亚洲3atv精品一区二区三区| 久久se这里有精品| 成人av资源站| 欧美精品18+| 国产亚洲欧美激情| 一区二区三区四区精品在线视频| 男女性色大片免费观看一区二区 | 亚洲h精品动漫在线观看| 久久91精品国产91久久小草| 成人免费电影视频| 欧美视频日韩视频| 久久久国际精品| 亚洲一区二区三区国产| 精品一区二区三区久久| 91麻豆福利精品推荐| 欧美一区二区三区啪啪| 欧美国产亚洲另类动漫| 亚洲国产视频a| 国产乱码一区二区三区| 91久久精品一区二区三区| 日韩精品一区在线观看| 亚洲美女屁股眼交| 精品亚洲porn| 欧美影院一区二区三区| 2023国产精品自拍| 亚洲高清三级视频| 高清日韩电视剧大全免费| 欧美日韩一区二区三区在线| 久久久综合九色合综国产精品| 一区二区三区在线视频播放| 国产精品99久久久久久宅男| 欧美日韩亚洲综合| 18成人在线视频| 麻豆专区一区二区三区四区五区| 91色乱码一区二区三区| 精品国产乱码久久久久久图片| 一区二区三区蜜桃网| 风间由美性色一区二区三区| 91精品国产综合久久精品图片| 中文字幕一区视频| 国产馆精品极品| 日韩欧美色电影| 亚洲国产一区在线观看| 99久久精品免费看| 国产亚洲午夜高清国产拍精品| 日韩一区欧美二区| 欧美三级资源在线| 亚洲男人的天堂网| 9色porny自拍视频一区二区| 久久亚洲一级片| 美女久久久精品| 91麻豆精品国产91久久久使用方法 | 91最新地址在线播放| 久久久精品tv| 国内久久精品视频| 日韩欧美国产三级电影视频| 亚洲成年人网站在线观看| 91麻豆免费视频| 亚洲欧美在线观看| 成人国产精品免费观看视频| 久久这里只有精品首页| 极品销魂美女一区二区三区| 日韩一区二区不卡| 六月丁香婷婷久久| 精品久久人人做人人爰| 久久精品国产网站| 精品少妇一区二区三区在线视频| 蜜桃视频一区二区三区在线观看| 欧美一区二区在线免费观看| 日韩vs国产vs欧美| 欧美一级日韩免费不卡| 日本成人在线不卡视频| 91精品国产品国语在线不卡| 日本色综合中文字幕| 欧美一级黄色大片| 美女网站一区二区| 欧美不卡视频一区| 国产精品影视网| 中文字幕欧美激情| 97se亚洲国产综合自在线不卡 | 中文字幕一区二区在线播放 | 国产福利91精品一区二区三区| 久久久久久麻豆| 成人免费av在线| 亚洲三级在线免费观看| 色国产综合视频| 天堂va蜜桃一区二区三区| 欧美一级二级三级乱码| 国产一区二区三区高清播放| 欧美激情一区二区三区全黄| 成人激情黄色小说| 一区二区三区欧美久久| 91精品国产福利在线观看| 久久国产欧美日韩精品| 国产日韩欧美综合在线| 色婷婷精品久久二区二区蜜臂av| 午夜伦欧美伦电影理论片| 日韩美女视频一区二区在线观看| 国产成人综合亚洲91猫咪| 亚洲女与黑人做爰| 欧美一区二区在线播放| 国产黄色成人av| 亚洲精品精品亚洲| 日韩一区二区精品在线观看| 国产91露脸合集magnet| 亚洲精品成人少妇| 欧美成人一区二区三区| jlzzjlzz亚洲女人18| 日韩综合小视频| 国产精品国产精品国产专区不蜜| 欧美日韩国产高清一区二区| 国产一区不卡精品| 亚洲影院在线观看| 久久久亚洲精华液精华液精华液| 日本高清成人免费播放| 国产真实乱对白精彩久久| 一区二区三区不卡视频| 26uuu精品一区二区| 欧美亚洲免费在线一区| 国产成人福利片| 日日摸夜夜添夜夜添精品视频| 国产精品久线在线观看| 69av一区二区三区| 91在线观看成人| 久久99国产精品久久99果冻传媒| 亚洲精品视频自拍| 国产欧美一区二区精品仙草咪| 欧美日韩的一区二区| 99热精品国产| 国产一区二区三区香蕉 | 日韩毛片高清在线播放|