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.
TwoLaserHead-PushJig/LaiPuLaser/Program_SZ_XL.h

132 lines
6.8 KiB
C

#pragma once
#include "module.h"
#include "Program_SZ_XL_TrackWorkFlow.h"
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>Զ<EFBFBD><D4B6>
class CProgram_SZ_XL :public CModule
{
public:
CProgram_SZ_XL(void);
~CProgram_SZ_XL(void);
virtual CMFCPropertyGridProperty *CreatGridProperty();
virtual MODULE GetModuleType(){return _PGM_SW_XL_PROP;};
virtual void Ini();
virtual void OnExitApp();//<2F>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>ʱ
void InitDevice();
void StartAutoWork(ETrackType TrackType);
void ManualOperation(ETrackType TrackType,ETrackWorkStep TrackWorkStep);
double GetMoveCoord(ETrackType TrackType,ETrackWorkStep WorkStep);
Dbxy GetTrack2Offset(){return m_Track2Offset;};
Dbxy GetTrackMarkOffset(ETrackType TrackType);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
//Dbxy GetTrackMarkPosOffset(ETrackType TrackType);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ļӹ<C4BC>λ<EFBFBD><CEBB>ƫ<EFBFBD><C6AB>
void SetbSelMarkMode(bool b){m_bSelMarkMode = b;};
bool IsbSelMarkMode(){return m_bSelMarkMode;};
bool IsbAutoWorkMode(){return m_bAutoWorkMode;};
void SetbAutoWorkMode(bool b){m_bAutoWorkMode = b;};
void ProductCarrierOpenClose(ETrackType TrackType,bool bOpen);
CTrackWorkFlow* GetTrackWorkFlow(ETrackType TrackType);
int GetCutProductCnt(ETrackType TrackType);
void StopAutoWork();
void SaveCutPar();
void ReadCutPar();
ETrackWorkStep GetCurTrackWorkStep(ETrackType TrackType);
void ResetRecordTimes(ETrackType TrackType);
void ReadLoadPlcMsg();
bool SendMsgToLoadDevice(ETrackType TrackType,ETrackWorkStep WorkStep,bool bCheckRev);
ETrackWorkStep GetOtherTrackWorkStep(ETrackType TrackType);
void MoveMotorYToSafePos(ETrackType TrackType);
bool IsbShieldLoad(){return m_bShieldLoad;};
bool IsbShieldMarking(){return m_bShieldMarking;};
bool IsbShieldUnLoad(){return m_bShieldUnLoad;};
void CancelUnloadRequest(ETrackType TrackType);
void SetbCircleStop(ETrackType TrackType,bool bStop);
bool GetbCircleStop(ETrackType TrackType) ;
int GetStopStepUnloadTimes(){return m_StopStepUnloadTimes;};
int GetPlcCmdSendDelay(){return m_PlcCmdSendDelay;};
void GetTrackMotorYCoord(ETrackType TrackType,double &DangerCoordStart,double &DangerCoordEnd,double &SafeCoord);
bool IsbAutoWorking();
bool IsbCheckUnloadState(){return m_bCheckUnloadState;};
void SetCurMarkingTrack(ETrackType t){m_CurMarkingTrack = t;};
ETrackType GetCurMarkingTrack(){return m_CurMarkingTrack;};
Dbxy GetNPOffsetT1() { return m_NPCatchOffset1; }; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>1,<2C>¼<EFBFBD>Ƭλ<C6AC><CEBB>ƫ<EFBFBD><C6AB>
Dbxy GetNPOffsetT2() { return m_NPCatchOffset2; }; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>2,<2C>¼<EFBFBD>Ƭλ<C6AC><CEBB>ƫ<EFBFBD><C6AB>
bool GetDxfParFilePath(CString Suffix,CString &FilePath);
private:
void ReadLoadPlcMsgExt();
void InitLoadDeviceCom();
void ResetLoadUnloadSignal();
CTrackWorkFlow* GetOtherTrackWorkFlow(ETrackType TrackType);
bool OpenPlcCtrl();
void AnalyzeRecvLoadMsg(CString &RecvStr);
bool CompareBuf(char *Buf,CString str);
int CreatBuf(char *Buf,CString str);
bool GetLoadCmdStr(ETrackType TrackType,ETrackWorkStep WorkStep,CString &StrOn,CString &StrOnRev,CString &StrOff,CString &StrOffRev);
public:
CString m_ServerIP="127.0.0.1";//<2F><><EFBFBD><EFBFBD>IP
int m_ServerPort=2404;//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
Dbxy GetJig1Scale() { return m_Jig1Scale; };
Dbxy GetJig3Scale() { return m_Jig3Scale; };
private:
int m_TrackComPort1;//<2F><><EFBFBD><EFBFBD>1 <20><><EFBFBD>ں<EFBFBD>
int m_TrackComPort2;//<2F><><EFBFBD><EFBFBD>2 <20><><EFBFBD>ں<EFBFBD>
int m_ComBaudRate;//ͨ<>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
int m_PlcCmdSendDelay;//plcָ<63><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>ʱms
int m_LoadComPort;//<2F><><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD>ں<EFBFBD>
bool m_bLoadDeviceSuc;//<2F><><EFBFBD>ϻ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>Ƿ<EFBFBD><C7B7>ɹ<EFBFBD>
int m_LoadCmdDelay;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ʱ<EFBFBD><CAB1>ms
int m_LoadCmdRevDelay;//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ȥ<EFBFBD><C8A5>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ms
int m_LoadCmdSendTims;//<2F><><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD>plc <20><>cmd<6D><64><EFBFBD>ԵĴ<D4B5><C4B4><EFBFBD>
bool m_bLoadCOMLockerFlg;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>flg
bool m_bCheckUnloadState;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>״̬
CCommPortMgr m_LoadDeviceCOM;//<2F><><EFBFBD>ϻ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>ô<EFBFBD><C3B4>ڹ<EFBFBD><DAB9><EFBFBD>
bool m_bStopReadMsg;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ͣ<EFBFBD><CDA3>ȡplc <20><>Ϣ
bool m_bSelMarkMode;//ѡ<><D1A1><EFBFBD>ӹ<EFBFBD>ģʽ
bool m_bAutoWorkMode;//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ģʽ
double m_MotorXWaitCoord;//X<><58><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
double m_MotorXLoadCoord;//X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double m_MotorXUnLoadCoord;//X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double m_MotorXLoadZJCoord=0;//X <20><><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD><EFBFBD>
double m_MotorXThrowCoord = 0;//X <20><>ȥ<EFBFBD>߿<EFBFBD>
double m_MotorX2LoadCoord;//X2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double m_MotorX2UnLoadCoord;//X2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double m_MotorX2LoadZJCoord=0;//X2 <20><><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD><EFBFBD>
double m_MotorX2ThrowCoord = 0;//X2 <20><>ȥ<EFBFBD>߿<EFBFBD>
Dbxy m_Track2Offset;//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD>1 <20><>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
Dbxy m_NPCatchOffset1;//<2F><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC>λ<EFBFBD><CEBB>ƫ<EFBFBD><C6AB>(CCDץȡʱ<C8A1><CAB1>)
Dbxy m_NPCatchOffset2;//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC>λ<EFBFBD><CEBB>ƫ<EFBFBD><C6AB>(CCDץȡʱ<C8A1><CAB1>)
Dbxy m_Jig1Scale=Dbxy(1,1); //<2F>ξ<EFBFBD>1<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)
Dbxy m_Jig3Scale = Dbxy(1, 1);//<2F>ξ<EFBFBD>3<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)
Dbxy m_Jig1MarkOffset;//<2F>ξ<EFBFBD>1<EFBFBD>ļӹ<C4BC><D3B9><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>(<28><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><><D3A6>Ӳ<EFBFBD><D3B2>ƫ<EFBFBD><C6AB>)
Dbxy m_Jig3MarkOffset;//<2F>ξ<EFBFBD>3<EFBFBD>ļӹ<C4BC><D3B9><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>(<28><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><><D3A6>Ӳ<EFBFBD><D3B2>ƫ<EFBFBD><C6AB>)
double m_Track1DangerCoordStart;//<2F><><EFBFBD><EFBFBD>1 <20><>Σ<EFBFBD>շ<EFBFBD>Χstart
double m_Track1DangerCoordEnd;//<2F><><EFBFBD><EFBFBD>1 <20><>Σ<EFBFBD>շ<EFBFBD>Χend
double m_Track1SafeCoord;//<2F><><EFBFBD><EFBFBD>1 <20>İ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
double m_Track2DangerCoordStart;//<2F><><EFBFBD><EFBFBD>2 <20><>Σ<EFBFBD>շ<EFBFBD>Χstart
double m_Track2DangerCoordEnd;//<2F><><EFBFBD><EFBFBD>2 <20><>Σ<EFBFBD>շ<EFBFBD>Χend
double m_Track2SafeCoord;//<2F><><EFBFBD><EFBFBD>2 <20>İ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
bool m_bShieldLoad;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool m_bShieldMarking;//<2F><><EFBFBD>μӹ<CEBC><D3B9><EFBFBD><EFBFBD><EFBFBD>
bool m_bShieldUnLoad;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_StopStepUnloadTimes;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴο<D9B4><CEBF><EFBFBD>ǿ<EFBFBD><C7BF>ֹͣunload
ETrackType m_CurMarkingTrack;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><D0B8>Ĺ<EFBFBD><C4B9><EFBFBD>
};
extern CProgram_SZ_XL *gProgram_SZ_XL;