704 lines
20 KiB
C++
704 lines
20 KiB
C++
#ifndef DEVICEPROXY_H
|
||
#define DEVICEPROXY_H
|
||
#include <QObject>
|
||
#include "base.h"
|
||
#include "ACSVariable.h"
|
||
#include "acscontroller.h"
|
||
#include "myexception.h"
|
||
#include <QTimer>
|
||
#include <QThread>
|
||
#include <QMutex>
|
||
|
||
#include "LaserMark.h"
|
||
#include "LaserMark_global.h"
|
||
#include "MarkEzdDll.h"
|
||
#include "opencv2/opencv.hpp"
|
||
#include "bllaserlib.h"
|
||
#include "BLLaserLib_global.h"
|
||
#include "coordinate.h"
|
||
#include"qtcpserver.h"
|
||
#include"qtcpsocket.h"
|
||
|
||
|
||
#include "rms_dll.h"
|
||
|
||
#define MACHINE001 1
|
||
|
||
|
||
#ifdef MACHINE001
|
||
#define XAXIS 0
|
||
#define YAXIS 1
|
||
#define ZAXIS 4
|
||
#define ZAAXIS 2
|
||
|
||
#define DAXIS 5
|
||
#define Z0AXIS 6
|
||
#define Z2AXIS 7
|
||
#else
|
||
#define XAXIS 0
|
||
#define YAXIS 1
|
||
#define ZAXIS 4
|
||
#define ZAAXIS 6
|
||
|
||
#define DAXIS 5
|
||
#define Z0AXIS 7
|
||
#define Z2AXIS 2
|
||
#endif
|
||
|
||
|
||
|
||
|
||
#define LASERMARKFOCUS 120
|
||
#define CAMERAFOCUS 120
|
||
#define FINDHEIGHTFOCUS 10
|
||
#define INCHES4 55
|
||
#define INCHES6 80
|
||
#define INCHES8 105
|
||
#define MAXHEIGHT 55
|
||
#define ZWORKPOS 0
|
||
#define PIANYIJIAODU 0
|
||
#define LASERMARKJIAODU 0
|
||
|
||
#define JIADINGJIAGONG 0
|
||
|
||
|
||
class CDeviceProxyWorker;
|
||
#define DEV DeviceProxy::instance()
|
||
class DeviceProxy:public QObject
|
||
{
|
||
Q_OBJECT
|
||
friend class CDeviceProxyWorker;
|
||
public:
|
||
static DeviceProxy* instance();
|
||
static void setAxisName(QMap<int,QString> axisName);
|
||
~DeviceProxy();
|
||
void DEVInit();
|
||
void reset();
|
||
void reset_z();
|
||
void setAlarm(bool flag);
|
||
void setDataCheck(bool flag);
|
||
int UpdateWorkData();
|
||
|
||
QTcpServer* server;
|
||
QTcpSocket* socket;//一个客户端对应一个socket
|
||
void ClientConnect();
|
||
void ReadData1();
|
||
double R_detection_pt{0};
|
||
double mode;
|
||
double R_detection_ps{0};
|
||
double R_detection_pm{0};
|
||
double R_detection_po{0};
|
||
double R_detection_set_ppt{0};
|
||
double R_detection_set_pps{0};
|
||
|
||
QString ingotNumber = "0000";
|
||
|
||
cv::Mat Func_merge(int left,int right);
|
||
std::vector<cv::Mat> srcImgs;
|
||
int BiaoDingFlag{false};
|
||
int PPValues[21];
|
||
double p2tBuf[21];
|
||
double p2sBuf[21];
|
||
double getPP(double ap,bool flag);
|
||
QImage imageR;
|
||
RMS_Dll rms;
|
||
QString StrPlotSixInch = "(0,-60)(-30,-50)(-20,-50)(-10,-50)(0,-50)(10,-50)(20,-50)(30,-50)(-40,-40)(-30,-40)(-20,-40)(-10,-40)(0,-40)(10,-40)"
|
||
"(20,-40)(30,-40)(40,-40)(-50,-30)(-40,-30)(-30,-30)(-20,-30)(-10,-30)(0,-30)(10,-30)(20,-30)(30,-30)(40,-30)(50,-30)"
|
||
"(-50,-20)(-40,-20)(-30,-20)(-20,-20)(-10,-20)(0,-20)(10,-20)(20,-20)(30,-20)(40,-20)(50,-20)(-50,-10)(-40,-10)(-30,-10)"
|
||
"(-20,-10)(-10,-10)(0,-10)(10,-10)(20,-10)(30,-10)(40,-10)(50,-10)(-60,0)(-50,0)(-40,0)(-30,0)(-20,0)(-10,0)(0,0)(10,0)"
|
||
"(20,0)(30,0)(40,0)(50,0)(60,0)(-50,10)(-40,10)(-30,10)(-20,10)(-10,10)(0,10)(10,10)(20,10)(30,10)(40,10)(50,10)(-50,20)"
|
||
"(-40,20)(-30,20)(-20,20)(-10,20)(0,20)(10,20)(20,20)(30,20)(40,20)(50,20)(-50,30)(-40,30)(-30,30)(-20,30)(-10,30)(0,30)"
|
||
"(10,30)(20,30)(30,30)(40,30)(50,30)(-40,40)(-30,40)(-20,40)(-10,40)(0,40)(10,40)(20,40)(30,40)(40,40)(-30,50)(-20,50)"
|
||
"(-10,50)(0,50)(10,50)(20,50)(30,50)(0,60)";
|
||
QString StrPlotEightInch = "(-44,-72)(-30,-72)(-16,-72)(-2,-72)(12,-72)(26,-72)(40,-72)(-58,-58)"
|
||
"(-44,-58)(-30,-58)(-16,-58)(-2,-58)(12,-58)(26,-58)(40,-58)(54,-58)"
|
||
"(-72,-44)(-58,-44)(-44,-44)(-30,-44)(-16,-44)(-2,-44)(12,-44)(26,-44)"
|
||
"(40,-44)(54,-44)(68,-44)(-72,-30)(-58,-30)(-44,-30)(-30,-30)(-16,-30)"
|
||
"(-2,-30)(12,-30)(26,-30)(40,-30)(54,-30)(68,-30)(-72,-16)(-58,-16)"
|
||
"(-44,-16)(-30,-16)(-16,-16)(-2,-16)(12,-16)(26,-16)(40,-16)(54,-16)"
|
||
"(68,-16)(82,-16)(-72,-2)(-58,-2)(-44,-2)(-30,-2)(-16,-2)(-2,-2)"
|
||
"(12,-2)(26,-2)(40,-2)(54,-2)(68,-2)(82,-2)(-72,12)(-58,12)(-44,12)"
|
||
"(-30,12)(-16,12)(-2,12)(12,12)(26,12)(40,12)(54,12)(68,12)(82,12)"
|
||
"(-72,26)(-58,26)(-44,26)(-30,26)(-16,26)(-2,26)(12,26)(26,26)(40,26)"
|
||
"(54,26)(68,26)(-72,40)(-58,40)(-44,40)(-30,40)(-16,40)(-2,40)(12,40)"
|
||
"(26,40)(40,40)(54,40)(68,40)(-58,54)(-44,54)(-30,54)(-16,54)(-2,54)"
|
||
"(12,54)(26,54)(40,54)(54,54)(-44,68)(-30,68)(-16,68)(-2,68)(12,68)"
|
||
"(26,68)(40,68)(-16,82)(-2,82)(12,82)";
|
||
QString StrPlotFourInch = "(-2,-44)(-30,-30)(-16,-30)(-2,-30)(12,-30)(26,-30)(-30,-16)(-16,-16)"
|
||
"(-2,-16)(12,-16)(26,-16)(40,-16)(-44,-2)(-30,-2)(-16,-2)(-2,-2)(12,-2)"
|
||
"(26,-2)(40,-2)(-30,12)(-16,12)(-2,12)(12,12)(26,12)(40,12)(-30,26)(-16,26)"
|
||
"(-2,26)(12,26)(26,26)(-16,40)(-2,40)(12,40)";
|
||
|
||
|
||
bool StopElectricResistanceCheckFlag{false};
|
||
|
||
|
||
LaserMark * pLaserMark;
|
||
double laserMarkHeight{1};
|
||
double laserMarkWidth{1};
|
||
double laserMarkInternal{1};
|
||
int laserMarkFrequency{1};
|
||
double laserMarkPulseWidth{1};
|
||
//BLLaserLib * pBLLaserLib;
|
||
bool bUserPower{false};
|
||
bool SuspendFlag{false};
|
||
void Record_xiao();
|
||
void laserCtlCnn();
|
||
void laserCtlClose();
|
||
void laserCtlSet(QString strParam);
|
||
void laserSetMode(int); //设置出发模式 =》 0为TOD模式, 1为GATE模式
|
||
void laserSetEmissionOnOff(int); //设置内部激光器开光关光状态 =》 1为激光器出光, 0为激光器关光
|
||
void laserSetExtTrigEnable(int); //设置外部激光器触发使能状态 =》 1为激光器使能开, 0为激光器使能关
|
||
bool PidFlag{true};
|
||
bool DataCheckFlag{false};
|
||
QString strLaserMark_test;
|
||
|
||
// 连续相对运动
|
||
void XAxisCMoveN();
|
||
void XAxisCMoveNEnd();
|
||
void XAxisCMoveP();
|
||
void XAxisCMovePEnd();
|
||
void YAxisCMoveN();
|
||
void YAxisCMoveNEnd();
|
||
void YAxisCMoveP();
|
||
void YAxisCMovePEnd();
|
||
void ZAxisCMoveN();
|
||
void ZAxisCMoveNEnd();
|
||
void ZAxisCMoveP();
|
||
void ZAxisCMovePEnd();
|
||
void ZAAxisCMoveN();
|
||
void ZAAxisCMoveNEnd();
|
||
void ZAAxisCMoveP();
|
||
void ZAAxisCMovePEnd();
|
||
|
||
void Z0AxisCMoveN();
|
||
void Z0AxisCMoveNEnd();
|
||
void Z0AxisCMoveP();
|
||
void Z0AxisCMovePEnd();
|
||
|
||
void Z2AxisCMoveN();
|
||
void Z2AxisCMoveNEnd();
|
||
void Z2AxisCMoveP();
|
||
void Z2AxisCMovePEnd();
|
||
|
||
void DAxisCMoveN();
|
||
void DAxisCMoveNEnd();
|
||
void DAxisCMoveP();
|
||
void DAxisCMovePEnd();
|
||
|
||
// 单步相对运动
|
||
void XAxisSMoveN();
|
||
void XAxisSMoveP();
|
||
void YAxisSMoveN();
|
||
void YAxisSMoveP();
|
||
void ZAxisSMoveN();
|
||
void ZAxisSMoveP();
|
||
void ZAAxisSMoveN();
|
||
void ZAAxisSMoveP();
|
||
|
||
void DAxisSMoveN();
|
||
void DAxisSMoveP();
|
||
void Z2AxisSMoveN();
|
||
void Z2AxisSMoveP();
|
||
void Z0AxisSMoveN();
|
||
void Z0AxisSMoveP();
|
||
|
||
|
||
|
||
// 绝对运动
|
||
void ABSMove();
|
||
void ABSMove_DZ0Z2();
|
||
void ABSMove_Z0_test();
|
||
void RSToZero();
|
||
void RSToZero_Z0();
|
||
void MachSmallArea();
|
||
void SScan();
|
||
void compSScan();
|
||
int GetRatioP1P2Thread();
|
||
int SaveRatioP1P2ToCSV(float ApValue_P1[30],float ApValue_P2[30], float ApPercentage[30],float kb[],bool flag);
|
||
int ElectricResistanceCheckThread();
|
||
int ElectricResistanceCheckThread2();
|
||
void imageGet();
|
||
int FindEdgeThread();
|
||
int FindEdgeThread_6();
|
||
void MHCompOpen();
|
||
void MotionCompOpen(bool flag,double array[]);
|
||
void MotionCompClose();
|
||
void compClose();
|
||
void FindEdge();
|
||
void GetRatioP1P2();
|
||
void ElectricResistanceCheck();
|
||
void GetGlobalPhoto();
|
||
void GetGlobalPhotoSide();
|
||
int GetGlobalPhotoThread();
|
||
|
||
void stop();
|
||
void Suspend();
|
||
void ContinueBuffer();
|
||
void EStop();
|
||
|
||
void SMach();
|
||
void semiAutoMach();
|
||
|
||
void vacuumSuckerOpen();
|
||
void vacuumSuckerClose();
|
||
|
||
// 三色灯
|
||
void laserOpen();
|
||
void laserClose();
|
||
|
||
void greenLightOpen();
|
||
void greenLightClose();
|
||
|
||
void redLightOpen();
|
||
void redLightClose();
|
||
|
||
void yellowLightOpen();
|
||
void yellowLightClose();
|
||
|
||
void StopBtnOpen();
|
||
void StopBtnClose();
|
||
void RunBtnOpen();
|
||
void RunBtnClose();
|
||
void FanOpen();
|
||
void FanClose();
|
||
void VacuumBreakOpen();
|
||
void VacuumBreakClose();
|
||
void AirValveClose();
|
||
void AirValveOpen();
|
||
void CuCeGaoClose();
|
||
void CuCeGaoOpen();
|
||
void Pin18Close();
|
||
void Pin18Open();
|
||
void LightClose();
|
||
void LightOpen();
|
||
void AirValveClose2();
|
||
void AirValveOpen2();
|
||
|
||
void setLight();
|
||
|
||
// 轴使能操作
|
||
void enableDisableXAxis();
|
||
void enableDisableYAxis();
|
||
void enableDisableZAxis();
|
||
void enableDisableZAAxis();
|
||
void enableDisableDAxis();
|
||
void enableDisableZ0Axis();
|
||
void enableDisableZ2Axis();
|
||
//设置轴状态
|
||
void setAxisState();
|
||
|
||
// 相机,加工头,测距头位置转换
|
||
void MHToCamera();
|
||
void CameraToMH();
|
||
void RHToCamera();
|
||
void CameraToRH();
|
||
void RHToMH();
|
||
void MHToRH();
|
||
|
||
// 过程位置
|
||
void toLoadAndUnloadPos();
|
||
void toGloblaCameraPos();
|
||
void toSScanStartPos();
|
||
void toRSToZeroPos();
|
||
//void toMachStartPos();
|
||
void toZAAxisCPos();
|
||
void toLaserApTestPos();
|
||
void toLaserMarkPos();
|
||
void toHeightFindPos();
|
||
void toEdgeSearchPos();
|
||
void toCompenTestPos();
|
||
void toRecordPos();
|
||
|
||
void LoadFromCsv(QString fileName);
|
||
int devLaserNum{0};
|
||
int devLaserState{0};
|
||
int devPlaneScanCompState{0};
|
||
int devMotionCompState{0};
|
||
int devWorkpieceLockState{0};
|
||
int devLightingState{0};
|
||
bool devLaserCheck{false};
|
||
int devLaserOpenTime{0};
|
||
bool checkZaxisAlarmFlag{true};
|
||
bool LaserTestApFlag{false};
|
||
int LaserTestApIndex{1};
|
||
double LaserApValueP1{0};
|
||
double ApPercentage{0};
|
||
int Mach_T_S_flag{0};
|
||
int devInState{0};
|
||
int runBtnDINum;
|
||
int stopBtnDINum;
|
||
int estopBtnDINum;
|
||
int door1DINum;
|
||
int door2DINum;
|
||
int airValveOpenNum{0};
|
||
int airValveCloseNum{0};
|
||
int CuCeGaoDINum{0};
|
||
int airValveDoNum{0};
|
||
int CuCeGaoDoNum{0};
|
||
int airValveDoSts{0};
|
||
int airValveDoNum2{0};
|
||
int airValveDoSts2{0};
|
||
int AllPressureDINum{0};
|
||
int devLightNum{0};
|
||
int UPSDINum{0};
|
||
int airValveDiOpenSts;
|
||
int airValveDiCloseSts;
|
||
int runType{0};
|
||
bool bRunning;
|
||
|
||
bool bAutoLoadUnloadFlag{false};
|
||
|
||
int RFIDCount{0};
|
||
double Palletheight{0};
|
||
double LaserMarkOffset_Y{0};
|
||
double LaserMarkOffset_X{0};
|
||
double workpieceHeight{0};
|
||
//double ZZA{0};
|
||
bool lastTaskIsFinish{true};
|
||
QString lastTaskName;
|
||
int AxisMoveSafeCheckXY(int axisBuf[4],double distPos[4],int moveMode[2]);
|
||
void detectionZZAAxisPos();
|
||
bool getDevIsReset();
|
||
bool getDevIsInit();
|
||
bool getLastTaskIsFinish();
|
||
int ShangProc(void);
|
||
int XiaProc(void);
|
||
int deCode_file(QString strFileName);
|
||
QString deCodeString;
|
||
QStringList fFileContent;
|
||
signals:
|
||
void ShangLiaoFSGL(bool);
|
||
void XiaLiaoFSGL(bool);
|
||
void MsgLogInSuccess(bool);
|
||
void MsgSetValueSGL(int);
|
||
void RunSGL(bool);
|
||
void MHCompOpenFSGL();
|
||
void MHCompCloseFSGL();
|
||
void MotionCompOpenFSGL();
|
||
void MotionCompCloseFSGL();
|
||
void laserOpenFSGL();
|
||
void laserCloseFSGL();
|
||
void suspendBufferFSGL();
|
||
void continueBufferFSGL();
|
||
void vacuumSuckerOpenFSGL();
|
||
void vacuumSuckerCloseFSGL();
|
||
void FindEdgeFinishSGL(int);
|
||
void GetRatioP1P2FinishSGL(int);
|
||
void ElectricResistanceCheckFinishSGL(int);
|
||
void show_Q_PP_SGL();
|
||
void CMDRunFinishSGL();
|
||
void XAxisLimitStateSGL(LIMIT_STATE);
|
||
void YAxisLimitStateSGL(LIMIT_STATE);
|
||
void ZAxisLimitStateSGL(LIMIT_STATE);
|
||
void ZAAxisLimitStateSGL(LIMIT_STATE);
|
||
void XAxisEnableStateSGL(bool);
|
||
void YAxisEnableStateSGL(bool);
|
||
void ZAxisEnableStateSGL(bool);
|
||
void ZAAxisEnableStateSGL(bool);
|
||
void XAxisCtPosSGL(double);
|
||
void YAxisCtPosSGL(double);
|
||
void ZAxisCtPosSGL(double);
|
||
void ZAAxisCtPosSGL(double);
|
||
void DAxisCtPosSGL(double);
|
||
void Z0AxisCtPosSGL(double);
|
||
void Z2AxisCtPosSGL(double);
|
||
void StepNameSGL(int);
|
||
void TransferPLCSGL(int);
|
||
void SeparatePLCSGL(int);
|
||
void GetGlobalPhotoFinishSGL(int);
|
||
void PowerMeterValueSGL(float,float);
|
||
|
||
|
||
void EStopSGL(bool);
|
||
void SETRfidText(char *);
|
||
void DEVInitStateChangedSGL(bool);
|
||
//void DEVResetStateChangedSGL(bool);
|
||
void RSValueChangedSGL(double);
|
||
void stateDetectExceptSGL(int exceptCode);
|
||
void exceptSGL(MyException);
|
||
void exceptSGL_lhc(MyException);
|
||
void AutoExceptSGL_laser(MyException);
|
||
|
||
void AutoSmachStateSGL(bool);
|
||
void StopStateSGL(bool);
|
||
void SmachTypeStateSGL(bool);
|
||
void VacuumSuckerOnOrOffStateSGL(bool);
|
||
void GetRunTypeState();
|
||
void AutoExceptSGL(MyException);
|
||
void ShowSmallAreasSGL();
|
||
void ShowMergeSGL();
|
||
void DDEnableStateSGL(int);
|
||
void DDLimitStateSGL(int,LIMIT_STATE);
|
||
void InStateSGL(int);
|
||
private slots:
|
||
// 监控状态
|
||
void stateDetection();
|
||
void resetFHandl();
|
||
void XAxisSMoveNFHandl();
|
||
void XAxisSMovePFHandl();
|
||
void YAxisSMoveNFHandl();
|
||
void YAxisSMovePFHandl();
|
||
void ZAxisSMoveNFHandl();
|
||
void ZAxisSMovePFHandl();
|
||
void ZAAxisSMoveNFHandl();
|
||
void ZAAxisSMovePFHandl();
|
||
|
||
void DAxisSMoveNFHandl();
|
||
void DAxisSMovePFHandl();
|
||
void Z2AxisSMoveNFHandl();
|
||
void Z2AxisSMovePFHandl();
|
||
void Z0AxisSMoveNFHandl();
|
||
void Z0AxisSMovePFHandl();
|
||
|
||
void ABSMoveFHandl();
|
||
void toLoadAndUnloadPosFHandl();
|
||
void toGlobalCameraPosFHandl();
|
||
void toSScanStartPosFHandl();
|
||
void toRSToZeroPosFHandl();
|
||
void toLaserApTestPosFHandl();
|
||
void toLaserMarkPosFHandl();
|
||
void toHeightFindPosFHandl();
|
||
void toEdgeSearchPosFHandl();
|
||
void toCompenTestPosFHandl();
|
||
void toRecordPosFHandl();
|
||
void toZAAxisCPosFHandl();
|
||
void MHToCameraFHandl();
|
||
void CameraToMHFHandl();
|
||
void RHToCameraFHandl();
|
||
void CameraToRHFHandl();
|
||
void RHToMHFHandl();
|
||
void MHToRHFHandl();
|
||
void RSToZeroFHandl();
|
||
void RSToZeroFHandl_Z0();
|
||
void MachSmallAreaFHandl();
|
||
void SScanFHandl();
|
||
void compSScanFHandl();
|
||
void MHCompOpenFHandl();
|
||
void FindEdgeFHandl(int result);
|
||
void GetRatioP1P2FHandl(int result);
|
||
void ElectricResistanceCheckFHandl(int result);
|
||
void SMachFHandl();
|
||
void semiAutoMachFHandl();
|
||
void CSS_MHCompOpenFHandl();
|
||
void GetGlobalPhotoFHandl(int result);
|
||
|
||
private:
|
||
DeviceProxy();
|
||
DeviceProxy(DeviceProxy const&) = delete;
|
||
DeviceProxy& operator = (DeviceProxy const&) = delete;
|
||
|
||
//监控
|
||
void startStateDetection();
|
||
void stopStateDetection();
|
||
void detectionAllAxisCtPos();
|
||
void detectionAllAxisLimitState();
|
||
void detectionAllAxisEnableState();
|
||
void detectionCMDRunFState();
|
||
void detectionEStopState();
|
||
void detectionRCValue();
|
||
void detectionLaserValue();
|
||
void detectionInState();
|
||
bool getResetState();
|
||
|
||
//使能
|
||
void enableXAxis();
|
||
void enableYAxis();
|
||
void enableZAxis();
|
||
void enableZAAxis();
|
||
void disableXAxis();
|
||
void disableYAxis();
|
||
void disableZAxis();
|
||
void disableZAAxis();
|
||
void enableDAxis();
|
||
void enableZ0Axis();
|
||
void enableZ2Axis();
|
||
void disableDAxis();
|
||
void disableZ0Axis();
|
||
void disableZ2Axis();
|
||
|
||
void readSScanData();
|
||
void saveSScanData();
|
||
void buildSScanDataTable();
|
||
void saveSScanDataTable();
|
||
|
||
void readCompSScanData();
|
||
void saveCompSScanData();
|
||
void buildLookupTable();
|
||
void buildLookupTable2();
|
||
void buildLookupTable_lhc();
|
||
void buildLookupTable_lhc2();
|
||
|
||
void saveLookupTable();
|
||
void saveLookupTable_lhc();
|
||
void saveLookupTable_load();
|
||
void SScanDataCheck_lhc();
|
||
void SScanDataCheck();
|
||
void lookupTableHeadEndDataHandl();
|
||
void lookupTableHeadEndDataHandl_lhc();
|
||
void lookupTableHeadEndDataHandl_lhc2();
|
||
double DataHandlCheck_lhc(double data[6]);
|
||
void lookupTable_do_Gaussian();
|
||
void lookupPeripheralMakeUpZero();
|
||
void downLoadLookupTable();
|
||
|
||
void RSToZeroInSide();
|
||
void RSToZeroInSide_Z0();
|
||
void MachSmallAreaInSide();
|
||
void SScanInSide();
|
||
void compSScanInSide();
|
||
void MHCompOpenInSide();
|
||
void compCloseInSide();
|
||
void FindEdgeInSide();
|
||
void GetRatoP1P2Side();
|
||
void ElectricResistanceCheckSide();
|
||
|
||
// 过程位置
|
||
void toLoadAndUnloadPosInSide();
|
||
void GloblaCameraPosInSide();
|
||
void toSScanStartPosInSide();
|
||
void toRSToZeroPosInSide();
|
||
void toLaserApTestPosInSide();
|
||
void toLaserMarkPosInSide();
|
||
void toLaserMarkPosThreadInSide();
|
||
void toHeightFindPosInSide();
|
||
void toEdgeSearchPosInSide();
|
||
void toRecordPosInSide();
|
||
void toEdgeSearchPosThreadInSide();
|
||
void toCompenTestPosInSide();
|
||
|
||
void SMachInSide(int index);
|
||
void semiAutoMachInSide();
|
||
|
||
void vacuumSuckerOpenInSide();
|
||
void vacuumSuckerCloseInSide();
|
||
|
||
void laserOpenInSide();
|
||
void laserCloseInSide();
|
||
|
||
void RHToMHInSide();
|
||
void MHToRHInSide();
|
||
|
||
// 异常处理
|
||
void exceptHandl(MyException mye);
|
||
void exceptHandl_thread(MyException mye);
|
||
|
||
private:
|
||
static DeviceProxy* uniqueInstance;
|
||
ACSController *acsCtl;
|
||
|
||
QTimer *timer;
|
||
LIMIT_STATE XAxisLimitState{NORMAL};
|
||
LIMIT_STATE YAxisLimitState{NORMAL};
|
||
LIMIT_STATE ZAxisLimitState{NORMAL};
|
||
LIMIT_STATE ZAAxisLimitState{NORMAL};
|
||
LIMIT_STATE Z0AxisLimitState{NORMAL};
|
||
LIMIT_STATE Z2AxisLimitState{NORMAL};
|
||
LIMIT_STATE DAxisLimitState{NORMAL};
|
||
|
||
volatile double XAxisCtPos{0.0};
|
||
volatile double YAxisCtPos{0.0};
|
||
volatile double ZAxisCtPos{0.0};
|
||
volatile double ZAAxisCtPos{0.0};
|
||
volatile double Z0AxisCtPos{0.0};
|
||
volatile double Z2AxisCtPos{0.0};
|
||
volatile double DAxisCtPos{0.0};
|
||
|
||
double XAxisMin{0.0};
|
||
double XAxisMax{0.0};
|
||
double YAxisMin{0.0};
|
||
double YAxisMax{0.0};
|
||
double ZAxisAddZA{0.0};
|
||
|
||
bool XAxisIsEnable{false};
|
||
bool YAxisIsEnable{false};
|
||
bool ZAxisIsEnable{false};
|
||
bool ZAAxisIsEnable{false};
|
||
bool Z0AxisIsEnable{false};
|
||
bool Z2AxisIsEnable{false};
|
||
bool DAxisIsEnable{false};
|
||
|
||
|
||
bool devIsInit{false};
|
||
|
||
bool devIsReset{false};
|
||
bool devIsAlarm{false};
|
||
int devLightState{0};
|
||
int devRunStopBtnState{100};
|
||
bool devEStopState{false};
|
||
|
||
|
||
bool XAxisMoving{false};
|
||
bool YAxisMoving{false};
|
||
bool ZAxisMoving{false};
|
||
bool ZAAxisMoving{false};
|
||
bool Z0AxisMoving{false};
|
||
bool Z2AxisMoving{false};
|
||
bool DAxisMoving{false};
|
||
|
||
bool XAxisIsInPos{false};
|
||
bool YAxisIsInPos{false};
|
||
bool ZAxisIsInPos{false};
|
||
bool ZAAxisIsInPos{false};
|
||
bool Z0AxisIsInPos{false};
|
||
bool Z2AxisIsInPos{false};
|
||
bool DAxisIsInPos{false};
|
||
|
||
bool reqCMDRunFState{false};
|
||
|
||
//bool lastTaskIsFinish{true};
|
||
//QString lastTaskName;
|
||
|
||
QVector<double> CSS_RSData;
|
||
QVector<double> CSS_XPosData;
|
||
|
||
QVector<double> SScanArMsrZ;
|
||
QVector<double> SScanArPosY;
|
||
|
||
QVector<QVector<double>> SScanDataTable;
|
||
QVector<QVector<double>> lookupTable;
|
||
QVector<QVector<double>> lookupTable_Gaussian;
|
||
double lookupTableStartY{0.0};
|
||
|
||
double SSStartYPos{0.0};
|
||
double SSStartXPos{0.0};
|
||
|
||
bool XAxisErrorDetection{false};
|
||
bool YAxisErrorDetection{false};
|
||
bool ZAxisErrorDetection{false};
|
||
bool ZAAxisErrorDetection{false};
|
||
bool Z0AxisErrorDetection{false};
|
||
bool Z2AxisErrorDetection{false};
|
||
bool DAxisErrorDetection{false};
|
||
|
||
QThread thread;
|
||
int step{0};
|
||
CDeviceProxyWorker *worker;
|
||
|
||
QMutex mutex;
|
||
|
||
bool StopFindEdgeFlag{false};
|
||
bool StopGonglvCheckFlag{false};
|
||
bool StopGetRatioP1P2Flag{false};
|
||
|
||
bool ZZAPosCheckFlag{false};
|
||
int lRunStopTime[2]{0,0};
|
||
int lRunCheckAirValve{0};
|
||
|
||
|
||
};
|
||
class CDeviceProxyWorker :public QObject
|
||
{
|
||
Q_OBJECT
|
||
public:
|
||
CDeviceProxyWorker(DeviceProxy *parent) { mParent = parent; }
|
||
virtual ~CDeviceProxyWorker() {}
|
||
|
||
public slots :
|
||
void doWork_custom();
|
||
private:
|
||
DeviceProxy *mParent;
|
||
signals:void finished();
|
||
};
|
||
#endif // DEVICEPROXY_H
|