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.

1423 lines
56 KiB
C++

#include "StdAfx.h"
#include "Program_SZ_XL.h"
#include "Propertie.h"
#include "PropertieMgr.h"
#include "AuthorityMgr.h"
#include "DeviceState.h"
#include "MsgBox.h"
#include "CommonFlowMgr.h"
#include "AuthorityMgr.h"
#include "FileMgr.h"
#include "DxfReadMgr.h"
#include "WorkFileMgr.h"
#include "MarkAreaMgr.h"
#include "LogMgr.h"
#include "MotionCard_PCI1245.h"
#include "ProgramCutMgr.h"
#define CUT_PAR_DIR "\\CutPar\\"
#define PLC_READ_MSG_LEN 12 //<2F><><EFBFBD><EFBFBD>PLC <20><><EFBFBD>ݵij<DDB5><C4B3><EFBFBD>(<28>ֽ<EFBFBD>)
#define BUF_LEN 100
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ϻ<EFBFBD>plc <20><>Ϣ<EFBFBD><CFA2><EFBFBD>߳<EFBFBD>(<28><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>)
UINT ReadLoadPlcMsgThread(LPVOID pParam)
{
CProgram_SZ_XL *WorkFlow = (CProgram_SZ_XL *)pParam;
WorkFlow->ReadLoadPlcMsg();
return 0;
}
CProgram_SZ_XL *gProgram_SZ_XL = new CProgram_SZ_XL;
CProgram_SZ_XL::CProgram_SZ_XL(void)
{
m_TrackComPort1 = 1;//<2F><><EFBFBD><EFBFBD>1 <20><><EFBFBD>ں<EFBFBD>
m_TrackComPort2 = 2;//<2F><><EFBFBD><EFBFBD>2 <20><><EFBFBD>ں<EFBFBD>
m_LoadComPort = 3;//<2F><><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD>ں<EFBFBD>
m_ComBaudRate = 115200;//ͨ<>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
m_MotorXLoadCoord = 0;//X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_MotorXUnLoadCoord = 0;//X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_MotorX2LoadCoord = 0;//X2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_MotorX2UnLoadCoord = 0;//X2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_MotorXWaitCoord = 0;//X<><58><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
m_bLoadDeviceSuc = false;
m_bSelMarkMode = false;//ѡ<><D1A1><EFBFBD>ӹ<EFBFBD>ģʽ
m_bAutoWorkMode = true;//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ģʽ
m_bStopReadMsg = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ͣ<EFBFBD><CDA3>ȡplc <20><>Ϣ
m_bLoadCOMLockerFlg = false;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>flg
m_Track1DangerCoordStart = -1000;//<2F><><EFBFBD><EFBFBD>1 <20><>Σ<EFBFBD>շ<EFBFBD>Χstart
m_Track1DangerCoordEnd = 180;//<2F><><EFBFBD><EFBFBD>1 <20><>Σ<EFBFBD>շ<EFBFBD>Χend
m_Track1SafeCoord = 280;//<2F><><EFBFBD><EFBFBD>1 <20>İ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
m_Track2DangerCoordStart = 30;//<2F><><EFBFBD><EFBFBD>2 <20><>Σ<EFBFBD>շ<EFBFBD>Χstart
m_Track2DangerCoordEnd = 1000;//<2F><><EFBFBD><EFBFBD>2 <20><>Σ<EFBFBD>շ<EFBFBD>Χend
m_Track2SafeCoord = -90;//<2F><><EFBFBD><EFBFBD>2 <20>İ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
m_bShieldLoad = false;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_bShieldMarking = false;//<2F><><EFBFBD>μӹ<CEBC><D3B9><EFBFBD><EFBFBD><EFBFBD>
m_bShieldUnLoad = false;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_LoadCmdDelay = 1000;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ʱ<EFBFBD><CAB1>ms
m_LoadCmdRevDelay = 100;//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ȥ<EFBFBD><C8A5>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ms
m_StopStepUnloadTimes = 5;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴο<D9B4><CEBF><EFBFBD>ǿ<EFBFBD><C7BF>ֹͣunload
m_LoadCmdSendTims = 5;//<2F><><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD>plc <20><>cmd<6D><64><EFBFBD>ԵĴ<D4B5><C4B4><EFBFBD>
m_PlcCmdSendDelay = 500;//plcָ<63><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>ʱms
m_bCheckUnloadState = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>״̬
}
CProgram_SZ_XL::~CProgram_SZ_XL(void)
{
}
CMFCPropertyGridProperty *CProgram_SZ_XL::CreatGridProperty()
{
CPropertieMgr &PropertieMgr = gDevicePropertieMgr;
CString PropertyName;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString Description;//<2F><><EFBFBD><EFBFBD>
CString Path = _T("PGM_SW_XL");//<2F>洢·<E6B4A2><C2B7>
CString Name;
//-------------------------------------------------------------------------------//
PropertyName = _T("˫<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* pGroup = new CMFCPropertyGridProperty(PropertyName);
//-------------------------------------------------------------------------------//
4 years ago
if (gAuthorityMgr->CheckAuthority(_ADMIN))
{
PropertyName = _T("<EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(PropertyName);
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Jig2Scale_x");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Jig2Scale.x);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD>ξ<EFBFBD>2X");
Description = _T("<EFBFBD>ξ<EFBFBD>2X<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Jig2Scale.x, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Jig2Scale_y");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Jig2Scale.y);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD>ξ<EFBFBD>2Y");
Description = _T("<EFBFBD>ξ<EFBFBD>2Y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Jig2Scale.y, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Jig4Scale_x");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Jig4Scale.x);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD>ξ<EFBFBD>4X");
Description = _T("<EFBFBD>ξ<EFBFBD>4X<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Jig4Scale.x, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Jig4Scale");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Jig4Scale.y);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD>ξ<EFBFBD>4Y");
Description = _T("<EFBFBD>ξ<EFBFBD>4Y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Jig4Scale.y, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
pGroup->AddSubItem(pGroup1);
}
if(gAuthorityMgr->CheckAuthority(_FACTORY))
{
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(PropertyName);
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_ServerPort");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_ServerPort);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ˿ںţ<EFBFBD><EFBFBD>޸ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_ServerPort, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_NetPath");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_NetPath);
pPropertie->SetType(_PROP_TYPE_STRING);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷<EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>TempMarkData<EFBFBD>ļ<EFBFBD><EFBFBD>У<EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD>̷<EFBFBD>.(ֻ<><D6BB><EFBFBD><EFBFBD>W,<2C><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD>)");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_NetPath, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_bCheckUnloadState");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_bCheckUnloadState);
pPropertie->SetType(_PROP_TYPE_BOOL);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><EFBFBD>ź<EFBFBD>");
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><EFBFBD>ź<EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bCheckUnloadState, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_TrackComPort1");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_TrackComPort1);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><><EFBFBD>ں<EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><><EFBFBD>ں<EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_TrackComPort1, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_TrackComPort2");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_TrackComPort2);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 <20><><EFBFBD>ں<EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 <20><><EFBFBD>ں<EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_TrackComPort2, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_PlcCmdSendDelay");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_PlcCmdSendDelay);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD><EFBFBD><EFBFBD>ʱ");
Description = _T("plcָ<EFBFBD><EFBFBD>ͺ<EFBFBD><EFBFBD><EFBFBD>ʱms");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_PlcCmdSendDelay, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_LoadComPort");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_LoadComPort);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD>ں<EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_LoadComPort, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_LoadCmdRevDelay");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_LoadCmdRevDelay);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źŵ<EFBFBD>ʱ<EFBFBD><EFBFBD>ms");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_LoadCmdRevDelay, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_LoadCmdDelay");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_LoadCmdDelay);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD>ʱ");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ʱ<EFBFBD><EFBFBD>ms");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_LoadCmdDelay, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_LoadCmdSendTims");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_LoadCmdSendTims);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źų<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󲻳ɹ<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_LoadCmdSendTims, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_StopStepUnloadTimes");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_StopStepUnloadTimes);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("Unload ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴο<EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD>ֹͣunload");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_StopStepUnloadTimes, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
pGroup->AddSubItem(pGroup1);
}
/* if(gAuthorityMgr->CheckAuthority(_FACTORY))
{
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(PropertyName);
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_bShieldLoad");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_bShieldLoad);
pPropertie->SetType(_PROP_TYPE_BOOL);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bShieldLoad, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_bShieldMarking");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_bShieldMarking);
pPropertie->SetType(_PROP_TYPE_BOOL);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>μӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bShieldMarking, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_bShieldUnLoad");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_bShieldUnLoad);
pPropertie->SetType(_PROP_TYPE_BOOL);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD>");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bShieldUnLoad, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
pGroup->AddSubItem(pGroup1);
}*/
/* if(gAuthorityMgr->CheckAuthority(_FACTORY))
{
PropertyName = _T("λ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(PropertyName);
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Track2Offset_x");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Track2Offset.x);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 ƫ<><C6AB>X");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD><EFBFBD><EFBFBD>1 <20><>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>X");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Track2Offset.x, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Track2Offset_y");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Track2Offset.y);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 ƫ<><C6AB>Y");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD><EFBFBD><EFBFBD>1 <20><>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>Y");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Track2Offset.y, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_MotorXWaitCoord");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_MotorXWaitCoord);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("X<EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
Description = _T("X<EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_MotorXWaitCoord, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_MotorXLoadCoord");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_MotorXLoadCoord);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("X1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
Description = _T("X1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_MotorXLoadCoord, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_MotorXUnLoadCoord");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_MotorXUnLoadCoord);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("X1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
Description = _T("X1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_MotorXUnLoadCoord, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_MotorX2LoadCoord");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_MotorX2LoadCoord);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("X2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
Description = _T("X2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_MotorX2LoadCoord, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_MotorX2UnLoadCoord");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_MotorX2UnLoadCoord);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("X2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
Description = _T("X2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_MotorX2UnLoadCoord, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
pGroup->AddSubItem(pGroup1);
}*/
/* if(gAuthorityMgr->CheckAuthority(_FACTORY))
{
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 Y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(PropertyName);
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Track1DangerCoordStart");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Track1DangerCoordStart);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("Σ<EFBFBD>շ<EFBFBD>Χstart");
Description = _T("Σ<EFBFBD>շ<EFBFBD>Χstart");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Track1DangerCoordStart, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Track1DangerCoordEnd");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Track1DangerCoordEnd);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("Σ<EFBFBD>շ<EFBFBD>Χend");
Description = _T("Σ<EFBFBD>շ<EFBFBD>Χend");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Track1DangerCoordEnd, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Track1SafeCoord");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Track1SafeCoord);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
Description = _T("<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Track1SafeCoord, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
pGroup->AddSubItem(pGroup1);
}*/
/* if(gAuthorityMgr->CheckAuthority(_FACTORY))
{
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 Y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(PropertyName);
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Track2DangerCoordStart");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Track2DangerCoordStart);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("Σ<EFBFBD>շ<EFBFBD>Χstart");
Description = _T("Σ<EFBFBD>շ<EFBFBD>Χstart");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Track2DangerCoordStart, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Track2DangerCoordEnd");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Track2DangerCoordEnd);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("Σ<EFBFBD>շ<EFBFBD>Χend");
Description = _T("Σ<EFBFBD>շ<EFBFBD>Χend");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Track2DangerCoordEnd, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_Track2SafeCoord");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_Track2SafeCoord);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
Description = _T("<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Track2SafeCoord, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
pGroup->AddSubItem(pGroup1);
}*/
4 years ago
if(gAuthorityMgr->CheckAuthority(_ADMIN))
{
PropertyName = _T("<EFBFBD>ӹ<EFBFBD>ƫ<EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(PropertyName);
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
4 years ago
Name = _T("m_Jig2MarkOffset_x");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
4 years ago
pPropertie->SetpVal((void*)&m_Jig2MarkOffset.x);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD>ξ<EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>X");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>ƫ<EFBFBD><EFBFBD>X");
4 years ago
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Jig2MarkOffset.x, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
4 years ago
Name = _T("m_Jig2MarkOffset_y");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
4 years ago
pPropertie->SetpVal((void*)&m_Jig2MarkOffset.y);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD>ξ<EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>Y");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>ƫ<EFBFBD><EFBFBD>Y");
4 years ago
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Jig2MarkOffset.y, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
4 years ago
Name = _T("m_Jig4MarkOffset_x");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
4 years ago
pPropertie->SetpVal((void*)&m_Jig4MarkOffset.x);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD>ξ<EFBFBD>4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>X");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD>4<EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>ƫ<EFBFBD><EFBFBD>X");
4 years ago
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Jig4MarkOffset.x, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
4 years ago
Name = _T("m_Jig4MarkOffset_y");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
4 years ago
pPropertie->SetpVal((void*)&m_Jig4MarkOffset.y);
pPropertie->SetType(_PROP_TYPE_DOUBLE);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD>ξ<EFBFBD>4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>Y");
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD>4<EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>ƫ<EFBFBD><EFBFBD>Y");
4 years ago
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Jig4MarkOffset.y, Description);
//p->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
pGroup1->AddSubItem(p);
PropertieMgr.Insert(p, pPropertie);
}
pGroup->AddSubItem(pGroup1);
}
return pGroup;
}
void CProgram_SZ_XL::Ini()
{
//<2F><><EFBFBD>ô<EFBFBD><C3B4>ڲ<EFBFBD><DAB2><EFBFBD>
gTrackWorkFlow1.SetComPar(m_TrackComPort1,m_ComBaudRate);
gTrackWorkFlow2.SetComPar(m_TrackComPort2,m_ComBaudRate);
//<2F><><EFBFBD><EFBFBD>WorkFlow <20><><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
gTrackWorkFlow1.WorkFlowStart();
gTrackWorkFlow2.WorkFlowStart();
CFileMgr FileMgr;
CString DirPath;
FileMgr.GetFullFilePath(DirPath,CUT_PAR_DIR);
//<2F><><EFBFBD><EFBFBD>Ŀ¼
if(!FileMgr.IsDirectoryExists(DirPath))
{
FileMgr.CreatDir(DirPath);
}
//<2F><>ȡ<EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
gTrackWorkFlow1.ReadRecordTimesFromFile();
gTrackWorkFlow2.ReadRecordTimesFromFile();
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>ͨ<EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
InitLoadDeviceCom();
}
//<2F>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>ʱ
void CProgram_SZ_XL::OnExitApp()
{
//<2F><>λ<EFBFBD><CEBB><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
ResetLoadUnloadSignal();
}
CTrackWorkFlow* CProgram_SZ_XL::GetTrackWorkFlow(ETrackType TrackType)
{
if(TrackType == _ETrackType_Track_1)
return &gTrackWorkFlow1;
else
return &gTrackWorkFlow2;
}
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
CTrackWorkFlow* CProgram_SZ_XL::GetOtherTrackWorkFlow(ETrackType TrackType)
{
if(TrackType == _ETrackType_Track_1)
return &gTrackWorkFlow2;
else
return &gTrackWorkFlow1;
}
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>
void CProgram_SZ_XL::InitDevice()
{
if(IsbAutoWorking())
{
CMsgBox MsgBox;
MsgBox.Show("<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ܳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>豸!");
return;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>״̬
if(m_bCheckUnloadState && gMotionCard_PCI1245->CheckUnloadState()==false)
{
CMsgBox MsgBox;
MsgBox.Show("<EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><EFBFBD>ڹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ܳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>豸!");
return;
}
if(gCommonFlowMgr->InitDevice())
{
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>plc ͨ<><CDA8>
OpenPlcCtrl();
//<2F><>λ<EFBFBD><CEBB><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
ResetLoadUnloadSignal();
}
}
//<2F><>λ<EFBFBD><CEBB><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
void CProgram_SZ_XL::ResetLoadUnloadSignal()
{
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CancelUnloadRequest(_ETrackType_Track_1);
Sleep(500);
CancelUnloadRequest(_ETrackType_Track_2);
//<2F><>λ<EFBFBD><CEBB><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
SendMsgToLoadDevice(_ETrackType_Track_1,_ETrack_Step_Reset_Load_Request,false);
}
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool CProgram_SZ_XL::IsbAutoWorking()
{
return (gTrackWorkFlow1.IsbAutoWorking() || gTrackWorkFlow2.IsbAutoWorking());
}
//<2F><>ʼ<EFBFBD>Զ<EFBFBD><D4B6>ӹ<EFBFBD>
void CProgram_SZ_XL::StartAutoWork(ETrackType TrackType)
{
CDeviceState &DeviceState = CDeviceState::GetInstance();
if(!DeviceState.IsDeviceIni())
{
CMsgBox MsgBox;
MsgBox.Show("<EFBFBD>豸δ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>!");
return;
}
CTrackWorkFlow *pTrackWorkFlow = GetTrackWorkFlow(TrackType);
if(pTrackWorkFlow->StartAutoWork())
{
if(IsbAutoWorking())
gTrackWorkFlow1.SendAutoStartFlg(true);//<2F>򿪷<EFBFBD><F2BFAAB7><EFBFBD>
else
gTrackWorkFlow1.SendAutoStartFlg(false);//<2F>رշ<D8B1><D5B7><EFBFBD>
}
}
void CProgram_SZ_XL::StopAutoWork()
{
gTrackWorkFlow1.StopAutoWork();
gTrackWorkFlow2.StopAutoWork();
}
//<2F>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
void CProgram_SZ_XL::ManualOperation(ETrackType TrackType,ETrackWorkStep TrackWorkStep)
{
CDeviceState &DeviceState = CDeviceState::GetInstance();
if(!DeviceState.IsDeviceIni())
{
CMsgBox MsgBox;
MsgBox.Show("<EFBFBD>豸δ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>!");
return;
}
if(TrackWorkStep != _ETrack_Step_Load_End)
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)//<2F>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
return;
}
CTrackWorkFlow *pTrackWorkFlow = GetTrackWorkFlow(TrackType);
pTrackWorkFlow->ManualOperation(TrackWorkStep);
}
double CProgram_SZ_XL::GetMoveCoord(ETrackType TrackType,ETrackWorkStep WorkStep)
{
double Coord = 0;
switch(WorkStep)
{
case _ETrack_Step_Load://<2F><><EFBFBD><EFBFBD>
if(TrackType == _ETrackType_Track_1)
Coord = m_MotorXLoadCoord;
else
Coord = m_MotorX2LoadCoord;
break;
case _ETrack_Step_To_Wait_Pos://<2F>ȴ<EFBFBD>λ<EFBFBD><CEBB>
Coord = m_MotorXWaitCoord;
break;
case _ETrack_Step_Unload://<2F><><EFBFBD><EFBFBD>
if(TrackType == _ETrackType_Track_1)
Coord = m_MotorXUnLoadCoord;
else
Coord = m_MotorX2UnLoadCoord;
break;
break;
default:
break;
}
return Coord;
}
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
Dbxy CProgram_SZ_XL::GetTrackMarkOffset(ETrackType TrackType)
{
Dbxy MarkOffset;
/*if(TrackType == _ETrackType_Track_1)
MarkOffset = m_Track1MarkOffset;
else
MarkOffset = m_Track2MarkOffset;*/
if (gServer->m_RcvCurTrackIndex == 0)
4 years ago
{
MarkOffset = m_Jig2MarkOffset;
}
else
4 years ago
{
MarkOffset = m_Jig4MarkOffset;
}
return MarkOffset;
}
//<2F><><EFBFBD><EFBFBD>,<2C>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>
void CProgram_SZ_XL::ProductCarrierOpenClose(ETrackType TrackType,bool bOpen)
{
CTrackWorkFlow *pTrackWorkFlow = GetTrackWorkFlow(TrackType);
if(pTrackWorkFlow->IsbAutoWorking()==false)//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>̲<EFBFBD><CCB2><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
{
pTrackWorkFlow->ProductCarrierOpenClose(bOpen);
Sleep(500);
pTrackWorkFlow->VacSorbOnOff(!bOpen);
}
}
//<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int CProgram_SZ_XL::GetCutProductCnt(ETrackType TrackType)
{
CTrackWorkFlow *pTrackWorkFlow = GetTrackWorkFlow(TrackType);
return pTrackWorkFlow->GetCutProductCnt();
}
ETrackWorkStep CProgram_SZ_XL::GetCurTrackWorkStep(ETrackType TrackType)
{
CTrackWorkFlow *pTrackWorkFlow = GetTrackWorkFlow(TrackType);
return pTrackWorkFlow->GetCurTrackWorkStep();
}
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>״̬
ETrackWorkStep CProgram_SZ_XL::GetOtherTrackWorkStep(ETrackType TrackType)
{
CTrackWorkFlow*pTrackWorkFlow = GetOtherTrackWorkFlow(TrackType);
return pTrackWorkFlow->GetCurTrackWorkStep();
}
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<><CEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>)
void CProgram_SZ_XL::GetTrackMotorYCoord(ETrackType TrackType,double &DangerCoordStart,double &DangerCoordEnd,double &SafeCoord)
{
if(TrackType == _ETrackType_Track_1)
{
DangerCoordStart = m_Track1DangerCoordStart;//Σ<>շ<EFBFBD>Χstart
DangerCoordEnd = m_Track1DangerCoordEnd;//Σ<>շ<EFBFBD>Χend
SafeCoord = m_Track1SafeCoord;//<2F><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
}
else
{
DangerCoordStart = m_Track2DangerCoordStart;//Σ<>շ<EFBFBD>Χstart
DangerCoordEnd = m_Track2DangerCoordEnd;//Σ<>շ<EFBFBD>Χend
SafeCoord = m_Track2SafeCoord;//<2F><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
}
}
//<2F>ƶ<EFBFBD>Y <20><EFBFBD><E1B5BD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
void CProgram_SZ_XL::MoveMotorYToSafePos(ETrackType TrackType)
{
CTrackWorkFlow *pTrackWorkFlow = GetTrackWorkFlow(TrackType);
pTrackWorkFlow->MoveMotorYToSafePos();
}
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CProgram_SZ_XL::CancelUnloadRequest(ETrackType TrackType)
{
CTrackWorkFlow *pTrackWorkFlow = GetTrackWorkFlow(TrackType);
pTrackWorkFlow->CancelUnloadRequest();
}
//<2F><><EFBFBD>õ<EFBFBD>ǰѭ<C7B0><D1AD><EFBFBD><EFBFBD>ֹͣ
void CProgram_SZ_XL::SetbCircleStop(ETrackType TrackType,bool bStop)
{
CTrackWorkFlow *pTrackWorkFlow = GetTrackWorkFlow(TrackType);
pTrackWorkFlow->SetbCircleStop(bStop);
}
#if 1
//<2F><><EFBFBD><EFBFBD>dxf <20><>Ӧ<EFBFBD><D3A6><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
void CProgram_SZ_XL::SaveCutPar()
{
CString FilePath;
if(GetDxfParFilePath("par",FilePath))
{
CWorkFileMgr WorkFileMgr;
WorkFileMgr.SaveCutParFile(FilePath);
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>area <20>ļ<EFBFBD>
CString AreaFilePath;
GetDxfParFilePath("are",AreaFilePath);
CFile file(AreaFilePath,CFile::modeReadWrite|CFile::modeCreate);
CArchive ar(&file,CArchive::store);
gMarkAreaMgr->SaveOrLoadExt(ar);
}
}
//<2F><>ȡdxf <20><>Ӧ<EFBFBD><D3A6><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
void CProgram_SZ_XL::ReadCutPar()
{
CString FilePath;
if(GetDxfParFilePath("par",FilePath))
{
CWorkFileMgr WorkFileMgr;
WorkFileMgr.ReadWorkFile(FilePath);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>area <20>ļ<EFBFBD>
CString AreaFilePath;
GetDxfParFilePath("are",AreaFilePath);
CFile file;
if(file.Open(AreaFilePath,CFile::modeRead))
{
CArchive ar(&file,CArchive::load);
gMarkAreaMgr->SaveOrLoadExt(ar);
gLogMgr->WriteDebugLog("OpenArea:"+AreaFilePath);
file.Close();
}
}
else
{
gCommonFlowMgr->ResetProductOffset();
}
}
bool CProgram_SZ_XL::GetDxfParFilePath(CString Suffix,CString &FilePath)
{
CString OpenFileName = gProgramCutMgr->GetCurOpenFileName();
if(OpenFileName != "")
{
CString Path = CUT_PAR_DIR;
Path += OpenFileName;
Path += "."+Suffix;
CFileMgr FileMgr;
FileMgr.GetFullFilePath(FilePath,Path);
return true;
}
return false;
}
void CProgram_SZ_XL::ResetRecordTimes(ETrackType TrackType)
{
CMsgBox MsgBox;
if(MsgBox.ConfirmOkCancel("<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"))
{
CTrackWorkFlow *pTrackWorkFlow = GetTrackWorkFlow(TrackType);
pTrackWorkFlow->ResetRecordTimes();
}
}
#endif
#if 1//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD>
void CProgram_SZ_XL::ReadLoadPlcMsg()
{
while(1)
{
if(gExitApp)
break;
ETrackWorkStep Track1WorkStep = gTrackWorkFlow1.GetCurTrackWorkStep();
ETrackWorkStep Track2WorkStep = gTrackWorkFlow2.GetCurTrackWorkStep();
bool ReadMsg = false;
if(Track1WorkStep ==_ETrack_Step_Load || Track1WorkStep ==_ETrack_Step_Throw_Edge ||Track2WorkStep ==_ETrack_Step_Load || Track2WorkStep ==_ETrack_Step_Throw_Edge)
{
ReadMsg = true;
}
if(m_bStopReadMsg)
{
Sleep(100);
continue;
}
Sleep(300);
if(ReadMsg)//ֻ<><D6BB>load <20><>ȥ<EFBFBD>߿<EFBFBD>ʱ<EFBFBD>Ŷ<EFBFBD>ȡ
{
ReadLoadPlcMsgExt();
}
}
}
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>PLC <20><>״̬
void CProgram_SZ_XL::ReadLoadPlcMsgExt()
{
char Buf[BUF_LEN];
CString Str = ("@00RD0512000151*");//<2F><>ѯָ<D1AF><D6B8>
int len = CreatBuf(Buf,Str);
m_LoadDeviceCOM.WriteBuf(Buf,len);
Sleep(100);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
memset(Buf,0,BUF_LEN);
m_LoadDeviceCOM.ReadBuf(Buf,BUF_LEN);
Buf[14]='\0';
CString RecvStr(Buf);
AnalyzeRecvCmd(RecvStr);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>PLC <20><>Ϣ
void CProgram_SZ_XL::AnalyzeRecvCmd(CString &RecvStr)
{
CString LogStr1,LogStr2;
bool ret = false;
if(RecvStr.Find("@00RD00000452*",0) != -1)//<2F><><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(00000100)
{
if(gTrackWorkFlow1.GetCurTrackWorkStep()==_ETrack_Step_Load)//ֻ<><D6BB>load <20><><EFBFBD>յ<EFBFBD><D5B5>źŲ<C5BA><C5B2><EFBFBD>
{
gTrackWorkFlow1.SetCurTrackWorkStep(_ETrack_Step_Load_End);
LogStr1 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
ret = true;
}
else if(RecvStr.Find("@00RD0000085E*",0) != -1)//<2F><><EFBFBD><EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(00001000)
{
if(gTrackWorkFlow2.GetCurTrackWorkStep()==_ETrack_Step_Load)
{
gTrackWorkFlow2.SetCurTrackWorkStep(_ETrack_Step_Load_End);
LogStr1 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
ret = true;
}
else if(RecvStr.Find("@00RD00004052*",0) != -1)//<2F><><EFBFBD><EFBFBD>1 ȥ<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>(01000000)
{
if(gTrackWorkFlow1.GetCurTrackWorkStep()==_ETrack_Step_Throw_Edge)
{
gTrackWorkFlow1.SetCurTrackWorkStep(_ETrack_Step_Throw_Edge_End);
LogStr1 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 ȥ<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>";
}
ret = true;
}
else if(RecvStr.Find("@00RD0000805E*",0) != -1)//<2F><><EFBFBD><EFBFBD>2 ȥ<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>(10000000)
{
if(gTrackWorkFlow2.GetCurTrackWorkStep()==_ETrack_Step_Throw_Edge)
{
gTrackWorkFlow2.SetCurTrackWorkStep(_ETrack_Step_Throw_Edge_End);
LogStr1 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 ȥ<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>";
}
ret = true;
}
else if(RecvStr.Find("@00RD00000C25*",0) != -1)//<2F><><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//<2F><><EFBFBD><EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(00001100)
{
if(gTrackWorkFlow1.GetCurTrackWorkStep()==_ETrack_Step_Load)
{
gTrackWorkFlow1.SetCurTrackWorkStep(_ETrack_Step_Load_End);
Sleep(500);
LogStr1 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
if(gTrackWorkFlow2.GetCurTrackWorkStep()==_ETrack_Step_Load)
{
gTrackWorkFlow2.SetCurTrackWorkStep(_ETrack_Step_Load_End);
LogStr2 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
ret = true;
}
else if(RecvStr.Find("@00RD0000845A*",0) != -1)//<2F><><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//<2F><><EFBFBD><EFBFBD>2 ȥ<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>(10000100)
{
if(gTrackWorkFlow1.GetCurTrackWorkStep()==_ETrack_Step_Load)
{
gTrackWorkFlow1.SetCurTrackWorkStep(_ETrack_Step_Load_End);
Sleep(500);
LogStr1 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
if(gTrackWorkFlow2.GetCurTrackWorkStep()==_ETrack_Step_Throw_Edge)
{
gTrackWorkFlow2.SetCurTrackWorkStep(_ETrack_Step_Throw_Edge_End);
LogStr2 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 ȥ<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>";
}
ret = true;
}
else if(RecvStr.Find("@00RD0000485A*",0) != -1)//<2F><><EFBFBD><EFBFBD>1 ȥ<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>//<2F><><EFBFBD><EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(01001000)
{
if(gTrackWorkFlow1.GetCurTrackWorkStep()==_ETrack_Step_Throw_Edge)
{
gTrackWorkFlow1.SetCurTrackWorkStep(_ETrack_Step_Throw_Edge_End);
Sleep(500);
LogStr1 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 ȥ<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>";
}
if(gTrackWorkFlow2.GetCurTrackWorkStep()==_ETrack_Step_Load)
{
gTrackWorkFlow2.SetCurTrackWorkStep(_ETrack_Step_Load_End);
LogStr2 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
ret = true;
}
if(ret)
{
gLogMgr->WriteDebugLog(RecvStr);
if(LogStr1 != "")
{
gLogMgr->WriteDebugLog(LogStr1);
}
if(LogStr2 != "")
{
gLogMgr->WriteDebugLog(LogStr2);
}
}
}
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>ͨ<EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
void CProgram_SZ_XL::InitLoadDeviceCom()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>plc ͨ<><CDA8><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>
if(m_LoadDeviceCOM.Open(m_LoadComPort,"115200,e,7,2"))
{
CString LogStr;
LogStr.Format(_T("<EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>ͨ<EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD> %d <20>򿪳ɹ<F2BFAAB3>"),m_LoadComPort);
gLogMgr->WriteDebugLog(LogStr);
if(OpenPlcCtrl())
{
m_bLoadDeviceSuc = true;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡplc <20><>Ϣ<EFBFBD><CFA2><EFBFBD>߳<EFBFBD>
AfxBeginThread(ReadLoadPlcMsgThread,this);
}
}
else
{
CString LogStr;
LogStr.Format(_T("<EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>ͨ<EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD> %d <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>"),m_LoadComPort);
gLogMgr->WriteDebugLog(LogStr);
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>,<2C><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool CProgram_SZ_XL::OpenPlcCtrl()
{
char Buf[BUF_LEN];
CString Str = ("@00SC0252*");
int len = CreatBuf(Buf,Str);
m_LoadDeviceCOM.WriteBuf(Buf,len);
Sleep(m_LoadCmdRevDelay);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
memset(Buf,0,BUF_LEN);
m_LoadDeviceCOM.ReadBuf(Buf,BUF_LEN);
Str = ("@00SC0050*");
if(CompareBuf(Buf,Str))
{
gLogMgr->WriteDebugLog("OpenPlcCtrl Suc Rev = "+Str);
return true;
}
gLogMgr->WriteDebugLog("OpenPlcCtrl Err ʧ<><CAA7>");
return false;
}
//<2F><>str <20><><EFBFBD><EFBFBD><EFBFBD>ݷŵ<DDB7>Buf
int CProgram_SZ_XL::CreatBuf(char *Buf,CString str)
{
int len = str.GetLength();
int k=0;
for(;k<len;k++)
{
Buf[k] = str[k];
}
Buf[k++] = char(13);
Buf[k++] = char(10);
return k;
}
//<2F>Ƚ<EFBFBD>buf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>str <20><><EFBFBD><EFBFBD>
bool CProgram_SZ_XL::CompareBuf(char *Buf,CString str)
{
int len = str.GetLength();
for(int k=0;k<len;k++)
{
if(Buf[k] != str[k])
return false;
}
return true;
}
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
bool CProgram_SZ_XL::GetLoadCmdStr(ETrackType TrackType,ETrackWorkStep WorkStep,CString &StrOn,CString &StrOnRev,CString &StrOff,CString &StrOffRev)
{
CString LogStr;
bool Ret = false;
if(WorkStep==_ETrack_Step_Load)//<2F><><EFBFBD><EFBFBD>
{
if(_ETrackType_Track_1 == TrackType)
{
StrOn = "@00WD0507000150*";
StrOff = "@00WD0507000051*";
LogStr = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else
{
StrOn = "@00WD050800025C*";
StrOff = "@00WD050800005E*";
LogStr = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
Ret = true;
}
else if(WorkStep==_ETrack_Step_Throw_Edge)//ȥ<>߿<EFBFBD>
{
if(_ETrackType_Track_1 == TrackType)
{
StrOn = "@00WD050900105E*";
StrOff = "@00WD050900005F*";
LogStr = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
else
{
StrOn = "@00WD0510002055*";
StrOff = "@00WD0510000057*";
LogStr = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
}
Ret = true;
}
else if(WorkStep==_ETrack_Step_Reset_Load_Request)//<2F><>λ<EFBFBD><CEBB><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
{
StrOn = "@00WD0506000151*";
StrOff = "@00WD0506000050*";
LogStr = "<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>";
Ret = true;
}
if(Ret)
{
gLogMgr->WriteDebugLog("Str1 = "+StrOn);
gLogMgr->WriteDebugLog("Str2 = "+StrOff);
gLogMgr->WriteDebugLog(LogStr);
}
return Ret;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>(bCheckRev <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><E9B7B4><EFBFBD>ź<EFBFBD>)
bool CProgram_SZ_XL::SendMsgToLoadDevice(ETrackType TrackType,ETrackWorkStep WorkStep,bool bCheckRev)
{
if(!m_bLoadDeviceSuc)
{
//CMsgBox MsgBox;
//MsgBox.Show("<22><><EFBFBD>ϻ<EFBFBD>ͨ<EFBFBD><CDA8> ʧ<><CAA7>");
gLogMgr->WriteDebugLog("<EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>ͨ<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>");
return false;
}
while(m_bLoadCOMLockerFlg)//<2F>ȴ<EFBFBD>
{
Sleep(100);
}
m_bStopReadMsg = true;//<2F><>ͣ<EFBFBD><CDA3>ȡ
Sleep(400);
m_bLoadCOMLockerFlg = true;//<2F><><EFBFBD><EFBFBD>
bool Ret = false;
CString StrOn,StrOnRev;
CString StrOff,StrOffRev;
if(GetLoadCmdStr(TrackType,WorkStep,StrOn,StrOnRev,StrOff,StrOffRev))
{
char Buf[BUF_LEN];
int len = CreatBuf(Buf,StrOn);
m_LoadDeviceCOM.WriteBuf(Buf,len);
Sleep(100);
m_LoadDeviceCOM.WriteBuf(Buf,len);//<2F>ٷ<EFBFBD>һ<EFBFBD><D2BB>
Sleep(m_LoadCmdDelay);//<2F>ȴ<EFBFBD>plc <20><><EFBFBD><EFBFBD><E2B5BD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ʱ<EFBFBD><CAB1>
len = CreatBuf(Buf,StrOff);
m_LoadDeviceCOM.WriteBuf(Buf,len);
Sleep(100);
m_LoadDeviceCOM.WriteBuf(Buf,len);//<2F>ٷ<EFBFBD>һ<EFBFBD><D2BB>
Ret = true;
}
m_bLoadCOMLockerFlg = false;//<2F><><EFBFBD><EFBFBD>
m_bStopReadMsg = false;//<2F>ָ<EFBFBD><D6B8><EFBFBD>ȡ
return Ret;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7B4>(<28><><EFBFBD><EFBFBD>SendMsg <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7B4><EFBFBD>ź<EFBFBD><C5BA>Ƿ<EFBFBD>ΪRevMsg)
bool CProgram_SZ_XL::SendMsgToLoadPlc(CString &SendMsg,CString &RevMsg)
{
return true;
}
#endif