123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- #pragma once
- /*
- 1、模组基类
- 方向:X轴向右为正,Y轴向里为正,Z轴向下为正
- */
- #include "CAxis.h"
- #include "CAxis.h"
- #include "CIO.h"
- #include <string>
- #include <vector>
- #include <map>
- #include "dt.h"
- #include "CBondMatrix.h"
- #include "CResources.h"
- #include "CCoord.h"
- #include "CError.h"
- #include "FHConvert.h"
- #include "CLog.h"
- #include "SystemResources.h"
- #include "CHardwareList.h"
- using namespace std;
- using namespace ns_db;
- #pragma region 轴定义
- //超声头
- #define CUltraHead_X "UltraHead_X"
- #define CUltraHead_Y "UltraHead_Y"
- #define CUltraHead_Z "UltraHead_Z"
- #define CUltraHead_R "UltraHead_R"
- #define CUltraHead_Force "UltraHead_Force"
- #define BDX "BDX"
- #define BDY "BDY"
- #define BDZ "BDZ"
- #define BDR "BDR"
- #define BDForceZ "BDForceZ"
- #define WaferHeadX "WaferHeadX"
- #define WaferHeadY "WaferHeadY"
- #define WaferHeadZ "WaferHeadZ"
- #define WaferHeadForceZ "WaferHeadForceZ"
- #define WaffleHeadX "WaffleHeadX"
- #define WaffleHeadY "WaffleHeadY"
- #define WaffleHeadZ "WaffleHeadZ"
- ///吸嘴架///吸嘴架
- #define NuzzleAxisY "NuzzleAxisY"
- //中转台//中转台
- #define WaferCalibTableX "WaferCalibTableX"
- #define WaffleCalibTableX "WaffleCalibTableX"
- //WaferTalbe//WaferTalbe
- #define WaferTable_X "WaferTable_X"
- #define WaferTable_Y "WaferTable_Y"
- #define WaferTable_Z "WaferTable_Z"
- #define WaferTable_R "WaferTable_R"
- //BondTable//BondTable
- #define BondTableZ "BondTableZ"
- //顶针//顶针
- #define EjectorX "EjectorX"
- #define EjectorY "EjectorY"
- #define EjectorZ "EjectorZ"
- #define EjectorPinZ "EjectorPinZ"
- #pragma endregion
- enum USE_TYPE {
- NOUSE = 0,
- DIAGNOSIS = 1,
- USE = 2
- };
- enum IO_LIST {
- BDVacDi,
- BDFlowDi,
- WaferHeadVacDi,
- WaferHeadFlowDi,
- WaferHeadFlowDo,
- WaffleHeadVacDi,
- WaffleHeadFlowDi,
- //BondTable
- PcbArriveDi,
- PcbLeaveDi,
- BondTableDo,
- //吸嘴架
- NozzleCylNDi,
- NozzleCylPDi,
- NozzleExistDi1,
- NozzleExistDi2,
- NozzleExistDi3,
- NozzleExistDi4,
- NozzleExistDi5,
- NozzleExistDi6,
- NozzleExistDi7,
- NozzleExistDi8,
- NozzleExistDi9,
- NozzleExistDi10,
- NozzleExistDi11,
- NozzleExistDi12,
- BDVacDo,
- BDFlowDo,
- WaferHeadVacDo,
- WaffleHeadVacDo,
- WaffleHeadFlowDo,
- //中转台
- WaferCalibVacDo,
- WaffleCalibVacDo,
- BDTableVacGpo,
- NozzleCylDo,
- WaferTable_Ring,
- EjectorVacDo,
- //超声
- UltraHeadDo,
- };
- class __declspec(dllexport) CModule
- {
- public:
- CModule(MODULE_LIST eModuleType);
- LONG Init();
- bool IsInitSuccess() {return m_bIsInitSuccess;}
- LONG GetModuleType() const { return m_nModuleType; }
- string GetModuleName() const { return m_strModuleName; }
- virtual LONG AllocateIo(vector<CIO*> vecIo) { return OK; };
- virtual LONG AllocateAxis(vector<CAxis*> vecAxis) { return OK; };
- virtual LONG GetParam() = 0; //获取配置参数
- virtual LONG SetParam() = 0; //设置配置参数
- virtual LONG ToHome() = 0; //模组回零
- virtual LONG Sync() = 0; //等待到位
- virtual LONG ToSafePosition() = 0; //模组去安全位置
- virtual LONG InitResource() = 0; //分配轴、IO、标定等资源
- virtual void SetDataChangFunction() = 0; //设置收到数据更改通知后处理函数,绑定回调函数
- virtual void DataChangNotice(string strDbName, string strTableName) = 0; //回调触发处理函数
- LONG SaveDataToDB();
- protected:
- vector<MODULE_CONFIG_STRUCT>* GetConfigVector() { return &m_vecConfig; }
- protected:
- CManageDB* m_pCManageDB = nullptr;
- CModuleConfig* m_pModuleConfigDB = nullptr;
- CHardware* m_pCHardware = nullptr;
- vector<MODULE_CONFIG_STRUCT> m_vecConfig;
- vector<CAxis*> m_vecAxis;
- bool m_bIsInitSuccess = false;
- INT m_nModuleType = 0;
- string m_strModuleName = "";
- //模组是否启用
- bool m_bEnable = false;
- };
|