#pragma once #include "CModule.h" #include "CTemperature.h" /*����̨�̾�̨����е�ϵIJ���ǹ���̨û����գ����������IO������̨���̲�������տ���*/ class __declspec(dllexport) CBondTable : public CModule { //�豸���� enum TemperatureStatus { Disable = 0 /*����*/, BondOpen = 1, /*����ʱ��������Ԥ���¶ȣ�����ʱ�����̾��¶�*/ BnormallyOpen = 2 /*������һֱ�ڹ̾��¶�*/ }; typedef struct _BOND_TABLE_CONFIG_STRUCT { double dWaitPosZ; //��ȫλ�� double dBondPosZ; //����λ�� long dVacuumDelay; //�����ʱ TemperatureStatus eOpenStatus; //�¿�������״̬ double nBondTempelature; //�̾��¶� double nPreTempelature; //Ԥ���¶� std::string sTemperatureCtrlPort; //�¿����˿� int nAddress; //վ���ַ Temperature_Ctltype nTemCtrlType; //�¿������� _BOND_TABLE_CONFIG_STRUCT() { dWaitPosZ = 0; dBondPosZ = 0; eOpenStatus = TemperatureStatus::Disable; nBondTempelature = 0; nPreTempelature = 0; sTemperatureCtrlPort = "192.168.1.10"; nAddress = 0x5; nTemCtrlType = GLTC; } } BOND_TABLE_CONFIG_STRUCT; public: CBondTable(MODULE_LIST eModuleType); ~CBondTable(); virtual void SetDataChangFunction() override; virtual void DataChangNotice(string strDbName, string strTableName) override; virtual LONG SetParam() override;//�������ò��� virtual LONG GetParam() override;//�������ò��� virtual LONG ToHome() override; virtual LONG Sync() override; virtual LONG ToSafePosition() override; virtual LONG InitResource(); virtual LONG AllocateAxis(vector<CAxis*> vecAxis) override; virtual LONG AllocateIo(vector<CIO*> vecIo) override; ////������ϵ�λ //bool CheckPcbArrive(); ////��������ƿ� //bool CheckPcbLeave(); //ƽ̨�������̾�λ�� LONG ToBondPos(bool waitDone); //ƽ̨�½������������� LONG ToWaitPos(bool waitDone); LONG SetVacuumOn(); LONG SetVacuumOff(); LONG WaitVacuumDone(); bool CheckZDone(); //���ù���̨�¶�Ϊ�̾��¶� lTimeOut (����)>0ʱ���ȴ��¶ȵ���5%��Χ�� LONG SetBondTemprature(long lTimeOut = 5000); //���ù���̨�¶�ΪԤ���¶� LONG SetPreTemprature(long lTimeOut = 5000); private: CAxis* m_pAxisZ = nullptr; //CIO* m_pPcbArriveDi = nullptr; //CIO* m_pPcbLeaveDi = nullptr; CIO* m_pVacDo = nullptr; BOND_TABLE_CONFIG_STRUCT m_stConfig; //�¿��� bool m_TemperatureIsUse = false; //�¿����Ƿ����� CTemperature* m_pTempCtrl = nullptr; LONG WaitTemprature(double dMinTempelature, double dMaxTempelature, long lTimeOut); //�����¶� LONG SetTemprature(double dTempelature, long lTimeOut = 0); };