#pragma once #include "machine.h" class HBD1200 :public Machine { public: enum LoadInResult { In_NoResult = 0, In_Intercept, In_Success, In_CylinderDisconnectCleanBoxError, In_CylinderReachPrintError, In_CylinderPrintLoadError, In_MoldConnectCylinderError }; enum LoadInProcStep { In_Start = 0, In_CylinderDisconnectCleanBox, In_CylinderReachPrint, In_CylinderPrintLoad, In_MoldConnectCylinder }; enum LoadOutResult { Out_NoResult = 0, Out_Intercept, Out_Success, Out_MoldDisconnectCylinderError, Out_CylinderPrintUnloadError, Out_CylinderReachCleanError, Out_CylinderConnectCleanBoxError, Out_CylinderReachHandError, Out_CylinderDisconnectCleanBoxError }; enum LoadOutProcStep { Out_Start = 0, Out_MoldDisconnectCylinder, Out_CylinderPrintUnload, Out_CylinderReachClean, Out_CylinderConnectCleanBox, Out_CylinderReachHand, Out_CylinderDisconnectCleanBox }; enum CylinderState { CylinderInMid = 0, CylinderInPrintUnLoaded, CylinderInPrintLoaded, CylinderInCleanUnConnectBox, CylinderInCleanConnectedBox, CylinderInHand }; HBD1200(MachineTypeCfg::MachineTypeId type); ~HBD1200(); //AxisCfg* CreateMoldAxisCfg(); //AxisCfg* CreateLoadAxisCfg(); //AxisCfg* CreateArmAxisCfg(); //AxisCfg* CreateSupplyAxisCfg(); //AxisCfg* CreateCleanAxisCfg(); //AxisCfg* CreateEleAxisCfg(); void DrawSignal(bool* isshow); //void DrawAxisCfg(); void DrawPowderCtrl(bool* winShow); void DrawAnalogExt(); void DrawServoState(bool* winShow); //virtual void GetDebugRTC(vector& vec) { // CardSerialPair pair; // pair.cardNo = 1; // pair.serialNo = 123456; // vec.push_back(pair); // CardSerialPair pair2; // pair2.cardNo = 2; // pair2.serialNo = 234567; // vec.push_back(pair2); //} void InitSignal(SignalStateWrapper* ssw, void* cc); void InitSysParam(SysParamWrapper* spw, void* cc); //void InitPLCCommand(vector& vecs); void GetAlarmState(SignalState& signalState); bool CheckPrintMoldReady(); virtual void CheckIO(); private: /*static*/ void CheckIO_V0(/*vector& ins, IOCfgWrapper* iocfgWrapper, string str, int type*/); //static void ProcReadPLC(void* pobject, Command* pcommand); //static void ProcReadPLCData(void* pobject, Command* pcommand); void LoadInRun() {} void LoadOutRun() {} bool IsLoadAxisCanMoveLeft(); string GetLoadAxisCanotMoveLeftInfo(); bool IsLoadAxisCanMoveRight(); string GetLoadAxisCanotMoveRightInfo(); bool IsArmCanMoveBack(); string GetArmCanotMoveBackInfo(); bool IsArmCanMoveFront(); string GetArmCanotMoveFrontInfo(); bool IsMoldCanMoveUp(); bool IsMoldCanMoveDown(); string GetMoldCanotUpInfo(); string GetMoldCanotDownInfo(); public: static const int IO_V0; private: static const unsigned int READ_INFO_ITEM_COUNT = 6; static const unsigned int READ_DATA_ITEM_COUNT = 1; };