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

📄 channelmgr.cpp

📁 一个通讯管理机的源代码。比较好用。推荐
💻 CPP
字号:
#include "msystem.h"#include "appservice.h"#include "taas.h"//#include "101SAS.h"#include "cdtsas.h"#include "cdtmas.h"#include "dnp3sas.h"#include "isamas.h"#include "simusas.h"#include "Sepam2000Mas.h"#include "pm500mal.h"#include "jddymas.h"#include "gpsmas.h"#include "allmgr.h"#include "ja05mas.h"#include "PMACMas.h"#include "PA100Mas.h"#include "modbussal.h"#ifdef _CSC2000#include "cscmal.h"#endif#include "BWDMas.h"#include "data86mas.h"#include "YD20Mas.h"#include "sepam1000mas.h"/*ChannelNo;ChannelName;strComName;BaudRate;StopBit;DataBit;Parity;kdl;IsMaster;*//*struChannel aChannel[] = {	{1,"TA","/dev/ttyS0",BAUD_4800,1,CHAR_SIZE_8,PARITY_NONE,kdl_eTA,1},//	{2,"101","/dev/ttyS1",BAUD_19200,1,CHAR_SIZE_8,PARITY_EVEN,kdl_eIEC8705101,0},	{2,"CDT","/dev/ttyS1",BAUD_19200,1,CHAR_SIZE_8,PARITY_EVEN,kdl_eCDTs,0},};*/CChannelMgr::CChannelMgr(CAllMgr* pAllMgr){	Load(pAllMgr);}void CChannelMgr::Load(CAllMgr* pAllMgr){	xbXBase	x;	CChannelSet	setChannel(&x);	if (setChannel.Open())	{		if (setChannel.GetFirst())		{			do {#ifdef _DEBUGCHANNEL		if (setChannel.m_strComName == string("/dev/ttyM1"))			setChannel.m_strComName = "/dev/ttyS0";//		else if (setChannel.m_strComName == string("/dev/ttyS6"))//			setChannel.m_strComName = string("/dev/ttyS1");		else continue;#endif				CSerialPortDef Channel(setChannel);				m_listChannel.push_back(Channel);			} while (setChannel.GetNext());		}		setChannel.Close();	}		vector<CSerialPortDef>::iterator it = m_listChannel.begin();	for (;it != m_listChannel.end();it++)	{		CSerialPortDef* pChannel = it->GetThis();		CMAppService* pMAS;		CSAppService* pSAS;		switch  (pChannel->m_kdl)		{/*		case kdl_eJA05:		{			pMAS = new CJA05Mal(pAllMgr,pChannel);//			pMAS = new CSepam1000Mas(pAllMgr,pChannel);//			pMAS = new CYD20Mas(pAllMgr,pChannel);//			pMAS = new CDATA86Mas(pAllMgr,pChannel);//			pMAS = new CBWDMas(pAllMgr,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}*/		case kdl_ePMAC:		{			if (pChannel->m_bIsMaster == false)			{				pSAS = new CModbusSAL(pAllMgr,pChannel);				pSAS->Init();				pAllMgr->AddSlave(pSAS);			}			else			{				pMAS = new CPMACMas(pAllMgr,pChannel);				pMAS->Init();				pAllMgr->AddMaster(pMAS);				//printf("hello\n");			}			break;		}		case kdl_eINTBUS:		{			pMAS = new CPA100Mas(pAllMgr,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}/*		case kdl_eCSC2000:		{			pMAS = new CCSCMas(pAllMgr,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}		case kdl_eDATA86:		{			pMAS = new CDATA86Mas(pAllMgr,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}						case kdl_eYD2:		{			pMAS = new CYD20Mas(pAllMgr,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}				case kdl_eBWD_3K130A:		{			pMAS = new CBWDMas(pAllMgr,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}		case kdl_eSepam1000:		{			pMAS = new CSepam1000Mas(pAllMgr,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}		case kdl_eSepam2000:		{			pMAS = new CSepam2000Mas(pAllMgr,true,(BYTE) 1,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}		case kdl_ePM500:		{			pMAS = new CPM500Mas(pAllMgr,true,(BYTE) 1,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}		case kdl_eJDDY:		{			pMAS = new CJDDYMal(pAllMgr,true,(BYTE) 1,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}*/		/*case kdl_eGPS:		{			pMAS = new CGpsMal(pAllMgr,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}		case kdl_eSimu:		{			pSAS = new CSimuSAS(pAllMgr,pChannel);			pSAS->Init();			pAllMgr->AddSlave(pSAS);			break;		}		case kdl_eISA:		{//			pMAS = new CISAMAS(pAllMgr,true,(BYTE) 1,pChannel);//			pMAS->Init();//			pAllMgr->AddMaster(pMAS);			break;		}		case kdl_eTA:		{//			pMAS = new CTAAS(pAllMgr,true,(BYTE) 1,pChannel);//			pMAS->Init();//			pAllMgr->AddMaster(pMAS);			break;		}		case kdl_eIEC8705101:		{			pSAS = new C101SAS(pAllMgr,true,(BYTE)3,pChannel);			pSAS->Init();			pAllMgr->AddSlave(pSAS);			break;		}        */		/*			case kdl_eCDTs:		{			pSAS = new CCDTSAS(pAllMgr,pChannel);          //   pSAS = new CCDTMAS(pAllMgr,pChannel);		//	CCDTMAS		//	pSAS = new CCDTSAS(pAllMgr,pChannel);			pSAS->Init();		    pAllMgr->AddSlave(pSAS);			break;		}		case kdl_eCDTm:		{			pMAS = new CCDTMAS(pAllMgr,pChannel);				pMAS->Init();				pAllMgr->AddMaster(pMAS);			//pSAS = new CCDTSAS(pAllMgr,pChannel);             //pMAS = new CCDTMAS(pAllMgr,pChannel);				//	pSAS = new CCDTSAS(pAllMgr,pChannel);			//pMAS->Init();		   // pAllMgr->AddMaster(pMAS);			break;		}		*/		case kdl_eCDT:		{			if (pChannel->m_bIsMaster == false)			{				pSAS = new CCDTSAS(pAllMgr,pChannel);				pSAS->Init();				pAllMgr->AddSlave(pSAS);			}			else			{				pMAS = new CCDTMAS(pAllMgr,pChannel);				pMAS->Init();				pAllMgr->AddMaster(pMAS);				//printf("hello\n");			}			break;		}		/*		case kdl_eINTBUS:		{			pMAS = new CPA100Mas(pAllMgr,pChannel);			pMAS->Init();			pAllMgr->AddMaster(pMAS);			break;		}		*/		/*		case kdl_eDNP3:		{			pSAS = new CDNP3SAS(pAllMgr,pChannel,pChannel->m_wChannelNo); //128:= local address			pSAS->Init();			pAllMgr->AddSlave(pSAS);			break;		}        */		default:			break;		}	}}

⌨️ 快捷键说明

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