You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
5.6 KiB
C++
173 lines
5.6 KiB
C++
#include "StdAfx.h"
|
|
#include "ModuleDeviceMgr.h"
|
|
#include "GlobalFunction.h"
|
|
#include "PropertieMgr.h"
|
|
#include "MarkObjPropertieMgr.h"
|
|
#include "GlobalFunction.h"
|
|
#include "PltReader.h"
|
|
#include "PciPortMgr.h"
|
|
#include "PciCh365Mgr.h"
|
|
#include "PlatformXY.h"
|
|
#include "Laser.h"
|
|
#include "Motor.h"
|
|
#include "ApplicationPriority.h"
|
|
#include "WorkAreaMgr.h"
|
|
#include "CameraHawkvis.h"
|
|
#include "GratingRuler.h"
|
|
#include "AuthorityMgr.h"
|
|
#include "LaipuVbDllMgr.h"
|
|
#include "MarkAreaMgr.h"
|
|
#include "SocketMgr.h"
|
|
#include "Mirror.h"
|
|
#include "SinglechipCardMgr.h"
|
|
#include "CameraKeyence.h"
|
|
#include "LaserDeviceMgr.h"
|
|
#include "ProductMgr.h"
|
|
#include "OptoWaveLaserMgr.h"
|
|
#include "LogMgr.h"
|
|
#include "CommonFlowMgr.h"
|
|
#include "WorkRecord.h"
|
|
#include "PlcIOMgr.h"
|
|
#include "EncryptionMgr.h"
|
|
#include "ProgramCutMgr.h"
|
|
#include "MotionCard_PCI1245.h"
|
|
//#include "SuperDogMgr.h"
|
|
#include "Program_SZ_XL.h"
|
|
|
|
|
|
CModuleDeviceMgr gModuleDeviceMgr;//管理全局使用的类
|
|
CModuleDeviceMgr::CModuleDeviceMgr(void)
|
|
{
|
|
}
|
|
CModuleDeviceMgr::~CModuleDeviceMgr(void)
|
|
{
|
|
DeleteAllModule();
|
|
}
|
|
//创建模块对象(注意模块初始化的顺序)
|
|
void CModuleDeviceMgr::CreatAllModule()
|
|
{
|
|
//日志管理模块
|
|
gLogMgr = new CLogMgr;
|
|
m_ModuleVec.push_back((CModule*)gLogMgr);
|
|
//权限管理
|
|
m_ModuleVec.push_back((CModule*)gAuthorityMgr);
|
|
//程序优先级管理
|
|
m_ModuleVec.push_back((CModule*)gAppPriorityMgr);
|
|
//工作区域
|
|
m_ModuleVec.push_back((CModule*)gWorkAreaMgr);
|
|
//plt 读取对象
|
|
m_ModuleVec.push_back((CModule*)gPltReader);
|
|
//脱机控制卡
|
|
m_ModuleVec.push_back((CModule*)gSinglechipCardMgr);
|
|
//振镜
|
|
m_ModuleVec.push_back((CModule*)gMirror);
|
|
//pci 卡端口管理(后面一些模块的初始化依赖于端口,所以要放在前面)
|
|
m_ModuleVec.push_back((CModule*)gPciPortMgr);
|
|
//pci 365 卡
|
|
m_ModuleVec.push_back((CModule*)gPciCh365Mgr);
|
|
//电机马达
|
|
m_ModuleVec.push_back((CModule*)CMotor::GetMotor(MOTOR_X));
|
|
m_ModuleVec.push_back((CModule*)CMotor::GetMotor(MOTOR_X2));
|
|
m_ModuleVec.push_back((CModule*)CMotor::GetMotor(MOTOR_Y));
|
|
m_ModuleVec.push_back((CModule*)CMotor::GetMotor(MOTOR_Z));
|
|
//XY 平台
|
|
gPlatformXY = new CPlatformXY(*(CMotor::GetMotor(MOTOR_X)),*(CMotor::GetMotor(MOTOR_Y)));
|
|
m_ModuleVec.push_back((CModule*)gPlatformXY);
|
|
|
|
#ifdef __DLG_PANE_PLATFORM__
|
|
gPlatformXY->Attach(&(GetFrame()->m_DlgPlatformCtrl));
|
|
(CMotor::GetMotor(MOTOR_Z))->Attach(&(GetFrame()->m_DlgPlatformCtrl));
|
|
#endif
|
|
#ifdef __PROGRAM_SHILAN_TUIHUO__
|
|
gPlatformXY->Attach(&(GetFrame()->m_DlgTuiHuoDeviceCtrl));
|
|
#endif
|
|
//激光
|
|
m_ModuleVec.push_back((CModule*)gLaser);
|
|
//光栅尺
|
|
m_ModuleVec.push_back((CModule*)gGratingRuler);
|
|
//socket 通讯管理
|
|
m_ModuleVec.push_back((CModule*)gSocketMgr);
|
|
//振镜运动参数
|
|
m_ModuleVec.push_back((CModule*)gMarkParMgr);
|
|
//工件产品管理
|
|
m_ModuleVec.push_back((CModule*)gProductMgr);
|
|
//标记区域
|
|
m_ModuleVec.push_back((CModule*)gMarkAreaMgr);
|
|
//常用流程
|
|
m_ModuleVec.push_back((CModule*)gCommonFlowMgr);
|
|
//加工记录管理
|
|
m_ModuleVec.push_back((CModule*)gWorkRecordMgr);
|
|
|
|
m_ModuleVec.push_back((CModule*)gProgramCutMgr);
|
|
m_ModuleVec.push_back((CModule*)gCameraHawkvis);
|
|
m_ModuleVec.push_back((CModule*)gCLaserDeviceMgr);
|
|
|
|
m_ModuleVec.push_back((CModule*)gPlcIOMgr);
|
|
m_ModuleVec.push_back((CModule*)gEncryptionMgr);
|
|
|
|
m_ModuleVec.push_back((CModule*)gMotionCard_PCI1245);
|
|
|
|
#ifdef USE_SUPER_DOG
|
|
m_ModuleVec.push_back((CModule*)gEncryptionMgr);
|
|
#endif
|
|
|
|
m_ModuleVec.push_back((CModule*)gProgram_SZ_XL);
|
|
|
|
}
|
|
//插入指定模块的属性
|
|
void CModuleDeviceMgr::InsertModuleGridProperty(int SelIdx)
|
|
{
|
|
DEVICE_PROP_COMB_TYPE CombType = (DEVICE_PROP_COMB_TYPE)SelIdx;
|
|
//设置要插入的模块--------------------------------------------
|
|
set<MODULE> ModuleSet;
|
|
switch(CombType)
|
|
{
|
|
case _COMB_NULL_PROP:
|
|
break;
|
|
case _COMB_PCI_PROP://pci 卡参数
|
|
ModuleSet.insert(_PCI_PORT_PROP);
|
|
break;
|
|
case _COMB_MOTION_CARD://运动控制卡
|
|
ModuleSet.insert(_MOTION_CARD_PCI1245L);
|
|
break;
|
|
case _COMB_MOTOR_PROP://电机马达
|
|
ModuleSet.insert(_MOTOR_PROP);//电机马达属性
|
|
break;
|
|
case _COMB_PLATFORM_XY_PROP://电机马达
|
|
ModuleSet.insert(_PLATFORM_XY_PROP);//电机马达属性
|
|
break;
|
|
case _COMB_DEVICE_PROP://硬件参数
|
|
ModuleSet.insert(_MIRROR_PROP);//切割参数
|
|
ModuleSet.insert(_TOOL_CUT_PROP);//切割参数
|
|
ModuleSet.insert(_LASER_PROP);//激光
|
|
ModuleSet.insert(_SPECTRA_PHYSICS_LASER_PROP);//光谱物理
|
|
ModuleSet.insert(_HAWKVIS_CCD_PROP);//深圳霍克视觉的CCD
|
|
ModuleSet.insert(_PLC_IO_PROP);//日志
|
|
break;
|
|
case _COMB_OTHER_PROP:
|
|
ModuleSet.insert(_LOG_PROP);//日志
|
|
ModuleSet.insert(_APP_PRIORITY_PROP);//程序优先级
|
|
ModuleSet.insert(_AUTHORITY_PROP);//权限管理
|
|
ModuleSet.insert(_WORK_AREA_PROP);//工作空间
|
|
ModuleSet.insert(_PLT_PROP);//plt 设置
|
|
ModuleSet.insert(_WORK_RECORD_PROP);//加工记录
|
|
|
|
break;
|
|
case _COMB_WORK_DATA://工作数据
|
|
ModuleSet.insert(_PRODUCT_PROP);//工件产品管理
|
|
break;
|
|
case _COMB_SPECIAL_DEVICE_PROP:
|
|
ModuleSet.insert(_PGM_SW_XL_PROP);
|
|
break;
|
|
case _COMB_COMMON_FLOW_PROP:
|
|
ModuleSet.insert(_COMMON_FLOW_PROP);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
//将指定的属性页插入wnd
|
|
CPanePropertiesWnd &wndProperties = GetFrame()->m_PaneDevicePar;
|
|
InsertPropertiesToWnd(ModuleSet,wndProperties);
|
|
}
|
|
|