GrpcPrint/PrintC/Machine/HBD1200OLD.h
2024-05-08 10:03:18 +08:00

118 lines
2.8 KiB
C++

#pragma once
#include "Machine.h"
class HBD1200OLD :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
};
HBD1200OLD(MachineTypeCfg::MachineTypeId type);
~HBD1200OLD();
//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<CardSerialPair>& 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<S7Command*>& vecs);
//void GetAlarmState(SignalState& signalState);
bool CheckPrintMoldReady();
virtual void CheckIO();
private:
/*static*/ void CheckIO_V0(/*vector<string>&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;
};