12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #pragma once
- #include "CModule.h"
- #include "CTemperature.h"
- /*共晶台和固晶台,机械上的差距是共晶台没有真空,均定义真空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);
- };
|