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