You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
4.0 KiB
C++
148 lines
4.0 KiB
C++
// EquipState.h: interface for the CEquipState class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_EQUIPSTATE_H__2F80B5CC_3DE5_4842_A583_A1482102E235__INCLUDED_)
|
|
#define AFX_EQUIPSTATE_H__2F80B5CC_3DE5_4842_A583_A1482102E235__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "TimeEquipSubState.h"
|
|
|
|
/*
|
|
#ifdef BUILD_MCCTRDLL
|
|
#define MCCTRDLLCLASS __declspec(dllexport)
|
|
#else
|
|
#define MCCTRDLLCLASS __declspec(dllimport)
|
|
#endif
|
|
|
|
class MCCTRDLLCLASS CEquipState*/
|
|
class CEquipState
|
|
{
|
|
public:
|
|
// default constructor
|
|
CEquipState(int iNoOfEquipState);
|
|
|
|
// default Destructor
|
|
virtual ~CEquipState();
|
|
|
|
// read all equipment SubState time span from file
|
|
virtual void ReadTimeSpanFromFile();
|
|
|
|
// get equipment substate time
|
|
virtual LONGLONG GetEquipSubStateTime(int iEvt);
|
|
|
|
// save equipment substate time that is clocking to file
|
|
virtual void SaveTimeInfo();
|
|
|
|
// check is equipment Substate timer started
|
|
virtual bool IsTimerStarted(int iEvt);
|
|
|
|
enum
|
|
{
|
|
NON_SCHEDULE_TIME,
|
|
ENGINEERING_TIME,
|
|
PRODUCTIVE_TIME,
|
|
STANDBY_TIME,
|
|
UNSCHEDULED_DOWNTIME,
|
|
SCHEDULED_DOWNTIME,
|
|
MANUFACTURING_TIME,
|
|
UPTIME,
|
|
DOWNTIME,
|
|
OPERATIONS_TIME,
|
|
TOTAL_TIME,
|
|
MAX_EQUIP_STATE,
|
|
};
|
|
|
|
enum
|
|
{
|
|
UNWORK_SHIFT_DAYS_EVT,
|
|
INSTALLATION_MODIFICATION_REBULID_UPGRADE_EVT,
|
|
OFFLINE_TRAINING_EVT,
|
|
SHUTDOWN_START_UP_EVT,
|
|
PROCESS_EXPERIMENTS_EVT,
|
|
EQUIP_EXPERIMENTS_EVT,
|
|
SOFTWARE_QUALIFICATION_EVT,
|
|
REGULAR_PRODUCTION_EVT,
|
|
WORK_FOR_3RD_PARTY_EVT,
|
|
REWORK_EVT,
|
|
ENGINEERING_RUNS_EVT,
|
|
NO_OPERATOR_EVT,
|
|
NO_PRODUCT_EVT,
|
|
NO_SUPPORT_TOOL_EVT,
|
|
STOP_MACHINE_EVT,
|
|
UNSCHEDULED_MAINT_DELAY_EVT,
|
|
JAM_EVT,
|
|
UNSCHEDULED_CHANGE_OF_CONSUMABLES_CHEMICALS_EVT,
|
|
OUT_OF_SPEC_INPUT_EVT,
|
|
UNSCHEDULED_FACILITIES_RELATED_EVT,
|
|
SCHEDULED_MAINT_DELAY_EVT,
|
|
PRODUCTION_TEST_EVT,
|
|
PREVENTIVE_MAINT_EVT,
|
|
SCHEDULED_CHANGE_OF_CONSUMABLES_CHEMICALS_EVT,
|
|
SETUP_EVT,
|
|
SCHEDULED_FACILITIES_RELATED_EVT,
|
|
MAX_EQUIPMENT_SUBSTATE,
|
|
LOT_CLOSED_EVT,
|
|
LOT_OPEN_EVT,
|
|
STOP_ALL_TIMER_EVT,
|
|
RESET_ALL_TIMER_EVT,
|
|
START_ALL_TIMER_EVT, // Possible to start all timer? need to have this event?
|
|
};
|
|
|
|
static CString m_csKeyName[MAX_EQUIPMENT_SUBSTATE]; // key name of debug info file
|
|
static const char *sSectionName[MAX_EQUIP_STATE]; // Section name of debug info file
|
|
|
|
protected:
|
|
// set equipment state time
|
|
virtual void SetEquipTime(int iEquipSubStateNo, int iState);
|
|
|
|
// get total Equipment time
|
|
virtual LONGLONG GetTotalEquipTime();
|
|
|
|
// set all equipment State
|
|
virtual void SetAllEquipState(int iEvt, int iState);
|
|
|
|
// write all equipment SubState time span To File
|
|
virtual void WriteAllEquipSubStateTimeSpanToFile(CString csFileName = RUNTIME_INI,
|
|
CString csSectionName = "SEMIE10");
|
|
|
|
// write individual equipment SubState time span to file
|
|
virtual void WriteTimeSpanToFile(int iEquipSubStateNo, CString csFileName = RUNTIME_INI,
|
|
CString csSectionName = "SEMIE10");
|
|
|
|
// read individual equipment SubState time span from file
|
|
virtual void ReadTimeSpanFromFile(int iEquipSubStateNo, CString csFileName = RUNTIME_INI,
|
|
CString csSectionName = "SEMIE10");
|
|
|
|
// Check open lot event
|
|
virtual void CheckOpenLotEvt(int iEvt);
|
|
|
|
// Check close lot event
|
|
virtual void CheckCloseLotEvt(int iEvt);
|
|
|
|
// set equipment SubState time
|
|
virtual void SetEquipSubStateTime(int iEquipSubStateNo, LONGLONG lTimeSpan);
|
|
|
|
// add equipment SubState time
|
|
virtual void AddEquipSubStateTime(int iEquipSubStateNo, LONGLONG lTimeSpan);
|
|
|
|
int *m_iEvt;
|
|
|
|
CTimeEquipSubState *m_ctesEquipSubState;
|
|
|
|
private:
|
|
int m_iNoOfEquipSubState; // num of equipment state
|
|
// int m_iEquipSubStateNo; // equipment state number
|
|
|
|
// Equipment substate time has been written to file before
|
|
bool m_bOpenLot;
|
|
|
|
// to init section name and keyname
|
|
static void iniSectionAndKeyName();
|
|
};
|
|
|
|
#endif // !defined(AFX_EQUIPSTATE_H__2F80B5CC_3DE5_4842_A583_A1482102E235__INCLUDED_)
|