12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #pragma once
- #include "CModule.h"
- class CEjector : public CModule
- {
- typedef struct
- {
- XY_DOUBLE_STRUCT stSaftPosition;
- DOUBLE iSaftLev;
- DOUBLE iSaftLev_Ejector;
- XY_DOUBLE_STRUCT stWorkPosition;
- DOUBLE iWorkLev;
- DOUBLE iWorkLev_Ejector;
- bool bUseEjectorSync;
- DOUBLE lEjectorSyncHeight;
- } EJECTOR_CONFIG_STRUCT;
- public:
- CEjector(MODULE_LIST eModuleType);
- ~CEjector(){}
- virtual LONG AllocateAxis(vector<CAxis*> vecAxis) override;
- virtual LONG AllocateIo(vector<CIO*> vecIo) override;
- virtual LONG ToHome() override;
- virtual LONG ToSafePosition() override;
-
-
-
- LONG MoveToWorkPosition(bool sync = SYNC);
-
- LONG MoveToSafeLev(bool sync = SYNC);
-
- LONG MoveToWorkLev(bool sync = SYNC);
-
- LONG MoveToEjectorSafeLev(bool sync = SYNC);
-
- LONG MoveToEjectorWorkLev(bool sync = SYNC);
-
- LONG Sync();
-
- LONG VacuumOn();
-
- LONG VacuumOff();
- private:
-
- CAxis* m_pXAxis = nullptr;
- CAxis* m_pYAxis = nullptr;
- CAxis* m_pZAxis = nullptr;
- CAxis* m_pAxisPinZ = nullptr;
- CIO* m_pIoVacuum = nullptr;
- static UINT iEjectorUseNum;
- static UINT iEjectorMaxNum;
- CModuleConfig* m_pModuleConfigDB = nullptr;
- EJECTOR_CONFIG_STRUCT m_stEjectorConfig;
- void DataChangNotice(string strDbName, string strTableName);
- virtual void SetDataChangFunction() override;
- virtual LONG SetParam() override;
- virtual LONG GetParam() override;
- virtual LONG InitResource() override;
- };
|